计算机组织与系统结构第八章习题答案

更新时间:2023-09-24 16:26:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 给出以下概念的解释说明。

总线(Bus) 片内总线(Internal Bus) 系统总线(System Bus) 通信总线(Communication Bus) 并行总线(Parallel Bus) 串行总线(Serial Bus) 底板总线(Backplane Bus) I/O总线(I/O Bus) 处理器─存储器总线(Processor-memory Bus) 处理器总线(Processor Bus) 存储器总线(memory Bus) 信号线复用(Signal Lines Multiplexing)

最大数据传输率(Maximum Data Transfer Rate)总线传输周期(Bus Transmission Cycle) 总线宽度(Bus Width) 总线时钟频率(Bus Clock Frequency) 总线带宽(Bus Bandwidth) 总线事务(Bus Transaction) 主设备(Master,Initiator ) 从设备(Slave,Target) 突发传送(Burst Transmission) 背对背(Back-to-Back)传送 总线裁决(Bus Arbitration) 总线控制器(Bus Arbiter) 总线请求信号(Bus Request) 总线允许信号(Bus Grant) 集中裁决(Centralized Arbitration) 分布裁决(Distributed Arbitration) 同步总线(Synchronous Bus) 异步总线(Asynchronous Bus) 握手信号(Handshaking Signal) 半同步总线(Semi-Synchronous Bus) 分离事务协议(Split transaction protocol)

ISA总线(Industrial Standard Architecture Bus)

EISA总线(Extended Industrial Standard Architecture Bus) PCI总线(Peripheral Component Interconnect Bus) SCSI总线(Small Computer Standard Interface Bus)

2. 简单回答下列问题。

(1)什么情况下需要总线仲裁?总线仲裁的目的是什么?有哪几种常用的仲裁方式?各有什么特点? (2)总线通信采用的定时方式有哪几种?各有什么优缺点?

(3)在异步通信中,握手信号的作用是什么?常见的握手协议有哪几种?各有何特点? (4)什么叫非突发传送和突发传送? (5)提高同步总线的带宽有哪几种措施?

(6)制定总线标准的好处是什么?总线标准是如何制定出来的?

3. 假设一个同步总线的时钟频率为50MHz,总线宽度为32位,该总线的最大数据传输率为多少?若要将该总线的带宽提高一倍,可以有哪几种方案? 参考答案:

最大数据传输率为:4B×50M=200MB/s

方案一:将时钟频率提高一倍;方案二:将总线宽度提高一倍。

4. VAX SBI总线采用分布式的自举裁决方案,总线上每个设备有惟一的优先级,而且被分配一根独立的总线

请求线REQ,SBI有16根这样的请求线(REQ0,…REQ15),其中REQ0优先级最高,请问:最多可有多少个设备连到这样的总线上?为什么?

BR15(Busy)

BR14 BR13 …… BR0

Device15

参考答案:

Device14 Device13 Device0 最多可连接16个设备,设有16个设备(DEV0,…DEV15),其优先级依次降低,将REQ15作为总线忙信号线。DEV0在总线空闲(REQ15没有请求信号)时可直接使用总线;DEV1在总线空闲时且REQ0没有请求信号时使用总线;依次类推,DEV15在总线空闲时且REQ0至REQ14都没有请求信号时使用总线。这样最多可以有16个设备无冲突的使用总线。

5. 假定一个32位微处理器的外部处理器总线的宽度为16位,总线时钟频率为40MHz,假定一个总线事务

的最短周期是4个总线时钟周期,该处理器的最大数据传输率是多少?如果将外部总线的数据线宽度扩展为32位,那么该处理器的最大数据传输率提高到多少?这种措施与加倍外部总线时钟频率的措施相比,哪种更好? 参考答案:

一次总线事务至少为4×1/40M(秒),只能传送16位数据,故处理器最大数据传输率为:

2B/(4×1/40M) = 20MB/秒。若采用32位总线宽度,则可提高到4B/(4×1/40M) = 40MB/s. 若倍频,也可提高到2B/(4×1/80M)=40MB/s. 两者效果相同。

6. 试设计一个采用固定优先级的具有4个输入的集中式独立请求裁决器。 参考答案:

设计一个并行判优电路即可。

如P0-P3为四条总线请求线,优先由高到低。 G0-G3为四条总线允许线,则: G0=P0;

G1=(P 1)&(~ P 0);

EN P2 G2 P1 P0 G0 G1 G2=(P 2)&(~ P 1)&(~ P 0);

G3=(P 3)&(~ P 2)&(~ P 1)&(~ P 0) EN信号可有可无

P3 EN G3 7. 假设某存储器总线采用同步通信方式,时钟频率为50MHz时钟,每个总线事务以突发方式传输8个字,以支持块长为8 个字的Cache行读和Cache行写,每字4字节。对于读操作,访问顺序是1个时钟周期接受地址,3个时钟周期等待存储器读数,8个时钟周期用于传输8个字。对于写操作,访问顺序是1个时钟周期接受地址,2个时钟周期延迟,8个时钟周期用于传输8个字,3个时钟周期恢复和写入纠错码。对于以下访问模式,求出该存储器读/写时在存储器总线上的带宽。 ① 全部访问为连续的读操作; ② 全部访问为连续的写操作;

③ 65%的访问为读操作,35%的访问为写操作。 参考答案:

① 8个字用1+3+8=12个周期,故8×4B/(12×1/50M) = 133 MB/s. ② 8个字用1+2+8+3=14个周期,故8×4B/(14×1/50M) = 114 MB/s. ③ 故. 133×65% + 114×35% = 126.0MB/s.

用另外一种计算方式结果差不多:8x4B/((12x65%+14x35%)x1/50M) = 126 MB/s

8. 考虑以下两种总线:

总线1是64位数据和地址复用的总线。能在一个时钟周期中传输一个64位的数据或地址。任何一个读

写操作总是先用一个时钟周期传送地址,然后有2个时钟周期的延迟,从第四时钟周期开始,存储器系统以每个时钟2个字的速度传送,最多传送8个字。

总线2是分离的32位地址和32位数据的总线。读操作包括:一个时钟周期传送地址,2个时钟周期延迟,

从第四周期开始,存储器系统以每时钟1个字的速度传输最多8个字。对于写操作,在第一个时钟周期内第一个数据字与地址一起传输,经过2个时钟周期的延迟后,以每个时钟1个字的速度最多传输7个余下的数据字。假定进行60%的读操作和40%的写操作。 在以下两种情况下,求这两种总线和存储器能提供的带宽。

① 只进行单数据字的传输。 ② 所有的传输都是8个字的数据块。 参考答案:

设时钟周期为T,一个字为32位,64位则为2个字。 总线1:地址/数据复用。所以,读和写操作所花时间都一样。 总线2:地址和数据分离。所以,读和写操作所花时间不一样。 ① 单数据字传送的情况

总线1:虽然每个时钟周期可传2个字,但只需传一个字,所花时间为4T。每个时钟周期只传送一个字。因此带宽为4B/4T=1 B/T。

总线2:读一字时间为:3+1=4T;写一字时间为:3T。因此带宽为:4B/4T×60%+4B/3T×40%=1.1 B/T。 (比总线1快)

② 8个字的数据块传送情况

总线1:对于传送8个字的数据块,所花时间为4T+3T。也即读或写8个字所花时间都为7T。因此带宽为:8×4B/7T=(32/7) B/T。

总线2:读8个字时间为:3+8=11T;写8个字时间为:3+7=10T。因此带宽为: 8×4B/11T×60%+8×4B/10T×40%=(32/10.6) B/T。 (比总线1慢)

另外:地址线宽度不等,寻址空间大小也不同

9. 假定主存和CPU之间连接的同步总线具有以下特性:支持4字块和16字块(字长32位)两种长度的突

发传送,总线时钟频率为200MHz,总线宽度为64位,每个64位数据的传送需1个时钟周期,向主存发送一个地址需要1个时钟周期,每个总线事务之间有2个空闲时钟周期。若访问主存时最初四个字的存取时间为200ns,随后每存取一个四字的时间是20ns,则在4字块和16字块两种传输方式下,该总线上传输256个字时的数据传输率分别是多少?你能从计算结果中得到什么结论? 参考答案:ppt

10. 上题所述的系统中,假定访问主存时最初四个字的读取时间为148ns,随后每读一个四字的时间为26ns,

则在4字块和16字块两种传输方式下,CPU从主存读出256个字时,该总线上的数据传输率分别是多少?和上题计算结果进行比较分析,并给出相应的结论。

参考答案:因为最初4个字的读取时间从200ns变为148ns,所以主存读开始的4个字只用了148ns/5ns=29.6个时钟周期,当主存存取时间不是总线时钟周期的整数倍时,主存会先准备好数据,等待下个总线时钟周期到来后,开始在总线上传送数据。因此,开始4字的读取时间实际上相当于30个时钟周期的时间。

1 clock 数据块首址 CPU 30 clocks

主存读出开始4个字

2 clocks 传送 4个字

2 clocks 总线空闲

主存

U

从图中可以看出,一次总线事务总共需要1+30+2+2=35个时钟周期,256个字需256/4=64个事务,因而整个传送需35×64=2240个时钟周期,总线的数据传输率为(256×4B)/(2240×5ns) =91.43MB/s。

因为从第二个4字开始,每读一个4字的时间为26ns,相当于26ns/5ns=5.2个总线时钟周期的时间。在16字传输方式下,每个数据块的传送过程如图所示。

1 clock CPU 数据块首址 30 clocks 主存读出开始4个字

2 clocks 2 clocks 2 clocks 2 clocks 2 clocks 主存读随后的4个字,总线前两个时钟传输前4个字,后4个时钟空闲

主存 总线前两个时钟传输前4个字,后两个时钟空闲

从图中可以看出,一次总线事务总共需要1+30+3×6+2+2=53个时钟周期,256字需256/16=16个事务,因而整个传送需53×16=848个时钟周期,总线的数据传输率为(256×4B)/(848×5ns) =241.51MB/s。

与上一题给出的系统相比,4字传输方式下,速度提高了(91.43-71.11)/71.11=28.6%;16字传输方式下,速度只提高了(241.51-224.56)/224.56=7.5%。由此可知,对于小数据块的传输,主存首次读取的速度更重要;而对于大数据块的传输,则首次读取速度和随后的读取速度都很重要。

本文来源:https://www.bwwdw.com/article/u1sd.html

Top