计算机组成原理 第三章 答案
- 格式:rtf
- 大小:27.48 KB
- 文档页数:4
计算机组成原理第三章习题第三章、内部存储器1、存储器是计算机系统中的记忆设备,它主要是⽤来_____A.存放数据B.存放程序C.存放数据和程序D.存放微程序2、存储单元是指______A.存放⼀个⼆进制信息位的存储元B.存放⼀个机器字的所有存储单元集合C.存放⼀个字节的所有存储元集合D.存放两个字节的所有存储元集合3、计算机的存储器采⽤分级存储体系的主要⽬的是________A.便于读写数据B.减⼩机箱的体积C.便于系统升级D.解决存储容量、价格和存取速度之间的⽭盾5、和外存相⽐,内存的特点是____A.容量⼤,速度快,成本低B.容量⼤,速度慢,成本⾼C.容量⼩,速度快,成本⾼D.容量⼩,速度快,成本低6、某单⽚机字长16位,它的存储容量64KB,若按字编址,那么它的寻址范围是______A.64KB.32KC.64KBD.32KB7、某SRAM芯⽚,其存储容量为64K×16位,该芯⽚的地址线和数据线数⽬为_______A.64,16B.16,64C.64,8D.16,168、某DRAM芯⽚,其存储器容量为512K×8位,该芯⽚的地址线和数据线数⽬为________A.8,512B.512,8C.18,8D.19,89、某机器字长32位,存储容量256MB,若按字编址,它的寻址范围是_______A.1MB.512KBC.64MD.256KB10、某机器字长32位,存储容量4GB,若按字编址,它的寻址范围是_______A.1GB.4GBC.4GD.1GB11、某机器字长64位,存储容量4GB,若按字编址,它的寻址范围是_______A.4GB.2GC.0.5GD.1MB12、某机器字长32位,存储容量4GB,若按双字编址,它的寻址范围是_______A.4GB.5GC.8GD.2G13、某SRAM芯⽚,其容量为512×8位,包括电源端和接地端,该芯⽚引出线的数⽬应为_____A.23B.25C.50D.1914、某微型计算机系统,其操作系统保存在硬盘上,其内存储器应该采⽤__________A.RAMB.ROMC.RAM 和ROM/doc/7e56ce0a763231126edb119f.html D15、相联存储是按____进⾏寻址的存储器。
第3章习题参考谜底 时间:2021.02.12 创作人:欧阳化1、设有一个具有20位地址和32位字长的存储器,问(1) 该存储器能存储几多字节的信息?(2) 如果存储器由512K×8位SRAM 芯片组成,需要几多片?(3) 需要几多位地址作芯片选择?解:(1) 该存储器能存储:字节4M 832220=⨯ (2) 需要片8823228512322192020=⨯⨯=⨯⨯K (3) 用512K 8位的芯片构成字长为32位的存储器,则需要每4片为一组进行字长的位数扩展,然后再由2组进行存储器容量的扩展。
所以只需一位最高位地址进行芯片选择。
2、已知某64位机主存采取半导体存储器,其地址码为26位,若使用4M×8位的DRAM 芯片组成该机所允许的最年夜主存空间,并选用内存条结构形式,问;(1) 若每个内存条为16M×64位,共需几个内存条?(2) 每个内存条内共有几多DRAM 芯片?(3) 主存共需几多DRAM 芯片? CPU 如何选择各内存条? 解:(1) 共需条4641664226=⨯⨯M 内存条 (2) 每个内存条内共有32846416=⨯⨯M M 个芯片 (3) 主存共需几多1288464648464226=⨯⨯=⨯⨯M M M 个RAM 芯片,共有4个内存条,故CPU 选择内存条用最高两位地址A24和A25通过2:4译码器实现;其余的24根地址线用于内存条内部单位的选择。
3、用16K×8位的DRAM 芯片构成64K×32位存储器,要求:(1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS ,CPU 在1μS 内至少要拜访一次。
试问采取哪种刷新方法比较合理?两次刷新的最年夜时间间隔是几多?对全部存储单位刷新一遍所需的实际刷新时间是几多?解:(1) 用16K×8位的DRAM 芯片构成64K×32位存储器,需要用16448163264=⨯=⨯⨯K K 个芯片,其中每4片为一组构成16K×32位——进行字长位数扩展(一组内的4个芯片只有数据信号线不互连——辨别接D0D7、D8D15、D16D23和D24D31,其余同名引脚互连),需要低14位地址(A0A13)作为模块内各个芯片的内部单位地址——分红行、列地址两次由A0A6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A14、A15通过2:4译码器实现4组中选择一组。
可编辑修改 精选doc 第三章、内部存储器 1、存储器是计算机系统中的记忆设备,它主要是用来_____ A.存放数据 B.存放程序 C.存放数据和程序 D.存放微程序 2、存储单元是指______ A.存放一个二进制信息位的存储元 B.存放一个机器字的所有存储单元集合 C.存放一个字节的所有存储元集合 D.存放两个字节的所有存储元集合 3、计算机的存储器采用分级存储体系的主要目的是________ A.便于读写数据 B.减小机箱的体积 C.便于系统升级 D.解决存储容量、价格和存取速度之间的矛盾 5、和外存相比,内存的特点是____ A.容量大,速度快,成本低 B.容量大,速度慢,成本高 C.容量小,速度快,成本高 D.容量小,速度快,成本低 6、某单片机字长16位,它的存储容量64KB,若按字编址,那么它的寻址范围是______ A.64K B.32K C.64KB D.32KB 7、某SRAM芯片,其存储容量为64K×16位,该芯片的地址线和数据线数目为_______ A.64,16 B.16,64 C.64,8 D.16,16 8、某DRAM芯片,其存储器容量为512K×8位,该芯片的地址线和数据线数目为________ A.8,512 B.512,8 C.18,8 D.19,8 9、某机器字长32位,存储容量256MB,若按字编址,它的寻址范围是_______ A.1M B.512KB C.64M D.256KB 10、某机器字长32位,存储容量4GB,若按字编址,它的寻址范围是_______ A.1G B.4GB C.4G D.1GB 11、某机器字长64位,存储容量4GB,若按字编址,它的寻址范围是_______ A.4G B.2G C.0.5G D.1MB 12、某机器字长32位,存储容量4GB,若按双字编址,它的寻址范围是_______ A.4G B.5G C.8G D.2G 13、某SRAM芯片,其容量为512×8位,包括电源端和接地端,该芯片引出线的数目应为_____ A.23 B.25 C.50 D.19 14、某微型计算机系统,其操作系统保存在硬盘上,其内存储器应该采用__________ A.RAM B.ROM C.RAM 和ROM D.CCD 15、相联存储是按____进行寻址的存储器。 A.地址指定方式 B.堆栈存取方式 C.内容指定方式 D.地址指定方式与堆栈存取方式结合可编辑修改 精选doc 16、交叉存储器实质上是一种____存储器,它能_____执行_____独立的读写操作。 A.模块式,并行,多个 B.模块式,串行,多个 C.整体式,并行,一个 D.整体式,串行,多个 17、主存储器和CPU之间增加Cache的目的是________ A.解决CPU和主存之间的速度匹配问题 B.扩大主存储器的容量 C.扩大CPU中通用寄存器的数量 D.既扩大主存容量又扩大CPU通用寄存器数量 18、以下半导体存储器,以传输同样多的字为条件,则读出数据传输率最高的是_______ A.DRAM B.SRAM C.FLASH D.E2PROM 19、双端口存储器所以能高速进行读/写,是因为采用______ A.高速芯片 B.两套相互独立的读写电路 C.流水技术 D.新型器件 20、双端口存储器在______情况下会发生读/写冲突? A.左端口与右端口的地址码不同 B.左端口与右端口的地址码相同 C.左端口与右端口的数据码相同 D.左端口与右端口的数据码不同 21、下列因素中,与Cache的命中率无关的是______ A.主存的存取时间 B.块的大小 C.Cache的组织方式 D.Cache的容量 22、下列说法中正确的是_____ A.SRAM存储器技术提高了计算机的速度 B.若主存由ROM和RAM组成,容量分别为2n和2m,则主存地址共需要n+m位
计算机组成原理习题第三章第三章⼀.填空题1.在多级存储体系中,cache的主要功能是,虚拟存储器的主要功能是。
2.SRAM靠存储信息,DRAM靠存储信息。
存储器需要定时刷新。
3.动态半导体存储器的刷新⼀般有、和。
4.⼀个512KB的存储器,其地址线和数据线的总和是。
5.若RAM芯⽚⾥有1024个单元,⽤单译码⽅式,地址译码器有条输出线;⽤双译码⽅式,地址译码器有条输出线。
6.⾼速缓冲存储器中保存的信息是主存信息的。
7.主存、快速缓冲存储器、通⽤寄存器、磁盘、磁带都可⽤来存储信息,按存取时间由快⾄慢排列,其顺序是。
8. 、和组成三级存储系统,分级的⽬的是。
9.动态半导体存储器的刷新⼀般有和两种⽅式,之所以刷新是因为。
10.⽤1K×1位的存储芯⽚组成容量为64K×8位的存储器,共需⽚,若将这些芯⽚分装在⼏块板上,设每块板的容量为4K×8位,则该存储器所需的地址码总位数是,其中位⽤于选板,位⽤于选⽚,位⽤于存储芯⽚的⽚内地址。
11.最基本的数字磁记录⽅式、、、、、和六种。
12.缓存是设在和之间的⼀种存储器,其速度匹配,其容量与有关。
13.Cache是⼀种存储器,⽤来解决CPU与主存之间不匹配的问题。
现代的Cache可分为和两级,并将和分开设置。
14.计算机系统中常⽤到的存储器有:(1)SRAM,(2)DRAM,(3)Flash,(4)EPROM,(5)硬盘存储器,(6)软盘存储器。
其中⾮易失的存储器有:具有在线能⼒的有;可以单字节修改的有:可以快速读出的存储器包括。
15.反映存储器性能的三个指标是、、和,为了解决这三⽅⾯的⽭盾,计算机采⽤体系结构。
16.存储器的带宽是指,如果存储周期为T M,存储字长为n位则存储器带宽位,常⽤的单位是或。
为了加⼤存储器的带宽可采⽤、和。
17.⼀个四路组相联的Cache共有64块,主存共有8192块,每块32个字。
则主存地址中的主存字块标记为位,组地址为位,字块内地址为位。
第三章3.1十进制数化成地进制数和八进制数(无法精确表示时,二进制数取3位小数,八进制取1位小数)。
7+3/4,±3/64,73.5,725.9375,25.34解:(1)、(7+3/4):(7)10=(111)2(3/4)10=(0.00)2∴(7+3/4)10=(111.11)=(7.6)8(2)、(±3/64)10=(±0.000011)2=(±0.03)8(3)、(73)10=64+8+1=(1001001),(0.5)10=(0.1)2∴(73.5)10=(1001001.1)2=(111.4)8(4)、(725)10=512+128+64+16+4+1=(1011010101)2=(1325)8(0.9375)10=(0.1111)2=(0.74)8∴(725.9375)10=(1011010101.1111)2=(1325.74)8(5)、(25)10=(11001)2=(31)8(0.34)10=(0.011)2=(0.3)8∴(25.34)10=(11001.011)2=(31.3)83.2 把下列各数化成十进制数:(101.10011)2,(22.2)8,(AD.4)16,解:(1)(101.10011)2=22+20+2-1+2-4+2-5=(5.59375)10=(5+19/32)10(2)(123.123)4=42+2*41+3+4-1+2*4-2+3*4-3=(27.421875)10 =(27+27/64)10=(1+1/4)*(4+2*4+3)=27*(1/64+1)(3) (22.2)8=2*81+2+2*8-1=(10.25)10=(10+1/4)10(4)(AD.4) 16=10*16+13+4*16-1=(173.25)10=(173+1/4)10(5) (300.3)8=3*82+3*8-1=(192.375)10=(192+3/8)103.3 完成下列二进制运算:101.111+11.011,1001.10-110.01,101.11*11.01,101110111÷11013.4写出下列各地进制数的原码、补码和反码:0.1010,0,-0,-0.1010,0.1111,-0.0100答:x [x]原[x]补[x]反0.1010 0.1010 0.1010 0.10100 0.0000 0.0000 0.0000-0 1.0000 0.0000 1.1111-0.1010 1.1010 1.0110 1.01010.1111 0.1111 0.1111 0.1111-0.0100 1.0100 1.1100 1.10113.5 已知[X]原为下述各值,求[X]补:0.10100,1.10111,1.10110答:[x]原0.10100 1.10111 1.10110[x]补0.10100 1.01001 1.010103.6 已知[X]补为下述各值,求X(真值):0.1110,1.1100,0.0001,1.1111,1.0001答:[x]补0.1110 1.1100 0.0001 1.1111 1.0001x 0.1110 -0.0100 0.0001 -0.0001 -0.11113.7已知X=0.1011,Y= -0.0101,试求:[X]补,[-X]补,[Y]补,[-Y]补,[X/2]补,[X/4]补,[2X]补,[Y/2]补,[Y/4]补,[2Y]补,[-2Y]补答:[x]补=0.1011; [-x]补=1.0101; [y]补=1.1011; [-y]补=0.0101;[x/2]补=0.0101(1); [x/4]补=0.0010(11); [2x]补=1.0110(溢出);[y/2]补=1.1101(1); [y/4]补=1.1110(11); [2y]补=1.0110; [-2y]补=0.10103.8 设十进制数X=(+128.75)*2-10(1)若(Y)2=(X)10,用定点数表示Y值。
第三章、内部存储器1、存储器是计算机系统中的记忆设备,它主要是用来_____A.存放数据B.存放程序C.存放数据和程序D.存放微程序2、存储单元是指______A.存放一个二进制信息位的存储元B.存放一个机器字的所有存储单元集合C.存放一个字节的所有存储元集合D.存放两个字节的所有存储元集合3、计算机的存储器采用分级存储体系的主要目的是________A.便于读写数据B.减小机箱的体积C.便于系统升级D.解决存储容量、价格和存取速度之间的矛盾5、和外存相比,内存的特点是____A.容量大,速度快,成本低B.容量大,速度慢,成本高C.容量小,速度快,成本高D.容量小,速度快,成本低6、某单片机字长16位,它的存储容量64KB,若按字编址,那么它的寻址范围是______A.64KB.32KC.64KBD.32KB7、某SRAM芯片,其存储容量为64K×16位,该芯片的地址线和数据线数目为_______A.64,16B.16,64C.64,8D.16,168、某DRAM芯片,其存储器容量为512K×8位,该芯片的地址线和数据线数目为________A.8,512B.512,8C.18,8D.19,89、某机器字长32位,存储容量256MB,若按字编址,它的寻址范围是_______A.1MB.512KBC.64MD.256KB10、某机器字长32位,存储容量4GB,若按字编址,它的寻址范围是_______A.1GB.4GBC.4GD.1GB11、某机器字长64位,存储容量4GB,若按字编址,它的寻址范围是_______A.4GB.2GC.0.5GD.1MB12、某机器字长32位,存储容量4GB,若按双字编址,它的寻址范围是_______A.4GB.5GC.8GD.2G13、某SRAM芯片,其容量为512×8位,包括电源端和接地端,该芯片引出线的数目应为_____A.23B.25C.50D.1914、某微型计算机系统,其操作系统保存在硬盘上,其内存储器应该采用__________A.RAMB.ROMC.RAM 和ROMD15、相联存储是按____进行寻址的存储器。
白中英第五版计算机组成原理课后习题参考答案第一章计算机系统概述4、冯•诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?答:冯•诺依曼型计算机的主要设计思想是存储程序和程序控制,其中存储程序是指将程序和数据事先存放到存储器中,而程序控制是指控制器依据存储的程序来控制全机协调地完成计算任务。
总体来讲,存储程序并按地址顺序执行,这就是冯•诺依曼型计算机的主要设计思想。
5、什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?答:见教材P8和P10。
7、指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?答:见教材P10。
第二章运算方法和运算器1、写出下列各整数的原码、反码、补码表示(用8位二进制数)。
3、有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示,尾数23位,用补码表示,基数为2,请写出:(1)最大数的二进制表示阶码用移码表示,题中并未说明具体偏移量,故此处按照移码的定义,即采用偏移量为27=128,则此时阶码E的表示范围为0000 0000~1111 1111,即0~255,则在上述条件下,浮点数为最大数的条件如下:所以最大数的二进制表示为:0 1111 1111 1111 1111 1111 1111 1111 1111 111对应十进制真值为:+(1-2-23)×2127(2)最小数的二进制表示浮点数为最小数的条件如下:所以最小数的二进制表示为:1 1111 1111 0000 0000 0000 0000 0000 000对应十进制真值为:-1×2127(3)规格化数所表示数的范围规格化要求尾数若为补码表示,则符号位和最高有效位符号必须不同。
(A)浮点数为最大正数的条件如下:所以最大正数的二进制表示为:0 1111 1111 1111 1111 1111 1111 1111 1111 111对应十进制真值为:+(1-2-23)×2127(B)浮点数为最小正数的条件如下:所以最小正数的二进制表示为:0 0000 0000 1000 0000 0000 0000 0000 000对应十进制真值为:+2-1×2-128=+2-129(C)浮点数为最大负数的条件如下:所以最大负数的二进制表示为:0 0000 0000 0111 1111 1111 1111 1111 111对应十进制真值为:-(2-1+2-23)×2-128(D)浮点数为最小负数的条件如下:所以最小负数的二进制表示为:0 0000 0000 0000 0000 0000 0000 0000 000对应十进制真值为:-1×2127所以,规格化数所表示数的范围如下:正数+2-129~+(1-2-23)×2127负数-2127 ~-(2-1+2-23)×2-1284、将下列十进制数表示成IEEE754标准的32位浮点规格化数。
第一章1.电子数字计算机和电子模拟计算机的区别在哪里?解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
2.冯·诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③点是最主要的一点。
3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。
②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③存储器:用来存放程序和数据。
④运算器:对信息进行处理和运算。
⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。
4.什么叫总线?简述单总线结构的特点。
解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。
单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。
CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU 的干预。
5.简单描述计算机的层次结构,说明各层次的主要特点。
解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。
第0级为硬件组成的实体。
第1级是微程序级。
这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。
第2级是传统机器级。
这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
第3
章
6 7 11.设某机字长32位,CPU 有32个32位的通用寄存器,设计一个能容纳64种操作
的单字长指令系统。
(1)如果是存储器间接寻址方式的寄存器-存储器型指令,能直接寻址的最大主存
空间是多少?
(2)如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?
解:因为计算机中共有64条指令,所以操作码占6位;32个通用寄存器,寄存器编号占5位;其余部分为地址码或标志位。
(1)如果是存储器间接寻址方式的寄存器-存储器型指令,操作码6位,寄存器编号
5位,间址标志1位,地址码20位,直接寻址的最大主存空间是220字。
(2)如果采用通用寄存器作为基址寄存器,EA =(Rb )+ A ,能直接寻址的最大主存空间是232字。
12.已知某小型机字长为16位,其双操作数指令的格式如下:
0567815
OP R A
其中:OP 为操作码,R 为通用寄存器地址。
试说明下列各种情况下能访问的最大主存区
域有多少机器字?
(1) A 为立即数。
(2) A 为直接主存单元地址。
(3) A 为间接地址(非多重间址)。
(4) A 为变址寻址的形式地址,假定变址寄存器为R1(字长为16位)。
解:(1)1个机器字。
(2)256个机器字。
(3)65536个机器字。
(4)65536个机器字。
13.计算下列4条指令的有效地址(指令长度为16位)。
(1)000000Q
(2)100000Q
(3)170710Q
(4)012305Q
假定:上述4条指令均用八进制书写,指令的最左边是一位间址指示位@(@=0,直接寻址;@=1,间接寻址),且具有多重间访功能;指令的最右边两位为形式地址;主存容
量215单元,表3唱4为有关主存单元的内容(八进制)。
计算机组成原理教师用书
6 8 表3唱4 习题13 的表格
地址内容
000001000020000104671000002054304000031000000000410254300005100001000060632150000707771000010100005解:(1)000000Q
因为指令的最高位为0,故为直接寻址,EA =
A =00000Q 。
(2)100000Q
因为指令的最高位为1,故指令为间接寻址。
(00000)=100002,最高位仍为1,继续间接寻址。
(00002)=054304,其最高位为0,表示已找到有效
地址,EA =54304Q 。
(3)170710Q
因为指令的最高位为1,故指令为间接寻址。
(00010)=100005,最高位仍为1,继续间接寻址。
(00005)=100001,最高位仍为1,继续间接寻址。
(00001)=046710,其最高位为0,表示已找到有效地址,EA =46710Q 。
(4)012305Q
因为指令的最高位为0,故为直接寻址,EA = A =00005Q 。
14.假定某机的指令格式如下:
1110987650
@ OP I1 I2 Z/C A
其中:
Bit11=1:间接寻址;
Bit8=1:变址寄存器I1寻址;
Bit7=1:变址寄存器I2寻址;
Bit6(零页/现行页寻址):Z/C =0,表示0页面;
Z/C =1,表示现行页面,即指令所在页面。
若主存容量为212个存储单元,分为26个页面,每个页面有26个字。
设有关寄存器的内容为
(PC)=0340Q (I1)=1111Q (I2)=0256Q
试计算下列指令的有效地址。
(1)1046Q
(2)2433Q
(3)3215Q
指令系统
第3
章
6 9 (4)1111Q
解:(1)1046Q =001000100110
因为4个标志位均为0,故为直接寻址,EA = A =0046Q 。
(2)2433Q =010100011011
因为Bit8(I1)=1,故为变址寄存器1寻址,EA =(I1)+ A =1111+33=1144Q 。
(3)3215Q =011010001101
因为Bit7(I2)=1,故为变址寄存器2寻址,EA =(I2)+ A =0256+15=0273Q 。
(4)1111Q =001001001001
因为Bit6(Z/C)=1,故为当前页寻址,EA =(PC)H ∥ A =03∥11=0311Q 。
15.假定指令格式如下:
151211109870
OP I1 I2 Z/C D/I A
其中:D/I 为直接/间接寻址标志,D/I =0表示直接寻址,D/I =1表示间接寻
址。
其
余标志位同题14说明。
若主存容量为216个存储单元,分为28个页面,每个页面有28个字。
设有关寄存器的内容为
(I1)=002543Q (I2)=063215Q (PC)=004350Q
试计算下列指令的有效地址。
(1)152301Q
(2)074013Q
(3)161123Q
(4)140011Q
解:(1)152301Q =1101010011000001
因为Bit10(I2)=1,故为变址寄存器2寻址,EA =(I2)+ A =063215+
301=063516Q 。
(2)074013Q =0111100000001011
因为Bit11(I1)=1,故为变址寄存器1寻址,EA =(I1)+ A =002543+
013=002556Q 。
(3)161123Q =1110001001010011
因为Bit9(Z/C)=1,故为当前页寻址,EA =(PC)//A =004123Q 。
(4)140011Q =1100000000001001
因为4个标志位均为0,故为直接寻址,EA = A =000011Q 。
16.举例说明哪几种寻址方式除去取指令以外不访问存储器?哪几种寻址方式除去
计算机组成原理教师用书
7 0 取指令外只需访问一次存储器?完成什么样的指令,包括取指令在内共访问4次存储器?
解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。
除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻
址,相对寻址,页面寻址。
二级间接寻址包括取指令在内共访问4次存储器。
17.设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位
移量,用补码表示。
假设当前转移指令第一字节所在的地址为2000H ,且CPU 每取一个字节便自动完成(PC)+1→ PC 的操作。
试问当执行JMP 倡+8和JMP 倡-9指令(倡为
相对寻址特征)时,转移指令第二字节的内容各为多少?转移的目的地址各是什么?
解:转移指令第二字节的内容分别为:00001000(+8),11110111(-9)
转移的目的地址分别为:200AH ,1FF9H 。
18.什么叫主程序和子程序?调用子程序时还可采用哪几种方法保存返回地址?画
图说明调用子程序的过程。
解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程
序的入口地址就能调用它。
保存返回地址的方法有多种:
(1)用子程序的第一个字单元存放返回地址。
转子指令把返回地址存放在子程序的
第一个字单元中,子程序从第二个字单元开始执行。
返回时将第一个字单元地址作为间
接地址,采用间址方式返回主程序。
(2)用寄存器存放返回地址。
转子指令先把返回地址放到某一个寄存器中,再由子
程序将寄存器中的内容转移到另一个安全的地方。
(3)用堆栈保存返回地址。
调用子程序的过程如图3唱8所示,此时返回地址保存在堆栈中。
图3唱8主程序调用子程序的过程
19.在某些计算机中,调用子程序的方法是这样实现的:转子指令将返回地址存入子程序的第一个字单元,然后从第二个字单元开始执行子程序,请回答下列问题:
(1)为这种方法设计一条从子程序转到主程序的返回指令。
指令系统
第3
章
7 1 (2)在这种情况下,怎么在主、子程序间进行参数的传递?
(3)上述方法是否可用于子程序的嵌套?
(4)上述方法是否可用于子程序的递归(即某个子程序自己调用自己)?
(5)如果改用堆栈方法,是否可实现(4)所提出的问题?
解:(1)返回指令通常为零地址指令。
返回地址保存在堆栈中,执行返回指令时自
动从堆栈中弹出。
而目前返回地址是保存在子程序的第一个单元中,故此时返回指令不能再是零地址指令了,而应当是一地址指令。
如:
JMP @子程序首地址
间接寻址可找到返回地址,然后无条件转移到返回的位置。
(2)在这种情况下,可利用寄存器或主存单元进行主、子程序间的参数传递。
(3)可以用于子程序的嵌套(多重转子)。
因为每个返回地址都放在调用的子程序的第一个单元中。
(4)不可以用于子程序的递归,因为当某个子程序自己调用自己时,子程序第一个单元的内容将被破坏。
(5)如果改用堆栈方法,可以实现子程序的递归,因堆栈具有后进先出的功能__。