资源描述
计算机组成原理期末典型例题1.CPU结构如图1所示,其中有一个累加寄存器AC,一个状态条件寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。1) 标明图中四个寄存器的名称。2) 简述指令从主存取到控制器的数据通路。3) 简述数据在运算器和主存之间进行存 / 取访问的数据通路。 图1解:1) a为数据缓冲寄存器 DR ,b为指令寄存器 IR ,c为主存地址寄存器,d为程序计数器PC。2) 主存 M 缓冲寄存器 DR 指令寄存器 IR 操作控制器。3) 存贮器读 :M 缓冲寄存器DR ALU AC4) 存贮器写 :AC 缓冲寄存器DR M2. 某机器中,配有一个ROM芯片,地址空间0000H3FFFH。现在再用几个16K8的芯片构成一个32K8的RAM区域,使其地址空间为8000HFFFFH。假设此RAM芯片有/CS和/WE信号控制端。CPU地址总线为A15A0,数据总线为D7D0,控制信号为R/W,MREQ(存储器请求),当且仅当MREQ和R/W同时有效时,CPU才能对有存储器进行读(或写)。1) 满足已知条件的存储器,画出地址码方案。2) 画出此CPU与上述ROM芯片和RAM芯片的连接图。解:存储器地址空间分布如图1所示,分三组,每组16K8位。由此可得存储器方案要点如下:1) 用两片16K*8 RAM芯片位进行串联连接,构成32K*8的RAM区域。片内地址 :A0 A13 ,片选地址为:A14A15;2) 译码使用2 :4 译码器;3) 用 /MREQ 作为2 :4译码器使能控制端,该信号低电平(有效)时,译码器工作。4) CPU的R / /W信 号与RAM的/WE端连接,当R / W = 1时存储器执行读操作, 当R / W = 0时,存储器执行写操作。如图1 图1CPU与芯片连接如图2: 图23. 某机器中,已知配有一个地址空间为(00001FFF)16的ROM区域,现在用一个SRAM芯片(8K8位)形成一个16K16位的ROM区域,起始地址为(2000)16 。假设SRAM芯片有/CS和/WE控制端,CPU地址总线A15A0 ,数据总线为D15D0 ,控制信号为R / /W(读 / 写),/MREQ(当存储器读或写时,该信号指示地址总线上的地址是有效的)。要求:1) 满足已知条件的存储器,画出地址码方案。2) 画出ROM与RAM同CPU连接图。解 :存储器地址空间分布如图1所示,分三组,每组8K16位。由此可得存储器方案要点如下:1) 组内地址 :A12 A0 (A0为低位);2) 组号译码使用2 :4 译码器;3) RAM1 ,RAM 2 各用两片SRAM芯片位进行并联连接,其中一片组成高8位,另一片组成低8位。4) 用 /MREQ 作为2 :4译码器使能控制端,该信号低电平(有效)时,译码器工作。5) CPU的R / /W信 号与SRAM的/WE端连接,当R / W = 1时存储器执行读操作, 当R / W = 0时,存储器执行写操作。如图2 图1 图24. 参见下图数据通路,画出数据指令“STA R1,(R2)”的指令周期流程图,其含义是将寄存器R1的内容传送至(R2)为地址的存贮单元中。标出各微操作信号序列。解: 5. 用16K1位的动态RAM芯片构成64K8位的存储器,要求: (1)画出该存储器组成的逻辑框图 (2)设存储器的读写周期均为0.5s,CPU在1s 内至少要访问内存一次。试问采用那种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?解:(1)根据题意,存储器总容量为64KB,故地址线总需16位。现使用16K1位的DRAM芯片,共需32片。芯片本身地址线占14位,所以采用位并联与地址串联相结合的方法来组成整个存储器 ,其组成逻辑框图如图所示,其中使用一片2:4译码器(2) 根据已知条件,CPU在1s内至少需要访存一次,所以整个存储器的平均读/写周期与单个存储器片的读/写周期相差不多,应采用异步式刷新方式比较合理。DRAM存储器来讲,两次刷新的最大时间间隔是2ms.DRAM芯片读/写周期为0.5s。假定16K1位的RAM芯片由128128矩阵存储元构成,刷新时只对128行进行异步式刷新,则刷新间隔为2ms/128 =15.6s,可取刷新信号周期为15s . 6.某16位机运算器框图如图所示,其中ALU为加法器,SA,SB为锁存器,4个通用寄存器的读/写控制符号如下表所示:1) 请设计微指令格式(具体考虑控制字段,顺序控制字段只画框图)2) “ADD R0,R1”指令完成(R0) + (R1) R1的操作,画出微程序流程图.解:(1)微指令格式如下: 1 2位 1 2位 1 1 1 1 1 1 RRA0RA1WWA0WA1 LDSALDSBLSBLSBresetIP字段下址字段 其中LDSA,LDSB为锁存器打入信号, /CLR为SB清零信号;LSB为SB送原码控制信号, /LSB为SB送反码控制信号; I为公共微程序信号(2)流程图如图: 7. 某计算机的数据通路如图所示,其中M主存, MBR主存数据寄存器, MAR主存地址寄存器, R0-R3通用寄存器, IR指令寄存器, PC程序计数器(具有自增能力), C、D暂存器, ALU算术逻辑单元(此处做加法器看待), 移位器左移、右移、直通传送。所有双向箭头表示信息可以双向传送。请按数据通路图画出“ADD(R1),(R2)+”指令的指令周期流程图。该指令的含义是两个数进行求和操作。其中源操作地址在寄存器R1中,目的操作数寻址方式为自增型寄存器间接寻址(先取地址后加1)。解:“ADD (R1),(R2)+”指令是SS型指令,两个操作数均在主存中。其中源操作数地址在R1中,所以是R1间接寻址。目的操作数地址在R2中,由R2间接寻址,但R2的内容在取出操作数以后要加1进行修改。指令周期流程图如图8. 下图所示的处理机逻辑框图中,有两条独立的总线和两个独立的存贮器。已知指令存贮器IM最大容量为16384字(字长18位),数据存贮器DM最大容量是65536字(字长16位)。 设处理机指令格式为: 17 10 9 0 OP X加法指令可写为“ADD X(Ri)”。其功能是(AC0) + (Ri)+ X)AC1,其中(Ri)+ X)部分通过寻址方式指向数据存贮器,现取Ri为R1。(1) 请写出下列各寄存器的位数:程序计数器PC; 指令寄存器IR;累加寄存器 AC0和AC1;通用寄存器R0R3;指令存储器的地址寄存器IAR;指令存储器的数据缓冲寄存器IDR;数据存储器的地址寄存器DAR;数据存储器的数据缓冲寄存器DDR。(2) 试画出ADD指令从取指令开始到执行结束的指令周期流程图。解:(1) PC=14位 IR=18位 AC0=AC1=16位 R0R3=16位 IAR=14位 IDR=18位 DAR=16位 DDR=16位(2) 加法指令“ADD X(Ri)”是一条隐含指令,其中一个操作数来自AC0,另一个操作数在数据存贮器中,地址由通用寄存器的内容(Ri)加上指令格式中的X量值决定,可认为这是一种变址寻址。指令周期流程图如图3。图39.某计算机有8条微指令I1I8,每条微指令所包含的微命令控制信号见下表,aj 分别对应10种不同性质的微命令信号。假设一条微指令的控制字段仅限8位,请安排微指令的控制字段格式。解:(答案不唯一)为了压缩指令字的长度,必须设法把一个微指令周期中的互斥性微命令信号组合在一个小组中,进行分组译码。经分析,(e ,f ,h)和(b, i, j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a, c, d, g 四个微命令信号可进行直接控制,其整个控制字段组成如下: 01 e 01 b 直接控制 10 f 10i a c d g 11 h 11j 4位 2位 2位 10.设有一运算器数据通路如图2所示。假设操作数a和b(补码)已分别放在通用寄存器R1和R2中,ALU有,M(传送)三种操作功能。要求:1) 指出相容性微操作和相斥性微操作。2) 用字段直接译码法设计适用此运算器的微指令格式。图2解: (1) 相斥性微操作有如下五组:移位器(R,L,V)ALU(+,-,M)A选通门的4个控制信号B选通门的7个控制信号 寄存器的4个输入和输出控制信号相容性微操作:A选通门的任一信号与B选通门控制信号B选通门的任一信号与A选通门控制信号ALU的任一信号与加1控制信号五组控制信号中组与组之间是相容性的(2)每一小组的控制信号由于是相斥性的,故可以采用字段直接译码法,微指令格式如下: abcdefX X XX X XX XX XXX X X X332214 001 MDRA 001 PCB 01 + 01 R 1+1 0001 Pcout010 R1A 010 R1B 10 - 10 L 0010 Pcin011 R2A 011 R1B 11 M 11 V 0011 R1out100 R3 A 100 R2B 0100 R1in101 R2B 0101 R2out110 R3B 0110 R2in111 R3B 0111 R3out 1000 R3in 11. CPU的地址总线16根(A15A0,A0为低位),双向数据总线8根(D7D0),控制总线中与主存有关的信号有MREQ(允许访存, 低电平有效),R/W(高电平为读命令,低电平为写命令)。主存地址空间分配如下:08191为系统程序区,由只读存储芯片组成;819232767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片:EPROM:8K8位(控制端仅有CS);SRAM:16K1位,2K8位,4K8位,8K8位.请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及38译码器74LS138)与CPU 的连接,说明选哪些存储器芯片,选多少片。解: 主存地址空间分布如图所示。根据给定条件,选用EPROM:8K8位芯片1片。SRAM:8K8位芯片3片,2K8位芯片1片。38译码器仅用Y0,Y1,Y2,Y3和Y7输出端,且对最后的2K8位芯片还需加门电路译码。主存储器的组成与CPU连接逻辑图如图所示:详细解答:1. 写出地址范围,划出高位地址A15 A12 A0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 第一片0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0000-1FFFH 共8K0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 第二片0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2000-3FFFH 共8K0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 第三片0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 4000-5FFFH 共8K0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 第四片0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6000-7FFFH 共8K1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 第五片1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 F800-FFFFH 共2K所选芯片地址线有13和12条两种,则片内译码需13条,剩3条作片外译码,选择3-8译码器,将A1513接译码器输入端,则:u 芯片1的高位地址为000时,选译码器的Y0做CS。u 芯片2的高位地址为001时,选译码器的Y1做CS。u 芯片3的高位地址为010时,选译码器的Y2做CS。u 芯片4的高位地址为011时,选译码器的Y3做CS。u 芯片5的高位地址为111时,选译码器的Y7以及A12 A11一起做/CS。12. 设控制存储器的容量为51248位,微程序可在整个控存空间实现转移,而控制微程序转移的条件共有4个(采用直接控制),微指令格式如下:解:因为控制存储器共有512*48=29*48所以,下址字段应有9位,微指令字长48位又因为控制微程序转移的条件有4个,4+1=23 所以判断测试字段占3位因此控制字段位数为:48-9-3=36微指令格式为: 13. 设CPU 共有16 根地址线和8 根数据线,并用作访存控制信号,作读写命令信号(高电平读,低电平写)。设计一个容量为32KB,地址范围为0000H7FFFH,且采用低位交叉编址的四体并行存储器。要求:(1)采用下图所列芯片,详细画出CPU 和存储芯片的连接图。(2)指出图中每个存储芯片的容量及地址范围(用十六进制表示)。解答:答:32KB 四体结构的存储器可由4 片8K8 位存储芯片组成,由于采用低位交叉编址,因此需用末两位地址A1 、A0 控制片选信号,用13 根地址线A14 A2 与存储芯片的地址线相连。满足地址范围为0000H 7FFFH 的存储器与CPU 的连接图如图4.9 所示,图中每片存储芯片的地址范围是:第0 片0,4,.,7FFCH第1 片 1,5,.,7FFDH第2 片2,6,.,7FFEH第3 片3,7,.,7FFFH14.设浮点数字长为32 位,欲表示6 万的十进制数,在保证数的最大精度条件下,除阶符、数符各取1 位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?答: 因为2的16次方 = 65536则6 万的十进制数需16 位二进制数表示。对于尾数为16 位的浮点数,因16 需用5 位二进制数表示,即(16)十 = (10000)二,故除阶符外,阶码至少取5 位。为了保证数的最大精度,最终阶码取5 位,尾数取32 -1- 1 -5 = 25 位。按这样分配,当阶码大于+31 时,浮点数溢出,需中断处理。15.已知X0.110110112010,Y=(0.10101100)2100,求X+Y=?假设浮点数的阶码为4位补码、尾数为9位补码表示。解:EX补=0010, EY补= 0100, -EY补= 1100MX补=0.11011011, MY补=1.01010100对阶E 补= EXEY补 = EX补-EY补= 00010+11100 = 11110即E2。由于X的阶码小,应使MX右移两位,EX加2,EX+Y补=EY补=00100 MX补=00.00110110 11 尾数相加MX+Y补= MX补+MY补= 00.00110110 11 +11.01010100= 11.10001010 11 规格化处理结果的符号位与最高数值位同值,应进行左规。尾数左移1位,阶码减1。MX+Y补=11.00010101 10 , EX+Y补=00011 舍入处理采用0舍1入法, MX+Y补=11.00010110 判断溢出补码表示的阶码的符号位为00,不溢出。结果:MX+Y补=1.00010110, EX+Y补=0011XY(0.11101010)2+011
展开阅读全文