还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机系统结构张晨曦题目汇总2011-01-1010:25:01|分类计算机日志|标签计算机系统结构张晨曦|字号华南师范大学计算机学院荣誉出品
1、多处理机结构的特点是什么?多处理机实现并行的主要类型是哪种?多机系统的耦合度有哪些分类?书上找不到答案多处理机系统的特点:
1.结构灵活程序并行性,
3.并行任务派生
4.进程同步
5.资源分配和进程调度P26多处理机的隅合度分为紧密耦合和松散耦合两大类紧密耦合系统又称直接耦合系统在这种系统中,计算机之间的物理连接的带宽比较高,一般是通过总线或高速开关互连,可以共享主存由于具有较高的信息传输率,因而可以快速地并行处理多个作业或任务松散耦合系统又称间接耦合系统,一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)
2、同构型多处理机和异构型多处理机的特点是什么?它们所采用的提交并行性的技术途径有哪些?P:26异构型多处理机系统由多个不同类型、至少负担不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作同构型处理机系统由多个类型或至少负担同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务
3、跳转与分支的定义及作用?P:36当指令是无条件改变控制流时,称之为跳转指令;而当指令是有条件改变控制流时,则称之为分支指令作用用来改变控制流
4、指令系统编码格式有哪些?(P41图
2.8)(a)变长编码格式操作码地址描述符1地址码1……地址描述符n地址码n(b)固定长度编码格式操作码地址码1地址码2地址码3(c)混合型编码格式操作码地址描述符地址码操作码地址描述符1地址描述符2地址码操作码地址描述符地址码1地址码
25、什么是流水线的深度?该指标是否越大越好?为什么?流水线中的每个子过程及其功能部件称为流水线的级或段,流水线的段数称为流水线的深度(题解P44)不是流水线深度的增加可以让处理器时钟频率进一步提高,但带来的反面影响就是处理器的单周期执行效率降低、发热量上升,同时容易产生分支预测等问题
6、流水线的瓶颈的定义?一般来说,产生瓶颈的原因是什么?流水线中各段的时间应尽可能相等,否则讲引起流水线堵塞和断流,因为时间最长的段将成为流水线的瓶颈(P54)
7、流水线的最大吞吐率是如何定义的?影响线性流水线最大吞吐率有哪些?答当任务数趋向无限大时,吞吐率的极限即是最大吞吐率(书上没具体定义,这是个人的理解)流水线的最大吞吐率由时间最长的那个段决定(P59)
8、延迟分支方法有哪几种策略?各个策略的主要思想是什么?答向前调度、从目标处调度、从失败处调度向前调度它把位于分支指令之前的一条独立的指令移到延迟槽从目标处调度把目标处的指令拷贝到延迟槽同时,还要修改分支指令的目标地址从目标处调度实际上是猜测了分支是成功的从失败处调度当猜测错误时,要保证调度到延迟槽中的指令的执行不会影响程序的正确性(P82)
9.什么是向量指令的一个编队?编队有什么优点?答我们把能在同一个时钟周期内一起开始执行的几条向量指令称为一个编队(P103)同一个编队中的向量指令之间一定不存在流水功能部件的冲突、Vi冲突或数据的相关性
10、在向量流水处理机上,向量指令序列执行的特点是什么?编队执行时间如何确定?我们把能在同一时钟周期内一起开始执行的几条向量指令称为一个编队同一编队中的向量指令之间不存在流水功能部件的冲突、Vi冲突或数据的相关性编队后,这个微量指令序列的总的执行时间为各编队的执行时间的和,即书本P
10311、“主存—辅存”层次的目的是什么?“cache—主存”层次的目的是什么?“主存—辅存”层次的目的是为了弥补主存容量的不足 (书本P192)“cache—主存”层次的目的是为了弥补主存速度的不足
12、在“Cache—主存”层次中,CPU的访存地址分为哪几部分?CPU是按块进行管理的Cache和主存均被分割成大小相同的块信息是以块为单位调入Cache相应地,CPU的访存地址被分割成两部分块地址和块内位移
13、cache存储器采用组相联映像的基本原理是什么?答cache存储器采用组相联映像是指组间直接映像,组内各块之间是全相联映像
14、增加块大小的方法在降低不命中率以及提高相联度等方面的特点是什么?答增加块大小的方法在降低不命中率的同时会增加不命中开销,而提高相联度会增加命中时间
15、消息传递机器的原理是什么?答在消息传递机制中,消息一般是由若干个包组成,包的长度是固定的,但一条消息中所包含的包的个数可变的包又可以进一步分成一些更小的固定长度的单位,称为片消息寻径方式可以分为线路交换和包交换两大类包交换又分为存储转发、虚拟直通和虫蚀3种方式
16、从计算机系统结构来看,机器语言程序员看到机器属性是什么?属性是编程要用到的硬件组织(习题册P
10、
1.3习题,选择题
1.6)
17、流水处理机,多处理机,阵列处理机,机群系统能够实现并行处理吗?它们的工作原理是什么?它们都能够实现并行处理流水处理机原理利用流水线技术(将一个重复的时序过程,分解成为若干子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行)处理计算机任务的处理机(自己概括的)多处理机原理具有多个处理机的计算机(百度百科)阵列处理机原理:其核心是由多个处理单元构成的阵列,用单一的控制部件来控制多个处理单元对各自的数据进行相同的运算和操作(习题册P250)机群系统原理有多台同构或异构的的独立计算机通过高性能网络连接在一起而构成的高性能并行计算机系统构成机群的计算机都有自己独立的存储器、I\O设备和操作系统,他们在机群操作系统的控制下协同完成特定的并行计算任务(习题册P241)
18、信息按整数边界存储的主要优点有哪些?为了避免出现一个信息字被截断存储在两个存储字中的情况,可以要求信息宽度不超过主存宽度的信息必须存储在一个存储字内,不能跨边界(习题册P25)
19、RISC执行程序的速度比CISC要快的原因?采用寄存器窗口重叠技术对于RISC有何好处?RISC执行程序的速度比CISC要快是因为RISC指令平均执行周期数较少好处大大减少了程序调用引起的访存次数P
3220、线性流水线、动态流水线、静态流水线的特点是什么?线性流水线各段串行连接,没有反馈回路,数据通过流水线各段时,每段最多只流过一次动态流水线指同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能的流水线它允许某些段正在实现某种运算时,另一些段在实现另一种运算静态流水线同一时间内,多功能流水线中的各段只能按同一种功能的的连接方式工作当流水线要切换另一种功能时,必须等到前面的任务都流出流水线之后,才能改变连接(P61,根据定义回答的)
21、程序的局部性原理的定义是什么?它又分哪些局部性?这些局部性各有什么特点?(P10,名词解释或填空题)程序的局部性原理是指程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚局部性原理包括时间局部性和空间局部性时间局部性是指程序即将用到的信息很可能就是目前正在使用的信息空间局部性是指程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者邻近
22、指令系统的完整性与正交性是如何进行定义的?习题册P
342.
4.1答:完整性:在一个有限可用的存储空间内对于任何可解的问题编制计算机程序时指令系统提供的指令足够使用.正交性:指在指令中各个不同含义的字段如操作类型数据类型寻址方式字段等在编码时应互不相关相互独立.
23、排空时间指的是那段时间?习题册P60答:流水线中最后一个任务从进入流水线到流出结果所需懂得时间
24、流水线冲突是如何定义的?习题册P61答:指对于具体的流水线来说由于相关的存在使得指令流的下一条指令不能在指定的时钟周期开始执行
25、分段开采技术,循环开采技术,链接技术的定义分别是什么?答:分段开采技术(循环开采技术)——当向量长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段链接技术——当前一个向量功能部件长生第一个结果并送到结果向量寄存器的入口时,将该结果立即送往下一个功能部件的入口,开始后续的向量处理操作
26、采用动态分支预测技术的目的是什么?在所采用的方法中,需要解决哪些关键问题?答:目的有两个分支预测是否成功和尽快找到分支目标地址(或指令),从而避免控制相关造成流水线停顿需要解决的两个关键问题如何记录分支的历史信息;如何根据这些信息来预测分支的去向,甚至提前取出分支目标地址(或指令)
27、基于硬件的前瞻执行是把哪三种思想结合在一起的?答:
(1)动态分支预测用来选择后续执行的指令
(2)在控制相关的结果尚未出来之前,前瞻地执行后续指令
(3)用动态调度的基本快=块的各种组合进行跨基本块的调度
28、指令多流出处理器的流出能力受哪些因素的影响?P148程序所固有的指令级并行性硬件实现上困难超标量和超长指令字处理器固有的技术限制其中,第一个限制是最简单的也是最根本的因素第二个限制,是多留出的处理器需要大量的硬件资源(其他剩下的都是浮云,请明察)
29、什么是共享数据的迁移和复制?这么做的原因是什么?共享数据的迁移是把远程的共享数据项拷贝放在本处理器局部的Cache中使用,从而降低了对远程共享数据的访问延迟共享数据的复制是把多个处理器需要同时读取的共享数据项的拷贝放在各自局部Cache中使用,复制不仅降低了访存的延迟,也减少了访问共享数据所产生的冲突共享数据的迁移和复制对于提高访问共享数据的性能来说是非常重要的
30、增加块大小导致Cache不命中率先下降后上升的原因是什么?P208-209导致不命中率先下降后上升的原因,在于增加块大小会产生双重作用1增强了空间局部性,减少了强制性不命中2减少了Cache中块的数目,所以有可能会增加冲突不命中在块大小比较小的情况下,上述的第一种作用超过第二种作用,从而使不命中率下降但等到块大小较大时,第二种作用超过了第一种作用,就反而使不命中率上升了
31、降低cache不命中率有哪几种方法?简述其基本思想?题解P158题
7.37题型问答题答常用的降低cache不命中率的方法有下面几种
1、增加cache块大小,增加块大小利用了程序的空间局部性
2、增加cache的容量
3、提高相联度,降低冲突不命中
4、伪相联cache,降低冲突不命中当对伪相联cache进行访问时,首先是按与直接映像相同的方式进行访问如果命中,则从相应的块中取出所访问的数据,送给CPU,访问结束如果不命中,就将索引字段的最高位取反,然后按照新索引去寻找“伪相联组”中的对应块如果这一块的标识匹配,则称发生了“伪命中”否则,就访问下一级存储器
5、硬件预取技术指令和数据都可以在处理器提出访问请求前进行预取
6、由编译器控制的预取硬件预取的替代方法,在编译时加入预取的指令,在数据被用到之前发出预取请求
7、编译器优化通过对软件的优化来降低不命中率
8、“牺牲”cache在cache和其下一级存储器的数据通路之间增设一个全相联的小cache,存放因冲突而被替换出去的那些块每当发生不命中时,在访问下一级存储器之前,先检查“牺牲”cache中是否含有所需的块如果有,就将该块与cache中某个块做交换,把所需的块从“牺牲”cache调入cache
32、简述减小Cache不命中开销的几种方法?(题解P158题
7.38题型问答题)答
1、让读不命中优先于写
2、写缓冲合并
3、请求字处理技术
4、非阻塞cache或非锁定cache技术
5、采用二级cache
33.通过编译器对程序优化来改进Cache性能的方法有哪种?简述其基本思想(题解P158题
7.41题型问答题)答
1、数组合并通过提高空间局部性来减少不命中次数有些程序同时用相同的索引来访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突不命中可以将这些相互独立的数组合并成一个复合数组,使得一个cache块中能包含全部所需元素
2、内外循环交换循环嵌套时,程序没有按数据在存储器中的顺序访问只要简单地交换内外循环,就能使程序按数据在存储器中的存储顺序进行访问
3、循环融合有些程序含有几部分独立的程序段,他们用相同的循环访问同样的数组,对相同的数据作不同的运算通过将它们融合成一个单一循环,能使读入cache的数据被替换出去之前得到反复的使用
4、分块通过改进时间局部性来减少不命中分块不是对数组的整行或整列进行访问,而是对子矩阵或块进行操作
34、在设计Cache时并非都采用虚拟Cache,为什么?虚拟Cache有什么作用?(“原因”题解P158题
7.46;“作用”课本P220第一段题型问答题)答原因
1、每当进行进程切换时,由于新进程的虚拟地址(有可能与原进程的相同)所指向的物理空间与原进程的不同,故需要清空cache
2、操作系统和用户程序对于同一个物理地址可能采用两种以上不同形式的虚拟地址来访问他们可能会导致同一个数据在虚拟cache中存在两个副本作用虚拟cache是指可以直接用虚拟地址进行访问的cache,其标识存储器中存放的是虚拟地址,地址检测用的也是虚拟地址在命中时不需要地址转换,省去地址转换的时间另外,即使不命中,地址转换和访问cache是并行进行的,其速度比物理cache快很多
35、主存地址,逻辑地址,物理地址以及有效地址有什么关系?程序员编写程序时,使用的访存地址是什么?(题解P156题
7.2选择题)程序员编写程序时,使用的访存地址是逻辑地址
36、单体多字存储器,多体存储器各有什么作用?单级存储器的主要矛盾是什么?(题解P
147、P156题
7.29)在相同的器件条件下,如果要提高主存的带宽,可以采用这两种并行存储器结构单体多字存储器和多体交叉存储器单体多字并行存储器实现简单,但访存效率不高,而多体交叉存储器由多个单字存储体构成,每个体都有自己的地址寄存器以及地址译码和读写驱动等电路单级存储器的主要矛盾有
(1)速度越快,每位价格就越高;
(2)容量越大,每位价格就越低;
(3)容量越大,速度越慢
37、超标量的定义(题解P100题
5.1)一种多指令流出技术它在每个时钟周期流出多余的指令,但指令的条数不固定,依代码的具体情况而定,但有个上限
38、提高向量处理机的性能有哪些方法?(题解P74)为了提高向量处理机的性能,可采用多种方法设置多个功能部件,使它们并行工作;采用连接技术,加快一串向量指令的执行;采用循环开采技术,加快循环的处理;采用多处理机系统,进一步提高性能
39、非线性流水线的突出特点是什么?(课本P57题型填空和选择)答突出特点是有反馈回路
40、什么是MIPS?在MIPS的指令流水线中,可能发生的冲突有哪些?(题解P56题
3.6题型选择题)答
(1)一种基于RISC结构的微型处理器出处课本P47中间题型填空或简答题
(2)先流入的指令的写操作与后流入的指令的读操作之间的写后读冲突
41、“由中间开始设计”的“中间”目前多指那些?(题解P12题
1.31题型问答题)答指多级层次结构中的软硬件交界面,即传统机器级与操作系统机器级之间
42、计算机系统结构定义是什么?(课本P3)(题解P14名词解析题)答计算机系统结构是指传统机器语言程序员所看到的计算机属性,即概念性结构与功能特性
43、操作码优化的主要目的是什么?(题解P31选择题)答缩短指令字长;减少程序总位数;增加指令字表示的信息
44、编码的分类有哪些?平均码长最短的编码是什么?(题解P32选择题)(课本P38~P40)答共三种哈夫曼编码、等长扩展码、等长操作码平均码长最短的编码是哈夫曼编码
45.面向目标程序优化的思想是什么?减少程序的执行时间,并减少程序所占用的空间,即对大量的目标程序及其执行情况进行统计分析,找出哪些使用频率高、执行时间长的指令或指令串;对于使用频率高的指令,使用硬件加快其执行,对于使用频率高的指令串,用一条新的指令来代替
46.系列机是什么?它对计算机发展的意义?系列机软件兼容的基本要求是什么?系列机指基本指令系统相同、基本体系结构相同的一系列计算机(百度)/系列机是指由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的计算机(课本)系列机能较好地解决软件开发要求系统结构相对稳定与器件、硬件技术迅速发展的矛盾系列机的软件兼容有4种向上兼容、向下兼容、向前兼容、向后兼容向上(下)兼容是指按某档计算机编制的程序,布甲修改就能运行于比它高(低)档的计算机向后(前)兼容是指按某个使其投入市场的某种型号计算机编制的程序,不加修改就能运行于在它之后(前)投入市场的计算机
47.简述在指令操作码优化中哈弗曼压缩的基本思想?当各种事件发生的概率不均等时,可对发生概率高的事件用短的位数(时间)来表示(处理),而对于发生概率较低的事件,则可用较长的位数(时间)来表示(处理),从而使总的平均位数(时间)缩短
48.简述RICS结构的设计原则?
1.指令条数少,指令功能简单
2.采用简单而又统一的指令格式,并减少寻址方式
3.指令的执行在单周期内完成(采用流水线技术后)
4.采用load-store结构
5.大多数指令都采用硬连逻辑来实现
6.强调优化编译器的作用,为高级语言程序生成优化的代码
7.充分利用流水技术来提高性能
49.什么是流水寄存器?作用是?流水线每一个段的后面都要有一个缓冲寄存器(锁存器),成为流水寄存器P54作用在相邻的两段间传送数据,以提供后面流水段要用到的信息P
5450.解决流水线结构冲突的方法有?方法一在将要发生结构冲突的前一条指令访问存储器时,将流水线停顿一个时钟周期,推迟后面指令的执行操作二分别设置指令存储器和数据存储器或者只设置一个存储器但采用两个分离的Cache指令Cache,数据CacheP7551.有哪些方法可以处理由前瞻执行指令引起的异常?四种方法一立即处理每一个异常二借助专门的检测指令判断是否需要进行异常处理三为每个通用增加一个标志位“poison”位可继续异常将被立即处理,引发终止性异常时,目的寄存器R的poison位置1,否则改为清0当之后的另一条指令访问R时,若poison位为1将触发一个终止性异常四将指令的执行结果保存到再定序缓冲器内,并将指令流出的顺序依次确认,但是前瞻指令的确认时机却被推迟,直至能够确定该指令都的前瞻执行是正确(或错误)的P170-P
17152.采用链接技术时,向量指令能链接执行必须有哪些条件?
1.不出现功能部件冲突和其他Vi冲突
2.只有在前一条指令的第一个结果元素送入结果向量寄存器的那一个时钟周期才可以进行链接
3.当一条向量指令的两个源操作数分别来自于前面紧邻的两条指令的结果时,要求这两条指令产生运算结果的时间必须相等,即要求有关功能部件的通过时间相等
4.要进行链接执行的向量指令的向量长度必须相等,否则无法进行链接P99-P
10153、记分牌算法中,记分牌记录的信息由哪3部分构成?各部分功能是什么?P1173部分
(1)指令状态表记录正在执行的各条指令已经进入到了哪一段
(2)功能部件状态表记录各个功能部件的状态每个功能部件有一项,每一项由9个字段组成BusyOpFiFjFkQjQkRjRk
(3)结果寄存器状态表Result每个寄存器在该表中有一项,用于指出哪个功能不见(编号)将结果写入该寄存器如果当前正在运行的指令都不以它为目的寄存器,则其相应项伟“no”Result各项的初值为“no”(全0)
54、半性能向量长度的定义?P105半性能向量长度n1/2是指向量处理机的性能达到其最大性能R∞的一半时所需的向量长度它是评价响亮流水线的建立时间对性能影响的重要参数(若向量长度n=n1/2,则表示整个响亮流水处理时间中只有一半是在做有效操作,而另一半则是浪费掉了)
55、写更新协议的主要思想P304当一个处理器对某数据项进行写入时,它将该新数据广播给所有其它Cache这些Cache用该新数据对其中的副本(如果有的话)进行更新当然,如果知道其他Cache中都没有相应的副本,就不必进行广播和更新这样处理能够减少实现该协议所需的带宽P304有例子
56、写作废协议的主要思想(课本P304)在处理器对某个数据项进行写入之前,它拥有对该数据项的唯一访问权,具体做法是在处理器P进行写入操作之前,把所有其他cache中的副本全部作废这称为写作废协议
57、超流水的主要内容是什么?(课本P149)超流水线处理机在一个时钟周期内能够分时流出多条指令的处理机在流水处理机中,把一条指令的执行过程的5个流水段取指令、译码、执行、访存、写结果,进一步细分,这样使得在一个时钟周期内各流水段都在处理各自的多条指令
58、补偿代码的定义(课本P159)有一些复杂的调度机制可以确保在调度I的情况下保持执行结果不变,但需要向基本快elsepart中增加若干指令以保证结果正确,这些新增的指令被称为补偿代码
59、尾复制的定义及作用答定义超块调度时往往也需要进行代码复制,以确保结果的正确由于被复制的代码段总是作为退出超块后必须执行的补偿代码,故这种技术被形象地称为尾复制(练习P126)作用在超块调度中,除最后一个出口外,其余出口退出超块后利用尾复制技术完成余下的迭代工作尾复制实质上通过复制代码,使原超块扩展为更大的超级块,从而更好地进行指令级并行开发反映并行程序性能的一个重要的度量在并行计算中,它是指每次数据通信要进行的计算与通信开销的比值(练习P230)
60、前瞻执行的主要思想是什么?答前瞻执行并不仅仅是在数据相关或控制相关尚未消除的情况下,简单地将指令调度到与之相关的指令之前猜测执行,它还是通过一系列复杂的硬件机制完成异常处理、正确性保证等工作P
16961、命中时间的定义答访问Cache命中所需要的时间P
19062、不命中开销的定义答CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需要的时间P
19063、相联度的定义答在组相联中,每组所包含的块数n=M/G(P195)M未Cache的块数,见P193,G为Cache的组数,见P
19464、计算/通讯比指的是什么?答计算/通信比率是指反映并行程序性能的一个重要的度量如果比值较高,就意味着应用程序中相对于每次数据通信要进行较多的计算通常状况下,计算/通信比率随着处理的数据规模的增大而增大,随着处理器数目的增加而减少(P301)
65、多cache一致性的主要思想?答允许共享数据进入Cache,出现多个处理器的Cache中都有同一存储块的副本,当其中某个处理器对其Cache中的数据进行修改后,对某个数据项的任何操作均可得到其最新写入的值,则认为这个存储系统是一致的(P302)
66、IPC的定义?它的作用是?答
(1)定义每个时钟周期完成的指令条数,是CPI的倒数2作用衡量流水线最高性能的一个指标P
11167、全相联映像?组相联映像?它们的优点分别是什么?答
(1)全相联Cache空间的利用率高,块冲突概率低,Cache的不命中率也低
(2)组相联Cache被分成若干组,每组有若干个块构成,,主存中的每一块可以被放置到的Cache中唯一的一个组的任何一个位置,它是直接相联和全相联的一种折中P194到
19568、LRU替换算法的主要思想答这种方法本来是选择近期使用次数最少的块作为被替换的怀,但由于起实现比较复杂,现在实际上实现的LRU都只是选择最久没有被访问的块,一居室局部性原理的一个推论最近刚用过的块很可能就是马上要再用到的块,因此最久没有用的块就是最佳的被替换者(P199)
69、组相联映像、全相联映像以及直接映像三者的关系答
(1)全相联实现查找的机制复杂,代价高,速度慢Cache空间的利用率高,块冲突概率低,Cache的不命中率也低
(2)直接映像实现查找的机制简单,代价低,速度快Cache空间的利用率低,块冲突概率高,Cache的不命中率也高
(3)组相联映像是直接影响和全相联影响的这中课本P199或者白色练习册的P
70、监听协议的主要思想是?目录协议的主要思想是?目录协议的分类?每种分类的主要内容?答
(1)监听协议的基本思想是当物理存储器中的数据块被调入Cache时,其共享状态信息与该数据块一起放在该cache中系统中没有集中的状态表这些cache通常连接在共享存储器的总线上当某个cache需要访问存储器时,它会把请求防盗总线上广播出去,其他各个cache控制器通过监听总线(它们一直在监听)来判断它们是否有总线上请求的数据块,如果有,就进行相应的操作(P304)
(2)目录协议的基本思想——物理存储器中数据块的共享状态被保存在一个称为目录的地方目录协议采用了一个集中的数据结构——目录来实现Cache一致性对于存储器中的每一个可以调入Cache的数据块,在目录中设置一条目录项,用于记录该块的状态以及那些cache中有副本等相关信息这样,对于任何一个数据块,都可以快速地在唯一的一个位置(根据该存储器的地址来确定)中找到相关的信息这使目录协议避免了广播操作P310
(3)目录协议分为3类全映像目录,有限映像目录和链式目录P316
(4)全映像目录在这种结构中,每一个目录项都包含一个N位(N为处理机的个数)的位向量,其每一位对应一个处理机全映像目录的处理比较简单,速度比较快,但它的存储空间的开销比较大有限映像目录是对全映像目录的改进,为的是提高其可扩放性和减少目录所占用的空间核心思想是采用位数固定的目录项目,这是通过对同一数据块在所有Cache中的副本总数进行限制来实现链式目录用一个目录指针链表来表示共享集合当一个数据块的副本数增加(或减少)时,其指针链表就跟着变长(变短)由于链表长度不受限制,因此既不限制副本的个数,又保持了可扩展性P
31671、链式目录的分类?答分为单链法和双链法P
31772、在各种编码中,平均码长最短的编码是什么?它的主要思想是什么?答
(1)哈夫曼编码;2思想是当各种事件发生的概率不均等时,可以对发生概率最高的事件用位数最短的位数(时间)来表示(处理),而对于出现概率较低的事件,则可以用较长的位数(时间)来表示(处理),从而使总的平均位数(时间)缩短.P
3873、结构冲突、数据冲突、控制冲突产生原因、定义,如何消除?(课本P75,题解P49~P50)(求高手更新控制冲突)
(1)结构冲突产生原因功能部件不是完全流水或者资源份数不够,某种指令因为资源冲突而不能正常执行定义因硬件资源满足不了指令重叠执行的要求而发生的冲突消除方法对功能部件进行全流水处理或重复设置足够多的资源
(2)数据冲突产生原因当相关的指令彼此靠得足够近时,它们在流水线中的重叠执行或者重新排序会改变指令读/写操作数的顺序,使之不同于它们串行执行时的顺序定义当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突消除方法
①使用定向技术减少数据冲突引起的停顿
②设置流水线互锁机制检测和发现数据冲突,使流水线停顿至冲突消失
③依靠编译器解决数据冲突
(3)控制冲突产生原因分支指令或其他指令改变PC值,定义流水线遇到分支指令或其他会改变PC值的指令所引起的冲突消除方法
①冻结或者排空流水线
②预测分支失败
③预测分支成功
④延迟分支
74、什么是向量长度临界值?(题解P78,概念题)向量长度临界值是指向量流水方式的处理速度优于标量串行方式的处理速度时所需的向量长度的最小值
75、什么是Vi冲突?(题解P78,概念题)指多条向量指令的源向量或结果向量要使用相同的Vi
76、超长指令字?(题解P100,概念题)一种多指令流出技术VLIW处理机在每个时钟周期流出的指令条数是固定的,这些指令构成一条长指令或者一个指令包,在这个指令包中,指令之间的并行性是通过指令显式地表示出来的
77、指令的cpi是如何进行计算的?(书本111页)答CPI是cyclesperinstruction的缩写,意思是每条计算机指令执行所需的时钟周期它的计算方法是流水线处理机的实际CPI等于理想流水线的CPI加上各类停顿的时钟周期数CPI流水线=CPI理想+停顿结构冲突+停顿数据冲突+停顿控制冲突
78、指令操作码的哈夫曼编码(哈夫曼树)设计方法,以及操作码的平均码长的计算(书本
38、39页)答哈夫曼树的设计方法是将各事件按其使用频度从大到小依次排列,每次从中选择两个频度值最小的结点,将其合并成一个新的结点,并把新结点画在所选结点的上面,然后用两条边把新结点分别与那两个结点相连,新结点的频度值是所选两个结点的频度值的和把新结点与其他剩余未结合的结点一起,再以上面的步骤进行处理,反复进行,指导全部结点都结合完毕形成根结点为止平均码长的计算公式L=其中pi为频度,li为操作码的长度
79、2-4-6等长扩展编码的编码方法以及计算平均码长的方法?题解P154【题
7.58】设某台计算机有9条指令,各指令的使用频度分别为I152%I214%I312%I47%I56%I65%I72%I81%I91%试分别用哈夫曼编码和2-4-6等长扩展码为其操作码编码,并分别计算平均码长解哈夫曼树如下所示由哈夫曼树生成的哈夫曼编码和2-4-6扩展编码如下所示指令使用频度pi哈夫曼编码2-4-6编码I
10.52000I
20.1410001I
30.1211010I
40.0710101100I
50.0610111101I
60.0511101110I
70.0211110111100I
80.01111110111101I
90.01111111111110哈夫曼编码的平均码长为2-4-6扩展编码的平均码长
80、在多处理机系统中,根据有无远程访问情况来计算CP2的方法,以及系统快慢的比较没有远程访问时,CPI等于系统中指令基本CPI(这个题目一定会给出来的),有远程访问时,CPI=基本指令CPI+PXCC为远程访问开销=t/Tt为远程访问时间,T时钟周期P为远程访问率比较两种情况下的系统快慢,就将两种情况下计算出来的CPI相除,说远程访问的速度是没有远程访问速度的多少倍
81、静态指令调度方法的主要思想,以及程序中指令序列的调度方法在静态调度的超标量处理机中,指令按序流出所有的冲突检测都在流出时进行,由硬件检测当前流出的指令之间是否存在冲突以及当前流出的指令与正在执行的指令是否有冲突如果在当前的流出的指令序列中,某条指令存在着上述冲突,那么就只流出该指令之前的指令指令序列的调度方法指令调度是指要求充分开发指令之间存在的并行性,找出不相关的指令序列,让它们在流水线上重叠并行执行指令调度不会真正消除指令的相关,而是通过重新安排指令的流出顺序,使得指令间的相关尽可能少地引起流水线空转,从而减少整个指令序列在流水线的执行时间另外指令调度不能跨越分支指令
82、流水线的实际吞吐率和效率的计算方法?以及流水线中“瓶颈”的确定?流水线的实际吞吐率为TP=n/k+n-1△tK为流水线的段数,n为流水线的任务数,△t为短时间流水线的效率E=kn△t/kTkTk符号中的k是下标而已,Tk是一个完整的符号还可以写出,E=n/k+n-1流水线中“瓶颈”是指流水线的各段执行时间应该尽可能相等,否则会引起堵塞或断流现象执行时间长的段会成为整个流水线的瓶颈,这时,流水线的各个功能部件不能充分发挥作用
83、局部不命中率?全局不命中率?以及这二者在多Cache系统中的计算?局部不命中率对于某一级Cache来说局部不命中率=该级Cache的不命中次数/到达该级Cache的访存次数全局不命中率对于某一级Cache来说全局不命中率=该级Cache的不命中次数/CPU发出的访存总次数全局不命中率是一个比局部不命中率更有用的衡量指标,它指出了在CPU发出的访存中,究竟有多大比例是穿过各级Cache,最终到达存储器的(课本P214)题解P153【题
7.53】【题
7.54】可作参考(注在课本中找不到这两个名词的具体概念)
84、根据不命中率,通过提高相联度,或者提高Cache容量大小等方法来计算能够消除的最大不命中次数的方法题解P154【题
7.58】某个程序共访问存储器1000000次,该程序在某个系统中运行,系统中cache的不命中率为7%,其中,强制性不命中和容量不命中各占25%,冲突不命中占50%问
(1)当允许对该cache所做的唯一改变是提高相联度时,此时期望能够消除的最大不命中次数是多少?
(2)当允许同时提高cache的容量大小和相联,此时期望能够消除的最大不命中次数是多少?解
(1)提高cache的相联度,可以养活冲突不命中的次数,但不会影响强制性不命中和容量不命中的次数已知cache的不命中率为7%,程序共访问存储器1000000次,所以总的不命中次数为70000,其中50%为冲突不命中的次数因此,提高cache的相联度能够消除的最大不命中次数是70000x50%=35000
(2)当同时提高cache的容量大小和相联度时,可以消除容量不命中和冲突不命中的次数而这两种不命中占总不命中次数的75%,所以,能够消除的最大不命中次数是70000X75%=
5250085、流水时空图的画法?系统运行时钟周期的计算?(P54)图中横坐标表示时间纵坐标表示空间,即流水线中的流水段格子中的数字1代表第1个运算,2代表第2个运算,…第1个运算在时刻0进入流水线;第2个运算在时刻1进入流水线,同时第1个运算离开“求阶差”段而进入“对阶”段;第3个运算在时刻2进入流水线,同时第1个运算离开“对阶”段而进入“尾数相加”段,第2个运算离开“求阶差”段而进入“对阶”段;第4个运算在时刻3进入流水线,同时第1个运算离开“尾数相加”段而进入“规格化”段,第2个运算离开“对阶”段而进入“尾数相加”段,第3个运算离开“求阶差”段而进入“对阶”段;以此类推求阶差对阶尾数相加求阶差入出ΔtΔtΔtΔt空间通过时间排空时间规格化尾数相加对阶求阶差01234567…时间题解P59【题
3.41】在MIPS流水线上运行如下代码序列LOOP LWR10R2DADDIUR1R1#1SWR10R2DADDIUR2R2#4DSUBR4R3R2BNEZR4LOOP其中,R3的初值是R2+396假设在整个代码序列的运行过程中,所有的储存器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器组“定向”问
(1)在没有任何其他定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图假设采用排空流水线的策略处理分支指令,且所有的存储器访问都命中cache,那么执行上述循环需要多少个时钟周期?
(2)假设该流水线有正常的定向路径,请画出该指令序列执行的流水线时空图假设采用预测的策略处理分支指令,且所有的存储器访问都命中cache,那么执行上述循环需要多少个时钟周期?
(3)假设该流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指令进行调试,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数解
(1)寄存器读写可以定向,无其他旁路硬件支持排空流水线指令12345678910111213141516171819202122LWIFIDEXMWBDADDIUIFSSIDEXMWBSWIFSSIDEXMWBDADDIUIFIDEXMWBDSUBIFSSIDEXMWBBNEZIFSSIDEXMWBLWIFSSIFIDEXMWB第i次迭代(i=
0..98)开始周期1+(i+17)总的时钟周期数(98X17)+18=1684有正常定向路径,预测分支失败指令123456789101112131415LWIFIDEXMWBDADDIUIFIDSEXMWBSWIFSIDEXMWBDADDIUIFIDEXMWBDSUBIFIDEXMWBBNEZIFIDEXMWBLWIFmissmissIFIDEXMWB第i次迭代(i=
0..98)开始周期1+(iX10)总的时钟周期数(98X10)+11=991有正常定向路径单周期延迟分支LOOP LWR10R2DADDIUR2R2#4DADDIUR1R1#1DSUBR4R3R2BNEZR4LOOPSWR1-4R2第i次迭代(i=
0..98)开始周期1+(iX6)总的时钟周期数(98X6)+10=598指令1234567891011LWIFIDEXMWBDADDIUIFIDEXMWBSWIFIDEXMWBDADDIUIFIDEXMWBDSUBIFIDEXMWBBNEZIFIDEXMWBLWIFIDEXMWB
86、在长流水线指令中,使用分支目标缓冲,有分支预测错误的开销,有缓冲不命中的开销,此时如何计算CPI?如何与采用固定时钟周期延迟的分支处理程序进行执行速度上的比较?题解P97【题
5.27】假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期假设命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1
(1)求程序执行的CPI
(2)相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行的速度更快?解
(1)程序执行的CPI=没有分支的基本CPI
(1)+分支带来的额外开销分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和分支带来的额外开销=15%X(90%命中X10%预测错误X4+10%没命中X3)=
0.099所以程序执行的CPI=1+
0.099=
1.099采用固定的2个时钟周期延迟的分支处理CPI=1+15%X2=
1.3由
(1)
(2)可知分支目标缓冲方法执行速度快
87、向量处理机以及标量处理机的定义P72名词解析向量处理机——设置了向量数据表示和向量指令的流水线处理机标题处理机——不具有向量数据表示和向量指令的处理机
88、并行性、同时性、并发性的区别P16简答题并行性——计算机系统在现一时刻或者同一时间间隔内进行多种运算或操作只要在时间上相互重叠,就存在并行性它包括同时性与并发性两种含义并发性——两个或两个以上的事件在同一时间间隔内发生同时性——两个或两个以上的事件在同一时刻发生
89、计算机系统结构,计算机组成结构,计算机实现结构之间的关系P14简答题计算机系统结构——指传统机器语言程序员所看到的计算机属性,即概念性结构与功能特性计算机组成——指的是计算要系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等计算机实现——指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等关系计算机组成是计算机系统结构的逻辑实现计算机实现是计算机组成的物理实现一种系统结构可以有多种组成一种组成可以有多种实现
90、虚拟性、透明性的定义?(虚拟性在题解和课本都没找到,和透明性的定义在同一章的是虚拟机答案在题解P15虚拟性的答案是百度搜出的)答虚拟机用软件实现的机器透明性在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性虚拟性是指信息生产力的存在状态和外在表现是无形的它以知识、信息、消息、图象、文字作为自己的形式以场的状态而弥漫在空间
91、软件兼容有哪几种?软件兼容根本特征是什么?(课本P20题解P16)答软件兼容一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行差别只是执行时间的不同软件兼容有4种向上兼容,向下兼容,向前兼容,向后兼容软件兼容的根本特征是向后兼容
92、实现程序可移植性的主要途径?填空题答案在题解的P17题
1.17答统一高级语言、系列机、模拟、仿真
93、什么事指令系统的规整性(名次解析题解P34)答指令系统的规整性没有或尽可能减少例外的情况和特殊的应用,所有运算都能对称、均匀地在存储器单元或寄存单元之间进行
94、区分不同指令系统结构的主要因素是什么?根据这个主要因素可将指令系统结构分为哪三类?(题解P35题
2.19)答区别不同指令系统结构的主要因素是CPU中用来存储操作数的存储单元据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构
95、流水线加速比?流水线的效率?属名词解析题解P61答流水线加速比指使用顺序处理方式处理一批任务所用的时间与按流水处理方式出来同一批任务所用的时间之比流水线的效率即流水线设备的利用率,它是指流水线中的设备实际使用时间与整个运行时间的比值
96、流水线技术定义?它的通过时间指的是什么?属名词解析题解P60答流水线技术将一个重复的时序过程,分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行流水线通过时间流水线中第一个任务进入流水线到流出结果的所需的时间
97、名相关、反相关的定义?属名词解析题解P61答名相关如果两条指令使用了相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关反相关考虑两条指令i和j,i在j的前面,如果指令j所写的名与指令i所读的名相同,则称指令i和j发生了反相关
98、什么是分支目标缓冲?作用?题解P100,名词解析答分支目标缓冲是一种动态分支预测技术将执行过的成功分支指令的地址以及预测的分支目标地址记录在一张硬件表中在每次取指令的同时,用该指令的地址与表中所有项目的相应字段进行比较,以便尽早知道分支是否成功,尽早知道分支目标地址,达到减少分支开销的目的
99、ROB的作用是什么?题解P92,简答题答ROB(再定序缓冲器)是为实现前瞻执行而设置的,它在指令操作完成后到指令被确认这段时间,为指令保存数据,作为其它指令操作数的源正在前瞻执行的指令之间也是通过ROB传送结果的在前瞻执行机制中,Tomasulo算法中保留站的换名功能是由ROB来完成的
100、BHT是什么?其作用是什么?题解P100,名词解析答BHT是分支历史表用来记录相关分支指令最近一次或几次的执行情况是成功还是失败,并据此进行预测。