总线结构与控制练习题
- 计算机系统为什么采用总线结构?
解析:在冯诺依曼计算机体系当中,把计算机基本组成分成了五大部分。运算器,控制器,存储器,输入设备和输出设备。我们可以把运算器和控制器制作在一个芯片上(CPU),输入设备和输出设备统一为I/O设备,那么计算机的基本组成就包括三大部分。
现代计算机比这个基本组成更加复杂,可能有成百上千个CPU,外部设备的数量和种类也非常的丰富,只有把这些部件连接到一起,他们才能组成一个完整的计算机硬件系统,可以协调的进行工作。
把部件连接到一起,有一种方法是采用分散连接的方式,需要进行信息传递的两个部件,我们把他用线连接起来。那么我们可以想象一下,几百个部件需要两两相互连接,并且两两之间的连线也非常多,那需要的线就会非常多。把这些线都放在电路板上,成本非常高,难度也很大,而且这些线路会占用大量的空间。
这种连接方式的另外一个问题,就是系统很难拓展。比如新增加一个I/O设备,那么这个设备需要和原来的CPU进行连接,那么我们又要增加很多束线,每束线又有若干条,这个操作起来难度非常大。
为了解决这个问题,我们引入了总线连接方式。
- 比较单总线,双总线,三总线结构的性能特点
解析:
单总线:使用一条系统总线连接CPU,内存和I/O设备。简单易行;系统总线负载重
双总线:在CPU和主存之间专门设置了一组高速的存储总线,保持单总线结构优点的基础上,减轻了CPU的负担
三总线:在各外部设备与通道之间增加一组I/O总线。提高CPU工作效率,同时也最大限度地提高外设的工作速度,但硬件成本增加
- 简述常见的总线仲裁方式
解析:
- 集中式仲裁方式
- 链式查询方式
- 计数器定时查询方式
- 独立请求方式
- 分布式仲裁方式
- 集中式仲裁有几种方式,画出链式查询的逻辑结构图,说明其工作原理
解析:
- 三种方式:链式查询方式,计数器定时查询方式,独立请求方式
- 链式查询方式
- BS:总线忙。获取总线使用权时,建立BS信号
- BR:总线请求
- BG:总线同意。串行地从I/O接口送到下一个I/O接口
- 工作原理
链式查询方式,除一般数据总线和地址总线外,中央仲裁器主要有三根控制线:
- BS(忙):该线有效,表示总线正被某外设使用
- BR(总线请求):该线有效,表示至少有一个外设要求使用总线
- BG(总线同意):该线有效,表示总线控制部件响应总线请求(BR)
链式查询方式的主要特征是总线同意信号BG的传送方式:串行地从一个I/O接口送到下一个接口。假如BG到达的接口无总线请求,则接着往下传;假如BG到达的接口有总线请求,BG信号不再往下传。这意味着I/O接口就获得了总线使用权。
- 假定某总线的时钟频率为1GHz。每次总线传输需要1个时钟周期,总线的数据总线宽度为64位。存储器的存储周期为两个时钟周期,求同步方式下CPU从该存储器中读一个存储字时总线的数据传输速率为多少。
解析:
总线时钟周期 = 1/f = 1/1GHz=1ns,则同步方式下存储器读操作步骤及所需的时间分别如下:
(1) 寻址阶段:需要一个总线周期时间1ns.
(2) 存储器读数据并传输到数据总线:需要一个存储周期2ns.
(3) CPU从数据总线取走数据:需要一个总线周期1ns.
则同步方式下从主存读一个存储字的总时间t = 4ns.
数据传输速率=总线宽度/总线周期=8byte/4ns=2GB/s.
- 假设一个同步总线的时钟频率为100MHz,总线宽度为32位,每个时钟周期传输一个数据,该总线的最大数据传输速率为多少?若要将总线带宽提高一倍,有哪几种可行方案?
**解析: **
T=总线时钟周期=1/f=1/100MHz=0.01ns
总线宽度=32位/8=4字节。
数据传输率=总线宽度/总线时钟周期=4/0.01=400MB/s
提高总线带宽的3个可行方案:
- 将总线数据位宽增加一倍
- 将时钟频率增加一倍
- 每个时钟周期传输2个数据(相当于增加数据宽度)
- 某16位地址/数据复用的同步总线中,总线时钟频速率为8MHz,每个总线事务只传输一个数据,需要4个时钟周期。该总线的数据传输速率是多少?
解析:
总线宽度=16/8 = 2字节
总线时钟周期 = 1/总线频率 = 1/8* 4 =0.5μs
总线数据传输速率=总线宽度/总线时钟周期=2/0.5=4MB/s
- 试比较同步通信和异步通信。
- 同步通信:由统一时钟控制的通信,控制简单,灵活性差。当系统各部件工作速度差异较大时,总线工作效率明显下降,适合于速度差别不大的场合。
- 异步通信:没有统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。
- 简述波特率和比特率的区别。
解析:
波特是信号传输速度的单位,波特率等于每秒内线路状态的改变次数。标准波特率有:1200,2400,4800,9600,19200等,1200波特率即指信号能在1秒钟内改变1200次值。二进制系统中,信息的最小单位是比特,仅当每个信号元素代表一比特信息时,波特率才等于比特率。
- 同步通信之所以比异步通信具有较高的传输频率,是因为同步通信()
a.不需要应答信号
b.总线长度较短
c.用一个公共时钟信号进行同步
d.各部件存取时间比较接近
解析:C
通信双方由统一时钟控制数据传送称为同步通信。
- 在异步串行传输系统中,假设每秒传输120个数据帧,若字符格式为:1位起始位,7位数据位,1位奇偶校验位,1位终止位。求此时的波特率和比特率。
解析:
- 波特率表示每秒钟传送的码元符号的个数
- 比特率是指每秒传送的比特(bi)数(描述单位时间内传送数据的多少)
根据题目给出的字符格式,一帧包含1+7+1+1=10位
故波特率为10120=1200bps
比特率为7120=840bps
- 画图说明异步通信中请求与回答有哪几种互锁关系?
解析:
不互锁: 主从设备都无需等待应答信号,经过一段时间主动确认。
半互锁:主议 :主设备需要等待应答信号,从设备经过一段时间主动确认。
全互锁:主从设备必须等待应答信号。