1、冯.诺依曼描述的计算机组成: 运算器。用于数值运算 存储器。用于存储数据和程序
输入输出设备。用于计算机和外部信息的交换
控制器。根据程序形成控制(指令、命令)序列,完成对数据的运算。 2、系列机:具有相同体系结构,但组成和实现不同的一系列型号的计算机系统
3、大概率事件优先原则(基本思想):对于大概率事件,赋予它优先的处理权和资源使用 权,已获得全局最优结果。 4、CPI:(指令时钟数)每条指令执行的平均时钟周期数。
5、计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
6、记分牌技术:在动态调度流水线中,所有指令在流出(IS)阶段是顺序的,但是在第二 阶段读操作数(RO)时,只要指令运行所需的资源满足并且没有数据阻塞,就应该允许 指令乱序执行。
7、Tomasulo算法:记分牌的关键部分和寄存器换名技术结合在一起,其基本核心是通过寄 存器换名来消除写后写和先读后写相关可能引发的流水线阻塞。
8、指令级并行:简称ILP。是指指令之间存在的一种并行性,利用它,计算机可以并行执行 两条或两条以上的指令。 9、指令的动态调度:是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进 行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施 的。
10、指令的静态调度:是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在 程序执行的过程中、而是在编译期间进行代码调度和优化的。
11、存储器的3个主要指标:容量、速度、每位价格
12、按写分配法:写失效时,先把所写单元所在的块调入Cache,然后再进行写入。 13、不按写分配法:写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。 14、写回法:只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。
15、写直达法:在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级 存储器中相应的块。 16、直接映象:主存中的每一块只能被放置到Cache中唯一的一个地方。 17、全相联映象:主存中的任一块可以被放置到Cache中任意一个地方。
18、组相联映象:主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache 分成若干组,每组由若干块
构成)。
19、CPU中用来存放操作数据单元主要有3种:堆栈,累加器和通用寄存器
20、寻址方式:指指令系统中产生所要访问数据地址的方法 21、能改变控制流的指令有四种:分支、跳转、过程调用、过程返回 22、控制指令:用来改变控制流 23、指令:操作码和地址码组成
24、MIPS指令可分为4大类:Load和Store、ALU操作、分支与跳转、浮点操作
25、流水线:将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地 在其专用功能段上与其它子过程同时执行。
26、流水线相关的3种类型:
结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。
数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结烦果而发生的 冲突。 控制冲突:流水线遇到分支指令或其它会改变PC值的指令所引起的冲突。 27、RAID:廉价磁盘冗余阵列或独立磁盘冗余阵列。
2.2 区别不同指令集结构的主要因素是什么?根据这个主要因素可将指令集结构分为哪3类? 答:区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。据此可将指 令系统结构分为堆栈结构、累加器结构和通用寄存器结构。
1.6某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下: 指令类型 指令执行数量 平均时钟周期数 整数 数据传送 浮点 分支 45000 75000 8000 1500 1 2 4 2 求该计算机的有效CPI、MIPS和程序执行时间。
解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS
(3)程序执行时间=(45000×1+75000×2+8000×4+1500×2)/400=575s
2.16、若某机要求:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位.每个地址码长为3位。问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。 答:①不能用扩展码为其编码。 ∵指令字长12位,每个地址码占3位;
∴三地址指令最多是2^(12-3-3-3)=8条, 现三地址指令需4条, ∴可有4条编码作为扩展码,
∴单地址指令最多为4×2^3×2^3=2^8=256条, 现要求单地址指令255条,∴可有一条编码作扩展码 ∴零地址指令最多为1×2^3=8条 不满足题目要求
∴不可能以扩展码为其编码。
②若单地址指令254条,可以用扩展码为其编码。 ∵依据①中推导,单地址指令中可用2条编码作为扩展码 ∴零地址指令为2×2^3=16条,满足题目要求
3.5 简述流水线技术的特点。 答:流水技术有以下特点:
(1)流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。 (2)流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。 (3)流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。
(4)流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。 (5)流水线需要有通过时间和排空时间。在这两个时间段中,流水线都不是满负荷工作。 MIPS的五个周期
取指令周期(IF)、指令译码/读寄存器周期(ID)、执行/有效地址计算周期(EX)、存储器访问/分支完成周期(MEM)、写回周期(WB)
流水线相关的3种类型:
结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。
数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结烦果而发生的冲突。 控制冲突:流水线遇到分支指令或其它会改变PC值的指令所引起的冲突。
3.12 有一指令流水线如下所示
(1) 求连续输入10条指令,该流水线的实际吞吐率和效率;
(2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少?
解:(1)
2200(ns) 200 9 200) 100 50 (50 t) 1n (t T max m1 i i pipeline ? ? ? ? ? ? ? ??? ) (ns 220 1 T n TP 1 pipeline ? ? ?
45.45% 11 5 4 400 TP mt TP E m1 i i ? ? ? ? ? ? ? ?? (2)瓶颈在3、4段。
6.11在有Cache的计算机系统中,进行I/O操作时,会产生哪些数据不一致问题?如何克服?
答:(1)存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取出来的是陈旧数据。I/O系统与存储器交换数据之后,在Cache中,被CPU使用的可能就会是陈旧数据。 第一个问题可以用写直达Cache解决。
第二个问题操作系统可以保证I/O操作的数据不在cache中。如果不能,就作废Cache中相应的数据。
3.18在CRAY-1机器上,按照链接方式执行下述4条向量指令(括号中给出了相应功能部件的执行时间),如果向量寄存器和功能部件之间的数据传送需要1拍,试求此链接流水线的通过时间是多少拍?如果向量长度为64,则需多少拍才能得到全部结果? V0←存储器(从存储器中取数:7拍) V2←V0+V1(向量加:3拍) V3←V2
解:通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是各功能流水线由空到满的时间,具体过程如下图所示。要得到全部结果,在流水线充满之后,向量中后继 操作数继续以流水方式执行,直到整组向量执行完毕。
? ? ? ? ?
4.3 根据需要展开下面的循环并进行指令调度,直到没有任何延迟。指令的延迟如表4.4。 LOOP:L.DF0,0(R1) MUL.DF0,F0,F2 L.DF4,0(R2) ADD.DF0,F0,F4 S.DF0,0(R2) DSUBIR1,R1,#8 DSUBIR2,R2,#8 BNEZR1,LOOP
解:将循环展开两次,进行指令调度,即可以消除延迟,代码如下: LOOP: L.D F0,0(R1) L.D F10,-8(R1) MUL.D F0,F0,F2 MUL.D F10,F10,F2 L.D F4,0(R2) L.D F14,-8(R2) ADD.D F0,F0,F4 ADD.D F10,F10,F14 DSUBI R1,R1,16 S.D 0(R2),F0 DSUBI R2, BNEZ R1,LOOP