计算机体系结构(5)

       	计算机体系结构试题库
填空题 (100题)
当代计算机体系结构的概念包括(指令集结构)、(计算机组成)和(计算机实现)三个方面的内容。
计算机部件的平均出售价是(部件开销)、(直接开销)和(毛利)三者之和。
在一个字中,两种表示字节顺序的习惯是(高端Big Endian)和(低端 Little Endian)。
通常根据CPU内部状态,可以将指令集结构分为(堆栈型)、(累加器型)和(通用寄存器型)三种类型。
在指令流水线中,解决控制相关的方法主要有:(冻结或排空流水线)、(预测发生)、(预测不发生)和(调度分支延迟)。
在存储器层次结构中,提高主存性能的方法主要有:(加宽存储器)、( 简单的交叉存储器)、(独立的存储块)、(避免存储器块冲突)和(DRAM特性交叉)。
I/O性能评价的指标主要包括:设备类型、设备数量、(响应时间)和(吞吐量)。
提高向量处理机性能的主要方法有:链接、(重叠执行)和(多个向量载入储存部件)。
一般并行性包含(并行)和(并发)两个方面。
开发并行性的主要途径有:(时间重叠)、(资源重复)和(资源共享)。
指令内部的并行属于(细)粒度并行。
流水线的数据相关有( RAW  )、(  WAW  )、(  WAR  )三种类型。
通用寄存器型指令集结构按其指令中的操作数个数和操作数的存储单元可以分为(  RR  )、( RM  )、( MM )三种类型。
根据CPU性能公式,程序的执行时间等于( IC )、(  CPI )及( T )三者的乘积。
对向量的处理有( 水平处理 )方式、( 垂直处理 )方式和( 分组处理 )方式。
DLX流水线可以分为( IF )、( ID )、( EX )、( MEM )、( WB )五个操作功能段。
在存储器层次结构中,Cache离CPU( 最近 ),而外存离CPU最远。
一般来说,按照CPU内部操作数的存储方式,可以将机器(指令集结构)分为:(      堆栈型      )、(    累加器型        )和(    通用寄存器型       )三种类型。
单机和多机并行性发展的技术途径有:(资源共享            )、(    资源重复         )和(       时间重叠       )。
存储器层次结构设计技术的基本依据是程序(     访问的局部性原理             )。
在计算机体系结构设计中,软硬件功能分配取决于(    性能价格比          )。
从主存的角度来看,“Cache—主存”层次的目的是为了(    提高速度           ),而“主存—辅存”层次的目的是为了(     扩大容量             )。
描述向量数据的参数有:(    向量起始地址        )、(   向量长度        )、(      向量间距    )。
程序循环是用(   转移指令                   )来实现,而微程序循环是用(          微指令地址转移测试方法                             )来实现的。
计算机组成指的是计算机系统结构的逻辑实现,计算机实现指的是计算机组成的物理实现
存储程序计算机以运算器为中心、所有部件的操作都由控制器集中控制。
指令集结构的正交特性是指令集的三个主要元素操作、数据类型和寻址方式两两在指令集结构中独立无关。
通道可分为三类:字节多路通道,选择通道,数组多路通道。
Cache的调度算法通常有预取法和按需取进法两种。
Cache失效可以分为 强制性失效 、 容量失效 和 冲突失效三种。
地址映象方法有多种,其中的直接相联硬件开销最小,全相联的冲突概率最小。
根据存储映象算法的不同,虚拟存储器主要有 段式、页式和段页式三种映象方式。
流水技术按处理的级别可分为部件级、处理机级和系统级。
通常,在进行指令集格式设计时,有(固定长度编码)、(可变长编码)和(混合编码)三种设计方法。
综合考虑不同的存储器实现技术,我们会发现:速度越快,每位价格就(越高);容量越大,每位价格就(越低);容量越大,速度(越慢)。
“Cache - 主存”与“主存 - 辅存”层次的区别
磁盘的每一磁道分成若干扇区,它是磁盘进行存储分配的物理基本单元,它们之间留有(不用的间隙)。
系列机的软件兼容主要包括(向前兼容)、(向后兼容)、(向下兼容)、(向上兼容)四种类型的兼容。
Amdahl定律表明系统的加速比依赖于(被加速部分在系统中所占的比例)和(对被加速部分的性能提高程度)两个因素。
通用寄存器型指令集结构按其指令中的操作数个数和操作数的存储单元可以分为(R-R)、(R-M)、(M-M)三种类型。
在大多数指令集结构的功能设计中必须考虑支持的三种类型的指令是(数据传输指令)、(算术和逻辑运算指令)和(控制指令)。
在指令系统设计中,表示寻址方式有(将寻址方式编码与操作码中)和(用地址描述符表示寻址方式)两种方法。
通常,在进行指令集格式设计时,有(定长)、(变长)和(混合)三种设计方法。
在DLX指令集结构中,有(32)个(32)位的通用寄存器,(32)个(32)位的单精度浮点寄存器,用(单精度浮点寄存器奇偶对)来表示双精度浮点寄存器,寻址方式为(寄存器寻址)、(立即值寻址)、(偏移寻址)和(寄存器间接寻址)。
在大多数指令集结构的功能设计中必须考虑支持的三种类型的指令是(算术和逻辑运算)、(数据传输)和(控制)。
在指令系统设计中,操作数类型的表示主要有(由操作码编码)和(附上由硬件解释的标记)两种方法。
减少流水线处理分支指令时的暂停时钟周期数有两种途径,一种是(尽早判断出分支转移是否成功),另一种是(尽早计算出分支转移的目标地址)。
在“Cache-主存”层次中,主存的更新算法有两种:(写回法)和(写直达法)。
在“Cache-主存”层次中,cache写失效时采用的两种调块策略有:(按写分配)和(绕写法)。
设计I/O系统的三个标准是(性能)、(价格)和(容量)。
互联网络根据工作行为可分为两类,一种是(动态网络),一种是(静态网络)。
DLX流水线可以分为(   取指     )、(   译码   )、(    执行   )、(   访存  )、(    写回   )五个操作功能段。
基本DLX流水线中,假设分支指令需要4个时钟周期,其它指令需要5个时钟周期,分支指令占总指令数的12%,问CPI=_4.88_,若把ALU指令的写回提前到MEM段,ALU指令占总指令数的44%,则CPI=_4.44_。
基本DLX流水线中,IF段操作可表示为:IF/ID.IR ← Mem[PC];IF/ID.NPC,PC ← (if EX/MEM.cond {EX/MEM.NPC} else {PC+4});
基本DLX流水线中,ID段准备操作数的动作可表示为:ID/EX.A ← Regs[IF/ID.IR6...10]; ID/EX.B ← Regs[IF/ID.IR11...15];ID/EX.Imm ← (IR16)16##IR16...31;
基本DLX流水线中,ALU指令在EX段的处理动作可表示为:EX/MEM.ALUOutput ← ID/EX.A op ID/EX.B 或EX/MEM.ALUOutput ← ID/EX.A op ID/EX.Imm;
基本DLX流水线中,ALU指令在EX段处理分支逻辑的动作可表示为:EX/MEM.cond ← 0;
基本DLX流水线中,load/store指令在EX段的处理动作可表示为:EX/MEM.ALUOutput ← ID/EX.A + ID/EX.Imm;
基本DLX流水线中,分支指令在EX段的处理动作可表示为:EX/MEM.ALUOutput ←ID/EX.NPC +ID/EX.Imm; EX/MEM.cond ←  (ID/EX.A op 0);
基本DLX流水线中,ALU指令在MEM段的处理动作可表示为:MEM/WB.ALUOutput ← EX/MEM.ALUOutput;
基本DLX流水线中,Load指令在MEM段的处理动作可表示为:MEM/WB.LMD ← Mem[EX/MEM.ALUOutput];
基本DLX流水线中,store指令在MEM段的处理动作可表示为:或Mem[EX/MEM.ALUOutput] ← EX/MEM.B;
基本DLX流水线中,ALU指令在WB段的处理动作可表示为:Regs[MEM/WB.IR16...20]← MEM/WB.ALUOutput;或Regs[MEM/WB.IR11...15]← MEM/WB.ALUOutput;
基本DLX流水线中,load指令在WB段的处理动作可表示为:Regs[MEM/WB.IR11...15]← MEM/WB.LMD;
假设流水线各段的时间相等,均为△t,则最大吞吐率 = 1/△t
假设流水线各段时间不等,第i段时间为△ti ,则最大吞吐率 = 1/max{△ti}。
假设m段流水线各段的时间相等,均为△t,则执行n个任务的实际吞吐率 = n/(m△t+(n-1) △t)。
假设m段流水线第i段时间为△ti,则执行n个任务的实际吞吐率 = n/(∑△ti+(n-1)△tj), △tj=max{△ti}。
消除瓶颈的两种方法为细分瓶颈段和重复设置瓶颈段。
m段流水线每段时间均为△t,则执行n个任务的实际加速比 = m/(1+(m-1)/n)
m段流水线每段时间均为△t,则最大加速比=m 。
m段流水线每段时间均为△t,则最大效率趋近于1。
m段流水线每段时间均为△t,则执行n个任务的效率= 1/(1+(m-1)/n)。
当流水线中数据和指令存在同一存储器中时,访存指令会引起存储器访问冲突,这种冲突是因为结构相关引起的。
延迟分支的三种调度方法是从前调度;从目标处调度;从失败处调度。
多级存储层次是利用程序局部性原理来设计的。
评价cache系统速度快慢的指标是平均访问时间。
CPU时间能够评价cache系统对整个CPU性能的影响。
响应时间是指从事件开始到结束之间的时间。
吞吐率指在单位时间内所能完成的工作量(任务)。
用户以响应时间为标准评价计算机性能。
多道程序系统以吞吐率为标准评价计算机性能。
流水线各个功能段所需时间应尽量相等。
Cache并行查找的两种实现方法是:利用相联存储器和利用单体多字存储器+比较器。
假设某程序中Load指令占26%,Store指令占9%,则写操作在所有访存操作中所占的比例为7%,写操作在访问数据Cache操作中所占的比例为25%。
评价存储系统性能时,CPU时间=IC×[CPIexe+每条指令的平均存储器停顿周期数]×时钟周期时间
改进Cache的性能的三种途径是降低失效率、减少失效开销、减少Cache命中时间。
减小强制性失效的方法有:增加块大小,预取。
减小容量失效方法是增加容量。
减小冲突失效的方法是提高相联度。
容量为128KB的8路组相联Cache命中时间为1.14ns,失效率为0.6%,失效开销为50ns,则其平均访存时间为1.44。
伪相联cache相对于组相联cache的缺点是:具有多种命中时间。
两级cache的应使第一级Cache容量大,速度快,使第二级Cache容量小。
主存的主要性能指标是延迟和带宽。
磁盘访问时间=寻道时间+旋转时间+传输时间+控制器时间
通信延迟=发送开销+跨越时间+传输延迟+接收开销。
流水线中解决数据相关的技术有定向技术、暂停技术、编译器调度。
DLX流水线避免控制相关的方法有把分支目标地址和条件的计算移到译码段进行、采用预测分支失败机制、采用延迟分支机制。
Cache一致性协议是维护多个处理器一致性的协议。
降低Cache命中时间的措施有采用容量小、结构简单的Cache和将写操作流水化以加快写命中。
项      目

Cache—主存层次

主存—辅存层次

目的

为了弥补主存速度的不足

(为了弥补主存容量不足)

存储管理实现

(主要由硬件实现)

主要由软件实现

CPU对第二级的访问方式

可直接访问

(通过主存访问)

失效时CPU是否切换

(不切换)

(不切换)



计算机体系结构试题库
判断题 (102题)
(√)执行时间不是唯一的性能指标,但它是最普遍的性能表示形式。
(×)根据Moore定律,DRAM的周期时间是每三年降低四倍。
(×)MIPS是测量计算机性能的一致性指标。
(√)在计算机性能测量中,调和平均的含义是单位时间机器能够执行的程序数。
(×)可以用典型程序来设计和优化指令集。
(×)增加流水线的级数总可以增加流水线的性能。
(×)多处理机系统中的素数模低位交叉存储器可以避免所有访存冲突。
(√)部件的可靠性通常可以用平均无故障时间来衡量。
(√)在向量处理机中,链接只能在顺序的Convoy(向量指令并行集)之间进行。
(×)n维超立方体单级互连网络中的节点数为n。
(×)MIPS和MFLOPS是计算机性能衡量的两个可靠指标。
(×)RISC结构的机器性能一定要比CISC结构的机器性能高。
(×)平均每条指令的执行周期数(CPI)与程序无关。
(√)CPU性能公式中指令条数(IC)与指令集格式和编译器有关。
(√)CPU的组织在一定程度上会影响CPU所能达到的频率。
(√)解释执行比翻译执行花的时间多,但存储空间占用较少。
(×)计算机体系结构设计这不必关心指令集具体实现。
(×)当前没有任何一种指令集结构是堆栈型结构,因为它已经过时了。
(√)虽然结构相关会影响流水线的性能,但是我们在具体的流水线设计中仍然允许一定的结构相关存在。
(×)程序的时间局部性指程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。
(×)程序的空间局部性指程序即将用到的信息很可能就是目前正在使用的信息。
(√)Amdahl定律揭示的性能递减规则说明如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的效果越小。
(×)Amdahl定律中“可改进比例”指可改进部分在改进系统计算时间中所占的比例。
(√)Amdahl定律中“部件加速比”指可改进部分改进以后性能的提高。
(√)传统机器级的机器语言是该机的指令集。
(×)由汇编语言写成的程序叫做汇编程序。
(√)机器功能的软件和硬件实现在逻辑上是等效的,但性能价格比是不等效的。
(√)集成电路基片成本和基片面积有一定比例关系。
(√)芯片研发费用指芯片毛利的一部分。
(×)集成电路芯片的成本主要取决于芯片生产数目。
(√)响应时间必须通过运行“真实程序”获得。
(×)程序在向量计算机上运行,不会出现数据相关和结构相关。
(×)通过操作系统的多进程技术可以完全回避I/O处理时间的问题。因为当一个进程在等待I/O处理的时候,另外的一些进程可以在CPU上运行。
(×)在Cache中,只要增加块容量,一定可以减小失效率。
(√)虚拟Cache中,CPU使用虚拟地址访问Cache。
(×)虚拟存储器页调度采用LRU算法的缺点之一是使CPU时钟频率下降。
(√)可以说向后兼容是系列机的根本特征。
(×)软硬件功能是完全等效的。
(×)机器工作状态的定义和切换对机器语言程序设计者来说是透明的。
(√)受应用程序的影响,计算机的地址位大约以每年1/2-1位的速度递增。
(×)基准程序能够完全预测一个程序在计算机上的运行性能。
(√)随着时间的推移,计算机系统的成本会逐渐降低。
(×)MIPS和MFLOPS都可以用来准确地评价计算机系统的性能。
(×)现代CPU中已经没有堆栈型和累加器型的指令集结构。
(√)编译器对应用程序的优化编译会增加控制指令在程序中所占的比例。
(×)Load/Store型机器体系结构设计一定要遵循指令集结构的规整性要求。
(×)流水线的效率在满负荷运行时可达1。
(√)用时空图上n个任务所占的时空区与m个段总的时空区之比可计算出流水线的效率。
(×)由于流水线的最大加速比等于流水线深度,所以增加流水段数总可以增大流水线加速比。
(√)流水线深度受限于流水线的延迟和额外开销。
(×)DLX流水线中,所有数据相关都可以通过定向技术解决。
(√)在DLX流水线中,可以在ID段检测所有数据相关。
(√)编译器可以通过重新排列代码的顺序来消除相关引起的暂停。
(√)向量处理机用每秒取得多少浮点运算结果来衡量机器速度,以MFLOPS作为测量单位。
(√)多级存储层次是利用程序局部性原理来设计的。
(√)“Cache-主存”层次:弥补主存速度的不足。
(√)“主存-辅存”层次: 弥补主存容量的不足。
(√)写调块策略是用于写操作失效时的策略。
(√)写合并是提高写缓冲利用率的技术。
(√)相联度越高,冲突失效就越少。
(×)强制性失效和容量失效也受相联度的影响。
(×)容量失效却随着容量的增加而增加。
(√)2:1的Cache经验规则说明容量为N 的直接映象Cache的失效率约等于大小为N/2 的两路组相联Cache的失效率。
(√)一些降低失效率的方法会增加命中时间或失效开销。
(×)具有越低失效率的计算机系统性能越高。
(×)具有越低平均访存时间的系统性能越高。
(×)具有越低失效率的存储系统性能越高。
(√)具有越低平均访存时间的存储系统性能越高。
(×)Victim Cache是位于CPU和Cache间的又一级Cache。
(×)伪相联cache取直接映象及组相联两者的优点,命中时间小,失效开销低。
(√)伪相联cache具有快速命中与慢速命中两种命中时间。
(×)预取必须和正常访存操作并行才有意义。
(√)预取必须和正常指令的执行并行才有意义。
(√)数据对存储位置的限制比指令的少,因此更便于编译器优化。
(√)Cache中的写缓冲器导致对存储器访问的复杂化。
(×)写回法Cache中不必使用写缓冲。
(×)评价第二级Cache时,应使用局部失效率这个指标。
(√)为减少平均访存时间,可以让容量较小的第一级Cache采用较小的块,而让容量较大的第二级Cache采用较大的块。
(√)预取只有在处理器能继续执行其它指令的同时进行才有意义。
(√)硬件预取通常需要非阻塞cache的支持。
(√)Cache命中时间往往会直接影响到处理器的时钟频率。
(√)采用容量小、结构简单的Cache会减小cache的命中时间。
(√)写操作流水化会减小cache的命中时间。
(√)素数模法是避免存储体冲突的一种方法。
(√)TLB是页表转换查找缓冲器。
(√)TLB中的内容是页表部分内容的一个副本。
(×)在共享存储器上支持消息传递比在消息传递的硬件上支持共享存储器困难得多。
(√)流水线吞吐率是指单位时间内流水线所完成的任务数。
(×)流水线可能达到其最大吞吐率。
(×)流水线加速比是指流水线最大润如率和实际吞吐率之比。
(√)Cache失效中必定包含强制性失效。
(×)Cache失效中必定包含容量失效。
(×)Cache失效中必定包含冲突失效。
(√)组相联或直接映象Cache中才可能存在冲突失效。
(√)支持“失效下命中”的cache是非阻塞Cache。
(×)虚存系统所用的cache称为虚拟Cache。
(√)有统一的时钟协调各个设备操作的总线是同步总线。
(×)硬件在预取时,如果出现虚地址故障或违反保护权限,就会发生异常。
(×)多处理机系统由多个不同类型的处理机组成。
(√)分布式共享多处理机是存储器分布到各个处理器上的多处理机系统。
(√)由多个同种类型组成的处理机称为同构型多处理机。
(√)同步消息传递机制中,处理器一个请求发出后一直要等到收到应答结果才能继续运行。


1.计算机体系结构:计算机体系结构包括指令集结构、计算机组成和计算机实现三个方面的内容。







2.透明性:在计算机技术中,对这种本来是存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性(transparency)。







3.程序访问的局部性原理:程序总是倾向于访问最近刚访问过的信息,或和当前所访问的信息相近的信息,程序对信息的这一访问特性就称之为程序访问的局部性原理。







4.RISC:精简指令集计算机。







5.CPI——指令时钟数(Cycles per Instruction)。







6.Amdahl定律——加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中的所占的重要性。







7.系列机:在一个厂家内生产的具有相同的指令集结构,但具有不同组成和实现的一系列不同型号的机器。







8.软件兼容:同一个软件可以不加修改地运行于体系结构相同的各档机器,而且它们所获得的结果一样,差别只在于有不同的运行时间。







9.基准程序:选择一组各个方面有代表性的测试程序,组成的一个通用测试程序集合,用以测试计算机系统的性能。







10.合成测试程序:首先对大量的应用程序中的操作进行统计,得到各种操作的比例,再按照这个比例人为制造出的测试程序。







11.Benchmarks:测试程序包,选择一组各个方面有代表性的测试程序,组成的一个通用测试程序集合。







12.核心程序:从真实程序提取出来的用于评价计算机性能的小的关键部分。







13.通用寄存器型机器:指令集结构中存储操作数的存储单元为通用寄存器的机器,称之为通用寄存器型机器。







14.Load/Store型指令集结构:在指令集结构中,除了Load/Store指令访问存储器之外,其它所有指令的操作均是在寄存器之间进行,这种指令集结构称之为Load/Store型指令集结构。







15.虚拟机器:(virtual machine),由软件实现的机器。







16.操作系统虚拟机:直接管理传统机器中软硬件资源的机器抽象,提供了传统机器所没有的某些基本操作和数据结构,如文件系统、虚拟存储系统、多道程序系统和多线程管理等。







17.并行性:是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。只要时间上互相重迭,就存在并行性。







18.时间局部性:程序即将用到的信息很可能就是目前正在使用的信息。







19.程序的空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。







20.操作



            

                

                     数表示:机器硬件能够直接识别处理的数据结构。







21.指令周期:执行一条机器指令所用的时间,包括取指令、分析指令和执行指令的时间。







22.寻址技术:确定操作数地址的技术。







23.流水线:将一个重复的时序过程,分解为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。







24.单功能流水线:只能完成一种固定功能的流水线。







25.多功能流水线:流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。







26.静态流水线:同一时间内,流水线的各段只能按同一种功能的连接方式工作。







27.动态流水线:同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。







28.部件级流水线:(运算操作流水线)把处理机的算术逻辑部件分段,以便各种数据类型进行流水操作。







29.处理机型流水线:(指令流水线)把解释指令的过程按照流水方式处理。







30.处理机间流水线:(宏流水线)由两个以上的处理机串行地对同一数据流进行处理,每一个处理机完成一项任务。







31.线性流水线:指流水线的各段串行连接,没有反馈回路。







32.非线性流水线:指流水线中除有串行连接的通路外,还有反馈回路。







33.标量流水处理机:处理机不具有向量数据表示,仅对标量数据进行流水处理。







34.流水线效率:流水线的设备利用率。







35.流水线寄存器文件:分割流水线各段逻辑的寄存器组。







36.指令发射:指令从流水线的译码段进入执行段的过程。







37.流水线定向技术:流水线中将计算结果从其产生的地方直接送到真正需要它的地方,而不是从寄存器文件读出使用,它是一种解决数据相关,避免流水线暂停的技术。







38.向量处理机:处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理。







39.结构相关:某些指令组合在流水线中重叠执行时,产生资源冲突,则称该流水线有结构相关。







40.数据相关:当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作的顺序,使得读/写操作顺序不同于它们非流水实现时的顺序,将导致数据相关。







41.写后写相关——两条指令i,j,i在j前进入流水线,j、i的操作数一样,在流水线中重叠执行时,j可能在i写入其结果之前就先行对保存该结果的寄存器进行写操作,导致写错误。







42.RAW相关:也



            

                

                     即写后读相关(RAW:read after write ),j的执行要用到i的计算结果,但是当其在流水线中重叠执行时,j可能在i写入其计算结果之前就先行对保存该结果的寄存器进行读操作,所以j会读到错误的值。这是最常见的一种数据相关。







43.WAR相关:也即读后写相关(WAR:write after read)两条指令i,j,i在j前进入流水线,j可能在i读某个寄存器之前对该寄存器进行写操作,导致i读出数据错误。







44.定向:将计算结果从其产生的地方直接送到其它指令需要它的地方,或所有需要它的功能单元,避免暂停。







45.向量流水处理机:具有向量数据表示、向量指令的流水线处理机叫向量流水处理机。







46.向量的链接:允许一个向量操作一旦它的向量源操作数的单个元素可用时就开始。







47.存储层次——采用不同的技术实现的存储器,处在离CPU不同距离的层次上,目标是达到离CPU最近的存储器的速度,最远的存储器的容量。







48.全相联映射策略:主存中的任意一块均可被放置到Cache中任意一个位置的方法。







49.组相联Cache映象:某一内存块只能放入Cache的某一固定组中,同时该块可以放入这一组中的任意一块。







50.Cache替换算法——当Cache块失效将主存块装入Cache又出现Cache块冲突时,需要按照某种策略把Cache中的一块替换出去,这种策略就称为替换算法。







51.Cache并行查找算法:在组相联或全相联cache中并行访问和比较多个tag,并行访问数据体的查找模式。







52.Cache串行查找算法:cache中串行依次行访问和比较多个tag,串行行访问数据体的查找模式。







53.写直达法:执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。







54.写回法:执行“写”操作时,只写入Cache。仅当Cache中相应的块被替换时,才写回主存。







55.按写分配:写失效时,先把所写单元所在的块调入Cache,再行写入。







56.不按写分配:写失效时,直接写入下一级存储器而不调块。







57.写合并:当把数据写入写缓冲器时,判断本次所写入单元的块地址是否与写缓冲器中某个有效块的地址相同,若是,则把新数据与该块合并。







58.Victim Cache——位于Cache和存储器之间的又一级Cache,容量小,采用全相联策略。用于存放由于失效而被丢弃(替换)的那些块。每当失效发生时,在访问下一级存储器之前,先检查Victim Cache中是否含有所需块。







59.按写分配法:当Cache失效时,先将要写的单元的相应的块调入Cache,然后再进行写操作。











            

                

                      60.Cache的强制性失效:当地一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。







61.TLB——转换查找缓冲器,用其可以将地址转换结果保存,这样就可以减少主存读写操作中的地址转换工作。







62.USB总线——通用串行总线。应用在PC领域的新型接口技术,USB 将取代当前PC上的串口和并口,目的是提供设备的热插拔和即插即用的能力。







63.消息通过时间:消息的通过时间是指消息的第一位从发送端到接收端所需要的时间。







64.磁盘寻道时间:磁盘的寻道时间是指将磁头从某一位置移动到所要访问的信息所在的磁道所需要的时间。







65.同步总线:有统一的时钟协调各个设备操作的总线。







66.故障性预取:是指在预取时,如果出现虚地址故障或违反保护权限,就会发生异常。







67.多处理机系统:由多个不同类型,至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行处理,各自完成规定的功能动作。







68.并行处理机:重复设置多个同样的处理单元(PE),按照一定的方式相互连接,在同一的控制部件(CU)作用下,各自对分配来的数据并行地完成同一条指令所规定的操作。







69.分布式共享多处理机——采用非集中式,存储器分布到各个处理器上的多处理机。







70.同构型多处理机——由多个同种类型、至少同等功能的处理机组成、同时处理同一作业中能并行执行的多个任务的机器。







71.异构型多处理机:由多个不同类型,至少担负不同功能的处理机组成,按照作业要求顺序,利用时间重叠原理,依次对它们的多个任务加工,各自完成规定的功能动作。







72.结点度:互联网络终于结点相连结的边的数目。







73.互连网络的直径:互连网络中任意两个结点之间最短路径长度的最大值。







74.流水线吞吐率:是指单位时间内流水线所完成的任务数或输出结果的数量。







75.流水线最大吞吐率:是指流水线在达到稳定状态后所得到的吞吐率。







76.流水线实际吞吐率:是指m段流水线完成n个任务所达到的吞吐率。







77.流水线加速比:是指流水线速度与等功能的非流水线速度之比。







78.流水线暂停:流水线控制某条指令及其后面所有指令的执行,使该指令之前的所有指令继续执行的技术。







79.强制性失效:当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache,这就是强



            

                

                     制性失效,也称冷启动失效或首次访问失效。







80.容量失效:如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就会发生失效。这种失效称为容量失效。







81.冲突失效:在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。这就是发生了冲突失效。(碰撞失效,干扰失效)







82.非阻塞Cache:Cache失效时仍允许CPU进行其它的命中访问。即允许“失效下命中”







83.虚拟Cache:访问Cache的索引以及Cache中的标识都是虚拟地址的一部分。







84.RAID:廉价磁盘冗余阵列,简称盘阵列技术。







85.RAID 1: 镜像盘,使用双备份磁盘。







86.RAID 2: 位交叉式海明编码阵列。







87.RAID 3: 位交叉奇偶校验盘阵列。







88.RAID 4: 专用奇偶校验独立存取盘阵列。







89.RAID 5: 块交叉分布式奇偶校验盘阵列。







90.RAID 6: 双维奇偶校验独立存取盘阵列。







91.同步总线;同步总线上所有设备通过统一的总线系统时钟进行同步。







92.异步总线:设备之间没有统一的系统时钟,设备自己内部定时。设备之间的信息传送用总线发送器和接收器控制。但在传输时,异步总线需要额外的同步开销。







93.I/O总线标准:定义设备连接规则的文件。







94.并行计算:指同时对多个任务或多条指令、或对多个数据项进行处理。







95.并行计算机系统:是将多个处理器通过网络以一定的连接方式有序地组织起来,能够完成并行计算的计算机系统。







96.同步消息传递:请求处理器发送一个请求后一直要等到应答结果才继续运行。







97.异步消息传递:发送方不先经请求就直接把数据送往数据接收方。







98.集中式共享存储器体系结构:多个处理器共享一个存储器的多处理系统结构。







99.Cache一致性协议:对多个处理器维护一致性的协议。







100.分布式共享存储器体系结构:存储器分布于各结点中,所有的结点通过网络互连。访问可以是本地的,也可是远程的。



计算机体系结构试题库
简答题 (100题)


简述CISC结构计算机的缺点。
答:

在CISC结构的指令系统中,各种指令的使用频率相差悬殊。据统计,有20%的指令使用频率最大,占运行时间的80%。也就是说,有80%的指令在20%的运行时间内才会用到。
CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。
CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。


RISC结构计算机的设计原则。
答:

选取使用频率最高的指令,并补充一些最有用的指令;
每条指令的功能应尽可能简单,并在一个机器周期内完成;
所有指令长度均相同;
只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行;
以简单有效的方式支持高级语言。


影响现代微处理器主频提升的主要原因由哪些?
答:线延迟、功耗。



指令集格式设计时,有哪三种设计方法?
答:固定长度编码、可变长编和混合编码)三种设计方法。



简述存储程序计算机(冯·诺依曼结构)的特点。
答:

(1)机器以运算器为中心。

(2)采用存储程序原理。

(3)存储器是按地址访问的、线性编址的空间。

(4)控制流由指令流产生。

(5)指令由操作码和地址码组成。

(6)数据以二进制编码表示,采用二进制运算。



在进行计算机系统设计时,一个设计者应该考虑哪些因素对设计的影响?
答:

在进行计算机系统设计时,设计者应该考虑到如下三个方面因素的影响:

技术的发展趋势;
计算机使用的发展趋势;
计算机价格的发展趋势。


简述程序翻译技术的特点。
答:

翻译技术是先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。

简述程序解释技术的特点。
答:

解释技术是每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。



经典体系结构的定义是什么?
计算机体系结构是机器级程序员所看到的计算机的属性,即概念性结构与功能特性。



“线延迟墙”指的是什么?
随着集成电路工艺的进步,芯片内晶体管大小不断变小,其逻辑门延迟也随之减小,而走线延迟所占的比重也随之越来越大,导致电路频率不能随着工艺的减小而线性减小。



Moore定律阐述的是什么?
微处理器晶体管数目每18个月翻一倍。它揭示了集成电路工艺发展的规律。



解释响应时间和吞吐率的差别。
响应时间也称执行时间,是指从事件开始到结束之间的时间。

吞吐率(Throughput)指在单位时间内所能完成的工作量(任务)。

用户以响应时间为标准,多道程序系统以吞吐率为标准。



简述程序的时间局部性原理的含义。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚包括指令和数据两部分。程序局部性包括:

程序的时间局部性:程序即将用到的信息很可能就是目前正在使用的信息。



简述程序的空间局部性原理的含义。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚包括指令和数据两部分。程序局部性包括:

程序的空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。



在指令集结构设计中,应该考虑哪些主要问题,这些问题有哪些主要的设计选择?
答:

在进行指令机结构设计中,应该考虑如下主要问题:

指令集功能设计:主要有RISC和CISC两种技术发展方向;
寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;
操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。


程序控制指令有什么功能?
答:

具有测试、分析、判断能力,控制程序的运行顺序和方向。



程序控制指令主要包括哪些指令?
答:

有转移指令、循环控制、子程序、过程调用等。



请简述指令集结构设计中寻址方式设计的一般方法。
答:

在寻址方式设计时,首先对一些典型的基准程序进行分析,统计基准程序中使用各种寻址方式的频率,然后根据所要设计的计算机系统所面向的应用领域,确定选择哪些使用频率高的寻址方式予以支持。对于一些特殊的寻址方式(如偏移寻址等),偏移量的确定也必须应用同样的方法加以确定。



表示寻址方式的主要方法有哪些?
答:

表示寻址方式有两种常用的方法:一种是将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式;另一种是为每个操作数设置一个地址描述苻,由该地址描述抚表示相应操作数的寻址方式。



简述表示寻址方式的两种方法的优缺点。
答:

将寻址方式编于操作码中的方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。为每个操作数设置一个地址描述苻的方式译码较慢,但操作码和寻址独立,易于指令扩展。



简述流水线的特点。
流水过程由多个相联系的子过程组成。
每个子过程由专用的功能段实现。
各个功能段所需时间尽量相等。
流水线有“通过时间”(第一个任务流出结果所需的时间)。在此之后流水过程才进入稳定工作状态,一拍流出一个结果。
流水技术适合于大量重复的时序过程,只有输入端连续提供任务,流水线效率才可充分发挥。


在流水线中解决数据相关的技术有哪些? 
答:

定向技术;
暂停技术;
采用编译器调度。
DLX流水线分为哪几个功能段?
答:  取指、译码、执行、访存、写回五个操作功能段。



在基本DLX流水线基础上,避免控制相关的方法有哪些?
答:

改进硬件功能,把分支目标地址和条件的计算移到译码段进行;
采用预测分支失败机制
采用延迟分支机制。
评述解决数据相关的技术在DLX流水线的应用。
答:

在DLX中,由于ALU和数据存储器都要接受操作数,设置从寄存器文件EX/MEM和MEM/WB到这两个单元输入的定向路径,还有DLX的零监测单元在EX周期完成分支条件检测操作,也设置到该单元的定向路径,减少了数据相关带来的暂停;但并不是所有数据相关带来的暂停都可通过定向技术来消除,采用暂停技术,设置一个“流水线互锁”的功能部件,一旦流水线互锁检测到数据相关,流水线暂停执行发生数据相关指令后续的所有指令,直到该数据相关解决为止。利用编译器技术,重新组织代码顺序也可消除数据相关带来的必然暂停。



在存储器层次结构设计中,论述首先要解决的四个问题及其含义。
答:

块的放置策略:块如何放置在存储器层次中?
块的替换策略:一次失效时,如何替换一个块?
块的标识策略:一个块在存储器层次中如何找到它?
写的策略:写的时候将会发生什么?


降低Cache命中时间的措施有哪些?
答:容量小、结构简单的Cache;将写操作流水化以加快写命中



降低Cache失效率的措施有哪些?
答:

增加Cache块大小
提高相联度
采用Victim Cache
采用伪相联Cache(列相联)
采用硬件预取技术
由编译器控制的预取
编译器优化


降低Cache失效损失的措施有哪些?
答:

读失效优先于写;
采用子块放置策略;
早期启动和关键字优先;
在Cache失效时,利用非阻塞Cache减少暂停;
采用二级Cache。


5、在单机系统中保持Cache一致性的措施有哪些?

答:

    采用写穿透策略和写回策略可以在单机系统中保持Cache一致性。



全相联和直接映象相比,各有何优缺点?
答:

    全相联映象的特点:利用率最高,冲突概率最低,实现最复杂。

    直接映象的特点:利用率最低,冲突概率最高,实现最简单。



简述“Cache-主存”层次和“主存-辅存”层次的区别。
答:“Cache-主存”层次和“主存-辅存”层次的区别见下表

比较项目

“Cache-主存”层次

“主存-辅存”层次

目的

为了弥补主存速度上的不足

为了弥补主存容量的不足

存储管理实现

主要由专用硬件实现

主要由软件实现

访问速度的比值

(第一级比第二级)

几比一

几万比一

典型的块(页)大小

几十个字节

几百到几千个字节

CPU对第二级的访问方式

可直接访问

均通过第一级

失效时CPU是否切换

不切换

切换到其它进程



根据下图中的编号,说明虚拟地址如何经过TLB转换成物理地址。


答:

    首先以CPU给出的地址中的高30位为虚拟也好,将其和TLB中的32个页表项的Tag相比较,同时检查访问的合法性(由TLB中页表项的高5位确定)。如果某一页表项的Tag预虚拟也好相同,且访问合法,那么由32:1多路选择器读出该页表项的低21位,这21位就是所访问页的真实物理地址的高21位,最后将其和页偏移量合并成34位物理地址。



虚拟存储器中,为帮助操作系统保护进程不被其他进程破坏,简要说明计算机硬件要完成哪三项工作?
答:

主要完成如下三项工作:

提供至少两种模式,用于区分正在运行的进程是用户进程还是操作系统进程。有时称后者为内核(kernel)进程、超级用户(supervisor)进程或管理(executive)进程。
使CPU状态的一部分成为用户进程可读但不可写的。这包括基地址/上界地址寄存器、用户/管理模式位和异常许可/禁止位。用户进程无权修改这些状态,因为如果用户进程能改变地址范围检查、赋给自己管理特权或禁止异常出现,操作系统就无法控制它们了。
提供一种机制,使得CPU能从用户模式进入管理模式和从管理模式进入用户模式。前一种模式变换一般是通过系统调用(system call)来完成。系统调用由一条特殊指令实现,该指令将控制权传送到管理程序空间中一个特定位置。系统调用点处的PC值会被保存起来,CPU状态将被置为管理模式。调用结束后返回用户模式很像从子程序返回,它将恢复原先的用户/管理模式。


根据下图,说明分离处理总线工作过程。


答:

首先某一设备发出读请求,并将地址1提交给总线之后,不再占用总线,这时其它总线主设备也可发出读请求,并将地址信号提交给总线(地址2、地址3)。总线根据所接受的地址进行存储器访问,读出数据,将数据信息放在地址总线上。第一个总线主设备法出第之后,不断“侦听”总线,如果总线上不是其所请求读出的数据,那么该总线主设备必须等待(等待1),只有当总线上出现了该总线主设备所请求读出的数据后(数据1),那么该总线主设备取回数据,完成总线访问(完成1)。由此可以看出,在有多个主设备时,总线就可以通过数据打包来提高总线带宽,这样可以不必在整个传输过程中都占有总线,这种技术叫做“分离处理(split transaction)”或者“流水处理”或者“包开关总线”等。值得注意的是:读操作分为两部分,一个是包含地址的读请求和一个包含数据的存储器应答,每个操作必须标记清楚,以便CPU和存储器可以识别它们。当从所请求存储器地址处读一个字的时候,分离处理允许其它总线主设备使用总线,因此,CPU必须能够识别总线上发来的数据,存储器必须识别总线上返回的数据。分离处理总线有较高的带宽,但是它的数据传送延迟比独占总线方法要大。



请叙述设计一个I/O子系统的步骤。
答:

列出将要链接到计算机的I/O设备的类型,或者列出机器将要支持的标准总线。
列出每种I/O设备的物理要求,包括:容量、电源、连接器、总线槽、扩展机箱等等。
列出每种I/O设备的开销,包括设备所需要的控制器的开销。
记录每种I/O设备对CPU资源的要求。
列出每种I/O设备对存储器和总线资源的要求。
按照不同的方法组织I/O设备,并计算其性能和开销。


在有Cache的计算机系统中,进行I/O操作时,会产生哪些数据不一致问题?如何克服?
答:

存储器中可能不是CPU产生的最新数据 ,所以I/O系统从存储器中取出来的是陈旧数据。
I/O系统与存储器交换数据之后,在Cache中,被CPU使用的可能就会是陈旧数据。
第一个问题可以用写直达Cache解决。

第二个问题操作系统可以保证I/O操作的数据不在cache中。如果不能,就作废Cache中相应的数据。



简述“虚拟索引+物理标识”Cache的优缺点。
答:

优点是既能够得到虚拟Cache的好处,又能够得到物理Cache的优点。

缺点是直接映象Cache的容量不能够超过页的大小。



基本DLX流水线中四个多路选择器的控制端由哪些信息决定?
答:

ALU输入端的两个MUX由ID/EX.IR所指出的指令类型控制,IF段的MUX由EX/MEM.Cond域的值控制,WB段的MUX由当前指令类型(Load/ALU)控制。

基本DLX流水线中,IF与Mem两个阶段都要访问存储器,怎样避免访存冲突?
答:

把指令存储器和数据存储器分开,使每个存储器具有独立的读写端口。



ID和WB两个阶段都要访问寄存器,是否存在冲突?怎样避免?
答:

可能存在RAW冲突,通过使寄存器文件支持“前半周期写后半周期读”来避免。



何为流水线效率?为何流水线效率不能达到1?
答:

效率指流水线的设备利用率。由于流水线有通过时间和排空时间,所以流水线的各段并非一直满负荷工作,所以效率是小于1的数。



说明流水线吞吐率、加速比和效率的关系。
答:

三个指标是衡量流水线性能的三种度量,

效率E = n△t/T流水=mn△t/(T流水m)= S/m, 效率是实际加速比S与最大加速比m之比。

效率E = n△t/T流水= (n/T流水) ·△t=TP△t,当△t不变时,流水线的效率与吞吐率呈正比。



解释何为流水线中的定向(forwarding)技术?
答:

定向技术是指流水线中将计算结果从其产生的地方直接送到真正需要它的地方,而不是从寄存器文件读出使用,它是一种解决数据相关,避免流水线暂停的方法。



解释写后读相关及其在DLX中发生的情况。
答:

两条指令 i 和 j,都会访问同一寄存器R,假设指令i在指令j 之前,指令i先写寄存器R而指令j后读寄存器R,称两条指令存在写后读相关。流水线中如果j 在i 完成写之前从R 中读出数据,将得到错误的结果。DLX中由于在ID段读寄存器而在WB段写寄存器,所以写后读相关可能引起执行错误或流水线暂停。

解释写后写相关及其在DLX中发生的情况。
答:

两条指令 i 和 j,都会访问同一寄存器R,假设指令i在指令j 之前,指令i先写寄存器R而指令j后写寄存器R,称两条指令存在写后写相关。如果j 在i 之前完成写操作,R中将保存错误的结果。DLX中由于只在WB段这唯一的一段写寄存器,所以前后指令的写后写相关不会发生执行错误。

解释读后写相关及其在DLX中发生的情况。
答:

两条指令 i 和 j,都会访问同一寄存器R,假设指令i在指令j 之前,指令i先读寄存器R而指令j后写寄存器R,称两条指令存在读后写相关。流水线中如果j 在i 完成读之前向R 中写入数据,将写入错误的结果。DLX中由于在ID段读寄存器而在WB段写寄存器,ID段在WB段之前,所以前后指令的读后写相关不会发生执行错误。



画出DLX的所有定向通路。
答:





简述减少流水线分支损失四种方法
答:

(1) 冻结或排空流水线:在流水线中停住或删除分支后的指令,直到知道转移目标地址

(2) 预测分支转移失败:流水线继续照常流动,如果分支转移成功,将分支指令后的指令转换为空操作,并从分支目标处开始取指令执行;否则照常执行

(3) 预测分支转移成功:始终假设分支成功,直接从分支目标处取指令执行

(4) 延迟分支(delayed branch):分支开销为n的分支指令后紧跟有n个延迟槽,流水线遇到分支指令时,按正常方式处理,顺带执行延迟槽中的指令,从而减少分支开销。



简述延迟分支“从前调度”方法的调度要求和作用前提。
答:

要求被调度的指令必须与分支结果无关,任何情况都能起作用。

简述延迟分支“从目标处调度”方法的调度要求和作用前提。
答:

要求被调度的指令必须保证在分支失败时执行被调度的指令不会导致错误,可能需要复制指令。该方法在分支成功时起作用。

简述延迟分支“从失败处调度”方法的调度要求和作用前提。
答:

要求被调度的指令必须保证在分支成功时执行被调度的指令不会导致错误。该方法在分支失败时起作用。



解释向量链接技术。
答:

一个向量功能部件得到的结果直接送入另一个向量功能部件的操作数寄存器时所发生的连接过程称为链接。当两条指令出现“写后读”相关时,若它们不存在功能部件冲突和向量寄存器(源或目的) 冲突,就有可能把它们所用的功能部件头尾相接,形成一个链接流水线,进行流水处理。   链接特性实质上是把流水线“定向”的思想引入到向量执行过程的结果。



存储器的三个主要指标:容量、速度、每位价格的关系怎样?
答:

容量越大价格越低,速度越快价格越高,容量越大速度越慢。



存储层次的平均访问时间TA怎样计算?
答:

 TA=TA1+(1-H )TM  或  TA=TA1+FTM,H为命中率,F为失效率,TA1为高一级存储层次的访问时间,TM为失效开销。



比较“Cache -主存”层次和“主存-辅存”层次的异同。




存储层次设计要解决的四个问题指什么?
答:

映象规则:当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?

查找算法:当所要访问的块在高一层存储器中时,如何找到该块?

替换算法:当发生失效时,应替换哪一块?

写策略:当进行写访问时,应进行哪些操作?

说明cache并行查找与顺序查找的优缺点?
答:

并行查找速度快,但硬件代价大,顺序查找速度慢,通常采用MRU策略提高速度,硬件代价相对小。



说明Cache并行查找的两种实现方法。
答:

方法一:利用相联存储器,速度较快,逻辑控制简单,但需特殊器件支持。

方法二:利用单体多字存储器+比较器,速度相对较慢,可利用一般SRAM等实现。



简述三种替换算法及其优缺点。
答:

随机法:实现简单

FIFO法:实现较为简单,失效率与程序访问特性有关。

LRU法:失效率低。



简述cache的两种写策略及其优缺点。
答:

写直达法:执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。

写回法:执行“写”操作时,只写入Cache。仅当Cache中相应的块被替换时,才写回主存。需设置“污染位”来记录数据块是否被更新。

写回法速度快,所使用的存储器频带较低;写直达法易于实现,一致性好。

简述cache的两种写调块策略。
按写分配(写时取):写失效时,先把所写单元所在的块调入Cache,再行写入。

不按写分配(绕写法):写失效时,直接写入下一级存储器而不调块。



什么是写合并技术?
当把数据写入写缓冲器时,判断本次所写入单元的块地址是否与写缓冲器中某个有效块的地址相同,若是,则把新数据与该块合并。这样可提高写缓冲的利用率。



解释Victim cache的基本思想。
答:

在Cache和它从下一级存储器调数据的通路之间设置一个全相联的小Cache,用于存放被替换出去的块,以备重用。这些被保存的替换块被称为Victim块,存放这些块的缓冲称为Victim cache。Victim cache对于减小冲突失效很有效,特别是对于小容量的直接映象数据Cache,作用尤其明显。



解释伪相联cache的工作原理。
答:

在逻辑上把直接映象Cache的空间上下平分为两个区。对于任何一次访问,伪相联Cache先按直接映象Cache的方式去处理。若命中,则其访问过程与直接映象Cache的情况一样。若不命中,则再到另一区相应的位置去查找。若找到,则发生了伪命中,否则就只好访问下一级存储器。



简述通过编译优化降低cache失效率的基本思想。
答:

在编译时,对程序中的指令和数据进行重新组织,是连续访问的指令或数据能够具有根号的时间和空间局部性,以降低Cache失效率。



Cache中的写缓冲器导致对存储器访问的复杂化,在处理读失效时,针对这个问题的解决方法是什么?
答:

推迟对读失效的处理;检查写缓冲器中的内容。

简述在cache失效率的策略中,编译优化分块策略的基本思想。
答:

编译器把对数组的整行或整列访问改为按块进行,使得块内的访问具有较好的局部性,从而降低失效率。



解释子块放置技术。
答:

把Cache块进一步划分为更小的块(子块),并给每个子块赋予一位有效位,用于指明该子块中的数据是否有效。Cache与下一级存储器之间以子块为单位传送数据。但标识仍以块为单位。



解释局部失效率与全局失效率。
答:

 局部失效率=该级Cache的失效次数/到达该级Cache的访问次数,

 全局失效率=该级Cache的失效次数/CPU发出的访存的总次数。



解决虚拟Cache的清空问题的方法是什么?
答:

在地址标识中增加PID字段(进程标识符)



“虚拟索引+物理标识”的优缺点是什么?
答:

优点:兼得虚拟Cache和物理Cache的好处。

局限性:Cache容量受到限制 (页内位移),Cache容量≤页大小×相联度。



从主存的角度讲,减少cache失效开销的方法是什么?
答:

减少主存延迟,提高主存带宽。



简述提高主存性能的四种方法。
答:

增加存储器的宽度;采用简单的多体交叉存储器;采用独立存储体;避免存储体冲突。



简述虚拟存储器的特点。
答:

多个进程可以共享主存空间;程序员不必做存储管理工作;采用动态再定位,简化了程序的装入。



什么是TLB?
答:

TLB是一个专用的高速缓冲器,用于存放近期经常使用的页表项。



简述蓄存系统中采用大页面和小页面各自的优点。
答:

大页面的优点:

页表的大小与页面大小成反比。较大的页面可以节省实现地址映象所需的存储空间及其它资源;较大的页面可以使快速Cache命中的实现更简单;在主存和辅存之间传送较大页面比传送较小的页面更有效。TLB的项数有限,对于给定数目的项数,较大的页面意味着可以高效地实现更多存储空间的地址变换,从而减小TLB失效的次数。

小页面的优点:可以减少空间的浪费。



简述RAID 1的优缺点。
答:

优点:系统可靠性好;设计简单。缺点:硬件开销大;效率低。



简述RAID 5的特点。
答:

块交叉分布式奇偶校验盘阵列,即数据以块交叉的方式存于各盘,但无专用的校验盘,而是把冗余的奇偶校验信息均匀地分布在所有磁盘上。由于对数据块每一行的相联奇偶校验不再限制在单一磁盘上,只要块单元不位于同一个磁盘内,这种组织方法就可以支持多个写同时执行。这种策略读数据速率高;盘阵列利用率高,但设计复杂。



总线按用途分类可分为哪两类?各有什么特点。
答:

CPU-存储器总线: CPU-存储器总线则比较短,通常具有较高的速度,并且要和存储器系统的速度匹配来优化带宽。

I/O总线:由于要连接许多不同类型、不同带宽的设备,因此I/O总线比较长,并且还应遵循总线标准。



四种I/O工作方式是什么?
答:

程序控制、中断、DMA、I/O处理机。



简述通道的三种类型和特点。
答:

字节多路通道:简单的共享通道,为多台低速或中速的外围设备服务。采用分时方式工作。

选择通道:为高速外围设备(如磁盘存储器等)服务。在传送数据期间,只能为一台高速外围设备服务,在不同的时间内可以选择不同的设备。

数组多路通道:为高速设备服务。各台高速设备重迭操作。



同步总线和异步总线特点。
答:

同步总线所有的设备都有统一的时钟。同步总线的成本低,因为它不需要设备之间互相确定时序的逻辑。缺点是总线操作的速度受时钟的影响。由于设备都需要精确的以公共时钟为定时参考,因此频率一旦高,容易出现时钟漂移错误。

异步总线没有统一的时钟,设备内部自己定时。设备之间的信息传送由总线发送器和接收器控制。异步总线适用更加广泛,扩充时不用担心时钟时序和时钟同步的问题。但传输时异步总线要增加额外的同步开销。



解释IO系统带来的一致性问题。
答:

1)存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取得是旧数据;

2)I/O系统与存储器交换数据之后,在Cache中,被CPU使用的可能会是旧数据。

IO系统一致性问题的解决方法。
答:

1)利用写直达方法。但如果是写回法,必须进行地址检查,确保I/O使用的数据不在Cache中;

2)Cache中的数据在I/O操作之后能够及时更新,保证I/O操作的数据不在Cache中,如果在需要作废Cache中的相应数据。





并行计算的应用分类?
答:

(1)计算密集型

(2)数据密集型

(3)网络密集型



什么是Flynn分类法。
答:

把计算机分成单指令流单数据流(SISD)、 单指令流多数据流(SIMD)、 多指令流单数据流(MISD)、 多指令流多数据流(MIMD)四种处理模式机器。



MIMD机器分为哪两类?
答:

按照存储器结构和互连策略的不同分为集中式共享存储器结构和分布式存储器结构。



简述分布式存储器结构的优缺点。
答:

优点:(1)  如果大多数的访问是针对本结点的局部存储器,则可降低对存储器和互连网络的带宽要求;(2)  对局部存储器的访问延迟低。

缺点:处理器之间的通信较为复杂,且各处理器之间访问延迟较大。



简述分布式存储器结构的两种地址空间组织方式。
答:

(1) 物理上分离的多个存储器可作为一个逻辑上共享的存储空间进行编址。这类机器的结构被称为分布式共享存储器(DSM)或可缩放共享存储器体系结构。DSM机器被称为NUMA(non-uniform memory access)机器。

(2) 整个地址空间由多个独立的地址空间构成,它们在逻辑上也是独立的,远程的处理器不能对其直接寻址。



简述多处理机系统可采用的两种通信模式。
答:

共享地址空间的机器利用Load和Store指令中的地址隐含地进行数据通信。

多个地址空间的机器通过处理器间显式地传递消息完成 (消息传递机器),消息传递机器根据简单的网络协议,通过传递消息来请求某些服务或传输数据,从而完成通信。



评价多处理器系统通信机制性能的三个方面是什么?
答:

通信带宽、通信延迟、通讯延迟隐藏机制的效率。

共享存储器通信的主要优点。
答:

(1) 与常用的集中式多处理机使用的通信机制兼容。

(2) 当处理器通信方式复杂或程序执行动态变化时易于编程,同时在简化编译器设计方面也占有优势。

(3) 当通信数据较小时,通信开销较低,带宽利用较好。

(4) 通过硬件控制的Cache减少了远程通信的频度,减少了通信延迟以及对共享数据的访问冲突。



消息传递通信机制的主要优点。
答:

 (1) 硬件较简单。

 (2) 通信是显式的,从而引起编程者和编译程序的注意,着重处理开销大的通信。



多处理机的数据一致性问题产生的原因。
答:

I/O操作:Cache中的内容可能与由I/O子系统输入输出形成的存储器对应部分的内容不同。

共享数据:不同处理器的Cache都保存有对应存储器单元的内容。



怎样定义多处理机存储器是“一致的”
答:

如果对某个数据项的任何读操作均可得到其最新写入的值,则认为这个存储系统是一致的。



实现集中式共享存储器体系结构一致性的基本方案?
答:

共享数据的迁移:降低了对远程共享数据的访问延迟。

共享数据的复制:不仅降低了访存的延迟,也减少了访问共享数据所产生的冲突。



简述维护Cache一致性的两种共享数据跟踪技术。
答:

目录:物理存储器中共享数据块的状态及相关信息均被保存在一个称为目录的地方。

监听:每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。



简述在集中式共享存储器体系结构中两种维护Cache一致性的两种协议。
答:

写作废协议:在一个处理器写某个数据项之前保证它对该数据项有唯一的访问权。

写更新协议:当一个处理器写某数据项时,通过广播使其它Cache中所有对应的该数据项拷贝进行更新。



简述写作废和写更新协议性能上的差别。
答:

1)对同一数据的多个写而中间无读操作的情况,写更新协议需进行多次写广播操作,而在写作废协议下只需一次作废操作。

2)对同一块中多个字进行写,写更新协议对每个字的写均要进行一次广播,而在写作废协议下仅在对本块第一次写时进行作废操作。

3)从一个处理器写到另一个处理器读之间的延迟通常在写更新模式中较低。而在写作废协议中,需要读一个新的拷贝。





简述在分布式共享存储器体系结构中目录协议中目录的含义。
 答:

一种专用的存储器所记录的数据结构,它记录着可以进入Cache的每个数据块的访问状态、该块在各个处理器的共享状态以及是否修改过等信息。


你可能感兴趣的:(计算机体系结构(5))