首页 > 解决方案 > 微码术语:是否有不同“风格”微码的名称?

问题描述

我一直在看微码,想知道术语。

微码的“经典”用途是用微码代替处理器控制逻辑来生成处理器控制信号。但是有一些系统走得更远,用微码实现操作系统的低级部分,最著名的是 Xerox Alto,还有像 Datapoint 6600 和较小范围内的 IBM 360 这样的系统。在这些系统中,执行指令只是微码的一项任务,而不是微码的重点。这种风格的微码有什么说法吗?“微编程”几乎适合,但通常用于微代码编程。

我想知道的第二个维度:在某些系统中,微架构与程序员级架构几乎相同,可能还有一些额外的内部寄存器,例如 68000。但在其他系统中,可见架构本质上是在微架构中无法识别。例如,不同的 IBM 360 模型具有完全不同的微体系结构,但具有相同的程序员级体系结构。我的第二个问题是,是否有一个术语来描述微架构与可见架构完全不同的系统?

(我知道垂直微码与水平微码,但这是不同的。另外,我使用的示例很旧,但这不是一个逆向计算问题。)

标签: cpu-architectureterminologymicrocoding

解决方案


Maurice Wilkes 的原始微码论文没有提到水平与垂直。但是根据这个分类法

  • 一条横向微指令在一个周期内控制多个资源
  • 垂直微指令控制单一资源

还有其他微码功能,例如可写;这些不会改变微指令编码。

水平与垂直微码是一个频谱而不是二分法。严格水平的微指令将仅由控制位和字段组成。对于任何实际架构,这种纯水平微指令都将非常广泛,因为在复杂的处理器中有很多功能需要控制。此外,这些控制位将非常稀疏。由此产生的微存储将是大而昂贵的,而且不一定很快。

相反,像 P6 这样的现代微架构具有操作码。操作码解码器是一个组合电路,它采用操作码位并发出控制值。这会花费一些门延迟,但会提供显着的宽度压缩,从而允许更小的微存储。垂直微架构只是将这一点发挥到了极致,每个操作码控制一个资源。

在 60 年代,用微码编写复杂指令和低级操作系统组件实际上是高效的,这导致了 CISC ISA。然而,当 VLSI、缓存和超标量出现时,重新审视了这一设计决策,从而产生了 RISC ISA。但同样,ISA 的这种历史发展并没有改变微码的分类。


推荐阅读