第一章 绪论
填空题
-
实际应用程序;小测试程序
-
SPEC
-
同时性
-
SIMD;MISD;MIMD
-
MISD;MIMD
-
透明
-
计算机组成;计算机实现
-
被加速部分在系统中所占的比例;对被加速部分的性能提高程度
-
时间;空间
-
体系结构
-
翻译;解释
-
概念性结构;功能特性
-
相同体系结构;向后兼容
-
指令流;数据流
单选题
-
A
-
C
简答题
-
计算机体系结构是机器级程序员所看到的计算机的属性,即概念性结构与功能特性。
-
微处理器晶体管数目每18个月翻一倍。它揭示了集成电路工艺发展的规律。
-
响应时间也称执行时间,是指从事件开始到结束之间的时间。吞吐率(Throughput)指在单位时间内所能完成的工作量(任务)。用户以响应时间为标准,多道程序系统以吞吐率为标准。
-
在计算机技术中,对这种本来是存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性(transparency)。
-
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中的所占的重要性。
-
流水线计算机:主要通过时间重叠,让多个部件在时间上交错重叠地并行执行运算和处理,以实现时间上的并行。阵列处理机:主要通过资源重复,设置大量算术逻辑单元,在同一控制部件作用下同时运算和处理,以实现空间上的并行。多处理器系统:主要通过资源共享,让共享输入/输出子系统、数据库资源及共享或不共享存储的一组处理机在统一的操作系统全盘控制下,实现软件和硬件各级上相互作用,达到时间和空间上的异步并行。
-
从处理数据的角度,并行性等级从低到高可以分为:(1)字串位串:同时只对一个字的一位进行处理。(2)字串位并:同时对一个字的全部位进行处理。(3)字并位串:同时对许多字的同一位(称位片)进行处理。(4)全并行:同时对许多字的全部或部分位进行处理。
-
(1)20%~80%定律:一个指令系统中大约20%的简单指令在程序中经常重复使用,其使用量大约占整个程序的80%。而CISC指令系统中大约80%的指令是很少使用的,其使用量只占真个程序量的20%,且大多数为复杂的指令。(2)系统设计中硬件和软件之间折衷:要保持一个系统有较高的性能价格比,单靠增加硬件复杂度是不行的,必须把硬件软件结合起来互相配合,均衡考虑。(3)VLSI工艺技术发展:由于VLSI技术工艺的迅猛发展,使得在一块芯片上能够集成大量的寄存器,促使系统设计者能使用较快的寄存器-寄存器型指令,从而使指令系统更为精简,控制部件也更加简化,大部分用硬件逻辑实现,指令系统效率高。
-
衡量计算机系统性能可采用各种尺度,但最为可靠的衡量尺度是时间或速度。因为用这两个指标可以反映出计算机对用户输入响应的快慢,以及机器中执行各种操作的快慢,从整体上反映了系统的性能。时间有多种多样,如CPU时间,系统CPU时间。系统CPU时间的统计很难做到精确。当比较具有不同代码的机器时,由于系统CPU时间是不一样的。因而误差较大。故采用用户CPU时间作为衡量时间较为妥当。当然,衡量未加载系统的性能时,采用前述的响应时间较为合适,而衡量量CPU性能时,宜采用户CPU时间。
第二章 指令系统
填空题
-
堆栈型;通用寄存器型
-
堆栈;累加器
-
寄存器-存储器型;存储器-存储器型
-
load;store
-
80;20
-
跳转;分支
-
条件分支;过程返回
-
目标地址
-
算术和逻辑运算;数据传输
-
数据表示;数据结构
-
变长编码格式;固定长度编码格式
-
操作码字段;地址码字段
-
将寻址方式编码于操作码中;为每个操作数设置一个地址描述符
-
寄存器-寄存器;通用寄存器R0
-
双精度浮点;单精度浮点
-
数据描述符
单选题
-
B
-
D
简答题
-
指令的编码方法通常有三种:正交法、整体法、混合法。(1)正交法:指令中的每个分段(包括操作码、操作数地址等)互相独立,操作数地址的编码同操作码无关,反之亦然。在不同的操作码中,只要操作数地址内容相同,则寻址方式、数据类型都相同。采用这种方法,对流水线计算机特别适用,因为流水线中操作码的译码同地址的产生是在不同的站上于不同的时间进行的。这样使操作码的译码还可以在流水线中分成几步进行。正交法的另一个优点是在采用微程序控制时微程序数量可以较少,因为对应于每个操作码只有一种微程序,不会因其分段的不同而需执行不同的微程序。(2)整体法:指令中各个分段在译码时互相有关,操作码同操作数地址的分界线并不清楚。这种方法的好处是:可以把使用频度高的操作码同操作数地址码组合起来,加以缩短优化,而使用频度低的可以较长些,这样可以节省存储容量。但在用微程序控制时,微程序数量较多,需要有较大的微程序存储器。(3)混合法:这种方法把上两种方法的优点结合起来,把它们的缺点加以限制,使用频度高的操作码和地址码组合采用整体法,使之缩短编码,而把其余指令采用正交法编码。在一条指令中也可以一部分分段用整体法,一部分分段用正交法。
-
定义:为了缩短高级语言和机器语言的语义差距,可以使计算机内的数据具有自定义能力,这就是自定义数据表示。 分类:它包括带标志符的数据表示和数据描述符两类。(1)带标志符的数据表示:它描述简单数据,标志符是和每个数据值相连,存在同一存储单元内,除数值外,还附加了若干个标志位(tag)用来识别数据类型及特征。采用带标志符数据表示后,在执行指令时,对标志位进行解释。知道操作数属于哪一种数据表示,这样机器语言的运算符也和高级语言一样具有了通用性,从而简化了编译过程,提高系统编译效率。主要优点:A.简化了指令系统;B.容易检出程序编制中的错误;C.简化了编译程序;D.支持数据库系统;E.简化了程序设计;F.便于软件测试,支持应用软件开发。(2)数据描述符:用来描述复杂和多维数据,如向量、数组、记录等,描述符专用来描述所要访问一组数据的属性,包括整个数据块的地址长度及其他信息,它和数据字分开存储,机器经描述符形成访问每个元素的地址及其他信息(描述符或数据字),而数据字本身又是带标志符数据表示。 优点:描述符不仅描述数据类型,还可以描述其他信息特征,如数据信息,控制信息,中断信息等,这样使机器很快获得各类信息进入各种相应状态保护,而不必反复取指令取特征。
-
DLX是一个流水线处理器实例,是Hennessy和Patterson合著一书《Computer Architecture - A Quantitative Approach》中流水线处理器的例子,称为DLX处理器。DLX指令集结构是工作于DLX处理器上的指令系统。DLX指令集结构的设计思想:(1)具有一个简单的Load/Store指令集;(2)注重指令流水效率;采用定长指令格式编码;(3)简化指令的译码;(4)高效支持编译器。
-
数据表示是能由硬件直接识别和引用的数据类型。数据结构反映各种数据元素或信息单元之间的结构关系。数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据结构是软件、硬件的交界面。除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。(2)看引入这种数据表示后,其通用性和利用率是否高。
第三章 存储系统
填空题
-
速度;容量
-
容量;速度
-
高;程序局部性
-
组相联;直接
-
Cache块数
-
组相联映象;全相联映象
-
按写分配法;不按写分配法
-
写回法;写直达法
-
写回法;写直达法
-
写回法;写直达法
-
强制失效;容量失效;冲突失效
-
冲突;强制;容量
-
执行指令和读取数据能重叠执行;循环
-
小;快
-
延迟;带宽
-
降低失效率、减少失效开销、减少Cache命中时间
-
提高相联度
-
单体多字存储器;多体交叉存储器
-
命中率
单选题
-
C
-
C
-
C
-
D
-
A
简答题
-
(1)映象规则:当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块?(3)替换算法:当发生失效时,应替换哪一块?(4)写策略:当进行写访问时,应进行哪些操作?
-
全相联映象的特点:利用率最高,冲突概率最低,实现最复杂。直接映象的特点:利用率最低,冲突概率最高,实现最简单。
-
编译器把对数组的整行或整列访问改为按块进行,使得块内的访问具有较好的局部性,从而降低失效率。
-
不一定。对于给定的Cache容量,当块大小增加时,失效率开始是下降,后来反而上升了。主要因为增加块大小会产生双重作用。一方面它减少了强制性失效;另一方面,可能会增加冲突失效。
-
(1)加界保护方式:在CPU中设置了多个界限寄存器,每一个用户程序占用一对界限寄存器。当调入时,可以将其上界、下界存入界限寄存器中。这种保护方式是对存储区的保护,运用于段式管理。(2)键保护方式:将主存的每一页都设置一个存储器,给予一个键号,此键号存放在快表的表目中。对于每个用户的程序的各页,也设置一个程序键,给予一个键号。当该页由辅存调入主存时,就将其调入的实页号及其键号登记在快表中,将程序键号送入到程序状态字中。每次访问主存。首先进行键号比较,如果键号相等才允许访问,如同一把钥匙开一把锁,存放键与程序键键号的分配,由操作系统完成。(3)环保护方式:将系统程序和各用户程序按其功能的性质和要求分为几个级别,分别授予不同的权限。
第四章 流水线
填空题
-
时间;流水段
-
尽量相等;瓶颈段
-
线性流水线;非线性流水线
-
执行/有效地址计算周期;存储器访问/分支完成周期
-
译码;读寄存器
-
ALU指令;load指令
-
重复设置指令执行功能部件;流水
-
吞吐率;等功能非流水线
-
通过时间;排空时间
-
流水线寄存器的延迟;时钟扭曲
-
数据相关;控制相关
-
结构;数据
-
硬件开销;功能单元的延迟
-
写后读;读后写;写后读
-
水平处理方式;垂直处理方式
-
存储器;向量寄存器
-
源向量;结果向量
-
向量寄存器;向量功能部件
-
指令调度;循环展开
-
写后读;控制相关
-
不同的寄存器;测试;分支
-
互锁
-
1/△t
-
1/max{△ti}
-
结构
-
细分瓶颈段;重复设置瓶颈段
-
进一步再细分
单选题
-
B
-
C
-
B
-
C
-
A
-
C
简答题
-
(1)流水过程由多个相联系的子过程组成。(2)每个子过程由专用的功能段实现。(3)各个功能段所需时间尽量相等。(4)流水线有“通过时间”(第一个任务流出结果所需的时间)。在此之后流水过程才进入稳定工作状态,一拍流出一个结果。(5)流水技术适合于大量重复的时序过程,只有输入端连续提供任务,流水线效率才可充分发挥。
-
(1)定向技术;2)暂停技术;(3)采用编译器调度。
-
取指、译码、执行、访存、写回五个操作功能段。
-
把指令存储器和数据存储器分开,使每个存储器具有独立的读写端口。
-
效率指流水线的设备利用率。由于流水线有通过时间和排空时间,所以流水线的各段并非一直满负荷工作,所以效率是小于1的数。
-
定向技术是指流水线中将计算结果从其产生的地方直接送到真正需要它的地方,而不是从寄存器文件读出使用,它是一种解决数据相关,避免流水线暂停的方法。
-
两条指令i和j,都会访问同一寄存器R,假设指令i在指令j之前,指令i先写寄存器R而指令j后写寄存器R,称两条指令存在写后写相关。如果j在i之前完成写操作,R中将保存错误的结果。DLX中由于只在WB段这唯一的一段写寄存器,所以前后指令的写后写相关不会发生执行错误。
-
两条指令i和j,都会访问同一寄存器R,假设指令i在指令j之前,指令i先读寄存器R而指令j后写寄存器R,称两条指令存在读后写相关。流水线中如果j在i完成读之前向R中写入数据,将写入错误的结果。DLX中由于在ID段读寄存器而在WB段写寄存器,ID段在WB段之前,所以前后指令的读后写相关不会发生执行错误。
-
一个向量功能部件得到的结果直接送入另一个向量功能部件的操作数寄存器时所发生的连接过程称为链接。当两条指令出现“写后读”相关时,若它们不存在功能部件冲突和向量寄存器(源或目的)冲突,就有可能把它们所用的功能部件头尾相接,形成一个链接流水线,进行流水处理。链接特性实质上是把流水线“定向”的思想引入到向量执行过程的结果。
-
同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。
-
分割流水线各段逻辑的寄存器组。
-
(1)吞吐率:指在单位时间内流水线所完成的任务数或输出结果的数量。(2)流水线的加速比:指m段流水线的速度与等功能的非流水线的速度之比。(3)效率:指流水线的设备利用率。
-
(1)结构相关:当硬件资源满足不了指令重叠执行的要求,而发生资源冲突时,就发生了结构相关。(2)数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起数据相关。(3)控制相关:当流水线遇到分支指令和其它能够改变PC值的指令时,就会发生控制相关。
-
(1)流水化功能单元;(2)资源重复;(3)暂停流水线。
-
是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。
-
(1)超级标量计算机:在超级标量机的处理机中,配置了多个功能部件和指令译码电路,还有多个寄存器端口和总线,能同时执行多个操作。它是在程序运行时靠指令译码部件来确定有哪几条相邻指令可以并行执行,挖掘更多的指令并行性。这种用软件在编译时安排指令次序的方法,比在运行时用硬件解决要简单得多。(2)超长指令字计算机:是由编译程序在编译时找出指令间潜在的并行性,进行适当调度安排,把多个能并行执行的操作组合在一起,成为一条具有多个操作段的超长指令,由这条超长指令控制VLIW机中多个互相独立工作的功能部件,每个操作段控制一个功能部件,相当于同时执行多条指令。(3)超级流水计算机:超流水结构是把每一个流水级(一个周期)分成多个(例如3个)子流水级,而在每一个子流水级中取出的仍只有一条指令,但总的来看,在一个周期内取出了三条指令。对于超流水线结构,其中指令部件可以只有一套,也可以有多套独立的执行部件。它虽然每个机器周期只能流出一条指令,但它的周期比其它机器短,一台m度的超级流水线计算机的周期为一般机器周期的1/m,它的一个操作需要m个周期,因而在流水线能充分发挥作用时,其并行度能达到m。
第五章 互连网络
填空题
-
资源重复;资源共享
-
时间重叠;部件功能专用化
-
交换
单选题
-
A
-
A
简答题
- (1)时间重叠:多个处理过程在时间上相互错开,轮流重迭地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。(2)资源重复:根据“以数量取胜”的原则,通过重复地设置资源,尤其是硬件资源,以大幅度提高计算机系统的性能。(3)资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。