我一直在看微码,想知道术语。
微码的“经典”用法是用微码代替处理器控制逻辑,以生成处理器控制信号。但是,有些系统可以更进一步地实现并以微代码实现操作系统的底层部分,其中最著名的是Xerox Alto,但也有Datapoint 6600之类的系统,以及在较小程度上是IBM 360的系统。在这些系统中,执行指令这只是微码的一项任务,而不是微码的重点。这种微码样式有没有字? “微编程”几乎适合,但通常用于微代码编程。
我想知道的第二个维度:在某些系统中,微体系结构与程序员级别的体系结构几乎相同,也许有一些额外的内部寄存器,例如68000。但是在其他系统中,可见的微体系结构本质上是无法识别的。例如,不同的IBM 360模型具有完全不同的微体系结构,但具有相同的程序员级体系结构。我的第二个问题是,是否存在一个术语来描述微体系结构与可见体系结构完全不同的系统?
(我知道垂直和水平微码,但这是不同的。此外,我使用的示例很旧,但这不是回溯计算问题。)
答案 0 :(得分:1)
莫里斯·威尔克斯(Maurice Wilkes)的original microcode paper没有提到水平还是垂直。但是根据this taxonomy,
还有其他微码功能,例如可写;这些不会改变微指令的编码。
水平微码与垂直微码是一个频谱,而不是二分法。严格的水平微指令将仅由控制位和字段组成。由于在复杂处理器中要控制许多功能,因此对于任何实际体系结构而言,这样的纯水平微指令都将非常广泛。而且,这些控制位将非常稀疏。最终的微型商店将既庞大又昂贵,而且不一定很快。
相反,现代微体系结构like the P6具有操作码。操作码解码器是一种组合电路,它接收操作码位并发出控制值。这会花费一些选通延迟,但会提供显着的宽度压缩,从而允许更小的微存储。垂直微体系结构将这种情况发挥到极致,每个操作码控制一个资源。
用微代码was actually efficient in the 60s编写复杂的指令和低级OS组件,这导致了CISC ISA。但是,当出现VLSI,高速缓存和超标量时,重新考虑了该设计决策,从而产生了RISC ISA。但是,ISA的历史发展并没有改变微代码的分类法。