2022年计算机组成原理第四版课后习题答案 .pdf
1 / 30 第一章1 比较数字计算机和模拟计算机的特点。解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。两者主要区别见P1 表 1.1 。2 数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。3 数字计算机有那些主要应用?(略)4 冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯 . 诺依曼型计算机的主要设计思想是:存储程序和程序控制。存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。5 什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB 、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 30 页2 / 30 6 什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。7 指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。8 什么是内存?什么是外存?什么是CPU ?什么是适配器?简述其功能。解:内存:一般由半导体存储器构成,装在底版上,可直接和CPU交换信息的存储器称为内存储器,简称内存。用来存放经常使用的程序和数据。外存:为了扩大存储容量,又不使成本有很大的提高,在计算机中还配备了存储容量更大的磁盘存储器和光盘存储器,称为外存储器,简称外存。外存可存储大量的信息,计算机需要使用时,再调入内存。CPU :包括运算器和控制器。基本功能为:指令控制、操作控制、时间控制、数据加工。适配器:连接主机和外设的部件,起一个转换器的作用,以使主机和外设协调工作。9 计算机的系统软件包括哪几类?说明它们的用途。解:系统软件包括:(1)服务程序:诊断、排错等(2)语言程序:汇编、编译、解释等(3)操作系统(4)数据库管理系统用途:用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。10 说明软件发展的演变过程。(略)11 现代计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?解:多级划分图见P16 图 1.6 。可分为:微程序设计级、一般机器级、操作系统级、汇编语言级和高级语言级。用这种分级的观点来设计计算机,对保证产生一个良好的系统结构是有很大帮助的。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 30 页3 / 30 12 为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?(略)13 计算机应用 与应用计算机 在概念上等价吗?用学科角度和计算机系统的层次结构来寿命你的观点。(略)第二章1. 写出下列各数的原码、反码、补码、移码表示(用8 位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。(1) -35/64 (2) 23/128 (3) -127 (4) 用小数表示 -1 (5) 用整数表示 -1 解: (1) 先把十进制数-35/64写成二进制小数:(-35/64)10=(-100011/1000000)2=(- 1000112 -110)2=(-0.100011)2令 x=-0.100011B x原=1.1000110 (注意位数为8 位) x反=1.0111001 x补=1.0111010 x移=0.0111010 (2) 先把十进制数23/128 写成二进制小数:(23/128)10=(10111/10000000)2=(101112 -111)2=(0.0001011)2令 x=0.0001011B x原=0.0001011 x反=0.0001011 x补=0.0001011 x移=1.0001011(3) 先把十进制数 -127 写成二进制小数:(-127)10=(-1111111)2令 x= -1111111B x原=1.1111111 x反=1.0000000 x补=1.0000001 x移=1.0000001(4) 令 x=-1.000000B 原码、反码无法表示x补=1.0000000 x移=0.0000000(5) 令 Y=-1=-0000001B Y原=10000001 Y反=11111110 Y补=11111111 Y移=011111112. 设X 补= a0,a1,a2a6 , 其中 ai取 0 或 1,若要 x 0.5, 求 a0,a1,a2, a6的取值。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 30 页4 / 30 解: a0= 1 ,a1= 0 , a2, a6=11。3. 有一个字长为32 位的浮点数,阶码10 位(包括1 位阶符),用移码表示;尾数22 位(包括 1 位尾符)用补码表示,基数R=2。请写出:(1) 最大数的二进制表示;(2) 最小数的二进制表示;(3) 规格化数所能表示的数的范围;(4) 最接近于零的正规格化数与负规格化数。解:( 1)1111111111 0111111111111111111111 ( 2)1111111111 1000000000000000000000 ( 3)1111111111 01111111111111111111110111111111 1000000000000000000000 ( 4)0000000000 00000000000000000000010000000000 11111111111111111111114. 将下列十进制数表示成浮点规格化数,阶码3 位,用补码表示;尾数9 位,用补码表示。(1) 27/64 (2) -27/64 解:( 1)27/64=11011B=0.011011B=0.11011B浮点规格化数 : 1111 0110110000( 2) -27/64= -11011B = -0.011011B= -0.11011B浮点规格化数 : 1111 10010100005. 已知 X 和 Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。(1)X=0.11011 Y=0.00011 (2)X= 0.11011 Y= -0.10101 (3)X=-0.10110 Y=-0.00001解:( 1)先写出x 和 y 的变形补码再计算它们的和x补=00.11011 y补=00.00011 x+y补=x补+y补=00.11011+00.00011=0.11110 x+y=0.1111B 无溢出。( 2)先写出x 和 y 的变形补码再计算它们的和x补=00.11011 y补=11.01011 x+y补=x补+y补=00.11011+11.01011=00.00110 x+y=0.0011B 无溢出。( 3)先写出x 和 y 的变形补码再计算它们的和x补=11.01010 y补=11.11111 x+y补=x补+y补=11.01010+11.11111=11.01001 x+y= -0.10111B 无溢出精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 30 页5 / 30 6. 已知 X 和 Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。(1) X=0.11011 Y= -0.11111 (2) X=0.10111 Y=0.11011 (3) X=0.11011 Y=-0.10011解:( 1)先写出x 和 y 的变形补码,再计算它们的差x补=00.11011 y补=11.00001 -y补=00.11111 x-y补=x补+-y补=00.11011+00.11111=01.11010 运算结果双符号不相等 为正溢出X-Y=+1.1101B ( 2)先写出x 和 y 的变形补码,再计算它们的差x补=00.10111 y补=00.11011 -y补=11.00101 x-y补=00.10111+11.00101=11.11100 x -y= -0.001B 无溢出( 3)先写出x 和 y 的变形补码,再计算它们的差x补=00.11011 y补=11.01101 -y补=00.10011 x-y补=x补+-y补=00.11011+00.10011=01.01110 运算结果双符号不相等 为正溢出X-Y=+1.0111B7. 用原码阵列乘法器、补码阵列乘法器分别计算XY。(1)X=0.11011 Y= -0.11111 (2)X=-0.11111 Y=-0.11011 解:( 1)用原码阵列乘法器计算:x补=0.11011 y补=1.00001 (0) 1 1 0 1 1 ) (1)0 0 0 0 1 - (0) 1 1 0 1 1 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) (1) (1) (0) (1) (1) - (1) 0 0 1 0 1 1 1 0 1 1 x y补=1.0010111011 x y= -0.1101000101精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 30 页6 / 30 8 用原码阵列除法器计算XY。(1)X=0.11000 Y= -0.11111 (2)X=-0.01011 Y=0.11001解:( 1)x原=x补=0.11000 - y补=1.00001 被除数 X 0.11000 +-y补 1.00001 - 余数为负1.11001 q0=0左移 1.10010 +|y|补0.11111 - 余数为正0.10001 q1=1左移 1.00010 +-|y|补 1.00001 - 余数为正0.00011 q2=1 左移 0.00110 +-|y|补 1.00001 - 余数为负1.00111 q3=0左移 0.01110 +|y|补0.11111 - 余数为负1.01101 q4=0左移 0.11010 +|y|补0.11111 - 余数为负1.11001 q5=0 +|y|补0.11111 - 余数 0.11000故 x y原=1.11000 即 xy= -0.11000B 余数为0.11000B9. 设阶为 5 位( 包括 2 位阶符 ), 尾数为 8 位(包括 2 位数符 ), 阶码、尾数均用补码表示, 完成下列取值的X+Y ,X-Y 运算:(1)X=0.100101 Y=(-0.011110) (2)X=( -0.010110 ) Y=(0.010110)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 30 页7 / 30 解:( 1)将 y 规格化得: y=(-0.111100) x浮=1101,00.100101 y浮=1101, 11.000100 -y浮=1101,00.111100 对阶 E补=Ex补+-Ey补=1101+0011=0000 Ex=Ey 尾数相加相加相减00.100101 00.100101 + 11.000100 + 00.111100 - - 11.101001 01.100001 x+y浮=1101,11.101001 左规 x+y浮=1100,11.010010 x+y=(-0.101110) x-y浮=1101,01.100001 右规 x-y浮=1110,00.1100001 舍入处理得 x-y浮=1110,00.110001 x -y=0.110001( 2) x浮=1011,11.101010 y浮=1100,00.010110 -y浮=1100,11.101010 对阶 E补=Ex补+-Ey补=1011+0100=1111 E= -1 x浮=1100,11.110101(0) 尾数相加相加相减11.110101(0) 11.110101(0) + 00.010110 + 11.101010 - - 00.001011(0) 11.011111(0) x+y浮=1100,00.001011(0) 左规 x+y浮=1010,00.1011000 x+y=0.1011Bx-y浮=1100,11.011111(0) x -y=( -0.100001B )13. 某加法器进位链小组信号为C4C3C2C1,低位来的信号为C0,请分别按下述两种方式写出C4C3C2C1的逻辑表达式。(1) 串行进位方式(2) 并行进位方式解 :( 1)串行进位方式:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 30 页8 / 30 C1 = G1 + P1 C0其中: G1 = A1 B1, P1 = A1B1C2 = G2 + P2 C1 G2 = A2 B2, P2 = A2B2C3 = G3 + P3 C2 G3 = A3 B3, P3 = A3B3C4 = G4 + P4 C3 G4 = A4 B4, P4 = A4B4(2) 并行进位方式:C1 = G1 + P1 C0C2 = G2 + P2 G1 + P2 P1 C0C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C0C4 = G4 + P4 G3 + P4 P3 G2 + P4 P3 P2 G1 + P4 P3 P2 P1 C0其中 G1-G4,P1-P4表达式与串行进位方式相同。14. 某机字长16 位,使用四片74181 组成 ALU,设最低位序标注为0 位,要求:(1)写出第5 位的进位信号C6的逻辑表达式;(2)估算产生C6所需的最长时间;(3)估算最长的求和时间。解:( 1) 组成最低四位的74181 进位输出为: C4=G+P C0, C0为向第 0 位的进位其中: G=y3+x3y2+x2x3y1+x1x2x3y0, P=x0 x1x2x3所以: C5=y4+x4C4C6=y5+x5C5=y5+x5y4+x5x4C4( 2) 设标准门延迟时间为T, 与或非 门延迟时间为1.5T ,则进位信号C0由最低位传送至 C6需经一个反相器,两级 与或非 门,故产生C6的最长延迟时间为:T+21.5T=4T( 3)最长求和时间应从施加操作数到ALU算起:第一片74181 有 3 级 与或非 门(产生控制参数 x0,y0Cn+4), 第二、第三片74181 共 2 级反相器和2 级 与或非 门(进位链),第四片74181 求和逻辑( 1 级 与或非 门和 1 级半加器,其延迟时间为3T),故总的加法时间为:T=31.5T+2T+21.5T+1.5T+1.5T+3T=14T17设 A,B,C是三个 16 位的通用寄存器,请设计一个16 位定点补码运算器,能实现下述功能:(1) ABA(2) BC A, C(高位积在寄存器A中)(3) ABC (商在寄存器C中)解:设计能完成加、减、乘、除运算的16 位定点补码运算器框图。分析各寄存器作用:加减乘除A 被加数和同左初始为 0 被除数余数部分积乘积(H)除数B 加数同左被乘数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 30 页9 / 30 C - - 乘数乘积(L)商 A:累加器(16 位),具有输入、输出、累加功能及双向移位功能; B :数据寄存器(16 位),具有输入、输出功能; C :乘商寄存器(16 位),具有输入、输出功能及双向移位功能。画出框图:第三章1有一个具有20 位地址和32 位字长的存储器,问:(1) 该存储器能存储多少个字节的信息?(2) 如果存储器由512K8 位 SRAM 芯片组成,需要多少芯片?(3) 需要多少位地址作芯片选择?解:( 1) 220= 1M, 该存储器能存储的信息为:1M 32/8=4MB( 2)( 1000/512 )( 32/8 )= 8 (片)( 3) 需要 1 位地址作为芯片选择。2. 已知某 64 位机主存采用半导体存储器,其地址码为26 位,若使用256K16 位的 DRAM 芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问:(1) 每个模块板为1024K 64 位,共需几个模块板?(2) 个模块板内共有多少DRAM 芯片 ? (3)主存共需多少DRAM 芯片 ? CPU如何选择各模块板?解: (1). 共需模块板数为m :m=64 ( 块) (2). 每个模块板内有DRAM 芯片数为 n: n=(/) (64/16)=16 (片 ) (3) 主存共需 DRAM 芯片为: 1664=1024 ( 片) 每个模块板有16 片 DRAM 芯片,容量为1024K 64 位,需 20 根地址线 (A19A0) 完成精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 30 页10 / 30 模块板内存储单元寻址。一共有64 块模块板,采用6 根高位地址线(A25A20) ,通过6:64 译码器译码产生片选信号对各模块板进行选择。3 用 16K 8 位的 DRAM 芯片组成64K 32 位存储器,要求:(1) 画出该存储器的组成逻辑框图。(2) 设存储器读 / 写周期为0.5 S, CPU 在 1 S内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?解:( 1)组成 64K 32 位存储器需存储芯片数为N=(64K/16K )( 32 位/8 位) =16(片)每 4 片组成 16K 32 位的存储区,有A13-A0作为片内地址,用A15 A14经 2: 4 译码器产生片选信号,逻辑框图如下所示:(2)依题意,采用异步刷新方式较合理,可满足CPU在 1S 内至少访问内存一次的要求。设 16K 8 位存储芯片的阵列结构为128 行128 列,按行刷新,刷新周期T=2ms ,则异步刷新的间隔时间为:则两次刷新的最大时间间隔发生的示意图如下可见,两次刷新的最大时间间隔为15.5-0.5=15 (S) 对全部存储单元刷新一遍所需时间为t Rt R0.5128=64 ( S)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 30 页11 / 30 7某机器中,已知配有一个地址空间为0000H-3FFFH 的 ROM 区域。现在再用一个RAM 芯片(8K8)形成40K 16 位的 RAM区域,起始地址为6000H, 假定 RAM 芯片有和信号控制端。 CPU的地址总线为A15-A0,数据总线为D15-D0,控制信号为R/( 读/ 写),( 访存) ,要求:(1) 画出地址译码方案。(2) 将 ROM 与 RAM 同 CPU连接。解:( 1)依题意,主存地址空间分布如右图所示,可选用2 片 27128(16K8 位 )的 EPROM 作为ROM 区; 10 片的 8K8位 RAM片组成 40K 16 位的 RAM区。 27128 需 14 位片内地址,而RAM需13 位片内地址,故可用A15-A13 三位高地址经译码产生片选信号, 方案如下 :精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 30 页12 / 30 (2)8 存储器容量为64M,字长 64 位,模块数m = 8 ,分别用顺序方式和交叉方式进行组织。存储周期 T = 100ns,数据总线宽度为64 位,总线周期 = 10ns .问顺序存储器和交叉存储器的带宽各是多少?解:信息总量: q = 64位 8 =512 位顺序存储器和交叉存储器读出8 个字的时间分别是:t2 = m T = 8 100ns =810 (s) t1 = T + (m - 1)= 100 + 7 10 = 1.7 10 (s) 顺序存储器带宽是:W2 = q / t2= 512(810 )= 64 10(位 / S )交叉存储器带宽是:W1 = q / t1= 512(1.7 10)= 301 10(位 / S )9 CPU执行一段程序时, cache完成存取的次数为2420 次,主存完成存取的次数为80 次,已知cache 存储周期为40ns,主存存储周期为240ns ,求 cache/ 主存系统的效率和平均访问时间。解:先求命中率h h=nc/(nc +nm ) 2420(2420 80) 0.968 则平均访问时间为tata0.96840 (1- 0.968) 240 46.4(ns) r 24040 6 cache/ 主存系统的效率为e e1/r(1 r) 0.968 86.2 10已知 Cache 存储周期40ns,主存存储周期200ns, Cache/ 主存系统平均访问时间为50ns ,求 Cache 的命中率是多少?解: ta = tc h +tr(1 -h) h =(ta-tr)/(tc-tr)=(50-200)/(40-200)=15/16=0.94精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 30 页13 / 30 11主存容量为4MB ,虚存容量为1GB ,则虚存地址和物理地址各为多少位?如页面大小为4KB,则页表长度是多少?解:已知主存容量为4MB ,虚存容量为1GB 4M 物理地址为22 位又 1G 虚拟地址为30 位页表长度为1GB 4KB 230212=218=256K14假设主存只有a,b,c三个页框,组成a 进 c 出的 FIFO 队列,进程访问页面的序列是0,1,2.4,2,3,0,2,1.3,2号。用列表法求采用LRU替换策略时的命中率。解:命中率为15从下列有关存储器的描述中,选择出正确的答案:A 多体交叉存储主要解决扩充容量问题;B 访问存储器的请求是由CPU发出的;C Cache 与主存统一编址,即主存空间的某一部分属于Cache。D Cache 的功能全由硬件实现。解: D16从下列有关存储器的描述中,选择出正确的答案:A在虚拟存储器中,外存和主存一相同的方式工作,因此允许程序员用比主存空间大得多的外存空间编程;B在虚拟存储器中,逻辑地址转换成物理地址是由硬件实现的,仅在页面失效时才由操作系统将被访问页面从外存调到内存,必要时还要先把被淘汰的页面内容写入外存;C存储保护的目的是:在多用户环境中,既要防止一个用户程序出错而破坏系统软件或其他用户程序,又要防止一个用户访问不是分配给他的主存区,以达到数据安全和保密的要求。解: C第四章精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 30 页14 / 30 1ASCll 码是 7 位,如果设计主存单元字长为32 位,指令字长为12 位,是否合理?为什么?解:指令字长设计为12 位不是很合理。主存单元字长为32 位,一个存储单元可存放4 个ASCII 码,余下 4 位可作为ASCII 码的校验位(每个ASCII 码带一位校验位),这样设计还是合理的。但是,设计指令字长为12 位就不合理了,12 位的指令码存放在字长32 位的主存单元中,造成 19 位不能用而浪费了存储空间。2. 假设某计算机指令长度为20 位,具有双操作数、单操作数、无操作数三类指令形式,每个操作数地址规定用6 位表示。问:若操作码字段固定为8 位,现已设计出m条双操作数指令,n 条无操作数指令,在此情况下,这台计算机最多可以设计出多少条单操作数指令?解:这台计算机最多可以设计出256-m-n 条单操作数指令3指令格式结构如下所示,试分析指令格式及寻址方式特点。解:指令格式及寻址方式特点如下: 单字长二地址指令; 操作码OP可指定=64 条指令; RR 型指令,两个操作数均在寄存器中,源和目标都是通用寄存器(可分别指定16 个寄存器之一); 这种指令格式常用于算术逻辑类指令。4指令格式结构如下所示,试分析指令格式及寻址方式特点。解:指令格式及寻址方式特点如下: 双字长二地址指令; 操作码OP可指定=64 条指令; RS 型指令,两个操作数一个在寄存器中(16 个寄存器之一),另一个在存储器中; 有效地址通过变址求得:E=(变址寄存器) D,变址寄存器可有16 个。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 30 页15 / 30 5指令格式结构如下所示,试分析指令格式及寻址方式特点。解:指令格式及寻址方式特点如下: 单字长二地址指令; 操作码OP可指定=16 条指令; 有 8 个通用寄存器,支持8 种寻址方式; 可以是RR型指令、 SS型指令、 RS型指令、6一种单地址指令格式如下所示,其中I 为间接特征,X为寻址模式,D为形式地址。I ,X,D组成该指令的操作数有效地址E。设 R为变址寄存器,R1 为基值寄存器,PC为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。解: 直接寻址 相对寻址 变址寻址 基址寻址 间接寻址 基址间址寻址7某计算机字长16 位,主存容量为64K 字,采用单字长单地址指令,共有40 条指令,试采用直接、立即、变址、相对四种寻址方式设计指令格式。解: 40 条指令需占用操作码字段(OP )6 位,这样指令余下长度为10 位。为了覆盖主存640K字的地址空间,设寻址模式(X)2 位,形式地址(D)8 位,其指令格式如下:寻址模式定义如下:X= 0 0 直接寻址有效地址 E=D(直接寻址为256 个存储单元)X= 0 1 立即寻址 D 字段为操作数X= 1 0 变址寻址有效地址 E= (RX) D (可寻址64K 个存储单元)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 30 页16 / 30 X= 1 1 相对寻址有效地址 E=(PC ) D (可寻址64K 个存储单元)其中 RX为变址寄存器(16 位), PC为程序计数器(16 位),在变址和相对寻址时,位移量 D 可正可负。8某机字长为32 位,主存容量为1M,单字长指令, 有 50 种操作码 , 采用页面寻址、立即、直接等寻址方式。CPU中有 PC , IR,AR, DR 和 16 个通用寄存器,页面寻址可用PC高位部分与形式地址部分拼接成有效地址。问:(1)指令格式如何安排?(2)主存能划分成多少页面?每页多少单元?(3)能否增加其他寻址方式?解: (1)依题意 , 指令字长32 位,主存1M字,需 20 位地址 A19-A0。50 种操作码,需6 位OP ,指令寻址方式Mode为 2 位,指定寄存器Rn 需 4 位。设有单地址指令、双地址指令和零地址指令,现只讨论前二种指令。单地址指令的格式为:Mode=00时为立即寻址方式,指令的230 位为立即数;Mode=01时为直接寻址方式,指令的190 位为有效地址。双地址指令的格式为:Mode1=01时为寄存器直接寻址方式,操作数S=(Rn) ;Mode1=11时为寄存器间址寻址方式, 有效地址E=(Rn) 。Mode2=00时为立即寻址方式,指令的13-0 位为立即数;Mode2=01时为页面寻址方式;Mode2=10时为变址寻址方式,E=(Rn)+D ;Mode2=11时为变址间址寻址方式, E=(Rn)+D)。( 2)由于页面寻址方式时,D为 14 位,所以页面大小应为16K 字,则 1M字可分为64 个页面。可由PC的高 6 位指出页面号。( 3)能增加其它寻址方式,例上述间址方式、变址间址寻址方式。14. 从以下有关RISC 的描述中,选择正确答案。A. 采用 RISC技术后,计算机的体系结构又恢复到早期的比较简单的情况。B. 为了实现兼容,新设计的RISC,是从原来CISC 系统的指令系统中挑选一部分实现的。CRISC的主要目标是减少指令数,提高指令执行效率。DRISC设有乘、除法指令和浮点运算指令。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 30 页17 / 30 解: C15. 根据操作数所在位置,指出其寻址方式(填空):(1)操作数在寄存器中,为(A)寻址方式。(2)操作数地址在寄存器,为(B)寻址方式。(3)操作数在指令中,为(C)寻址方式。(4)操作数地址(主存)在指令中,为(D)寻址方式(5)操作数的地址,为某一寄存器内容与位移量之和可以是(E,F,G )寻址方式。解: A:寄存器直接; B: 寄存器间接; C :立即;D: 直接; E:相对; F :基值; G:变址第五章1请在括号内填入适当答案。在CPU中:(1) 保存当前正在执行的指令的寄存器是(指令寄存器IR);(2) 保存当前正要执行的指令地址的寄存器是( 程序计数器PC ) ;(3) 算术逻辑运算结果通常放在(通用寄存器)和( 数据缓冲寄存器DR )。2参见下图(课本P166 图 5.15 )的数据通路。画出存数指令STA R1 ,(R2) 的指令周期流程图,其含义是将寄存器R1 的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。解: STA R1 ,(R2) 指令是一条存数指令,其指令周期流程图如下图所示:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 30 页18 / 30 3参见课本P166 图 5.15 的数据通路,画出取数指令LDA(R3), RO的指令周期流程图,其含义是将 (R3) 为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。5如果在一个CPU周期中要产生3 个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画出时序产生器逻辑图。解:节拍脉冲T1,T2,T3的宽度实际等于时钟脉冲的周期或是它的倍数,此时T1 = T3=200ns ,T2 = 400 ns ,所以主脉冲源的频率应为 f = 1 / T1 =5MHZ 。为了消除节拍脉冲上的毛刺,环型脉冲发生器可采用移位寄存器形式。下图画出了题目要求的逻辑电路图和时序信号关系。根据关系,节拍脉冲T1,T2,T3 的逻辑表达式如下:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 30 页19 / 30 T1 = C1, T2 = , T3 = 6假设某机器有80 条指令,平均每条指令由4 条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32 位,请估算控制存储器容量。解:微指令条数为:(4-1 )80+1=241 条取控存容量为: 25632位=1KB7. 某 ALU器件使用模式控制码M ,S3,S2,S1,C来控制执行不同的算术运算和逻辑操作。下表列出各条指令所要求的模式控制码,其中y 为二进制变量,F为 0 或 1 任选。试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M ,S3,S2, S1,C的逻辑表达式。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 30 页20 / 30 解: M=G S3=H+D+F S2=1 C=H+D+(E+F)y8某机有8 条微指令I1-I8,每条微指令所包含的微命令控制信号如下表所示。 a-j分别对应10 种不同性质的微命令信号。假设一条微指令的控制字段为8 位,请安排微指令的控制字段格式。解:经分析,(e ,f ,h)和( b, i, j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a, c, d, g 四个微命令信号可进行直接控制,其整个控制字段组成如下:11. 已知某机采用微程序控制方式,其控制存储器容量为51248(位 ) 。微程序可在整个控制存储器中实现转移,可控制微程序转移的条件共4 个,微指令采用水平型格式,后继微精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 30 页21 / 30 指令地址采用断定方式。请问: (1)微指令中的三个字段分别应为多少位?(2)画出围绕这种微指令格式的微程序控制器逻辑框图。解:(l )假设判别测试字段中每一位作为一个判别标志,那么由于有4 个转移条件,故该字段为4位;又因为控存容量为512 单元,所以下地址字段为9 位,。微命令字段则是:(4849)= 35 位。(2)对应上述微指令格式的微程序控制器逻辑框图如下图所示。其中微地址寄存器对应下地址字, P字段即为判别测试字段,控制字段即为微命令字段,后两部分组成微指令寄存器。地址转移逻辑的输入是指令寄存器的OP码、各种状态条件以及判别测试字段所给的判别标志(某一位为1),其输出用于控制修改微地址寄存器的适当位数,从而实现微程序的分支转移(此例微指令的后继地址采用断定方式)。12今有 4 级流水线分别完成取值、指令译码并取数、运算、送结果四步操作,今假设完成各步操作的时间依次为100ns,100ns,80ns,50ns。请问:( 1)流水线的操作周期应设计为多少?(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指令要推迟多少时间进行。(3)如果在硬件设计上加以改进,至少需推迟多少时间?解:(1) 流水线的操作时钟周期 t应按四步操作中最长时间来考虑, 所以 t=100ns ;(2) 两条指令发生数据相关冲突情况:: ADD R1,R2,R3 。 R2+R3 R1SUB R4,R1,R5 。 R1- R5 R4两条指令在流水线中执行情况如下表所示: 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 30 页22 / 30 ADD指令在时钟4 时才将结果写入寄存器R1中, 但 SUB指令在时钟3 时就需读寄存器R1了,显然发生数据相关,不能读到所需数据,只能等待。如果硬件上不采取措施, 第 2 条指令 SUB至少应推迟 2 个操作时钟周期,即t=2100ns=200ns;(3) 如果硬件上加以改进(采取旁路技术), 这样只需推迟1 个操作时钟周期就能得到所需数据,即 t=100ns 。15用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率。解:衡量并行处理器性能的一个有效参数是数据带宽(最大吞吐量),它定义为单位时间内可以产生的最大运算结果个数。设 P1 是有总延时T1的非流水处理器,故其带宽为1/T1。又设 Pm是相当于P1 m 段流水处理器延迟时间 Tr,故 Pm的带宽为1/ (Tc+Tr )。如果Pm是将 P1划分成相同延迟的若干段形成的,则T1mTc 因此 P1的带宽接近于1/mTc,由此可见,当mTcTc+Tr 满足时, Pm比 P1具