哈工大(威海)计算机组成原理答案(唐朔飞 第二版)

更新时间:2024-05-05 03:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章

1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:计算机系统——计算机硬件、软件和数据通信设备的物理或逻辑的综合体。 计算机硬件——计算机的物理实体。

计算机软件——计算机运行所需的程序及相关资料。

硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。

2.如何理解计算机系统的层次结构

答:从计算机系统的层次结构来看,它通常可以有五个以上的层次,在每一层次(级)上都能进行程序设计。由下至上可排序为:第一级微程序设计级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,有各种高级语言汇编程序支持和执行。还可以有第六级应用语言机器级,采用各种面向问题的应用语言。

4.如何理解计算机组成和计算机体系结构

答:计算机体系结构是指程序员所见到的计算机系统的属性,如有无乘法指令; 计算机组成是指计算机系统结构所给属性的逻辑实现,如如何实现乘法指令。

5. 冯?诺依曼计算机的特点是什么? 解:冯氏计算机的特点是:P9

? 由运算器、控制器、存储器、输入设备、输出设备五大部件组成; ? 指令和数据以同一形式(二进制形式)存于存储器中; ? 指令由操作码、地址码两大部分组成;

? 指令在存储器中顺序存放,通常自动顺序取出执行; ? 以运算器为中心(原始冯氏机)。

7. 解释下列概念:

主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 解:P10

主机——是计算机硬件的主体部分,由CPU+MM(主存或内存)组成; CPU——中央处理器(机),是计算机硬件的核心部件,由运算器+控制器组成;(早期的运、控不在同一芯片上)

主存——计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。 存储单元——可存放一个机器字并具有特定存储地址的存储单位;

存储元件——存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取;

存储字——一个存储单元所存二进制代码的逻辑单位;

存储字长——一个存储单元所存二进制代码的位数; 存储容量——存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)

机器字长——CPU能同时处理的数据位数; 指令字长——一条指令的二进制代码位数; 讲评:一种不确切的答法: CPU与MM合称主机;

运算器与控制器合称CPU。

这两个概念应从结构角度解释较确切。

8. 解释下列英文缩写的中文含义:

CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS 解:全面的回答应分英文全称、中文名、中文解释三部分。 CPU——Central Processing Unit,中央处理机(器),见7题;

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,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位;

第三章

1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?

解:总线是多个部件共享的传输部件。

总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。 为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。 讲评:

围绕“为减轻总线负载”的几种说法: × 应对设备按速率进行分类,各类设备挂在与自身速率相匹配的总线上; × 应采用多总线结构; × 总线上只连接计算机的五大部件; × 总线上的部件应为低功耗部件。 上述措施都无法从根上(工程上)解决问题,且增加了许多不必要(或不可能)的限制。 × 总线上的部件应具备机械特性、电器特性、功能特性、时间特性; 这是不言而喻的。

2.总线如何分类?什么是系统总线?系统总线又分为几类,他们各有何作用,是单向的还是双向的,他们的机器字长、存储字长、存储单元有何关系? 答:总线分为:片内总线、系统总线和通信总线 系统总线又数据总线、地址总线和控制总线

? 数据总线 双向 与机器字长、存储字长有关 ? 地址总线 单向 与存储地址、 I/O地址有关

? 控制总线 有出 有入(对任一控制线而言,是单向的;对cpu而言,是

双向的)

4.为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?

解:总线判优控制解决多个部件同时申请总线时的使用权分配问题; 常见的集中式总线控制有三种:链式查询、计数器查询、独立请求;

特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。

5. 解释下列概念:总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。

解:总线的主设备(主模块)——指一次总线传输期间,拥有总线控制权的设备(模块);

总线的从设备(从模块)——指一次总线传输期间,配合主设备完成传输的设备(模块),它只能被动接受主设备发来的命令;

总线的传输周期——总线完成一次完整而可靠的传输所需时间;

总线的通信控制——指总线传送过程中双方的时间配合方式。

7.画图说明异步通信中请求与回答有哪几种互锁方式 主设备

请求 回答 从设备

不互锁 半互锁 全互锁

9.分离式通信有何特点,主要用于什么系统? 特点:

? 各模块有权申请占用总线

? 采用同步方式通信,不等待对方回答 ? 各模块准备数据时,不占用总线

? 总线在占用时都在做有效工作,无空闲 充分地利用了总线的有效占用,从而实现了总线在多个主、从模块间的信息交叉重叠并行式传送,普遍用于大型计算机系统。

13.什么是总线的数据传送速率,它与哪些因素有关?

答:总线的数据传输速率也称为总线带宽,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量单位可用MBps(兆字节每秒)表示,它与总线工作频率和总线宽度(数据总线的根数,用位表示)有关。 标准传输率=总线工作频率×总线宽度(b÷8)

14.设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少? 解:总线宽度=16b/8=2B

总线带宽=8MHz×2B=16MB/s

15.在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?

解:总线宽度=32b/8=4B

总线工作频率=66MHz/4=16.5MHz

总线最大数据传输率=16.5MHz*4B=66MB/s

措施:可提高总线的时钟频率或减少总线周期中的时钟个数,或增加总线的带宽。

16.在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。如要求每秒传送120个字符,试求传送的波特率和比特率。 (波特率:单位时间内传送二进制数据的位数

比特率:单位时间内传送二进制有效数据的位数) 波特率=120*12=1440波特 比特率=120*8=960bps

第四章

2.

速度

CPU 寄存器 缓存 主存 磁盘 光盘 容量 价小

CPU 主机快

光盘 磁带 磁带 辅存

3. 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?

答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。

Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。

主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。

综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。

主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存—辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。

4. 说明存取周期和存取时间的区别。 解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即: 存取周期 = 存取时间 + 恢复时间

5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?

解:存储器的带宽指单位时间内从存储器进出信息的最大数量。 存储器带宽 = 1/200ns ×32位

慢 大 低

= 160M位/秒 = 20MB/S = 5M字/秒 注意字长(32位)不是16位。 (注:本题的兆单位来自时间=106)

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

解:存储容量是64KB时,按字节编址的寻址范围就是64KB,则: 按字寻址范围 = 64K×8 / 32=16K字 按字节编址时的主存地址分配图如下:

字地址 HB —————字节地址—————LB

0

4 …… 65528 65532

0 4 1 5 2 6 3 7 …… 65532 …… 65533 65533 …… 65534 65534 …… 65535 65535

讨论:

1、一个存储器不可能有两套地址,注意字长32位,不是16位 ,不能按2字节编址;

2、本题与IBM370、PDP-11机无关; 3、按字寻址时,地址仍为16位;

? ( :地址14位,单元16K个,按字编址4K空间。) 4、字寻址的单位为字,不是B。

8.试比较静态RAM和动态RAM DRAM SRAM 存储原理 电容 触发器 集成度 高 低 芯片引脚 少 多 功耗 小 大 价格 低 高 速度 慢 快 刷新 有 无 9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。 解:刷新——对DRAM定期进行的全部重写过程;

刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;

常用的刷新方法有三种——集中式、分散式、异步式。

集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;

分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间; 异步式:是集中式和分散式的折衷。

11.一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1us。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔。 解:集中刷新间隔:2ms,其中刷新死时间为256×0.1us=25.6us

分散刷新间隔:256*(0.1us+0.1us)=51.2us 异步刷新间隔:2ms,死时间为0.1us

12. 画出用1024X4位的存储芯片组成一个容量为64KX8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。 解:设采用SRAM芯片,

总片数 = 64K×8位 / 1024×4位 = 64×2 = 128片

题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:

页面容量 = 总容量 / 页面数= 64K×8位 / 4 = 16K×8位;

组容量 = 页面容量 / 组数= 16K×8位 / 16 = 1K×8位; 组内片数 = 组容量 / 片容量 = 1K×8位 / 1K×4位 = 2片;

14. 某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:

(1)该机所允许的最大主存空间是多少?

(2)若每个模块板为32K×8位,共需几个模块板? (3)每个模块板内共有几片RAM芯片? (4)共有多少片RAM?

(5)CPU如何选择各模块板? 解:(1)218 = 256K,则该机所允许的最大主存空间是256K×8位(或256KB); (2)模块板总数 = 256K×8 / 32K×8= 8块;

(3)板内片数 = 32K×8位 / 4K×4位= 8×2 = 16片; (4)总片数 = 16片×8 = 128片;

(5)CPU通过最高3位地址译码选板,次高4位地址译码选片。 模板号(3位) 芯片号(4位) 片内地址(11位) 15. 设CPU共有16根地址线,8根数据线,并用MREQ(低电平有效)作访存控制信号,R/W作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:

(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区; (2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。 解:(1)地址空间分配图:

系统程序区(ROM共4KB):0000H-0FFFH

用户程序区(RAM共12KB):1000H-FFFFH (2)选片:ROM:选择4K×4位芯片2片,位并联

RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH)

(3)各芯片二进制地址分配如下: A1A1A1A1A1A1AAAAAAAAAA5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 ROM1,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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)所示: MREQG1G2AY7Y3Y2A15A14A13A12A11A0G2BABC74138Y1Y0......ROM1OE...ROM2OE...RAM1...CS...CSCPUD0D3D4D7R/WPD/PROGRAM2RAM3...............CS图(3)

16. CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连,试回答:

(1)用74138译码器画出CPU与存储芯片的连接图; (2)写出每片RAM的地址范围;

(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。

(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果? 解:(1)CPU与存储器芯片连接逻辑图:

......+5VG1G2AMREQY7A15A14A13A12A0G2BABC74138......Y2Y1Y0...WE...WE.........CSWECPUD0D7RAM0......CSRAM1RAM7......CSR/W

(2)地址空间分配图: RAM0:0000H-1FFFH RAM1:2000H-3FFFH RAM2:4000H-5FFFH RAM3:6000H-7FFFH RAM4:8000H-9FFFH RAM5:A000H-BFFFH RAM6:C000H-DFFFH RAM7:E000H-FFFFH

(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。假设芯片与译码器本身都是好的,可能的情况有:

1)该片的-CS端与-WE端错连或短路;

2)该片的-CS端与CPU的-MREQ端错连或短路; 3)该片的-CS端与地线错连或短路。

(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。

22.某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明。

解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序如下图:

31.假设某设备向CPU传送信息的最高频率是40 000次/秒,而相应的中断处理程序其执行时间为40?s,试问该外设是否可用程序中断方式与主机交换信息,为什么?

解:该设备向CPU传送信息的时间间隔 =1/40K=0.025×103=25?s < 40?s

则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢,当其还未结束中断处理程序时,外设已经传来了新的数据,这也是为什么高速外设适合用DAM传送的原因。

举例说明: (输入) 假设初始CPU空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU发第一个中断请求,CPU立即响应; I/O设备匀速运行, 25?s后,第二个中断请求到来,CPU正在执行中断程序接收第一个数据, 40?s时响应; 50?s后,第三个中断请求到来,CPU正在执行中断程序接收第二个数据,要到80?s时响应; 75?s后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;

32.设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25?s,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案?

解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。 道容量=1KB×8?16 =1K ×8 ×8 ?16=1K ×4=4K字

数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒

一个字的传送时间=1/200K字/秒?5?s(注:在此1K=1024,来自数据块单位缩写。)

由上计算知:5 ?s<<25 ?s,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。 注意,不能采用交替访问的形式(CPU执行指令20us,DMA5us,因为25us是指令最长执行时间而不是主存存取周期)

33.试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。 (1)数据传送依赖软件还是硬件; (2)传送数据的基本单位;

(3)并行性; (4)主动性; (5)传输速度; (6)经济性; (7)应用对象。 解:比较如下:

(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。 (注意:这里指主要的趋势)

(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。 (3)程序查询方式传送时,CPU与I/O设备串行工作; 程序中断方式时,CPU与I/O设备并行工作,现行程序与I/O传送串行进行; DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行。

(4)程序查询方式时,CPU主动查询I/O设备状态;

程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。

(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢; 程序查询方式软件额外开销时间基本没有,因此传输速度比中断快; DMA方式基本由硬件实现传送,因此速度最快; 注意:程序中断方式虽然CPU运行效率比程序查询高,但传输速度却比程序查询慢。

(6)程序查询接口硬件结构最简单,因此最经济; 程序中断接口硬件结构稍微复杂一些,因此较经济; DMA控制器硬件结构最复杂,因此成本最高;

(7)程序中断方式适用于中、低速设备的I/O交换; 程序查询方式适用于中、低速实时处理过程; DMA方式适用于高速设备的I/O交换; 讨论:

问题1:这里的传送速度指I/O设备与主存间,还是I/O与CPU之间? 答:视具体传送方式而定,程序查询、程序中断为I/O与CPU之间交换,DMA为I/O与主存间交换。

问题2:主动性应以CPU的操作方式看,而不是以I/O的操作方式看。 程序查询方式:以缓冲器容量(块、二进制数字)为单位传送;? ? 程序中断方式:以向量地址中的数据(二进制编码)为单位传送; DMA:传送单位根据数据线的根数而定;?

34.解释周期挪用,分析周期挪用可能会出现的几种情况。

答:若出现DMA和CPU同时访问内存,CPU总是将总线占有权让给DMA,通常把DMA的这种占有称为窃取或挪用,而窃取的时间一般为一个存取周期,故又把DMA占用的存取周期称为窃取周期或挪用周期。而且,在DMA窃取存取周期时,CPU尚能继续做内部操作(如乘法运算)。 可能出现的情况见P203

35.试从5个方面比较程序中断方式和DMA方式的区别

中断方式

DMA 方式

(1) 数据传送 (2) 响应时间 (3) 处理异常情况 (4) 中断请求 (5) 优先级

程序 硬件 指令执行结束 存取周期结束

能 不能 传送数据 后处理 低 高

第六章

3. 设x为整数,[x]补=1,x1x2x3x4x5,若要求 x < -16,试问 x1~x5 应取何值?

解:若要x < -16,需 x1=0,x2~x5 任意。(注:负数绝对值大的反而小。)

4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。

-13/64,29/128,100,-87

解:真值与不同机器码对应关系如下:

真 值 十进制 二进制 原 码 反 码 补 码 -13/64 -0.00 1101 1.001 1010 1.110 0101 1.110 0110 29/128 0.001 1101 0.001 1101 0.001 1101 0.001 1101 100 110 0100 0,110 0100 0,110 0100 0,110 0100 -87 -101 0111 1,101 0111 1,010 1000 1,010 1001

5.略

8.讨论若[x]补>[y]补,是否有x>y?

解:若[x]补>[y]补,不一定有x>y。 [x]补 > [y]补时 x > y的结论只在 x > 0、y > 0,及 x<0、y<0时成立。当x>0、 y<0时,有x>y,但由于负数补码的符号位为1,则[x]补<[y]补。同样,当x<0、 y >0时,有x < y,但[x]补>[y]补。

注意: 1)绝对值小的负数其值反而大,且负数的绝对值越小,其补码值越大。因此, 当x<0、y<0时,若[x]补>[y]补,必有x>y。 2)补码的符号位和数值位为一体,不可分开分析。 3)完整的答案应分四种情况分析,但也可通过充分分析一种不成立的情况获得正确答案。 4)由于补码0的符号位为0,因此x、y=0可归纳到>0的一类情况讨论。 9.略

12.设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符) 。写出51/128、27/1024、7.375、-86.5所对应的机器数。要求如下: (1)阶码和尾数均为原码; (2)阶码和尾数均为补码; (3)阶码为移码,尾数为补码。 (注:题意中应补充规格化数的要求。) 解: 将十进制数转换为二进制: x1=51/128=(0.011 001 1)2 =2-1 ?(0.110 011)2

x2= -27/1024=(-0.000 001 101 1)2 =2-5 ?(-0.110 11)2 x3=7.375=(111.011)2 =23 ?(0.111 011)2

x4= -86.5=(-1 010 110.1)2 =27 ?(-0.101 011 01)2 则以上各数的浮点规格化数为: (1)[x1]浮=1,0001;0.110 011 000 0 (2)[x1]浮=1,1111;0.110 011 000 0 (3)[x1]浮=0,1111;0.110 011 000 0 (1)[x2]浮=1,0101;1.110 110 000 0 (2)[x2]浮=1,1011;1.001 010 000 0 (3)[x2]浮=0,1011;1.001 010 000 0 (1)[x3]浮=0,0011;0.111 011 000 0 (2)[x3]浮=0,0011;0.111 011 000 0 (3)[x3]浮=1,0011;0.111 011 000 0 (1)[x4]浮=0,0111;1.101 011 010 0 (2)[x4]浮=0,0111;1.010 100 110 0 (3)[x4]浮=1,0111;1.010 100 110 0

14.设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?

解:若要保证数的最大精度,应取阶的基=2。

若要表示±6万间的十进制数,由于32768(215)< 6万 <65536(216),则:阶码除阶符外还应取5位(向上取2的幂)。 故:尾数位数=32-1-1-5=25位

按此格式,该浮点数上溢的条件为:阶码 ? 32 该浮点数格式如下:

1 5 1 25 阶符 阶 值

数符 尾 数 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-9?2-31

最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)?231

-931 -9-31

则负数表示范围为:-(1-2)?2—— -2?2

最大正数= 0,11 111;0.111 111 111,即 (1-2-9)?231 最小正数= 1,11 111;0.000 000 001,即 2-9?2-31 则正数表示范围为:2-9?2-31 ——(1-2-9)?231

(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则 最大负数=1,00 000;1.011 111 111,即 -2-1?2-32 最小负数=0,11 111;1.000 000 000,即 -1?231 则负数表示范围为:-1?231 —— -2-1?2-32

最大正数=0,11 111;0.111 111 111,即 (1-2-9)?231 最小正数=1,00 000;0.100 000 000,即 2-1?2-32 则正数表示范围为:2-1?2-32 ——(1-2-9)?231

17.算术以为结果判断 真值为正 负数原码 负数补码 负数反码 ←丢1,出错 ←丢1,出错 ←丢0,出错 ←丢0,出错 →丢1,影响精度 →丢1,影响精度 →丢1,影响精度 →丢0,影响精度

加减乘除请自行查看书本例题

第七章

答:1> 在多重中断系统中,CPU响应中断后不希望有级别的其他中断请求的干

扰,采用屏蔽技术可屏蔽本级和更低级的中断请求,使中断处理可靠进行;

2 >改变中断处理的优先级;

3>有选择的封锁部分中断请求,使程序控制更灵活。

20.为实现多重中断,需有哪些硬件支持?

答:1中断请求触发器 2中断屏蔽触发器3向量地址生成部件4 允许中断触发器 5中断标志触发器 6 堆栈(保护断点)7 中断查询信号电路 8 排队器

21.CPU在处理中断过程中,有几种方法找到中断服务程序的入口地址?举例说明。

见P361 8.4.3

23.在中断处理工程中,“保护现场”需要完成哪些任务?如何实现? 见P199 5.5.5.1及P363 8.4.4.3

25.现有A、B、C、D四个中断源,其优先级由高向低按A→B→C→D顺序排列。若中断服务程序的执行时间为20μs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。 解: CPU执行程序的轨迹图如下:

A服务 B服务 C服务 D服务 现行程序 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 t(μs)

? ? ? ?

B与C请求 D请求 B请求 A请求

这是一个多重中断的程序运行轨迹,图中忽略了中断响应时间。

25. 设某机有五个中断源L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为L0?L1 ?L2 ?L3 ?L4,现要求中断处理次序改为L1?L4 ?L2 ?L0

BCDBA?L3,根据下面的格式,写出各中断源的屏蔽字。 解:各中断源屏蔽状态见下表:

中 断 源 屏 蔽 字 0 1 2 3 4 L0 1 0 0 1 0 L1 1 1 1 1 1 L2 1 0 1 1 0 L3 0 0 0 1 0 L4 1 0 1 1 1 26.设某机配有A、B、C三台设备,其优先级按A→B→C降序排列,为改变中断处理次序,它们的中断屏蔽字设置如下:

设备 屏蔽字 A 1 1 1 B 0 1 0 C 0 1 1

请按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。设A、B、C中断服务程序的执行时间均为20?s。 解: 优先级次序变为A-C-B

CPU执行程序的轨迹图如下:

A服务

B服务

C服务

行 序 0 10 20 30 40 50 60 70 80 90 t(μs) 现程

? ? ?

A请求 B请求C请求

本文来源:https://www.bwwdw.com/article/ryfg.html

Top