计算机组成原理课后答案(唐朔飞第二版) 下载本文

内容发布更新时间 : 2024/5/16 3:55:03星期一 下面是文章的全部内容请认真阅读。

.

+5VG1G2AMREQY7A15A14A13A12A0G2BABC74138......Y2Y1Y0...WE...WE.........CSWECPUD0D7RAM0......CSRAM1RAM7......CSR/W

(2)地址空间分配图: RAM0:0000H-1FFFH RAM1:2000H-3FFFH RAM2:4000H-5FFFH RAM3:6000H-7FFFH RAM4:8000H-9FFFH RAM5:A000H-BFFFH RAM6:C000H-DFFFH RAM7:E000H-FFFFH

(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。假设芯片与译码器本身都是好的,可能的情况有:

1)该片的-CS端与-WE端错连或短路;

2)该片的-CS端与CPU的-MREQ端错连或短路; 3)该片的-CS端与地线错连或短路。

(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。

17. 写出1100、1101、1110、1111对应的汉明码。 解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示

校验位位数k=3位,(2k>=n+k+1)

设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1 校验位在汉明码中分别处于第1、2、4位 c1=b4⊕b3⊕b1 c2=b4⊕b2⊕b1

可编辑范本

.

c3=b3⊕b2⊕b1

当有效信息为1100时,c3c2c1=011,汉明码为1110100。 当有效信息为1101时,c3c2c1=100,汉明码为0011101。 当有效信息为1110时,c3c2c1=101,汉明码为1011110。 当有效信息为1111时,c3c2c1=010,汉明码为0110111。

18. 已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?第几位出错?

解:假设接收到的汉明码为:c1’c2’b4’c3’b3’b2’b1’

纠错过程如下:

P1=c1’⊕b4’⊕b3’⊕b1’ P2=c2’⊕b4’⊕b2’⊕b1’ P3=c3’⊕b3’⊕b2’⊕b1’

如果收到的汉明码为1100100,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:1100

如果收到的汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:0110

如果收到的汉明码为1100000,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:0010

如果收到的汉明码为1100001,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:0001

22. 某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明。

解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序如下图:

启动存储体0启动存储体1启动存储体2启动存储体3启动存储体4启动存储体5启动存储体6启动存储体7单体访存周期

可编辑范本

.

18. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理? 解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache—主存层次采用了程序访问的局部性原理。

25. Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处? 答:Cache做在CPU芯片内主要有下面几个好处:

1)可提高外部总线的利用率。因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线。

2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率。

3)可提高存取速度。因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高。 将指令Cache和数据Cache分开有如下好处:

1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。 2)指令Cache可用ROM实现,以提高指令存取的可靠性。

3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。 补充:

Cache结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。

30. 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128

字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。 解:cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位

主存共分4096/16=256区,每区16块

主存容量为:4096*128=219字,主存地址19位,地址格式如下: 主存字块标记(8位) 组地址(4位) 字块内地址(7位) 32. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求: (1)画出主存地址字段中各段的位数;

(2)设Cache的初态为空,CPU依次从主存第0、1、2……99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?

(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍? 答:

(1)由于容量是按字节表示的,则主存地址字段格式划分如下: 8 7 2 3 2

(2)由于题意中给出的字地址是连续的,故(1)中地址格式的最低2位不参加字的读出操作。当主存读0号字单元时,将主存0号字块(0~7)调入Cache(0组x号块),主存读8号字单元时,将1号块(8~15)调入Cache(1组x号块)…… 主存读96号单元时,将12号块(96~103)调入Cache(12组x号块)。

共需调100/8 13次,就把主存中的100个数调入Cache。除读第1遍时CPU需访问主存13次外,以后重复读时不需再访问主存。则在800个读操作中:

可编辑范本

.

访Cache次数=(100-13)+700=787次 0.98

Cache命中率=787/800 98%

T/6+13T

787

(3)设无Cache时访主存需时800T(T为主存周期),加入Cache后需时: (131.167+13)T144.167T 5.55倍

则:800T/144.167T

有Cache和无Cache相比,速度提高4.55倍左右。

38. 磁盘组有六片磁盘,每片有两个记录面,存储区域内径22厘米,外径33厘米,道密度为

40道/厘米,内层密度为400位/厘米,转速2400转/分,问: (1)共有多少存储面可用? (2)共有多少柱面?

(3)盘组总存储容量是多少? (4)数据传输率是多少? 解:

(1)若去掉两个保护面,则共有: 6 × 2 - 2 = 10个存储面可用; (2)有效存储区域 =(33-22)/ 2 = 5.5cm

柱面数 = 40道/cm × 5.5= 220道 = (3)内层道周长=22 69.08cm 道容量=400位/cm×69.08cm = 3454B

面容量=3454B × 220道 = 759,880B

盘组总容量 = 759,880B × 10面 = 7,598,800B (4)转速 = 2400转 / 60秒 = 40转/秒

数据传输率 = 3454B × 40转/秒 = 138,160 B/S 注意:

1)计算盘组容量时一般应去掉上、下保护面; 的精度选取不同将引起答案不同,一般取两位小数;盘组总磁道数(=一个盘面上的磁道数)4)数据传输率与盘面数无关;

5)数据传输率的单位时间是秒,不是分。

4.39 某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12 288字节,最小磁道直径为230mm,共有275道,求: (1)磁盘存储器的存储容量;

(2)最高位密度(最小磁道的位密度)和最低位密度; (3)磁盘数据传输率; (4)平均等待时间。

3)柱面数

2)

可编辑范本

.

解: (1)存储容量 = 275道×12 288B/道×4面 = 13 516 800B (2)最高位密度 = 12 288B/230 最低位密度 = 12 288B / 340

≈17B/mm≈136位/mm(向下取整) ≈11B/mm≈92位 / mm (向下取整)

最大磁道直径=230mm+275道/5道 × 2= 230mm + 110mm = 340mm

(3)磁盘数据传输率= 12 288B × 3000转/分=12 288B × 50转/秒=614 400B/S (4)平均等待时间 = 1/50 / 2 = 10ms

讨论:1、本题给出的道容量单位为字节,因此算出的存储容量单位也是字节,而不是位; 2、由此算出的位密度单位最终应转换成bpm(位/毫米); 3、平均等待时间是磁盘转半圈的时间,与容量无关。

4.41 设有效信息为110,试用生成多项式G(x) =11011将其编成循环冗余校验码。 解:编码过程如下: M(x) =110 n =3

G(x) =11011 k+1 =5 k =4 M(x)·x4 =110 0000

M(x)·x4/G(x) =110 0000/11011=100+1100/11011 R(x) =1100 M(x)·x4+R(x) =110 0000+1100=110 1100 =CRC码 (7,3)码

注:此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。此时只能检错,无法纠错

第 五 章

1. I/O有哪些编址方式?各有何特点?

解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址;

特点: I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。

I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。 讨论:I/O编址方式的意义:

I/O编址方式的选择主要影响到指令系统设计时I/O指令的安排,因此描述其特点时一定要说明此种I/O编址方式对应的I/O指令设置情况。

I/O与内存统一编址方式将I/O地址看成是存储地址的一部分,占用主存空间;

问题:确切地讲, I/O与内存统一编址的空间为总线空间,I/O所占用的是内存的扩展空间。 I/O独立编址方式有明显的I/O地址标识,识。

2. 简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?

而I/O与内存统一的编址方式没有;

问题:无论哪种编址方式,I/O地址都是由相应的指令提供的,而地址本身并没有特殊的标

可编辑范本