计算机组成原理(8)----专用数据通路

简介: 计算机组成原理(8)----专用数据通路

上一节讲到了CPU内部单总线数据通路方式,这节来讲专用数据通路方式

1.专用数据通路方式

(1)取指令

•将PC的值传送到MAR中,即(PC)--->MAR,此时C0有效


•MAR的地址信息通过地址总线传送给主存,即(MAR)--->主存,此时C1有效


•主存接收地址信息,再让CU给主存发送读控制信号,主存则可读取出对应地址的数据,即:1--->R


•主存将读取的数据通过数据总线传送给MDR,即M(MAR)--->MDR,此时C2有效。


•执行指令之前,应该将指令送到IR中,即,(MDR)--->IR,此时C3有效


•每取出一条指令PC自动加1


取指令过程,如下图所示:

(2)分析指令

将IR中的指令的操作码部分传到CU中进行译码,Oo(IR)--->CU,此时C4有效。如下图所示:

(3)专用数据通路方式的例题

下图是一个简化了的CPU主存连接结构示意图(图中省略了所有的多路选择器)。其中有一个累

加寄存器(ACC)、一个状态数据寄存器和其他4个寄存器:主存地址寄存器(MAR)、主存数据寄存器(MDR)、程序寄存器(PC)和指令寄存器(IR),各部件及其之间的连线表示数据通路,箭头表示信息传递方向。

(1)请写出图中a、b、c、d 4个寄存器的名称。

(2)简述图中取指令的数据通路。


(3)简述数据在运算器和主存之间进行存/取访问


(4)简述完成指令LDA  X的数据通路(X为主存地址,LDA的功能为(X)--->ACC)


(5)简述完成指令ADD Y的数据通路(Y为主存地址,ADD的功能为(ACC)+(Y)--->ACC)


(6)简述完成指令STA  Z的数据通路(Z为主存地址,STA的功能为(ACC)--->Z)

(1)请写出图中a、b、c、d 4个寄存器的名称。

d 能自动“+1”,是PC

PC内容是地址,送MAR,故c是MAR


微操作信号发生器中包含指令译码器,用来解析操作码,b与微操作信号发生器相连,是IR。IR将指令的操作码部分传送到微操作信号发生器,微操作信号发生器的指令译码器再解析操作码


MAR中的地址信息只有可能单向的传送给主存储器,而MDR与主存是双向交互的,即MDR读/写主存。所以a是MDR

(2)简述图中取指令的数据通路。

指令的地址存放在PC中,所以将PC的值放到MAR中

(PC)--->MAR

根据MAR的值在主存中找到相应的数据,放到MDR中


M(MAR)--->MDR


将MDR的指令存放到IR中


(MDR)--->IR


将指令的操作码部分交由微操作信号发生器解析


OP(IR)--->微操作信号发生器


取出一条指令后,PC自动加1


(PC)+1--->PC


(3)简述数据在运算器和主存之间进行存/取访问

解读:运算器ALU并不是寄存器,这个部件没有存储的功能,ALU要使用的数据会放到ACC中,题目中问的运算器和主存之间进行存/取访问的数据通路,实质上是ACC和主存之间进行存/取访问的数据通路

设数据地址已放入MAR中

取:


把主存中MAR指明的数据放到MDR中


M(MAR)--->MDR


MDR的数据由ALU转发到ACC中,这样就完成了从主存读一个数据存放到ACC中


(MDR)--->ALU--->ACC


存:


将ACC中的数据传输到MDR中


(ACC)--->MDR


主存储器根据MAR提供的地址信息,往存储单元中存放MDR的数据


(MDR)--->M(MAR)

(4)简述完成指令LDA X的数据通路(X为主存地址)


(5)简述完成指令ADD Y的数据通路(Y为主存地址,ADD的功能为(ACC)+(Y)--->ACC)


(6)简述完成指令STA  Z的数据通路(Z为主存地址,STA的功能为(ACC)--->Z)


(4)(5)(6)要完成的将X放到ACC中,再从主存储器中取出另一个操作数Y,

(6)简述完成指令STA  Z的数据通路(Z为主存地址,STA的功能为(ACC)--->Z)

(4)(5)(6)要完成的将X放到ACC中,再从主存储器中取出另一个操作数Y,X+Y的运算结果再放入ACC中,再把这一结果存入主存储器中,存放到Z所指的地址。


(4)


把地址X放入MAR中


X--->MAR或Ad(IR)--->MAR


主存储器根据MAR的地址信息在存储单元找到相应的数据放到MDR中


M(MAR)--->MDR


再将MDR的数据,由ALU转发,存入ACC中


(MDR)--->ALU--->ACC

(5)

Y为主存地址,所以将Y存放到MAR中

Y--->MAR或者Ad(IR)--->MAR

将Y所指的数据从主存储器读出,通过数据总线放到MDR中

M(MAR)--->MDR

到这一步骤,加法操作的X存放到ACC中,Y存放再MDR中,将这两个数相加,再把相加的结果存放回ACC中


ALU--->ACC


(6)


由于这个指令已经放到IR指令寄存器中,所以MAR直接从IR指令寄存器中将指令的地址码取出


Z--->MAR或Ad(IR)--->MAR


再将加法得到的结果,由ACC传送到MDR中


(ACC)--->MDR


最后将MDR存放的数据,存放到MAR指向的存储单元即可


(MDR)--->M(MAR)

总结:

对于专用数据通路,若两个部件之间存在数据流动,就需要为其建立专门数据通路。所以成本较高,但是各个数据通路相互独立,可以并行进行指令的传送,效率提高很多。

专用数据通路中,某个部件的输入可能会有多条,可以用多路选择器或三态门,CU通过控制信号决定哪个输入信号有效即可。

目录
相关文章
|
7月前
|
存储
计算机组成原理(5)----CPU的基本结构
计算机组成原理(5)----CPU的基本结构
212 0
|
7月前
|
存储
计算机组成原理(7)----CPU内部单总线数据通路
计算机组成原理(7)----CPU内部单总线数据通路
505 0
|
7月前
|
存储 芯片 块存储
计算机组成原理(1)----存储器相关(1)
计算机组成原理(1)----存储器相关
201 4
|
7月前
|
存储 Unix 程序员
计算机组成原理(5)----指令系统(2)
计算机组成原理(5)----指令系统
904 2
|
7月前
|
存储 固态存储 芯片
计算机组成原理(1)----存储器相关(2)
计算机组成原理(1)----存储器相关
156 1
|
7月前
|
存储 人工智能 C语言
计算机组成原理(5)----指令系统(1)
计算机组成原理(5)----指令系统
155 1
|
7月前
|
存储 Java 芯片
计算机组成原理----计算机系统(1)
计算机组成原理----计算机系统
77 3
|
7月前
|
存储 移动开发 固态存储
计算机组成原理(3)-----外存储器
计算机组成原理(3)-----外存储器
556 1
|
7月前
|
存储 芯片 块存储
计算机组成原理(2)-----存储芯片与CPU的连接
计算机组成原理(2)-----存储芯片与CPU的连接
350 1
|
7月前
|
存储 JavaScript 前端开发
计算机组成原理----计算机系统(2)
计算机组成原理----计算机系统
110 0