加载中...

微码(Microcode)是处理器内部的一层控制程序:把指令集中的复杂指令解释为一串更简单的内部微操作(micro-ops),由微码存储器(控制存储)保存,是介于软件与硬件电路之间的固件层。
微程序设计思想由英国计算机科学家Maurice Wilkes于1951年提出。以现代x86为例,常见的简单指令由硬连线译码器直接翻译成少量微操作,而字符串操作、系统调用等复杂指令则跳转到微码ROM中的例程逐步执行。CPU还提供可写的微码补丁区,厂商通过BIOS或操作系统分发微码更新,在不更换硬件的情况下修复缺陷。
微码更新已成为处理器安全响应的重要手段,例如针对Spectre类漏洞的部分缓解就是通过微码补丁提供新的控制接口。
微码使复杂指令集的实现和事后修补成为可能,降低了设计风险;缺点是微码执行路径通常比硬连线慢,微码本身也可能成为攻击研究的对象。

登录 后参与讨论
暂无讨论,来发表第一条评论吧