【www.justzx.com--计算机】

31 0 模块号 模块的片内地址 模块内体号

方式5:4路高位交叉4路低位交叉

16个存储模块每4个组成一个大的模块: 31 0 模块号 模块的片内地址 模块内体号

方式6:4路并行访问4路低位交叉 31 0 模块的片内地址 模块号 输出选择 (1)这几种存储器都能够并行工作,因此可以提高频带宽度。总的来说,并行访问存储器的优点是实现简单、容易,缺点是访问冲突大;

高位交叉访问存储器的优点是扩充方便,缺点是访问效率不高;低位交叉访问存储器可以

46

用分时的方法来提高速度,但扩充不方便。

(2)各种存储器的频带宽度和他们的工作频率有关,在不考虑冲突的情况下,如果有足够多的独立控制电路和寄存器,那么,他们的频带宽度是相同的。 (3)存储器的逻辑示意图略。

注意,并行访问存储器和低位交叉访问存储器很相象,只不过,并行访问存储器使用存储模块号(存储体号)来对已经输出的结果进行选择,而低位交叉访问存储器则用来生成对存储模块(存储体)的片选信号,他通过流水的方式来提高访问的速度。

3.14

在页式虚拟存储器中,一个程序由P1~P5共5个虚页组成。在程序执行过程中依次访问到的页面如下:

P2 ,P3,P2,P1 ,P5 ,P2 ,P4 ,P5 ,P3 ,P2 ,P5 ,P2

假设系统分配给这个程序的主存有3个页面,分别采用FIFO、LRU和OPT三种替换算法对这三页主存进行调度。

(1) 画出主存页面调入、替换和命中的情况表。 (2) 统计三种页面替换算法的页命中率。

3.15

(1)在分配的主存页面数目大于等于5的情况下,这时,除了第一次调入不命中,以

47

后的访问均命中,可以达到最高的页面命中率:实际命中的次数为7次,所以可能达到的最高页面命中率为:

H?7?0.5833 12(2)由于在页面数大于等于5的情况下,肯定可以达到最高命中率,所以我们来看页面数小于5时能否达到该命中率:

分配的主存页面数等于4时,调度过程如下:

48

LFU算法 4 调入 4 5 4 5 3 4 5* 3 2 调入 4* 5 3 2 命中 1 5 3* 2 调入 1 5 3 2* 命中 1 5 3* 2 命中 1 5* 3 2 命中 1* 5 3 2 命中 1 5 3* 2 命中 1 5 3 2 命中 命中7次 调调入 入 此时也可以达到最高命中率;

分配的主存页面等于3时,调度过程如下:

49

LFU算法 4 4 5 4* 5 3 2 5* 3 2 5 3* 命中 2* 5 1 调入 3 5* 1 调入 3* 2 1 调入 3 2 1* 命中 3 2* 5 调入 3* 1 5 调入 3 1 5 命中 命中3次 调入 调调入 入 调入

此时不能达到最高命中率。

所以至少应该分配4个主存页面。

(3) 我们假设程序每次只访问一个存储单元,这样,对每一个特定页面的访问过程可以描述如下:

因为第一次总是不命中的,而平均起来,随后的1023次总是命中的,然后再次被调出主存,

50

计算机系统结构(第2版) 郑伟明 汤志忠 编著 清华大学出版社

习题解答

1

1 目录

1.1 第一章(P33)

1.7-1.9(透明性概念),1.12-1.18(Amdahl定律),1.19、1.21、1.24(CPI/MIPS)

1.2 第二章(P124)

2.3、2.5、2.6(浮点数性能),2.13、2.15(指令编码)

1.3 第三章(P202)

3.3(存储层次性能),3.5(并行主存系统),3.15-3.15加1题(堆栈模拟),3.19中(3)(4)(6)(8)问(地址映象/替换算法--实存状况图)

2

1.4 第四章(P250)

4.5(中断屏蔽字表/中断过程示意图),4.8(通道流量计算/通道时间图)

1.5 第五章(P343)

5.9(流水线性能/时空图),5.15(2种调度算法)

1.6 第六章(P391)

6.6(向量流水时间计算),6.10(Amdahl定律/MFLOPS)

1.7 第七章(P446)

7.3、7.29(互连函数计算),7.6-7.14(互连网性质),7.4、7.5、7.26(多级网寻径算法),7.27(寻径/选播算法)

3

1.8 第八章(P498)

8.12(SISD/SIMD算法)

1.9 第九章(P562)

9.18(SISD/多功能部件/SIMD/MIMD算法)

(注:每章可选1-2个主要知识点,每个知识点可只选1题。有下划线者为推荐的主要知识点。)

4

2 例, 习题

2.1 第一章(P33)

例1.1,p10

假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间

的40%,则采用加快措施后能使整个系统的性能提高多少? 解:由题意可知:Fe=0.4, Se=10,根据Amdahl定律

To1 ?FeTn(1?Fe)?Se11Sn???1.56

0.40.640.6?10Sn?

5

时间t 页地址流 先进先出算法 (FIFO算法) 最久没有使用算法 (LRU算法) 最优替换算法 (OPT算法) 1 P1 1 2 P2 1 2 3 P1 1 2 4 P5 1* 2 5 5 P4 4 2* 5 6 P1 4 1 5* 7 P3 4* 1 3 8 P4 4* 1 3 9 P2 2 1* 3 实际 P4 命中次数 10 2 4 3* 2次 4次 5次 调入 调入 命中 调入 替换 替换 替换 命中 替换 替换 1 1 2 1 2 1 2* 5 1 4 5* 1 4 5* 1 4* 3 1* 4 3 2 4 3* 2 4 3* 调入 调入 命中 调入 替换 命中 替换 命中 替换 命中 1 1 2 1 2 1 2 5* 1 2* 4 1* 2 4 3* 2 4 3* 2 4 3 2 4 3 2 4 调入 调入 命中 调入 替换 命中 替换 命中 命中 命中 三种页面替换算法对同一个页地址流的调度过程

例3.9

一个循环程序,依次使用P1,P2,P3,P4四个页面,分配给这个程序的主存页面数为3个。

41

FIFO、LRU和OPT三种页面替换算法对主存页面的调度情况如下图所示。在FIFO和LRU算法中,总是发生下次就要使用的页面本次被替换出去的情况,这就是“颠簸”现象。

时间t 页地址流 先进先出算法 (FIFO算法) 最久没有使用算法 (LRU算法) 最优替换算法 (OPT算法) 1 P1 1 2 P2 1 2 3 P3 1* 2 3 4 P4 4 2* 3 5 P1 4 1 3* 6 P2 4* 1 2 7 P3 3 1* 2 8 P4 3 4 2* 实际 命中次数 0次 0次 3次 调入 调入 调入 替换 替换 替换 替换 替换 1 1 2 1* 2 3 4 2* 3 4 1 3* 4* 1 2 3 1* 2 3 4 2* 调入 调入 调入 替换 替换 替换 替换 替换 1 1 2 1 2 3* 1 2 4* 1* 2 4 1 2* 4 1 3* 4 1 3 4* 调入 调入 调入 替换 命中 命中 替换 命中 页面调度中的颠簸现象

42

3.1

由三个访问速度、存储容量和每位价格都不相同的存储器构成一个存储体系。其中,M1靠近CPU,回答下列问题:

M1 (T1,S1,C1) M2 (T2,S2,C2) M3 (T3,S3,C3)

(1) 写出这个三级存储体系的等效访问时间T,等效存储容量S和等效每位价格C的表

达式。

(2)在什么条件下,整个存储体系的每位价格接近于C3?

3.3

直接代公式计算存储层次性能指标。 (1)74ns,38ns,23.6ns (2)0.258,0.315,0.424 (3)T256K < T128K < T64K c256K > c128K > c64K

43

(4)19.092,11.97,10.0064。答案是256K方案最优。

3.5

1?(1?g)n已知Kn?g,其中g=0.1

依题意有K?1?(1?g)n?11?(1?g)nn?1g?Kn?0.2?g?0.2整理得0.9n

≥0.2,解出n?lg0.2lg0.9?15.28,向下取整,得15;按另一种题意理解是向上取整,得16,也对。

3.7

方式1:16个模块高位交叉

44

31 0 模块号 模块的片内地址

方式2:16个模块并行访问 31 0 模块的片内地址 模块号

方式3:16个模块低位交叉 31 0 模块的片内地址 模块号

方式4:2路高位交叉8路低位交叉

16个存储模块每8个组成一个大的模块:

45

δ ≤ 5.96×10 ≈ 10

-8-7.22

,η = 100%

2.6

(1) 0.2 = 0.333333H×16

1位 7位 6位 6

设阶码为移-63码(即-2+1,原题未指明) 0 0111111 333333

-2

0.2 = 0.110011001100110011001101B×2 (其中最高有效位需隐藏)

1位 8位 23位 7

阶码为移-127码(即-2+1) 0 01111101 10011001100110011001101

(2) 符号位不变,(阶码 – 63)×4 + 127;尾数左规,除去最高位; (3) 符号位不变,(阶码 – 127)/ 4 + 63;尾数补最高位,按除法余数右移若干位,左补0。

0

2.13

已知10条指令使用频度,求3种编码方法的平均码长与信息冗余量。

(1)此问中的“最优Huffman编码法”实际是指码长下限,即信源的平均信息量──熵,代公式得H=2.9566。

31

(2)Huffman编码性能如下表;

(3)2/8扩展编码是8/64/512法的变种,第一组2条指令,码长为2(1位扩展标志,1位编码),第二组8条指令,码长为4(1位扩展标志,与第一组区别,加3位编码),编码性能如下表;

(4)3/7扩展编码是15/15/15法的变种,第一组3条指令,码长为2(共有4种组合,其中3种组合分别代表3条指令,留1种组合作为扩展前缀标志),第二组7条指令,码长为5(2位固定的前缀扩展标志,与第一组区别,加3位编码,只用其中7种组合),编码性能如下表。

平均码长L 信息冗余量R

Huffman编码 2.99 1.10% 2/8扩展编码 3.1 4.61% 3/7扩展编码 3.2 7.59% 2.14

一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。

(1)要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。 (2)设计8字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址范围不小于±127。请设计指令格式,并给出各字段的长度和操作码的编码。 解:

32

(1)要使得到的操作码长度最短,应采用Huffman编码,构造Huffman树如下:

0.35 0.25 0.20 0.10 0.05 0.03 0.02 0.60 0.05 0.10 0.20 0.40 1.00

由此可以得到7条指令的编码分别如下:

33

指令 1 2 3 4 5 6 7 出现的频率 35% 25% 20% 10% 5% 3% 2% 编 码 00 01 10 110 1110 11110 11111

这样,采用Huffman编码法得到的操作码的平均长度为: H = 2×(0.35+0.25+0.20) + 3×0.10 + 4 ×0.05 + 5×(0.03 + 0.02) = 1.6+0.3+0.2+0.25 =2.35 (2)

设计8位字长的寄存器-寄存器型变址寻址方式指令如下,因为只有8个通用寄存器,所以寄存器地址需3位,操作码只有两位,设计格式如下:

7 65 32 0 34

操作码OP源寄存器R1目的寄存器R2

三条指令的操作码分别为00,01,10

设计16位字长的寄存器-存储器型变址寻址方式指令如下:

15 1211 9操作码OP通用寄存器87 0变址寄存器偏移地址 四条指令的操作码分别为1100,1101,1110,1111

2.15

某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。

(1)如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。

(2)如果要求三类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。 解:

(1) 15条/63条/64条 (2) 14条/126条/128条

35

(1)根据指令地址的数量来决定各种指令在指令空间上的分布:

如果我们按照从小到大的顺序分配操作码,这样,按照指令数值从小到大的顺序,分别为双地址指令、单地址指令和零地址指令。

其次可以根据指令的条数来大致的估计操作码的长度:

双指令15条,需要4位操作码来区分,剩下的12位操作码平均分给单地址和零地址指令,每种指令可以用6位操作码来区分,这样,各指令的条数为: 双地址指令15条,操作码:0000~1110;

单地址指令2^6-1=63条,操作码:1111 000000~1111 111110;

零地址指令64条,操作码:1111 111111 000000~1111 111111 111111。(2)与上面的分析相同,可以得出答案: 双地址指令14条,操作码:0000~1101; 单地址指令2^6 x 2-2 = 126条, 1110 000000~1110 111110, 1111 000000~1111 111110; 零地址指令128条

1110 111111 000000~1110 111111 111111, 1111 111111 000000~1111 111111 111111 (2)B

双地址指令同上,14条,操作码:0000~1101; 单地址指令64 + 62 = 126条,

64 条单地址指令操作码1110 000000~1110 111111,

36

62 条单地址指令操作码1111 000000~1111 111101; 零地址指令128条

1111 111110 000000~1110 111110 111111, 1111 111111 000000~1111 111111 111111

2.3 第三章(P202)

例3.1

假设T2=5T1,在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。 解:

T1T11e???2

TH?T1?(1?H)?T2H?(1?H)?TT1当H=0.9时,e1=1/(0.9+5(1-0.9))=0.72 当H=0.99时,e2=1/(0.99+5(1-0.99))=0.96 ? 提高存储系统速度的两条途径: 一是提高命中率H

37

二是两个存储器的速度不要相差太大

其中:第二条有时做不到(如虚拟存储器),因此,主要依靠提高命中率

例3.2

在虚拟存储系统中,两级存储器的速度相差特别悬殊T2=10T1。如果要使访问效率e=0.9,问需要有多高的命中率?

解:0.9?5

1H?(1?H)?105

0.9H+90000(1-H)=1 89999.1H=89999

计算得H=0.999998888877777…≈0.999999

例3.3

在一个Cache存储系统中,当Cache的块大小为一个字时,命中率为H=0.8;假设数据的重复利用率为5,计算Cache的块大小为4个字时,Cache存储系统的命中率是多少?假设T2=5T1,分别计算访问效率。

解:n=4×5=20,采用预取技术之后,命中率提高到:

38

H"?H?n?10.8?20?1??0.99

n20Cache的块大小为一个字时,H=0.8,访问效率为: e1=1/(0.8+5(1-0.8))=0.55…

Cache的块大小为4个字时,H=0.99,访问效率为: e2=1/(0.99+5(1-0.99))=0.96

例3.4

在一个虚拟存储系统中,T2=10T1,原来的命中率只有0.8,现采用预取技术,访问磁盘存储器的数据块大小为4K字,如果要求访问效率不低于0.9,计算数据在主存储器中的重复利用率至少为多少?

解:假设数据在主存储器中的重复利用率为m,根据前面的给出关系:

5

0.9?10.8?4096m?1 ,H"?  54096mH"?(1?H")?10解这个方程组,得到m=44,即数据在主存储器中的重复利用率至少为44次。

39

例3.6

Star-100巨型机存储系统采用并行和交叉相结合的方式工作,有32个存储体低位交叉,每次并行读写512位,存储周期为1.28um(磁心存储器),处理机字长32位,计算它的频带宽度Bm和峰值速度T。

解:因为:n=32,w=512,Tm=1280ns, Bm=n w/tm=32?512b/1280ns =12.8Gb/s =1.6GB/s =400MW/s T=2.5ns,

与Tm相比,峰值速度提高512倍。

例3.8

一个程序共有5个页面组成,分别为P1~P5。程序执行过程中的页地址流(即程序执行中依次用到的页面)如下:

P1,P2,P1,P5,P5,P1,P3,P4,P3,P4

假设分配给这个程序的主存储器共有3个页面。给出FIFO、LRU和OPT三种页面替换算法对这3页主存的使用情况,包括调入、替换和命中等。

40


查看更多计算机相关内容,请点击计算机

2024 免费范文网版权所有. 京ICP备19018213号-1