挑战408——组成原理(23)——数据通路的功能跟基本结构

数据通路的功能

数据在功能部件之间传送的路径,称为数据通路。比如运算器与寄存器之间的传送路径,就是CPU内部的数据通路。
数据通路描述了信息从什么地方开始,中间经过那个寄存器或者开关,最后传送到哪个寄存器。这些都要加以控制.
数据通路的功能就是实现CPU内部逻辑运算器与寄存器以及寄存器之家的数据交换。数据通路由操作元件和存储单元通过总线或者分散方式连接而成,由操作元件和状态元件交替组成,即数据通路的基本结构为“-----状态元件----操作元件-------状态元件”下面来逐个解释

  1. 操作元件
    常用的操作元件有多路选择器mux,加法器,ALU,译码器等等,有些操作元件不需要控制信号控制。
  2. 状态元件
    状态元件具有存储功能,输入状态在时钟控制下被写到电路,并保持电路输出值不变,直到下一个时钟到达,输入端状态由时钟决定何时被写入,输出端状态随时可以读出。
  3. 时钟控制
    指令的执行过程中,每个操作步骤都有先后顺序,为了使得计算机能正确执行指令,CPU必须按正确的时序产生操作控制信号。
数据通路的基本结构

数据通路的基本结构主要有两种:总线方式,分散方式。

  1. 总线方式
    • 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中
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值