计算机组成基础学习知识原理期末复习资料规范标准答案.doc
.*第一章 计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:计算机系统:由计算机硬件系统和软件系统组成的综合体。计算机硬件:指计算机中的电子线路和物理装置。计算机软件:计算机运行所需的程序及相关资料。硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。2. 如何理解计算机的层次结构?答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。(2)系统软件在硬件之外,为用户提供一个基本操作界面。(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。4. 如何理解计算机组成和计算机体系结构?答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。8. 解释下列英文缩写的中文含义:CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS解:全面的回答应分英文全称、中文名、功能三部分。CPU:Central Processing Unit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。PC:Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。IR:Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。CU:Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。ACC:Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。MQ:Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;MAR:Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。MDR:Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。I/O:Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。 MIPS:Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。 CPI:Instruction,执行一条指令所需时钟周期数,计算机运算速度指标计量单位之一; FLOPS:Floating Point Operation Per Second,每秒浮点运算次数,计算机运算速度计量单位之一。11. 指令和数据都存于存储器中,计算机如何区分它们?解:计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期(或相应微程序)取出的既为数据。另外也可通过地址来源区分,从PC指出的存储单元取出的是指令,由指令地址码部分提供操作数地址。 第3章 系统总线3. 常用的总线结构有几种?不同的总线结构对计算机的性能有什么影响?举例说明。答:(1)总线结构通常可以分为单总线结构和多总线结构两种。(2)单总线结构简单也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈,它允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高,这类总线多数被小型计算机或微型计算机采用;多总线结构解决了单总线中所有部件同时共享总线的现状,有效的提高了系统的工作效率,如传统微型计算机。4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。5. 解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。答:总线宽度:通常指数据总线的根数;总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数;总线复用:指同一条信号线可以分时传输不同的信号。总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;总线的传输周期:指总线完成一次完整而可靠的传输所需时间;总线的通信控制:指总线传送过程中双方的时间配合方式。10. 为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plug and play?哪些总线有这一特点?答:总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;目前流行的总线标准有:ISA、EISA、PCI等;plug and play:即插即用,EISA、PCI等具有此功能。3.14 设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?解;总线宽度 = 16位/8 =2B 总线带宽 = 8MHz2B =16MB/s3.15 在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?解法1: 总线宽度 =32位/8 =4B 时钟周期 =1/ 66MHz =0.015s 总线最短传输周期 =0.015s4 =0.06s 总线最大数据传输率 = 4B/0.06s =66.67MB/s解法2: 总线工作频率 = 66MHz/4 =16.5MHz 总线最大数据传输率=16.5MHz4B =66MB/s 若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度。3.16 在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。解: 一帧 =1+8+1+2 =12位 波特率 =120帧/秒12位=1440波特 比特率 = 1440波特(8/12)=960bps或:比特率 = 120帧/秒8 =960bps 第 四 章1. 解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。答:主存:主存储器,用于存放正在执行的程序和数据。CPU可以直接进行随机读写,访问速度较高。辅存:辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。Cache:高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。RAM:半导体随机存取存储器,主要用作计算机中的主存。SRAM:静态半导体随机存取存储器。DRAM:动态半导体随机存取存储器。ROM:掩膜式半导体只读存储器。由芯片制造商在制造时写入内容,以后只能读出而不能写入。PROM:可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。EPROM:紫外线擦写可编程只读存储器。需要修改内容时,现将其全部内容擦除,然后再编程。擦除依靠紫外线使浮动栅极上的电荷泄露而实现。EEPROM:电擦写可编程只读存储器。CDROM:只读型光盘。Flash Memory:闪速存储器。或称快擦型存储器5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?解:存储器的带宽指单位时间内从存储器进出信息的最大数量。存储器带宽 = 1/200ns 32位 = 160M位/秒 = 20MB/秒 = 5M字/秒注意:字长32位,不是16位。(注:1ns=10-9s)7. 一个容量为16K32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1K4位,2K8位,4K4位,16K1位,4K8位,8K8位解:地址线和数据线的总和 = 14 + 32 = 46根;选择不同的芯片时,各需要的片数为:1K4:(16K32) / (1K4) = 168 = 128片2K8:(16K32) / (2K8) = 84 = 32片4K4:(16K32) / (4K4) = 48 = 32片16K1:(16K32)/ (16K1) = 132 = 32片4K8:(16K32)/ (4K8) = 44 = 16片8K8:(16K32) / (8K8) = 24 = 8片9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。解:刷新:对DRAM定期进行的全部重写过程;刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;常用的刷新方法有三种:集中式、分散式、异步式。集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。异步式:是集中式和分散式的折衷。讨论: 1、刷新与再生的比较: 共同点: 动作机制一样。都是利用DRAM存储元破坏性读操作时的重写过程实现; 操作性质一样。都是属于重写操作。区别: 解决的问题不一样。再生主要解决DRAM存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。 操作的时间不一样。再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。 动作单位不一样。再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。 芯片内部I/O操作不一样。读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出(唯RAS有效刷新,内部读)。鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。2、CPU访存周期与存取周期的区别: CPU访存周期是从CPU一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。 3、分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期。 4、刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。 11. 一个8K8位的动态RAM芯片,其内部结构排列成256256形式,存取周期为0.1s。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?解:采用集中刷新方式刷新间隔为:2ms,其中刷新死时间为:2560.1s=25.6s采用分散刷新方式刷新间隔为:2560.1=25.6s采用异步刷新方式刷新间隔为:2ms12. 画出用10244位的存储芯片组成一个容量为64K8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。解:设采用SRAM芯片,则:总片数 = (64K8位) / (10244位)= 642 = 128片题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:页面容量 = 总容量 / 页面数 = 64K8 / 4 = 16K8位,4片16K8字串联成64K8位组容量 = 页面容量 / 组数 = 16K8位 / 16 = 1K8位,16片1K8位字串联成16K8位组内片数 = 组容量 / 片容量 = 1K8位 / 1K4位 = 2片,两片1K4位芯片位并联成1K8位存储器逻辑框图:(略)。13. 设有一个64K8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。解:存储基元总数 = 64K8位 = 512K位 = 219位;思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。解:设地址线根数为a,数据线根数为b,则片容量为:2ab = 219;b = 219-a;若a = 19,b = 1,总和 = 19+1 = 20; a = 18,b = 2,总和 = 18+2 = 20; a = 17,b = 4,总和 = 17+4 = 21; a = 16,b = 8,总和 = 16+8 = 24; 由上可看出:片字数越少,片字长越长,引脚数越多。片字数减1、片位数均按2的幂变化。结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2根。15 .设CPU共有16根地址线,8根数据线,并用(低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K8位,4K4位,8K8位),RAM(1K4位,2K8位,4K8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:(1)最小4K地址为系统程序区,409616383地址范围为用户程序区;(2)指出选用的存储芯片类型及数量;(3)详细画出片选逻辑。解:(1)地址空间分配图: 系统程序区(ROM共4KB):0000H-0FFFH 用户程序区(RAM共12KB):1000H-FFFFH (2)选片:ROM:选择4K4位芯片2片,位并联 RAM:选择4K8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH) (3)各芯片二进制地址分配如下:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0ROM1,200000000000000000000011111111111RAM100010000000000000001111111111111RAM200100000000000000010111111111111RAM300110000000000000011111111111111CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:图(3)17. 写出1100、1101、1110、1111对应的汉明码。解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示校验位位数k=3位,(2k=n+k+1)设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1校验位在汉明码中分别处于第1、2、4位c1=b4b3b1c2=b4b2b1c3=b3b2b1当有效信息为1100时,c3c2c1=011,汉明码为1110100。当有效信息为1101时,c3c2c1=100,汉明码为0011101。当有效信息为1110时,c3c2c1=101,汉明码为1011110。当有效信息为1111时,c3c2c1=010,汉明码为0110111。24. 一个4体低位交叉的存储器,假设存储周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?解:4体低位交叉的存储器的总线传输周期为t,t=T/4,依次访问64个字所需时间为: t=T+(64-1) t=T+63T/4=16.75T28. 设主存容量为256K字,Cache容量为2K字,块长为4。(1)设计Cache地址格式,Cache中可装入多少块数据?(2)在直接映射方式下,设计主存地址格式。(3)在四路组相联映射方式下,设计主存地址格式。(4)在全相联映射方式下,设计主存地址格式。(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。解:(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,Cache字地址9位,字块内地址为2位 因此,Cache地址格式设计如下:Cache字块地址(9位)字块内地址(2位) (2)主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,主存字块标记为18-9-2=7位。 直接映射方式下主存地址格式如下:主存字块标记(7位)Cache字块地址(9位)字块内地址(2位) (3)根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,主存字块标记为18-7-2=9位,主存地址格式设计如下:主存字块标记(9位)组地址(7位)字块内地址(2位) (4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:主存字块标记(16位)字块内地址(2位) (5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B,Cache容量为2K*32/4=214B,块长为4*32/4=32B=25B,字块内地址为5位,在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:主存字块标记(7位)Cache字块地址(9位)字块内地址(5位)在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:主存字块标记(9位)组地址(7位)字块内地址(5位)在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:主存字块标记(16位)字块内地址(5位)29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?解:Cache被访问命中率为:4800/(4800+200)=24/25=96%则Cache-主存系统的平均访问时间为:ta=0.96*30ns+(1-0.96)*150ns=34.8nstc =30ns;Cache-主存系统的访问效率为:e=tc/ta*100%=30/34.8*100%=86.2%性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。30. 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。解:cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位主存共分4096/16=256区,每区16块主存容量为:4096*128=219字,主存地址19位,地址格式如下:主存字块标记(8位)组地址(4位)字块内地址(7位) 41. 设有效信息为110,试用生成多项式G(x) =11011将其编成循环冗余校验码。 解:编码过程如下: M(x) =110 n =3 G(x) =11011 k+1 =5 k =4 M(x)x4 =110 0000 M(x)x4/G(x) =110 0000/11011=100+1100/11011 R(x) =1100 M(x)x4+R(x) =110 0000+1100=110 1100 =CRC码 (7,3)码 注:此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。此时只能检错,无法纠错42.有一个(7,4)码,生成多项式G(x)=x3 + x + 1,写出代码1001的循环冗余校验码。答:M(x)=1001 G(x)=x3 + x + 1=1011K+1=4 k=3 M(x)*x3/G(x)=1001000/1011=1010 +余数110 则校验码为1001110 第 六 章1. 最少用几位二进制可表示任一5位长的十进制正整数。答:17位.9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)? 解:真值和机器数的对应关系如下:9BH原码补码反码移码无符号数对应十进制数-27-101-100+27155FFH原码补码反码移码无符号数对应十进制数-128-1-0+12825610. 在整数定点机中,设机器数采用1位符号位,写出0的原码、补码、反码和移码,得出什么结论?解:0的机器数形式如下:(假定机器数共8位,含1位符号位在内)真值原码补码反码移码+00 000 00000 000 00000 000 00001 000 0000-01 000 00000 000 00001 111 11111 000 0000结论:0的原码和反码分别有+0和-0两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。 12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:(1)阶码和尾数均为原码。(2)阶码和尾数均为补码。(3)阶码为移码,尾数为补码。 解:据题意画出该浮点数的格式:阶符1位阶码4位数符1位尾数10位 将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011B x2= -27/1024= -0.0000011011B = 2-5*(-0.11011B)则以上各数的浮点规格化数为:(1)x1浮=1,0001;0.110 011 000 0 x2浮=1,0101;1.110 110 000 0(2)x1浮=1,1111;0.110 011 000 0 x2浮=1,1011;1.001 010 000 0(3)x1浮=0,1111;0.110 011 000 0 x2浮=0,1011;1.001 010 000 0 16设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。 (1)无符号数; (2)原码表示的定点小数。 (3)补码表示的定点小数。 (4)补码表示的定点整数。 (5)原码表示的定点整数。 (6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。 (7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。解:(1)无符号整数:0 216 - 1,即:0 65535; 无符号小数:0 1 - 2-16 ,即:0 0.99998; (2)原码定点小数:-1 + 2-151 - 2-15 ,即:-0.99997 0.99997(3)补码定点小数:- 11 - 2-15 ,即:-10.99997(4)补码定点整数:-215215 - 1 ,即:-3276832767(5)原码定点整数:-215 + 1215 - 1,即:-3276732767(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:最大负数= 1,11 111;1.000 000 001 ,即 -2-92-31最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)231则负数表示范围为:-(1-2-9)231 -2-92-31最大正数= 0,11 111;0.111 111 111,即 (1-2-9)231最小正数= 1,11 111;0.000 000 001,即 2-92-31则正数表示范围为:2-92-31 (1-2-9)231(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大负数=1,00 000;1.011 111 111,即 -2-12-32最小负数=0,11 111;1.000 000 000,即 -1231则负数表示范围为:-1231 -2-12-32最大正数=0,11 111;0.111 111 111,即 (1-2-9)231 最小正数=1,00 000;0.100 000 000,即 2-12-32则正数表示范围为:2-12-32 (1-2-9)231 17. 设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。 x1原=0.001 1010;y1补=0.101 0100;z1反=1.010 1111; x2原=1.110 1000;y2补=1.110 1000;z2反=1.110 1000; x3原=1.001 1001;y3补=1.001 1001;z3反=1.001 1001。解:算术左移一位: x1原=0.011 0100;正确 x2原=1.101 0000;溢出(丢1)出错 x3原=1.011 0010;正确 y1补=0.010 1000;溢出(丢1)出错 y2补=1.101 0000;正确 y3补=1.011 0010;溢出(丢0)出错 z1反=1.101 1111;溢出(丢0)出错 z2反=1.101 0001;正确 z3反=1.011 0011;溢出(丢0)出错算术左移两位: x1原=0.110 1000;正确 x2原=1.010 0000;溢出(丢11)出错x3原=1.110 0100;正确y1补=0.101 0000;溢出(丢10)出错 y2补=1.010 0000;正确 y3补=1.110 0100;溢出(丢00)出错 z1反=1.011 1111;溢出(丢01)出错 z2反=1.010 0011;正确 z3反=1.110 0111;溢出(丢00)出错算术右移一位: x1原=0.000 1101;正确 x2原=1.011 0100;正确x3原=1.000 1100(1);丢1,产生误差 y1补=0.010 1010;正确y2补=1.111 0100;正确y3补=1.100 1100(1);丢1,产生误差z1反=1.101 0111;正确z2反=1.111 0100(0);丢0,产生误差z3反=1.100 1100;正确算术右移两位: x1原=0.000 0110(10);产生误差 x2原=1.001 1010;正确x3原=1.000 0110(01);产生误差y1补=0.001 0101;正确y2补=1.111 1010;正确y3补=1.110 0110(01);产生误差z1反=1.110 1011;正确z2反=1.111 1010(00);产生误差z3反=1.110 0110(01);产生误差 19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。 (1)A=9/64, B=-13/32,求A+B。 (2)A=19/32,B=-17/128,求A-B。 (3)A=-3/16,B=9/32,求A+B。 (4)A=-87,B=53,求A-B。 (5)A=115,B=-24,求A+B。 解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B A补=0.001 0010, B补=1.100 1100A+B补= 0.0010010 + 1.1001100 = 1.1011110 无溢出A+B= -0.010 0010B = -17/64 (2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B A补=0.100 1100, B补=1.110 1111 , -B补=0.001 0001 A-B补= 0.1001100 + 0.0010001= 0.1011101 无溢出 A-B= 0.101 1101B = 93/128B(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B A补=1.110 1000, B补= 0.010 0100 A+B补= 1.1101000 + 0.0100100 = 0.0001100 无溢出A+B= 0.000 1100B = 3/32 (4) A= -87= -101 0111B, B=53=110 101B A补=1 010 1001, B补=0 011 0101, -B补=1 100 1011A-B补= 1 0101001 + 1 1001011 = 0 1110100 溢出(5)A=115= 111 0011B, B= -24= -11 000B A补=0 1110011, B补=1,110 1000 A+B补= 0 1110011 + 1 1101000 = 0 1011011无溢出 A+B= 101 1011B = 91 6.20 用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算xy。 (1)x= 0.110 111,y= -0.101 110; (2)x= -0.010 111,y= -0.010 101; (3)x= 19, y= 35; (4)x= 0.110 11, y= -0.111 01。 解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。(1)x原=x=0.110111,y原=1.101110 x*=0.110111, y*=0.101110 x0=0,y0=1,z0=x0 y0=0 1=1 x*y*=0.100 111 100 010 xy原=1.100 111 100 010 xy= -0. 100 111 100 010原码一位乘: 部分积 乘数y* 0 . 0 0 0 0 0 0 . 1 0 1 1 1 0 +01 0 . 0 0 0 0 0 0 0 . 1 0 1 1 1 +x* + 0 . 1 1 0 1 1 1 0 . 1 1 0 1 1 11 0 . 0 1 1 0 1 1 1 0 . 1 0 1 1 +x* + 0 . 1 1 0 1 1 1 1 . 0 1 0 0 1 01
收藏
编号:2649980
类型:共享资源
大小:1.02MB
格式:DOC
上传时间:2020-04-26
10
金币
- 关 键 词:
-
计算机
组成
基础
学习
知识
原理
期末
复习资料
规范
标准答案
- 资源描述:
-
.*
第一章 计算机系统概论
1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?
解:
计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?
答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
4. 如何理解计算机组成和计算机体系结构?
答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
8. 解释下列英文缩写的中文含义:
CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS
解:全面的回答应分英文全称、中文名、功能三部分。
CPU:Central Processing Unit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。
PC:Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。
IR:Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。
CU:Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。
ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。
ACC:Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
MQ:Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR:Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。
MDR:Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。
I/O:Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。
MIPS:Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。
CPI:Instruction,执行一条指令所需时钟周期数,计算机运算速度指标计量单位之一;
FLOPS:Floating Point Operation Per Second,每秒浮点运算次数,计算机运算速度计量单位之一。
11. 指令和数据都存于存储器中,计算机如何区分它们?
解:计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期(或相应微程序)取出的既为数据。
另外也可通过地址来源区分,从PC指出的存储单元取出的是指令,由指令地址码部分提供操作数地址。
第3章 系统总线
3. 常用的总线结构有几种?不同的总线结构对计算机的性能有什么影响?举例说明。
答:
(1)总线结构通常可以分为单总线结构和多总线结构两种。
(2)单总线结构简单也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算
机系统的瓶颈,它允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工
作效率的提高,这类总线多数被小型计算机或微型计算机采用;多总线结构解决了单总线中
所有部件同时共享总线的现状,有效的提高了系统的工作效率,如传统微型计算机。
4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?
答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;
常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;
特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。
5. 解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。
答:
总线宽度:通常指数据总线的根数;
总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数;
总线复用:指同一条信号线可以分时传输不同的信号。
总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期:指总线完成一次完整而可靠的传输所需时间;
总线的通信控制:指总线传送过程中双方的时间配合方式。
10. 为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plug and play?哪些总线有这一特点?
答:总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;
目前流行的总线标准有:ISA、EISA、PCI等;
plug and play:即插即用,EISA、PCI等具有此功能。
3.14 设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?
解;总线宽度 = 16位/8 =2B
总线带宽 = 8MHz2B =16MB/s
3.15 在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?
解法1: 总线宽度 =32位/8 =4B 时钟周期 =1/ 66MHz =0.015s
总线最短传输周期 =0.015s4 =0.06s
总线最大数据传输率 = 4B/0.06s =66.67MB/s
解法2: 总线工作频率 = 66MHz/4 =16.5MHz 总线最大数据传输率=16.5MHz4B =66MB/s
若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度。
3.16 在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。
解: 一帧 =1+8+1+2 =12位 波特率 =120帧/秒12位=1440波特
比特率 = 1440波特(8/12)=960bps或:比特率 = 120帧/秒8 =960bps
第 四 章
1. 解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。
答:
主存:主存储器,用于存放正在执行的程序和数据。CPU可以直接进行随机读写,访问速度较高。
辅存:辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。
Cache:高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。
RAM:半导体随机存取存储器,主要用作计算机中的主存。
SRAM:静态半导体随机存取存储器。
DRAM:动态半导体随机存取存储器。
ROM:掩膜式半导体只读存储器。由芯片制造商在制造时写入内容,以后只能读出而不能写入。
PROM:可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。
EPROM:紫外线擦写可编程只读存储器。需要修改内容时,现将其全部内容擦除,然后再编程。擦除依靠紫外线使浮动栅极上的电荷泄露而实现。
EEPROM:电擦写可编程只读存储器。
CDROM:只读型光盘。
Flash Memory:闪速存储器。或称快擦型存储器
5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?
解:存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽 = 1/200ns 32位 = 160M位/秒 = 20MB/秒 = 5M字/秒
注意:字长32位,不是16位。(注:1ns=10-9s)
7. 一个容量为16K32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?
1K4位,2K8位,4K4位,16K1位,4K8位,8K8位
解:地址线和数据线的总和 = 14 + 32 = 46根;
选择不同的芯片时,各需要的片数为:
1K4:(16K32) / (1K4) = 168 = 128片
2K8:(16K32) / (2K8) = 84 = 32片
4K4:(16K32) / (4K4) = 48 = 32片
16K1:(16K32)/ (16K1) = 132 = 32片
4K8:(16K32)/ (4K8) = 44 = 16片
8K8:(16K32) / (8K8) = 24 = 8片
9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。
解:刷新:对DRAM定期进行的全部重写过程;
刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种:集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。
分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。
异步式:是集中式和分散式的折衷。
讨论:
1、刷新与再生的比较:
共同点:
•动作机制一样。都是利用DRAM存储元破坏性读操作时的重写过程实现;
•操作性质一样。都是属于重写操作。
区别:
•解决的问题不一样。再生主要解决DRAM存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。
•操作的时间不一样。再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。
•动作单位不一样。再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。
•芯片内部I/O操作不一样。读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出(唯RAS有效刷新,内部读)。鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。
2、CPU访存周期与存取周期的区别:
CPU访存周期是从CPU一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。
3、分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期。
4、刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。
11. 一个8K8位的动态RAM芯片,其内部结构排列成256256形式,存取周期为0.1μs。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?
解:采用集中刷新方式刷新间隔为:2ms,其中刷新死时间为:2560.1μs=25.6μs
采用分散刷新方式刷新间隔为:2560.1μ=25.6μs
采用异步刷新方式刷新间隔为:2ms
12. 画出用10244位的存储芯片组成一个容量为64K8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。
解:设采用SRAM芯片,则:
总片数 = (64K8位) / (10244位)= 642 = 128片
题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:
页面容量 = 总容量 / 页面数 = 64K8 / 4 = 16K8位,4片16K8字串联成64K8位
组容量 = 页面容量 / 组数 = 16K8位 / 16 = 1K8位,16片1K8位字串联成16K8位
组内片数 = 组容量 / 片容量 = 1K8位 / 1K4位 = 2片,两片1K4位芯片位并联成1K8位
存储器逻辑框图:(略)。
13. 设有一个64K8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。
解:存储基元总数 = 64K8位 = 512K位 = 219位;
思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。
解:设地址线根数为a,数据线根数为b,则片容量为:2ab = 219;b = 219-a;
若a = 19,b = 1,总和 = 19+1 = 20;
a = 18,b = 2,总和 = 18+2 = 20;
a = 17,b = 4,总和 = 17+4 = 21;
a = 16,b = 8,总和 = 16+8 = 24;
…… ……
由上可看出:片字数越少,片字长越长,引脚数越多。片字数减1、片位数均按2的幂变化。
结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2根。
15 .设CPU共有16根地址线,8根数据线,并用(低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K8位,4K4位,8K8位),RAM(1K4位,2K8位,4K8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;
(2)指出选用的存储芯片类型及数量;
(3)详细画出片选逻辑。
解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H-0FFFH
用户程序区(RAM共12KB):1000H-FFFFH
(2)选片:ROM:选择4K4位芯片2片,位并联 RAM:选择4K8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH)
(3)各芯片二进制地址分配如下:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
ROM1,2
0
0
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
RAM1
0
0
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
RAM2
0
0
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
RAM3
0
0
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
CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:
图(3)
17. 写出1100、1101、1110、1111对应的汉明码。
解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示
校验位位数k=3位,(2k>=n+k+1)
设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1
校验位在汉明码中分别处于第1、2、4位
c1=b4⊕b3⊕b1
c2=b4⊕b2⊕b1
c3=b3⊕b2⊕b1
当有效信息为1100时,c3c2c1=011,汉明码为1110100。
当有效信息为1101时,c3c2c1=100,汉明码为0011101。
当有效信息为1110时,c3c2c1=101,汉明码为1011110。
当有效信息为1111时,c3c2c1=010,汉明码为0110111。
24. 一个4体低位交叉的存储器,假设存储周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?
解:4体低位交叉的存储器的总线传输周期为t,t=T/4,依次访问64个字所需时间为:
t=T+(64-1) t=T+63T/4=16.75T
28. 设主存容量为256K字,Cache容量为2K字,块长为4。
(1)设计Cache地址格式,Cache中可装入多少块数据?
(2)在直接映射方式下,设计主存地址格式。
(3)在四路组相联映射方式下,设计主存地址格式。
(4)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。
解:(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,
Cache字地址9位,字块内地址为2位
因此,Cache地址格式设计如下:
Cache字块地址(9位)
字块内地址(2位)
(2)主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,
主存字块标记为18-9-2=7位。
直接映射方式下主存地址格式如下:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(2位)
(3)根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,
主存字块标记为18-7-2=9位,主存地址格式设计如下:
主存字块标记(9位)
组地址(7位)
字块内地址(2位)
(4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:
主存字块标记(16位)
字块内地址(2位)
(5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B,
Cache容量为2K*32/4=214B,块长为4*32/4=32B=25B,字块内地址为5位,
在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(5位)
在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:
主存字块标记(9位)
组地址(7位)
字块内地址(5位)
在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:
主存字块标记(16位)
字块内地址(5位)
29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?
解:Cache被访问命中率为:4800/(4800+200)=24/25=96%
则Cache-主存系统的平均访问时间为:ta=0.96*30ns+(1-0.96)*150ns=34.8ns
tc =30ns;
Cache-主存系统的访问效率为:e=tc/ta*100%=30/34.8*100%=86.2%
性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。
30. 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。
解:cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位
主存共分4096/16=256区,每区16块
主存容量为:4096*128=219字,主存地址19位,地址格式如下:
主存字块标记(8位)
组地址(4位)
字块内地址(7位)
41. 设有效信息为110,试用生成多项式G(x) =11011将其编成循环冗余校验码。
解:编码过程如下:
M(x) =110 n =3
G(x) =11011 k+1 =5 k =4
M(x)x4 =110 0000
M(x)x4/G(x) =110 0000/11011=100+1100/11011 R(x) =1100
M(x)x4+R(x) =110 0000+1100=110 1100 =CRC码 (7,3)码
注:此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。此时只能检错,无法纠错
42.有一个(7,4)码,生成多项式G(x)=x^3 + x + 1,写出代码1001的循环冗余校验码。
答:M(x)=1001
G(x)=x^3 + x + 1=1011
K+1=4 k=3
M(x)*x^3/G(x)=1001000/1011=1010 +余数110 则校验码为1001110
第 六 章
1. 最少用几位二进制可表示任一5位长的十进制正整数。
答:17位.
9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?
解:真值和机器数的对应关系如下:
9BH
原码
补码
反码
移码
无符号数
对应十进制数
-27
-101
-100
+27
155
FFH
原码
补码
反码
移码
无符号数
对应十进制数
-128
-1
-0
+128
256
10. 在整数定点机中,设机器数采用1位符号位,写出0的原码、补码、反码和移码,得出什么结论?
解:0的机器数形式如下:(假定机器数共8位,含1位符号位在内)
真值
原码
补码
反码
移码
+0
0 000 0000
0 000 0000
0 000 0000
1 000 0000
-0
1 000 0000
0 000 0000
1 111 1111
1 000 0000
结论:0的原码和反码分别有+0和-0两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。
12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:
(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:
阶符1位
阶码4位
数符1位
尾数10位
将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011B
x2= -27/1024= -0.0000011011B = 2-5*(-0.11011B)
则以上各数的浮点规格化数为:
(1)[x1]浮=1,0001;0.110 011 000 0
[x2]浮=1,0101;1.110 110 000 0
(2)[x1]浮=1,1111;0.110 011 000 0
[x2]浮=1,1011;1.001 010 000 0
(3)[x1]浮=0,1111;0.110 011 000 0
[x2]浮=0,1011;1.001 010 000 0
16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。
(1)无符号数;
(2)原码表示的定点小数。
(3)补码表示的定点小数。
(4)补码表示的定点整数。
(5)原码表示的定点整数。
(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。
(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。
解:(1)无符号整数:0 —— 216 - 1,即:0—— 65535;
无符号小数:0 —— 1 - 2-16 ,即:0 —— 0.99998;
(2)原码定点小数:-1 + 2-15——1 - 2-15 ,即:-0.99997 —— 0.99997
(3)补码定点小数:- 1——1 - 2-15 ,即:-1——0.99997
(4)补码定点整数:-215——215 - 1 ,即:-32768——32767
(5)原码定点整数:-215 + 1——215 - 1,即:-32767——32767
(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:
最大负数= 1,11 111;1.000 000 001 ,即 -2-92-31
最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)231
则负数表示范围为:-(1-2-9)231 —— -2-92-31
最大正数= 0,11 111;0.111 111 111,即 (1-2-9)231
最小正数= 1,11 111;0.000 000 001,即 2-92-31
则正数表示范围为:2-92-31 ——(1-2-9)231
(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则
最大负数=1,00 000;1.011 111 111,即 -2-12-32
最小负数=0,11 111;1.000 000 000,即 -1231
则负数表示范围为:-1231 —— -2-12-32
最大正数=0,11 111;0.111 111 111,即 (1-2-9)231
最小正数=1,00 000;0.100 000 000,即 2-12-32
则正数表示范围为:2-12-32 ——(1-2-9)231
17. 设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。
[x1]原=0.001 1010;[y1]补=0.101 0100;[z1]反=1.010 1111;
[x2]原=1.110 1000;[y2]补=1.110 1000;[z2]反=1.110 1000;
[x3]原=1.001 1001;[y3]补=1.001 1001;[z3]反=1.001 1001。
解:算术左移一位:
[x1]原=0.011 0100;正确
[x2]原=1.101 0000;溢出(丢1)出错
[x3]原=1.011 0010;正确
[y1]补=0.010 1000;溢出(丢1)出错
[y2]补=1.101 0000;正确
[y3]补=1.011 0010;溢出(丢0)出错
[z1]反=1.101 1111;溢出(丢0)出错
[z2]反=1.101 0001;正确
[z3]反=1.011 0011;溢出(丢0)出错
算术左移两位:
[x1]原=0.110 1000;正确
[x2]原=1.010 0000;溢出(丢11)出错
[x3]原=1.110 0100;正确
[y1]补=0.101 0000;溢出(丢10)出错
[y2]补=1.010 0000;正确
[y3]补=1.110 0100;溢出(丢00)出错
[z1]反=1.011 1111;溢出(丢01)出错
[z2]反=1.010 0011;正确
[z3]反=1.110 0111;溢出(丢00)出错
算术右移一位:
[x1]原=0.000 1101;正确
[x2]原=1.011 0100;正确
[x3]原=1.000 1100(1);丢1,产生误差
[y1]补=0.010 1010;正确
[y2]补=1.111 0100;正确
[y3]补=1.100 1100(1);丢1,产生误差
[z1]反=1.101 0111;正确
[z2]反=1.111 0100(0);丢0,产生误差
[z3]反=1.100 1100;正确
算术右移两位:
[x1]原=0.000 0110(10);产生误差
[x2]原=1.001 1010;正确
[x3]原=1.000 0110(01);产生误差
[y1]补=0.001 0101;正确
[y2]补=1.111 1010;正确
[y3]补=1.110 0110(01);产生误差
[z1]反=1.110 1011;正确
[z2]反=1.111 1010(00);产生误差
[z3]反=1.110 0110(01);产生误差
19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。
(1)A=9/64, B=-13/32,求A+B。
(2)A=19/32,B=-17/128,求A-B。
(3)A=-3/16,B=9/32,求A+B。
(4)A=-87,B=53,求A-B。
(5)A=115,B=-24,求A+B。
解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B
[A]补=0.001 0010, [B]补=1.100 1100
[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ——无溢出
A+B= -0.010 0010B = -17/64
(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B
[A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001
[A-B]补= 0.1001100 + 0.0010001= 0.1011101 ——无溢出
A-B= 0.101 1101B = 93/128B
(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B
[A]补=1.110 1000, [B]补= 0.010 0100
[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 —— 无溢出
A+B= 0.000 1100B = 3/32
(4) A= -87= -101 0111B, B=53=110 101B
[A]补=1 010 1001, [B]补=0 011 0101, [-B]补=1 100 1011
[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出
(5)A=115= 111 0011B, B= -24= -11 000B
[A]补=0 1110011, [B]补=1,110 1000
[A+B]补= 0 1110011 + 1 1101000 = 0 1011011——无溢出
A+B= 101 1011B = 91
6.20 用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算xy。
(1)x= 0.110 111,y= -0.101 110;
(2)x= -0.010 111,y= -0.010 101;
(3)x= 19, y= 35;
(4)x= 0.110 11, y= -0.111 01。
解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。
(1)[x]原=x=0.110111,[y]原=1.101110
x*=0.110111, y*=0.101110
x0=0,y0=1,z0=x0 y0=0 1=1
x*y*=0.100 111 100 010
[xy]原=1.100 111 100 010
xy= -0. 100 111 100 010
原码一位乘:
部分积 乘数y*
0 . 0 0 0 0 0 0 . 1 0 1 1 1 0 —— +0
1 0 . 0 0 0 0 0 0 0 . 1 0 1 1 1 —— +x*
+ 0 . 1 1 0 1 1 1
0 . 1 1 0 1 1 1
1 0 . 0 1 1 0 1 1 1 0 . 1 0 1 1 —— +x*
+ 0 . 1 1 0 1 1 1
1 . 0 1 0 0 1 0
1
展开阅读全文
淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。