数据通路的基本结构
数据通路的基本概念:
- 内部总线。使指同一部件,如CPU内部连接各个寄存器及运算部件之间的总线;
- 系统总线。是指同一台计算机系统的各部件,如CPU、内存、通道和各类IO接口间互相连接的总线。
CPU内部单总线方式
单总线模式就是将所有寄存器的输入和输出端都连接到一条公共通路上,这种结构简单,但数据传输存在较多冲突现象,性能较低。
单总线模式下寄存器之间数据传送
若想把PC内容送至MAR,实现传送操作的流程及控制信号为:
(PC)->Bus,即PC先把信号发送给CU,然后CU给PCout高电平,使PC的值可以传送到总线中。
Bus->MAR,然后CU给MARIN高电平,总线内容传入MAR中。
单总线模式下主存与CPU之间的数据传送
把CPU中数据发送给主存,比如CPU从主存读取指令,流程如下:
(PC)->Bus->MAR Pcout和MARin有效,将PC中值通过总线放到MAR中
1->R CU发读命令(通过控制总线发出),使MAR可以通过地址总线将地址传到主存。
MEM(MAR)->MDR MDRin有效,将主存中MAR地址所对应的数据放到MDR中。
MDR->Bus->IR MDRout和IRin有效,将现行指令的数据放入到IR(用于存储当前正在执行的指令)中
单总线模式下执行算术或逻辑运算
比如执行一条加法指令,其流程为:
Ad(IR)->Bus->MAR MDRout和MARin有效,将当前IR的地址通过CPU内部总线送到MAR中
1->R CU发读命令
MEM(MAR)->MDR MDRin有效
MDR->Bus->Y MDRout和Yin有效,将操作数放入Y寄存器
(ACC)+(Y)->Z ACCout和ALUin有效,CU向ALU发送加命令
Z->ACC Zout和ACCin有效,结果放回ACC。
专用数据通路方式
根据指令执行过程的数据和地址流动方向来安排连接线路,避免使用共享总线,该方案性能高,但硬件量大。