计算机组成原理(8)

您所在的位置:网站首页 ir寄存器和mar 计算机组成原理(8)

计算机组成原理(8)

2024-07-11 07:46| 来源: 网络整理| 查看: 265

目录

1.专用数据通路方式

(1)取指令

(2)分析指令

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

上一节讲到了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,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通过控制信号决定哪个输入信号有效即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3