计算机系统结构.docx
- 文档编号:26011293
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:13
- 大小:211.88KB
计算机系统结构.docx
《计算机系统结构.docx》由会员分享,可在线阅读,更多相关《计算机系统结构.docx(13页珍藏版)》请在冰豆网上搜索。
计算机系统结构
计算机系统结构
课 后 习 题
第一章 计算机系统结构的基本概念
5.从机器(汇编)语言程序员看,以下哪些是透明的?
指令地址寄存器;指令缓冲器;时标发生器;条件寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。
答:
透明的有:
指令缓冲器、时标发生器、乘法器、先进先出链、移位器、主存地址寄存器。
6.下列哪些对系统程序员是透明的?
哪些对应用程序员是透明的?
系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。
答:
对系统程序员透明的有:
系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器;
对应用程序员透明的有:
系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器;虚拟存储器;程序状态字;“启动I/O”指令。
note:
系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器属于计算机组成,对系统和程序员和应用程序员都是透明的。
虚拟存贮器、程序状态字、“启动I/O”指令,对系统程序员是不透明的,而对应用程序员却是透明的。
“执行”指令则对系统程序员和应用程序员都是不透明的。
8.实现软件移植的主要途径有哪些?
分别适用于什么场合?
各存在什么问题?
对这些问题应采取什么对策?
如果利用计算机网络实现软件移植,计算机网络应当如何组成?
第二章 数据表示与指令系统
1.数据结构和机器的数据表示之间是什么关系?
确定和引入数据表示的基本原则是什么?
答:
数据表示是能由硬件直接识别和引用的数据类型。
数据结构反映各种数据元素或信息单元之间的结构关系。
数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。
不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。
数据表示和数据结构是软件、硬件的交界面。
除基本数据表示不可少外,高级数据表示的引入遵循以下原则:
(1)看系统的效率有否提高,是否养活了实现时间和存储空间。
(2)看引入这种数据表示后,其通用性和利用率是否高。
3.堆栈型机器与通用寄存器型机器的主要区别是什么?
堆栈型机器系统结构为程序调用哪些操作提供了支持?
答:
通用寄存器型机器对堆栈数据结构实现的支持是较差的。
表现在:
(1)堆栈操作的指令少,功能单一;
(2)堆栈在存储器内,访问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。
而堆栈型机器则不同,表现在:
(1)有高速寄存器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是寄存器的,容量是主存的;
(2)丰富的堆栈指令可对堆栈中的数据进行各种运算和处理;(3)有力地支持高级语言的编译;(4)有力地支持子程序的嵌套和递归调用。
堆栈型机器系统结构有力地支持子程序的嵌套和递归调用。
在程序调用时将返回地址、条件码、关键寄存器的内容等全部压入堆栈,待子程序返回时,再从堆栈中弹出。
7.变址寻址和基址寻址各适用于何种场合?
设计一种只用6位地址码就可指向一个大地址空间中任意64个地址之一的寻址机构。
答:
基址寻址是对逻辑地址空间到物理地址空间变换的支持,以利于实现程序的动态再定位。
变址寻址是对数组等数据块运算的支持,以利于循环。
将大地址空间64个地址分块,用基址寄存器指出程序所在块号,用指令中6位地址码表示该块内64个地址之一,这样基址和变址相结合可访问大地址任意64个地址之一。
比如地址空间很大,为0-1023,只用6位地址码就可以指向这1024个地址中的任意64个。
剖析:
比如地址空间很大,1024,就是分成16个块,块号放在寄存器中,块内地址放在地址位中,寄存器内容和地址位结合,就能达到要求了。
题2.8
指令中常用下列寻址方式来得到操作数:
立即操作数、间接寻址、直接寻址、寄存器寻址、自相对寻址。
请分别说明这些寻址方法的原理,井对它们在如下4个方面进行比较:
可表示操作数的范围大小;除取指外,为获得操作数所需访问主存的最少次数;为指明该操作数所占用指令中的信息位数的多少;寻址复杂性程度。
[解答]指令为寻找或访问到所需操作数的某种寻址方式,其含义在不同的计算机中会有所差别。
下面,我们以大多数计算机中的情况来定义。
立即操作数的寻址原理是,操作数以常数形式直接存放在指令中操作码的后面。
一旦指令被取出,操作数也被取得,立即可以使用。
立即操作数由于受机器指令字长的限制,可表示数的范围小一般为8位或16位的二进制常数。
指令取出后,为获得操作数不需要再访存,即访存0次。
操作数所占用指令中的信息位数是立即数在可表示最大值范围时所要占用的二进位位数。
寻址的复杂性程度相对最低。
间接寻址可以有寄存器间接寻址和存贮器间接寻址两种。
其寻址原理是,在指令的操作数地址字段上只给出存放操作数在内存中物理地址的寄存器号或存贮单元地址。
先由指令操作数地址字段,从寄存器或存贮单元中取出数在存贮器中的地址。
再按此地址访存,才能间接取得所要的操作数。
有的计算机在存贮器间接寻址时,还可以有多重间接寻址,即从存贮单元中取出的内容作为地址。
再去访有时得到的并不是操作数,而只是操作数在内存中的地址,或是地址的地址。
如此顺序递推。
间接寻址访问到的操作数范围大,可以是主存中能访问到可表示数值范围最大的数。
除取指外,获得所需操作数所需访问主存的最少次数,对于奇存器间接寻址为一次对于存贮器间接寻址为两次。
为指明该操作数所占用指令中的信息位数,对于寄存器间接寻址来说,只是为寄存器编号所占用的二进位位数,这种位数一般很短(例如,16个通用寄存器的编号只需用4位二进位);而对于存贮器间接寻址来说,需占访存逻辑地址所需的全部位数。
间接寻址的复杂性一般最高。
其中,寄存器间接寻址较存贮器间接寻址简单,最复杂的是存贮器多重间接寻址。
直接寻址的原理是,由指令中操作数地址码字段给出存放操作数在内存中的有效地址或物理地址。
直接寻址可表示操作数值的范围大,可以是主存中能访问的可表示值范围最大的数。
除取指外,为获得所需操作数,需要再访问一次主存。
为指明操作数所占用指令中的信息位数,是访存单元的有效地址或物理地址所需要的位数。
直接寻址的复杂性较寄存器寻址的大,而它较寄存器间接寻址要简单些。
寄存器寻址的原理是,指令的操作数地址码宇段给出存放操作数所用的寄存器号。
可表示操作数的范围大小取决于存放操作数所用的寄存器的二进位位数。
除取指外,为获得操作数不用访存,即访存0次。
为指明操作数所占用指令中的信息位数,只是寄存器编号所占的二进位位数,很短。
例如,16个寄存器编号只需4位二进位。
寄存器寻址简单,其取数的时间要比访存的时间短很多。
自相对寻址方式主要用于转移指令形成转向目标地址,有的也用于访问存贮器找操作数。
以访问存贮器操作数寻址为例,指令中操作数字段给出所访问操作数存放在主存中相对于指令计数器当前值的位移地址。
自相对寻址所寻址的操作数可表示值范围大,可以是主存中能访问的可表示值范围最大的数。
除取指外,为获得操作数所需访存的次数为1次。
为指明该操作数所占用指令中的信息位数取决于允许的最大相对位移量大小。
寻址复杂性较直接寻址的略复杂些。
9经统计,某机器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码、只有两种码长的扩展操作码3种编码方式的操作码平均码长。
解:
等长操作码的平均码长=4位;Huffman编码的平均码长=3.38位;只有两种码长的扩展操作码的平均码长=3.4位。
14
15.设计RISC机器的一般原则及可采用的基本技术有那些?
答:
一般原则:
(1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级语言及其它功能的指令;
(2)减少寻址方式种类,一般不超过两种;
(3)让所有指令在一个机器周期内完成;
(4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数;
(5)大多数指令用硬联实现,少数用微程序实现;
(6)优化编译程序,简单有效地支持高级语言实现。
基本技术:
(1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操作系统等支持最有用的指令,使指令精简。
编码规整,寻址方式种类减少到1、2种。
(2)逻辑实现用硬联和微程序相结合。
即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。
(3)用重叠寄存器窗口。
即:
为了减少访存,减化寻址方式和指令格式,简单有效地支持高级语言中的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。
(4)用流水和延迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。
另外,将转移指令与其前面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省一个机器周期。
(5)优化设计编译系统。
即尽力优化寄存器分配,减少访存次数。
不仅要利用常规手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。
16简要比较CISC机器和RISC机器各自的结构特点,它们分别存在哪些不足和问题?
为什么说今后的发展应是CISC和RISC的结合?
答:
CISC结构特点:
机器指令系统庞大复杂。
RISC结构特点:
机器指令系统简单,规模小,复杂度低。
CISC的问题:
(1)指令系统庞大,一般200条以上;
(2)指令操作繁杂,执行速度很低;
(3)难以优化生成高效机器语言程序,编译也太长,太复杂;
(4)由于指令系统庞大,指令的使用频度不高,降低系统性能价格比,增加设计人员负担。
RISC的问题;
(1)由于指令少,在原CISC上一条指令完成的功能现在需多条RISC指令才能完成,加重汇编语言程序设计负担,增加了机器语言程序长度,加大指令信息流量。
(2)对浮点运算和虚拟存储支持不很强。
(3)RISC编译程序比CISC难写。
由于RISC和CISC各有优缺点,在设计时,应向着两者结合,取长补短方向发展。
第三章
3.对中断进行分类的根据是什么?
这样分类的目的是什么?
1MB370机把申断分为几类?
答案:
中断分类是把中断源按性质相近、申断处理过程类似的归为同一类。
分类的目的是为了减少中断处理程序的入口,每一类给一个中断服务程序总入口,可以减少中断服务程序入口地址形成的硬件数量。
IBM370计算机将中断类分为机器校验、访管、程序性、外部、输入/输出、重新启动6类
4,为什么要将中断类分成优先级?
如何分级?
IBM370的中断响应优先次序是什么?
在计算机系统中,不同的中断源可能在同一时刻向CPU发出不同的中断信号,也可能前一中断尚未处理完,紧接着又发生了新的中断。
此时,存在谁先被响应和谁先被处理的优先次序问题。
为了使系统能及时地响应和处理所发生的紧急中断,根据中断的轻重缓急,对各类中断规定了高低不同的响应级别
通常优先级最高的中断定为第1级,其次是第2级,再次是第3级……优先级高、低的划分,不同计算机有所差异。
通常机器校验为第1级,程序性和管理程序调用为第2级,外部为第3级,输入/输出为第4级,重新启动是最低级.
IBM370中断响应的优先次序为:
紧急的机器校验、管理程序调用和程序性、可抑制的机器校验、外部、输入/输出、重新启动
)
7总线控制方式有哪三种?
各需要增加几根用于总线控制的控制线?
总线控制优先级可否由程序改变?
答:
总线控制方式有串行链接,定时查询和独立请求3种.
串行链接需增加3根控制线,优先级线连固定,不能被程序改变,不灵活;定时查询需增加2+┌log2N┐根控制系,优先级可用程序改变,灵活;独立请求需增加2N+1根控制线,控制线可用程序改变,灵活。
第四章 存储体系
1.设二级虚拟存储器的TA1=10-7s、TA2=10-2s,为使存储层次的访问效率e达到最大值的80%以上,命中率H至少要求达到多少?
实际上这样高的命中率是很难达到的,那么从存储层次上如何改进?
解:
e=TA1/TA=TA1/(H*TA1+(1-H)*TA2)≥80%,H≥(10^5-5/4)/(10^5-1)。
这样的命中率很难达到。
为了降低对H的要求,可以选择高命中率的算法,可以减少相邻两级的访问速度差和容量差(这样做不利于降低存储器的平均每位价格),可在主、辅存储器间加一层电子磁盘,使存储体系中相邻两级的访问时间比不太大。
4.某虚拟存储器共8个页面,每页1024个字,实际主存为4096个字,采用页表法进行地址映象。
映象表的内容如下表所示。
虚页号
0
1
2
3
4
5
6
7
实页号
3
1
2
3
2
1
0
0
装入位
1
1
0
0
1
0
1
0
注:
我把虚页号加上了。
(1)列出会发生页面失效的全部虚页号;
(2)按以下虚地址计算主存实地址:
0,3728,1023,1024,2055,7800,4096,6800。
解:
(1)会发生页面失效的全部虚页号为:
2,3,5,7。
(2)
虚地址
虚页号
页内位移
装入位
实页号
页内位移
实地址
0
0
0
1
3
0
3072
3278
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
0
656
656
剖析:
(1)根据页表法列出表2,当装入位为0时,即为页面失效,再找出相对应的虚页号即可。
(2)虚页号=虚地址/页面大小
页内位移量=虚地址-虚页号*页面大小
实地址=实页号*页面大小+页内位移量
由于可以用替换算法解决页面失效的问题,所以,发生页面失效的虚页2,3,5,7仍然可以有相应的实地址,但这样要在页表中建立新的虚实地址对应关系,新的虚实地址对应关系和原来的对应关系相同的可能性就很小了。
6.设某程序包含5个虚页,其页地址为4,5,3,2,5,1,3,2,2,5,1,3。
当使用LRU算法替换时,为获得最高命中率,至少应分配给该程序几个实页?
其可能的最高命中率为多少?
12在一个页式二级虚拟存储器中,采用FIFO算法进行页面替换,发现命中率H太低,因此有下列建议:
(1)增大辅存容量;
(2)增大主存容量(页数);
(3)FIFO改为LRU;
(4)FIFO改为LRU,并增大主存容量(页数);
(5)FIFO改为LRU,并增大页面大小。
试分析上述各建议对命中率的影响情况。
解答:
(1)增大辅存容量,对命中率H无影响。
(2)增大主存容量(页数),可普遍提高命中率。
(3)FIFO改为LRU,一般可提高命中率。
(4)FIFO改为LRU,并增大主存容量(页数),一般可使命中率有较大提高。
(5)FIFO改为LRU,并增大页面大小,如果原来页面很小,则会使命中率显著上升,如果原来页面很大,则会使命中率下降。
19你对Cache存储器的速度不满,于是申请到一批有限的经费,为能发挥其最大经济效益,有人建议你再买一些同样速度的Cache片子以扩充其容量;而另有人建议你干脆去买更高速的Cache片子将现有的低速Cache片子全部换掉。
你认为哪种建议可取?
你如何做决定?
为什么?
解答:
Cache本身的速度与容量都会影响Cache存储器的等效访问速度。
如果对Cache存储器的等效访问速度不满,需要改进的话,就要作具体分析,看看现在Cache存储器的等效访问速度是否已接近于Cache本身的速度。
如果差得较远,说明Cache的命中率低,应从提高Cache命中率着手,包括调整组的大小、块的大小、替换算法以及增大Cache容量等。
如果Cache存储器的等效访问速度已经非常接近于Cache本身的速度还不能满足需要,就应该更换更高速的Cache片子。
第五章 重叠、流水和向量处理机
1.假设指令的解释分取指、分析与执行3步,每步的时间相应为t取指、t分析、t执行,
(1)分别计算下列几种情况下,执行完100条指令所需时间的一般关系式:
a.顺序方式;
b.仅“执行k”与“取指k+1”重叠;
c.仅“执行k”、“分析k+1”、“取指k+2”重叠;
(2)分别在t取指=t分析=2、t执行=1及t取指=t执行=5、t分析=2两种情况下,计算出上述各结果。
解:
(1)执行完100条指令所需时间:
a.100*(t取指+t分析+t执行);
b.t取指+100*t分析+99*max(t取指+t执行)+t执行;
c.t取指+max(t取指+t分析)+98*max(t取指+t分析+t执行)+max(t分析+t执行)+t执行。
(2)在t取指=t分析=2、t执行=1的情况下,执行完100条指令所需时间:
a.500
b.401
c.203
在t取指=t执行=5、t分析=2的情况下,执行完100条指令所需时间:
a.1200
b.705
c.510
13什么是超标量超流水线处理机?
超标量超流水线处理器机是超标量流水线与超流水线处理器机的结合.P199
第七章 多处理机
12 什么是对称多处理机?
在均匀存储器访问(UMA)系统中,一个共享存储器可以为所有处理器通过一个互联网络进行访问,就如同一个单处理器访问它的存储器一样。
所有处理器对任何存储单元有相同的访问时间。
用于UMA中的互联网络可以是单总线、多总线或者是交叉开关。
因为对共享存储器的访问是平衡的,故这类系统成为SMP(对称多处理器)系统。
每个处理器有相等的机会读/写存储器,也有相同的访问速度
13什么是大规模并行处理机?
什么是机群系统?
大规模并行处理机(MassivelyParallelProcessor)是由多个由微处理器,局部存储器及网络接口电路构成的节点组成的并行计算体系;节点间以定制的高速网络互联。
大规模并行处理机是一种异步的多指令流多数据流,因为它的程序有多个进程,它们分布在各个微处理器上,每个进程有自己独立的地址空间,进程之间以消息传递进行相互通信。
机群系统是将多个子高性能的工作站或是高档微型计算机,使用高速的通信网络加以互连组成的系统.在并行程序设计和集成开发环境的支持下,进行统一调度和协调处理,以实现对中,粗粒度并行进程的高效并行处理.机群系统中的主机和网络可以是同构的,也可以是异构的.
14机群系统与传统的并行处理系统相比,有哪些优点?
P265
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构