计算机体系结构期末复习

计算机体系结构期末复习

由于知识点繁复,且又是开卷,在此仅将一些重大例题列出,知识点和其余略去。

同时,目前优先从课本配套的题集,码蹄集中选取题目,如下图所示,其中部分题目由于题集中没有,暂时没有放出,正在更新中。。。

本博客配合课后练习复习效果更佳!!!

image

Amdahl 定理

知识点

第 1 章 计算机系统结构导论_66

第 1 章 计算机系统结构导论_67

第 1 章 计算机系统结构导论_68

第 1 章 计算机系统结构导论_69

第 1 章 计算机系统结构导论_70

第 1 章 计算机系统结构导论_71

第 1 章 计算机系统结构导论_72

第 1 章 计算机系统结构导论_73

第 1 章 计算机系统结构导论_74

第 1 章 计算机系统结构导论_75

例题

  1. (判断题)Amdahl 定律中“系统加速比”指计算机体系结构改进后的性能的提高。
    A. 对
    B. 错
    正确答案: 对

  2. (单选题)假设高速缓存 Cache 工作速度为主存的 5 倍,且 Cache 被访问命中的概率为 90%,则采用 Cache 后,能使整个系统获得加速比为( )。
    A. 5
    B. 3.57
    C. 5.17
    D. 4.21
    正确答案: B:3.57;
    答案解析:Cache 存储器访问时间为 t,主存储器为 5t。Sn = T0/Tn = 5t / (0.9*t+0.1*5t) = 3.57

  3. 某计算机有 3 个部件可以改进,且各改进后的性能提高倍数分别为: S e 1 = 30 S_{e1}=30 Se1=30 S e 2 = 20 S_{e2}=20 Se2=20 S e 3 = 10 S_{e3}=10 Se3=10,试问:

    (1)如果部件 1 和部件 2 在计算机中的重要度均为 30%,那么部件 3 在计算机中的重要度为多少时,系统加速比才可以达到 10?

    (2)如果 3 个部件在计算机中的重要度分别为 30%、30%、20%,同时对 3 个部件进行改进,那么计算机性能提高倍数为多少?

    (1)在多个部件可改进情况下,Amdahl 定理的扩展:

    已知 S1=30,S2=20,S3=10,Sn=10,F1=0.3,F2=0.3,得:

    Sn = 1 / ( (1-F1-F2-F3) + F1/S1 + F2/S2 + F3/S3)

    得 F3=0.36,即部件 3 的可改进比例为 36%。

    (2)设系统改进前的执行时间为 T,则 3 个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T,不可改进部分的执行时间为 0.2T。

    已知 3 个部件改进后的加速比分别为 S1=30,S2=20,S3=10,因此 3 个部件改进后的执行时间为:0.3T/S1 + 0.3T/S2 + 0.2T/S3 = 0.045T

    改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T

    那么系统中不可改进部分的执行时间在总执行时间中占的比例是:
    Sn = T / 0.245T = 4.08

浮点数

知识点

第 2 章 计算机体系结构属性优选_10

第 2 章 计算机体系结构属性优选_11

第 2 章 计算机体系结构属性优选_12

第 2 章 计算机体系结构属性优选_13

第 2 章 计算机体系结构属性优选_14

第 2 章 计算机体系结构属性优选_15

第 2 章 计算机体系结构属性优选_16

例题

  1. (单选题)
    浮点数在机器中的表示形式如下所示,若阶码位数为 Q,尾数位数为 P,

    image

    则以下关于浮点数表示的叙述中,正确的是( )。

    ① Q 的值影响浮点数的精度,Q 越大,所表示的浮点数精度越高

    ② Q 的值影响浮点数的范围,Q 越大,所表示的浮点数值范围越大

    ③ P 的值影响浮点数的范围,P 越大,所表示的浮点数范围越大

    ④ P 的值影响浮点数的精度,P 越大,所表示的浮点数精度越高

    A. ①③
    B. ②③
    C. ①④
    D. ②④
    正确答案: D:②④;

  2. (单选题)在计算机中,一位 R 进制数需要( )位二进制数来表示?
    A.image
    B. R
    C.image
    D.image
    正确答案: D:image;

  3. (单选题)image
    A. 4
    B. 1
    C. 6
    D. 2
    正确答案: C:6;

  4. (单选题)
    在浮点数表示中,决定浮点数数据个数的参数是( )

    ① 阶码位数 Q

    ② 阶码数值 E

    ③ 尾数数值 M

    ④ 尾数位数 P

    A. ①③
    B. ②④
    C. ②③
    D. ①④
    正确答案: D:①④;

  5. (单选题)浮点数阶码位数采用二进制 Q 位,尾数位数为 P,则该浮点数的最大阶值为( )
    A. image
    B. image
    C. image
    D. image
    正确答案: B image:;

  6. (单选题)计算机的浮点数采用阶码基值 S=2,阶码位数为 2,尾数基值为 16,尾数位数 P=4。计算机在非负阶、规格化情况下的浮点数个数是多少( )
    A. 32
    B. 60
    C. 245760
    D. 24
    正确答案: B:60;

  7. (单选题)
    image
    A. 31
    B. 33
    C. 32
    D. 40
    正确答案: D:40;

  8. (多选题)浮点数数据表示包含哪些参数( )
    A. 尾数数值 M
    B. 阶码数值 E
    C. 尾数位数 P
    D. 尾数基值 R
    E. 阶码基值 S
    F. 阶码位数 Q
    正确答案: ABCDEF:尾数数值 M; 阶码数值 E; 尾数位数 P; 尾数基值 R; 阶码基值 S; 阶码位数 Q;

  9. (多选题)在浮点数表示中,随着尾数基值 R 的不断增大,下列选项正确有( )
    A. 运算精度损失增大
    B. 运算速度提高
    C. 表示数据范围缩小
    D. 表示数据个数增多
    正确答案: BD:运算速度提高; 表示数据个数增多;

  10. (多选题)浮点数的表示格式由哪几部分组成( )
    A. 尾数位数
    B. 数据符号位
    C. 阶码符号位
    D. 阶码基值
    E. 阶码位数
    正确答案: ABCE:尾数位数; 数据符号位; 阶码符号位; 阶码位数;

指令字格式

知识点

第 2 章 计算机体系结构属性优选_57

第 2 章 计算机体系结构属性优选_58

第 2 章 计算机体系结构属性优选_60

例题

(单选题)某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令 29 条,二地址指令 107 条,每个地址字段 6 位,则指令字长至少应该是( )?
A. 23
B. 32
C. 28
D. 24
正确答案: D:24;

答案解析:三地址指令有 29 条,所以需要操作码 5 位,剩余 32-29=3 条,提供给二地址指令使用,而二地址比三地址指令多出 6 位,则可以表示 3×2^6=192 条 >107 条,所以至少需要 3×6+5=23 条,而指令字长应为 8 的倍数,所以指令字长至少应该是 24 条。

(单选题)一个计算机系统采用 32 位单字长指令,地址码为 12 位,若定义了 250 条二地址指令,还可以有几条单地址指令?
A. 6144
B. 24576
C. 384
D. 16384
正确答案: B:24576;

操作码的编码

知识点

第2章 计算机体系结构属性优选_68

第2章 计算机体系结构属性优选_69

第 2 章 计算机体系结构属性优选_71

第 2 章 计算机体系结构属性优选_72

第 2 章 计算机体系结构属性优选_73

第 2 章 计算机体系结构属性优选_75

第 2 章 计算机体系结构属性优选_76

注意:R表示的是信息冗余量,计算R的1.96为第二张图中的H(信息源熵)

第2章 计算机体系结构属性优选_78

第2章 计算机体系结构属性优选_79

第2章 计算机体系结构属性优选_80

第2章 计算机体系结构属性优选_81

第2章 计算机体系结构属性优选_82

第2章 计算机体系结构属性优选_83

第2章 计算机体系结构属性优选_84

例题

  1. (单选题)n(n≥2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是( )
    A. 树中一定没有度为1的结点
    B. 树中任一非叶结点的权值一定不小于下一层任一结点的权值
    C. 树中两个权值最小的结点一定是兄弟结点
    D. 该树一定是一棵完全二叉树
    正确答案: D:该树一定是一棵完全二叉树;

  2. (单选题)已知字符集{ a, b, c, d, e, f, g, h }。若各字符的哈夫曼编码依次是 0100, 10, 0000, 0101, 001, 011, 11, 0001,则编码序列 0100011001001011110101 的译码结果是( )
    A. acgabfh
    B. afbeagd
    C. afeefgd
    D. adbagbb
    正确答案: C:afeefgd;

  3. (单选题)设一台模拟计算机的指令系统有I1、I2、I3、I4共4条指令,其出现次数相应为{4,2,5,1},则该指令系统的哈夫曼编码比固定长度编码节省了多少位数?
    A. 2
    B. 5
    C. 0
    D. 4
    正确答案: A:2;

  4. (多选题)通常操作码的编码方法有哪些( )?
    A. 固定长度编码法
    B. Huffman编码法
    C. 等长扩展编码法
    D. 不等长扩展编码法
    正确答案: ABCD:固定长度编码法; Huffman编码法; 等长扩展编码法; 不等长扩展编码法;

  5. 一台处理机有1~110共10条指令,经统计指令在程序中出现的概率如下:l1:0.25、l2:0.20、l3:0.15、l4:0.10、l5:0.08、l6:0.08、l7:0.05、l8:0.04、l9:0.03、l10:0.02。
    (1)计算这10条指令操作码编码的最短平均长度(信息源熵)。
    (2)写出这10条指令的Huffman编码,并计算操作码编码的平均长度和信息余量。
    (3)采用3/7扩展编码法和2/8扩展编码法编制这10条指令的操作码编码,并分别计算它的平均长度和信息冗余量,说明哪一种扩展编码较好及其理由。

    (1) 根据 Huffman 压缩编码准则,指令系统所有指令操作码的最短平均长度 H(即信息源熵) 为:

    H = − ∑ i = 1 N ( p i × l o g 2 p i ) H=-\displaystyle\sum_{i=1}^N(p_i×log_2p_i) H=i=1N(pi×log2pi)

    所以有:

    H = − ( 0.25 × l o g 2   0.25 + 0.20 × l o g 2   0.20 + 0.15 × l o g 2   0.15 + 0.10 × l o g 2   0.10 + 0.08 × l o g 2   0.08 + 0.08 × l o g 2   0.08 + 0.05 × l o g 2   0.05 + 0.04 × l o g 2   0.04 + 0.03 × l o g 2   0.03 + 0.02 × l o g 2   0.02 ) = 2.96 H=-(0.25×log_2~0.25+0.20×log_2~0.20+0.15×log_2~0.15+0.10×log_2~0.10+0.08×log_2~0.08+0.08×log_2~0.08+0.05×log_2~0.05+0.04×log_2~0.04+0.03×log_2~0.03+0.02×log_2~0.02)=2.96 H=(0.25×log2 0.25+0.20×log2 0.20+0.15×log2 0.15+0.10×log2 0.10+0.08×log2 0.08+0.08×log2 0.08+0.05×log2 0.05+0.04×log2 0.04+0.03×log2 0.03+0.02×log2 0.02)=2.96

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

    因为 Huffman 编码的平均长度为:

    L = ∑ i = 1 N ( p i × l i ) L=\displaystyle\sum_{i=1}^N(p_i×l_i) L=i=1N(pi×li)

    所以有: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(位)

    image

    image

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

    3/7 扩展编码要求短码码点数为 3,长码码点数为 7。所以短码长取 2 位,有码点 2 2 = 4 2^2=4 22=4 个,用一个作扩展标志;长码长取 3 位,有码点 2 3 = 8 2^3=8 23=8 个,有一个未被利用,即有一个多余码点。编码的平均长度为:

    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(位)

    2/8 扩展编码要求短码码点数为 2,长码码点数为 8。所以短码长取 2 位,有码点 2 2 = 4 2^2=4 22=4 个,用二个作扩展标志;长码长取 2 位,有码点 2 2 × 2 = 8 2^2×2=8 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(位)

    可见,3/7 扩展编码优于 2/8 扩展编码。

  6. 某处理机指令字长为16位,有二地址指令、一地址指令和零地址指令三类,每个地址码字段均为6位。
    (1)如果二地址指令有15条,一地址指令和零地址指令的条数基本相等。问一地址指令和零地址指令各有多少条?并为这三类指令分配操作码。
    (2)如果要求这三类指令条数的比例大约为1:9:9,请问这三类指令各有多少条?

    (1) 由题意可知,当指令为双地址时,其操作码长度为 4 位(16-2×6),所以用于扩展一个地址码为操作码的编码数为 2 4 − 15 = 1 2^4-15=1 2415=1

    要使一地址指令和零地址指令的条数基本相等,则一地址指令操作码也应留一个编码用于扩展一个地址码为操作码而使指令变为零地址。这时,一地址指令数为: 2 6 − 1 = 63 2^6-1=63 261=63,零地址指令数为: 2 6 = 64 2^6=64 26=64

    15 条双地址指令操作码编码可以为:0000~1110,1111 为扩展编码。

    63 条一地址指令操作码编码可以为:1111 000000~1111 111110,一个扩展编码为:1111 111111。

    64 条零地址指令操作码编码可以为:1111 111111 000000~1111 111111 111111。

    (2) 由题意可知,设二地址指令数为 X,则一地址指令和零地址指令数为 9X。

    当指令为双地址时,其操作码长度为 4 位(16-2×6),总的编码数为: 2 4 2^4 24,其中 X 个编码用于二地址指令的操作码编码,可以用于扩展一个地址码为操作码的扩展编码数为: 2 4 − X 2^4-X 24X;扩展一个地址码为操作码后,总的编码数为: 2 6 ( 2 4 − X ) 2^6(2^4-X) 2624X

    当指令为单地址时,其中 9X 个编码用于单地址指令的操作码编码,可以用于扩展一个地址码为操作码的扩展编码数为: 2 6 ( 2 4 − X ) − 9 X 2^6(2^4-X)-9X 2624X9X;扩展一个地址码为操作码后,总的编码数为: 2 6 [ 2 6 ( 2 4 − X ) − 9 X ] 2^6[2^6(2^4-X)-9X] 26[2624X9X]

    当指令为零地址时,全部编码用于零单地址指令的操作码编码,且为 9X,所以有:

    2 6 [ 2 6 ( 2 4 − X ) − 9 X ] = 9 X 2^6[2^6(2^4-X)-9X]=9X 26[2624X9X]=9X

    解之有:X=14.0004,取整即 X=14,所以二地址指令的条数为 14、一地址指令的条数为: 2 6 ( 2 4 − 14 ) − 2 = 126 2^6(2^4-14)-2=126 2624142=126、零地址指令的条数为: 2 6 × 2 = 128 2^6×2=128 26×2=128

  7. 一台处理机有I1~I11共11条指令,且指令的使用频率分别为0.20、0.19、0.14、0.i3、0.09、0.09、0.07、0.04、0.03、0.01、0.01。请构造 Huffman 树,并分别计算出操作码长度固定编码、Huffman 编码和2-5扩展编码的平均长度。

    答:由题可得以下Huffman树(不唯一)
    1719292816234

    操作码长度固定编码、Huffman 编码和2-5扩展编码如下面表格所示:

    指令Pi固定编码Li哈夫曼编码Li2-5扩展编码Li
    I10.2000004112002
    I20.1900014102012
    I30.14001040113102
    I40.13001140103110005
    I50.090100400114110015
    I60.090101400014110105
    I70.070110400104110115
    I80.0401114000005111005
    I90.03100040000106111015
    I100.011001400001107111105
    I110.011010400001117111115

    操作码长度固定编码平均长度:

    L = 4 * (0.20+0.19+0.14+0.13+0.09+0.09+0.07+0.04+0.03+0.01+0.01) = 4

    Huffman 编码平均长度:

    L = 2 x (0.20+0.19) + 3 x (0.14+0.13) + 4 x (0.09+0.09+0.07) + 5 x 0.04 + 6 x 0.03 + 7 x (0.01+0.01) = 3.11

    2-5扩展编码平均长度:

    L = 2 x (0.20+0.19+0.14) + 5 x (0.13+0.09+0.09+0.07+0.04+0.03+0.01+0.01) = 3.41

  8. 一台处理机有11~18共8条指令,且指令的使用频率分别为0.30、0.25、0.20、0.10、0.06、0.05、0.03、0.01,请分别求出操作码采用长度固定编码、Huffman 编码和只有两种码长扩展编码的码值与平均长度。

    答:由题可得以下Huffman树(不唯一)

    1719293148990

    操作码长度固定编码、Huffman 编码和只有两种码长扩展编码如下面表格所示:

    指令Pi固定编码Li哈夫曼编码Li2-4扩展编码Li2-5扩展编码Li
    I10.300003002002002
    I20.250013012012012
    I30.20010310210004102
    I40.100113111310014110005
    I50.0610031101410104110015
    I60.05101311001510114110105
    I70.031103110001611004110115
    I80.011113110000611014111005

    操作码长度固定编码平均长度:

    L = 3 * (0.30+0.25+0.20+0.10+0.06+0.05+0.03+0.01) = 3

    Huffman 编码平均长度:

    L = 2 x (0.30+0.25+0.20) + 3 x 0.10 + 4 x 0.06 + 5 x 0.05 + 6 x (0.03+0.01) = 2.53

    2-4扩展编码平均长度:

    L = 2 x (0.30+0.25) + 4 x (0.20+0.10+0.06+0.05+0.03+0.01) = 2.90

    2-5扩展编码平均长度:

    L = 2 x (0.30+0.25+0.20) + 5 x (0.10+0.06+0.05+0.03+0.01) = 2.75

指令序列的处理方式

知识点

第3章 信息加工的流水线技术_57

第3章 信息加工的流水线技术_58

第3章 信息加工的流水线技术_59

image

image

第3章 信息加工的流水线技术_61

第3章 信息加工的流水线技术_62

第3章 信息加工的流水线技术_63

第3章 信息加工的流水线技术_64

第3章 信息加工的流水线技术_65

第3章 信息加工的流水线技术_66

第3章 信息加工的流水线技术_67

第3章 信息加工的流水线技术_68

第3章 信息加工的流水线技术_69

例题

image

由于该流水线为动态双功能流水线,计算要求先加后乘,因此应先设置加法功能,连续计算出 ( a 1 + b 1 ) (a_1+b_1) a1+b1 ( a 2 + b 2 ) (a_2+b_2) a2+b2 ( a 3 + b 3 ) (a_3+b_3) a3+b3 ( a 4 + b 4 ) (a_4+b_4) a4+b4四个加法后;再设置乘法功能,而且按 [ ( a 1 + b 1 ) × ( a 2 + b 2 ) ] × [ ( a 3 + b 3 ) × ( a 4 + b 4 ) ] [(a_1+b_1)×(a_2+b_2)]×[(a_3+b_3)×(a_4+b_4)] [(a1+b1)×(a2+b2)]×[(a3+b3)×(a4+b4)]顺序做 3 个乘法。因此可画出该流水线的时空图如图所示,图中 A = a 1 + b 1 , B = a 2 + b 2 , C = a 3 + b 3 , D = a 4 + b 4 A=a_1+b_1,B=a_2+b_2,C=a_3+b_3,D=a_4+b_4 A=a1+b1B=a2+b2C=a3+b3D=a4+b4

image

由时空图可以看出,在总共 13 个Δt 的时间内输出 7 个结果,所以有:

TP = n/Tn = 7/13Δt

而当用串行方法完成操作时,需要四次加法和三次乘法,完成一次加法需要 4Δt,完成一次乘法需要 3Δt,完成该运算总共需要时间为:

T0 = 4×4Δt+3×3Δt = 25Δt

所以 S = T0/Tn = 1.92

E = 有效时空区面积 / 全部时空区面积

= (4×4Δt+3×3Δt)/(5×13Δt) = 0.38

流水线的相关冲突

知识点

第3章 信息加工的流水线技术_103

image

image

image

例题

待补充

地址变换

知识点

第4章 信息存储的层次与并行技术_25

第4章 信息存储的层次与并行技术_26

第4章 信息存储的层次与并行技术_27

第4章 信息存储的层次与并行技术_28

第4章 信息存储的层次与并行技术_29

第4章 信息存储的层次与并行技术_30

第4章 信息存储的层次与并行技术_31

第4章 信息存储的层次与并行技术_32

第4章 信息存储的层次与并行技术_33

例题

暂无

Cache块替换算法

知识点

第4章 信息存储的层次与并行技术_36

第4章 信息存储的层次与并行技术_37

第4章 信息存储的层次与并行技术_38

第4章 信息存储的层次与并行技术_39

第4章 信息存储的层次与并行技术_40

第4章 信息存储的层次与并行技术_41

第4章 信息存储的层次与并行技术_42

第4章 信息存储的层次与并行技术_43

第4章 信息存储的层次与并行技术_44

第4章 信息存储的层次与并行技术_45

第4章 信息存储的层次与并行技术_46

例题

暂无

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qing影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值