当前位置:文档之家› 第八章习题答案

第八章习题答案

3. 假设一个同步总线的时钟频率为50MHz,总线宽度为32位,每个时钟周期传送一个数据,则该总线的最大数据传输率(即总线带宽)为多少?若要将该总线的带宽提高一倍,可以有哪几种方案?参考答案:最大数据传输率为:4B×50M/1=20MB/s方案一:将时钟频率提高一倍;方案二:将总线宽度提高一倍。

4. V AX SBI总线采用分布式的自举裁决方案,总线上每个设备有惟一的优先级,而且被分配一根独立的总线请求线REQ,SBI有16根这样的请求线(REQ0,…REQ15),其中REQ0优先级最高,请问:最多可有多少个设备连到这样的总线上?为什么?参考答案:最多可连接16个设备。

因为在分布式自举裁决方式的总线中,除优先级最低的设备外,每个设备都使用一根信号线发出总线请求信号,以被优先级比它低的设备查看;而优先级最低的那个设备无需送出总线请求信号。

此外,还需要一根总线请求信号线用于设置“总线忙”信号,设有16个设备(DEV0,…DEV15),其优先级依次降低,将REQ15作为总线忙信号线。

DEV0在总线空闲(REQ15没有请求信号)时可直接使用总线;DEV1在总线空闲时且REQ0没有请求信号时使用总线;依次类推,DEV15在总线空闲时且REQ0至REQ14都没有请求信号时使用总线。

这样最多可以有16个设备无冲突的使用总线。

4.假定一个32位微处理器的外部处理器总线的宽度为16位,总线时钟频率为40MHz,假定一个总线事务的最短周期是4个总线时钟周期,该总线的最大数据传输率是多少?如果将外部总线的数据线宽度扩展为32位,那么该总线的最大数据传输率提高到多少?这种措施与加倍外部总线时钟频率的措施相比,哪种更好?参考答案:一个总线事务过程除了数据传送阶段外,还包括其他阶段,如传送地址和总线命令、准备数据等,所以,完成一个总线事务所用的所有时钟周期并不都用来传输数据,也即最短的4个时钟周期中只可能有一个时钟周期用来传送数据。

总线最大数据传输率(总线带宽)是指在总线进行数据传送阶段单位时间内传送的数据量(也即是峰值数据传输率)。

通常,在数据传送阶段每个总线时钟周期传送一个数据,若是这样的话,该处理器总线的最大数据传输率为2B×40M=80MB/s;有些总线可以利用时钟的上升沿和下降沿各自传送一个数据,使得每个时钟周期能传送两个数据,若是这样的话,该总线的最大数据传输率为2×2B×40M=160MB/s。

若采用32位总线宽度,则在上述两种情况下,该总线带宽可分别提高到160MB/s和320MB/s。

这种措施的效果和倍频的效果完全相同。

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

参考答案:设计一个并行判优电路即可。

若BR0~BR3为4条总线请求线,优先级由高到低。

BG0~BG3为4条总线允许线,则:BG0=BR0;BG1=(BR1)&(~BR0);BG2=(BR2)&(~BR1)&(~BR0);BG3=(BR3)&(~BR2)&(~BR1)&(~BR0)7. 假设某存储器总线采用同步通信方式,时钟频率为50MHz时钟,每个总线事务以突发方式传输8个字,以支持块长为8 个字的Cache行读和Cache行写,每字4字节。

对于读操作,访问顺序是1个时钟周期接受地址,3个时钟周期等待存储器读数,8个时钟周期用于传输8个字。

对于写操作,访问顺序是1个时钟周期接受地址,2个时钟周期延迟,8个时钟周期用于传输8个字,3个时钟周期恢复和写入纠错码。

对于以下访问模式,求出该存储器读/写时在存储器总线上的数据传输率。

(1)全部访问为连续的读操作;(2)全部访问为连续的写操作;(3) 65%的访问为读操作,35%的访问为写操作。

参考答案:(1)8个字用1+3+8=12个周期,故数据传输率为8×4B/(12×1/50M) = 133 MB/s。

(2)8个字用1+2+8+3=14个周期,故数据传输率为8×4B/(14×1/50M) = 114 MB/s。

(3)可用两种方式估算。

若用数据传输率加权平均,则为133.3×65% +114.3×35%=126.7MB/s;若用时钟周期数的加权平均,则为8×4B/((12×65%+14×35%)×1/50M)=126.0 MB/s。

8. 考虑以下两种总线:总线1是64位数据和地址复用的总线。

能在一个时钟周期中传输一个64位的数据或地址。

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

总线2是分离的32位地址和32位数据的总线。

读操作包括:一个时钟周期传送地址,2个时钟周期延迟,从第四周期开始,存储器系统以每时钟1个字的速度传输最多8个字。

对于写操作,在第一个时钟周期内第一个数据字与地址一起传输,经过2个时钟周期的延迟后,以每个时钟1个字的速度最多传输7个余下的数据字。

假定进行60%的读操作和40%的写操作。

在以下两种情况下,求这两种总线和存储器能提供的带宽。

(1)两种总线的最大数据传输率(总线带宽)分别为多少?(2)连续进行单个字的存储器读总线事务时,两种总线的数据传输率分别是多少?(3)连续进行单个字的存储器写总线事务时,两种总线的数据传输率分别是多少?(4)每次传输8个字的数据块,60%是读操作总线事务,40%是写操作总线事务,两种总线的数据传输率分别是多少?(5)通过对以上各种数据的分析对比,给出相应的结论。

参考答案:(1)总线1在传送数据时以每个时钟周期两个字的速度进行,所以它的最大数据传输率为2×32b×100M=6400Mb/s=800MB/s。

总线2在传送数据时以每个时钟周期一个字的速度进行,所以它的最大数据传输率为32b×100M=3200Mb/s=400MB/s。

(2)总线1虽然每个时钟周期可传2个字,但在单字传输总线事务中每次只需要传送一个字,每个总线事务占1+2+1=4个时钟周期,因此连续进行单个字的存储器读总线事务时,总线1的数据传输率为4B×100M /4=100MB/s。

总线2每个时钟周期读一个字,一个单字存储器读总线事务占1+2+1=4个时钟周期,因此连续进行单个字的存储器读总线事务时,总线2的数据传输率也为100MB/s。

(3)总线1的单字存储器写总线事务和单字存储器读总线事务的情况一样,因此,连续进行单个字的存储器写总线事务时,数据传输率也是100MB/s。

总线2的单字存储器写总线事务占1+2=3个时钟周期,因此连续进行单个字的存储器写总线事务时,其数据传输率为4B×100M /3=133.3MB/s。

(4)通过总线1进行存储器读或写8个字所用时间都为1+2+8/2=7个时钟周期,所以在连续进行多个8字突发传送总线事务时,总线1的数据传输率为8×4B×100M/7=457MB/s。

总线2的存储器读事务和存储器写事务所用时间不等,突发读8个字所用的时间为1+2+8=11个时钟周期,突发写8个字所用的时间为1+2+7=10个时钟周期,因此,当60%是读操作总线事务,40%是写操作总线事务时,总线2的数据传输率为8×4B×100M /11×60%+8×4B×100M /10×40%=303MB/s(或8×4B×100M /(11×60%+10×40%)=302MB/s)。

(5)总线1和总线2的数据线和地址线总数都是64位,总线1采用数据/地址线复用,总线2采用分离的数据线和地址线。

以下是对两种总线在各种情况下的分析以及得出的结论。

根据(1)中对两种总线最大数据传输率的计算,可知:采用数据/地址线复用技术,能够得到更大的峰值数据传输率。

因为,一旦进入到数据传输阶段,用64位数据线传输数据肯定比用32位数据线传输数据要快一倍。

根据(2)和(3)中对两种总线在单字传输情况下数据传输率的计算,可知:采用数据/地址线分离技术,可以得到更大的单字传输数据速率。

因为,单字传输时,数据/地址线复用时得到的两倍宽度的数据线只能传送一个字,同时信号线复用而不能将数据和地址同时送出,使得写事务所用时间延长,因而,采用数据/地址线复用技术的情况下,得到的单字传输数据速率更低。

根据(4)中对突发传送8个数据时数据传输率的计算,可知:采用数据/地址线复用技术,能够得到更大的突发数据传输率。

因为,在突发传送事务中需要连续传送多个数据,此时,64位数据线肯定比32位数据线传得快。

9.假定主存和CPU之间连接的同步总线具有以下特性:支持4字块和16字块(字长32位)两种长度的突发传送,总线时钟频率为200MHz,总线宽度为64位,每个64位数据的传送需1个时钟周期,向主存发送一个地址需要1个时钟周期,每个总线事务之间有2个空闲时钟周期。

若访问主存时最初四个字的存取时间为200ns,随后每存取一个四字的时间是20ns,则在4字块和16字块两种传输方式下,该总线上传输256个字时的数据传输率分别是多少?你能从计算结果中得到什么结论?参考答案:总线时钟频率为200MHz,因而总线时钟周期为1/200M=5ns。

对于4字传送方式,每个总线事务由一个地址传送跟一个4字的数据块传送组成。

即每个总线事务传送一个4字的数据块。

每个数据块的传送过程如下图所示。

4字传送方式下的数据传送过程首先,CPU发送一个首地址到主存,一个时钟周期后,主存读开始的4个字,用了200ns/5ns=40个时钟周期,然后在总线上传输4个字,所用的时钟周期数为4×32/64=2。

在下次总线事务开始之前,最后有两个空闲时钟周期。

所以一次总线事务总共需要1+40+2+2=45个时钟周期,256个字需256/4=64个事务,因而整个传送需45×64=2880个时钟周期,得到总延时为2880×5ns=14400ns。

每秒钟进行的总线事务数为64/14400ns = 4.44M。

总线的数据传输率为(256×4B)/14400ns =71.11MB/s。

对于16字传送方式,每个总线事务由一个地址传送后跟一个16字的数据块传送组成。

也即每个总线事务传送一个16字的数据块。

每个数据块的传送过程如下图所示。

4个字,后两个时钟空闲16字传送方式下的数据传送过程从图中可看出,一次总线事务的时钟周期数为1+40+4×(2+2)=57,256个字需256/16=16个事务,因此整个传送需57×16=912个时钟周期。

相关主题