2023年计算机组成原理第四版课后习题答案.pdf
第一章1.比较数字计算机和模拟计算机的特点。解:模拟计算机的特点:数值由连续量来表达,运算过程是连续的;A 数字计算机的特点:数值由数字量(离散量)来表达,运算按位进行。两者重要区别见P 1表1.1。2.数字计算机如何分类?分类的依据是什么?贴解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。劣分类依据:专用和通用是根据计算机的效率、速度、价格、运营的经济性和适应性来划分的。通用机的分类依据重要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。3.数字计算机有那些重要应用?A(略)4.冯.诺依曼型计算机的重要设计思想是什么?它涉及哪些重要组成部分?解:冯.诺依曼型计算机的重要设计思想是:存储程序和程序控制。存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完毕运算任务。重要组成部分有:控制器、运算器、存储器、输入设备、输出设备。5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?M解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容A 量越大,表达计算机所能存储的信息量越多,反映了计算机存储空间的大小。A单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。A 数据字:若某计算机字是运算操作的对象即代表要解决的数据,则称数据字。指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。6 .什么是指令?什么是程序?岫解:指令:计算机所执行的每一个基本的操作。程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。7 g.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?A 解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。8 .什么是内存?什么是外存?什么是C P U?什么是适配器?简述其功能。A 解:内存:一般由半导体存储器构成,装在底版上,可直接和C P U 互换信息的存储器称为内存储A器,简称内存。用来存放经常使用的程序和数据。外存:为了扩大存储容量,又不使成本有很大的提高,在计算机中还配备了存储容量更大的A磁盘存储器和光盘存储器,称为外存储器,简称外存。外存可存储大量的信息,计第 机需要使用时.,再调入内存。C P U:涉及运算器和控制器。基本功能为:指令控制、操作控制、时间控制、数据加工。适配器:连接主机和外设的部件,起一个转换器的作用,以使主机和外设协调工作。9 .计算机的系统软件涉及哪几类?说明它们的用途。M解:系统软件涉及:(1 )服务程序:诊断、排错等(2)语言程序:汇编、编译、解释等(3)操作系统(4 )数据库管理系统A用途:用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能A及用途。10.说明软件发展的演变过程。q (略)1 1 .现代计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?解:多级划分图见P 1 6 图 1.6。可分为:微程序设计级、一般机器级、操作系统级、汇编语言级和A 高级语言级。用这种分级的观点来设计计算机,对保证产生一个良好的系统结构是有很大帮助的。1 2 .为什么软件可以转化为硬件?硬件可以转化为软件?实现这种转化的媒介是什么?-(略)13.”计算机应用 与 应用计算机 在概念上等价吗?用学科角度和计算机系统的层次结构来寿命你的观点。3(略)第二章1.写出下列各数的原码、反码、补码、移码表达(用8 位二进制数)。其中M S B 是最高位(又是符号位)LS B是最低位。假如是小数,小数点在M S B 之后;假如是整数,小数点在LS B 之后。)1 G-3 5/6 4 (2)2 3/1 2 8 (3 )-1 2 7 (4)用小数表达一 1 (5)用整数表达T解:(1)先把十进制数一 3 5/6 4写成二进制小数:(-3 5/6 4)io=(-l 0 0 0 1 1/1 0 00 0 0 0)2=(-1 0 0 0 1 1 X2-1 1 0)2 =(-0.1 0 0 0 1 1 )2令 x=-0.1 0 0 0 1 1 丛,x 原=1.1 0 0 0 1 1 0 (注意位数为 8 位)x 反=1.0 1 1 1 0O b x?b=1 .0 1 1 1 0 1 0 x 移=0.0 1 1 1 0 1 3 先把十进制数 2 3 /1 2 8 写成二进制小数:(2 3/1 2 8)1 0=(1 0 1 1 1/1 0 0 0 0 0 0 0)2=(1 0 1 1 1 X2-1 1 1 )2=(0 .0 0 0 1 0 1 1)2令 x=0.0 0 0 1 0 1 1 B.x 原=0.0 0 0 1 0 1 1 x 反=0.0 0 0 1 0 1 1 x l b=o.0 0 0 1 0 1 1 x 移=1.0 0 0 1 0 1 1(3)先把十进制数T 2 7 写成二进制小数:(-1 2 7 )io=(-l 1 1 1 1 1 1)2 劣令*=-m i i IIBA二 x =l.1 1 1 1 1 1 1 x 反=1.0 0 0 0 0 0 0 x 补=1.0 0 0 0 0 0 1 x 移=1.0 0 0 0 0 0 1(4)令 x=T.0 0 0 0 0 0 BA原码、反码无法表达 x 补=1.0 0 0 0 0 0 0 x 移=0.0 0 0 0 0 0 0(5)令 丫=-1=-0 0 0 0 0 0 1 BA,Y 原=1 0 0 0 0 0 0 1 Y 反=1 1 1 1 1 1 1 0 Y 补=1 1 1 1 1 1 1 1 Y 移=0 1 1 1 1 1 1 12 .设 X 补=a o,a i,a 2 a 6 ,其中 a i取 0 或 1,若要 x 0.5 ,求 a o,a 1,a 2,a 6的取值.M解:a o=1,a i=0,a 2.,a 6=13.有一个字长为3 2 位的浮点数,阶码1 0 位(涉及1 位阶符),用移码表达;尾数2 2 位(涉及1 位尾符)用补码表达,基数R=2。请写出:(1)最大数的二进制表达;(2)最小数的二进制表达;(3)规格化数所能表达的数的范围;(4)最接近于零的正规格化数与负规格化数。A解:(1)A(2)(4)4.将下列十进制数表达成浮点规格化数,阶码3 位,用补码表达;尾数9 位,用补码表达。(1)2 7/6 4(2)-2 7/6 4 :(1)2 7/6 4=1 1 0 1 1 B X 2-6=0.0 1 1 0 1 1 B=0.1 l O H B X 2 浮点规格化 数:1 1 1 1(2)-2 7/6 4=-1 1 0 1 I B X 26=-0.0 1 1 0 1 1 B=-0.1 1 0 1 1 B X 21*浮点规格化数:1 1 1 15.已知X 和 Y,用变形补码计算X+Y,同时指出运算结果是否溢出。(1)X=0.1 1 0 11 Y=0.00011(2)X=0.110 1 1 Y=-0.1 010 1A(3)X=-0.1011 0 Y=-0.00001解:(D 先写出x 和 y 的变形补码再计算它们的和A x 补=0 0.11011 y 补=0 0.0 0 0 2 x +y 补=以 补+y 补=0 0.110 1 1+00.00011=0.1111O x+y=0.1 111B 无溢出。g (2)先写出x 和 y 的变形补码再计算它们的和 x 补=0 0.11 0 1 1 y 补=11.01 0 1 1 A x+y 补=以补+丫 补=00.11011+11.010 1 0 0.00 1 10A A x+y=O.001 1 B 无溢出。a(3)先写出x 和 y 的变形补码再计算它们的和4 x 补=11.01 0 10 y补=11.111 1U x+y 补=x 补 +y 补=11.01 0 10+11.11111=1 L01 0 O h A x+y=-0.10111B 无溢出6.已知X 和 Y,用变形补码计算X-Y,同时指出运算结果是否溢出。(1)X=0.1 1 011 Y=-0.11111(2)X=0.1 0 111 Y=0.1 101 1A(3)X=0.11011 Y=-0.1001解:(1)先写出x 和 y 的变形补码,再计算它们的差 x 补=00.1 1 011 y 补=11.0 0 001 -y 补=0 0.1 11 1 1 x-y补=x 补 +-y 补=00.1 1 011+0 0.1 1111=0 1.1 1 010:运算结果双符号不相等?为正溢出X-Y=+l.1101B(2)先写出x 和 y 的变形补码,再计算它们的差 x 补=00.1 0111 yl b=00.110 11 y 0 01 0 x -y)b=00.101 11+11.001 0 1=1 1.11100A x-y=-0.001 B 无溢出A(3)先写出x 和 y 的变形补码,再计算它们的差 x 补=00.11 0 1 1 y?b=l 1.01101 -y#=0 0.1 0 011 x-y 补=x 补+-y 补=0 0.1 1 0 11+00.100 1 1=01.0 1 110:运算结果双符号不相等/.为正溢出 X-Y=+l.0 111B7.用原码阵列乘法器、补码阵列乘法器分别计算XXY。*(1)X=0.110 1 1 Y=-o.11111(2)X=-0.1 1 1 11 Y=-0.11 0 1 1 A解:(1)用原码阵列乘法器计算:皿 x 补=0.11011 y 补=1.00001(0)1 101 1X)(1)0 0 0 0 1-a(0)1 1 01 1(0)0 0 0 0 0 A (0)0 0 0 0 0(0)0 0 0 0 0(0)0 0 0 0 01)(0(A)(1)(0)(1)(1)1 0 1 1 A x X yb=l.*x X y=-0.8.用原码阵列除法器计算X 4-Y.(1)x=o.no o o Y=-o.mu(2)X=-0.0 1011 Y=0.1 1 001A解:(1)原=x 补=0.11000 I y 门补=1.00 0 0 1A被除数X 0.1 1 00 0+-I y I 1.000014左移 1.1 0 0 1 O+|y|补 0.11111余 数 为 负 1.1 1 0 01 f q O=g余数为正0.1 0 0 0 1 -ql =U+-|y|?b 1.0 0 0 01左移 0.00110+-I y I 补 1 .0 0 001A余数为负 1.0011 1 -q3=0*+|y|补 0.11111左移 0.11 0 10+|y|补 0.1 1 1 1 1A余数为负1.11 0 01 fq5=O左移 1.0001 0余数为正 0.0 0011 f q 2=1 A左移 0.0 1 I I O余数为负1.011 0 1 q4=0+!y|补 0.1 1 1 余数 0.110 0 0故 x +y 原=1.11000 即 x+y=-o.1 1 0 0 0B余数为 0.1100 0 B x 2-1019.设阶为5 位(涉 及 2 位阶符),尾数为8 位(涉及2 位数符),阶码、尾数均用补码表达,完毕下列取值的 X+Y,X-Y 运算:1(A)X =2 0 1 1X 0.1 00 1 0 1 Y=2-0 1 0X (-0.011110)X=2-llx(-0.010 11 0)Y=2 4 X (0.010110)4 解:(1)将 y 规格化得:y=2 一 0nX (-0.111100)A x 浮=1 101,0 0.100 1 0 1 y浮=11 0 1,11.0 0 0100 y浮=1101,0 0.11 1 1 004 对 阶 AEb=Ex 补+Ey 补=1 1 0 1+0011=0 0 0 0/.Ex=E*尾 数 相 加A 相加 相减A 00.1 00101 00.1001 0 1+11.0 0 0100+00.11110011.101 0 0 1 0 1.1 0 0 0 0 1 A x+y 浮=1 1 01,11.10100 1 左 规 x+y 浮=1 1 00,11.0 1 0 0 1 0-100 x+y=2 X(-0.101110)a x-y#=ll 0 1,0 1.10000 1 右规 x-y 浮=11 10,00.11 0 0001舍入解决得 x-y =l 1 1 0,0 0.11 0 001/.x-y=2 10 X 0.1 1 0001x(2)同 浮=1 01 1,11.101 0 10 口 浮=1 10 0,00.0 1 0 110 一y 浮=110 0,11.101010 对阶 E 补=Ex 补+-Ey 补=1 011+01 0 0=1 11b A A E=-1 x 浮=11 0 0,11.11 0 1 0 1(0)N 尾 数相加A 相加 相减A11.1 10101(0)11.110101(0)A+00.010 110+1 1.101010 A -Aoo.oo 1 011(o)u.o n i i i(o)x+y 浮=1 1 0 0,00.0 01011(0)左规 x+y 浮=101 0,0 0.1 0 1 1 0 0 0-110 x+y=2 XO.IO H BA x-y 浮=1100,11.0 111 1 1(0)-io o:.x-y=2 X(-0.1 0 000 IB)1 3.某加法器进位链小组信号为C 4 c3c2 C 1,低位来的信号为C o ,请分别按下述两种方式写出C 4 c3c2 C】的逻辑表达式。1 W串行进位方式(2)并行进位方式解:(1)串行进位方式:C1C o其中:G1A i B iPiA 1 O B 1C 2 =G 2 +P2 C 1G 2 =A 2 B 2,P2 =A 2 B 2C 3 =G3+P 3 c 2G3A 3 B 3P3=A 3 B 3C 4 =G4 +P 4 C 3G4A 4 B 4 ,P4 =A 4 B 4(2)并行进位方式:aC l=Gi +P i C o AC 2 =G2 +P2 G1+P 2 Pl C(2C 3 =G3+P3 G2 +P3P2+P3 P2 Pl C O AC 4 =G4 +P4 G3+P4 P 3 G2 +PG 1 +P 1G i4 P 3 P 2 G 1 +P 4 P3 P2 Pl C O其 中G1-G4 ,P 1-P 4 表达式与串行进位方式相同。14.某机字长1 6 位,使用四片74 18 1 组成A LU,设最低位序标注为0 位,规定:1G)写出第 5 位的进位信号C 6的逻辑表达式;A(2)估算产生C 6所需的最长时间;A(3)估算最长的求和时间。A解:(1)组成最低四位的74 181进位输出为:C 4=G+P CO,C o 为向第0 位的进位A其中:G =y3+X 3 y 2+X 2 X 3yl+x l X 2 X 3 y 0,P=X O X 1 X 2 X 8 所 以:C 5=y4+X 4 C 4C 6=y5+x 5C 5=y5+x 5y4+x 5x 4 C 4(2)设标准门延迟时间为T,与或非”门延迟时间为1.5T,则进位信号C o 由最低位传送至C 6需经一个反相器,两级 与或非 门,故产生C 6的最长延迟时间为:T+2 X 1.5T=4TA(3)最长求和时间应从施加操作数到A LU 算起:第一片7 4 181有3 级 与或非”门(产生控制参数x o,yo C n+4),第二、第三片74 181共 2 级反相器和2 级 与或非 门(进位链),第四片74 181求和逻辑(1级”与或非 门和1级半加器,其延迟时间为3 T),故总的加法时间为:*T=3 X I.5T+2 T +2 X 1.5T+1.5 T+1 .5T+3 T=14 T1 7.设 A,B,C是三个1 6 位的通用寄存器,请设计一个16位定点补码运算器,能实现下述功能:A(1)A+B-A(2 )B X C-A,C (高位积在寄存器A中)3(A)A+B-C (商在寄存器C中)岫解:设计能完毕加、减、乘、除运算的16位定点补码运算器框图。分析各寄存器作用:加 减 乘 除a A 被加数一和 同左 初始为0 被除数一余数部分积f乘积(H)除数B 加数 同左 被乘数C 一 乘 数 乘 积(L)商a;.A :累加器(1 6 位),具有输入、输出、累加功能及双向移位功能泠B:数据寄存器(1 6 位),具有输入、输出功能;A C:乘商寄存器(1 6 位),具有输入、输出功能及双向移位功能。画出框图:劣第三章1 .有一个具有2 0 位地址和3 2 位字长的存储器,问:1 该存储器能存储多少个字节的信息?(2)假如存储器由5 1 2 K x 8 位 S R A M 芯片组成,需要多少芯片?3(A)需要多少位地址作芯片选择?M解:(1)2 2 0=I M,该存储器能存储的信息为:1 M X32/8=4M BA(2)(1 0 0 0/5 1 2)X (3 2/8)=8(片)A(3)需要1 位地址作为芯片选择。2.已知某6 4 位机主存采用半导体存储器,其地址码为2 6 位,若使用2 5 6 K x i 6 位的D R A M芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问:1 每个模块板为1 0 2 4 KX 6 4位,共需几个模块板?(2)个模块板内共有多少D R A M 芯片?(3)主存共需多少D R A M 芯片?C P U 如何选择各模块板?MW:(1).共需模块板数为m:Am=2264-22 0=6 4 (块)(2).每个模块板内有D R A M 芯片数为n*n=(22 0/21 8)X (6 4 /1 6)=1 6 (片)A(3)主存共需D R A M 芯片为:1 6 X 6 4=1 0 2 4 (片)八 每个模块板有1 6 片D R A M 芯片,容量为1 0 2 4 K x 6 4 位,需2 0 根地址线(A 1 9 A 0)完毕模块板内存储单元寻址。一共有6 4 块模块板,采用6 根高位地址线(A 2 5 A 2 0),通过6:6 4 译码器译码产生片选信号对各模块板进行选择。3.用 1 6 K x 8 位的D R A M 芯片组成6 4 K x 3 2 位存储器,规定:1(A)画出该存储器的组成逻辑框图。A(2)设存储器读/写周期为0.5N S,CPU在 1 N S 内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对所有存储单元刷新一遍所需的实际刷新时间是多少?A解:(1)组成6 4 Kx 3 2 位存储器需存储芯片数为N=(6 4 K/1 6 K)X (3 2 位/8 位)=1 6(片)每 4 片组成1 6 K x 3 2 位的存储区,有A 1 3-A 0 作为片内地址,用 A 1 5 AM经 2:4 译码器产生片选信号C S n-C S,逻辑框图如下所示:(2)依题意,采用异步刷新方式较合理,可满足C P U 在 1 U S 内至少访问内存一次的规定。设 1 6 K X 8 位存储芯片的阵列结构为1 2 8 行X 1 2 8 列,按行刷新,刷新周期T=2 m s,则异步刷新的间隔时间为:*5.5()则两次刷新的最大时间间隔发生的示意图如下REF|I REF I|REF4 15.5WS 玉 15.5US可见,两次刷新的最大时间间隔为t m a xt ma x=1 5.5-0.5 =1 5 (U S)对所有存储单元刷新一遍所需时间为t R A t R =0.5 X 1 2 8=6 4 (u S)7.某机器中,已知配有一个地址空间为0 0 0 0 H 3 F F F H 的ROM区域。现在再用一个R A M 芯片(8 K X 8)形成4 0 K X 1 6 位的R A M 区域,起始地址为6 0 0 0 H,假定R A M 芯片有无和丽信号控制端。C P U 的地址总线为A 1 5-A 0,数据总线为D1 5 D o,控制信号为R/而(读/写),及 侬 2(访存),规定:(1)画出地址译码方案。(2)将 R O M 与 R A M 同C P U 连接。A解:(1)依题意,主存地址空间分布如右图所示,可选用2 片 2 7 1 2 8(1 6 K X 8 位)的 E P R O M 作为16K xi6 位R O M8 K x i6 位留空4 0 K x i6 位R A MROM区;10片的8 KX 8位RAM片组成40Kxi6位的RAM区。27 1 2 8需14位片内地址,而RAM需13位A片内地址,故可用A 1 5-A 13三位高地址经译码产生片选信号1 方案如下:0000H3FFFH4000H5FFFH6000HFFFFHCS(ROM)丫3-丫7每条线与门NC 控制 8 K x i6 的 RAMMREQ2)Y 7Y 3SW(见宙)8.存储器容量为6 4M,字长6 4位,模块数m =8,分别用顺序方式和交叉方式进行组织。存储周期T=1 0 0 n s,数据总线宽度为6 4位,总线周期T10ns.问顺序存储器和交叉存储器的带宽各是多少?A解:信息总量:q=6 4 位 X 8 =5 1 2 位A 顺序存储器和交叉存储器读出8 个字的时间分别是:A t2 =m T =8 X 1 0 0 n s=8 X 1 0-7(s”t i =T +(m 1)=1 0 0 +7 X 1 0 =1.7 X 1 0 -7(s)A 顺序存储器带宽是:A W 2=q/t2 =5 1 2 -?(8 X 1 0 -7)=6 4 *1。7(位/S)交叉存储器带宽是:W i=q/t i =5 1 2 4-(1.7 X 1 0-7)=3 0 1 X 1 07(位/S )9 .C P U 执行一段程序时,c a c he 完毕存取的次数为2 4 2 0 次,主存完毕存取的次数为8 0次,已知c a c he 存储周期为4 0 n s,主存存储周期为2 4 0 n s,求 c a c h e /主存系统的效率和平均访问时间。A解:先求命中率 g h=n c/(n c +n m )=2 4 2 0+(2 4 2 0+8 0 )=0.9 6 8则平均访问时间为tata=0.9 6 8 X 4 0+(1-0.9 6 8 )X 2 4 0=4 6.4(n s)A r=2 4 0 +4 0=6c a c he/主存系统的效率为 e A e=1 /r+(l-r)X 0.9 6 8 =8 6.2%1 0 .已知Ca c he 存储周期4 0 n s,主存存储周期2 0 0 n s,C a c he/主存系统平均访问时间为5 0 n s,求 C a c h e的命中率是多少?A解:ta =t c X h+t r X (l-h).h=(ta-t r)/(tc-t r)=(5 0-2 0 0 )/(4 0-2 0 0)=1 5/1 6=0.9 41 1 .主存容量为4 M B,虚存容量为1 G B,则虚存地址和物理地址各为多少位?如页面大小为4 K B,则页表长度是多少?解:已知主存容量为4 M B,虚存容量为IGBA;22 2=4 M 物理地址为2 2 位30-又 V 2 =1 G .虚拟地址为3 0 位4页表长度为1 G B+4 K B=2 3 0 +2 1 2 =2 1 8 =2 5 6 K14.假设主存只有a,b,c三个页框,组成a进c出的F IF O队列,进程访问页面的序列是0,1,2.4,2,3,0,2,1.3,2号。用列表法求采用LRU替换策略时的命中率。A解:页面访问序列01242302132LRUA01242302132B0124230213C011423021命中命中命中.,.命中率为3n=27.3%111 5.从下列有关存储器的描述中,选择出对的的答案:A.多体交叉存储重要解决扩充容量问题;B.访问存储器的请求是由CPU发出的;A c.Cache与主存统一编址,即主存空间的某一部分属于Cache;D.Cache的功能全由硬件实现。A解:D1 6.从下列有关存储器的描述中,选择出对的的答案:A.在虚拟存储器中,外存和主存一相同的方式工作,因此允许程序员用比主存空间大得A 多的外存空间编程;B.在虚拟存储器中,逻辑地址转换成物理地址是由硬件实现的,仅在页面失效时才由操A作系统将被访问页面从外存调到内存,必要时还要先把被淘汰的页面内容写入外存;C.存储保护的目的是:在多用户环境中,既要防止一个用户程序犯错而破坏系统软件或其他用户程序,又要防止一个用户访问不是分派给他的主存区,以达成数据安全和保密的规定。解:c第四章1.AS CI 1 码是7 位,假如设计主存单元字长为3 2 位,指令字长为1 2 位,是否合理?为什么?解:指令字长设计为1 2 位不是很合理。主存单元字长为3 2 位,一个存储单元可存放4 个 AS C II 码,A余下4 位可作为AS CI 1 码的校验位(每个A S C H 码带一位校验位),这样设计还是合理的。A但是,设计指令字长为1 2 位就不合理了,1 2 位的指令码存放在字长3 2 位的主存单元中,导致1 9 位不能用而浪费了存储空间。好.假设某计算机指令长度为2 0 位,具有双操作数、单操作数、无操作数三类指令形式,每个操作数地址规定用6 位表达。问:若操作码字段固定为8 位,现已设计出m条双操作数指令,n 条无操作数指令,在此情况下,这台计算机最多可以设计出多少条单操作数指令?A解:这台计算机最多可以设计出2 5 6 -m n 条单操作数指令3 .指令格式结构如下所示,试分析指令格式及寻址方式特点。15 10 7 4 3 0OP目标寄存器源寄存器A解:指令格式及寻址方式特点如下:单字长二地址指令;操作码0 P 可指定2 邑6 4条指令;a R R 型指令,两个操作数均在寄存器中,源和目的都是通用寄存器(可分别指定1 6 个寄存部 之一);这种指令格式常用于算术逻辑类指令。4 .指令格式结构如下所示,试分析指令格式及寻址方式特点。15 10 7 4 3 0OP|源寄存器|变址寄存需一偏移量(16位)-解:指令格式及寻址方式特点如下:双字长二地址指令;操 作 码0 P可指定2邑6 4条指令;R S型指令,两个操作数一个在寄存器中(1 6个寄存器之一),另一个在存储器中;有效地址通过变址求得:E=(变址寄存器)土 D,变址寄存器可有1 6个。5.指令格式结构如下所示,试分析指令格式及寻址方式特点。15 12 11 9 8 6 5 3 2 0OP寻 防 式1寄 嚣寻址方式1寄存器L_源地址 山 目的地址_ _ _ _ _A解:指令格式及寻址方式特点如下:单字长二地址指令;操 作 码O P可指定24=1 6条指令;A 有8个通用寄存器,支持8种寻址方式;可以是R R型指令、S S型指令、R S型指令、6 .一种单地址指令格式如下所示,其中I为间接特性,X为寻址模式,D为形式地址。I,X,D组成该指令的操作数有效地址E。设R为变址寄存器,R 1为基值寄存器,P C为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。OPIXD寻址方式名整1X火效地址E30E-D331E-4-DIU汁 D11E=(Ri+D1anE=(n)1011 D)D-0解:直接寻址A 相对寻址A 变址寻址基址寻址A 间接寻址 基址间址寻址7.某计算机字长1 6 位,主存容量为6 4 K 字,采用单字长单地址指令,共有4 0 条指令,试采用直接、立即、变址、相对四种寻址方式设计指令格式。岫解:4 0 条指令需占用操作码字段(0 P)6 位,这样指令余下长度为1 0 位。为了覆盖主存6 4 0 K 字 的 地 址 空 间,设寻址模式(X)2 位,形式地址(D)8 位,其指令格式如下:15 10 9 8 7 0OPXD寻址模 式 定 义 如 下 x=0 0 直接寻址有效 地 址 E=D (直接寻址为25 6 个存储单元)AX=0 1立即寻址D 字段为操作数X=1 0 变址寻址有效地址E=(R x)+D (可寻址6 4 K 个存储单元)A X=1 1相对寻址有效地址 E =(P C)+D (可寻址6 4 K 个存储单元)其中R x 为变址寄存器(1 6位),P C 为程序计数器(1 6 位),在变址和相对寻址时,位移量D 可 正可负。8.某机字长为3 2位,主存容量为1 M,单字长指令,有 5 0 种操作码,采用页面寻址、立即、直接等寻址方式。C P U 中有P C,IR,A R,D R 和 1 6 个通用寄存器,页面寻址可用PC高位部分与形式地址部分拼接成有效地址。问:(1)指令格式如何安排?(2)主存能划提成多少页面?每页多少单元?(3)能否增长其他寻址方式?解:(1)依题意,指令字长3 2位,主存1 M 字,需 20 位地址A 1 9-A 0。5 0 种操作码,需6 位 OP,指令A 寻址方式M o d e为 2 位,指定寄存器R n 需4 位。设有单地址指令、双地址指令和零地址指令,现只讨论前二种指令。单地址指令的格式为:31 26 25 24 23 20 19 00PModeRnD寻址方式,指令的23 0 位为立即数;M o d e=0 1 时为直接寻址方式,指令的1 9 -0位为有效地址。双地址指令的格式为:31 26 25 24 23 20 19 18 17 14 13 0OPModelRnMo de 2RnDM o d e l =0 1 时为寄存器直接寻址方式,操作数S=(R n);s M o d el-1 1 时为寄存器间址寻址方式,有效地址E=(R n)。M o d e2=0 0 时为立即寻址方式,指令的1 3 -0 位为立即数;M o d e 2=0 1 时为页面寻址方式;A M o d e2=1 0 时为变址寻址方式,E=(R n)+D;4 M o d e2=ll时为变址间址寻址方式,E =(R n)+D)。(2)由于页面寻址方式时,D为 1 4 位,所以页面大小应为2=1 6 K 字,则 1 M字可分为2邑6 4个页面。可由P C 的高6 位指出页面号。A(3)能增长其它寻址方式,例上述间址方式、变址间址寻址方式。1 4.从以下有关R I SC的描述中,选择对的答案。a A.采用R I S C 技术后,计算机的体系结构又恢复到初期的比较简朴的情况。A B.为了实现兼容,新设计的RI SC,是从本来C I S C 系统的指令系统中挑选一部分实现的。C.RI SC 的重要目的是减少指令数,提高指令执行效率。D.RI SC 设有乘、除法指令和浮点运算指令。解:C15.根据操作数所在位置,指出其寻址方式(填空):(1)操作数在寄存器中,为(A)寻址方式。2(2 操作数地址在寄存器,为(B )寻址方式。A(3)操作数在指令中,为(C)寻址方式。4(A)操作数地址(主存)在指令中,为(D)寻址方式5(a)操作数的地址,为某一寄存器内容与位移量之和可以是(E,F,G)寻址方式。A解:A:寄存器直接;B:寄存器间接;C:立即;D:直接;E:相对;F:基值;G:变址第五章1 .请在括号内填入适当答案。在C P U 中:(1)保存当前正在执行的指令的寄存器是(指令寄存器I R);2G)保存当前正要执行的指令地址的寄存器是(程序计数器PC);A(3)算术逻辑运算结果通常放在(通用寄存器)和(数据缓冲寄存器D R)2 .参见下图(课本P 1 6 6 图5.1 5)的数据通路。画出存数指令 ST A R1 ,(R2)”的指令周期流程图,其含义是将寄存器R1 的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。A 图 B12.1A解:S T A RI ,(R2)”指令是一条存数指令,其指令周期流程图如下图所示:3.参见课本P 1 6 6图5.1 5的数据通路,画出取数指令LDA(R3),RO”的指令周期流程图,其含义是将(R3)为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。5.假如在一个C PU周期中要产生3个 脉 冲T1=2 0 0ns,T2=4 0 0ns,T3=2 0 0 ns,试画出A时序产生器逻辑图。解:节拍脉冲Ti,T 2,T 3的宽度实际等于时钟脉冲的周期或是它的倍数,此时TI=T3=200n s,T 2=400 n s,所以主脉冲源的频率应为f =1 /Ti=5 M H Z。为了消除节拍脉冲上的毛刺,环 型脉冲发生器可采用移位寄存器形式。下图画出了题目规定的逻辑电路图和时序信号关系。根据关系,节拍脉冲T i,T2,T 3的逻辑表达式如下:T1=C l C-2,T2=Cz,T 3=Cl6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为3 2位,请估算控制存储器容量。解:微指令条数为:(4-1 )X8 0+1=241条取控存容量为:2 56X 3 2位=1KB*7.某ALU器件使用模式控制码M,S3,S 2,SI,C来控制执行不同的算术运算和逻辑操作。下表列出各条指令所规定的模式控制码,其中y为二进制变量,F为0或1任选。试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S 3 ,S2,SI,C的逻辑表达式。A 解:M=GA S3=H+D+F指令码MS3S2S1CA,B00110H,D01101E0010yF0111YG1011S2=lS1=H+D+E 4 C=H+D+(E +F)y8.某机有8 条微指令I 1 1 8,每条微指令所包含的微命令控制信号如下表所示。微命令信号值指令abcdfgAiJ1 1VVZyjk711VVvhVqV7LMyVbVhZ7a-j分别相应1 0 种不同性质的微命令信号。假设一条微指令的控制字段为8 位,请安排微指 令的控制字段格式。A解:经分析,(e,f,h)和(b,i,j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a,c,d,g 四个微命令信号可进行直接控制,其整个控制字段组成-e f h -b i j a c d g译码译码微指令控制字段:07 0605 0403 02 01 OO如A 下:01:e 01:b10:f 10:i11:h 11:jAA l l.已知某机采用微程序控制方式,其控制存储器容量为5 1 2 X4 8(位)。微程序可在整个控制存储器中实现转移,可控制微程序转移的条件共4 个,微指令采用水平型格式,后继微A 指令地址采用断定方式。请问:(1)微指令中的三个字段分别应为多少位?(2)画出围绕这种微指令格式的微程序控制器逻辑框图。解:A (1 )假设判别测试字段中每一位作为一个判别标志,那么由于有4 个转移条件,故该字段为4 位;A 又由于控存容量为5 1 2 单元,所以下地址字段为9 位,。微命令字段则是:(4 8-4-9)=3 5 位。(2)相应上述微指令格式的微程序控制器逻辑框图如下图所示。其中微地址寄存器相应下地址字,P 字段即为判别测试字段,控制字段即为微命令字段,后两部分组成微指令寄存器。地址转移逻辑的输入是指令寄存器的0 P 码、各种状态条件以及判别测试字段所给的判别标志4(某一位为1),其输出用于控制修改微地址寄存器的适当位数,从而实现微程序的分支转移(此例微指令的后继地址采用断定方式)。1 2.今有4 级流水线分别完毕取值、指令译码并取数、运算、送结果四步操作,今假设完毕各步操作的时间依次为1 0 0 n s,1 0 0 n s,8 0 n s,5 0 n s。A 请问:(1)流水线的操作周期应设计为多少?(2)若相邻两条指令发生数据相关,并且在硬件上不采用措施,那么第二条指令要4推迟多少时间进行。A(3)假如在硬件设计上加以改善,至少需推迟多少时间?解:(1)流水线的操作时钟周期t 应按四步操作中最长时间来考虑,所以t=1 0 0 n s:(2)两条指令发生数据相关冲突情况:A D D R 1 ,R 2,R 3 ;R 2+R 3-R 1S U B R 4,R I,R 5 ;R 1 -R 5-R 4两条指令在流水线中执行情况如下表所示:劣A D D 指令在时钟4时才