📜  哈佛建筑

📅  最后修改于: 2021-09-28 10:10:29             🧑  作者: Mango

在遵循冯诺依曼架构的普通计算机中,指令和数据都存储在同一内存中。因此使用相同的总线来获取指令和数据。这意味着 CPU 不能同时做两件事(读指令和读/写数据)。哈佛体系结构是一种计算机体系结构,其中包含用于指令和数据的独立存储和独立总线(信号路径)。它基本上是为了克服冯诺依曼架构的瓶颈而开发的。指令和数据总线分开的主要优点是 CPU 可以同时访问指令和读/写数据。

哈佛架构的结构:

  • 巴士:
    总线用作信号通路。在哈佛架构中,指令和数据都有单独的总线。巴士类型:
    数据总线:它在主存系统、处理器和 I/O 设备之间传送数据。
    数据地址总线:它携带从处理器到主存系统的数据地址。
    指令总线:它在主存系统、处理器和 I/O 设备之间传送指令。
    指令地址总线:它携带从处理器到主存系统的指令地址。
  • 操作寄存器:
    其中涉及不同类型的寄存器,用于存储不同类型指令的地址。
    例如,内存地址寄存器和内存数据寄存器是操作寄存器。
  • 程序计数器:
    它具有要执行的下一条指令的位置。然后程序计数器将下一个地址传递给内存地址寄存器。
  • 算术和逻辑单元:
    算术逻辑单元是 CPU 中运行所有所需计算的部分。它执行加法、减法、比较、逻辑运算、位移运算和各种算术运算。
  • 控制单元:
    控制单元 CPU 中处理所有处理器控制信号的部分。它控制输入和输出设备,还控制系统内指令和数据的移动。
  • 输入/输出系统:
    输入设备用于在 CPU 输入指令的帮助下将数据读入主存储器。来自计算机的信息作为输出通过输出设备提供。计算机在输出设备的帮助下给出计算结果。

哈佛架构的优势:
哈佛架构有两条独立的指令和数据总线。因此,CPU 可以同时访问指令和读/写数据。这是哈佛架构的主要优势。

实际上,在我们有两个单独的缓存(数据和指令)的情况下,会使用修改后的哈佛架构。这在 X86 和 ARM 处理器中很常见并使用。