搜档网
当前位置:搜档网 › 计算机系统结构习题答案(郑伟民)

计算机系统结构习题答案(郑伟民)

计算机系统结构习题答案(郑伟民)
计算机系统结构习题答案(郑伟民)

第一章

重点:

1. P2 1.1.1计算机系统层次结构(1.1.2透明性概念)

2. P9 1.2.1计算机系统设计的定量原理(Amdahl law及CPU性能公式)

3. P22 1.

4.1 Von Neumann结构(模拟与仿真)

1.习题

题1.5 硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。

[解答] 硬件和软件在逻辑功能上是等效的。在原理上,用软件实现的功能完全可以用硬件或固件(微程序解释)来完成。用硬件实现的功能也可以通过用软件进行模拟来完成,只是反映在速度、价格、实现的难易程度上,这两者是不同的。

例如,编译程序、操作系统等许多用机器语言软件子程序实现的功能完全可以用组合电路硬件或微程序固件来解释实现。它们的差别只是软件实现的速度慢,软件的编制复杂,编程工作量大,程序所占的存贮空间量较多,这些都是不利的;但是,这样所花硬件少,硬件实现上也就因此而简单容易,硬件的成本低,解题的灵活性和适应性较好,这些都是有利的。又如,乘除法运算可以经机器专门设计的乘法指令用硬件电路或乘除部件来实现,也可以通过执行一个使用相加、移位、比较、循环等机器指令组成的机器语言子程序来实现。向量、数组运算在向量处理机中是直接使用向量、数组类指令和流水或阵列等向量运算部件的硬件方式来实现,但在标量处理机上也可以通过执行用标量指令组成的循环程序的软件方式来完成。

浮点数运算可以直接通过设置浮点运算指令用硬件来实现,也可以用两个定点数分别表示浮点数的阶码和尾数,通过程序方法把浮点数阶码和尾数的运算映象变换成两个定点数的运算,用于程序软的方式来实现。十进制数的运算可以通过专门设置十进制运算类指令和专门的十进制运算部件硬的方式来完成,或者通过设置BCD数的表示和若干BCD数运算的校正指令来软硬结合地实现,也可以先经10转2的数制转换子程序将十进制数转成二进制数,再用二进制运算类指令运算,所得结果又调用2转10的数制转换子程序转换成十进制数结果,用全软的方式实现。

题1.7 什么是透明性概念?对于计算机系统结构,下列哪些是透明的?哪些是不透明的?

存贮器的模m交叉存取:浮点数据表示:I/O系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型:PDP —11系列中的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存贮器的最小编址单位;Cache存贮器。

[分析] 所谓透明就是看不到,不属于其管理的部分。对计算机系统结构是否透明,首先要弄清教材1.2.1节中有关计算机系统结构的定义和所包含的属性内容。简单来说,凡是编写机器语言和汇编语言程序要用到的数据表示、指令系统、寻址方式、寄存器组织、机器级I/O结构、存贮容量及其编址方式、中断机构、系统管态和目态间的切换、信息保护方式和机构等对计算机系统结构都是不透明的。而全部由硬件实现,或是在机器语言、汇编语言编程中不会出现和不需要了解的部分,以及只影响机器的速度和价格的逻辑实现(计算机组成)和物理实现(计算机实现)的那些部分,对计算机系统结构都是透明的。

[解答] 客观存在的事物或属性。从某个角度去看,却看不到,称这些事物和属性对他是透明的。透明了就可以简化这部分的设计,然而因为透明而无法控制和干预,就会带来不利。因此,透明性的取舍要正确选择。

对计算机系统结构透明的有:存贮器的模m交叉存取,数据总线宽度,阵列运算部件,通道是采用结合型还是独立型,PDP一11系列的单总线结构,串行、重叠还是流水控制方式,Cache存贮器。

对计算机系统结构不透明的有:浮点数据表示,I/O系统采用通道方式还是外围处理机方式,字符行运算指令,访问方式保护,程序性中断,堆栈指令,存贮器最小编址单位。

题1.8 从机器(汇编)语言程序员的角度来看,以下哪些是透明的?

指令地址寄存器;指令缓冲器;时标发生器;条件码寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。

[分析] 从机器(汇编)语言程序员看,实际上也就是从计算机系统结构看的内容。

指令地址寄存器就是程序计数器,汇编语言或机器语言程序都要用到它的,其位数多少会影响到可执行程序的空间大小。指令缓冲器、主存地址寄存器都属于计算机组成中的缓冲器技术,是由全硬件实现的,系统程序不参预对它们的管理。时标发生器、乘法器、先行进位链、移位器等都属于计算机组成中的专用部件配臀,它只影响机器的速度和价格,与软件编程无关。条件码寄存器是存放指令执行后生成反映结果状态或特征的标志码,它要供转移等指令使用,是编程要用到的。磁盘外设的种类、编址方式、容量等都是磁盘管理服务程序要用到的。通用寄存器的数量、位效、编址、使用规定在汇编语言程序和机器语言程序中都是会直接用到的。中断字寄存器是用来记录每一个中断类中,各个中断源发生中断请求的状况的,它是中断服务程序在处理中断时要用到的。

[解答] 从机器(汇编)语言程序员来看,透明的有:指令缓冲器,时标发生器,乘法器,主存地址寄存器,先行进位链,移位器。

题1.9 下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?

系列机各档不同的数据通路宽度;虚拟存贮器;Cache存贮器;程序状态字:“启动I /O”指令;“执行”指令;指令缓冲寄存器。

[分析] 系统程序员是编写诸如操作系统、编译程序等各种系统软件的人员。应用程序员是指利用计算机及所配的系统软件支持来编写解决具体应用问题的程序员。他们都可以使用汇编语言或机器语言来编写程序,当然也可以用高级语言来编写程序。所以,对系统程序员或应用程序员是不透明的,应包括计算机系统结构所包含的各个方面。而属全硬件实现的计算机组成所包含的方面,如系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器等,无论是对系统程序员,还是对应用程序员都应当是透明的。对目前高性能计算机系统来讲,大多数都是多用户环境,应用程序(也称算态,目态或用户态程序)中不允许使用管态(也林系统态,监督态)中所用的特权指令。

例如,大型多用户系统中,程序状态字是用于反映计算机系统在当前程序的各种关键状态(它并不是IBM PC计算机那种狭义的所谓程序状态字)的,它是操作系统用于管理计算机系统资源及其使用状况的,用户是不能直接对程序状态字内容进行读,写和访问的,只能由系统来管理。“启动I/O”指令是大型机中的—种管态指令,属于特权指令,只能在操作系绕程序中使用(见教材中第3章3.4.1节的介绍)。用户程序是不能用它来直接启动I/O通道和设备的。虚拟存贮器(参看教材第4章4.1.3节)是一个主存——辅存两级存贮层次。它对应用程序员是完全透明的,使应用程序不必作任何修改就可以在系统上运行。但是,在操作系统中必须配置有相应的管理软件,能对其虚实外部地址的映象和变换、程序的换道、程序由辅存调入主存、主存页面的替换、存贮保护等进行管理,所以对系统程序员来说是不透明的。“执行”指令(参看教材中第5章5.1.2节)是IBM 370等系列机上用于解决程序在执行过程中不准修改指令,又允许将指令放在操作数区中作修改,以满足指令在执行过程中允许修改的要求。这种指令无论是用户程序,还是系统程序,都希望可以被使用,所以,“执行”指令应设计成对应用程序员和系统程序员都是不透明的。

[解答] 系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器属计算机组成,对系统程序员和应用程序员都是透明的。虚拟存贮器、程序状态字、“启动I/O”指令,对系统程序员是不透明的,面对应用程序员却是透明的。“执行”指令则对系统程序员和应用程序员都是不透明的。

1.7

(1)从指定角度来看,不必要了解的知识称为透明性概念。

(2)见下表,“√”为透明性概念,“P”表示相关课文页数。

1.8见下表,“√”为透明性概念,“P ”表示相关课文页数。

1.9见下表,“√”表示都透明,“应”表示仅对应用程序员透明,“×”表示都不透明。

1.12 已知Se=20 , 求作Fe-Sn 关系曲线。 将Se 代入Amdahl 定律得

e

n F S 20

1911

-=

1.13 上式中令Sn=2,解出Fe=10/19≈0.526 1.14 上式中令Sn=10,解出Fe=18/19≈0.947

1.15 已知两种方法可使性能得到相同的提高,问哪一种方法更好。

(1)用硬件组方法,已知Se=40,Fe=0.7,解出Sn=40/12.7≈3.1496(两种方法得到的相同性能) (2)用软件组方法,已知Se=20,Sn=40/12.7,解出Fe=27.3/38≈0.7184(第二种方法的百分比) (3)结论:软件组方法更好。因为硬件组需要将Se 再提高100%(20→40),而软件组只需将Fe 再提高1.84%(0.7→0.7184)。 1.17 57.34

.15

5

1.01≈=

+

=

n

S 1.18 记f ── 时钟频率,T=1/f ── 时钟周期,B ── 带宽(Byte/s )。 方案一:)/(44

11

s Byte f T

B =?=

方案二:)/(5.3421

%252%752s Byte f T

B =??+?=

1.19 由各种指令条数可以得到总条数,以及各百分比,然后代公式计算。

∑===4

1

5

10i i IC IC

Sn 20 1

(1)∑==?+?+?+?=?

=4

1

55.108.0215.0232.0245.01)(i i

i IC

IC CPI CPI

(2)806.2555.140

10

55.11040106

66≈=??=?=CPI f MIPS (3)(秒)003876.0400

55

.1106≈=?=

MIPS IC T

1.21 (1)24.21.081

2.0418.026.01=?+?+?+?=CPI

(2)86.1710

24.21040106

6

6≈??=?=CPI f MIPS 1.24 记Tc ── 新方案时钟周期,已知CPI = CPI i = 1 原时间 = CPI × IC × 0.95Tc = 0.95IC ×Tc 新时间 = (0.3×2/3+0.7)× IC × Tc = 0.9IC ×Tc 二者比较,新时间较短。

第二章

重点:P91 2.3.2.2Huffman 编码法

2.3(忽略P124倒1行 ~ P125第8行文字,以简化题意)已知2种浮点数,求性能指标。 此题关键是分析阶码、尾数各自的最大值、最小值。

原图为数据在内存中的格式,阶码的小数点在其右端,尾数的小数点在其左端,遵守规格化要求。 由于尾数均为原码,原码的绝对值与符号位无关,所以最大正数与最小负数的绝对值相同,可用“±最大绝对值”回答;最小正数与最大负数的绝对值相同,可用“±最小绝对值”回答。

第1小问中,阶码全部位数为8,作无符号数看待真值为0~255,作移-127码看待真值为-127~+128;尾数(不计符号位)有23位小数,另加1位整数隐藏位,所以尾数绝对值为1.0~2.0 – 2-23

,有效位数p=24;

第2小问中,阶码全部位数为11,作无符号数看待真值为0~2047,作移-1023码看待真值为-1023~+1024;尾数(不计符号位)有52位小数,另加1位整数隐藏位,所以尾数绝对值为1.0~2.0 – 2-52,有效位数p=53。

最大绝对值为最大阶码与最大尾数绝对值的组合,最小绝对值为最小阶码与最小尾数绝对值的组合。代入相关公式后得最终结果如下表。

2.5

(1) r m = 2,r e = 2,p = 24(隐藏最高位),q = 7。 (2) N max = 1.7×1038

,-|N|min = -1.47×10-39

δ ≤ 5.96×10-8 ≈ 10

-7.22

,η = 100%

2.6

(1) 0.2 = 0.333333H ×160

设阶码为移-63码(即-26

+1,原题未指明) 0.2 = 0.110011001100110011001101B ×2-2

(其中最高有效位需隐藏) 阶码为移-127码(即-27

+1)

(2) 符号位不变,(阶码 – 63)×4 + 127;尾数左规,除去最高位;

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

%506400

3200

64100643032201630820==??+?+?+?

从地址的整数倍位置开始访问

20% |字节8位|浪费8位|半字16位|单子32位 2.5% |半字16位|半字16位|半字16位|半字16位| 30% |双字64位|

%9564

10064

)20100(5620=??-+?

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

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

10

2

log

i

pi pi

1位 7位 6位 1位 8位

23位

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

2.14

2.15

(1) 15条/63条/64条 (2) 14条/126条/128条 说明:每种扩展刘两种组合:

0000

(1101)

1110 000000

1110 111111 000000 1110

……

扩充码

1110 111111 …… 1110 111110 1110 111111 111111 1111000000 1111 111111 000000 1111 …… 扩充码1111 111111 ……

1111111110

1111 111111 111111

2.18 P117

2.20 向后转移

(1)start: move as,r1 Mov num,r2 dec r1 inc r1

Loop:

move (r1),ad-as(r1) Dec r2 Bgt loop Inc r1

Halt

共14 共26

-1 共26-1 共

26 共26

Num: N

(2)N=100,循环100次,节省100个周期,循环体前后浪费3个周期,故能节省97个指令周期 (3)start: move as,r1 Mov num,r2 Dec r2 Dec r1 Inc r1

Loop:

move (r1),ad-as(r1) Bgt loop Inc r1 Dec r2

Halt Num:

N

第三章

难点:3.1.4.2交叉访问存储器 重点:地址映射及替换算法

P146 3.2 虚拟存储器 P174 3.3 Cache

3.2 T=H1T1+H2T2+H3T3;S=S1+S3+S2;C=(C1S1+C2S2+C3S3)/S 3.3 直接代公式计算存储层次性能指标。 (1)74ns ,38ns ,23.6ns H*t1+(1-h)*t2 (2)0.258,0.315,0.424

(c1s1+c2s2)/(s1+s2)

(3)T256K < T128K < T64K c256K > c128K > c64K

(4)T*C 分别得 19.092,11.97,10.0064。答案是256K 方案最优。

3.5 已知g

g K n

n )1(1--=

,其中g=0.1

依题意有2.0)1(12.0)1(111

+--=+≥--=++g

g K g g K n n n n

整理得0.9n

≥0.2,解出28.159

.0lg 2

.0lg ≈≤

n

,向下取整,得15;

按另一种题意理解是向上取整,得16,也对。 3.7 3.9 )(log log log log 2222向上取整Nd

Np Np

Nv g

--=

=2,Nv:虚存大小;Np :页面大小;Nd :页表存储字大小

(2)4KB/4B=1K ,故而二级页表空间为:4GB/1K=4MB ,需4MB/4KB=1024页;

4MB/1K=4KB ,故一级页表空间为4KB ,即1页 (3)一级页表必须驻立主存

3.10 令TM 为主存的平均访问时间,TD 为硬盘的访问时间,则 T=HTM+(1-H)TD=(10000-9999*0.9999)TM=1.9999TM ?=TM/T=1/1.9999=50.0025%

3.12 (1) U=log 264=6;P=log 21024=10;D=log 24K=12 (2)总数为log 28M=23;D=log 24K=12,故实页号p=23-12=11; (3)快表:多用户虚页号(U+P )+实页号p ,即16+11=17

(4)每个实页在页表中都存在一行与之对应,故共需211

=2K=2048(个存储字);慢表包括主存页号(实页号)+装入位及其它标志位,即11+1+其它 (5)P159 图3.27 3.14

P=

2 3 2 1 5 2 4 5 3 2 5 2 命中次数

向每行回看,最大的为待换出的

注:最好的办法是堆栈模拟。

3.15 欲知可能的最高命中率及所需的最少主存页数,较好的办法是通过“堆栈模拟法”,求得命中次数随主存页数变化的函数关系。下图就是“堆栈模拟图”,其中“√”表示命中。 P= 4 5 3 2 5 1 3 2 3 5 1 3 命中次数

n=1 0 n=2 1 n=3 3 n=4 7 n=5

7

(1)H max=7/12≈58.3%

(2)n=4

(3)当1次页面访问代表连续1024次该页内存储单元访问时,后1023次单元访问肯定是命中的,而第1次单元访问的命中情况与这1次页面访问的命中情况相同。根据上图中最高命中情况,共有7次页命中(折算为7×1024次单元命中),5次页不命中(折算为5×1023次单元命中,也可写为5×1024-5),单元访问总次数为12×1024,故有:

H cell=(12×1024-5)/(12×1024)=12283/12288≈99.96%

改LRU替换算法:[分析] 由于LRU替换算法是堆栈型的替换算法,因而随着分配给该程序的实页数增加,实页命中率只会上升,至少是不会下降的。但是,当实页数增加到一定程度之后,其命中率就不会再提高了.如耍再增加分配给该道程序的实页数,只会导致实存空间的利用率下降.所以,只要分别求出分配给该道程序不同实页数时的页命中率,找出达到最高命中率时所分配的最少实页数即可.

既然LRU替换算法是堆栈型的替换算法,对虚页地址流只需要用堆栈处理技术处理一次,就可以同时求出不同实页数时各自的命中率.这样,可以大大减少模拟的工作量。

模拟结果表明,使用LRU替换算法替换,对该程序至少应分配4个实页.如果只分配3个实页,其页命中率只有2/12,太低:而分配实页数多于4页后,其页命中率不会再有提高.所以,分配给该程序4个实页即可,其可能的最高命中串为H=7/12.

3.15加1题一个二级存储层次,采用全相联映象和最久没有使用算法,实存共5页,为2道程序分享,页地址流分别如下

P1 = 1 2 3 4 1 3 2 1

P2 = 1 2 3 4 2 2 3 3

试作2个实存分配方案,分别使2道程序满足

(1)命中率相同;

(2)命中次数之和最大。

解:分别为2道程序作“堆栈模拟图”,其中“√”表示命中。

将两图结果综合,得到4个分配方案的命中率情况表如下

结论如下

(1)命中率相同的方案

12(2)命中次数之和最大的方案是n 1= 4而n 2= 1。

3.19(1)区号:12

28

log 2

=?;格式为:|1E|1G|1B|4W| (2)cache 格式为:|组号g :1位|组内块号:1位|块内地址W :4|

P 1 = 1 2 3 4 1 3 2 1 命中次数N (1)

n 1= 1 0 n 1= 2 0 n 1= 3 2 n 1= 4

4

P 2 = 1 2 3 4 2 2 3 3 命中次数N (2)

n 2= 1 2 n 2= 2 2 n 2= 3 4 n 2= 4

4

(3)

(4)通过作“实存状况图”模拟各虚块的调度情况,可获得Cache 的块地址流序列。 此问最容易出错的地方是忽略“组相联”地址约束,将虚页装错实组。另外没有及时标注“*”号也容易导致淘汰对象错误。 (5)

P= 6 2 4 1 4 6 3 0 4 5 7 3

(7)LFU

P= 6 2 4 1 4 6 3 0 4 5 7 3

(6)H=4/12≈33%

(8)做法同3.15题(3)问,H cell =(12×16-8)/(12×16)≈95.8%

3.21(2)一个主存周期从主存中取出数据为:4体交叉×体字长4B=16B ,故cache 块大小为16B ,共1KB/16B=64块,每组4块,故共64/4=16组,故cache 的地址为:

虚存 实页 0 1 2 3 虚组0 0

0 √ √ 1 √ √ 虚组1 实组0 2 √ √ 虚 3 √ √ 虚组2 1

页 4 √ √ 5 √ √ 虚组3

6 √ √

7

(a)

(b) 对应关系表(√为有关系)

P= 6 2 4 1 4 6 3 0 4 5 7 3 入 入 入 入 中 中 替 替 中 替 替 中 C=

2

3

1

2

3

1

1

2

3

|组号g:4位|组内块号b:2位|块内地址W:4位|

(1)主存的块与cache的组是直接映像,故主存每区有16块(cache共16组),每块大小16B,共有区数1MB/16×16B=4K个区。故主存地址为:|区号E:12位|区内块号B:4位|块内地址W:4位|

(3)cache的每一组在块表中要有一行,故要有16行,由于有四个比较电路,故每行如下:

|区号E|块号b|区号E|块号b|区号E|块号b|区号E|块号b|;其中区号E12位,块号b2位

注:块表中并不包含所有的区,只有在cache中的区才在块表中有对应记录。

(4)每个比较电路的位数12位

(5)P183 图3.48

3.23

引1:在一个页式二级虚拟存贮器中,采用FIFO算法进行页面替换,发现命中率H太低,因此有下列建议:

(1) 增大辅存容量

(2) 增大主存容量(页数)

(3) 增大主、辅存的页面大小

(4) FIFO改为LRU

(5) FIFO改为LRU,井增大主存容量(页数)

(6) FIFO改为LRU,且增大页面大小

试分析上述各建议对命中率的影响情况。

[解答] (1) 增大辅存容量,对主存命中率H不会有什么影响。因为辅存容量增大,并不是程序空间的增大,程序空间与实主存空间的容量差并未改变。所以,增大物理辅存容量,不会对主存的命中率H有什么影响。

(2) 如果主存容量(页数)增加较多时,将使主存命中率有明显提高的趋势。但如果主存容量增加较少,命中率片可能会略有增大,也可能不变,甚至还可能会有少许下降。这是因为其前提是命中率H太低。如果主存容量显着增加,要访问的程序页面在主存中的机会会大大增加,命中率会显著上升。但如果主存容量(页数)增加较少,加上使用的FIFO替换算法不是堆栈型的替换算法,所以对命中率的提高可能不明显,甚至还可能有所下降。

(3) 因为前提是主存的命中率H很低,在增大主、辅存的页面大小时,如果增加量较小,主存命中率可能没有太大的波动。因为FIFO是非堆栈型的替换算法,主存命中事可能会有所增加,也可能降低或不变。而当页面大小增加量较大时,可能会出现两种相反的情况。当原页面大小较小时,在显著增大了页面大小之后,一般会使主存命中率有较大提高。但当原页面大小已较大时,再显著增大页面大小后,由于在主存中的页面数过少,将会使主存命中宰继续有所下降。

(4) 页面替换算法由FIFO改为LRU后,一般会使主存的命中率提高。因为LRU替换算法比FIFO替换算法能更好地体现出程序工作的局部性特点。然而,主存命中率还与页地址流、分配给主存的实页数多少等有关,所以,主存命中率也可能仍然较低,没有明显改进。

(5) 页面替换算法由FIFO改为LRU,同时增大主存的容量(页数),一般会使主存命中率有较大的提高。因为LRU替换算法比FIFO替换算法更能体现出程序的局部性,又由于原先主存的命中宰太低,现增大主存容量(页数),一般会使主存命中率上升。如果主存容量增加量大些,主存命中率H将会显著上升。

(6) FIFO改为LRU,且增大页面大小时,如果原先页面大小很小,则会使命中率显著上升;如果原先页面大小已经很大了,因为主存页数进一步减少而使命中率还会继续有所下降。

引2:采用组相联映象、LRU替换算法的Cache存贮器,发现等效访问速度不高,为此提议:

(1 ) 增大主存容量

(2 ) 增大Cache中的块数(块的大小不变)

(3 ) 增大组相联组的大小(块的大小不变)

(4)增大块的大小(组的大小和Cache总容量不变)

(5)提高Cache本身器件的访问速度

试问分别采用上述措施后,对等效访问速度可能会有什么样的显著变化?其变化趋势如何?如果采取措施后并未能使等效访问速度有明显提高的话,又是什么原因?

[分析] Cache存储器的等效访问时间t a = H c t c + (1-H c)t m

等效访问速度不高,就是t a太长。要想缩短t a,一是要使H c命中率尽可能提高,这样(1-H c)t m的分量就会越小,使t a缩短,越来越接近于t c。但如果t a已非常接近于t c时,表明H c已趋于1,还想要提高等效访问速度,则只有减小t c,即更换成更高速的Cache物理芯片,才能缩短t a。另外,还应考虑Cache存贮器内部,在查映象表进行Cache地址变换的过程时,是否是与访物理Cache流水地进行,因为它也会影响到t a。当H c命中率已很高时,内部的查映象表与访Cache由不流水改成流水,会对t c有明显的改进,可缩短近一半的时间。所以,分析时要根据不同情况做出不同的结论。

如果Cache存贮器的等效访问速度不高是由于H c太低引起的,在采用LRU替换算法

的基础上,就要设法调整块的大小、组相联映象中组的大小,使之适当增大,这将会使H c 有所提高.在此基础上再考虑增大Cache的容量.Cache存贮器中,只要Cache的容量比较大时,由于块的大小受调块时间限制不可能太大,增大块的大小一般总能使Cache命中率得到提高.

[解答] (1)增大主存容量,对H c基本不影响.虽然增大主存容量可能会使t m稍微有所加大,如果H c已很高时,这种t m的增大,对t a的增大不会有明显的影响·

(2)增大Cache中的块数,而块的大小不变,这意味着增大Cache的容量.由于LRU替换算法是堆栈型的替换算法,所以,将使H c上升,从而使t a缩短.t a的缩短是否明显还要看当前的H c处在什么水平上.如果原有Cache的块数较少,H c较低,则t a会因H c迅速提高而显著缩短.但如果原Cache的块数已较多,H c已很高了,则增大Cache中的块数,不会使H c再有明显提高,此时其t a的缩短也就不明显了。

(3)增大组相联组的大小,块的大小不变,从而使组内的块数有了增加,它会使块冲突突概率下降,这也会使Cache块替换次数减少.而当Cache各组组内的位置已全部装满了主存的块之后,块替换次数的减少也就意味着H c的提高。所以,增大组的大小能使H c提高,从而可提高等效访问速度。不过,Cache存贮器的等效访问速度改进是否明显还要看

目前的H c处于什么水平。如果原先组内的块数太少,增大组的大小,会明显缩短t a;如果原先组内块数已较多,则t a的缩短就不明显了。

(4)组的大小和Cache总容量不变,增大Cache块的大小,其对t a影响的分析大致与(3) 相同,会使t a缩短,但耍视目前的H c水平而定。如果H c已经很高了,则增大Cache块

的大小对t a的改进也就不明显了。

(5)提高Cache本身器件的访问速度,即减小t a,只有当H c命中率已很高时,才会显

著缩短t a。如果H c命中率较低时,对减小t a的作用就不明显了.

第四章

重点:P238 4.3.3 通道种类

4.5 已知中断服务次序为3-2-4-1,。

(1)中断屏蔽字表如下图;

(2)中断过程示意图如右图。

4.8

(1)f=2×105字节/秒,T=5us

(2)Ts+Td=5us,通道时间图如下。作图时注意:至少要画到最慢设备的第

二次请求出现,才能确定是否丢失数据(因为响应优先级低的设备较易丢失数据)。

(3)5,160,20,40;

(4)D2丢失第一次请求的数据; (5)参见P245。 4.7

4.9

设 优 备 先 号 级

D1

D2 D3 D4 时间

(us) 100+33.3+33.3+20+10

(2)I/O流量:0.25+0.25+0.5+4+4+5+6=20MB/S

主存流量的另一部分包含指令的执行带宽需求,执行指令的速度1GIPS×32/4=8GB/S,则取指令和取数据的带宽需求为:1%×8GB/S=,

综合得,主存的数据传输率应为,周期为

第五章

重点:P285 线性流水线的性能分析

P294 非线性流水线的调度技术

计算机系统结构模拟试题(5)

计算机组成原理模拟试题(2) 一、填空题:04分,每题02分 1、X=-0.1001 [X]原=_____________ [X]补=_____________[-X]补=_____________ Y=0.0101 [Y]原=_____________ [Y]补=_____________ [-Y]补=_____________ [X+Y]补=_____________ 2、对西文输出的字符设备,在计算机的内存储器中存储的是字符数据的每个字符的_____________码,输出(包括显示或打印)的则是每个字符的_____________,设备中的字符发生器的主要功能是解决从字符的_____________码和字符的_____________间的对应关系。 二、单选题:20分,每题02分 3、32 x 32点阵汉字的机内编码需要。 A: 16个字节 B: 32个字节 C: 32×2个字节 D: 32×4个字节 4、某机字长32位,采用原码定点整数表示,符号位为1位,数值位为31位,则可表示的最大正整数为,最小负整数为。 A: B: C: D: 5、在定点二进制运算器中,减法运算一般通过来实现。 A: 原码运算的二进制减法器 B: 补码运算的二进制减法器 C: 补码运算的十进制加法器 D: 补码运算的二进制加法器 6、在浮点数运算中产生溢出的原因是。 A: 运算过程中最高位产生了进位或借位 B: 参加运算的操作数超出了机器的表示范围 C: 运算的结果的阶码超出了机器的表示范围 D: 寄存器的位数太少,不得不舍弃最低有效位 7、无论如何划分计算机的功能部件,控制器部件中至少含有。 A: PC、IP B: PC、IR C: IR、IP D: AR、IP 8、某存储器容量为32K×16位,则 A: 地址线为16根,数据线为32根 B: 地址线为32根,数据线为16根

计算机体系结构第五章练习题参考解答

第 五 章 5.34 在一个采用组相联映象方式的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 地址的格式分别为: 主存按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章计算机系统结构的基本概念 1、有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。现若需第i级的N条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第 2、3和4级上一段等效程序各需要运行多长时间? 答:第2级上等效程序需运行:(N/M)*Ks。第3级上等效程序需运行:(N/M)*(N/M)*Ks。第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。 2、硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。 答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。只是反映在速度、价格、实现的难易程度上这两者不同。 3、试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。 答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。 (1)计算机的系统结构相同,但可采用不同的组成。如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。 (2)相同的组成可有多种不同的实现。如主存器件可用双极型的,也可用MOS型的;可用VLSI单片,也可用多片小规模集成电路组搭。 (3)计算机的系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。如为实现A:=B+CD:=E*F,可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的系统结构。要提高运行速度,可让相加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。但对面向寄存器的系统结构还要求寄存器能同时被访问,而对面向主存的三地址寻址方式的系统结构并无此要求,倒是要求能同时形成多个访存操作数地址和能同时访存。又如微程序控制是组成影响结构的典型。通过改变控制存储器中的微程序,就可改变系统的机器指令,改变结构。如果没有组成技术的进步,结构的进展是不可能的。 综上所述,系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持,同时要考虑可能采用和准备采用的组成技术。应避免过多地或不合理地限制各种组成、实现技术的采用和发展,尽量做到既能方便地在低档机上用简单便宜的组成实现,又能在高档机上用复杂较贵的组成实现,这样,结构才有生命力;组成设计上面决定于结构,下面受限于实现技术。然而,它可与实现折衷权衡。例如,为达到速度要求,可用简单的组成但却是复杂的实现技术,也可用复杂的组成但却是一般速度的实现技术。前者要求高性能的器件,后者可能造成组成设计复杂化和更多地采用专用芯片。 组成和实现的权衡取决于性能价格比等因素;结构、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有差异。软件的硬化和硬件的软件都反映了这一事实。VLSI的发展更使结构组成和实现融为一体,难以分开。 4、什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的? 存储器的模m交叉存取;浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存储器最小编址单位;Cache存储器。答:透明指的是客观存在的事物或属性从某个角度看不到。 透明的有:存储器的模m交叉存取;数据总线宽度;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构;串行、重叠还是流水控制方式;Cache存储器。 不透明的有:浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;字符行运算指令;访问方式保护;程序性中断;堆栈指令;存储器最小编址单位。P.S. 属于计算机系统结构的属性有:数据表示、寻址方式、寄存器组织、指令系统、存储组织、中断机构、I/O结构、保护机构等。 属于组成的属性有:数据通路宽度、专用部件设置、功能部件并行度、控制机构的组成方式,可靠性技术等。它着眼于机器内各事件的排序方式,控制机构的功能及部件间的关系。 属于实现的属性有:部件的物理结构、器件、模块的划分与连接、微组装技术、信号传输技术等,它着眼于器件技术和微组装技术。 5、从机器(汇编)语言程序员看,以下哪些是透明的? 指令地址寄存器;指令缓冲器;时标发生器;条件寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。答:透明的有:指令缓冲器、时标发生器、乘法器、主存地址寄存器、先进先出链、移位器 6、下列哪些对系统程序员是透明的?哪些对应用程序员是透明的? 系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。 答:对系统程序员透明的有:虚拟存储器;Cache存储器;程序状态字; 对应用程序员透明的有:系列机各档不同的数据通路宽度;“启动I/O”指令;“执行”指令;指令缓冲寄存器。 该题答案纯属本人个人见解。对系统程序员透明是否意味着有计算机系统结构透明,而对应用程序员透明则对应着对计算机组成透明呢?----lanjing 以下摘自南京大学出版社出版,李学干主编的辅导书

计算机系统结构模拟试题5

计算机组成原理模拟试题(2)一、填空题:04分,每题02分 =_____________ [X]补=_____________补-X][1、 X=-0.1001 [X]原 =_____________ =_____________ =_____________ [-Y]补Y]原=_____________ []补 Y=0.0101 [Y ]补=_____________ [X+Y对西文输出的字符设备,在计算机的内存储器中存储的是 字符数据的每个字符的、 2,设备中的字符_____________(包括显示或打印)的则是每个字 符的码,输出_____________间的对应关_____________发生器的主要功能是解决从字符的 _____________码和字符的系。分二、单选题:20分,每题02 。3、 32 x 32点阵汉 字的机内编码需要 A: 16个字节 B: 32个字节 2个字节 C: 32×个字节 D: 32×4位,则可表示位,数值位为314、某机字长32位,采 用原码定点整数表示,符号位为1 。,最小负整数为的最大正整数为 A: B: C: D: 来实现。 5、在定点二进制运算器中,减法运算一般通过 A: 原码运算的二进制减法器 B: 补码运算的二进制减法器 C: 补码运算的十进制加法器 D: 补码运算的二进制加法器 。 6、在浮点数运算中产生溢出的原因是运算过程中最高位产生了进位或借位 A: 参加运算的操作数超出了机器的表示范围B: C: 运算的结果的阶码超出了机器的表示范围寄存器的位数太少,不得不舍弃最低有效位 D: 。 7、无论如何划分计算机的功能部件,控制器部件中至少含有 IP A: PC、 IR B: PC、、IP C: IR D: AR、IP 8、某存储器容量为32K×16位,则 A: 地址线为16根,数据线为32根 根16根,数据线为32地址线为B: C: 地址线为15根,数据线为16根 D: 地址线为15根,数据线为32根 9、在统一编址方式下,存储单元和I/O设备是靠指令中的来区分的。

计算机系统结构课后答案

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

计算机体系结构习题答案解析

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

计算机系统结构模拟题

《计算机系统结构》模拟题 一.判断是非题,对的打√,错的打× 1.系列机是指由一个厂家生产的具有相同组成,但具有不同系统结构和实现的一系列不同型号的机器。 ( × ) 2.Cray 1向量处理机中,由于每个向量寄存器的长度为64,当实际需要处理的向量长度大于64时,它就不能够处理了。 ( × ) 3.按照Flynn 分类法,Illiac IV 阵列处理机是MIMD 计算机。 ( × ) 4.多级混洗交换网络是阻塞网络。 ( √ ) 二.填空题 1.多机系统的互连网络的通信模式可分为4种,其中,一对一的通信模式称为____单播_____模式,一对全体的通信模式为_____广播____模式,多对多的通信模式为____会议_____模式。 2.SIMD 计算机和流水线向量处理机都可以执行向量指令,前者采用___资源重复______并行性,后者采用___时间重叠______并行性。 3.系列机软件兼容必须做到___向后_____兼容,力争做到___向上_____兼容。 4.流水线消除瓶颈段的方法有____细分_____和____重复设置瓶颈段(可交换次序)_____2种方法。 5.设通道数据传送过程中,选择一次设备的时间为 s T ,传送一个字节的时间为D T ,则字 节多路通道最大流量等于____ D s T T 1 _____。 6.Illiac IV 8×8阵列中,网络直径为____7_____。 7.对堆栈型替换算法,增大分配给程序的___主存页面______,对第一级存储器的命中率就会单调____上升_____。 8.从网络的任何结点看,若网络拓扑结构都是相同的,则称这样的网络是___对称______网络。 三.单项选择题 1.在计算机系统层次结构中,从下层到上层,各层相对顺序正确的是( B )。 A.汇编语言机器级-操作系统机器级-高级语言机器级 B.微程序机器级-传统机器语言机器级-汇编语言机器级 C.传统机器语言机器级-高级语言机器级-汇编语言机器级 D.汇编语言机器级-应用语言机器级-高级语言机器级 2.Illiac IV 阵列处理机中,PE 之间所用的互连函数是( A )。

计算机系统结构_第五章练习 答案

第五章练习 1、描述计算机系统流水线的性能指标有哪些?其定义和定量表达式是什么? 指标主要有吞吐率、加速比、效率。 (1)吞吐率:在单位时间内流水线所完成的任务数量或输出的结果数量。 基本公式:TP=n/Tk,其中,n是任务数,Tk是处理完成n个任务所用的时间。 各个功能段执行时间均相等,输入连续n个任务的一条k段线性流水线的实际吞吐率为:TP=n/[(k+n-1) ?t] (2)加速比:完成一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。 基本公式:S=T0/Tk,其中,T0为不使用流水线所用的时间,Tk为使用流水 线的执行时间。 各个功能段执行时间均相等的一条K段流水线完成n个连续任务时的实际加速比为:s=k*n*?t/[(k+n-1) ?t]=k*n/( k+n-1). (3)效率:指流水线的设备利用率。 在时空图上,流水线的效率定义为n个任务占用的时空区与k个功能段总的时空区之比。即:E=T0/(k*Tk) 各个功能段执行时间均相等,输入连续n个任务的一条k段线性流水线的效率为:E=n/(k+n-1) 2、假设某个流水线由4个功能部件组成,每个功能部件的执行时间都为?t。当 连续输入10个数据后,停顿5?t,又连续输入10个数据,如此重复。 画出时空图,计算流水线的实际吞吐率,加速比和效率。 总时间:Tk=[(4+10-1)+2] *?t*n =15n*?t 实际吞吐率:TP=N/Tk=10n/(15n*?t)=2/(3?t) 不使用流水线所用的时间为T0=4*N*?t =40n*?t 加速比:S=T0/Tk=2.67 效率:E=T0/(k*Tk)=0.67

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

计算机系统结构复习题 单选及填空: 计算机系统设计的主要方法 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、从(使用语言的)角度可以将系统看成是按(功能)划分的多个机器级组成的层次结构。 2、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。 3、应用程序语言经(应用程序包)的(翻译)成高级语言程序。 4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。 5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。 6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。 7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。 8、微指令由(硬件)直接执行。 9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。 10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。以(软件)为主实现的机器成为虚拟机。(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。 11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。 12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。 13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术。14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。 15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组 成),主存器件的选定属于(计算机实现)。 16、设计何种系列机属于(计算机系统结构),系列机内不同型号计算机的组织属于(计算机组成)。 17、是否采用通道方式输入输出的确定属于(计算机系统结构),通道采用结合型还是独立型属于(计算机组成)。 18、对PDP-11或V AX-11来说,单总线结构属于(计算机系统结构),其机器级的I/O连接和使用方式属于(计算机组成)。 19、由于计算机组成和计算机实现关系密切,有人称它们为(计算机实现),即计算机系统的(逻辑实现)和(物理实现)。 20、计算机系统结构可有(由上而下)、(由下而上)和(由中间开始)三种不同的设计思路。 21、“由中间开始”设计的“中间”是指(层次结构中的软硬交界面),目前多数是在(传统机器级)与(操作系统级)之间。 22、除了分布处理,MPP和机群系统外,并行处理计算机按其基本结构特征可分为(流水线计算机)、(阵列处理机)、(多处理机)、(数据流计算机)四种不同的结构。 23、费林按指令流和数据流的多倍性把计算机系统分类,这里的多倍性指(系统瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数)。 24、费林分类法能反映出大多数计算机的并行工作方式和结构特点,但只能对(控制流)机器分类,不能对(数据流)机器分类,而且对(流水线处理机)的分类不确切。 25、我们把(着眼于软、硬件功能分配和确定程序设计所看到的机器级界面的计算机系统结构)称为从程序设计者看的计算机系统结构,而把(着眼于如何更好、更合理地实现分配给硬件的功能的计算机组成)称为从计算机设计者看的计算机系统能够结构。

计算机系统结构总复习题

一、单项选择题 1、直接执行微指令的是( ) A.汇编程序B.编译程序 C.硬件D.微指令程序 2、对系统程序员不透明的应当是( )。 A.Cache存贮器B.系列机各档不同的数据通路宽度C.指令缓冲寄存器D.虚拟存贮器 3、对机器语言程序员透明的是( )。 A.中断字B.主存地址寄存器 C.通用寄存器D.条件码 4、计算机系统结构不包括( )。 A.主存速度B.机器工作状态 C.信息保护D.数据 5、从计算机系统结构上讲,机器语言程序员所看到的机器属性是( )。A.计算机软件所要完成的功能B.计算机硬件的全部组成 C.编程要用到的硬件组织D.计算机各部件的硬件实现 6、计算机组成设计不考虑( )。 A.专用部件设置B.功能部件的集成度 C.控制机构的组成D.缓冲技术 7、以下说法中,不正确的是( )。 软硬件功能是等效的,提高硬件功能的比例会: A.提高解题速度B.提高硬件利用率 C.提高硬件成本D.减少所需要的存贮器用量 8、在系统结构设计中,提高软件功能实现的比例会( )。 A.提高解题速度B.减少需要的存贮容量 C.提高系统的灵活性D.提高系统的性能价格比 9、下列说法中不正确的是( )。 A.软件设计费用比软件重复生产费用高 B.硬件功能只需实现一次,而软件功能可能要多次重复实现 C.硬件的生产费用比软件的生产费用高 D.硬件的设计费用比软件的设计费用低 10、在计算机系统设计中,比较好的方法是( )。 A.从上向下设计B.从下向上设计 C.从两头向中间设计D.从中间开始向上、向下设计11、"从中间开始"设计的"中间"目前多数是在( )。 A.传统机器语言级与操作系统机器级之间 B.传统机器语言级与微程序机器级之间 C.微程序机器级与汇编语言机器级之间 D.操作系统机器级与汇编语言机器级之间 12、系列机软件应做到( )。 A.向前兼容,并向上兼容 B.向后兼容,力争向上兼容

计算机系统结构 课后习题答案(第2版)

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

计算机系统结构模拟题

《计算机系统结构》模拟题(补)一.单项选择题 1. SIMD是指()。 A、单指令流单数据流 B、单指令流多数据流 C、多指令流单数据流 D、多指令流多数据流 2. 磁盘外部设备适合于连接到()。 A.字节多路通道B.数组多路通道或选择通道 C.选择通道或字节多路通道D.数组多路通道或字节多路通道 3. 下列()存储设备不需要编址。 A. 通用寄存器 B. 主存储器 C. 输入输出设备 D. 堆栈 4.多处理机的各自独立型操作系统( )。 A.要求管理程序不必是可再入的 B.适合于紧耦合多处理机 C.工作负荷较平衡 D.有较高的可靠性 5.输入输出系统硬件的功能对( )是透明的。 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 6. 实现汇编语言源程序变换成机器语言目标程序是由()。 A.编译程序解释B.编译程序翻译 C.汇编程序解释D.汇编程序翻译 7.全相联地址映象是指( )。 A.任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间是固定的,而组任何虚页可以装入任何实页位置 D.组间可任意装入,组是固定装入 8.( )属于MIMD系统结构。 A.各处理单元同时受同一个控制单元的管理 B.各处理单元同时接受同一个控制单元送来的指令 C.松耦合多处理机和多计算机 D.阵列处理机

9.设16个处理器编号分别为0,1,2,…,15用Cube3互联函数时,第10号处理机与第( ) 号处理机相联。 A.11 B.8 C.14 D.2 10.若输入流水线的指令既无局部性相关,也不存在全局性相关,则( )。 A.可获得高的吞吐率和效率 B.流水线的效率和吞吐率恶化 C.出现瓶颈 D.可靠性提高 11.流水线的技术指标不包括( )。 A.响应比 B.吞吐率 C.加速比 D.效率 12.指令优化编码方法,就编码的效率来讲,方法最好是()。 A. 固定长度编码 B. 扩展编码法 C. Huffman编码法 D. 以上编码都不是 13.RISC 计算机的指令系统集类型是 ( ) 。 A. 堆栈型 B. 累加器型 C. 寄存器—寄存器型 D. 寄存器 - 存储器型 14.相联存储器的访问方式是( )。 A.先进先出顺序访问B.按地址访问 C.无地址访问D.按容访问 15.存储器读写速率越高,每位的成本也越高,存储容量也小。解决这一问题的主要方法是采用( )。 A.多级存储体系结构B.并行存储器 C. Cache D.缓冲技术 16.计算机系统多级层次中,从下层到上层,各级相对顺序正确的应当是()。 A.汇编语言机器级---操作系统机器级---高级语言机器级 B.微程序机器级---传统机器语言机器级---汇编语言机器级 C.传统机器语言机器级---高级语言机器级---汇编语言机器级 D. 汇编语言机器级---应用语言机器级---高级语言机器级 17.对系统程序员不透明的是()。 A.Cache 存储器 B.系列几各档不同的数据通路宽度 C.指令缓冲寄存器 D.虚拟存储器 18.在计算机系统设计中,比较好的方法是()。

计算机系统结构 第一章自考练习题答案教学内容

第一章计算机系统结构的基本概念 历年真题精选 1. 下列对系统程序员不透明的是()。 A. 乘法器 B. 先行进位链 C. 指令缓冲器 D. 条件码寄存器2.“从中间开始”设计的“中间”目前多数是在( D )。 A. 微程序机器级与汇编语言机器级之间 B. 操作系统机器级与汇编语言机器级之间 C. 传统机器语言机器级与微程序机器级之间 D. 传统机器语言机器级与操作系统机器级之间 3. 开发计算机系统结构并行性的主要技术途径有时间重叠、(资源重复)和(资源 共享)。 4. 计算机系统弗林分类法,把计算机系统分成单指令流单数据流(SISD)、单指令流多数 据流(SIMD)、(多指令流单数据流(MISD))和(多指令流多数据流(MIMD))四大类。 5. 设计指令系统时,以乘法运算为例,简述系统结构设计、计算机组成设计、计算机实现 各应考虑的问题。(P4) 6. 实现软件移植的途径有哪些?各受什么限制?(P14) 同步强化练习 一.单项选择题。 1. 实现汇编语言源程序变换成机器语言目标程序是由( C )。 A. 编译程序翻译 B. 编译程序解释 C. 汇编程序翻译 D. 汇编程序解释

2. 系列机软件应做到( B ) A. 向前兼容,并向下兼容 B. 向后兼容,力争向上兼容 C. 向前兼容,并向上兼容 D. 向后兼容,力争向下兼容 3. 在计算机系统多级层次结构中,机器级由低到高,相对顺序正确的应当是( B )。 A. 传统机器语言、汇编语言、操作系统 B. 微程序、传统机器语言、高级语言 C. 高级语言、汇编语言、传统机器语言 D. 传统机器语言、应用语言、高级语言 4. 可以直接执行微指令的是( C )。 A. 编译程序 B. 微程序 C. 硬件 D. 汇编程序 5. 计算机系统结构不包括( A )。 A. 主存速度 B. 数据表示 C. 机器工作状态 D. 信息保护 6. 对计算机系统结构透明的是()。 A. 是否使用通道型I/0处理机 B. 虚拟存储器 C. 字符行运算指令 D. VLSI技术 7. 在主存设计上,属计算机系统结构考虑的应是( C )。 A. 频宽的确定 B. 多体交叉还是单体 C. 容量和编址单位 D. 用MOS还是TTL 8. 计算机组成设计不考虑( B )。 A. 缓冲技术 B. 功能部件的集成度 C. 专用部件设置 D. 控制机构的组成 9. 下列说法中不正确的是( D ) A. 硬件的生产费用比软件的生产费用高 B.软件设计费用比软件重复生产费用高 C. 硬件功能只需实现一次而软件功能可能要多次重复实现 D. 硬件实际费用比软件设计费用低

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

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替换算法

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

计算机系统结构试题及答案 一、选择题(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配备大量的 通用寄存器、强调对指令流水线的优化)。

相关主题