计算机组成原理(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通过控制信号决定哪个输入信号有效即可。

目录
相关文章
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.4 四维图形可视化
第5章 数据可视化——5.4 四维图形可视化
|
存储
计算机组成原理(7)----CPU内部单总线数据通路
计算机组成原理(7)----CPU内部单总线数据通路
1238 0
|
Web App开发
实时分析HTTP/HTTPS数据流(HTTP Analyzer)
简述 HTTP Analyzer是一款实时分析HTTP/HTTPS数据流的工具。它可以实时捕捉HTTP/HTTPS协议数据,可以显示许多信息(包括:文件头、内容、Cookie、查询字符窜、提交的数据、重定向的URL地址),可以提供缓冲区信息、清理对话内容、HTTP状态信息和其他过滤选项。同时还是一个非常有用的分析、调试和诊断的开发工具。 HTTP Analyzer可以集成
2487 0
计算机组成原理(9)----硬布线控制器
计算机组成原理(9)----硬布线控制器
414 1
|
存储 Unix 编译器
汇编语言----X86汇编指令
汇编语言----X86汇编指令
735 2
|
存储
计算机组成原理(5)----CPU的基本结构
计算机组成原理(5)----CPU的基本结构
499 0
计算机组成原理(6)-----指令执行过程
计算机组成原理(6)-----指令执行过程
847 0
|
9月前
|
机器学习/深度学习 人工智能 调度
【AI系统】CANN 算子类型
本文介绍了算子的基本概念及其在编程和数学中的作用,重点探讨了CANN算子在AI编程和神经网络中的应用,特别是华为CANN算子在AI CPU上的架构和开发要求。CANN是华为推出的异构计算架构,旨在优化AI处理器的计算效率,支持多种AI框架,涵盖AI Core和AI CPU算子,以适应不同类型的计算需求。文中还详细说明了AI CPU算子的开发流程和适用场景,为开发者提供了宝贵的指导。
346 2
|
存储 数据库 C++
"深入剖析Python元组(tuple):与列表的对比、特性解析及高效应用场景展示"
【8月更文挑战第9天】Python元组与列表虽均用于存储元素集合,但有本质差异。元组不可变,创建后无法修改,适合保护数据不被意外更改的场景,如作字典键或传递固定值。列表则可变,支持动态增删改,适用于需频繁调整的数据集。元组因不可变性而在性能上有优势,可用于快速查找。两者各有千秋,根据具体需求选择使用。例如,元组可用于表示坐标点或日期,而列表更适合管理用户列表或库存。
486 1
|
存储 Unix 程序员
计算机组成原理(5)----指令系统(2)
计算机组成原理(5)----指令系统
2180 2