数据通路的功能
数据在功能部件之间传送的路径,称为数据通路。比如运算器与寄存器之间的传送路径,就是CPU内部的数据通路。
数据通路描述了信息从什么地方开始,中间经过那个寄存器或者开关,最后传送到哪个寄存器。这些都要加以控制.
数据通路的功能就是实现CPU内部逻辑运算器与寄存器以及寄存器之家的数据交换。数据通路由操作元件和存储单元通过总线或者分散方式连接而成,由操作元件和状态元件交替组成,即数据通路的基本结构为“-----状态元件----操作元件-------状态元件”下面来逐个解释
- 操作元件
常用的操作元件有多路选择器mux,加法器,ALU,译码器等等,有些操作元件不需要控制信号控制。 - 状态元件
状态元件具有存储功能,输入状态在时钟控制下被写到电路,并保持电路输出值不变,直到下一个时钟到达,输入端状态由时钟决定何时被写入,输出端状态随时可以读出。 - 时钟控制
指令的执行过程中,每个操作步骤都有先后顺序,为了使得计算机能正确执行指令,CPU必须按正确的时序产生操作控制信号。
数据通路的基本结构
数据通路的基本结构主要有两种:总线方式,分散方式。
- 总线方式
- Cpu内部单总线方式:所有寄存器的输入输出端都连接到一条公共通路上,这种结构简单,但是数据的传输存在较多的冲突现象,因此性能相对较低。
- Cpu内部多总线方式:所有寄存器的输入输出端都连接到多条公共通路上,同时可以在一个时钟内传输多个数据,以提高效率。
- 专用数据通路方式:根据指令执行过程中的数据和地址流动方向,安排线路,避免使用共享的总线,性能高,但是硬件量大。
为了能在图中清楚的表示各部件之间的关系,各部件之间用大写字母表示,字母加in表示该部件允许输入控制信号,字母加Out表示该部件允许输出控制信号。如下图(摘自王道考研):

- 寄存器之间的数据传送,例如其寄存器AX的输入输出分别由AXin和AXout控制,以PC寄存器为例子,实现传送操作的流程以及控制信号为:
PC ->BUS
// PCout 有效,因为它要输出下一步取指令的地址,将PC的内容送到总线(bus)
BUS ->MAR
//然后信号通过总线,传送到MAR中,此时MARin有效,
- 主存与CPU之间,以CPU从主存中读取指令为例。
PC->BUS ->MAR //此时PCout和MARin有效。
1->R //CU发出读指令
MEM(MAR)->MDR //从MAR中取出数据,送到MDR中。此时MDRin有效
MDR->BUS->IR //从mdr中取出数据,然后沿总线送到IR处。此时,MDRout跟IRin有效
执行算术或逻辑运算
在执行算术或者逻辑运算时候,由于ALU本身没有内部存储功能,因此要执行加法运算,必须在ALU的两个输入端同时有效,以上图为例子,这里有一个暂存器Y,先将一个数经CPU内部总线送入暂存器中保存,而Y的内容在ALU的左输入端始终有效,再将另外一个操作数经总线直接送到ALU的右输入端,如此一来,两个操作数都送入了ALU中,然后将运算的结果暂时存于Z中。执行逻辑如下:
AD(IR) ->BUS->MDR //从ir中执行加法操作,取出的数据,放在MDR中。MDRout和MDRin有效
1->R //CU发出读指令
MEM ->数据线 ->MDR //操作数从存储器中取出,沿着数据线送到MDR中
MDR ->BUS->Y //MDRout,Yin有效,操作数存于Y
(ACC)+ (Y) ->Z //将Acc中的内容与Y中的内容相加,结果存在与z中,此时ACCout,ALUin有效
Z->Acc //Zout ,ACCin有效,将Z的内容存在与Acc中

6039

被折叠的 条评论
为什么被折叠?



