在遵循冯·诺依曼(von Neumann)架构的普通计算机中,指令和数据都存储在同一内存中。因此,使用相同的总线来获取指令和数据。这意味着CPU不能同时做这两种事情(读取指令和读取/写入数据)。哈佛架构是一种计算机架构,包含用于指令和数据的单独的存储和单独的总线(信号路径)。它的开发基本上是为了克服冯·诺依曼建筑学的瓶颈。具有用于指令和数据的单独总线的主要优点是CPU可以同时访问指令和读取/写入数据。
哈佛建筑的结构:
- 巴士:
总线用作信号路径。在哈佛架构中,指令和数据都有单独的总线。公交车类型:
数据总线:它在主存储系统,处理器和I / O设备之间传送数据。
数据地址总线:它承载从处理器到主存储系统的数据地址。
指令总线:它在主存储系统,处理器和I / O设备之间传送指令。
指令地址总线:它承载从处理器到主存储器系统的指令地址。 - 操作寄存器:
其中涉及不同类型的寄存器,用于存储不同类型指令的地址。
例如,存储器地址寄存器和存储器数据寄存器是操作寄存器。 - 程序计数器:
它具有要执行的下一条指令的位置。然后程序计数器将该下一个地址传递到存储器地址寄存器。 - 算术和逻辑单元:
算术逻辑单元是CPU的一部分,用于进行所有需要的计算。它执行加法,减法,比较,逻辑运算,移位运算和各种算术运算。 - 控制单元:
控制单元CPU的一部分,用于操作所有处理器控制信号。它控制输入和输出设备,还控制系统中指令和数据的移动。 - 输入/输出系统:
输入设备用于借助CPU输入指令将数据读入主存储器。来自计算机的信息作为输出通过输出设备给出。计算机借助输出设备给出计算结果。
哈佛建筑的优势:
哈佛架构具有两条用于指令和数据的独立总线。因此,CPU可以同时访问指令和读取/写入数据。这是哈佛架构的主要优势。
在实践中,在我们有两个单独的缓存(数据和指令)的情况下,使用了修改后的哈佛架构。这是常见的,并在X86和ARM处理器中使用。