A.对于变量i和sum,循环体具有良好的空间局部性 B.对于变量i、sum和v[N],循环体具有良好的空间局部性 C.对于变量i和sum,循环体具有良好的时间局部性 D.对于变量i、sum和v[N],循环体具有良好的时间局部性23、假定有4个整数用8位补码分别表示:rl=FEH,r2=F2H,r3=90H,r4=F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是( )。 A.rlxr4 B.r2xr3 C.rlxr4 D.r2xr4
4、下列为8位移码机器数[x]移,当求[-x] 移时,( )将会发生溢出。 A.11111111 B.00000000 C.10000000 D.011l1l11
5、并行加法器中,每位全和的形成除与本位相加两数数值位有关外,还与( )有 A.低位数值大小 B.低位数的全和 C.高位数值大小 D.低位数送来的进位
6、总线的数据传输速率可按公式Q=Wf/N计算,其中Q为总线数据传输速率,W为总线数据宽度(总线位宽/8),f为总线时钟频率,N为完成一次数据传送所需的总线时钟周期个数。若总线位宽为16位,总线时钟频率为8MHz,完成一次数据传送需2个总线时钟周期,则总线数据传输速率Q为( )。
A.16Mbit/s B.8Mbit/s C.16MB/s D.8MB/s 7、在异步通信方式中,一个总线传输周期的过程是( )。 A.先传送数据,再传送地址 B.先传送地址,再传送数据 C.只传输数据 D.无法确定
8、假定机器M的时钟频率为200MHz,程序P在机器M上的执行时间为12s。对P优化时,将其所有乘4指令都换成了一条左移两位的指令,得到优化后的程序P。若在M
上乘法指令的CPl为102,左移指令的CPl为z,P的执行时间是P”执行时间的1.2倍,则P中的乘法指令条数为( )。
A.200万 B.400万 C.800万 D.1600万
9、已知计算机A的时钟频率为800MHz,假定某程序在计算机A上运行需要12s。现在硬件设计人员想设计计算机B,希望该程序在B上的运行时间能缩短为8s,使用新技术后可使B的时钟频率大幅度提高,但在B上运行该程序所需要的时钟周期数为在A上的1.5倍。那么,机器B的时钟频率至少应为( )能运到所希望的要求。 A.800MHz B.1.2 GHz C.1.5GHz D.1.8GHz 10、下列选项中,( )不是发生中断请求的条件。 A.一条指令执行结束 B.一次I/O操作结束 C.机器内部发生故障 D.一次DMA操作结束
11、若某设备中断请求的响应和处理时间为100ns,每400ns发出一次中断请求,中断响应所允许的最长延迟时间为50ns,则在该设备持续工作过程中、CPU用于该设备的I/O时间占整个CPU时间的百分比至少是( )。 A.12.5% B.25% C.37.5% D.50%
12、在计算机体系结构中,CPU内部包括程序计数器(PC)、存储器数据寄存器(MDR)、指令寄存器(IR)和存储器地址寄存器(MAR)等。若CPU要执行的指令为MOV RO,#100(即将数值100传送到寄存器R0中),则CPU首先要完成的操作是( )。
A.100RO B.100→MDR C.PC→MAR D.PC→IR 13、流水线计算机中,下列语句发生的数据相关类型是( )。
ADD R1,R2,R3;(R2)+(R3)→RI ADD R4,R1,R5;(R1)+(R5)R4
A.写后写 B.读后写 C.写后读 D.读后读 14、执行操作的数据不可能来( )。
A.寄存器 B.指令本身 C.控制存储器 D.存储器
15、在通用计算机指令系统的二地址指令中,操作数的物理位置可安排在( )。 I.一个主存单元和缓冲存储器 Ⅱ.两个数据寄存器
IⅡ.一个主存单元和一个数据寄存器 IV.一个数据寄存器和一个控制存储器 V.一个主存单元和一个外存单元
A. Ⅱ、Ⅲ、IV B.IⅡ、Ⅱ C. I、Ⅱ、Ⅲ D.I、Ⅱ、Ⅲ、V
二、填空题
16、软磁盘和硬磁盘的_______记录方式基本相同,但在_______和_______上存在较大差别。 17、对存储器的要求是________、________、________为了解决这三个方面的矛盾。计算机采用多级存储器体系结构。
18、不同机器有不同的________,RISC指令系统是________指令系统的改进。
19、2000年,超级计算机最高浮点运算速度达到每秒_______次,我国的_______号计算机的运算速度达到3840亿次,使我国成为_______之后第三个拥有高速计算机的国家。 20、堆栈是一种特殊的数据寻址方式,它采用________原理。按结构不同,分为________堆栈和________堆栈。
21、PCI总线采用_______仲裁方式,每一个PCI设备都有的总线请求和总线授权两条信号线与_______相连。
22、为了解决多个_______同时竞争总线_______,必须具有_______部件。 23、指令字长度有______、______、______三种形式。
24、一位十进制数,用BCD码表示需______位二进制码,用ASCII码表示需______位二进制码。
25、中断处理过程可以嵌套进行,_________的设备可以中断_________的中断服务程序。
三、名词解释题
26、段表:
27、控制存储器的容量
28、编译程序:
29、统一编址:
四、简答题
30、什么叫指令?什么叫微指令?二者有什么关系?
31、中断隐指令及其功能?
32、在寄存器一寄存器型,寄存器一存储器型和存储器一存储器型三类指令中,哪类指令的执行时间最长?哪类指令的执行时间最短?为什么?
33、主存储器的性能指标有哪些?含义是什么?
五、计算题
34、将下列十进制数表示成浮点规格化数,阶码4位(包含一位阶符),分别用补码和移码表示;尾数9位(包含一位数符),用补码表示。
1)27/。
2)-27/。
35、一个直接映射的Cache有128个字块,主机内存包含16K个字块,每个块有16个字,访问Cache的时间是10ms,填充一个Cache字块的时间是200ms,Cache的初始状态为空。
1)如果按字寻址,请定义主存地址字段格式,给出各字段的位宽; 2)CPU从主存中依次读取位置16~210的字,循环读取10次,则访问Cache的命中率是多少?
3)10次循环中,CPU平均每次循环读取的时间是多少?
36、假设一个32位的处理器配有16位的外部数据总线,时钟频率为50MHz,若总线传输的最短周期为4个时钟周期,试问处理器的最大数据传输率是多少?若想提高一倍数据传输率,可采用什么措施?
六、综合题
37、某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示: 假定
int类型数据用32位补码表示,程序编译时,i、j、sum均分配在寄存器中,数组a按行优先方式存放,其首地址为320(+进制)。请回答下列问题,要求说明理由或给出计算过程。
1)若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?
2)数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?
3)程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短?
38、采用微程序控制器的某计算机在微程序级采用两级流水线,即取第i+1条微指令与执行第i条微指令同时进行。假设微指令的执行时间需要40ns,试问:
1)若控制存储器选用读出时间为30ns的ROM,在这种情况下微周期为多少?并画出微指令执行时序图。
2)若控制存储器选用读出时间为50ns的ROM,在这种情况下微周期为多少?并画出微指令执行时序图。
39、1)指令中一般含有哪些字段?分别有什么作用?如何确定这些字段的位数? 2)某机器字长、指令字长和存储字长均为16位,指令系统共能完成50种操作,采用相对寻址、间接寻址、直接寻址。试问:
①指令格式如何确定?各种寻址方式的有效地址如何形成? ②在①中设计的指令格式,能否增加其他寻址方式?试说明理由。
参
一、选择题
1、D 2、C 3、B 4、B 5、D 6、D、 7、B 8、B 9、D 10、A 11、B、 12、C 13、C 14、C 15、B
二、填空题
16、存储原理 结构 性能 17、容量大 速度快 成本低
18、指令系统 CISC
19、1万亿 神威 美国、日本 20、先进后出 寄存器 存储器 21、集中式 仲裁器 22、主设备 控制权 总线仲裁 23、单字长 半字长 双字长 24、4 7
25、优先级高 优先级低
三、名词解释题
26、段表:
段式虚拟存储器管理用的地址映象表,其中包括每个段的基地址、段长、装入位和访问方式等。
27、控制存储器的容量
取决于指令的数量,每条指令的微程序长度和微指令代码的利用率。 28、编译程序:
将高级语言程序转换成机器语言程序的计算机软件。 29、统一编址:
就是将外围设备中的控制寄存器、数据寄存器、状态寄存器和内存单元一起编排地址。
四、简答题
30、答:指令,即指机器指令。每一条指令可以完成一个的算术运算或逻辑运算操作。控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,而一组实现一定操作功能的微命令的组合,构成一条微指令。许多条微指令组成的序列构成了微程序,微程序则完成对指令的解释执行。
31、答:中断隐指令是在机器指令系统中没有的指令,它是CPU在中断周期内由硬件自动完成的一条指令,其功能包括保护程序断点、寻找中断服务程序的入口地址、关中断等功能。
32、答:寄存器-寄存器型执行速度最快,存储器-存储器型执行速度最慢。因为前者操作数在寄存器中,后者操作数在存储器中,而访问一次存储器所需的时间一般比访问一次寄存器所需时间长。
33、答:存储器的性能指标主要是存储容量,存储时间、存储周期和存储器带宽。在一个存储器中可以容纳的存储单元总数通常称为该存储器的存储容量。
存取时间又称存储访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。存储周期是指连续两次的存储器操作(如连续两次读操作)所需间隔的最小时间。 存储器带宽是指存储器在单位时间中的数据传输速率
五、计算题
34、解析
1)27/=0.011011=0.11011×2-1
当补码和尾数都采用补码表示时:1,111:0.11011000。 阶码采用移码、尾数采用补码表示时:0.11l:0.11011000。 2)-27/=1.011011=1.11011×2-1
当补码和尾数都采用补码表示时:1,11l;1.00101000。 阶码采用移码、尾数采用补码表示时:0.1l1:l.00101000。
35、解析:
1)按字寻址,每个块有16个字,故字块内地址为4位。Cache有128个字块,故Cache字块地址为8位。主存包含16K个字块,故主存地址总共14位。则主存字块标记位数为14-8-位。
4=2
2)Cache中每个块16个字,故16~210位置的字,按照直接映射可分别放入Cache的第1~13块。由于Cache的初始状态为空,循环读取10次时,第一次循环第16、32、48、、…、208位置的字均末命中,共13次,其他位置均命中,后面9次循环每个字都命中。故Cache的命中率为1-13/(195×10)=99.3%。 3)第一次循环需要填充Cache13次,访问Cache 195-13=182次,总时间为200ns×13+10ns×182=4420ms。其余9次循环只需访问Cache195次,总时间为195×10ns×9=17550ns。故平均访问时间为(17550ns+4420ns)/10=2197ns。
36、解析:根据时钟频率可计算出总线传输的最短传输周期为
T=4/(50MHz)=80×10-9s
对于总线宽度为16位的总线,最大数据传输率为 16bit/T=2B/(80×10-9s)=25MB/s 若想提高一倍数据传输率,可采用两种方式:
1)将总线宽度扩大为32bit,CPU时钟频率仍为50MHz,则数据传输率为 32bit/T-4B/(80×10-9s)=50MB/s
2)将时钟频率扩大为100MHz,总线宽度仍为16bit,根据时钟频率可计算出总线传输的最短传输周期为
T=4/(100MHz)=40×10-9s 此时最大数据传输率为
16bit/T=2B/(40×10-9s)=50MB/s
六、综合题
37、解析:1)Cache结构如下。
V … Tag Data 此处的行即为块(Block)。直接映射下,每块的Cache结构一般分为4个部分,其中,V:1位,表示所在的块是否有效。
…:表示用于Cache一致性维护和替换算法的控制位。 TAG:地址转换标记。
如果不计算“…”部分,则Cache的大小由V、Tag和Data(数据)3部分组成。在直接映射中,可以将地址分为如下3个部分:
Tag 快索引 块内 本题中,总的寻址位数为28位(228=256M):块内位为6位(25-),5~0位;块索引为3位(23=8),8~6位。因此,Tag=28-6-3=19位,即27~9位。
每行(块)的大小=V+Tag+数据=1+19+×8位。 数据Cache有8行,总容量为(1+19+×8)×8/8=532B。
2)由于数组在存储器中按行优先方式存放,因此每个数组元素占4B。数组首地址为320,因此可知:
a[0][31]在存储器中的地址为320+31×4=444=0001 10111100B
a[l][1]在存储器中的地址为320+(256+1)×4=1348=010101000100B按直接映射方式,地址分为3部分,块索引在地址的8~6位,因此两地址所对应的块索引分别为6(110B)、5(101B)。
3)数组a中每个数据只用了一次,如果程序没有命中,则从主存中读入一块,大小B,相当于16个整数。对于程序A,如果是按行连续存放的,那么从主存读入一块到Cache(一次失配)后,随后的15次便都Cache命中,读一次管16次,因此命中率为
[(216-212)/216]×100%=93.75%
程序B随列访问数组a,由于Cache的容量太小,读入的数据块留不到下次用便又被替换,因此每次都失败,命中率为0%。
另一种算法是,由于数组a一行的数据量为1KB>B,因此访问第0行时,每个元素都不命中,由于数组有256列,数据Cache仅有8行,故访问数组后续列元素仍然不命中,于是程序B的数据访问命中率为0%。
由于从Cache 读数据比从内存读数据快很多,因此程序A的执行时间更短。 分析:
1)V、Tag、Data是每个Cache块(行)的必要组成。为了提高效率或者实行替换算法,每个块还需要一些控制位,这些位根据不同的设计要求而定。
2)本题中计算两个数组元素的地址是关键。
3)命中率的计算是本问题的关键。注意数组访问与数组在内存中的存储方式,以及命中率的定义。
38、解析:在执行本条微指令的同时,预取下一条微指令。因为这两个操作是在两个完全不同的部件中执行的,所以这种重叠是完全可行的。取微指令的时间与执行微指令的时间哪个长,就以它作为微周期
1)若控制存储器选用读出时间为30ns的ROM,微指令执行时序图如图a所示。因为取第i+1条微指令与执行第i条微指令同时进行,所以取微指令的读出时间为30ns,而微指令的执行时间需要40ns。这种情况下微周期取最长的时间,即40ns。 2)若控制存储器选用读出时间为50ns的ROM,微指令执行时序图如图b所示。这种情况下微周期需取50ns。
39、32.解析:
1)指令字中一般有3种字段:操作码字段、寻址特征字段和地址码字段。操作码字段指出机器完成某种操作(加、减、乘、除等),其位数取决于指令系统有多少种操作类型;寻址特征字段指出该指令以何种方式寻找操作数的有效地址,其位数取决于寻址方式的种类;地址码字段和寻址特征字段共同指出操作数或指令的有效地址,其位数与寻址范围有关。
2)首先指令字由操作码字段、寻址特征字段和地址码字段组成。由于此指令系统能完成50种操作,因此操作码需要6位(25<50<26)。由于此机器采用了相对寻址、间接寻址和直接寻址3种寻址方式,因此需要两位来确定寻址方式,剩下8位(16-6-2=8)为指令的地址字段,故指令格式为
寻址方式位可以这样来定义:
当寻址方式位为00时,可作为直接寻址,EA=A。
当寻址方式位为01时,可作为相对寻址,EA=(PC)+A。 当寻址方式位为10时,可作为间接寻址,EA=(A)。
由于上述指令格式中寻址方式位为11时没有使用,因此可以增加一种寻址方式。