1.从执行程序的角度看,并行性等级从低到高分为那几级?从执行程序的角度看,并行性等级从低到高可分为:(1)指令内部并行:单条指令中各微操作之间的并行。
(2)指令级并行(Instruction Level Parallelism,ILP):并行执行两条或两条以上的指令。
(3)线程级并行(Thread Level Parallelism,TLP):并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。
(4)任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元。
(5)作业或程序级并行:并行执行两个或两个以上的作业或程序。
2.计算机中提高并行性的技术途径有哪三种?(1)时间重叠。
多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
(2)资源重复。
通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。
(3)资源共享。
这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备3.从当前计算机技术来看,CISC结构有什么缺点?(1)CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构指令系统的复杂性带来了计算机系统结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
(5)在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机系统结构技术来提高系统的性能。
4.根据Amdahl定律,系统加速比有哪两个因素决定?系统加速比依赖于两个因素:(1)可改进比例:可改进部分在原系统计算时间中所占的比例。
(2)部件加速比:可改进部分改进以后的性能提高。
5.从处理数据角度,并行性等级由低到高分为哪几级?从处理数据的角度来看,并行性等级从低到高可分为:(1)字串位串:每次只对一个字的一位进行处理。
这是最基本的串行处理方式,不存在并行性;(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。
已开始出现并行性;(3)字并位串:同时对许多字的同一位(称为位片)进行处理。
这种方式具有较高的并行性;(4)全并行:同时对许多字的全部位或部分位进行处理。
这是最高一级的并行。
6.RISC的设计原则?(1)选取使用频率最高的指令,并补充一些最有用的指令。
(2)每条指令的功能应尽可能简单,并在一个机器周期内完成。
(3)所有指令长度均相同。
(4)只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行。
(5)以简单、有效的方式支持高级语言。
7.控制指令中试用PC相对寻址方式有什么缺点?(1) 有效地缩短指令中表示目标地址的字段的长度。
(2) 使得代码在执行时与它被载入的位置无关。
8.指令中表示寻址方式的主要方法有哪些?表示寻址方式有两种常用的方法:(1)将寻址方式编于操作码中,操作码在描述指令功能的同时也描述了相应的寻址方式。
这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。
(2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。
这种方式译码较慢,但操作码和寻址独立,易于指令扩展。
9.按流水级别来分,流水线分为哪三类?(1)部件级流水线(运算操作流水线):把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。
(2)处理机级流水线(指令流水线):把解释指令的过程按照流水方式处理。
(3)处理机间流水线(宏流水线):由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。
10.按数据表示来分,流水线分为哪两类?(1)标量流水处理机:处理机不具有向量数据表示,仅对标量数据进行流水处理。
(2)向量流水处理机:处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理。
11.预测分支失败方法的主要实现是什么?预测分支失败:沿失败的分支继续处理指令,就好象什么都没发生似的。
当确定分支是失败时,说明预测正确,流水线正常流动;当确定分支是成功时,流水线就把在分支指令之后取出的指令转化为空操作,并按分支目标地址重新取指令执行。
主要思想:当流水线译码到一条分支指令时,流水线继续取指令,并允许该分支指令后的指令继续在流水线中流动。
当流水线确定分支转移成功与否以及分支的目标地址之后,如果分支转移成功,流水线必须将在分支指令之后取出的所有指令转化为空操作,并在分支的目标地址处重新取出有效的指令;如果分支转移失败,那么可以将分支指令看作是一条普通指令,流水线正常流动,无需将在分支指令之后取出的所有指令转化为空操作。
12.定向技术主要思想是什么?在发生数据冲突时,后面的指令并不是立即就要用到前一条指令的计算结果。
如果能够将计算结果从其产生的地方直接送到需要它的地方,就可以避免暂停。
当定向硬件检测到前面某条指令的结果寄存器就是当前指令的源寄存器时,控制逻辑会将前面那条指令的结果直接从其产生的地方定向到当前指令所需的位置。
13.解释指令的静态调度与动态调度及二者区别?静态调度:当出现数据相关时,为了消除或者减少流水线空转,编译器确定并分离出程序中存在相关的指令,然后进行指令调度,并对代码进行优化动态调度:通过硬件重新安排指令的执行顺序,来调整相关指令实际执行的关系,减少处理器空转。
动态调度优点:(1)能够处理一些编译时情况不明的相关(比如涉及存储器访问的相关),并简化了编译器。
(2)能够使本来是面向某一流水线优化编译的代码在其他的流水线(动态调度)上也能高效地执行。
当然,动态调度的这些优点是以硬件复杂性的显著增加为代价的。
14.简述Tomasulo算法的思想。
核心思想是:①记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减小到最少;②通过寄存器换名来消除WAR冲突和WAW冲突。
寄存器换名是通过保留站来实现,它保存等待流出和正在流出指令所需要的操作数。
基本思想:只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。
指令的执行结果也是直接送到等待数据的其它保留站中去。
因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。
一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号。
指令流出逻辑和保留站相结合实现寄存器换名,从而完全消除了数据写后写和先读后写相关这类名相关。
15.在存储层次中应解决哪四个问题?(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
(3)替换算法:当发生失效时,应替换哪一块。
(4)写策略:当进行写访问时,应进行哪些操作。
16.在写回法中,用什么方法减少在替换时的写回?常采用“污染位”标志。
即为Cache中的每一块设置一个“污染位”(设在与该块相应的目录表项中),用于指出该块是“脏”的(被修改过)还是干净的(没被修改过)。
替换时,若被替换的块是干净的,则不必写回下一级存储器,因为这时下一级存储器中相应块的内容与Cache中的一致。
17.发生cache写失效时,是否调入相应块,有哪两种选择?(1)按写分配法:写失效时,先把所写单元所在的块调入Cache,然后再进行写入。
这种方法也称为写时取方法。
(2)不按写分配法:写失效时,直接写入下一级存储器而不将相应的块调入Cache。
这种方法也称为绕写法。
18.采用容量小且结构简单的cache有什么好处?(1)可以有效地提高Cache的访问速度。
因为硬件越简单,速度就越快。
小容量Cache可以实现快速标识检测,对减少命中时间有益。
(2)Cache足够小,可以与处理器做在同一芯片上,以避免因芯片外访问而增加时间开销。
(3)保持Cache结构简单可采用直接映像Cache。
直接映像Cache的主要优点是可以让标识检测和数据传送重叠进行,这样可以有效地减少命中时间。
19.增加cache块大小一定会降低失效率吗?不一定。
对于给定的Cache容量,当块大小增加时,失效率开始是下降,后来反而上升了。
主要因为增加块大小会产生双重作用。
一方面它减少了强制性失效;另一方面,可能会增加冲突失效。
20.DLX流水线寄存器的作用是什么?把数据和控制信息从一个流水段传送到下一个流水段。
21.流水线中有哪三种相关?是什么原因造成的?(1)结构相关:当硬件资源满足不了指令重叠执行的要求,而发生资源冲突时,就发生了结构相关(2)数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起数据相关。
(3)控制相关:当流水线遇到分支指令和其他能够改变PC值的指令时,就发生控制相关。
22.根据指令对寄存器的读写顺序,可将数据相关分为哪三类?(1)写后读相关(2)写后写相关(3)读后写相关23.什么是向量链接技术?当两条向量指令出现“写后读”相关时,若它们不存在功能部件冲突和向量寄存器(源或目的)冲突,就有可能把它们所用的功能部件头尾相接,形成一个链接流水线,进行流水处理。
24.根据CPU内部存储单元类型,将指令集结构分为哪几类?堆栈型指令集结构、累加器型指令集结构、通用寄存器型指令集结构。
26.现代大多数计算机均采用通用寄存器型指令集结构,为什么?主要有两个方面的原因,一是寄存器和CPU内部其他存储单元一样,要比存储器快;其次是对编译器而言,可以更加容易、有效地分配和使用寄存器。
27.通用寄存器指令集结构可以分为哪三类?寄存器-寄存器型。
寄存器-存储器型。
存储器-存储器型。
28.三种通用寄存器型指令集分别有哪些优缺点?29.计算机指令集结构所涉及的内容有哪些?(1) 指令集功能设计:主要有RISC和CISC两种技术发展方向。
(2) 寻址方式的设计。
(3) 操作数表示和操作数类型。
(4) 寻址方式的表示:可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的域来表示。
(5) 指令集格式的设计:有变长编码格式、固定长度编码格式和混合型编码格式三种。
30.单级存储器主要矛盾是什么?采取什么方法解决?主要矛盾:(1) 速度越快,每位价格就越高。
(2) 容量越大,每位价格就越低。
(3) 容量越大,速度越慢。
采取多级存储层次方法来解决。
31.地址映像方法有哪几种?各有什么优缺点?(1)全相联映像。
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2)直接映像。