cpu-architecture - 微码术语 : are there names for different "styles" of microcode?

标签 cpu-architecture terminology microcoding

我一直在查看微代码并想知道术语。

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

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

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

最佳答案

莫里斯·威尔克斯 original microcode paper没有提到水平与垂直。但据this taxonomy ,

  • 一条水平微指令将多个资源合二为一
    周期
  • 一条垂直微指令控制单个资源

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

    水平与垂直微码是一个范围而不是二分法。严格水平的微指令将仅由控制位和字段组成。这种用于任何真实架构的纯水平微指令将非常广泛,因为在复杂的处理器中需要控制很多功能。此外,这些控制位将非常稀少。由此产生的微型商店会很大而且很贵,而且不一定很快。

    取而代之的是现代微体系结构 like the P6有操作码。操作码解码器是一个组合电路,它采用操作码位并发出控制值。这会花费一些门延迟,但提供了显着的宽度压缩,允许更小的微型商店。垂直微体系结构只是将其发挥到极致,每个操作码控制单个资源。

    用微码编写复杂指令和低级操作系统组件 was actually efficient in the 60s这导致了CISC ISA。然而,当 VLSI、缓存和超标量出现时,重新考虑了这一设计决策,从而产生了 RISC ISA。但同样,ISA 的这种历史发展并没有改变微代码的分类。

    关于cpu-architecture - 微码术语 : are there names for different "styles" of microcode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57032363/

    相关文章:

    x86 - 如何使用微程序修改 Intel CPU 的指令集架构?

    cpu-architecture - 什么是机器指令?

    assembly - 是否有编程语言 "below"汇编?

    performance - sse 指令是否消耗更多功率/能量?

    c - "defining"和 "declaring"之间的区别

    x86 - 为什么 IRET 指令会将 EIP 加 4?

    automated-tests - 自动化浏览器测试的简短通用术语是什么?

    operating-system - "virtual memory"和 "swap space"之间有什么区别?

    cpu-architecture - RISC V手册混淆: instruction format VS immediate format

    c - 为什么 CPU 在字边界上访问内存?