计算机组成原理答案(张功萱等编著)终极完整版 下载本文

内容发布更新时间 : 2024/5/2 11:44:23星期一 下面是文章的全部内容请认真阅读。

⑵浮点补码加减运算的溢出判断方法

浮点补码加减运算的溢出通常是指浮点数上溢,浮点数是否溢出是由阶码是否大于浮点数所能表示的最大正阶来判断的。

例如,设浮点数的阶码采用补码表示,双符号位,这时浮点数的溢出与否可由阶码的符号进行判断: 若阶码[j]=01××?×,则表示出现上溢,需作溢出处理;

符号

若阶码[j]=10××?×,则表示出现下溢,按机器零处理。 3.14利用用十进制加减运算算法计算下列各题:

(1)125+436=?(2)125-436=?(3)436-125=? 解:(1)125+436=561 (2)125-436=-311 (3)436-125=311 3.16设有一个16位定点补码运算器,数据最低位的序号为1。运算器可实现下述功能: (1)A±B→A (2)B×C→A、C(乘积高位在A中) (3)A÷B→C(商在C中) 请设计并画出运算器第3位及A、C寄存器第三位输入逻辑。加法器本身逻辑可以不画,原始操作数输入问题可以不考虑。 解:见附页 3.19设一个8位寄存器中的内容为十六进制数C5H,连续经过一次算术右移、一次逻辑左移、一次大循环右移、一次小循环左移。写出每次移位后寄存器的内容和进位标志C的状态。 解:C5H= C寄存器

一次算术右移:1 一次逻辑左移:1 一次大循环右移:0 一次小循环左移:111000101 3.21选择题 (1)运算器的核心部分是C。 A.数据总线B.累加寄存器C.算术逻辑运算单元D.多路开关 (2)在浮点运算中下面的论述正确的是C。 A.对阶时应采用向左规格化 B.对阶时可以使小阶向大阶对齐,也可以使大阶向小阶对齐 C.尾数相加后可能会出现溢出,但可采用向右规格化的方法得出正确结论 D.尾数相加后不可能得出规格化的数 (3)当采用双符号位进行数据运算时,若运算结果的双符号位为01,则表明运算B。 A.无溢出B.正溢出C.负溢出D.不能判别是否溢出 (4)补码加法运算的规则是B。

A.操作数用补码表示,符号位单独处理 B.操作数用补码表示,连同符号位一起相加 C.操作数用补码表示,将加数变补,然后相加 D.操作数用补码表示,将被加数变补,然后相加 (5)原码乘除法运算要求C。

A.操作数必须都是正数B.操作数必须具有相同的符号位 C.对操作数符号没有限制D.以上都不对

(6)进行补码一位乘法时,被乘数和乘数均用补码表示,运算时A。

A.首先在乘数最末位yn后增设附加位yn+1,且初始yn+1=0,再依照ynyn+1的值确定下面的运算。

B.首先在乘数最末位yn后增设附加位yn+1,且初始yn+1=1,再依照ynyn+1的值确定下面的运算。 C.首先观察乘数符号位,然后决定乘数最末位yn后附加位yn+1的值,再依照ynyn+1的值确定下面的运

算。

D.不应在乘数最末位yn后增设附加位yn+1,而应直接观察乘数的末两位yn-1yn确定下面的运算。 (7)下面对浮点运算器的描述中正确的是A。

A.浮点运算器由阶码部件和尾数部件实现。 B.阶码部件可实现加、减、乘、除四种运算。 C.阶码部件只能进行阶码的移位操作。 D.尾数部件只能进行乘法和加法运算。

(8)若浮点数的阶码和尾数都用补码表示,则判断运算结果是否为规格化数的方法是C。

A.阶符与数符相同为规格化数。 B.阶符与数符相异为规格化数。 C.数符与尾数小数点后第一位数字相异为规格化数。 D.数符与尾数小数点后第一位数字相同为规格化数。 (9)已知[x]补=1.01010,[y]补=1.10001,下列答案正确的是D。 A.[x]补+[y]补=1.11011 B.[x]补+[y]补=0.11011 C.[x]补-[y]补=0.11011 D.[x]补-[y]补=1.11001 (10)下列叙述中概念正确的是D。 A.定点补码运算时,其符号位不参加运算。 B.浮点运算中,尾数部分只进行乘法和除法运算。 C.浮点数的正负由阶码的正负符号决定。 D.在定点小数一位除法中,为了避免溢出,被除数的绝对值一定要小于除数的绝对值。 3.22填空题 (1)在补码加减运算中,符号位与数据①参加运算,符号位产生的进位②。 答:①按同样规则一起②自动丢失 (2)在采用变形补码进行加减运算时,若运算结果中两个符号位①,表示发生了溢出。若结果的两个符号位为②,表示发生正溢出;为③,表示发生负溢出。 答:①-55②11110010③+73④01001001 (3)在原码一位乘法的运算过程中,符号位与数值位①参加运算,运算结果的符号位等于②。 答:①分别②两操作数的符号的模2加(异或) (4)浮点乘除法运算的运算步骤包括:①、②、③、④和⑤。 答:①阶码运算②溢出判断③尾数乘除运算④结果规格化处理⑤舍入处理 (5)在浮点运算过程中,如果运算结果的尾数部分不是①形式,则需要进行规格化处理。设尾数采用补码表示形式,当运算结果②时,需要进行右规操作;当运算结果③时,需要进行左规操作。 答:①规格化②溢出③不是规格化数 (6)将两个8421BCD码相加,为了得到正确的十进制运算结果,需要对结果进行修正,其修正方法是①。

答:①两个8421码相加后,若相加的和数<10,则不需修正,按二进制规则相加的结果就是正确

的8421码的和数;若相加的和数≥10,则需在二进制相加的结果上加“0110”进行修正。

(7)浮点运算器由①和②两部分组成,它们本身都是定点运算器,其中①要求能够进行③运算;②要求能够进行④运算。

答:①阶码部件②尾数部件③加减④加减乘除

(8)设有一个16位的数据存放在由两个8位寄存器AH和AL组成的寄存器AX中,其中数据的高8位存放在AH寄存器中,低8位存放在AL寄存器中。现需要将AX中的数据进行一次算术左移,其操作方法是:先对①进行一次②操作,再对③进行一次④操作。

答:①AL②算术左移③AH④带进位循环左移

3.23是非题

(1)运算器的主要功能是进行加法运算。×

(2)加法器是构成运算器的主要部件,为了提高运算速度,运算器中通常都采用并行加法器。√ (3)在定点整数除法中,为了避免运算结果的溢出,要求|被除数|<|除数|。√ (4)浮点运算器中的阶码部件可实现加、减、乘、除运算。×

(5)根据数据的传递过程和运算控制过程来看,阵列乘法器实现的是全并行运算。√

(6)逻辑右移执行的操作是进位标志位移入符号位,其余数据位依次右移1位,最低位移入进位标志位。×

第四章作业解答

4.1静态MOS存储器与动态MOS存储器存储信息的原理有何不同?为什么动态MOS存储器需要刷新?一般有哪几种刷新方式?

答:静态MOS存储器利用一个双稳态触发器存储一个二进制位,只要不断电就可以保持其中存储的二进制数据不丢失。

动态MOS存储器使用一个MOS管和一个电容来存储一位二进制信息。用电容来存储信息减少了构成一个存储单位所需要的晶体管的数目。 由于动态MOS存储器中的电容会产生漏电,因此DRAM存储器芯片需要频繁的刷新操作。 动态存储器的刷新方式通常有: 集中式刷新方式、分散式刷新方式、异步式刷新方式 4.2某一64K×1位的动态RAM芯片,采用地址复用技术,则除了电源和地引脚外,该芯片还应有那些引脚?各为多少位?

解:地址线:采用地址复用技术,可为16/2=8位 数据线:1位;读写线WR/:1位;片选信号CS:1位 或行选通信号RAS:1位;列选通信号CAS:1位 4.6假设某存储器地址长为22位,存储器字长为16位,试问: (1)该存储器能存储多少字节信息? (2)若用64K×4位的DRAM芯片组织该存储器,则需多少片芯片? (3)在该存储器的22位地址中,多少位用于选片寻址?多少位用于片内寻址? 答:(1)该存储器可存储222×2=223=8MB的信息。 (2)需要芯片222×16/64×210×4=28=256 (3)22位地址中,16位用于片内寻址,6位用于选片寻址。 4.7某8位计算机采用单总线结构,地址总线17根(016?A,16A为高位),数据总线8根双向(07?D),控制信号WR/(高电平为读,低电平为写)。已知该机的I/O设备与主存统一编址,若地址空间从0连续编址,其地址空间分配如下:最低16K为系统程序区,由ROM芯片组成;紧接着48K为备用区,暂不连接芯片;接着60K为用户程序和数据空间,用静态RAM芯片组成;最后4K为I/O设备区。现有芯片如下: YYYYYYYYYD-DD-DA-AA-ACSOECSWEABCABCF&3-8译码器16KBRAM16KBROMEN ROM:16k×8位,其中CS:为片选信号,低电平有效,OE:为读出控制,低电平读出有效。 静态RAM:16K×8位,其中CS:为片选信号,低电平有效,WE:为写控制信号,低电平写,高电平读。 译码器:3—8译码器。输出低电平有效。 与非门:扇入系数不限。

试画出主存芯片连接的逻辑图并写出各芯片地址分配表(假设存储器从0连续进行编址)。 答:⑴共需5片,其中1片16K×8ROM,4片16K×8SRAM ⑵各芯片地址分配表

00000H~03FFFH系统程序区16KB 04000H~0FFFFH备用区48KB

10000H~1EFFFH用户程序区和数据空间60KB 1F000H~1FFFFHI/O设备区4K

00000000000000000~00011111111111111A16A15A14=000ROM1片 00100000000000000~01111111111111111备用区

10000000000000000~10011111111111111A16A15A14=10016KRAM第1片

10100000000000000~10111111111111111A16A15A14=10116KRAM第2片 11000000000000000~11011111111111111A16A15A14=11016KRAM第3片

11100000000000000~11110111111111111A16A15A14=111A13A12≠1112KRAM第4片 11111000000000000~11111111111111111A16A15A14=111A13A12=114KI/O设备区 00000000000000000~0001111111111111100000H~03FFFH 00100000000000000~0111111111111111104000H~0FFFFH 10000000000000000~1001111111111111110000H~13FFFH 10100000000000000~1011111111111111114000H~17FFFH 11000000000000000~1101111111111111118000H~1BFFFH 11100000000000000~111101111111111111C000H~1EFFFH 11111000000000000~111111111111111111F000H~1FFFFH ⑶主存芯片与CPU的连接逻辑图 ROMRAMRAMRAMRAMA~AR/W3—8译码器MEMRENAAACBAD~DAA 4.9已知某8位机的主存采用4K×4位的SRAM芯片构成该机所允许的最大主存空间,并选用模块板结构形式,该机地址总线为18位,问: (1)若每个模块板为32K×8位,共需几个模块板? (2)每个模块板内共有多少块4K×4位的RAM芯片?请画出一个模块板内各芯片连接的逻辑框图。 (3)该主存共需要多少4K×4位的RAM芯片?CPU如何选择各个模块板? 答:

(1)主存总容量218×8=256K×8,∵每个模块板为32K×8位,∴共需256K/32K=8个模块板。 (2)每个模块板内共有32K×8位/4K×4位=16片RAM芯片。 一个模块板内各芯片连接的逻辑框图: RAMRAMRAMRAMRAMRAMA~AR/W3—8译码器AAAD~DMEMRENCBA??D~DD~DRAMRAMRAMRAMRAMRAM?

(3)该主存共需要16×8=128片4K×4位的RAM芯片。用地址高3位,通过3-8译码器形成各模板选择信号。 4.1064K×1位DRAM芯片通常制成两个独立的128×256阵列。若存储器的读/写周期为0.5μs,则对集中式刷新而言,其“死区”时间是多少?如果是一个256K×1位的DRAM芯片,希望能与上述64K×1位DRAM芯片有相同的刷新延时,则它的存储阵列应如何安排? 解:⑴两个独立的128×256阵列共128×2=256行,读/写周期为0.5μs 对集中式刷新而言,其“死区”时间为:256×0.5μs=128μs ⑵要求256K×1位的DRAM芯片与64K×1位DRAM芯片有相同的刷新延时,则存储阵列的行数应一致,即为256行,所以256K×1位的DRAM芯片的存储阵列应安排为256×1024,即分为两个独立的128×1024的阵列。 4.11某磁盘组有16个数据记录面,每面有256个磁道,每个磁道分为16个扇区,每个扇区包括512字节,已知磁盘内磁道直径为10英寸,外磁道直径为14英寸,转速为3600r/min,磁头平均定位时间为15ms,求: (1)该磁盘组最大存储容量是多少? (2)该磁盘组最大位密度、磁道密度是多少? (3)该磁盘的平均存取时间、数据传输率是多少? 答:(1)该磁盘组最大存储容量是:C=n×T×S×B=16×256×16×512B=32MB=225B (2)最大位密度16×512×8/10π=2087位/英寸=2087bpi 磁道密度256/(14/2-10/2)=256/2=128道/英寸=128tpi (3)平均存取时间

数据传输率:Dr=16×512×8×3600/60=3932160bit/s=491520B/秒=480KB/s 平均等待时间:60/(3600×2)=8.3ms 平均存取时间:8.3+15=23.3ms

考虑:启动延迟+传送一个扇区数据所需的时间。启动延迟未给,忽略。 传送一个扇区数据所需的时间=512B/480KB≈1.042ms 平均存取时间:8.3+15+1.042≈24.3ms

4.12若某机磁盘子系统共有4台驱动器,每台驱动器装有与上述磁盘组相同的磁盘组,请设计该磁盘子系统的地