计算机组成原理 复习题及答案范文

发布时间 : 星期日 文章计算机组成原理 复习题及答案范文更新完毕开始阅读

7.3 设某流水线计算机有一个指令和数据合一的cache,已知cache的读/写时间为10ns,主存的读/写时间为100ns,取指的命中率为98%,数据的命中率为95%,在执行程序时,约有1/5指令需要存/取一个操作数,为简化起见,假设指令流水线在任何时候都不阻塞。问设置cache后,与无cache比较,计算机的运算速度可提高多少倍? 答:1)有cache的情况:

平均访存时间=平均取指时间+平均取数时间 =(98%*10ns+(1-98%)*(10ns+100ns))

+(95%*10ns+(1-95%)*(10ns+100ns))/5=12ns+3ns=15ns 2)无cache的情况

平均访存时间=平均取指时间+平均取数时间=100*1+100*1/5=120ns 3)速度提高倍数=120ns/15ns=8倍

7.5 设某计算机的cache采用4路组相联映像,已知cache容量为16KB,主存容量为2MB,每个字块有8个字,每个字有32位。请回答:

(1) 主存地址多少位(按字节编址),各字段如何划分(各需多少位)?

(2) 设cache起始为空,CPU从主存单元0,1,…,100。依次读出101个字(主存一次读出一个字),并重复按此次序数读11次,问命中率为多少?若cache速度是主存的5倍,问采用cache与无cache比较速度提高多少倍? 答:(1)主存地址位数:2MB=221B,即21位。

块内地址b:每个字块8个字,即3位,每个字32位即4个字节,需2位地址。 块号r:每组4路,需2位地址。

组号c’:cache分成的组数为:16MB/(4*(8*32/8)B)=27。即需要7位组号。 区号t:t+r为2MB/(16KB/4)=29,即9位,故t=9-2=7位。

(2)第一轮全部不命中,以后10次全部命中,命中率=10/11=91% 设cache的读出时间为1,主存的读数时间为5,则:

速度可提高到:无cache时的访问时间/有cache时的访问时间=11*5/(10*1+1*5)=3.67倍

7.6 设某计算机采用直接映像cache,已知容量为4096字。

(1) 若CPU依次从主存单元0,1,…,99和4096,4097,…,4195交替取指令,循环执行10次,问命中率为多少?

(2) 如cache存取时间为10ns,主存存取时间为100ns,cache命中率为95%,求平均存取时间。 答:(1)cache容量为4096字,其地址从0~4095,采用直接映像,则主存地址0和4096、1和4097、…、99和4195映射到cache的同一地址上。若从主存单元0~99和4096~4195交替取指令,因为cache内容的替换,所以命中率为0。 (2)平均存取时间=10ns+(1-95%)*100ns=15ns

7.7 一个组相联cache,由64个存储块组成,每组包含4个存储块,主存由8192个存储块组成,每块由32字组成,访存地址为字地址。问:

(1)主存和cache地址各多少位?地址映像是几路组相联?

(2)在主存地址格式中,区号、组号、块号、块内地址各多少位? 答:(1) 主存单元数为8192*32=218,主存地址为18位。

cache单元数为64*32=211,cache地址为11位。因每组包含4个块,所以是4路组相联

(2) 主存地址:每块32字,即块内地址b=5位;4路组相联,即块号r=2位;组数为64/4=16,即组号c=4位;主存块数/cache组数=8192/16=29,即t+r=9,所以区号t=7。 7.8 主存储器容量为4MB,虚存容量为1GB(1×109B),虚拟地址和物理地址各为多少位?根据寻址方式计算出来的有效地址是虚拟地址还是物理地址?如果页面大小为4kB,页表长度是多少?

答:4MB=222B,1GB=230B,所以虚拟地址30位,物理地址22位。根据寻址方式计算出来的有效地址是虚拟地址。如果页面大小为4KB,采用页式管理时,页面的数量=1GB/4KB=218,即页表长度为218。

8.5 设磁盘组有11个盘片,每片有两个记录面;存储区域内直径2.36英寸,外直径5.00英寸;道密度为1250TPI,内层位密度52400bpi,转速为2400rpm。问:(TPI表示每英寸磁道数,bpi表示每英寸位数)

(1) 共有多少个存储面可用?11*2-2=20存储面。最外两个面不可用。 (2) 共有多少柱面?柱面数=道数=1250*(5-2.36)/2=1650 (3) 每道存储多少字节?盘组总存储容量是多少? 每道存储量=2πr*位密度=2.36*π*52400=48.56KB

总存储容量=20*面存储量=20*道数*道存储量=20*1650*48.56KB=1.6GB (4) 数据传输率是多少?数据传输率=道存储量*转速=48.56*2400/60=1.94MB/s (5) 每扇区存储2KB数据,在寻址命令中如何表示磁盘地址?

磁盘地址由盘面号、道号和扇区号组成。20个盘面号由5位表示即可。1650个道号需用11位。每道扇区数=48.56KB/2KB≈24个扇区,用5位表示。

8.6 设高密软盘,每面80个磁道,每磁道15扇区,每扇区存储512B。已知磁盘的转速为360rpm,今在一个磁道上写入4096B数据,平均需要多少时间?最长时间是多少?(假设找道时间为10ms-40ms)。

解:写入平均时间=平均找道时间+平均等待时间+传输数据时间

=(10+40)/2 ms+60/(360*2)+(60/360)*(4096/512)/15=25ms+83ms+89ms=197ms 最长时间=40ms+60/360 s+89ms=296ms

8.7 一磁带机有9个磁道(8个磁道存储数据,1个磁道存储奇偶校验位),带长700m,带速2m/s,每个数据块1KB,块间间隔14mm。若数据传输率为128KB/s,试求: (1) 记录位密度。

带速2m/s,传输率128KB/s,即2m的磁带含有128KB的容量,故磁带位密度=128KB/2m=64B/mm,一个磁带的位密度=64B/mm/8=64b/mm (2) 若带首尾各空2m,求此带最大有效存储容量。 有效存储长度=700-2*2=696m

每个数据块长度=数据长度+块间隔=1KB/64B/mm+14mm=16mm+14mm=30mm 磁带最大存储容量=块数*每块容量=696m/30mm*1KB=23.2MB

联系合同范文客服:xxxxx#qq.com(#替换为@)