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