跳转到内容

微处理器设计/微代码

来自维基教科书,开放书籍,开放世界
(重定向自 微处理器设计/微代码)

RISC单元通常比CISC单元更快,效率更高。因此,许多CISC处理器拥有复杂的指令解码器,实际上将CISC机器代码转换为称为微代码的RISC类内部指令集。这些微代码然后被馈送到基于RISC设计的处理器的内部核心。

实现存储器-存储器体系结构CPU最常见的方法[需要引用]是使用一个小的“控制存储器”ROM(即使是单芯片微处理器,也不仅仅是线绕机)。控制存储器的输出数据位被锁存到微指令寄存器[1][2][3][4][5]中(类似于从RAM中获取的指令被锁存到指令寄存器中)。确定系统循环时间的时钟信号主要对微指令寄存器进行时钟控制。存储在微指令寄存器中的位直接控制着CPU中发生的一切。(在一些处理器中,微指令寄存器是唯一连接到时钟信号的东西。稍后我们将讨论“流水线”,一种涉及连接到时钟信号的流水线寄存器的技术)。

微指令寄存器中的一些位只用于驱动控制存储器的一些地址位。那些位——流水线寄存器的那个子字段——有时被称为“微程序计数器”,尽管它仅仅是一个锁存器——通常对控制存储器进行编程,使得这些位在每个时钟周期都会递增,并在新的指令被加载到指令寄存器时复位为零。指令寄存器直接驱动控制存储器ROM的一些地址线。控制存储器ROM的一些地址线由状态位驱动,例如Z标志和C标志。

一些CPU,例如ECOMIPS[6]、英特尔酷睿2和英特尔至强[7],使用“可写入微代码”——微代码不是存储在ROM或硬连线逻辑中,而是存储在一个称为可写入控制存储器或WCS的RAM中。


进一步阅读

[编辑 | 编辑源代码]


  • "维克托的惊人4位处理器"具有微代码,他说这些微代码 *可以* 用传统二极管矩阵中的大约90个二极管来实现;但他使用一个闪存芯片来实现微代码,他可以用手动开关在电路中重新编程。
  • Dieter Mueller 的 MT15 使用晶体管而不是二极管在一个大的 AND-OR PLA(可编程逻辑阵列)矩阵中实现微代码。

参考文献

[编辑 | 编辑源代码]
  1. 美国专利 5050073. "用于减少计算微指令执行时间的微指令执行系统". 1987.
  2. Jonathan G. Campbell. "中央处理器 (CPU)" 2000.
  3. Patrick R. Schaumont. "硬件/软件协同设计的实践介绍". 2010.
  4. Govindarajalu. "计算机体系结构与组织:设计原理与应用". 2004.
  5. B. Govindarajalu. "计算机体系结构与组织,第二版" 2010.
  6. "ECOMIPS:FPGA上经济的MIPS CPU设计",由 Xizhi Li 和 Tiecai Li 撰写
  7. 维基百科:微代码#可写入控制存储器
华夏公益教科书