5.3 数据通路(功能和基本结构)

==CPU内部==可视为:==数据通路 + 控制部件== 两大部分。

==数据通路:数据在功能部件之间传送的路径,包括路径上的部件!==

  • 【==不包括控制部件==,因为数据通路由控制部件控制】

例题:ALU,通用寄存器,PSW,Cache,异常和中断处理逻辑等等,都是数据通路的一部分。

1.CPU内数据的流动

  • 寄存器和寄存器
  • 寄存器和主存
  • 寄存器和ALU

(可以发现ALU和主存之间没有数据流动,因为主存速度比ALU慢很多。)

(主存更多的是拿来当MAR和MDR之间的中转站,且主存相连的寄存器也只有MAR,MDR了)

2.==数据通路的基本结构==⭐

① CPU内部单总线方式:CPU数据通过一条总线传输。(常搭配–多周期处理器,CPI>1)

② CPU内部多总线方式:(常搭配–周期处理器,CPI=1)

③ 专用数据通路方式:寄存器之间有通路来传输交流数据。

其他:

  • ②单总线时信号流动的原则:每个时刻只有一个器件发出信息,可以有多个器件接收消息。【实现by:三态门】

  • CPI:cycles per instruction。

    • ==单周期处理器==:所有指令的指令周期为一个时间周期(all步骤,一个时间周期搞定)(==不同于单总线==哦)
      • 在执行同一条指令的过程中,每个主要的硬件部件(如ALU)最多被使用一次。

image-20260303144240744

3.CPU内部单总线方式

  • 每==一个==时钟周期,CU都会发出==一个==控制信号,执行完成==一个==微操作。
  • 单总线结构中,每一时刻总线上只有==一个==数据有效
    • 所以,ALU计算得配合暂存寄存器使用。(另一个操作数提前放在暂存寄存器Y)
  • **==MARinE==**(表示数据总线(到MARin这条路)是否畅通)

image-20260303150602920

例题

image-20260303151747869

image-20260303152645805

image-20260304122012559

  • ALU不是寄存器(所以不写在上面,直接写Z就行)

4.专用数据通路方式

细节:指令译码器在微操作发生器里面

例题

image-20260303155233119

image-20260303155559778

image-20260303155837212

image-20260303160019964

image-20260303160138454