12

我正在经历一个 MIPS 处理器架构。

根据本教程,它指出:没有互锁管道阶段的微处理器 http://en.wikipedia.org/wiki/MIPS_architecture

流水线的一个主要障碍是某些指令(例如除法)需要更长的时间才能完成,因此 CPU 在将下一条指令传递到流水线之前必须等待。
这个问题的一个解决方案是使用一系列联锁,允许阶段指示它们正忙,暂停上游的其他阶段。
Hennessy 的团队将这些互锁视为主要的性能障碍,因为它们必须与 CPU 中的所有模块进行通信,这需要时间,并且似乎限制了时钟速度。
MIPS 设计的一个主要方面是将所有指令的每个子阶段(包括高速缓存访​​问)放入一个周期,从而消除了对互锁的任何需求,并允许单周期吞吐量。

这个链接说:--- https://www.cs.tcd.ie/Jeremy.Jones/vivio/dlx/dlxtutorial.htm

issue a "stall" instruction instead of a nop instruction upon a stall

联锁管道的缺点到底是什么?
为什么路由器过去更喜欢具有 MIPS 架构的处理器?

4

1 回答 1

12

MIPS 设计的一个主要方面是将所有指令的每个子阶段(包括高速缓存访​​问)放入一个周期,从而消除了对互锁的任何需求,并允许单周期吞吐量。

但在更高版本的 MIPS 中,http://cs.nyu.edu/courses/spring02/V22.0480-002/vliw.pdf幻灯片 9,互锁被重新引入架构:

  • 毕竟 MIPS 最初代表的是没有互锁流水线阶段的微处理器之类的东西
  • 因为新的实现(具有不同的内存延迟)需要多个插槽,而且我们不希望代码的正确性依赖于实现的版本。
  • 因为其他指令无论如何都需要互锁(例如浮点)
  • 因为做联锁并不那么痛苦

因此,考虑到您的问题:

联锁管道的缺点到底是什么?

联锁需要更复杂的硬件(CPU的控制单元),在手绘晶体管和数十万个晶体管的CPU时代,设计和测试并不是那么容易。他们选择了设计 CPU 内核而不是 Interlocking 的目标,但他们失败了。如果没有 Interlocking,他们就无法生产兼容的商用芯片系列。

为什么路由器过去更喜欢具有 MIPS 架构的处理器?

从历史上看,它们在第一个网络设备中很流行,并被用于下一个设备,这可能是由于惯性和对基于 MIPS 的设备的投资(来自网络设备制造商和 MIPS 芯片制造商)。

查看 Dominic Sweetman 撰写的“See MIPS Run”这本书,第 15、16、22 页 http://books.google.com/books?id=kk8G2gK4Tw8C&pg=PR15

在 1990 年代中期,有几款易于使用的 MIPS 芯片,R4600、RM5200 和 RM7000。思科使用 1993 年的 R4600,下一个型号具有 64 位总线和大型片上二级缓存。他们有足够的性能来驱动当时的路由器。

我认为在 2010 年代,ARM 上有路由器(现在有很多带网络和 ARM 的 SoC)。这是因为 ARM 是授权最广泛的架构(就授权核心数量而言,2011 年为 78%);第二种架构是 10% 的 ARC(查看您的 PC 或笔记本电脑上的 Intel vPro 贴纸 - 如果您有贴纸,则说明您的芯片组中有 ARC 核心;它们也用于许多 SSD 控制器)。MIPS 在该评级中仅排名第三,市场上 100 亿个内核中仅占 6%。

于 2013-08-10T05:34:03.280 回答