计算机组成原理习题解答_第1页
计算机组成原理习题解答_第2页
计算机组成原理习题解答_第3页
计算机组成原理习题解答_第4页
计算机组成原理习题解答_第5页
已阅读5页,还剩50页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1计算机组成原理习题解答第1章1解释概念或术语实际机器、虚拟机器,机器指令、机器指令格式,主机、CPU、主存、I/O、PC、IR、ALU、CU、AC、MAR、MDR,机器字长、存储字长、指令字长、CPI、TC、主频、响应时间、吞吐量、MIPS、MFLOPS。答略2如何理解计算机系统的层次结构说明高级语言、汇编语言及机器语言的差别与联系。答计算机系统是由软件和硬件结合而成的整体。为了提高计算机系统的好用性,程序设计语言的描述问题能力越来越强,各种程序设计语言大体上是一种层次结构,即高等级编程语言指令包含低等级编程语言指令的全部功能。对于使用不同层次编程语言的程序员来说,他们所看到的同一计算机系统的属性是不同的,这些属性反映了同一计算机系统的不同层次的特征,即同一计算机系统可划分成多个层次结构,不同层次的结构反映的计算机系统的特征不同而已。机器语言是能够被计算机硬件直接识别和执行的程序设计语言,机器语言是一种面向硬件的、数字式程序设计语言;汇编语言和高级语言均用符号表示机器语言指令,指令很容易阅读和编写、但不能被硬件直接识别和执行,它们均是一种面向软件的、符号式程序设计语言;相对于汇编语言而言,高级语言描述问题的能力更强;高级语言和汇编语言程序必须翻译成机器语言程序后,才能在计算机硬件上执行。3计算机系统结构、计算机组成的定义各是什么两者之间有何关系答计算机系统结构是指机器语言程序员或编译程序编写者所看到的计算机系统的属性,包括概念性结构和功能特性两个方面。主要研究计算机系统软硬件交界面的定义及其上下的功能分配。计算机组成是指计算机硬件设计人员所看到的计算机系统的属性。主要研究如何合理地逻辑实现硬件的功能。计算机组成是计算机系统结构的逻辑实现。4冯诺依曼模型的存储程序原理包含哪些内容、对计算机硬件和软件有哪些要求冯诺依曼模型计算机的特点有哪些答存储程序原理是指程序和数据预先存放在存储器中,机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行。存储程序原理要求存储器是由定长单元组成的、按地址访问的、一维线性空间结构的存储部件;要求软件指令支持用地址码表示操作数在存储器中的地址,指令长度为存储单元长度的倍数,编程语言中必须有转移型指令,以实现程序存储顺序到程序逻辑顺序的转变。冯诺依曼模型计算机的特点可归纳为如下几点计算机由运算器、控制器、存储器、输入设备和输出设备组成;存储器是由定长单元组成的、按地址访问的、一维线性空间结构;程序由指令组成,指令和数据以等同地位存放在存储器中;机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行;2指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用于表示操作数在存储器中的地址;指令和数据均采用二进制方式表示,运算亦采用二进制方式;机器以运算器为中心,输入/输出设备与存储器间的数据传送都经过运算器。5现代计算机均采用冯诺依曼模型、但进行了改进,画出现代计算机硬件组成及结构图,并说明各部件的作用。答现代计算机结构大多在冯诺依曼模型基础上进行了改进,以进一步提高系统的性能。改进主要包括以存储器为中心、多种存储器共存、采用总线互连三个方面。基本的硬件组成及结构图如下CPUI/O接口I/O设备系统总线I/O接口I/O设备主存磁盘接口磁盘CPU由运算器和控制器组成,运算器负责实现数据加工,实现算术逻辑运算;控制器负责指挥和控制各部件协调地工作,实现程序执行过程。存储器由主存和辅存如磁盘组成,负责实现信息存储。主存由小容量、快速元器件组成,存放近期常用程序和数据;辅存由大容量、低价格元器件组成,存放所有的程序和数据;主存可被CPU直接访问,这样在提高访存速度的同时,可降低存储器总成本。I/O设备负责实现信息的输入和输出,以及信息的格式变换。通过总线实现部件互连的好处是可以实现CPU的操作标准化,而操作标准化的具体实现部件是I/O接口,它负责缓冲和中转相关操作。6若某计算机的机器指令格式如表12所示,请写出求SABC的机器语言程序,其中A、B、C存放在起始地址为0000100000的连续3个主存单元中,而S则要求存放到地址为0000001000的主存单元中。解假设程序第一条指令存放在第1000000000号存储单元中,则程序清单如下指令(二进制)主存单元地址(二进制)操作码地址码注释0000001000S结果数据S0000100000A原始数据A0000100001B原始数据B0000100010C原始数据C10000000000000010000100000取数A到累加器AC中10000000010000110000100001ACB,结果存于AC中10000000100000110000100010ACC,结果存于AC中10000000110000100000001000将AC中内容存到S所在主存单元中1000000100000100停机,地址码空闲(值可任意)7画出基于累加器CPU的主机框图,说明题6的机器语言程序的执行过程尽可能详3细。简述执行过程与冯诺依曼模型的存储程序原理的关系。答基于累加器CPU的的主机框图如下CPU设备运算器ADRDATCMD主存储器MARMDR控制信号形成部件时序部件ID控制器“1”I/O接口ACALUIRPC存储阵列I/O电路地址译码器系统总线I/O假设SABC程序已被调入主存、首指令地址已写入到PC中,即PC1000000000。程序运行启动后,计算机硬件自动地、逐条地、按PC为指令地址实现取指令、分析指令、执行指令的对应操作,直到执行到停机指令为止。假设IR中操作码记为OPIR)、地址码记为ADIR,则SABC程序执行过程的具体操作如下(1)PCMAR、MARABUS、READCBUS;MARPC1000000000,取指令开始(2)WMFC,PC1PC;PC1000000001(下条指令地址)(3)MDRIR;IR0000010000100000,取指令完成ID对OPIR译码;CU得知当前为取数指令(4)ADIRMAR、MARABUS、READCBUS;MAR0000100000,执行指令开始(5)WMFC(6)MDRAC;ACMDRA,执行指令完成(7)PCMAR、MARABUS、READCBUS;MARPC1000000001,取指令开始(8)WMFC,PC1PC;PC1000000010(下条指令地址)(9)MDRIR;IR0000110000100001,取指令完成ID对OPIR译码;CU得知当前为加法指令(10)ADIRMAR、MARABUS、READCBUS;MAR0000100001,执行指令开始(11)WMFC(12)MDRACAC;ACAB,执行指令完成(13)PCMAR、MARABUS、READCBUS;MARPC1000000010,取指令开始(14)WMFC,PC1PC;PC1000000011(下条指令地址)(15)MDRIR;IR0000110000100010,取指令完成ID对OPIR译码;CU得知当前为加法指令(16)ADIRMAR、MARABUS、READCBUS;MAR0000100010,执行指令开始(17)WMFC(18)MDRACAC;ACABC,执行指令完成(19)PCMAR、MARABUS、READCBUS;MARPC1000000011,取指令开始(20)WMFC,PC1PC;PC1000000100(下条指令地址)(21)MDRIR;IR0000100000001000,取指令完成ID对OPIR译码;CU得知当前为存数指令(22)ADIRMAR、MARABUS、WRITECBUS;MAR0000100000,执行指令开始(23)ACMDR、MDRDBUS、WMFC;MDRACABC,执行指令完成(24)PCMAR、MARABUS、READCBUS;MARPC1000000100,取指令开始(25)WMFC,PC1PC;PC1000000101(下条指令地址)(26)MDRIR;IR000100,取指令完成ID对OPIR译码;CU得知当前为停机指令(27)机器自动停机;执行停机指令完成4从程序执行过程可以看出由于指令存放在存储器中,故指令执行过程分为取指令含分析指令、执行指令两个阶段;由于存储器同时只接收一个访问操作,故程序执行过程是循环的指令执行过程,循环变量为PC中的指令地址;只要按照程序逻辑顺序改变PC,可以实现按程序逻辑顺序执行程序的目标。8指令和数据均存放在存储器中,计算机如何区分它们答由于存储器访问只使用地址和命令READ/WRITE信号,而指令和数据均以二进制编码形成存放在存储器中,因此,从存储器取得的信息本身是无法区分是指令还是数据的。计算机只能通过信息的用途来区分,即取指令时取得的是指令,指令执行时取操作数或写结果对应的信息是数据。即计算机通过程序执行过程或指令执行过程的不同阶段来区分。9在某CPU主频为400MHZ的计算机上执行程序A,程序A中指令类型、执行数量及平均时钟周期数如下表所示。指令类型指令执行数量平均时钟周期数/指令整数450001数据传送750002浮点数80004条件转移15002求该计算机执行程序A时的程序执行时间、平均CPI及MIPS。解CPU时钟周期TC1/F1/40010625NS程序执行时间TCPU4500017500028000415002250575MS。平均CPI45000175000280004150024500075000800015001776时钟周期/指令MIPS450007500080001500/05751031062252百万条/秒10冯诺依曼模型计算机的性能瓶颈有哪些简述缓解性能瓶颈严重性的方法。答冯诺依曼模型计算机的性能瓶颈有CPUMEM瓶颈、指令串行执行瓶颈两个。对缓解CPUMEM瓶颈而言,主要目标是减少MEM访问延迟、提高MEM传输带宽,常用的方法有采用多种存储器构成层次结构存储系统、采用多级总线互连、采用并行结构存储器等。对缓解指令串行执行瓶颈而言,主要目标是尽可能实现并行处理,常用的方法有采用流水线技术、数据流技术、超标量技术、超线程技术、多核技术等。5第2章1解释概念或术语进制、机器数、原码、补码、移码、变形补码、BCD码、交换码、内码、奇校验、CRC、上溢、下溢、左规、对阶、溢出标志、进位标志、部分积、BOOTH算法、交替加减法除法、警戒位、全加器、并行加法器、行波进位、先行进位。答略2完成下列不同进制数之间的转换(1)347625102816(2)9CE162810(3)110100112108421BCD解(1)3476251010101101110125335815BA16(2)9CE1610011100111022347815687510(3)110100112211100010000100018421BCD3对下列十进制数,分别写出机器数长度为8位(含1位符号位)时的原码及补码。(1)23/128(2)35/64(3)43(4)72(5)7/32(6)9/16(7)91(8)33解(1)23/128原00010111,23/128补00010111;(2)35/64原11000110,35/64补10111010;(3)43原00101011,43补00101011;(4)72原11001000,72补10111000;(5)7/32原00011100,7/32补00011100;(6)9/16原11001000,9/16补10111000;(7)91原01011011,91补01011011;(8)33原10100001,33补11011111。4对下列机器数(含1位符号位),若为原码时求补码及真值,若为补码或反码时求原码及真值。(1)X原100011(2)X补000011(3)X反101010(4)X原110011(5)X补101001(6)X反101011解(1)X补111101,X000113;(2)X原000011,X0000113/32;(3)X原110101,X01010121/32;(4)X补101101,X01001119/32;(5)X原110111,X1011123/32;(6)X原110100,X1010020/32。5(1)若X补101001,求X补及X;(2)若X补101001,求X补及X。解(1)X补010111,X01011123/32;(2)X补010111,X1011123。6(1)若X23及42,分别求8位长度的X移;6(2)若X移1100101及0011101,分别求X。解(1)23移10010111,42移01010110;(2)X移1100101时的X10010137,X移0011101时的X10001135。7若X补0X1X2X3X4X5,Y补1Y4Y3Y2Y1Y0,求下列几种情况时,XI或YI的取值。(1)X1/4(2)1/8X1/16(3)Y16(4)32Y8解(1)1/4补001000,故X10X31X41X51X11时X1/4;(2)1/8补000100,1/16补000010,故X10X20X31X40X50X30X41X51时1/8X1/16;(3)16补110000,故Y40时Y16;(4)8补111000,32补100000,故Y41Y31Y20Y10Y00Y4Y31Y40Y30Y21Y11Y01时32Y8。8冗余校验的基本原理是什么答数据发送时,除发送数据信息外,还冗余发送按某种规律形成的校验信息;数据接收时,用所接收数据信息形成新的校验信息,与所接收的校验信息比较,以此判断是否发生了错误,出错时报告出错或自动校正错误。9若采用奇校验,下述两个数据的校验位的值是多少(1)0101001(2)0011011答(1)数据0101001的奇校验位值为010100110;(2)数据0011011的奇校验位值为001101111。10若下列奇偶校验码中只有一个有错误,请问采用的是奇/偶校验为什么(1)10001101(2)01101101(3)10101001答上述奇偶校验码采用的是偶校验编码方式。由于三个奇偶校验码中分别有偶数、奇数、偶数个“1”,而只有一个校验码有错误,故第2个奇偶校验码01101101有错误;又由于第2个奇偶校验码有奇数个“1”,故校验码采用的是偶校验编码方式。11设有8位数据信息01101101,请写出求其海明校验码的过程。解本题中数据位数N8,数据信息M8M101101101,设检验信息位数为K位,(1)先求得校验信息位数K,根据2K18K的要求,可得K4位;(2)列出NK8412位校验码中的信息排列M8M7M6M5P4M4M3M2P3M1P2P1。(3)设各校验组采用偶校验编码方式,各校验组校验位的值为P4M8M7M6M501100,P3M8M4M3M201100,P2M7M6M4M3M1111111,P1M7M5M4M2M1101011;(4)海明偶校验码为011001100111。12若机器数表示时字长为8位,写出下列情况时它能够表示的数的范围(十进制)。(1)无符号整数;(2)原码编码的定点整数;(3)补码编码的定点整数;(4)原码编码的定点小数;7(5)补码编码的定点小数。解(1)无符号整数的表示范围是0000000011111111,即0255;(2)原码定点整数的表示范围是11111111111111,即127127;(3)补码定点整数的表示范围是111111111111111,即128127;(4)原码定点小数的表示范围是0111111101111111,即127/128127/128;(5)补码定点小数的表示范围是1000000001111111,即128/128127/128。13对两个8位字长的定点数9BH及FFH,分别写出它们采用原码编码、补码编码及移码编码时的十进制整数的真值,并写出它们表示为无符号数时的十进制真值。解机器码9BHFFH原码编码的真值整数27127补码编码的真值整数1011移码编码的真值整数27127无符号编码的真值整数15525514若浮点数表示格式(从高位到低位)为阶码6位(含1位阶符)、尾数10位(含1位数符),请写出51/128、27/1024、7375、865所对应的机器数。(1)阶码和尾数均为原码;(2)阶码和尾数均为补码;(3)阶码为移码、尾数为补码。解(1)阶码和尾数均为原码时,51/128浮00110011浮1000010110011000或0000000011001100或,27/1024浮00000011011浮1001011110110000或1000011000011011或,7375浮111011浮0000110111011000或0001100000111011或,865浮10101101浮0001111101011010或0010001010101101或;(2)阶码和尾数均为补码时,51/128浮1111110110011000或0000000011001100或,27/1024浮1110111001010000或1111111111100101或,7375浮0000110111011000或0001100000111011或,865浮0001111010100110或0010001101010011或;(3)阶码为移码、尾数为补码时,51/128浮0111110110011000或1000000011001100或,27/1024浮0110111001010000或0111111111100101或,7375浮1000110111011000或1001100000111011或,865浮1001111010100110或1010001101010011或。15若浮点数表示格式采用6位阶码(含1位阶符)、10位尾数(含1位数符),阶码和尾数均采用补码编码。(1)写出浮点数能表示的正数及负数的范围;(2)写出规格化浮点数能表示的正数及负数的范围。解(1)浮点数正数区的范围为29232129231,浮点数负数区的范围为123129232;(2)规格化浮点数正数区的范围为21232129231,规格化浮点数负数区的范围为12312129232。816若浮点数表示格式为6位阶码(含1位阶符)、10位尾数(含1位数符)。分别写出阶码和尾数均为原码及均为补码时,下列数值为规格化数时的机器码。(1)51/128(2)51/128(3)1/64解(1)阶码和尾数均为原码时,规格化数的机器码为1000010110011000,阶码和尾数均为补码时,规格化数的机器码为1111110110011000;(2)阶码和尾数均为原码时,规格化数的机器码为1000011110011000,阶码和尾数均为补码时,规格化数的机器码为1111111001101000;(3)阶码和尾数均为原码时,规格化数的机器码为1001011100000000,阶码和尾数均为补码时,规格化数的机器码为1110101000000000。17若机器中单精度浮点数采用IEEE754标准表示。(1)对机器码为99D0000016及5980000016的浮点数,请写出它们的真值;(2)请写出51/128的机器码。解(1)由于机器码99D000001610011001110100000000000000000000B,故浮点数的符号码S1、阶码E00110011、尾数码M10100000000000000000000,因1E255,故机器码表示的为规格化浮点数,99D0000016的真值N1125112711010000000000000000000001101276;由于机器码598000001601011001100000000000000000000000B,故浮点数的符号码S0、阶码E10110011、尾数码M00000000000000000000000,因1E255,故机器码表示的为规格化浮点数,5980000016的真值N10217912710000000000000000000000001253。(2)51/12810001100112111100112125127,则用IEEE754标准表示时,符号码S1、阶码E125、尾数M010011,故51/128的单精度浮点数机器码为10111110110011000000000000000000。18字符在计算机中的表示可看作无符号定点整数,对字符的操作有比较是否相同、判断前后次序等关系运算,需要哪些支持才能用算术运算和逻辑运算实现关系运算答由于字符数据可看作无符号定点整数,故字符操作的结果可以用两个无符号定点整数关系运算的结果表示。设NA及NB为无符号定点整数,NC为有符号定点整数,且NANBNC,则当NANB时,NC的符号为正,当NANB时,NC的符号为负,当NANB时,NC的值为零,当NANB时,NC的符号为正、或者NC的值为零,当NANB时,NC的符号为负、或者NC的值为零;即对算术运算减法结果的符号、是否为零进行逻辑运算逻辑与、逻辑或,就可以得到关系运算的结果。因此,运算器中设置“结果符号是否为负”及“结果是否为零”两个标志位,并且有对这2个硬件标志位的5种逻辑操作硬件时,就可以用算术运算和逻辑运算实现关系运算了。19各种应用数据在计算机中一般表示成哪几种数据类型对某个机器数,如何才能够知道它的数据类型答计算机中的应用数据一般有数值数据和非数据数据两大类型,数值数据的运算均为算术运算,数据可表示为定点数或浮点数两种数据类型;非数值数据的运算比较复杂,9可能为逻辑运算,或算术运算或关系运算,数据可表示为逻辑数,或定点数或浮点数。故应用数据在计算机中一般表示成定点数、浮点数及逻辑数三种数据类型。由于计算机中均用二进制表示数据和指令,只能通过约定方式隐含表示符号及小数点等。而这种约定只在数据操作时才有实际意义,因此,对于某机器数,从数据本身无法知道它的数据类型,只能通过对其操作的指令来表明这个数的数据类型。如对32位机器数99D00000H,当它为浮点运算指令的操作数时,它是浮点数;当它为定点运算指令的操作数时,它是定点数。20若8位机器码为0010100,请问逻辑左移多少次后溢出逻辑右移多少次后再左移同样多次数时机器码开始不同请分别说明原因。答逻辑左移3位后溢出,因为左起第一个“1”被移丢,故溢出。逻辑右移3位后再逻辑左移3位时机器码与原来不同,因为机器码001010000000100010000,右起第一个“1”被移丢,损失精度后再左移3位机器码发生变化。21设机器数字长为8位含1位符号,分别写出对下列机器数算术左移1位、2位,算术右移1位、2位的结果,并说明结果是否正确。X原00011010;X补11101000;X反10101111;X原10011010;X补11001101;X反11001110解结果见下表,其中表示结果正确、表示结果溢出、表示结果精度受损失。算术左移1位算术左移2位算术右移1位算术右移2位X原0001101000110100011010000000110100000110X原1001101010110100111010001000110110000110X补1110100011010000101000001111010011111010X补1100110110011010101101001110011011110011X反1010111111011111101111111101011111101011X反110011101001110110111011111001111111001122若X补XSXN1X0,请推导2X补2X补及X补XS2N1X补。2121解1因2X补2N2X2N2N2X22NX2X补,故2X补2X补。2当X0时,XS0,X补2NX0XN1X0,XXN1X0,则X补2NX2NXN1X0/20XN1X0/2X补;112102N1X补XS2N1X补;2当X0时,XS1,XX补2N1XN1X02N12N12N1XN1X0,则X补2N2N1XN1X0/212N12N12N1XN1X0/22N12N1XN1X0/22N11XN1X0/22N1X补XS2N1X补。故对任意X,均有X补XS2N1X补。21023若机器数字长为8位含1位符号,请用补码运算规则计算下列各题。(1)A9/64,B13/32,求AB;(2)A19/32,B18/128,求AB;(3)A87,B13,求AB;(4)A115,B24,求AB解(1)因A00010010、B00110100,则A补00010010、B补11001100,AB补A补B补000100101100110011011110,则AB0010001017/64;(2)因A01001100、B00010010,则A补01001100、B补00010010,AB补A补B补010011000001001001011110,则AB0101111047/64;(3)因A1010111、B0001101,则A补10101001、B补11110011,AB补A补B补101010011111001110011100,则AB100;(4)因A1110011、B0011000,则A补01110011,B补11101000,AB补A补B补011100111110100001011011,则AB91。24若机器数字长为6位含1位符号,请用补码计算AB,并判断结果是否溢出。(1)A011011,B000011;(2)A011011,B010101;(3)A010111,B001011;(4)A010011,B001111解(1)由题意A补011011,B补000011,AB补A补B补011011000011011110,AB011110,AB补的溢出标志OVR00000,故AB结果不溢出;(2)由题意A补011011,B补101011,AB补A补B补011011101011000110,AB000110,AB补的溢出标志OVR00100,故AB结果不溢出;(3)由题意A补101001,B补110101,AB补A补B补101001110101011110,AB011110,AB补的溢出标志OVR10101,故AB结果溢出;(4)由题意A补010011,B补001111,AB补A补B补010011001111100010,AB011110,AB补的溢出标志OVR01011,故AB结果溢出。25若机器数字长为7位含2位符号,请用变形补码计算AB,并判断结果是否溢出。(1)A011011,B011111;(2)A010111,B001010解(1)由题意A变补0011011,B变补1100001,B变补0011111,则AB变补A变补B变补001101100111110111010,AB000110,AB变补的溢出标志OVR011,故AB结果溢出;(2)由题意A变补0010111,B变补1110110,B变补0001010,11则AB变补A变补B变补001011100010100100001,AB000001,AB变补的溢出标志OVR011,故AB结果溢出。26对下列A和B,请用原码一位乘法求AB。(1)A0110111,B0101110;(2)A19,B35解(1)由题意A原0110111,B原1101110,|A|0110111,|B|0101110,AB原的符号位为011,按原码一位乘法规则,|A|B|需进行6次判断加法移位操作,其过程如下表所示循环次数部分积高位乘数及部分积低位说明60000000101110初始部分积P000000005000000000000000000000010111乘数最低位为0,应0部分积及乘数同时右移1位4011011101101110011011101011乘数最低位为1,应|A|部分积及乘数同时右移1位3011011110100100101001010101乘数最低位为1,应|A|部分积及乘数同时右移1位2011011111000000110000001010乘数最低位为1,应|A|部分积及乘数同时右移1位1000000001100000011000000101乘数最低位为0,应0部分积及乘数同时右移1位0011011110011110100111100010乘数最低位为1,应|A|部分积及乘数同时右移1位即|A|B|0100111100010,故AB原1100111100010。(2)由题意,A原0010011,B原0100011,|A|010011,|B|100011,AB原的符号位为000,|A|B|需进行6次判断加法移位操作,其过程如下表所示循环次数部分积高位乘数及部分积低位说明6000000100011初始部分积P000000050100110010011001001110001乘数最低位为1,应|A|6位加法,0为加法器的进位部分积及乘数同时右移1位40100110011100001110011000乘数最低位为1,应|A|部分积及乘数同时右移1位30000000001110000111001100乘数最低位为0,应0部分积及乘数同时右移1位000000乘数最低位为0,应01220000111000011100110部分积及乘数同时右移1位10000000000011000001110011乘数最低位为0,应0部分积及乘数同时右移1位00100110010100001010011001乘数最低位为1,应|A|部分积及乘数同时右移1位即|A|B|001010011001,故AB原0001010011001。27若A0011011,B0100110,请用原码两位乘法求AB。解由题意A原0011011,B原1100110,|B|0100110,|A|补0011011,|A|补1100101,2|A|补0110110,AB原的的符号位为011,由于|B|为6位偶数个,乘法运算时需在|B|的最高位前增加两个0,以处理乘法运算结束时可能的T1的情况,故共循环4次,前3次进行判断加法移位操作、最后1次进行判断加法操作,运算过程如下表所示循环次数部分积高位乘数及部分积低位T说明4000000000001001100初始部分积P0000、T03000110110000110110000001101100010010B1B0T100,应2|A|补、T0算术右移2位最高符号位为真符号位2000011011000101000000001010001000100B1B0T010,应|A|补、T0算术右移2位1000110110001000000000010000000010000B1B0T100,应2|A|补、T0算术右移2位0000000000000010000000010B1B0T000,应0不移位,乘积数值部分为00100000000010即|A|B|0010000000010,故AB原1010000000010。28对下列A和B,请用补码一位乘法BOOTH算法求AB。(1)A0110111,B0101010;(2)A19,B35解(1)由题意A补0110111,B补1010110,A补1001001,因连同符号一起运算,故共循环7次,进行判断加法移位操作最后1次不移位。运算过程如下表所示循环部分积乘数附加位操作说明7000000010101100初始P0补0,BN0600000000000000000000001010110BN1BN00,部分积0部分积和乘数同时算术右移1位510010011001001110010010101011BN1BN10,部分积A补部分积和乘数同时算术右移1位400000001100100111001001010101BN1BN11,部分积0部分积和乘数同时算术右移1位01101110101001BN1BN01,部分积A补133001010010101010部分积和乘数同时算术右移1位210010011011101110111011010101BN1BN10,部分积A补部分积和乘数同时算术右移1位101101110100101001001011101010BN1BN01,部分积A补部分积和乘数同时算术右移1位0100100110110111011011111010BN1BN10,部分积A补最后一次不右移故AB补1011011111010。(2)由题意A补0010011,B补0100011,A补1101101,共循环7次,进行判断加法移位操作最后1次不移位。运算过程如下表所示循环部分积乘数附加位操作说明7000000001000110初始P0补0,BN0611011011101101111011010100011BN1BN10,部分积A补部分积和乘数同时算术右移1位500000001110110111101101010001BN1BN11,部分积0部分积和乘数同时算术右移1位400100110001110000011100101000BN1BN01,部分积A补部分积和乘数同时算术右移1位300000000000111000001110010100BN1BN00,部分积0部分积和乘数同时算术右移1位200000000000011000000111001010BN1BN00,部分积0部分积和乘数同时算术右移1位111011011101110111011101100101BN1BN10,部分积A补部分积和乘数同时算术右移1位0001001100010100001010011001BN1BN01,部分积A补最后一次不右移故AB补0001010011001。29对下列A和B,请用不恢复余数法交替加减法原码除法求AB。(1)A0100111,B0101010;(2)A0100100110,B10101解(1)由题意A原0100111,B原1101010,|A|补0100111,|B|补0101010,|B|补1010110,不恢复余数法原码除法求解过程如下表所示被除数余数商说明0100111被除数|A|补,商任意值101011011111010减去除数,|B|补余数为负,除法不溢出,上商为0111101001010100100100001余数与部分商同时逻辑左移1位因Q00即余数为负加上除数,|B|补余数为正,上商为11001000101011001余数与部分商同时逻辑左移1位因Q11即余数为正减去除数,|B|补140011110011余数为正,上商为10111100101011000100100110111余数与部分商同时逻辑左移1位因Q21即余数为正减去除数,|B|补余数为正,上商为1010010010101101111010011101110余数与部分商同时逻辑左移1位因Q31即余数为正减去除数,|B|补余数为负,上商为011101000101010001111001110011101余数与部分商同时逻辑左移1位因Q40即余数为负加上除数,|B|补余数为正,上商为10111100101011000100100111010111011余数与部分商同时逻辑左移1位因Q51即余数为负减去除数,|B|补余数为正,上商为1,因Q61,余数不用修正所以|商|0Q1Q2Q3Q4Q5Q60111011,|余数|0010010。由于商符SQ101,故A/B原1111011,AB原0010010,A/B0111011,AB0010010。30对于不恢复余数法原码除法而言,图216的运算流程并不完全适用于整数除法,因为整数除法开始时,被除数存放在REGA及REGQ中,请将图216改成适合整数除法的流程图提示应先移位、后上商。解图216的原码除法中,“判溢出”阶段的“REGQ00”对应的是最后结果的符号位,可省略最后被覆盖;“相除”阶段的“REGQ01”可用“REGAN10”代替。REGA被除数原码,REGB除数原码CNTN1YNREGAREGAREGBCNT0SQREGAN1REGBN1,SRREGAN1REGAN10,REGBN10CNTCNT1REGAN11YNREGQN1SQ,REGAN1SR开始结束REGAREGAREGB补OVR1NREGAN10REGQ0REGAN1取反REGA、REGQ同时逻辑左移1位YREGQ01REGAREGAREGBREGA、REGQ同时逻辑左移1位准备求商及余数符号变为绝对值相除YN判溢出余数修正置商及余数符号REGAREGAREGB补1531若A010101,B011011,请用不恢复余数法补码除法求AB。解由题意A补101011,B补011011,B补100101,不恢复余数补码除法过程如下表所示被除数余数商Q反说明1010110110110001101A补与B补异号求R0补时B补R0补与B补同号,不溢出、Q01001100100101110001110余数与部分商同时左移1位求新余数时B补R1补与B补异号,Q1010001001101111110110100余数与部分商同时左移1位求新余数时B补R2补与B补异号,Q201110100110110101011001001余数与部分商同时左移1位求新余数时B补R3补与B补同号,Q31101010100101001111100110011余数与部分商同时左移1位求新余数时B补R4补与B补同号,Q4101111010010100001110011100111余数与部分商同时左移1位求新余数时B补R5补与B补同号,Q51100101101000Q01、Q51,即不够减,修正余数B补所以,Q反100111,Q补100111000001101000,R补101000。32若浮点数用4位阶码含1位阶符、7位尾数含1位数符格式表示,阶码及尾数均为补码,请用浮点运算方法计算AB。(1)A20110101100,B20100011100;(2)A21010100101,B21000001111解假设运算时采用2位警戒位、双符号位和舍入法。(1)由题意A浮11010101100,B浮11101100100,对阶,E补111011111011111,E1,A的尾数右移1位、阶码加1,即MA补0001011000,MB补1110010000,EA补EB补11110尾数加减,MA补MB补000101100011100100001111101000,即AB浮111101111101000规格化,尾数不溢出、补码符号位与最高数值位相同,左规3次后,16得AB浮110111101000000尾数舍入,警戒位为00,选择“舍”(即“不舍不入”),即AB浮1101111010000溢出判断,阶码符号为11,AB结果不溢出。故AB浮10111010000,AB21010110000。(2)由题意A浮01011011011,B浮01001110001,对阶,E补001010010000001,E1,B的尾数右移1位、阶码加1,即MA补1101101100,MB补1111100010,EA补EB补00101尾数加减,MA补MB补110110110011111000101101001110,即AB浮001011101001110规格化,尾数不溢出、补码符号位与最高数值位不同,尾数无需规格化,即AB浮001011101001110尾数舍入,由于尾数为负、警戒位为10,选择“舍”,即AB浮0010111010011溢出判断,阶码符号为00,AB结果不溢出。故AB浮01011010011,AB21010101101。33若浮点数表示格式为5位阶码含1位阶符、8位尾数含1位数符,阶码用移码表示、尾数用补码表示,浮点运算时采用双符号位运算、警戒位为3位、采用舍入法,请用浮点运算方法计算下列各题,并写出运算结果的机器码。(1)215213;16169(2)213214385解(1)由题意A浮1111101011000,B浮1110110111000,对阶,EB补01101,EB补10011,E移EA移EB补EA移EB补111111110011110010,E2,B的尾数右移2位、阶码加2,即MA补001011000000,MB补111101110000,EA移EB移111111尾数加减,MA补MB补001011000000111101110000001000110000,即AB浮111111001000110000规格化,尾数不溢出、补码符号位与最高数值位不同,尾数无需规格化,即AB浮111111001000110000尾数舍入,由于警戒位为000,选择“舍”(即“不舍不入”),即AB浮111111001000110溢出判断,阶码符号位为11,AB结果不溢出。故AB浮1111101000110。(2)由题意A浮0001101101000,B浮0001010110000,对阶,E移EA移EB补EA移EB补000011001110010001,E1,B的尾数右移1位、阶码加1,即MA补001101000000,MB补111011000000,EA补EB补000011尾数加减,MA补MB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论