哈佛建筑:如何提高速度?


3

我不了解冯·诺依曼和哈佛架构之间的区别。假设您有以下两个说明:

MOV斧头,[地址2]

MOV bx,ax

在哈佛架构中,处理器必须等待两个周期才能执行第二条指令:第一条指令对第一条指令进行解码,第二条指令将地址2中的值加载到ax中。他不能立即执行指令2,因为它使用ax的值。

因此,所花费的时间将与冯·诺依曼(Von Neumann)相同,在此后一种情况下,第一个周期将用于解码指令,第二个周期将从程序存储器中获取地址2的内容。

我不明白什么?

Answers:


0

指令和数据的分离很容易估算。但是它们的行为却大不相同。

指令将大部分以线性路径流动,并且大小非常相似。

另一方面,数据将位于半随机位置,突发且大小不一。

尝试使用相同的逻辑和总线大小来优化两者,这比使用单独的处理程序要困难得多。

您的示例从表面上看似乎是一个合理的问题,但是使用Von Newmann处理器,完成第一条指令的内存加载将阻止第二条指令的加载和解码。而在哈佛处理器上,当第一条指令完成时,第二条指令可能会被加载解码并进行一半处理。

冯·诺依曼处理器流程

  1. 加载指令一
  2. 解码指令一
  3. 从外部存储器加载数据
  4. 将数据放入寄存器
  5. 加载指令二
  6. 解码指令二
  7. 复制寄存器到寄存器

哈佛处理器流程

  1. 加载指令一

  2. 解码指令一

    3A。将外部存储器中的数据加载到寄存器中

    3B。加载指令二

    4A。将数据放入寄存器

    4B。解码指令二

    1. 复制寄存器到寄存器

-1

据我所知,哈佛大学可以同时读取一条指令和读取/写入数据,冯·诺依曼只能读取一条指令或读取/写入数据,但不能同时读取。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.