英文缩写
CPU:中央处理器
PC:程序计数器
IR: 指令寄存器
CU: 控制单元
ALU: 算数逻辑运算单元
ACC:累加器
MQ: 乘商寄存器
X: 操作数寄存器(存放操作数)
MAR: 存储器地址寄存器
MDR: 存储器数据缓冲寄存器
I/O: 输入输出设备
系统总线
1. 总线概念
计算机系统的五大部件之间的互联方式
-
分散连接
各部件之间使用使用单独的连线
-
总线连接
将各个部件连到一组公共信息传输线上
2. 总线分类
2.1:片内总线
就是芯片内的总线,寄存器与寄存器之间,寄存器 与算逻辑单元ALU之间…
2.2:系统总线
计算机各个部件之间的信息传输线
- 数据总线
<双向> 与机器字长有关,存储字长有关
用来传输各个功能部件之间的数据信息。数据总线的位数为数据总线的宽度,它是衡量一个计算机系统性能的重要参数
- 地址总线
<单向> 与存储地址,I/O地址有关
地址总线主要是用来指出数据总线上的源数据或目的数据所在的主存单元的地址或I/O设备的地址
有多少根地址总线就对应有2的多少次方个存储地址
- 控制总线
用来发出控制信号
地址总线和数据总线是被挂在总线上的所有部件所共享的,为了控制各项部件能够在不同时刻使用总线,需要控制总线来控制。
2.3:通信总线
多个计算机之间
这类总线用于计算机系统或者与其他系统之间的通信
-
串行通信
-
并行通信
2.4:总线特性
-
机械特性
指在连接方式上的一些性能
-
电器特性
指在总线每一根传输线上的信号的传递方式和有效电平范围
-
功能特性
不同的总线有着不同的功能
-
时间特性
指总线中的任何一根线在什么时间内有效
3. 总线控制
3.1: 总线判优控制
总线上所有连接的设备,按其对总线是否有控制权分为主模块 和 从模块两种。
主设备对总线有控制权,也就是能发出对总线的请求信号;从设备只能响应从主设备发送来的信息,对总线没有控制权。
若是有多个主设备发出请求控制总线的信号,就需要总线控制器按照一定的逻辑来进行仲裁。
总线判优分为两种:
-
集中式
将控制逻辑集中在一处,如在CPU
-
分散式
控制逻辑分散在与总线连接的各个部件或者设备上
常见的控制优先权仲裁方式特点:
-
链式查询:
只需要很少的几根线就能按一定的次序实现总线控制,并且很容易扩充设备,
但是对电路很敏感,且优先级底的设备很难获取到请求
-
计数器定时查询:
n台设备就需要log以2为底n的对数台设备
计数器从0开始,此时一旦设备的优先次序被固定,设备就按0.1.2…n的顺序降序排列,而且不变;计数器也可以从上一次的计数的终止点开始,也就是一种循环,此时设备使用总线的等级相等
对电路不如链式查询方式敏感,增加了控制线(设备地址)数,控制也较复杂
-
独立请求:
优先级由排队电路决定
响应速度快,优先次序控制灵活(通过程序改变),但是控制线数量多,总线控制更加复杂。
链式查询仅仅需要两根线就能确定是哪一台设备,计数器需要log2n根线,其中n是允许接受的最大设备数,而独立请求需要2n根线
3.2 总线通信控制
解决通信双方协调配合问题
- 申请分配
- 寻址
- 传数据阶段
- 结束阶段
常见的协调通信的4种方式:
1. 同步通信:
通信双方由同一的时标控制数据传送称为同步通信
有些模块速度不一致,会导致效率下降
同步通信一般用于总线长度较短、各部件存取时间比较一致的场合。
问题举例:
假设总线的时钟频率为100MHz,总线的传输周期为4个时钟周期,总线的宽度为32位,试求总线的数据传输率。若想提高一倍数据传输率,可采取什么措施?
答:根据总线时钟频率为100MHz,得到:
1个时钟周期为1/100 MHz=0.01 μs
总线传输周期为0.01 μsx4=0. 04 μs
由于总线的宽度为32位=4 B(字节)(4x8=32)
故总线的数据传输率为4 B/(0. 04 μs) = 100 MBps
若是相要提高一倍速率,则可以考虑设置时钟频率增加到200MHz,或者提高总线的宽度为64位
2. 异步通信
异步通信克服了同步通信的缺点,允许各个模块的速度不一致。
没有采用公共的时钟信号,主模块发出信号后一直等待模块反馈回来响应信号才开始通信。(又称为握手方式)
-
不互锁方式:
主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认(默认)从模块已经收到请求信号后,便撤销请求信号;从模块接到请求信号后,在条件允许的时发出回答信号,并且经过一段时间(不同设备的设置的时间也不相同)确认主模块已收到回答信号后,自动撤销回答信号。
-
半互锁方式:
主模块发出请求信号后,必须等待到从模块的回答信号后才能撤销其请求信号,有互锁关系;而从模块在接到请求信号后发出回答信号,但是不用知道主模块是否撤销请求信号,而是隔了一段时间后自动撤销回答信号,无互锁关系。
-
全互锁方式:
主模块发出请求信号后,必须等到从模块发出回答信号后才能撤销请求信号,从模块发出回答信号后,必须获知主模块撤销请求信号后,才能撤销他的回答信号。双方存在完全互锁的关系。
波特率:
异步通信的数据传达速率用波特率来衡量。波特率是指在单位时间内传送二进制数据的位数,单位用 bps (位/秒) 表示,记作波特;
例如:在异步通信的数据传输系统中,假设每秒传输120个数据帧,其字符格式包含1个起始位,7个数据位,1个奇校验位,一个终止位,试计算波特率:
答:由题意可知:1帧包含 1+7+1+1=10位
所以: 10 * 120 bps = 1200 波特
比特率:
简单来说就是对1帧中的有效数据的比例计算
对上题求比特率:
答: 由题意可知,有效数据为7位
则: 比特率为: 1200 * (7/10)= 840 bps
3. 半同步通信
半同步通信既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;
同时又像异步通信那样,允许不同速度的模块和谐地工作。为此增设了一条“等待”(WAIT)响应信号线,采用插人时钟(等待)周期的措施来协调通信双方的配合问题。
半同步通信适用于系统工作速度不高但又包含了由许多工作速度差异较大的各类设备组成的简单系统。
半同步通信控制方式比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。
缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还不是很高。
4. 分离式通信
以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束。
在整个传输周期中,系统总线的使用权完全由占有使用权的主模块和由它选中的从模块占据。
进一步分析读命令传输周期,发现除了申请总线这一阶段外,其余时间主要花费在如下3个方面。
①主模块通过传输总线向从模块发送地址和命令。
②从模块按照命令进行读数据的必要准备。
③从模块经数据总线向主模块提供数据。
由②可见,对系统总线而言,从模块内部读数据过程并无实质性的信息传输,总线纯属空闲等待。为了克服和利用这种消极等待,人们提出了分离式的通信方式
特点如下:
①各模块欲占用总线使用权都必须提出申请。
②在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号。
③各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。
④总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分地利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交叉重 叠并行式传送,这对大型计算机系统是极为重要的。
当然,这种方式控制比较复杂,一般在普通微型计算机系统很少采用。