计算机系统结构(第五版)第5章
- 格式:ppt
- 大小:2.48 MB
- 文档页数:88
第五章存储层次知识点汇总存储器层次结构、存储层次性能参数(平均每位价格、命中率、平均访存时间)、存储层次4个问题、CPU 访存地址分割、全相联映像、直接映像、组相联映像、查找方法、替换算法(随机、先进先出、最近最少使用法)、写直达法、写回法、按写分配、不按写分配、Cache性能分析、3C失效(强制失效、容量失效、冲突失效)、Victim Cache、伪相联映像Cache、硬件预取、编译器优化(数组合并、内外循环交换、循环融合、分块)、写缓冲合并、单字宽存储器、多字宽存储器、多体交叉存储器、存储体、虚拟存储器(页式、段式)、快表(TLB)简答题1.单级存储器的主要矛盾是什么?通常采取什么方法来解决?(知识点:多级存储器)答:主要矛盾:(1) 速度越快,每位价格就越高。
(2) 容量越大,每位价格就越低。
(3) 容量越大,速度越慢。
采取多级存储层次方法来解决。
2.“Cache-主存”和“主存-辅存”层次的主要区别是什么?(知识点:存储层次)3.在存储层次中应解决哪四个问题?(知识点:存储层次的四个问题)答:(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
(3)替换算法:当发生失效时,应替换哪一块。
(4)写策略:当进行写访问时,应进行哪些操作。
4.地址映像方法有哪几种?它们各有什么优缺点?(知识点:地址映像)(1)全相联映像。
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2)直接映像。
实现查找的机制简单,速度快。
Cache空间的利用率较低,块冲突概率较高,因而Cache 的失效率也高。
(3)组相联映像。
组相联是直接映像和全相联的一种折中。
5.Cache的3C失效是哪三种失效?针对每种失效给出一种降低失效率的方法。
(知识点:3C失效)答:强制性失效、容量失效、冲突失效。
计算机系统结构第五版习题答案1.层次结构现代通用的计算机系统是由紧密相关的硬件和软件组成的。
从使用语言的角度,可以将系统看成是按功能划分的多层机器级组成的层次结构,由高到低分别为应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器语言机器级和微程序机器级。
2.计算机系统结构也称计算机体系结构,它只是系统结构中的一部分,指的是层次结构中的传统机器级的系统结构。
其界面之上包括操作系统级、汇编语言级、高级语言级和应用语言级中所有软件的功能,该界面之下包括所有硬件和固件的功能。
3.计算机实现指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术,信号传输,电源、冷却及整机装配技术等。
它着眼于器件技术和微组装技术,其中,器件技术在实现技术中起着主导作用。
4.数据表示指的是能由机器硬件直接识别和引用的数据类型。
5.霍夫曼压缩概念霍夫曼压缩概念的基本思想时,当各种事件发生的概率不均等时,采用优化技术,对发生概率最高的事件用最短的位数来表示,而对出现概率较低的事件允许用较长的位数来表示,就会使表示的平均位数缩短。
6.RISC精简指令系统(RISC),不是简单地把指令系统进行简化,而是通过简化指令的途径使计算机的结构更加简单合理,以减少指令的执行周期数,从而提高运算速度。
7.CISC复杂指令系统(CISC),设计风格力图缩小机器语言与高级语言的语义差距,使源程序长度尽可能的短,以及尽可能少的访问存储器和执行尽可能少的指令,以求获得高性能。
8.非专用总线可以被多种功能或多个部件所分时共享,同一时间只有一对部件可使用总线进行通信。
9.数据宽度I/O设备取得I/O总线后所传送数据的总量.10.中断响应次序是在同时发生多个不同中断类的中断请求时,中断响应硬件中的排队器所决定的响应次序。
11.中断处理次序中断处理完的次序,也即中断处理程序完成中断处理的次序。
计算机系统结构习题解答第一章习题一1.2一台经解释实现的计算机,可以按照功能划分成4级。
每一级为了执行一条指令需要下一级的N条指令解释。
若执行第1级的一条指令需K纳秒时间,那么执行第2、3、4级的一条指令个需要多少时间?解:①分析:计算机按功能分级时,最底层的为第1级。
向上一次是第2 、3、4级。
解释执行是在低级机器级上,用它的一串指令或语句来解释执行高一级上的一条指令的功能。
是逐条解释的。
②解答:执行第2、3、4级的一条指令各需KNns,KN2ns,KN3ns的时间。
1.3操作系统机器级的某些指令就用传统机器级的指令,这些指令可以用微程序直接实现,而不由操作系统自己来实现。
根据你对习题1.2的回答,你认为这样做有哪两个好处?答:可以加快操作系统操作命令解释的速度。
同时也节省了存放解释操作命令这部分解释程序所占用的空间。
简化了操作系统机器级的设计。
也有利于减少传统机器级的指令条数。
1.5硬件和软件在什么意义上是等效的?在什么意义上是不等效的?试举例说明。
答:硬件和软件在逻辑意义上是等效的。
在物理意义上是不等效的。
①在原理上,用硬件或固件实现的功能完全可以用软件来完成。
用软件实现的功能也可以用硬件或固件来完成。
功能一样。
②只是反映在速度、价格、实现的难易程度上,这两者是不同的。
性能不同。
③例如,浮点运算在80386以前一直是用软件实现的。
到了80486,将浮点运算器集成到了CPU中,可以直接通过浮点运算指令用硬件实现。
但速度却高的多。
1.9下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲器。
答:①对系统程序员和应用程序员均透明的:是全用硬件实现的计算机组成所包含的方面。
有:数据通路宽度、Cache存储器、指令缓冲器。
②仅对应用程序员透明的:是一些软硬件结合实现的功能。
有:虚拟存储器、程序状态字、“启动I/O”指令。
《大学计算机基础》第五版_第1-4章课后习题答案1.简述计算机系统的组成。
由硬件系统和软件系统组成2.计算机硬件包括那几个部分?分别说明各部分的作用。
a)主机和外设b)主机包括中央处理器和内存作用分别是指挥计算机的各部件按照指令的功能要求协调工作和存放预执行的程序和数据。
外设包括输入输出设备和外存,作用是接受用户输入的原始数据和程序并将它们转化为计算机可以识别的形式存放在内存中,将存放在内存中由计算机处理的结果转变为人们所能接受的形式。
3.指令和程序有什么区别?试述计算机执行指令的过程。
a)指令是能被计算机识别并执行的二进制代码,程序是计算机指令的有序集合。
b)取指令,分析指令,执行指令。
4.指令的串行执行和并行执行有什么区别?串行执行即在任何时刻只能执行一条指令,并行执行可以执行多条指令。
5.什么是流水线技术?在程序执行时多条指令重叠进行操作的一种准并行处理技术。
6.简述系统软件和应用软件的区别。
系统软件是指控制计算机的运行、管理计算机的各种资源、并为应用软件提供支持和服务。
应用软件是利用计算机的软、硬件资源为某一专门目的而开发的软件。
7.简述机器语言、汇编语言、高级语言各自的特点。
机器语言编程工作量大、难学难记难修改;汇编语言编程质量高,站存储空间少、执行速度快;高级语言接近自然语言和数学公式。
8.简述解释和编译的区别。
解释的翻译工作可立即执行,而编译的翻译工作不可立即装入机器执行。
9.简述将资源程序编译成可执行程序的过程。
首先产生一个与资源程序等价的目标程序,然后连接程序将目标程序和有关的程序库组合成一个完整的可执行程序。
10.简述常用各种高级语言的特点。
FORTRAN:用于科学计算。
COBOL:面向商业的通用语言。
C/C++:功能丰富,灵活,简洁明了。
BASIC:非结构化,功能少,速度慢。
JAVA:严谨可靠易懂。
11.什么是主板?它主要有哪些部件?各部件是如何连接的?a)主板(母版)是微型计算机中最大的一块集成电路板,也是其他部件和各种外部设备的连接载体。
第五章存储层次5.1名词解释1.存储层次——采用不同的技术实现的存储器,处在离CPU不同距离的层次上,目标是达到离CPU最近的存储器的速度,最远的存储器的容量。
2.全相联映象——主存中的任一块可以被放置到Cache中任意一个地方。
3.直接映象——主存中的每一块只能被放置到Cache中唯一的一个地方。
4.组相联映象——主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成若干组,每组由若干块构成)。
5.替换算法——由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。
这时,需要被迫腾出其中的某一块,以接纳新调入的块。
6.L RU——选择最近最少被访问的块作为被替换的块。
实际实现都是选择最久没有被访问的块作为被替换的块。
7.写直达法——在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。
8.写回法——只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。
9.按写分配法——写失效时,先把所写单元所在的块调入Cache,然后再进行写入。
10.不按写分配法——写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。
11.写合并——在往缓冲器写入地址和数据时,如果缓冲器中存在被修改过的块,就检查其地址,看看本次写入数据的地址是否和缓冲器内某个有效块的地址匹配。
如果匹配,就将新数据与该块合并。
12.命中时间——访问Cache命中时所用的时间。
13.失效率——CPU访存时,在一级存储器中找不到所需信息的概率。
14.失效开销——CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。
15.强制性失效——当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。
16.容量失效——如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。
第五章传输层5—01试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02网络层提供数据报或虚电路服务对上面的运输层有何影响?答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?答:都是。
这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04试用画图解释运输层的复用。
画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
5—05试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
5—06接收方收到有差错的UDP用户数据报时应如何处理?答:丢弃5—07如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08为什么说UDP是面向报文的,而TCP是面向字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。
UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
接收方UDP 对IP 层交上来的UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
第一章1.6 某台主频为400MHz 的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:求该计算机的有效CPI 、MIPS 和程序执行时间。
解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (或259460) (2)MIPS 速率=f/ CPI =400/1.776 =225.225MIPS (或2595180MIPS) (3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575μs1.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。
具体数据(1)改进后,各类操作的加速比分别是多少?(2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少? 解:根据Amdahl 定律SeFeFe S n +-=)1(1可得4类操作均改进后,整个程序的加速比:2.16)1(1≈+-=∑∑iii n S F F S1.10 第二章变长编码,哈夫曼编码第三章3.12 有一条指令流水线如下所示:(1)求连续输入10条指令的情况下,该流水线的实际吞吐率和效率。
(2)该流水线的瓶颈在哪一段?请采用两种不同的措施消除此瓶颈。
对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1)本题主要考察对各功能段用时不等的线性流水线的性能计算公式的掌握情况。
2200(ns)2009200)10050(50t n t T maxki i =⨯++++=∆-+∆=∑=)1(1流水 )(ns 2201T nTP 1-==流水45.45%1154400TP ktTP E k1i i≈=⋅=∆⋅=∑= 注意:对于公式不能死记硬背,需要充分理解,注意公式的适用条件。
第 5 章习题答案3.假定某计算机中有一条转移指令,采用相对寻址方式,共占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),CPU每次从内存只能取一个字节。
假设执行到某转移指令时PC的内容为200,执行该转移指令后要求转移到100开始的一段程序执行,则该转移指令第二字节的内容应该是多少?参考答案:因为执行到该转移指令时PC为200,所以说明该转移指令存放在200单元开始的两个字节中。
因为CPU每次从内存只能取一个字节,所以每次取一个字节后PC应该加1。
该转移指令的执行过程为:取200单元中的指令操作码并译码→PC+1→取201单元的相对位移量→PC+1→计算转移目标地址。
假设该转移指令第二字节为Offset,则100=200+2+Offset,即Offset = 100–202 = –102 = 10011010B(注:没有说定长指令字,所以不一定是每条指令占2个字节。
)4.假设地址为1200H的内存单元中的内容为12FCH,地址为12FCH的内存单元的内容为38B8H,而38B8H单元的内容为88F9H。
说明以下各情况下操作数的有效地址和操作数各是多少?(1)操作数采用变址寻址,变址寄存器的内容为12,指令中给出的形式地址为1200H。
(2)操作数采用一次间接寻址,指令中给出的地址码为1200H。
(3)操作数采用寄存器间接寻址,指令中给出的寄存器编号为8,8号寄存器的内容为1200H。
参考答案:(1)有效地址EA=000CH+1200H=120CH,操作数未知。
(2)有效地址EA=(1200H)=12FCH,操作数为38B8H。
(3)有效地址EA=1200H,操作数为12FCH。
5.通过查资料了解Intel 80x86微处理器和MIPS处理器中各自提供了哪些加法指令,说明每条加法指令的汇编形式、指令格式和功能,并比较加、减运算指令在这两种指令系统中不同的设计方式,包括不同的溢出处理方式。