计算机体系结构习题及答案第一章基础知识1.名词解释翻译解释模拟仿真透明性程序访问局部性[答案]略翻译:先用转换程序将高一级机器上的程序整个地变换成为低一级机器上可运行的等效程序,然后再在低一级机器级上去实现的技术。
解释:在低一级机器上用它的一串语句或指令来仿真高一级机器级上的一条语句或指令的功能,通过对高一级机器语言程序中的每条语句或指令逐条解释来实现的技术。
模拟:指用软件的方法在一台计算机(宿主机A)上,实现另一台计算机(虚拟机B)的指令系统。
仿真:用微程序的方法在一台计算机(宿主机A)上实现另一台计算机(目标机B)的指令系统。
透明性:一种本来是存在的事务或属性, 但从某种角度看却好像不存在。
程序访问的局部性原理:是指程序执行过程中,呈现出频繁重新使用那些最近已被使用过的数据和指令的规律。
程序访问的局部性包括时间局部性和空间局部性。
2. 一个经解释实现的计算机可以按功能划分为四级. 每一级为了执行一条指令需要下一级的N条指令. 若执行第一级的一条指令需要的时间为K ns, 那么执行第二、三、四级的一条指令各需要多少时间?[答案] NK ns; N2K ns; N3K ns3. 计算机系统按功能划分层次结构的好处主要体现在哪些方面?[答案] (1) 有利于理解软件, 硬件和固件在系统中的地位和作用;(2) 有利于理解各种语言的实质和实现途径;(3) 有利于推动计算机系统结构的发展;(4) 有利于理解计算机系统结构的定义.4. 什么是透明性? 对计算机系统结构, 下列哪些是透明的? 哪些是不透明的?1)存储器的模m交叉存取; 2)浮点数据表示; 3) I/O系统是采用通道方式还是I/O处理机方式; 4) 阵列运算部件; 5) 数据总线宽度; 6) 通道是采用结合型的还是独立型的; 7) 访问方式保护; 8) 程序性中断; 9) 串行、重叠还是流水控制方式; 10) 堆栈指令; 11) 存储器的最小编址单位; 12) Cache存储器.[答案] 一种本来是存在的事务或属性, 但从某种角度看却好像不存在, 称为透明性.对计算机系统结构来说透明的是: 1), 4), 5), 6), 9), 12)对计算机系统结构来说不透明的是:2), 3), 7), 8), 10), 11)5. 什么是计算机体系结构? 什么是计算机组成? 什么是计算机实现? 并说明三者的关系和相互影响?[答案] 计算机系统结构是计算机系统的软, 硬件分界面, 是机器语言程序员或是编译程序员所需了解的计算机属性;计算机组成是计算机系统结构的逻辑事项;计算机实现是计算机组成的物理实现.三者的关系和互相影响为:(1) 具有相同系统结构的计算机可以采用不同的组成; (2) 一种计算机组成可以采用多种不同的计算机实现;(3) 计算机组成、计算机实现对计算机系统结构有着很大的影响;(4) 计算机系统结构的设计不应限制计算机组成和实现技术,应能用于高档机,也可用于低挡机;(5) 在不同时期, 计算机系统结构,、组成和实现所包含的内容会有所变化,三者之间的界线常常很模糊.6. 从机器(汇编)语言程序员角度看, 以下哪些是透明的? 1) 指令地址存储器; 2) 指令缓冲器; 3) 时标发生器; 4) 条件码寄存器; 5) 乘法器; 6) 主存地址寄存器; 7) 磁盘外设; 8) 先行进位链; 10) 通用寄存器; 11) 中断字寄存器. [答案] 对机器(汇编)语言程序员来说透明的有: 2), 3), 5), 6), 8), 9) 对机器(汇编)语言程序员来说不透明的有: 1), 4), 7), 10), 11)7. 假设在一台40 MHz 处理机上运行200 000条指令的目标代码, 程序主要由四种类型的指令所组成. 根据程序跟踪实验结果, 各类指令的混合比和每类指令的CPI 值如表1.9所示.表1.9 各类指令的指令混合比及每类指令的CPI 值指令类型 指令混合比CPI算术和逻辑60% 1 高速缓存命中的加载/存储18% 2 转移12% 3 高速缓存缺失的存储器访问10% 4(1) 试计算在单处理机上执行上述该程序时的平均CPI;(2) 根据(1)所得到的CPI, 计算相应的MIPS 速率及程序的执行时间. [答案] (1) 2.24 CPI (2) 17.86 MPIS; 0.0112 s8. 某工作站采用时钟频率为15 MHz 、处理速率为10 MIPS 的处理机来执行一个程序,假定每次存储器存取为1周期延迟, 试问:(1) 此计算机的有效CPI 是多少?(2) 假定将处理机的时钟频率提高到30 MHz, 但存储器子系统速率不变, 这样, 每次存储器存取需要两个时钟周期. 如果30%的指令每条只需要一次存储存取, 而另外5%的指令每条需要两次存储存取, 还假定已知混合程序的指令数不变, 并与原工作站兼容, 试求改进后的处理机性能(计算MIPS ).[答案] (1) 5.1=10×1010×15=10×=666MIPS f CPI ;(2) 改造以后处理机的CPI 发生变化,30%的指令每条只需要一次存储存取, 由于时钟周期缩短,这类以前需要1个时钟周期用于存储,而现在需要增加1个时钟周期用于存储。
同理,5%的指令每条需要两次存储存取, 这类以前需要2个时钟周期用于存储,而现在需要增加2*2个时钟周期用于存储。
而其他指令不需访存,所以所需时钟周期不变,改造后 CPI 为:9.1=1.0+3.0+5.1=)24(×%5+)12(×%30+=OLD NEW CPI CPI789.15≈10×9.110×30=10×=666NEW NEW NEWCPI f MIPS 9.什么是并行性?它分为哪两种类型?开发计算机系统并行性的主要技术途径有哪三个?沿这些途径分别发展出什么类型的计算机?[答案] 并行性指同一时刻或同一时间间隔内发生两件或两件以上事件。
并行性分为同时性和并发性。
同时性指的是两个或多个事件发生在同一时刻。
并发性则是指两个或多个事件发生在同一段时间间隔内。
在计算机系统中,提高并行性的技术途径可以归纳为以下三种:1)时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,重叠的使用同一套部件的各个部分,加快硬件使用的周转来提高处理速度。
典型的例子有流水技术。
2)资源重复:在并行性概念中引入空间因素,通过重复设置资源,尤其是硬件资源,来提高系统的性能。
典型的例子有双工系统、相联处理机和阵列处理机等。
3)资源共享:主要是采用软件手段让多个任务按一定顺序轮流使用一套资源,通过提高资源利用率来提高系统的性能和效率。
典型的例子有多道程序分时系统、计算机网络和分布处理系统等。
10.实现软件移植的途径有哪些? [答案]略11.什么是Flynn 分类法,按照Flynn 分类法可将计算机系统分为哪几类? [答案]略第二章 指令系统1. 名词解释数据类型、数据表示、规格化浮点数、Huffman 编码、扩展编码、RISC [答案]略2. 某模型机有8条指令I 1~I 8, 它们的使用频度分别为0.3, 0.3, 0.2, 0.1, 0.05, 0.02, 0.02, 0.01.(1) 试分别用Huffman 编码和平均码长最短的等长扩展码(限定为两种码长)对其操作码进行编码.(2) 分别计算Huffman 编码和等长扩展码编码的平均长度.[答案] (1) 操作码的Huffman 编码和2-4等长扩展码编码如下表1所示.表1 操作码的Huffman 编码和2-4等长扩展码编码Huffman 编码法 2-4等长扩展码编码法指 令指令使用 频度P iHuffman 编码操作码长度l i 2-4等长扩展码操作码长度l iI 1 0.3 00 2 00 2 I 2 0.3 01 2 01 2 I 3 0.2 10 2 1000 4 I 4 0.1 110 3 1001 4 I 5 0.05 1110 4 1010 4 I 6 0.02 11110 5 1011 4 I 7 0.02 111110 6 1100 4 I 8 0.01 111111 6 11014(2) Huffman 编码的平均长度为2.38位; 等长扩展码编码的平均码长为2.8位.3. 某模型机有10条指令I 1~I 10, 它们的使用频度分别为0.3, 0.24, 0.16, 0.12, 0.07, 0.04, 0.03,0.02, 0.01, 0.01.(1) 计算机采用等长操作码表示时的信息冗余量.(2) 要求操作码平均码长最短, 试设计操作码的编码, 并计算所设计操作码的平均长度. (3) 设计2-5扩展操作码编码,并计算平均码长.(4) 设计2-4(2/8)等长扩展码编码,并计算平均码长. [答案] (1) 采用等长操作码表示时的信息冗余量为33.5%. (2) 操作码的Huffman 编码如表2所示, 此种编码的平均长度为2.7位.(3) 操作码的2-5扩展码编码如表2所示, 此种编码的平均长度为2.9位.(4) 操作码的2-4(2/8)等长扩展码编码如表2所示, 此种编码的平均长度为2.92位.表2 操作码的Huffman 编码, 2-5扩展码和2-4等长扩展码Huffman 编码法 2-5扩展码编码法 2-4等长扩展码编码法指令指令使用 频度P iHuffman 编码操作码长度l i2-5扩展码操作码 长度l i2-4等长 扩展码操作码 长度l iI 1 0.3 00 2 00 2 00 2 I 2 0.24 10 2 01 2 01 2 I 3 0.16 010 3 10 2 1000 4 I 4 0.12 011 3 11000 5 1001 4 I 5 0.07 110 3 11001 5 1010 4 I 6 0.04 111005 110105 10114I7 0.03 11101 5 11011 5 1100 4I8 0.02 11110 5 11100 5 1101 4I9 0.01 111110 6 11101 5 1110 4I10 0.01 111111 6 11110 5 1111 44. 何谓指令格式的优化? 操作码和地址码的优化一般采用哪些方法?[答案] 指令格式的优化是指通过采用多种不同的寻址方式, 地址制, 地址形式和地址码长度以及多种指令字长, 并将它们与可变长操作码的优化表示相结合, 就可以构成冗余度尽可能少的指令字.操作码的优化采用扩展操作码编码法.地址码优化有以下四种方法:(1)在指令中采用不同的寻址方式;(2)在指令中采用多地址制;(3)同一种地址制还可以采用多种地址形式和长度, 也可以考虑利用空白处来存放直接操作数或常数等;(4)在以上措施的基础上, 还可以进一步考虑采用多种指令字长度的指令.5. 若某机设计有如下指令格式的指令:三地址指令12种, 一地址指令254种, 设计指令的长度为16位, 每个地址码字段的位数均为4位. 若操作码的编码采用扩展操作码, 问二地址指令最多可以设计多少种?[答案] 二地址指令最多可以设计48种.6. 一台模型机共有九条指令I1~I9, 各指令的使用频度分别为0.3, 0.2, 0.2, 0.1, 0.08, 0.06, 0.03,0.02, 0.01. 该模型机有8位和16位两种指令字长. 8位字长指令为寄存器--寄存器(R--R)二地址类型, 16位字长指令为寄存器--存储器(R--M)二地址变址寻址类型.(1)试设计有两种码长的扩展操作码, 使其平均码长最短, 并计算此种编码的平均码长.(2)在(1)的基础上, 该机允许使用多少个可编址的通用寄存器?(3)若采用通用寄存器作为变址寄存器, 试设计该机的两种指令格式, 并标出各字段的位数.(4)计算变址寻址的偏移地址范围.[答案] (1) 操作码的2-5扩展码编码如表3所示, 此种编码的平均长度位2.9位.表3 操作码的2-5扩展码编码指令指令使用频度P i 2-5扩展码操作码长度l iI1 0.3 00 2 I2 0.2 01 2 I3 0.2 10 2 I4 0.1 11000 5 I5 0.08 11001 5 I6 0.06 11010 5 I7 0.03 11011 5 I8 0.02 11100 5 I9 0.01 11101 5 在(1)的基础上, 该机允许使用8个可编址的通用寄存器.(2)(3)该机的两种指令格式及各字段的位数如下:R-R型: 操作码OP (2位) | 源寄存器R S (3位) | 目的寄存器R d (3位)R-M型: 操作码OP (5位) | 源寄存器R S (3位) | 变址寄存器R X (3位) | 偏移地址 (5位)变址寻址的偏移地址范围为-16~+15.(4)7. 简述CISC的特点.[答案] CISC的特点如下:(1)庞大的指令系统;(2)采用了可变长度的指令格式;(3)指令使用的寻址方式繁多;(4)CISC指令系统中包括一些用于特殊用途的指令, 各种指令的使用频度相当悬殊.8. 从指令格式, 寻址方式以及平均CPI三个方面, 比较经典CISC和纯RISC体系结构. [答案] 略9.简述RISC设计的一般原则。