跳转到内容

微处理器设计/控制与数据通路

来自维基教科书,开放的书籍,开放的世界

大多数处理器和其他复杂的硬件电路通常被分为两个部分:数据通路控制单元。数据通路包含执行所有必要操作所需的所有硬件。在许多情况下,这些硬件模块是相互并行的,最终结果由所有部分结果的多路复用确定。

控制单元通过激活开关并将控制信号传递给各个多路复用器来确定数据通路的运行。通过这种方式,控制单元可以指定数据如何在数据通路中流动。

数据通路的宽度...

在计算机设计中,只有一种错误是很难恢复的:为内存寻址和内存管理提供不够的地址位。
戈登·贝尔和比尔·斯特雷克,1975[1]
几乎计算机体系结构中的任何缺点都可以克服,除了过小的地址空间;这就是为什么 DEC 最终被迫设计 VAX(“虚拟地址扩展”)来替代 PDP-11 的原因。
霍林斯沃斯、萨克斯和史密斯。1987.[2]

为了获得良好的代码密度,您希望 ALU 数据通路宽度至少与地址总线宽度一样宽。这样,每次您需要递增地址时,都可以用一条指令完成,而不是需要多条指令一次处理地址的一部分。[3][4]

在设计完数据通路后,设计者需要找到该数据通路的所有控制信号输入——所有用于指定数据如何在该数据通路中流动的控制信号。

  • 每个通用寄存器至少需要一个控制信号来控制它是否保持当前值或从其他地方加载新值。
  • ALU 需要一些控制信号来告诉它是否要加、减等等。
  • 程序计数器部分需要控制信号来告诉它程序计数器是否被重新加载为前一个值的递增版本,或者被重新加载为一些完全不同的分支值。
  • 等等。

一旦我们知道需要生成哪些控制信号,我们就需要设计一个微处理器设计/指令解码器来生成这些信号。

参考文献

[编辑 | 编辑源代码]
  1. 工程教育“今日历史” PDP-11 小型机发布 由戈登·贝尔 2009 年撰写;参考 “我们从 PDP-11 中学到了什么” 由戈登·贝尔和比尔·斯特雷克 1975 年撰写。PDP-11 的早期版本具有 16 位地址空间。... 也引用于书中 “电子学”
  2. 霍林斯沃斯、萨克斯和史密斯。 “Fairchild Clipper:指令集体系结构和处理器实现”。第 9.4 节:“地址空间大小”。1987 年。
  3. “似乎 16 位 ISA 击中了最佳代码密度的“最佳位置”,也许是因为地址也是 16 位宽,并且在一条指令中处理。相反,8 位机需要多条指令来处理 16 位地址。” -- “计算机世界中的昆虫” 由米罗·萨梅克 2009 年撰写。
  4. “如果您可以操作的最大数据量小于您的地址大小,那真的很糟糕。这意味着累加器需要与 PC 大小相同——16 位。” -- 艾伦 “操作码注意事项”
华夏公益教科书