计算机组成原理习题答案蒋本珊 联系客服

发布时间 : 星期三 文章计算机组成原理习题答案蒋本珊更新完毕开始阅读8049fc24ecfdc8d376eeaeaad1f34693daef102c

(3) 65536 个机器字。 (4) 65536 个机器字。

13 .计算下列4 条指令的有效地址(指令长度为16 位) 。

(1) 000000Q(2) 100000Q(3) 170710Q(4) 012305Q 16 .举例说明哪几种寻址方式除去取指令以外不访问存储器? 哪几种寻址方式除去取指令外只需访问一次存储器? 完成什么样的指令,包括取指令在内共访问4 次存储器?

解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。

除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻址,相对寻址,页面寻址。

二级间接寻址包括取指令在内共访问4 次存储器。

17 .设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H ,且CPU 每取一个字节便自动完成(PC) + 1 → PC 的操作。试问当执行JMP *+ 8 和JMP *- 9 指令( 倡为相对寻址特征)时,转移指令第二字节的内容各为多少? 转移的目的地址各是什么?

转移的目的地址分别为:200AH ,1FF9H 。

20.什么叫主程序和子程序? 调用子程序时还可采用哪几种方法保存返回地址? 画图说明调用子程序的过程。

解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。

保存返回地址的方法有多种: (1) 用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址作为间接地址,采用间址方式返回主程序。 (2) 用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子程序将寄存器中的内容转移到另一个安全的地方。 (3) 用堆栈保存返回地址。

调用子程序的过程如图3唱8 所示,此时返回地址保存在堆栈中。

21 .在某些计算机中,调用子程序的方法是这样实现的:转子指令将返回地址存入子程序的第一个字单元,然后从第二个字单元开始执行子程序,请回答下列问题: (1) 为这种方法设计一条从子程序转到主程序的返回指令。 (2) 在这种情况下,怎么在主、子程序间进行参数的传递? (3) 上述方法是否可用于子程序的嵌套?

(4) 上述方法是否可用于子程序的递归(即某个子程序自己调用自己) ? (5) 如果改用堆栈方法,是否可实现(4) 所提出的问题?

解:(1) 返回指令通常为零地址指令。返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而目前返回地址是保存在子程序的第一个单元中,故此时返回指令不能再是零地址指令了,而应当是一地址指令。如:

间接寻址可找到返回地址,然后无条件转移到返回的位置。

(2) 在这种情况下,可利用寄存器或主存单元进行主、子程序间的参数传递。

(3) 可以用于子程序的嵌套(多重转子) 。因为每个返回地址都放在调用的子程序的第一个单元中。 (4) 不可以用于子程序的递归,因为当某个子程序自己调用自己时,子程序第一个单元的内容将被破坏。

(5) 如果改用堆栈方法,可以实现子程序的递归,因堆栈具有后进先出的功能。

第四章 1 .证明在全加器里,进位传递函数

解:并行加法器中的每一个全加器都有一个从低位送来的进位和一个传送给较高位的进位。进位表达式为

欲证明

,也就是要证明

用卡诺图法,图4-10(a)和4-10(b)分别是两个逻辑表达式的卡诺图。两个卡诺图相同,两个逻辑表达式就相等,则进位传递函数的两种形式相等。

2 .某加法器采用组内并行、组间并行的进位链,4 位一组,写出进位信号C6 的逻辑表达式。

3 .设计一个9 位先行进位加法器,每3 位为一组,采用两级先行进位线路。 4 .已知X 和Y ,试用它们的变形补码计算出X + Y ,并指出结果是否溢出。 (1) X = 0 .11011 ,Y = 0 .11111 (2) X = 0 .11011 ,Y = - 0 .10101 (3) X = - 0 .10110 ,Y = - 0 .00001 (4) X = - 0 .11011 ,Y = 0 .11110

5 .已知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 (4) X = - 0 .10110 ,Y = - 0 .00001

7 .设下列数据长8 位,包括1 位符号位,采用补码表示,分别写出每个数据右移或左移2 位之后的结果。

(1) 0 .1100100 (2) 1 .0011001 (3) 1 .1100110 (4) 1 .0000111

8 .分别用原码乘法和补码乘法计算X × Y 。

(1) X = 0 .11011 ,Y = - 0 .11111 (2) X = - 0 .11010 ,Y = - 0 .01110 (2) X × Y = 0 .0101101100 ,过程略。

9 .根据补码两位乘法规则推导出补码3 位乘法的规则。

解:先根据补码1 位乘法推出补码2 位乘法规则,再根据补码2 位乘法推出补码3 位乘法规则。

10 .分别用原码和补码加减交替法计算X ÷ Y 。 (1) X = 0 .10101 ,Y = 0 .11011 (2) X = - 0 .10101 ,Y = 0 .11011 (3) X = 0 .10001 ,Y = - 0 .10110 (4) X = - 0 .10110 ,Y = - 0 .11011

11 .设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题:

12 .设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题:

13 .用流程图描述浮点除法运算的算法步骤。 14 .设计一个1 位5421 码加法器。

解:设1 位被加数为A4 A3 A2 A1 ,加数为B4 B3 B2 B1 。5421码的校正关系如表4-4所示。

第五章

1 .如何区别存储器和寄存器? 两者是一回事的说法对吗?

解:存储器和寄存器不是一回事。存储器在CPU 的外边,专门用来存放程序和数据,访问存储器的速度较慢。寄存器属于CPU 的一部分,访问寄存器的速度很快。

2 .存储器的主要功能是什么? 为什么要把存储系统分成若干个不同层次? 主要有哪些层次?

解:存储器的主要功能是用来保存程序和数据。存储系统是由几个容量、速度和价格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache - 主存存储层次(Cache 存储系统) ;主存和辅存间称为主存— 辅存存储层次(虚拟存储系统) 。

3 .什么是半导体存储器? 它有什么特点?

解:采用半导体器件制造的存储器,主要有MOS 型存储器和双极型存储器两大类。半导体存储器具有容量大、速度快、体积小、可靠性高等特点。半导体随机存储器存储的信息会因为断电而丢失。

4 .SRAM 记忆单元电路的工作原理是什么? 它和DRAM 记忆单元电路相比有何异同点?

解:SRAM 记忆单元由6 个MOS 管组成,利用双稳态触发器来存储信息,可以对其进行读或写,只要电源不断电,信息将可保留。DRAM 记忆单元可以由4 个和单个MOS管组成,利用栅极电容存储信息,需要定时刷新。

5 .动态RAM 为什么要刷新? 一般有几种刷新方式? 各有什么优缺点?

解:DRAM 记忆单元是通过栅极电容上存储的电荷来暂存信息的,由于电容上的电荷会随着时间的推移被逐渐泄放掉,因此每隔一定的时间必须向栅极电容补充一次电荷,这个过程就叫做刷新。常见的刷新方式有集中式、分散式和异步式3 种。集中方式的特点是读写操作时不受刷新工作的影响,系统的存取速度比较高;但有死区,而且存储容量越大,死区就越长。分散方式的特点是没有死区;但它加长了系统的存取周期,降低了整机的速度,且刷新过于频繁,没有充分利用所允许的最大刷新间隔。异步方式虽然也有死区,但比集中方式的死区小得多,而且减少了刷新次数,是比较实用的一种刷新方式。 6 .一般存储芯片都设有片选端

,它有什么用途?

解:片选线用来决定该芯片是否被选中。=0,芯片被选中;=1,芯片不选

中。

7 .DRAM 芯片和SRAM 芯片通常有何不同?

解:主要区别有:

① DRAM 记忆单元是利用栅极电容存储信息;SRAM 记忆单元利用双稳态触发器来存储信息。

② DRAM 集成度高,功耗小,但存取速度慢,一般用来组成大容量主存系统;SRAM的存取速度快,但集成度低,功耗也较大,所以一般用来组成高速缓冲存储器和小容量主存系统。 ③ SRAM 芯片需要有片选端

,DRAM 芯片可以不设

,而用行选通信号

、列选通

兼作片选信号。

④ SRAM 芯片的地址线直接与容量相关,而DRAM 芯片常采用了地址复用技术,以减少地址线的数量。

8 .有哪几种只读存储器? 它们各自有何特点?

解:MROM :可靠性高,集成度高,形成批量之后价格便宜,但用户对制造厂的依赖性过大,灵活性差。

PROM :允许用户利用专门的设备(编程器)写入自己的程序,但一旦写入后,其内容将无法

改变。写入都是不可逆的,所以只能进行一次性写入。

EPROM :不仅可以由用户利用编程器写入信息,而且可以对其内容进行多次改写。 EPROM 又可分为两种:紫外线擦除(UVEPROM)和电擦除(EEPROM) 。

闪速存储器:既可在不加电的情况下长期保存信息,又能在线进行快速擦除与重写,兼备了EEPROM 和RAM 的优点。

9 .说明存取周期和存取时间的区别。

解:存取周期是指主存进行一次完整的读写操作所需的全部时间,即连续两次访问存储器操作之间所需要的最短时间。存取时间是指从启动一次存储器操作到完成该操作所经历的时间。存取周期一定大于存取时间。

10 .一个1K × 8 的存储芯片需要多少根地址线、数据输入线和输出线?

解:需要10 根地址线,8 根数据输入和输出线。

11 .某机字长为32 位,其存储容量是64KB ,按字编址的寻址范围是多少? 若主存以字节编址,试画出主存字地址和字节地址的分配情况。

解:某机字长为32 位,其存储容量是64KB ,按字编址的寻址范围是16KW 。若主存以字节编址,每一个存储字包含4 个单独编址的存储字节。假设采用大端方案,即字地址等于最高有效字节地址,且字地址总是等于4 的整数倍,正好用地址码的最末两位来区分同一个字中的4 个字节。主存字地址和字节地址的分配情况如图5-19 所示。 12 .一个容量为16K × 32 位的存储器,其地址线和数据线的总和是多少? 当选用下列不同规格的存储芯片时,各需要多少片?

1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。

解:地址线14 根,数据线32 根,共46 根。

若选用不同规格的存储芯片,则需要:1K×4位芯片128片,2K×8位芯片32片,4K×4位芯片

32片,16K×1位芯片32片,4K×8位芯片16片,8K×8位芯片8 片。

13 .现有1024 × 1 的存储芯片,若用它组成容量为16K × 8 的存储器。试求:

(1) 实现该存储器所需的芯片数量? (2) 若将这些芯片分装在若干块板上,每块板的容量为4K × 8 ,该存储器所需的地址