我一直在研究微码,并对术语感到好奇。
微码的“经典”用法是用微码代替处理器控制逻辑,以产生处理器控制信号。但有些系统走得更远,用微码实现操作系统的低级部分,最著名的是Xerox Alto,但也有像Datapoint 6600这样的系统,在较小程度上还有IBM 360。在这些系统中,执行指令只是微码的一项任务,而不是微码的重点。有没有一个词来形容这种风格的微码呢?“微编程”几乎是合适的,但通常用于微码编程。
我想知道的第二个维度是:在一些系统中,微体系结构与程序员级别的体系结构几乎相同,可能只有几个额外的内部寄存器,例如68000。但在其他系统中,可见体系结构在微体系结构中本质上是无法识别的。例如,不同的IBM360模型具有完全不同的微体系结构,但具有相同的程序员级别体系结构。我的第二个问题是,是否有一个术语来描述微体系结构与可见体系结构完全不同的系统?
(我知道垂直微码与水平微码,但这是不同的。此外,我使用的示例是旧的,但这不是一个反向计算问题。)
发布于 2020-04-24 05:47:59
莫里斯·威尔克斯的original microcode paper没有提到水平和垂直。但根据this taxonomy的说法
还有其他微码特性,比如可写;这些特性不会改变微指令编码。
水平vs垂直微码是一种频谱而不是二分法。严格水平的微指令将仅由控制位和字段组成。这种纯水平的微指令对于任何实际的体系结构都是非常广泛的,因为在复杂的处理器中有许多功能要控制。此外,这些控制位将是相当稀疏的。由此产生的微存储将是大而昂贵的,并且不一定很快。
取而代之的是,现代微体系结构like the P6有操作码。操作码解码器是获取操作码比特并发出控制值的组合电路。这花费了一些门延迟,但提供了显着的宽度压缩,允许更小的微存储器。垂直微体系结构将这一点发挥到了极致,每个操作码控制一个资源。
在微码was actually efficient in the 60s中编写复杂的指令和低级操作系统组件,这导致了CISC ISA。然而,当VLSI、缓存和超标量出现时,这种设计决策被重新考虑,从而产生了RISC ISA。但是,ISA的这种历史发展并没有改变微码的分类。
https://stackoverflow.com/questions/57032363
复制相似问题