文档库 最新最全的文档下载
当前位置:文档库 › 系统结构答案

系统结构答案

系统结构答案
系统结构答案

第一章

1.26 假设高速缓存Cache工作速度为主存的5倍,且Cache被访问命中的概率为90%,那么,采用Cache后能使整个存储系统获得多高的加速比?

T0 1

解:根据Amdahl定理有:Sn = = ;结合题意:Cache工作速度为 Tn (1 – Fe)+ Fe / Se

主存的5倍,相当于改进存储器后获得的加速比为5,即Se=5;Cache被访问命中的概率为90%,相当于访问存储器的时间有90%化在Cache上,即Fe=0.9。

所以 Sn = 1/[(1-0.9)+0.9/5] = 3.57

1.27 设计指令存储器有两种不同方案:一种是采用价格较贵的高速存储器芯片,另一种是采用价格便宜的低速存储器芯片。采用后一方案时,用同样的经费可使存储器总线带宽加倍,从而每隔2个时钟周期可取出2条指令(每条指令为单字长32位)。而采用前一方案时,每一个时钟周期取出一条单字长指令。由于访存局部性原理,当取出2个指令字时,通常这2个指令字都要使用,但仍有25%的时钟周期中,取出的2个指令字中仅有1个指令字是有用的。试问采用这两种实现方案所构成的存储器带宽是多少?

解:带宽是指单位时间内处理的二进制位数,相当于频率,用f表示。

采用方案A时,存取指令的CPI a = 1时钟周期/指令字,即:

f a = 1/CPI a×指令字长 = 1×32 = 32位/时钟周期。

采用方案B时,存取指令的CPI b = 0.75×2/2 + 0.25×2/1 = 1.25时钟周期/指令字,即:

f a = 1/CPI a×指令字长 = 0.8×32 = 25.6位/时钟周期。

1.28 某工作站采用时钟频率为15MHz、处理速率为10MIPS的处理机来执行一个测试程序。假定每次存储器存取为1个时钟周期,试问:

(1)此计算机的有效CPI是多少?

(2)假定将处理机的时钟频率提高到30MHz,但存储器的工作速率不变,这样,每次存储器存取需要2个时钟周期。如果30%指令每条只需要一次存储器存取操作,另外5%指令每条需要二次存储器存取操作,假定测试程序的指令数不变,并与原工作站兼容,试求改进后的处理机CPI和MIPS。

解:(1)由MIPS = 时钟频率/(CPI×106),则有:CPI A =时钟频率/(MIPS×106)= 1.5。

(2)当时钟频率为15MHZ时,假设不进行存储操作指令的CPI为x,则要进行一次存储操作指令的CPI为1+ x,要进行二次存储操作指令的CPI为2+ x,因此有:

1.5 = x×65% + (1+ x)×30% + (2+ x)×5% 解得x = 1.1

当时钟频率为30MHZ时,不进行存储操作指令的CPI不变为1.1,要进行一次存储操作指令的CPI为2+ x = 3.1,要进行二次存储操作指令的CPI为4+ x = 5.1,因此平均CPI为:

CPI B = 1.1×65% + 3.1×30% + 5.1×5% = 1.9

所以 MIPS B = 时钟频率/(CPI B×106)=(30×106)/(1.9×106)= 15.8MIPS

1.29 某计算机Cache能存放2000条指令。假设10%的指令承担了90%时间的指令访问,而且这10%指令中每条指令的执行时间相同。如果要执行的某程序共50000条指令,当计算机执行该程序时,在Cache 中能访问到的指令的概率是多少?

解:由题意可知:45000条指令承担10%时间的指令访问,5000条指令承担90%时间的指令访问。显然5000条指令被频繁使用,设平均使用次数为X;另外45000条指令仅使用一次。则有:45000 : 0.1 = 5000X : 0.9 解得 X = 81

所以该程序执行指令的条数为Y = 45000 + 5000×81 = 450000

假设频繁使用的5000条指令均匀分布于程序之中,即每次调入Cache 的2000条指令有200条是频繁使用的。另假设每次调入Cache 的2000条指令中的1800条均被使用了一次。所以执行该程序时Cache 中能访问到的指令的概率为:

(450000 - 50000/2000)÷ 450000 ≈ 100%

1.30 有一台计算机,不同类型指令在理想Cache (无访问失败)与实际Cache (有访问失败)两种情况下的性能如下表。求理想Cache 相对于实际Cache 的加速比?

指令类型 出现频率 理想CacheCPI 实际CacheCPI

运算指令 40% 1 3 取数指令 20% 2 8 存数指令 15% 2 8 控制指令 25% 2 4

解:理想Cache 情况下指令的平均时钟周期数CPI 为: CPI 理想 =

∑=n

i Ic Ii CPIi 1)/*(=1×40%+2×20%+2×15%+2×25% = 1.6

实际Cache 情况下指令的平均时钟周期数CPI 为:

CPI 实际=

∑=n

i Ic Ii CPIi 1

)/*(=3×40%+8×20%+8×15%+4×25% = 5.0

S = 实际CacheCPU 执行时间/理想CacheCPU 执行时间

=(IC ×时钟周期×CPI 实际)/(IC ×时钟周期×CPI 理想)= CPI/CPI A = 5.0/1.6

= 3.12

1.31 假设在一台40MHz 处理机上运行测试程序共有200000条指令,由4类指令组成。已知指令的CPI 和所各占比例如下表。

指令类型 指令比例 CPI

算逻运算 60% 1 Cache 命中存取 18% 2 控制指令 12% 4 Cache 末命中访主存 10% 8

(1)计算处理机运行该程序的平均CPI 。

(2)根据(1)所得CPI ,计算相应的MIPS 速率。

解: (1)CPI =

∑=n

i Ic Ii CPIi 1

)/*(=1×60% + 2×18% + 4×12% + 8×10% = 2.2

(2)MIPS = 时钟频率/(CPI ×106

)= 40×106

/(2.2×106

)= 18.19

1.32 已知4个程序在A 、B 、C 三台计算机上的执行时间(秒)分别如下表,假设每个程序都有100×106

条指令要执行,计算这3台计算机对每个程序的MIPS 速率。根据这些速率值,你能否得出这3台计算机相对性能的明确结论?你能否找到一种将它们排序的方法?试说明理由。

程序计算机A 计算机B 计算机C

程序1 1 10 20

程序2 1000 100 20

程序3 500 1000 50

程序4 100 800 100

解:(1)由MIPS的定义有:MIPS = Ic/(T cpu×106) = 100×106/(T cpu×106) = 100/T cpu。

根据上表中列出的T cpu则可计算出相应的MIPS如下表所示。

程序计算机A 计算机B 计算机C

程序1 100 10 5

程序2 0.1 1 5

程序3 0.2 0.1 2

程序4 1 0.125 1

(2)由于MIPS与指令值、指令使用的频率等有关,在同一台机器上运行不同的程序,得出不同的速率MIPS,因此不能仅用MIPS来评价计算机性能的优劣。而应用执行程序的算术平均T cpu来评价比较好。 T cpuA = (1+1000+500+100)/4 = 400.25

T cpuB = (10+100+1000+800)/4 = 477.5

T cpuC = (20+20+50+100)/4 = 47.5

所以性能排序为:C > A > B。

第二章

2.25 浮点数系统使用的阶码基值r e=2,阶值位数q=2,尾数基值r m=10,尾数位数p′=1,即按照使用的二进制位数来说,等价于p=4。计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。

解: 最小尾数值:r m-1 = 10-1 = 0.1

最大尾数值:1- r m-p′ =1-10-1 = 0.9

最大阶值:2q-1=3

可表示数的最小值:1×r m-1 = 10-1 = 0.1

可表示数的最大值:r m2q-1×(1- r m-p′)=103(1-10-1)= 900

可表示数的个数:2q×r m p′(r m-1)/r m = 22×101(10-1)/10 = 36

2.26 一个处理机有I1~I10共10条指令,经统计,各指令在程序中出现的概率如下:

I1:0.25 I2:0.20 I3:0.15 I4:0.10 I5:0.08

I6:0.08 I7:0.05 I8:0.04 I9:0.03 I10:0.02 (1)计算这10条指令的操作码最短平均长度。

(2)写出这10条指令的Huffman编码,并计算操作码编码的平均长度和信息冗余量。

(3)采用3/7扩展编码法和2/8扩展编码法编写这10条指令的操作码。并分别计算编码的平均长度和信息冗余量。说明哪一种扩展编码较好的理由。

解:(1)∵操作码编码的最短平均长度为:H=-

∑=n

i i

p

1

×log 2p i

∴ H= -(0.25log 20.25+0.20log 20.20+0.15log 20.15+0.10log 20.10+0.08log 20.08

+0.08log 20.08+0.05log 20.05+0.04log 20.04+0.03log 20.03+0.02log 20.02)

=2.96(位)

(2)根据给出的使用频度,在构造Huffman 树的过程中,有两个结点可供合并,因此可生成不同的Huffman 树,其中给出一棵如图所示,相应的Huffman 编码如表所示。

1 0

1 0 1 0

I2 I1 1 0 1 0

1 0 I4 1 0 I3

1 0 I6 1 0 I5

I10 I9 I8 I7

Ii Pi Huffman 编码 Li 2-5编码(3/7) Li 2-4编码(2/8) Li I1 0.25 00 2 00 2 00 2 I2 0.20 10 2 01 2 01 2 I3 0.15 010 3 10 2 1000 4 I4 0.10 110 3 11000 5 1001 4 I5 0.08 0110 4 11001 5 1010 4 I6 0.08 1110 4 11010 5 1011 4 I7 0.05 01110 5 11011 5 1100 4 I8 0.04 01111 5 11100 5 1001 4 I9

0.03

11110 5 11101 5 1110 4 I10 0.02

11111

5

11110

5

1111

4

∴ Huffman 编码的平均长度为:l=

∑=n

i i

p

1

×l i

l = 0.25×2+0.20×2+0.15×3+0.10×3+0.08×4+0.08×4+0.05×5 +0.04×5+0.03×5+0.02×5 = 2.99(位)

Huffman 编码的信息冗余量为:R = 1-H/l =(1-2.96/ 2.99)×100% = 1.0%

(3)3/7扩展编码和2/8扩展编码如表所示。

3/7扩展编码要求短码码点数为3,长码码点数为7。所以短码长取2位,有码点22

=4个,用一个作

扩展标志;长码长取3位,有码点23

=8个,有一个未被利用,即有一个 余码点。编码的平均长度为:

1.00 0.02 0.05 0.13 0.23 0.43

0.03 0.08 0.10 0.20

0.04 0.09 0.17 0.32 0.57 0.05 0.08 0.15 0.25

l = (0.25+0.20+0.15)×2+(0.10+0.08+0.08+0.05+0.04+0.03+0.02)×5 = 3.2(位) 3/7扩展编码的信息冗余量为:R = 1-H/l =(1-2.96/ 3.2)×100% = 7.5%

2/8扩展编码要求短码码点数为2,长码码点数为8。所以短码长取2位,有码点22

=4个,用二个作

扩展标志;长码长取2位,有码点22

×2=8个,码点全部被利用,即没有多余码点。

l = (0.25+0.20)×2+(0.15+0.10+0.08+0.08+0.05+0.04+0.03+0.02)×4 = 3.1(位) 2/8扩展编码的信息冗余量为:R = 1-H/l =(1-2.96/ 3.1)×100% = 4.5% 可见,2/8扩展编码优于3/7扩展编码。

2.27 经统计,某种处理机14条指令的使用频度分别为:

0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别给出它们的定长码、Huffman 编码、只能有两种码长且平均长度尽可能短的扩展编码,并分别计算三种编码的平均长度。

0.15 0.15 0.14 0.13 0.12 0.11 0.04 0.04 0.03 0.03 0.02 0.02 0.01 0.01

2.28 用于文字处理的某专用机,每个文字符用4位十进制数字(0~9)编码表示,空格用︼表示。在对传送的文字符和空格进行统计后,得出它们的使用频度如下:

︼:0.20 0:0.17 1:0.06 2:0.08 3:0.11 4:0.08 5: 0.05 6:0.08 7:0.13 8:0.03 9:0.01

(1)若对数字0~9和空格采用二进制编码,试设计编码平均长度最短的编码。

(2)若传送106

个文字符号,且每个文字符号后均自动跟一个空格,按最短的编码,共需传送多少个二进制位?若传送波特率为9600bPS ,共需传送多少时间?

(3)若对数字0~9和空格采用4位定长码编码,重新计算问题(2)。 解:(1)∵操作码编码的平均长度最短为Huffman 编码,生成的Huffman 树,如图所示,相应的Huffman 编码如表所示。l=∑=n

i i p 1×l i = 3.23(位)。

(2)根据题意,每个字符的二进制码的平均长度为:3.23×(4+1)=16.15(位)。若要传输10

6

个字符,则要传输二进制位数为:106×16.15 =1.615×107

(位)

若波特率为56Kb/s ,则传输时间为:1.615×107/(56×103

)=288(s )。

(3)当采用四位定长编码时,则需要传输二进制位数为:106×4(4+1)=2×107

(位),传输时间为:2×107/(56×103

)=357(s )。

1 0 1 0 1 0 ︼ 1 0 1 0 1 0

1.00

0.01 0.04 0.09

0.20 0.40

0.03

0.05 0.11

0.20 0.08 0.06 0.14

0.27

0.60 0.16

0.08 0.13

0.33 0.17

0.08

3 7 0

5 1

6 4 2

9 8

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

(1)要求操作码的平均长度最短,请设计操作码的编码,并计算操作码编码的平均长度。

(2)设计8位字长的寄存器——寄存器型指令3条,16位字长的寄存器一存储器型变址寻址方式指令4条,变址范围不小于正、负127。请设计指令格式,并给出指令各字段的长度和操作码的编码。

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

(1)要求操作码的平均长度最短,请设计操作码的编码,并计算操作码编码的平均长度。

(2)设计8位字长的寄存器—寄存器型指令3条,16位字长的寄存器一存储器型变址寻址方式指令4条,变址范围不小于正、负127。请设计指令格式,并给出指令各字段的长度和操作码的编码。

解:(1)∵操作码编码的平均长度最短为Huffman 编码,生成的Huffman 树如图所示,相应的Huffman 编码如表所示。l=∑=n

i i p 1

×l i = 2.35(位)

Ii Pi Huffman 编码 Li ︼ 0.20 10 2 0 0.17 000 3 7 0.13 010 3 3 0.11 110 3 2 0.08 0010 4 4 0.08 0011 4 6 0.08 0110 4 1 0.06 0111 4 5 0.05 1110 4 8 0.03 11110 5 9

0.01

11111

5

1.00

0.02

0.05 0.10 0.20 0.40 0.03

0.05 0.10

0.20 0.25

0.60 0.35

Ii Pi Huffman编码Li 2-4编码(3/4)Li

I1 0.35 00 2 00 2

I2 0.25 01 2 01 2

I3 0.20 10 2 10 2

I4 0.10 110 3 1100 4

I5 0.05 1110 4 1101 4

I6 0.03 11110 5 1110 4

I7 0.02 11111 5 1111 4

(2)由于通用寄存器有8个,则指令中通用寄存器字段应为3位;操作码字段2位可有4个码点,用三个码点表示三条指令,另一个码点则作为扩展标志。所以3条8位长的寄存器—寄存器型指令格式如下:

操作码(2位)寄存器1(3位)寄存器2(3位)

由于变址寄存器有2个,则指令中变址寄存器字段应为1位;变址范围-127~+127,则指令中相对位移字段应为8位;操作码字段前2位可有4个码点,用三个码点表示三条指令,另一个码点则作为扩展标志。扩展2位正好可表示四条指令,操作码字段则为4位。所以4条16位长的寄存器—存储器型指令格式如下:

操作码(4位)寄存器(3位)变址寄存器(1位)相对位移(8位)

特别地,当采用3/4扩展编码时,使用频度高的用短码表示,使用频度低的用长码表示,其相应的编码如表所示。

2.31 某处理机的指令字长为16位,有二地址指令、一地址指令和零地址指令3类,每个地址字段的长度均为6位。

(1)如果二地址指令有15条,一地址指令和零地址指令的条数基本相等。问一地址指令和零地址指令各有多少条?并为这3类指令分配操作码。

(2)如果指令系统要求这3类指令条数的比例大致为1:9:9,问这3类指令各有多少条?并为这3类指令分配操作码。

解:(1)操作码字段取4位可有24=16个码点,用15个码点(0000~1110)表示15条二地址指令,另一个码点(1111)则作为扩展标志。所以15条二地址指令格式如下:

操作码(4位)地址码1(6位)地址码2(6位)

由于要求一地址指令和零地址指令的条数基本相等。所以地址码1字段6位扩展有26=64个码点,用63个码点(1111000000~1111111110)表示63条一地址指令,另一个码点(1111111111)则作为扩展标志。而用地址码2字段6位扩展有26=64个码点,64个码点都用来表示零地址指令,共有64条。

(2)在一中指令条数的比例大约1:4.2:4.2,因此若使一地址指令和零地址指令加大一倍,则三类指令条数的比例大约1:9:9。

操作码字段取4位时的16个码点,用14个码点(0000~1101)表示14条二地址指令,另二个码点(1110与1111)则作为扩展标志。

扩展标志(1110)扩展地址码1字段6位的64个码点(1110000000~1110111111)全部用来表示一地址指令,有64条。扩展标志(1111)扩展地址码1字段6位的64个码点,用62个码点(1111000000~1111111101)表示62条一地址指令,另二个码点(1111111110与1111111111)则作为扩展标志。这样一地址指令,共有126条。

扩展标志(1111111110与1111111111)扩展地址码2字段6位,各有64个码点全部用来表示零地址指令,则有128条零地址指令。

2.32 某模型机9条指令使用频度为:

ADD (加) 30% SUB (减) 24% JOM (按负转移)6% STO (存) 7%

JMP (转移)7% SHR (右移)2% CIL (循环左移)3% CLA (清除)20% STP (停机)1% 要求有两种指令字长,都按双操作数指令格式编排,采用扩展操作码,并限制只能有两种操作码码长。设该机有若干通用寄存器,主存为16位宽,按字节编址,采用按整数边界存储,任何指令都在一个主存周期中取得,短指令为寄存器--寄存器型,长指令为寄存器--主存型,主存地址应能变址寻址。

(1)仅根据使用频度,不考虑其它要求,设计出全Huffman 操作码,计算其平均码长; (2)考虑题目全部要求,设计优化实用的操作码形式,并计算其操作码的平均码长; (3)该机允许使用多少可编址的通用寄存器?

(4)画出该机两种指令字格式,标出各字段之位数;

(5)指出访存操作数地址寻址的最大相对位移量为多少个字节? 解:(1)根据给出的使用频度,在构造Huffman 树的过程中,有两个结点可供合并,因此可生成不同的Huffman 树,其中给出一棵如图所示,相应的Huffman 编码如表所示。

∴ Huffman 编码的平均长度为:l=

∑=n

i i

p

1

×l i

l=0.3×2+0.24×2+0.2×2+0.07×4+0.07×4+0.06×4+0.03×5+0.02×6+0.01×6=2.61(位)

ADD CLA SUB

J0M JMP STO

CIL

0.56 0.01

0.03 0.06 0.12 0.26 0.02

0.03 0.06 0.07 0.14

1.00

0.20 0.07 0.44 0.24 0.30

STP SHR

(2)任何指令都在一个主存周期中取得,那么短指令字长为8位,长指令字长为16位。又指令都是二地址指令,所以短指令寄存器--寄存器型的格式为:

长指令为寄存器--主存型的格式为:

由题意可知:指令操作码采用扩展编码,且只能有两种码长。从指令使用频度来看,ADD 、SUB 和CLA 三条指令的使用频度与其它指令的使用频度相差较大,所以用两位操作码的三个码点来表示三条指令,一个码点作为扩展码点,且扩展三位来表示六条指令,即采用2--4扩展编码构成3/6编码,2--4扩展编码如表所示。

∴ 2--4扩展编码(3/6)的平均长度为:l=

∑=n

i i

p

1

×l i =2.78

(3)(4)由短指令寄存器--寄存器型的格式可知,寄存器号字段长度为3位,寄存器个数为8个。则各字段长度如图格式所标识。

而对于长指令寄存器--主存型,一般变址寄存器是某通用寄存器,则变址寄存器号的字段长度为3位,则各字段长度如图格式所标识。

(5)由于相对位移字段长度为5位,因此访存地址寻址的最大相对位移量为25

=32字节。

第 三 章 习 题

3.8 在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE 、ADD 和MUL 操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。

k : MOVE R1,R0 ;R1← (R0)

k+1: MUL R0,R2,R1 ;R0← (R2)×(R1) k+2: ADD R0,R2,R3 ;R0← (R2)+(R3)

(1)就程序本身而言,可能有哪几种数据相关?

(2)在程序实际执行过程中,哪几种数据相关会引起流水线停顿?

指令 Ii Pi Huffman 编码 Li 2-5编码(3/6) Li ADD I1 0.30 01 2 00 2 SUB I2 0.24 11 2 01 2 CLA I3 0.20 10 2 10 2 STO I4 0.07 0011 4 11001 5 JMP I5 0.07 0010 4 11010 5 JOM I6 0.06 0001 4 11011 5 CIL I7 0.03 00001 5 11100 5 SHR I8 0.02 000001 6 11101 5 STP I9 0.01 000000 6 11110 5 操作码(2位)寄存器1(3位)寄存器2(3位)

操作码(5位)寄存器(3位)变址寄存器(3位)相对位移(5位)

(3)画出指令执行过程的流水线时空图,并计算完成这3条指令共需要多少个时钟周期?

解:(1)就程序本身而言,可能有三种数据相关。若3条指令顺序流动,则k指令对R1寄存器的写与k+1指令对R1寄存器的读形成的“先写后读”相关。若3条指令异步流动,则k指令对R0寄存器的读与k+1指令对R0寄存器的写形成的“先读后写”相关,k+2指令对R0寄存器的写与k+1指令对R0寄存器的写形成的“写—写”相关。

(2)在程序实际执行过程中,二种数据相关会引起流水线停顿。一是“先写后读”相关,k指令对R1的写在程序执行开始后的第四个时钟;k+1指令对R1的读对指令本身是第三个时钟,但k+1指令比k 指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟要读R1。不能在同一时钟周期内读写同一寄存器,因此k+1指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写—写”相关,k+1指令对R0的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开始后的第三个时钟,所以对R0的写是在程序执行开始后的第八个时钟。k+2指令对R0的写对指令本身是第五个时钟,而k+2指令比k+1指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟,所以对R0的写是在程序执行开始后的第八个时钟。不能在同一时钟周期内写写同一寄存器,因此k+2指令应推迟一个时钟进入流水线,产生了流水线停顿。另外,可分析“先读后写”相关不会产生流水线的停顿。

(3)由题意可认位该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如下图所示。若3条指令顺序流动,共需要9个时钟周期。

空间

存数 K存数 K+1存数 K+2存数

运二 K+1运二

运一 K+1运一 K+2运一

取数 K取数 K+1取数 K+2取数

译码 K译码 K+1译码 K+2译码

取指 K取指 K+1取指 K+2取指时间

0 1 2 3 4 5 6 7 8 9

3.9 某流水线由4个功能部件组成,每个功能部件的执行时间都为△t。当输入10个数据后,停顿5t,又输入10个数据,如此重复。计算流水线的实际吞吐率、加速比和效率,并画出时空图。

解:该题中的流水线的任务是非连续流入的,因此不能直接应用公式直接计算,要利用时空图。题意的流水线时空图如下图所示。

空间

S4 1 2 3 4 5 6 7 8 9 10 1 2

S3 1 2 3 4 5 6 7 8 9 10 1 2

S2 1 2 3 4 5 6 7 8 9 10 1 2

S1 1 2 3 4 5 6 7 8 9 10 1 2 时间

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

TP = 10/15Δt = 0.67/Δt S = T0/T K= 10×4Δt/15Δt = 2.67

E = 4×10Δt/4×15Δt = 0.67

3.11 有一个四段指令流水线为取指(IF)、译码(ID)、执行(EX)、写回(WB),分支指令在第二个时钟

周期未决定是不是条件失败分支,在第三个时钟周期未决定是不是成功分支,还假定第一个时钟周

期的操作和条件分支无关,并略去其它流水线停顿。要求:

(1)分别画出无条件分支、发生的条件分支、不发生的条件分支时指令执行的时空图。

(2)假设条件分支指令占所有指令的20%,且其中60%指令可能执行,无条件分支占5%,问实际的

流水线加速比是多少。

解:(1)根据题意,分支指令采用的是流水线停顿的方法来处理。而判断条件分支指令让流水线停顿,应在取指功能段后设计一个“指令分析器”来判断流水线是否停顿。显然,无条件分支指令与条件成功(发生条件)分支是一样的,需要在第三个时钟周期未决定下一条指令的地址,因此流水线要停顿二个时钟周期。对于条件失败(条件不成功)分支,需要在第二个时钟周期未决定下一条指令的地址,因此流水线要停顿一个时钟周期。

(2)串行执行N 条指令的时间为:T1=N ·k ·Δt ,

流水线方式执行N 条指令的时间为:Tn=(k-1)Δt+(N+N ·5%·2+N ·20%·60%·1.5)Δt Sn=T1/Tn=k/1.28

3.13 用一条5个功能段的浮点加法器流水线计算F=

∑=10

1

)(i Ai ,每个功能段的延迟时间,每个功能段的延

迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。

解:为使计算过程充分利用流水线的性能,避免“先写后读”相关,需要将计算的算法改为: ((((A 1 + A 2)+(A 3 + A 4))+(A 9 + A 10))+((A 5 + A 6)+(A 7 + A 9))) 且按括号的优先次序计算九次加法,相应的流水线时空图如下图所示。

空间

S5 1 2 3 4 5 6 7 8 9 S4 1 2 3 4 5 6 7 8 9 S3 1 2 3 4 5 6 7 8 9 S2 1 2 3 4 5 6 7 8 9

S1 1 2 3 4 5 6 7 8 9 时间

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

TP = 9/21Δt = 0.429/Δt S = T 0/T K = 9×5Δt/21Δt = 2.143 E = 5×9Δt /5×21Δt = 0.429

3.15 有一条3个功能段的流水线如下图所示,每个功能段的延迟时间均为△t ,但是,功能段S 2的输出

要返回到它自己的输入端循环执行一次。

输入 输出

△t △t △t

(1)如果每隔一个△t 向流水线连续输入任务,这条流水线会发生什么问题? (2)求这条流水线能够正常工作的实际吞吐率、加速比和效率。

(3)可用什么办法来提高流水线的吞吐率,画出改进后的流水线结构。

解:(1)每个任务在段S 2要反馈循环一次,执行时间为2Δt ,其它各段的执行时间为Δt ,因此应按

S 1 S 2 S 3

瓶颈段的执行时间2Δt 流入任务,才不会发生冲突现象,否则会发生流水线的阻塞。 (2)若连续输入n 个任务,则流水线的实际吞吐率、加速比和效率分别为: TP = n/(4Δt +2(n –1)Δt )= n/2(n + 1)Δt

S = 4n Δt/(4Δt +2(n –1)Δt )= 2n/(n + 1)

E = 4n Δt/3(4Δt +2(n –1)Δt )= 2n/3(n + 1)

(3)为提高流水线的吞吐率,可重复设置段S 2,并使两个段S 2串连在一起,从而消除瓶颈段S 2,而且各段执行时间相等为Δt ,流水线的段数为4。流水线的结构如下图所示。

输入 输出

△t △t △t △t

3.16 在一个5段的流水线处理机上需经9△t 才能完成一个任务,其预约表为:

(1)写出流水线的初始冲突向量。

(2)画出流水线任务调度的状态有向图。

(3)求出流水线的最优调度策略及最小平均延迟时间和流水线的最大吞吐率。 (4)按最优调度策略连续输入8个任务时,流水线的实际吞吐率是多少? 解:(1)根据初始冲突向量的构成方法,对预约表各行中打“×”的拍数求出差值,除去重复的后汇集在一起,即得到延迟禁止表为F ={1,5,6,8}。由F 可得到初始冲突向量为: C =(10110001)

(2)根据后继冲突向量的递推规则C j = SHR (k )

(C i )∨C 0则可得出所有的后继状态,具体有:

C 0四个后继状态:C 1 =SHR (2)

(C 0)∨C 0 = 10111101 7

C 2 =SHR (3)

(C 0)∨C 0 = 10110111 C 3 =SHR (4)

(C 0)∨C 0 = 10111011 3 2

C 4 =SHR (7)

(C 0)∨C 0 = 10110001=C 0 7 4 7

C 1二个后继状态:C 5 =SHR (2)

(C 1)∨C 0 = 10111111 C 6 =SHR (7)

(C 1)∨C 0 = 10110001=C 0 7

C 2二个后继状态:C 7 =SHR (4)

(C 2)∨C 0 = 10111011=C 3 3 4 7 2

C 8 =SHR (7)

(C 2)∨C 0 = 10110001=C 0

C 3二个后继状态:C 9 =SHR (3)(C 3)∨C 0 = 10110111=C 2 C 10=SHR (7)

(C 3)∨C 0 = 10110001=C 0

C 5一个后继状态:C 11=SHR (7)

(C 5)∨C 0 = 10110001=C 0

时间 1 2 3 4 5 6 7 8 9

流水段 S 1 × × S 2 × × × S 3 × S 4 × × S 5 × ×

S 1 S 2 S 3 S 2 10110001 C 0

10110111 C 2 10111101 C 1

10111011 C 3 10111111 C 5

由后继状态和引起状态转移的时间间隔可得到状态有向图如上图所示。

(3)由状态转移有向图可得到无冲突的任务调度策略及其平均延迟时间,如下表所示。

调度策略 平均延迟时间 特别地,从C 0出发的[3,(4,3)]也是一个 (2,2,7) (2+2+7)△t/3 = 3.67△t 任务调度策略,除第一条有向弧外,第二、三条 (2,7) (2+7)△t/2 = 4.5△t 有向组成一个环路,该调度策略为(4,3)。从表 (3,4,7) (3+4+7)△t/3 = 4.67△t 中可以得到平均延迟时间最小的调度策略为(4, (3,7) (3+7)△t/2 = 5△t 3),该调度策略则为最优调度策略,相应的最小

(4,3,7) (4+3+7)△t/3 = 4.67△t 平均延迟时间为3.5△t ,所以流水线的最大吞吐 (4,7) (4+7)△t/2 = 5.5△t 率为:

(7) 7△t TP max = 1/(3.5△t )= 0.286/△t

3,(4,3) (4+3)△t/2 = 3.5△t

(4)按最优调度策略[3,(4,3)]连续输入8个任务时,流水线的实际吞吐率为: TP = 8/[(3 + 4 + 3 + 4 + 3 + 4 + 3 + 9)△t] = 0.24/△t

3.17 有一个5段流水线的预约表如下:

(1)画出流水线调度状态有向图。

(2)分别求出允许不等间隔调度和等间隔调度的最优调度策略以及这两种调度策略的最大吞吐率。 (3)若连续输入10个任务,求这两种调度策略的实际吞吐率。

解:(1)根据初始冲突向量的构成方法,对预约表各行中打“×”的拍数求出差值,除去重复的后汇集在一起,即得到延迟禁止表为F ={1,3,6}。由F 可得到初始冲突向量为: C 0 =(100101)

根据后继冲突向量的递推规则C j = SHR (k )

(C i )∨C 0则可得出所有的后继状态,具体有:

C 0三个后继状态:C 1 =SHR (2)

(C 0)∨C 0 = 101101 5

C 2 =SHR (4)

(C 0)∨C 0 = 100111 C 3 =SHR (5)

(C 0)∨C 0 = 100101= C 0 4 2

5 5 C 1二个后继状态:C 4 =SHR (2)

(C 1)∨C 0 = 101111 C 5 =SHR (5)

(C 1)∨C 0 = 100101=C 0 5

C 2二个后继状态:C 6 =SHR (4)

(C 2)∨C 0 = 100111=C 2 4 2

C 7 =SHR (5)

(C 2)∨C 0 = 100101=C 0

C 4一个后继状态:C 8 =SHR (5)(C 4)∨C 0 = 100101=C 0

由后继状态和引起状态转移的时间间隔可得到状态有向图如上图所示。

时间 1 2 3 4 5 6 7

流水段 S 1 × ×

S 2 × ×

S 3 × ×

S 4 × ×

S 5 × ×

100101 C 0

100111 C 2 101101 C 1

101111 C 4

(2)由状态转移有向图可得到无冲突的任务调度策略及其平均延迟时间,如下表所示。 调度策略 平均延迟时间 特别地,从C 0出发的[4,(4)]也是一个任务 (2,5) (2+5)△t/2 = 3.5△t 调度策略,除第一条有向弧外,第二条有向弧是一 (4,5) (4+5)△t/2 = 4.5△t 个环路,该调度策略为(4)。从表中可以得到平均 (5) 5△t 延迟时间最小的等间隔和不等间隔的调度策略为 (2,2,5) (2+2+5)△t/3 = 3△t [4,(4)]和(2,2,5),相应的最小平均延迟时

4,(4) 4△t 间为4△t 和3△t ,所以流水线的最大吞吐率为:

TP Amax = 1/(4△t )= 0.25/△t TP Bmax = 1/(3△t )= 0.33/△t (3)按等间隔最优调度策略[4,(4)]连续输入10个任务时,流水线的实际吞吐率为: TP = 10/[(4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 7)△t] = 10/43△t 按不等间隔最优调度策略(2,2,5)连续输入10个任务时,流水线的实际吞吐率为: TP = 10/[(2 + 2 + 5 + 2 + 2 + 5 + 2 + 2 + 5 + 7)△t] = 5/17△t

第 四 章 习 题

4.13 由3个访问速度、存储容量和每位价格都不相同的存储器构成一个存储系统,3个存储器M1、M2和M3的访问周期分别为R1、R2和R3,存储容量分别为Sl 、S2和S3,每位价格分别为C1、C2和C3,Ml 靠近CPU 。

(1)写出这个三级存储系统的等效访问时间、等效存储容量S 和等效每位价格C 的表达式。 (2)在什么条件下,整个存储系统的每位平均价格接近于C3?

解:(1)设H i 为CPU 访存在M i 中的概率,则存储系统的等效访问时间、存储容量和每位价格分别为:

T=

∑=31

*i Ti Hi 、S=S3、C=(∑=31

*i Si Ci )/S ,且∑=3

1

i Hi =1。

(2)当三个存储器的存储容量之间有S3》S2》S1时,C ≈C3。

4.17 在一个采用组相联映象方式的Cache 存储系统中,主存由B 0~B 7共8块组成,Cache 有2组,每组2块,每块大小为16B 。在一个程序执行过程中,访存的主存块地址流为:B 6,B 2,B 4,B 1,B 4,B 6,B 3,B 0,B 4,B 5,B 7,B 3。

(1)写出主存地址的格式,并标出各字段的长度。 (2)写出Cache 地址的格式,并标出各字段的长度。 (3)指出主存与Cache 之间各个块的映象关系。

(4)若Cache 的4个块号为C 0、C 1、C 2和C 3,列出程序执行过程中的Cache 块地址流。 (5)若采用FIFO 替换算法,计算Cache 的块命中率。 (6)若采用LRU 替换算法,计算Cache 的块命中率。 (7)若改为全相联映象方式,再做(5)和(6)。

(8)若在程序执行过程中,每从主存装入一块到Cache ,平均要对这个块访问16次,计算在这种情况下的Cache 命中率。

解:(1)(2)采用组相联映象时,主存和Cache 地址的格式分别为:

区号E 区内组号G 主存组内块号B 块内地址W

组号g 组内块号b 块内地址w

主存按Cache 的大小分区,现主存有8个块,Cache 有2×2=4个块,则主存分为8/4=2个区,区号E 的长度为1位。又每区有2个组,则组号G 、g 的长度都为1位。而每组有2个块,则块号B 、b 的长度又都为1位。每块大小为16个

存储字,故块内

地址W 、w 的长度都为4位。

(3)根据组相联映象的规则,主存块0~7与Cache 块0~3之间的映象关系为:主存块0、1、4、5与Cache 块0、1之间全相联,主存块2、3、6、7与Cache 块2、3之间全相联。

(4)根据组相联映象的规则,该主存块地址流相应的一种Cache 块地址流如下表所示(组内替换算法为FIFO )。

时间: 1 2 3 4

5 6 7 8 9 10 11

12

主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3

Cache 块地址流:C 2 C 3 C 0 C 1 C 0 C 2 C 2 C 0 C 0 C 0 C 3 C 2

(5)组内替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。

时间: 1 2 3 4 5 6 7 8 9 10 11 12

主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0 Cache 块1 Cache 块2 Cache 块3

命中 命中 命中

可见命中三次,Cache 块命中率为H i = 3/12 = 0.25。

(6)组内替换算法采用LRU 时,Cache 块0~3的使用过程如下表所示。

时间: 1 2 3 4 5 6 7 8 9 10 11 12

主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3

Cache 块0 Cache 块1 Cache 块2 Cache 块3

命中 命中 命中 命中

可见命中四次,Cache 块命中率为H i = 4/12 = 0.33。

(7)全相联映象的规则是主存块0~7可装入Cache 块0~3的任一块上。 当替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。

时间: 1 2 3 4 5 6 7 8 9 10 11 12

4 4* 4* 4* 4* 0 0*

5 5

5 1 1

1 1 1* 4 4* 4* 4* 6 6* 6* 6* 6* 6* 3

3

3 3 3* 3*

2

2

2

2

2

2* 2*

2*

2*

7

7

4 4* 4 4 4 4* 4 4* 4* 4*

1 1* 1* 1* 0 0* 5 5 5

6 6* 6* 6* 6* 6 6* 6* 6* 6*

7 7

2 2 2 2 2*

3 3 3 3 3* 3*

主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0

Cache 块1 Cache 块2 Cache 块3

命中 命中 命中 命中

可见命中四次,Cache 块命中率为H i = 4/12 = 0.33。

当替换算法采用LRU 时,Cache 块0~3的使用过程如下表所示。

时间: 1 2 3 4 5 6 7 8 9 10 11 12

主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0

Cache 块1 Cache 块2 Cache 块3

命中 命中 命中 可见命中三次,Cache 块命中率为H i = 3/12 = 0.25。

(8)当命中三次时,Cache 的命中率为H i = (12×16-9)/(12×16)≈1,当命中四次时,Cache 的命中率为H i = (12×16-8)/(12×16)≈1。

4.18 在某采用全相联映象、相联目录表实现地址变换Cache 存储器中,Cache 的容量是2c

B ,主存是由m 个存储体组成的低位交叉访问存

储器,主存总容量是2M

B ,每一个存储体的字长是w 位,。

(1)画出地址变换图。

(2)写出主存地址和Cache 地址的格

式,并标出各字段的长度。

(3)说明目录表的行数、相联比较的位数和目录表的宽度。

解:(1) 主存地址

Cache 地址

命中

目录表 共有C b 个字 (2)采用全相联映象时,主存和Cache 地址的格式分别为:

6 6 6 6* 6* 6* 3 3 3 3 3* 3* 2 2 2 2 2 2* 0 0 0 0 0 4 4 4 4 4 4* 4* 5 5 5

1 1 1 1 1 1 1* 7 7 6 6 6 6* 6* 6 6 6 6* 5 5 5

2 2 2 2 2*

3 3 3 3* 7 7

4

4

4

4

4

4*

4

4 4

4*

1 1 1 1* 0 0 0

0* 3

主存块号B 块内地址W

Cache 块号b 块内地址W … … … B b 1 主存块号B Cache 块号b 有效位

主存块号B 块内地址W

组内块号b 块内地址w

主存和Cache 单元数分别为:8×2M /w 、8×2c

/w ,相应的地址长度分别为:

log 2(8×2M /w )=M+3-log 2w 、log 2(2c

/w )=C+3-log 2w 。

块的大小为m 个存储字,则主存和Cache 的块内地址长度均为:log 2m ,所以主存和Cache 的块号长度分别为:(M+3-log 2w )-log 2m = M+3-log 2wm 、(C+3-log 2w )-log 2m = C+3-log 2wm 。

(3)相联目录表的行数为Cache 的块数,即C b =2(C+3-log2wm )=2C+3

/wm ;相联比较的位数为主存块号长度,即M+3-log 2wm ;目录表的宽度(位数)为主存块号长度、Cache 块号长度和有效位的和,即M+3-log 2wm + C+3-log 2wm +1= M+C+6-2 log 2wm +1(有效位一位)。

4.25 某页式虚拟存储器的虚拟空间分为8个虚页,

虚页号为0~7,页的大小为1024个字,主存 容量为4096个字,页表内容如表所示。 (1)列出会发生页面失效的全部虚页号。

(2)按以下虚地址计算出变换的主存实地址: 0, 3728, 1023, 1024,

2055, 7800, 4096, 6800。

解:(1)页表的行号即是虚页号,装入位为“1”表示相应虚页已装入主存中,实页号指出的实页位

置;装入位为“0” 表示相应虚页未装入主存中,该行实页号无效。所以由给出的表可知,发生页面失效的全部虚页号是:2,3,5,7。

(2)页式管理的虚拟存储器的虚、实地址变换的计算步骤如下:

①由虚地址A V 计算相应的虚页号P 和页内地址D :

P=「虚地址A V /页面长度1024个字」 D=A V -P ×页面长度 ②由虚页号查页表的相应行,若装入位为“0”,则发生页面失效,需调进页,无需地址变换;若装入位为“1”,则取出相应的实页号p 。

③由于d=D ,则可由实页号p 和页内地址D 计算出实地址A=p ×1024+D 。 按上述步骤,则可由虚地址计算出变换出主存实地址如下表所示。

虚地址A V 虚页号P 页内地址D 装入位 实页号p 页内地址d 实地址A 0 0 0 1 3 0 3072 3728 3 656 0 页面失效 无 1023 0 1023 1 3 1023 4095 1024 1 0 1 1 0 1024 2055 2 7 0 页面失效 无 7800 7 632 0 页面失效 无 4096 4 0 1 2 0 2048 6800 6

656

1

656

656

4.26 一个程序由1200条指令组成,每条指令的字长均为4个字节。假设这个程序访问虚拟存储器的字地址流为:

12,40,260,280,180,800,500,560,600,1100,1200,1000

采用FIFO 替换算法,分配给这个程序的主存容量为2048B 。在下列不同的页面大小情况下,分别写出这程序执行过程中依次访问的虚页地址流,并计算主存实页命中率。

(1)页的大小为1024B 。 (2)页的大小为512B 。

(3)页的大小为2048B 。 (4)比较(1)、(2)、(3)的结果,可得出什么结论?

(5)假设把分配给该程序的主存容量增加到4096B ,页的大小为1024B ,再计算主存实页命中率。由此又可以得出什么结论?

装入位 主存页号 1 3

1 1 0 2

0 3 1 2

0 1

1 0 0 0

解:题中给出了字虚地址流,由虚地址可得出其相应的虚页号为:虚页号=「虚地址/页面大小」;特别地题中虚地址流是以字为单位,而页面大小是以字节为单位,且字长为4B 。

另外,由给出的分配给主存容量和页面大小可得出相应的实页数为:实页数=「主存容量/页面大小」。 (1)页面大小1024B=256字, 实页数=「2048B/1024B 」=2。 根据给出的程序访存的字地址流对主存的使用过程为:

虚字地址流: 12 40 260 280 180 800 500 560 600 1100 1200 1000 虚页地址流: 0 0 1 1 0 3 1 2 2 4 4 3

0页 1页

命中 命中 命中 命中 命中 命中 则有主存命中率为:H 1=6/12=0.5

(2)页面大小512B=128字, 实页数=「2048B/512B 」=4。 根据给出的程序访存的字地址流对主存的使用过程为:

虚字地址流:12 40 260 280 180 800 500 560 600 1100 1200 1000 虚页地址流: 0 0 2 2 1 6 3 4 4 8 9 7

0页

1页

2页 3页

命中 命中 命中

则有主存命中率为:H 2=3/12=0.25

(3)页面大小1024B=512字, 实页数=「2048B/2048B 」=1。 根据给出的程序访存的字地址流对主存的使用过程为:

虚字地址流:12 40 260 280 180 800 500 560 600 1100 1200 1000 虚页地址流: 0 0 0 0 0 1 0 1 1 2 2 1

0页

命中 命中 命中 命中 命中 命中

则有主存命中率为:H 3=6/12=0.5

(4)当主存容量不变时,①中的页长>②中的页长,且有H 1>H 2,说明页长减小,主存命中率下降。原因在于页长减小,虚、实页数增加,程序跨页访问的概率增大,导致主存命中率下降。

另外,当主存容量不变时,③中的页长>①中的页长,且有H 1=H 2,说明页长加大,主存命中率不变。原因在于页长加大,虚、实页数减小;一方面虚页数减小,可降低跨页访问的概率,可提高主存命中率;另一方面实页数减小,主存替换概率增大,导致主存命中率下降。

(5)页面大小1024B=256字, 实页数=「4096B/1024B 」=4。 根据给出的程序访存的字地址流对主存的使用过程为:

虚字地址流:12 40 260 280 180 800 500 560 600 1100 1200 1000

0 0 0* 0* 0* 3 3 3* 3* 4 4 4* 1 1 1 1* 1* 2 2 2* 2* 3 0 0 0 0 0 0* 3 3 3 3 3* 7

2 2 2 2 2* 4 4 4 4 4*

1

1

1

1*

1*

8

8

8

6

6

6

6

6*

9

9

0 0 0 0 0 1 0 1 1 2 2 1

虚页地址流: 0 0 1 1 0 3 1 2 2 4 4 3

0页

1页 2页 3页

命中 命中 命中 命中 命中 命中 命中

则有主存命中率为:H 2=7/12=0.58

当页长不变时,主存容量增大,实页数增加时,主存命中率增大。但不是总是如此。

4.27 采用页式虚拟存储器,分时运行两道程序,其中程序X 为: DO 50 I = 1,3 B(I) = A(I) – C(I) IF (B(I).LE.0)GOTO 40 D(I) = 2*C(I) – A(I) IF (D(I).EQ.0)GOTO 50 40 E(I) = 0 50 CONTINUE

DATA: A = (-4, 3, 0) C = (-3, 0, 1)

每个数组分别存放在不同的页面中;而程序Y 在运行过程中,其数组将依次用到程序空间的第3,5,4,2,5,3,1,3,2,5,1,3,1,5,2页。如果采用LRU 算法替换,实存只有8页位置可供存放数组之用。试问为这两道程序的数组分配多少个实页最为合理?为什么?

解:程序Y 运行过程中要使用的数组虚页地址流题中已给出,LRU 算法是堆栈算法,用堆栈对其模拟处理一次的过程如下所示。

时间:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 虚页地址流:3 5 4 2 5 3 1 3 2 5 1 3 1 5 2

S t (1)

S t (2) S t (3) S t (4) S t (5) S t (6)

0 0 0 0 0 0 0 0* 0* 4 4 4

1 1 1 1 1 1 1 1* 1* 1*

3 3 3 3 3 3 3

2 2 2 2 2

3 5

4 2

5 3 1 3 2 5 1 3 1 5 2 3 5 4 2 5 3 1 3 2 5 1 3 1 5 3 5 4 2 5 5 1 3 2 5 5 3 1 3 3 4 2 2 5 1 3 2 2 2 3 4 4 4 4 4 4 4 4 4

n=1

n=2 命中 命中

n=3 命中 命中 命中 命中

n=4 命中 命中 命中 命中 命中 命中 命中 命中 命中 命中 n=5 命中 命中 命中 命中 命中 命中 命中 命中 命中 命中

程序X 要用到的数组有A 、B 、C 、D 、E ,每个数组分别在不同的页面中,若用A 、B 、C 、D 、E 来表示数组所在的虚页号。

程序做三次循环。第一次循环B(1)=-1<0,转40号语句E(1)=0,所以使用数组为A 、C 、B 、E ;第二次循环B(2)=2>0,顺序执行D(2)=-2,又D(2)<>0,顺序执行E(2)=0,所以使用数组为A 、C 、B 、C 、A 、D 、E ;第三次循环同第一次循环为A 、C 、B 、E 。所以X 运行过程中要使用的数组虚页地址流为:

A 、C 、

B 、E 、A 、

C 、B 、C 、A 、

D 、

E 、A 、C 、B 、E

用堆栈对其模拟处理一次的过程如下所示。

时间:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

虚页地址流:A C B E A C B C A D E

A C

B E

S t (1) S t (2) S t (3) S t (4) S t (5) S t (6)

n=1 n=2

n=3 命中 命中 命中

n=4 命中 命中 命中 命中 命中 命中 命中 命中 n=5 命中 命中 命中 命中 命中 命中 命中 命中 命中 命中 由堆栈处理结果可得出相应于X 和Y 程序的分

配不同实页数时的主存命中率如下表所示。 由于能分配于X 和Y 程序的实页数为8个,最合理的方案是X 和Y 程序的平均主存命中率最大,即H=H X +H Y 为最大。可考虑的分配方案如上表所示。其中X 和Y 程序的实页数各为4个是平均主存命中率最大为0.6。

3.10 一个采用组相联映象方式的Cache 共有8块,分为2组,用硬件比较对法实现LRU 块替换算法。

A C

B E A

C B C A

D

E A C B E A C B E A C B C A D E A C B A C B E A A B C A D E A C A C B E E E B C C D E A E B B B D D 分配不同实页数 H X H Y H 程序X 程序Y 3 5 3/15 10/15 6.5/15 4 4 8/15 10/15 9/15 5 3 10/15 4/15 7/15 N H X H Y 1 0 0 2 0 2/15 3 3/15 4/15 4 8/15 10/15 5 10/15

10/15

计算机系统结构题库

《计算机系统结构》题库 一.单项选择题(在下列每小题的四个备选答案中,只有一个答案是正确的,请把你认为是正确的答案填入题后的()内,每小题2分) 第一章: 1.计算机系统多级层次中,从下层到上层,各级相对顺序正确的应当是: A.汇编语言机器级---操作系统机器级---高级语言机器级 B.微程序机器级---传统机器语言机器级---汇编语言机器级 C.传统机器语言机器级---高级机器语言机器级---汇编语言机器级 D.汇编语言机器级---应用语言机器级---高级语言机器级 答案:B 分数:2 所属章节1—1 2.汇编语言源程序变成机器语言目标程序是经来实现的。 A. 编译程序解释 B. 汇编程序解释 C. 编译程序翻译 D. 汇编程序翻译 答案:D 分数:2 所属章节1—1 3.直接执行微指令的是: A. 汇编程序 B. 编译程序 C. 硬件 D. 微指令程序 答案:C 分数:2 所属章节1—1 4.对系统程序员不透明的是: A. Cache存储器 B. 系列机各档不同的数据通路宽度 C. 指令缓冲寄存器 D. 虚拟存储器 答案:D 分数:2 所属章节1—2 5.对应用程序员不透明的是: A. 先行进位链 B. 乘法器 C. 指令缓冲器 D. 条件码寄存器 答案:D 分数:2 所属章节1—2 6.对机器语言程序员透明的是: A. 中断字 B. 主存地址寄存器 C. 通用寄存器 D. 条件码 答案:B 分数:2 所属章节1—2 7.计算机系统结构不包括: A. 主存速度 B. 机器工作状态 C. 信息保护 D. 数据表示 答案:A 分数:2 所属章节1—2 8.对计算机系统结构透明的是: A. 字符行运算指令 B. 是否使用通道行I/O处理机 C. 虚拟存储器 D. VLSI技术 答案:D 分数:2 所属章节1—2 9.对汇编语言程序员透明的是: A.I/O方式中的DMA访问方式 B. 浮点数据表示 C. 访问方式保护 D 程序性中断. 答案:A 分数:2 所属章节1—2 10.属计算机系统结构考虑的应是:

计算机系统结构课后答案

1、数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么? 答:数据表示是能由硬件直接识别和引用的数据类型。数据结构反映各种数据元素或信息单元之间的结构关系。数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据结构是软件、硬件的交界面。 除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。(2)看引入这种数据表示后,其通用性和利用率是否高。 2、标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同? 答:标志符数据表示指将数据类型与数据本身直接联系在一起,让机器中每个数所都带类型樗位。其优点是:(1)简化了指令系统和程序设计;(2)简化了编译程序;(3)便于实现一致性校验;(4)能由硬件自动变换数据类型;(5)支持数据库系统的实现与数据类型无关;(6)为软件调试和应用软件开发提供支持。缺点是:(1)会增加程序所点的主存空间;(2)在微观上对机器的性能(运算速度)不利。 数据描述符指数据的描述与数据分开存放,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址住处它具备标志符数据表示的优点,并减少了标志符数据表示所占的空间,为向量和数组结构的实现提供支持。 数据描述符方法优于标志符数据表示,数据的描述与数据分开,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址信息,减少了樗符数据表示所占的窨。用描述符方法实现阵列数据的索引比用变址方法实现要方便,且便于检查出程序中的阵列越界错误。但它不能解决向量和数组的高速运算问题。而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。 3、堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持? 答:有堆栈数据表示的机器称为堆栈机器。它与一般通用寄存器型机器不同。通用寄存器型

2010年4月自考计算机系统结构试题及答案

全国2010年4月自学考试计算机系统结构试题 课程代码:02325 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均不得分。 1.在计算机系统结构设计中,提高软件功能实现的比例可( ) A.提高解题速度B.减少需要的存储器容量 C.提高系统的灵活性D.提高系统的性能价格比 2.浮点数表示的尾数的基r m=16,尾数长度p=8,可表示的规格化最大正尾数的值是( ) A.1/256 B.1/2 C.15/16 D.255/256 3.下列数据存储空间为隐含寻址方式的是( ) A.CPU中的通用寄存器B.主存储器 C.I/O接口中的寄存器D.堆栈 4.当计算机系统执行通道程序完成输入输出工作时,执行通道程序的是( ) A.CPU B.通道 C.CPU和通道D.指定的外设 5.下列有关中断的叙述正确的是( ) A.中断响应的次序是由硬件决定的B.中断处理的次序是由硬件决定的 C.中断处理的次序是不可改的D.中断响应的次序是可灵活改变的 6.与虚拟存储器的等效访问速度无关 ..的是( ) A.访存页地址流B.页面替换算法 C.主存的容量D.辅存的容量 7.非线性流水线的特征是( ) A.一次运算中使用流水线中的多个功能段 B.一次运算中多次使用流水线中的某些功能段 C.流水线中某些功能段在各次运算中的作用不同 D.流水线的各功能段在不同的运算中可以有不同的连接 8.属于集中式共享存储器结构的SIMD计算机是( ) A.ILLIAC IV B.BSP C.CM-2 D.MP-1 1

计算机系统结构课后答案unit3

第3章总线、中断与输入输出系统 3.1.简要举出集中式串行链接,定时查询和独立请求3种总线控制方式的优缺点。同时分析硬件产生故障时通讯的可靠性。 答:集中式串行链连接方式。其过程为: ①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请。 ②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。 ③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。 ④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。 ⑤数据传送期间,“总线忙”维持“总线可用”的建立。 ⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。 ⑦当“总线请求”再次建立时,就开始新的总线分配过程。 优点:①选择算法简单;②控制总线数少;③可扩充性好;④可靠性高。 缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线中信号传送速度慢。 集中式定时查询方式,过程: ①总线上每个部件通过“总线请求”发请求。 ②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。 ③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。除去“总线请求”,该部件获得总线使用权。 ④“总线忙”维持到数据传送完毕。 ⑤数据传送完,去除“总线忙”。 ⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。 优点:①优先次序灵活性强;②可靠性高。 缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。 集中式独立请求方式,过程:

计算机体系结构试题汇总

计算机系统结构 姓名:学号: 一、简答题(每小题10分,共20分) 1.简述使用物理地址进行DMA存在的问题,及其解决办法。 2.从目的、技术途径、组成、分工方式、工作方式等5个方面对同构型多处理机和异构型多处理机做一比较(列表)。 二、(60分)现有如下表达式: Y=a ×X 其中:X和Y是两个有64个元素的32位的整数的向量,a为32位的整数。假设在存储器中,X和Y的起始地址分别为1000和5000,a的起始地址为6000。 1.请写出实现该表达式的MIPS代码。 2.假设指令的平均执行时钟周期数为5,计算机的主频为500 MHz,请计算上述MIPS 代码(非流水化实现)的执行时间。 3.将上述MIPS代码在MIPS流水线上(有正常的定向路径、分支指令在译码段被解析出来)执行,请以最快执行方式调度该MIPS指令序列。注意:可以改变操作数,但不能改变操作码和指令条数。画出调度前和调度后的MIPS代码序列执行的流水线时空图,计算调度前和调度后的MIPS代码序列执行所需的时钟周期数,以及调度前后的MIPS流水线执行的加速比。 4.根据3的结果说明流水线相关对CPU性能的影响。 三、(20分)请分析I/O对于性能的影响有多大?假设: 1.I/O操作按照页面方式进行,每页大小为16 KB,Cache块大小为64 B;且对应新页的地址不在Cache中;而CPU不访问新调入页面中的任何数据。 2.Cache中95%被替换的块将再次被读取,并引起一次失效;Cache使用写回方法,平均50%的块被修改过;I/O系统缓冲能够存储一个完整的Cache块。 3.访问或失效在所有Cache块中均匀分布;在CPU和I/O之间,没有其他访问Cache 的干扰;无I/O时,每1百万个时钟周期中,有15,000次失效;失效开销是30个时钟周期。如果替换块被修改过,则再加上30个周期用于写回主存。计算机平均每1百万个周期处理一页。

完整版计算机体系结构课后习题原版答案_张晨曦著

第1章计算机系统结构的基本概念 (1) 第2章指令集结构的分类 (10) 第3章流水线技术 (15) 第4章指令级并行 (37) 第5章存储层次 (55) 第6章输入输出系统 (70) 第7章互连网络 (41) 第8章多处理机 (45) 第9章机群 (45) 第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。

(完整版)计算机系统结构试题及答案

计算机系统结构复习题 单选及填空: 计算机系统设计的主要方法 1、由上往下的设计(top-down) 2、由下往上的设计(bottom-up) 3、从中间开始(middle-out) Flynn分类法把计算机系统的结构分为以下四类: (1)单指令流单数据流 (2)单指令流多数据流 (3)多指令流单数据流 (4) 多指令流多数据流 堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。 累加器型机器:CPU 中存储操作数的单元是累加器的机器。 通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。 名词解释: 虚拟机:用软件实现的机器叫做虚拟机,但虚拟机不一定完全由软件实现,有些操作可以由硬件或固件(固件是指具有软件功能的固件)实现。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 兼容机:它是指由不同公司厂家生产的具有相同系统结构的计算机。 流水线技术:将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。 单功能流水线:指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水线。 多功能流水线:指各段可以进行不同的连接,以实现不同的功能的流水线。 顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。 乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成。这种流水线又称为无序流水线、错序流水线、异步流水线。 吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。 指令的动态调度:

是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。 指令的静态调度: 是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。 超标量: 一种多指令流出技术。它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。 超流水:在一个时钟周期内分时流出多条指令。 多级存储层次: 采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。 写直达法: 在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。写回法: 只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。 集中式共享多处理机: 也称为对称式共享存储器多处理SMP。它一般由几十个处理器构成,各处理器共享一个集中式的物理存储器,这个主存相对于各处理器的关系是对称的, 分布式共享多处理机: 它的共享存储器分布在各台处理机中,每台处理机都带有自己的本地存储器,组成一个“处理机-存储器”单元。但是这些分布在各台处理机中的实际存储器又合在一起统一编址,在逻辑上组成一个共享存储器。这些处理机存储器单元通过互连网络连接在一起,每台处理机除了能访问本地存储器外,还能通过互连网络直接访问在其他处理机存储器单元中的“远程存储器”。 多Cache一致性: 多处理机中,当共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储器块的副本,要保证多个副本数据是一致的。 写作废协议: 在处理器对某个数据项进行写入之前,它拥有对该数据项的唯一的访问权 。 写更新协议: 当一个处理器对某数据项进行写入时,它把该新数据广播给所有其它Cache。这些Cache用该新数据对其中的副本进行更新。 机群:是一种价格低廉、易于构建、可扩放性极强的并行计算机系统。它由多台同构或异构

计算机系统结构_课后答案

习题一 1、解释下列术语 计算机系统的外特性:通常所讲的计算机系统结构的外特性是指机器语言程序员或编译程序编写者所看到的外特性,即由他们所看到的计算机的基本属性(概念性结构和功能特性)。 计算机系统的内特性:计算机系统的设计人员所看到的基本属性,本质上是为了将有关软件人员的基本属性加以逻辑实现的基本属性。 模拟:模拟方法是指用软件方法在一台现有的计算机上实现另一台计算机的指令系统。 可移植性:在新型号机出台后,原来开发的软件仍能继续在升级换代的新型号机器上使用,这就要求软件具有可兼容性,即可移植性。可兼容性是指一个软件可不经修改或只需少量修改,便可由一台机器移植到另一台机器上运行,即同一软件可应用于不同环境。 Amdahl 定律:系统中对于某一部件采用某种更快的执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频度或占总执行时间的比例。 虚拟机(Virtual Machine ):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 6、 7、假定求浮点数平方根的操作在某台机器上的一个基准测试程序中占总执行时间的20%,为了增强该操作的性能,可采用两种不同的方法:一种是增加专门的硬件,可使求浮点数平方根操作的速度提高为原来的20倍;另一种方法是提高所有浮点运算指令的速度,使其为原来的2倍,而浮点运算指令的执行时间在总执行时间中占30%。试比较这两种方法哪一种更好些。 答:增加硬件的方法的加速比23.120 /2.0)2.01(1 1=+-= p S , 另一种方法的加速比176.12 /3.0)3.01(1 2=+-=p S ,经计算可知Sp1>Sp2第一种方 法更好些。 9、假设高速缓存Cache 的工作速度为主存的5倍,且Cache 被访问命中的概率

系统结构与硬件

系统结构与硬件(答案) 系统结构与硬件 1.绘图仪属于 A:输出设备 B:输入设备和输出设备 C:输入设备 D:计算机正常工作时不可缺少的设备 2.计算机的存储系统一般指主存储器和 A:累加器 B:寄存器 C:辅助存储器 D:鼠标器 3.把硬盘上的数据传送到计算机的内存中去,称 为

A:打印 B:写盘 C:输出 D:读盘 4.CPU是计算机硬件中的()部件。A:核心 B:辅助 C:主存 D:输入输出 5.CPU中的运算器的主要功能是()A:负责读取并分析指令 B:算术运算和逻辑运算 C:指挥和控制计算机的运行 D:存放运算结果 6.CPU中的控制器的功能是()。A:进行逻辑运算 B:进行算术运算 C:控制运算的速度 D:分析指令并发出相应的控制信号7.以下全是输入设备的是

A:键盘、扫描仪、打印机 B:键盘、硬盘、打印机 C:鼠标、硬盘、音箱 D:扫描仪、键盘、只读光盘 8.现代计算机系统是以()为中心的。 A:中央处理器 B:内存 C:运算器 D:控制器 9.计算机中必要的、使用最广泛的、用于人机交 互的输出设备是 A:打印机 B:显示器 C:绘图仪 D:声卡 10.半导体只读存储器(ROM与半导体随机存储 器(RAM的主要区别在于 A: ROM 可以永久保存信息,RAM 在掉电后信息会消失 B: ROM掉电后,信息会消失,RAM不会 C: ROM是内存储器,RAM是外存储器

D: RAM是内存储器,ROM是外存储器 11.CPU的中文意思是 A:中央处理器 B:主机 C:控制器 D:计算机器 12.内存与外存的主要不同在于 A: CPU可以直接处理内存中的信息,速度快,存储容量大;外存则相反。 B: CPU可以直接处理内存中的信息,速度快,存储容量小;外存则相反。 C: CPU不能直接处理内存中的信息,速度慢, 存储容址大,外存则相反。 D: CPU不能直接处理内存中的信息,速度慢, 存储容量小,外存则相反 13.能够将图片输入到计算机内的装置是 A:打印机 B:扫描仪 C:鼠标 D:键盘 14.微型机中硬盘工作时,应特别注意避免 A:光线直射

计算机系统结构考试题库及答案

计算机系统结构试题及答案 一、选择题(50分,每题2分,正确答案可能不只一个,可单选 或复选) 1.(CPU周期、机器周期)是内存读取一条指令字的最短时间。 2.(多线程、多核)技术体现了计算机并行处理中的空间并行。 3.(冯?诺伊曼、存储程序)体系结构的计算机把程序及其操作数 据一同存储在存储器里。 4.(计算机体系结构)是机器语言程序员所看到的传统机器级所具 有的属性,其实质是确定计算机系统中软硬件的界面。 5.(控制器)的基本任务是按照程序所排的指令序列,从存储器取 出指令操作码到控制器中,对指令操作码译码分析,执行指令操作。 6.(流水线)技术体现了计算机并行处理中的时间并行。 7.(数据流)是执行周期中从内存流向运算器的信息流。 8.(指令周期)是取出并执行一条指令的时间。 9.1958年开始出现的第二代计算机,使用(晶体管)作为电子器件。 10.1960年代中期开始出现的第三代计算机,使用(小规模集成电路、 中规模集成电路)作为电子器件。 11.1970年代开始出现的第四代计算机,使用(大规模集成电路、超 大规模集成电路)作为电子器件。 12.Cache存储器在产生替换时,可以采用以下替换算法:(LFU算法、 LRU算法、随机替换)。

13.Cache的功能由(硬件)实现,因而对程序员是透明的。 14.Cache是介于CPU和(主存、内存)之间的小容量存储器,能高 速地向CPU提供指令和数据,从而加快程序的执行速度。 15.Cache由高速的(SRAM)组成。 16.CPU的基本功能包括(程序控制、操作控制、时间控制、数据加 工)。 17.CPU的控制方式通常分为:(同步控制方式、异步控制方式、联合 控制方式)反映了时序信号的定时方式。 18.CPU的联合控制方式的设计思想是:(在功能部件内部采用同步控 制方式、在功能部件之间采用异步控制方式、在硬件实现允许的情况下,尽可能多地采用异步控制方式)。 19.CPU的同步控制方式有时又称为(固定时序控制方式、无应答控 制方式)。 20.CPU的异步控制方式有时又称为(可变时序控制方式、应答控制 方式)。 21.EPROM是指(光擦可编程只读存储器)。 22.MOS半导体存储器中,(DRAM)可大幅度提高集成度,但由于(刷 新)操作,外围电路复杂,速度慢。 23.MOS半导体存储器中,(SRAM)的外围电路简单,速度(快),但 其使用的器件多,集成度不高。 24.RISC的几个要素是(一个有限的简单的指令集、CPU配备大量的 通用寄存器、强调对指令流水线的优化)。

计算机体系结构课后答案

计算机体系结构课后答案

计算机体系结构课后答案 【篇一:计算机体系结构习题(含答案)】 1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。 (1)最大尾数(8)最小正数 (2)最小正尾数(9)最大负数 (3)最小尾数(10)最小负数 (4)最大负尾数(11)浮点零 (5)最大阶码(12)表数精度 (6)最小阶码(13)表数效率 (7)最大正数(14)能表示的规格化浮点数个数 2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。尾数用原码、纯小数表示,阶码用移码、整数表示。 (1) 设计这种浮点数的格式 (2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。 3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。 (1) 选择合适的舍入方法。

(2) 确定警戒位位数。 (3) 计算在正数区的误差范围。 4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。 (1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。 6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字 段的长度均为6位。 (1) 如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这3类指令分配操作码。 (2) 如果要求3类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这3类指令分配操作码。 7.别用变址寻址方式和间接寻址方式编写一个程序,求c=a+b,其中,a与b都是由n个元素组成的一维数组。比较两个程序,并回答下列问题: (1) 从程序的复杂程度看,哪一种寻址方式更好?

《计算机系统结构》与参考答案

2.以下各类中断中,属于自愿中断的是 C. A. 外部中断 B. I/O中断 C. 执行“访管”指令 D. 机器校验中断 3.高速外部设备磁盘机适合连接于 C. A. 选择通道或字节多路通道 B. 数组多路通道或字节多路通道 C.数组多路通道或选择通道 D.任意一种通道 4.页式虚拟存储器页表的作用是 A . A. 反映虚页在主存的存储情况 B.仅反映虚页是否调入主存 C. 反映主存实页与Cache 的对应关系 D. 反映虚页在辅存的存储情况5.软件和硬件的功能在逻辑上是C的 . A.固件优于软件 B.不等价 C.等价 D.软件优于固件 6.计算机中最优化的操作码编码方法是D. A.BCD 码 B.ASCII码 C.扩展操作码 D.哈夫曼编码 7.从计算机系统执行程序的角度看,并行性等级由低到高分为四级A. A .指令内部——指令之间——进程之间——程序之间 B .指令之间——指令内部——进程之间——程序之间 C.进程之间——指令之间——指令内部——程序之间 D .程序之间——进程之间——指令之间——指令内部 8.计算机系统多级层次结构中,操作系统机器级的直接上层是D. A .传统机器级 B .高级语言机器 C.应用语言机器级D.汇编语言机器级 9.全相联地址映像是指A. A. 任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间是固定的,而组内任何虚页可以装入任何实页位置 D.组间可任意装入,组内是固定装入 10.对于同一系列机,必须保证软件能够C. A .向前兼容,并向上兼容 B .向前兼容,并向下兼容C.向后兼容,力争向上兼容D .向后兼容,力争向下兼容11.设有 16 个处理单元的并行处理机系统, 采用共享主存的方式. 若同时存取16 个数据 , 为避免存储器访问冲突, 共享主存的多体数量应该为C才合理 . A. 15 B. 16 C. 17 D. 19 12.软件兼容的根本特征是C. A.向前兼容 B.向后兼容 C. 向上兼容 D. 向下兼容 13.在下列机器中,能够实现软件兼容的机器是 B. A.完全不同种类的机型 B.系统结构相同的机器 C. 宿主机和目标机 D.虚拟机 14.输入输出系统硬件的功能对C是透明的。 A. 操作系统程序员 B. 所有类别的程序员 C. 应用程序员 D. 系统结构设计师 15.在下列各项选择中,对于机器( 汇编 ) 语言程序员透明的是 D. A.通用寄存器 B. 条件码 C.中断字 D.主存储器地址寄存器 一、单项选择题 1.在流水机器中,全局性相关是指 B. A.指令相关 B. 由条件转移指令引起的相关 C “先读后写”相关 D.“先写后读”相关 2.以下不属于多处理机操作系统类型的是A. A .Windows 操作系统B.主从型操作系 C.浮动型操作系统 D .各自独立型操作系统 3.下列不是数据流计算特点的是D. A. 设置状态 B.没有指令计数器 C.没有变量的概念 D.操作结果不产生副作用 4.若输入流水线的指令既无局部性相关,也不存在全局性相关,则B. A. 可获得高的吞吐率和效率 B.出现瓶颈 C.流水线的效率和吞吐率恶化 D.可靠性提高 5.消除“一次重叠”中的“指令相关”最好方法是B. A. 不准修改指令 B.设置相关专用通路 C.推后分析下条指令 D.推后执行下条指令 6.流水线的技术指标不包括A. A. 数据宽度 B.吞吐率 C.加速比 D.效率 7.按照弗林对处理机并行性定义的分类原则,阵列机ILLIAC IV属于B. A.SISD B.SIMD C.MISD D.MIMD 8.设 8 个处理器编号分别为0,1, 2,?,7 用 Cube0 互联函数时,第7 号处理机可以与第D号处理机相联 . A. 0 B. 2 C. 4 D. 6 9.多端口存储器适合于连接 B. A .松耦合多处理机B.紧耦合多处理机C.机数很多的多处理机 D .机数可变的多处理机 10.以下不属于堆栈型替换算法的是A. A .先进先出法B.近期最久未用过法 C.近期最少使用法D.页面失效频率法 11.解决主存空间数相关的办法是C. A.基址值一次相关直接通路法 B.基址值二次相关直接通路法 C.通用寄存器组相关专用通路相关法 D. 推后读法 12. 一般来说 , 以下替换算法中 , 效果最优的替换算法是C. A. LRU 替换算法 B. FIFO 替换算法 C. OPT 替换算法 D. RAND替换算法

FAS系统硬件结构和功能

FAS系统硬件结构和功能 1.系统总体结构 如图2-1所示,FH98-G产品由系统主机、各种调度终端、维护管理系统、集中录音系统等部分组成。 系统主机提供数字中继、模拟中继、模拟用户、数字用户(2B+D)、2/4线音频、磁石、以太网和RS485等接口。并通过这些接口与电话公网、普通话机、磁石话机、2B+D键控终端、2B+D触摸屏调度台、集中数字录音仪、维护管理系统等相连。 FH98-G指挥调度系统从总体上分为N系统、C系统和网管系统。 在铁路调度应用中N系统是专供组织铁路运输生产的行车调度员、货运调度台、电力调度员及各专业生产调度员通过调度台向所管辖区段内的各站业务值班员、机车台以及无线终端发布命令和听取汇报的专用设备,一般位于调度所和指挥中心。 C系统作为各车站内数字化调度分机及数字化站场集中机设备,构成以信号楼值班员或车站运转室值班员为中心的站内通信系统,包括调度分机的接入、站间通信的接入、站场用户的接入等。 FH98-G的网管系统一般设在调度指挥中心,对N系统及全线的C系统进行统一管理和维护。 图2-1 N系统硬件结构示意图提供音频通道 。 。 。 2B+D接口 2B+D接口触摸屏调度台 触摸屏调度台网管终端 接自动交换网 接磁石电话 环路接口 磁石接口 音频接口 通过传输设备接车站FAS 接共电话机 共电接口 数字E1接口 与共电接口对接 共分接口 Copyright ?1996 Northern Telecom Copyright ?1996 Northern Telecom 通过传输设备接MSC 30B+D接口 交换机

图2-2 C 系统硬件结构示意图 1.1 系统主机 1.1.1 机柜 FH98-G 采用标准19英寸机柜(2000mm*600 mm *600 mm ),为插箱插板式结构。FH98-G 系统标准包括主控层和扩展层两种插箱,根据容量需要,N 系统扩展层一般为3层,C 系统扩展层为1层。机柜图如下所示: 2B+D 2B+D 2B+D E1接口 E1接口 接上行车站 FAS 接下行车站FAS 磁石接口 共电接口 环路接口 音频接口 接共电电话机 接磁石电话机 接自动交换网 触摸屏车站台 Copyright ?1996 Northern Telecom 触摸屏车站台 Copyright ?1996 Northern Telecom 与共电接口对接 共分接口

计算机体系结构课后习题

第1章 计算机系统结构的基本概念 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。 答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。 计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。 答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。(2)Amdahl 定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)CPU 性能公式。执行一个程序所需的CPU 时间 = IC ×CPI ×时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20; 部件加速比3=10 (1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10? (2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:(1)在多个部件可改进情况下,Amdahl 定理的扩展: ∑∑+-= i i i n S F F S )1(1 已知S 1=30,S 2=20,S 3=10,S n =10,F 1=,F 2=,得: ) ()(10/20/0.330/0.30.30.3-11 1033F F +++++= 得F 3=,即部件3的可改进比例为36%。 (2)设系统改进前的执行时间为T ,则3个部件改进前的执行时间为:(++)T = ,不可改进部分的执行时间为。 已知3个部件改进后的加速比分别为S 1=30,S 2=20,S 3=10,因此3个部件改进后的执行时间为: T T T T T n 045.010 2.020 3.0303.0'=++= 改进后整个系统的执行时间为:Tn = + = 那么系统中不可改进部分的执行时间在总执行时间中占的比例是: 82.0245.02.0=T T 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示: 操作类型 程序中的数量 (百万条指令) 改进前的执行时间 (周期) 改进后的执行时间 (周期)

计算机体系结构课后习题原版答案 张晨曦著

第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。 CPI:每条指令执行的平均时钟周期数。 测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。 存储程序计算机:冯·诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。 向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能运行于在它之后(前)投入市场的计算机。 兼容机:由不同公司厂家生产的具有相同系统结构的计算机。 模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。 仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。 并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相

系统结构,硬件部分.

产品说明书硬件部分说明 第一章系统结构 1.1系统构成 1.2说明 计算机及软件:管理整个系统,运算并处理各种相关数据。

收费机(又称窗口机):根据上位机所设权限,承担窗口售饭、存 款、取款、退款以及出售份饭等职能。 录入机:连入计算机键盘口,用于办卡的操作设备。 打印机:计算机的附属设备,用于打印各项报表及收据。 网络服务器:通过COM1、COM2使窗口机与计算机实时通讯。第二章窗口机的构成及使用 2.1外观及其功能说明 一、外观图 图一,购饭面:

图二,操作面。 2.2功能说明 本收费机分前后两面,一面供就餐人员划卡消费用,一面供售饭人员操作使用。 窗口机购饭面主要分为读卡区和显示屏两部分(如图一)。 射频卡感应区:位于右侧印有天线图形的部分。消费时,消费者持卡接近窗口机,并使卡面与窗口机感应区平行贴近,移动射频卡至窗口机感应区0.2-2.5CM处,听到“嘟嘀”声后,即表示刷卡成功。

此时窗口机显示屏同时显示卡中余额;否则显示ERR1,表示档案中无此卡,并连响数声。 显示屏:位于窗口机的中央,分为上下两行,分别显示“余额”和“应收”两项内容。“余额”项表示持卡人卡中餐费余额,“应收”项表示持卡人当餐消费金额。 窗口机操作面分键盘操作和显示屏两部分(图2),显示屏内容及功能与购饭面显示屏相同。键盘可分为功能区和操作键区。 功能键区:分“主食”、“副食”、“零售”三个功能键,和与之对应的绿、黄、红三个状态指示灯。 操作键区:由0、1、2、3、4、5、6、7、8、9、F1、*、查询、确认、小数点、设置、退出、总清、清除、结帐等键组成。 登录方式功能键:1、售饭;2、存款;3、取款;4、退款;5、份饭。 当操作员进行超出软件设定的权限操作时,显示屏则会出现ERR3,进行错误提示。 设置键:设置键用来设置机器号,设置机器号必须在售饭机登陆之前。登陆前连续按十次设置键,则显示本售饭机的机 器号,每台窗口机必须有唯一号码与其对应,否则重号

计算机组成原理和系统结构课后答案

1.1 概述数字计算机的发展经过了哪几个代?各代的基本特征是什么? 略。 1.2 你学习计算机知识后,准备做哪方面的应用? 略。 1.3 试举一个你所熟悉的计算机应用例子。 略。 1.4 计算机通常有哪些分类方法?你比较了解的有哪些类型的计算机? 略。 1.5 计算机硬件系统的主要指标有哪些? 答:机器字长、存储容量、运算速度、可配置外设等。 答:计算机硬件系统的主要指标有:机器字长、存储容量、运算速度等。 1.6 什么是机器字长?它对计算机性能有哪些影响? 答:指CPU一次能处理的数据位数。它影响着计算机的运算速度,硬件成本、指令系统功能,数据处理精度等。 1.7 什么是存储容量?什么是主存?什么是辅存? 答:存储容量指的是存储器可以存放数据的数量(如字节数)。它包括主存容量和辅存容量。 主存指的是CPU能够通过地址线直接访问的存储器。如内存等。 辅存指的是CPU不能直接访问,必须通过I/O接口和地址变换等方法才能访问的存储器,如硬盘,u盘等。 1.8 根据下列题目的描述,找出最匹配的词或短语,每个词或短语只能使用一次。(1)为个人使用而设计的计算机,通常有图形显示器、键盘和鼠标。 (2)计算机中的核心部件,它执行程序中的指令。它具有加法、测试和控制其他部件的功能。 (3)计算机的一个组成部分,运行态的程序和相关数据置于其中。 (4)处理器中根据程序的指令指示运算器、存储器和I/O设备做什么的部件。 (5)嵌入在其他设备中的计算机,运行设计好的应用程序实现相应功能。 (6)在一个芯片中集成几十万到上百万个晶体管的工艺。 (7)管理计算机中的资源以便程序在其中运行的程序。 (8)将高级语言翻译成机器语言的程序。 (9)将指令从助记符号的形式翻译成二进制码的程序。 (10)计算机硬件与其底层软件的特定连接纽带。 供选择的词或短语: 1、汇编器 2、嵌入式系统 3、中央处理器(CPU) 4、编译器 5、操作系统 6、控制器 7、机器指令 8、台式机或个人计算机 9、主存储器10、VLSI 答:(1)8,(2)3,(3)9,(4)6,(5)2, (6)10,(7)5,(8)4,(9)1,(10)7

计算机体系结构课后习题

第1章 计算机系统结构的基本概念 1.1 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。 答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。 计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。 1.2 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。 答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。(2)Amdahl 定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)CPU 性能公式。执行一个程序所需的CPU 时间 = IC ×CPI ×时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。 1.3 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20; 部件加速比3=10 (1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10? (2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:(1)在多个部件可改进情况下,Amdahl 定理的扩展: ∑∑+-= i i i n S F F S )1(1 已知S 1=30,S 2=20,S 3=10,S n =10,F 1=0.3,F 2=0.3,得: ) ()(10/20/0.330/0.30.30.3-11 1033F F +++++= 得F 3=0.36,即部件3的可改进比例为36%。 (2)设系统改进前的执行时间为T ,则3个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T ,不可改进部分的执行时间为0.2T 。 已知3个部件改进后的加速比分别为S 1=30,S 2=20,S 3=10,因此3个部件改进后的执行时间为: T T T T T n 045.010 2.020 3.0303.0'=++= 改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T 那么系统中不可改进部分的执行时间在总执行时间中占的比例是: 82.0245.02.0=T T 1.4 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示:

相关文档
相关文档 最新文档