文档库 最新最全的文档下载
当前位置:文档库 › 唐朔飞_《计算机组成原理》课后答案

唐朔飞_《计算机组成原理》课后答案

唐朔飞_《计算机组成原理》课后答案
唐朔飞_《计算机组成原理》课后答案

唐朔飞《计算机组成原理》课后答案

第一章

1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?

解:P3

计算机系统——计算机硬件、软件和数据通信设备的物理或逻辑的综合体。

计算机硬件——计算机的物理实体。

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

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

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

10. 指令和数据都存于存储器中,计算机如何区分它们?

解:计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期(或相应微程序)取出的既为数

据。

另外也可通过地址来源区分,从PC指出的存储单元取出的是指令,由指令地址码部分提供操作数地址。

问题讨论:

×由控制器分析是指令还是数据;

数据进控制器?

×指令由指令寄存器存取;

指令寄存器有控制功能?

×指令和数据的格式不一样;指令由操作码和地址码组成)两者的二进制代码形式不一样?

×指令顺序存放,而数据不是;

数据为什么不能顺序存放?

× MAR放地址,MDR放数据;

取指时MDR中也是数据?

×存取数据和存取指令的操作在机器中完全一样;

无法区分?

×指令和数据的地址不一样;

某一存储单元只能放数据(或指令)?

×指令放在ROM中,数据放在RAM中;

用户程序放在哪?

第三章

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

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

总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。

为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。

讲评:

围绕―为减轻总线负载‖的几种说法:

×应对设备按速率进行分类,各类设备挂在与自身速率相匹配的总线上;

×应采用多总线结构;

×总线上只连接计算机的五大部件;

×总线上的部件应为低功耗部件。

上述措施都无法从根上(工程上)解决问题,且增加了许多不必要(或不可能)的限制。

×总线上的部件应具备机械特性、电器特性、功能特性、时间特性;

这是不言而喻的。

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

解:总线判优控制解决多个部件同时申请总线时的使用权分配问题;

常见的集中式总线控制有三种:

链式查询、计数器查询、独立请求;

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

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

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

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

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

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

6. 试比较同步通信和异步通信。

解:同步通信——由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合;

异步通信——不由统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。

8. 为什么说半同步通信同时保留了同步通信和异步通信的特点?

解:半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。

10. 为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plug and play?哪些总线有这一特点?

解:总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;

目前流行的总线标准有:ISA、EISA、PCI等;

plug and play——即插即用,EISA、PCI等具有此功能。

11. 画一个具有双向传输功能的总线逻辑图。

解:此题实际上是要求设计一个双向总线收发器,设计要素为三态、双向、使能等控制功能的实现,可参考74LS245等总线收发器芯片内部电路。逻辑图如下:(n位)几种错误的设计:

几种错误的设计:

12. 设数据总线上接有A、B、C、D四个寄存器,要求选用合适的74系列芯片,完成下列逻辑设计:

(1)设计一个电路,在同一时间实现D→A、D→B和D→C寄存器间的传送;

(2)设计一个电路,实现下列操作:

T0时刻完成D→总线;

T1时刻完成总线→A;

T2时刻完成A→总线;

T3时刻完成总线→B。

解:

(1)采用三态输出的D型寄存器74LS374做A、B、C、D四个寄存器,其输出可直接挂总线。A、B、C三个寄存器的输入采用同一脉冲打入。注意-OE为电平控制,与打入脉冲间的时间配合关系为:

现以8位总线为例,设计此电路,如下图示:

(2)寄存器设置同(1),由于本题中发送、接收不在同一节拍,因此总线需设锁存器缓冲,锁存器采用74LS373(电平使能输入)。节拍、脉冲配合关系如下:

节拍、脉冲分配逻辑如下:

节拍、脉冲时序图如下:

以8位总线为例,电路设计如下:

(图中,A、B、C、D四个寄存器与数据总线的连接方法同上。)几种错误的设计:

(1)几种错误的设计:

(1)几种错误的设计:

(2)几种错误的设计:

(2)几种错误的设计:

第四章

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字

按字节编址时的主存地址分配图如下:

讨论:

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

2、本题与IBM370、PDP-11机无关;

3、按字寻址时,地址仍为16位;

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

5、按字编址的地址范围为0~16K-1,空间为16K字;按字节编址的地址范围为0~64K-1,空间为64KB。不能混淆;

6、画存储空间分配图时要画出上限。

7. 一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?

1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位

解:地址线和数据线的总和= 14 + 32 = 46根;

各需要的片数为:

1K×4:16K×32 / 1K×4 = 16×8 = 128片

2K×8:16K×32 / 2K×8 = 8×4 = 32片

4K×4:16K×32 / 4K×4 = 4×8 = 32片

16K×1:16K×32 / 16K×1 = 32片

4K×8:16K×32 / 4K×8 = 4×4 = 16片

8K×8:16K×32 / 8K×8 = 2×4 = 8片

讨论:

地址线根数与容量为2的幂的关系,在此为214,14根;

:32=25,5根)?数据线根数与字长位数相等,在此为32根。(不是2的幂的关系。

9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。

解:刷新——对DRAM定期进行的全部重写过程;

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

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

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

分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间;

异步式:是集中式和分散式的折衷。

讨论:

1、刷新与再生的比较:

共同点:

?动作机制一样。都是利用DRAM存储元破坏性读操作时的重写过程实现;

?操作性质一样。都是属于重写操作。

区别:

?解决的问题不一样。再生主要解决DRAM存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。

?操作的时间不一样。再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。

?动作单位不一样。再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。

?芯片内部I/O操作不一样。读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出(唯RAS有效刷新,内部读)。鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。

2、CPU访存周期与存取周期的区别:

CPU访存周期是从CPU一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。

3、分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期。

4、刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。

10. 半导体存储器芯片的译码驱动方式有几种?

解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。

线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;

重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。

11. 画出用1024×4位的存储芯片组成一个容量为64K×8位的存储器逻辑框图。要求将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片;

地址分配:

页面逻辑框图:(字扩展)存储器逻辑框图:(字扩展)讨论:

页选地址取A11、A10,页内片选取A15~A12;?

(页内组地址不连贯?)不分级画;问题:?

1、不合题意;

2、芯片太多难画;

3、无页译码,6:64译码选组。

?页选直接联到芯片;问题:

1、SRAM一般只一个片选端;

2、译码输出负载能力需考虑。

附加门电路组合2级译码信号;?

(应利用译码器使能端输入高一级的译码选通信号)不设组选,页选同时选8组(16组),并行存取??

组译码无页选输入;?

?2片芯片合为一体画;

文字叙述代替画图;?

地址线、数据线不标信号名及信号序号。?

12. 设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。

解:存储基元总数= 64K×8位

= 512K位= 219位;

思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。

设地址线根数为a,数据线根数为b,则片容量为:2a×b = 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;

…… ……

由上可看出:片字数越少,片字长越长,引脚数越多。片字数、片位数均按2的幂变化。

结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线= 19根,数据线= 1根;或地址线= 18根,数据线= 2根。

采用字、位扩展技术设计;?

13. 某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位地址译码选板,次高3位地址译码选片。地址格式分配如下:

讨论:

不对板译码、片译码分配具体地址位;?

?板内片选设4位地址;

不设板选,8个板同时工作,总线分时传送;?

8位芯片;? 8板通过3:8译码器组成256K?

14. 设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)地址空间分配图:

(2)选片:ROM:4K×4位:2片;

RAM:4K×8位:3片;

(3)CPU和存储器连接逻辑图及片选逻辑:

讨论:

1)选片:当采用字扩展和位扩展所用芯片一样多时,选位扩展。

理由:字扩展需设计片选译码,较麻烦,而位扩展只需将数据线按位引出即可。

本题如选用2K×8 ROM,片选要采用二级译码,实现较麻烦。

当需要RAM、ROM等多种芯片混用时,应尽量选容量等外特性较为一致的芯片,以便于简化连线。

2)应尽可能的避免使用二级译码,以使设计简练。但要注意在需要二级译码时如果不使用,会使选片产生二义性。

3)片选译码器的各输出所选的存储区域是一样大的,因此所选芯片的字容量应一致,如不一致时就要考虑二级译码。另外如把片选译码输出―或‖起来使用也是不合理的。

4)其它常见错误:

138的C输入端接地;(相当于把138当2-4译码器用,不合理)?

? EPROM的PD端接地;

(PD为功率下降控制端,当输入为高时,进入功率下降状态。因此PD端的合理接法是与片选端-CS并联。)? ROM连读/写控制线-WE;

(ROM无读/写控制端)

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

(1)用74138译码器画出CPU与存储芯片的连接图;

(2)写出每片RAM的地址范围;

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

(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?

解:(1)CPU与存储器芯片连接逻辑图:

(2)地址空间分配图:

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

片的片选输入端很可能总是处于低电平。可能的情况有:

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

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

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

在此,假设芯片与译码器本身都是好的。

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

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

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

8体交叉访问时序:

18. 什么是―程序访问的局部性‖?存储系统中哪一级采用了程序访问的局部性原理?

解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:1 )。存储系统中Cache—主存层次采用了程序访问的局部性原理。

20. Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处?

答:Cache做在CPU芯片内主要有下面几个好处:

1)可提高外部总线的利用率。因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线;

2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率;

3)可提高存取速度。因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高;

将指令Cache和数据Cache分开有如下好处:

1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成;

2)指令Cache可用ROM实现,以提高指令存取的可靠性;

3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。

补充讨论:

Cache结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度(主存—L2—L1)。

21. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求:

(1)画出主存地址字段中各段的位数;

(2)设Cache的初态为空,CPU依次从主存第0、1、2……99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?

(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?

答:

(1)由于容量是按字节表示的,则主存地址字段格式划分如下:

8 7 2 3 2

(2)由于题意中给出的字地址是连续的,故(1)中地址格式的最低2位不参加字的读出操作。当主存读0号字单元时,将主存0号字块(0~7)调入Cache(0组x号块),主存读8号字单元时,将1号块(8~15)调入Cache(1组x号块)…… 主存读96号单元时,将12号块(96~103)调入Cache(12组x号块)。

≈共需调100/8 13次,就把主存中的100个数调入Cache。除读第1遍时CPU需访问主存13次外,以后重复读时不需再访问主存。则在800个读操作中:

访Cache次数=(100-13)+700=787次

≈ 0.98 ≈Cache命中率=787/800 98%

(3)设无Cache时访主存需时800T(T为主存周期),加入Cache后需时:

(131.167+13)T≈T/6+13T?787

144.167T≈

5.55倍≈则:800T/144.167T

有Cache和无Cache相比,速度提高4.55倍左右。

23. 画出RZ、NRZ、NRZ1、PE、FM写入数字串1011001的写入电流波形图。

解:

24. 以写入1001 0110为例,比较调频制和改进调频制的写电流波形图。

解:写电流波形图如下:

比较:

1)FM和MFM写电流在位周期中心处的变化规则相同;

2)MFM制除连续一串―0‖时两个0周期交界处电流仍变化外,基本取消了位周期起始处的电流变化;

3)FM制记录一位二进制代码最多两次磁翻转,MFM制记录一位二进制代码最多一次磁翻转,因此MFM制的记录密度可提高一倍。上图中示出了在MFM制时位周期时间缩短一倍的情况。由图可知,当MFM制记录密度提高一倍时,其写电流频率与FM制的写电流频率相当;

4)由于MFM制并不是每个位周期都有电流变化,故自同步脉冲的分离需依据相邻两个位周期的读出信息产生,自同步技术比FM制复杂得多。25. 画出调相制记录01100010的驱动电流、记录磁通、感应电势、同步脉冲及读出代码等几种波形。

解:注意:

1)画波形图时应严格对准各种信号的时间关系。

2)读出感应信号不是方波而是与磁翻转边沿对应的尖脉冲;

3)同步脉冲的出现时间应能―包裹‖要选的读出感应信号,才能保证选通有效的读出数据信号,并屏蔽掉无用的感应信号。

4)最后读出的数据代码应与写入代码一致。

26. 磁盘组有六片磁盘,每片有两个记录面,存储区域内径22厘米,外径33厘米,道密度为40道/厘米,内层密度为400位/厘米,转速2400转/分,问:

(1)共有多少存储面可用?

(2)共有多少柱面?

(3)盘组总存储容量是多少?

(4)数据传输率是多少?

解:(1)若去掉两个保护面,则共有:

6 × 2 - 2 = 10个存储面可用;

(2)有效存储区域

=(33-22)/ 2 = 5.5cm

柱面数= 40道/cm × 5.5= 220道

=π(3)内层道周长=22 69.08cm

道容量=400位/cm×69.08cm

= 3454B

面容量=3454B × 220道

= 759,880B

盘组总容量= 759,880B × 10面

= 7,598,800B

(4)转速= 2400转/ 60秒

= 40转/秒

数据传输率= 3454B × 40转/秒

= 138,160 B/S

注意:

1)计算盘组容量时一般应去掉上、下保护面;

的精度选取不同将引起答案不同,一般取两位小数;π2)盘组总磁道数(=一个盘面上的磁道数)≠3)柱面数

4)数据传输率与盘面数无关;

5)数据传输率的单位时间是秒,不是分。

27. 某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12 288字节,最小磁道直径为230mm,共有275道,求:(1)磁盘存储器的存储容量;

(2)最高位密度(最小磁道的位密度)和最低位密度;

(3)磁盘数据传输率;

(4)平均等待时间。

解:(1)存储容量= 275道×12 288B/道×4面= 13 516 800B

(2)最高位密度= π12 288B/230

= 17B/mm = 136位/mm(向下取整)最大磁道直径

=230mm+275道/5道×2

= 230mm + 110mm = 340mm

π最低位密度= 12 288B / 340

= 11B/mm = 92位/ mm (向下取整)

(3)磁盘数据传输率

= 12 288B × 3000转/分

=12 288B × 50转/秒=614 400B/S

(4)平均等待时间= 1/50 / 2 = 10ms

讨论:

1、本题给出的道容量单位为字节,

因此算出的存储容量单位也是字节,而不是位;

2、由此算出的位密度单位最终应转换成bpm(位/毫米);

3、平均等待时间是磁盘转半圈的时间,与容量无关。

第五章

1. I/O有哪些编址方式?各有何特点?

解:常用的I/O编址方式有两种:I/O与内存统一编址和I/O独立编址;

特点:I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。

I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。

讨论:I/O编址方式的意义:

I/O编址方式的选择主要影响到指令系统设计时I/O指令的安排,因此描述其特点时一定要说明此种I/O编址方式对应的I/O指令设置情况。

?I/O与内存统一编址方式将I/O地址看成是存储地址的一部分,占用主存空间;

问题:确切地讲,I/O与内存统一编址的空间为总线空间,I/O所占用的是内存的扩展空间。

I/O独立编址方式有明显的I/O地址标识,?而I/O与内存统一的编址方式没有;

问题:无论哪种编址方式,I/O地址都是由相应的指令提供的,而地址本身并没有特殊的标识。

2. 简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?

答:CPU与I/O之间传递信息常采用三种联络方式:直接控制(立即响应)、同步、异步。适用场合分别为:

直接控制适用于结构极简单、速度极慢的I/O设备,CPU直接控制外设处于某种状态而无须联络信号。

同步方式采用统一的时标进行联络,适用于CPU与I/O速度差不大,近距离传送的场合。

异步方式采用应答机制进行联络,适用于CPU与I/O速度差较大、远距离传送的场合。

讨论:注意I/O交换方式、I/O传送分类方式与I/O联络方式的区别:

串行、并行I/O传送方式常用于描述I/O传送宽度的类型;

I/O交换方式主要讨论传送过程的控制方法;

I/O联络方式主要解决传送时CPU与I/O之间如何取得通信联系以建立起操作上的同步配合关系。

?同步方式适用于CPU与I/O工作速度完全同步的场合。

问题:I/O 要达到与CPU工作速度完全同步一般是不可能的。同步方式的实质是―就慢不就快‖,如采用同步方式一般CPU达不到满负荷工作。

6. 字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?

解:显示缓冲存储器的作用是支持屏幕扫描时的反复刷新;只读存储器作为字符发生器使用,他起着将字符的ASCII码转换为字形点阵信息的作用。

8. 某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?

解:480×10=4800位/秒=4800波特;

波特——是数据传送速率波特率的单位。

注:题意中给出的是字符传送速率,即:字符/秒。要求的是数据传送速率,串行传送时一般用波特率表示。

两者的区别:字符传送率是数据的―纯‖有效传送率,不含数据格式信息;波特率是―毛‖传送率,含数据格式信息。

10. 什么是I/O接口?为什么要设置I/O接口?I/O接口如何分类?

解:I/O接口一般指CPU和I/O设备间的连接部件;I/O接口分类方法很多,主要有:

按数据传送方式分有并行接口和串行接口两种;

按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。

12. 结合程序查询方式的接口电路,说明其工作过程。

解:程序查询接口工作过程如下(以输入为例):

开命令接收门;→选中,发SEL信号→设备选择器译码→接口→地址总线→1)CPU发I/O地址

设备开始工作;→接口向设备发启动命令→ D置0,B置1 →2)CPU发启动命令

DBR;→3)CPU等待,输入设备读出数据

B置0,D置1;→接口→4)外设工作完成,完成信号

CPU;→控制总线→5)准备就绪信号

6)输入:CPU通过输入指令(IN)将DBR中的数据取走;

若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下:

开命令接收门;→选中,发SEL信号→设备选择器译码→接口→地址总线→1)CPU发I/O地址

2)输出:CPU通过输出指令(OUT)将数据放入接口DBR中;

设备开始工作;→接口向设备发启动命令→ D置0,B置1 →3)CPU发启动命令

4)CPU等待,输出设备将数据从DBR取走;

B置0,D置1;→接口→5)外设工作完成,完成信号

CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送。→控制总线→6)准备就绪信号

13. 说明中断向量地址和入口地址的区别和联系。

解:中断向量地址和入口地址的区别:

向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。

中断向量地址和入口地址的联系:

中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。(两种方法:在向量地址所指单元内放一条JUM指令;主存中设向量地址表。参考8.4.3)讨论:

硬件向量法的实质:

当响应中断时,为了更快、更可靠的进入对应的中断服务程序执行,希望由硬件直接提供中断服务程序入口地址。但在内存地址字较长时这是不可能的。因此由硬件先提供中断源编号、再由编号间接地获得中断服务程序入口地址。这种中断源的编号即向量地址。

由于一台计算机系统可带的中断源数量很有限,因此向量地址比内存地址短得多,用编码器类逻辑部件实现很方便。

14. 在什么条件下,I/O设备可以向CPU提出中断请求?

解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。

15. 什么是中断允许触发器?它有何作用?

解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。

16. 在什么条件和什么时间,CPU可以响应I/O的中断请求?

解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。

17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?

解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。

N个数据所需的处理时间=P×N+Q秒

平均每个数据所需处理时间= (P×N+Q)/N秒;

求倒数得:

该系统跟踪到的每秒中断请求数=N/(P×N+Q)次。

19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?

解:这是一道多重中断的题,由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印不会造成数据丢失。

讨论:

?打印机不停,理由有如下几种:

打印内容已存入打印机缓存;?

问题:1)如果打印机无缓存呢?

2)如果打印机有缓存,还需要用程序中断方式交换吗?(应用DMA)

由于在指令执行末查中断,因此执行打印指令时不会响应磁盘中断。?

问题:打印中断处理程序=打印指令?

采用字节交叉传送方式,当两者同时请求中断时,先响应盘,再响应打印机,交叉服务。?

问题:这是程序中断方式吗?

由于打印机速度比CPU慢得多,CPU将数据发送给打印机后,就去为磁盘服务,而这时打印机可自己慢慢打印。?

问题:停止打印机传送=停止打印机动作?

我有打印机,感觉上打印机工作是连贯的;?

问题:人的感觉速度=计算机工作速度?

22. CPU对DMA请求和中断请求的响应时间是否一样?为什么?

解:CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求(一个存取周期末)。

讨论:

CPU对DMA的响应是即时的;?

随时都能响应?

CPU响应DMA的时间更短;?

? DMA比中断速度高;

短、高或不一样的具体程度?

?不一样。因为DMA与CPU共享主存,会出现两者争用主存的冲突,CPU必须将总线让给DMA接口使用,常用停止CPU访存、周期窃取及DMA 与CPU交替访存三种方式有效的分时使用主存;

这种情况仅仅存在于DMA与中断程序之间吗?答非所问。

24. DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同?画图说明。

解:两种DMA方式的工作流程见下页,其主要区别在于传送阶段,现行程序是否完全停止访存。

停止CPU访存方式的DMA工作流程如下:

现行程序CPU DMAC I/O

CPU DMAC I/O

B C D

周期窃取方式的DMA工作流程如下:

现行程序CPU DMAC I/O

CPU DMAC I/O

B C D

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

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

则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。

讨论:

s)比较接近,传送过程会频繁的打断CPU执行主程序,而执行中断服务程序,因此不能用程序中断方式……。μs)与中断处理时间(40μ×I/O传送(25

错:此时CPU还有可能执行主程序吗?

举例说明:(输入)假设初始CPU空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU发第一个中断请求,CPU立即响应;

I/O设备匀速运行,s时响应;μs后,第二个中断请求到来,CPU正在执行中断程序接收第一个数据,40μ25

s时响应;μs后,第三个中断请求到来,CPU正在执行中断程序接收第二个数据,要到80μ50

s后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;μ75

讨论:

s,CPU大部分时间处于―踏步等待‖状态;μ交换一次用时25+40=65?

sμ错1:25 I/O传送间隔主要指设备准备数据的时间(输入),这段时间设备与CPU并行工作。

错2:程序中断不存在踏步等待。

?10-6=1?40?40K.6秒,时间过长,用程序中断不划算;

中断处理程序执行时间=??错1:设备传送频率

错2:越慢速的设备越适合用中断。

若外设与CPU之间有足够大的缓冲区,则可以用程序中断方式;?

如果安排足够大的缓冲区,为何不用DMA方式?

讨论(续):

两者速度相差较小没有必要用中断。?

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

解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。

16÷16 =1K ×8 ×8 ÷道容量=1KB×8

=1K ×4=4K字

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

=4K字×50转/秒=200K字/秒

sμ5≈一个字的传送时间=1/200K字/秒

注:在此1K=1024,来自数据块单位缩写。

5 sμ<<25 s,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。μ

讨论:

扇面、扇段和扇区:扇面指磁盘分区后形成的扇形区域;扇段指扇面上一个磁道所对应的弧形区域;扇区通常用来泛指扇面或扇段。由于磁盘是沿柱面存取而不是沿扇面存取,因此习惯上扇区即指扇段,不用特别说明也不会引起误会。

问题:是否磁盘转一圈读完所有扇区上的磁道?

答:应为:磁盘转一圈读完一个磁道上的所有扇区,然后转到下一盘面的同一位置磁道接着读(如果文件未读完的话)。

? s,CPU工作周期大于主存周期,应采用DMA与CPU交替访存;μs,CPU执行指令20μs内主存占用5μ不行,在25

s;μ错1:题意为CPU执行指令25

指令周期;≠错2:CPU工作周期=内存周期(同步控制)而

?不行,传送间隔=20ms,远大于指令执行周期,应在DMA接口设一小容量存储器,可减少DMA传送占用总线时间;

对于想采用DMA的慢速设备(像打印机等),可采用此法,对于磁盘不需要。另外,占用总线时间较长的DMA传送为停止CPU访存DMA,如采用周期窃取方式的DMA,每次传送只占一个主存周期时间。

27. 试从下面七个方面比较程序查询、程序中断和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:传送单位根据数据线的根数而定;?

30. 什么是多重中断?实现多重中断的必要条件是什么?

解:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。

实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

补充题:

一、某CRT显示器可显示64种ASCII字符,每帧可显示72字×24排;每个字符字形采用7×8点阵,即横向7点,字间间隔1点,纵向8点,排间间隔6点;帧频50Hz,采取逐行扫描方式。假设不考虑屏幕四边的失真问题,且行回扫和帧回扫均占扫描时间的20%,问:

1)显存容量至少有多大?

2)字符发生器(ROM)容量至少有多大?

3)显存中存放的是那种信息?

4)显存地址与屏幕显示位置如何对应?

5)设置哪些计数器以控制显存访问与屏幕扫描之间的同步?它们的模各是多少?

6)点时钟频率为多少?

解:1)显存最小容量=72×24×8 =1728B

2)ROM最小容量=64×8行×8列

= 512B(含字间隔1点)

3)显存中存放的是ASCII码信息。

4)显存每个地址对应一个字符显示位置,显示位置自左至右,从上到下,分别对应缓存地址由低到高。

5)设置点计数器、字计数器、行计数器、排计数器控制显存访问与屏幕扫描之间的同步。

它们的模计算如下:

点计数器模= 7+1 = 8

行计数器模= 8 + 6 = 14

字、排计数器的模不仅与扫描正程时间有关,而且与扫描逆程时间有关,因此计算较为复杂。

列方程:(72+x)× 0.8 = 72

(24+y)× 0.8 = 24

解方程得:x = 18,y = 6,则:

字计数器模= 72 + 18 = 90

排计数器模= 24 + 6 = 30

6)点频= 50Hz × 30排× 14行× 90字× 8点= 15 120 000Hz

= 15.12MHz

讨论:

1、VRAM、ROM容量应以字或字节为单位,不能以位为单位;

2、字模点阵在ROM中按行存放,一行占一个存储单元;

3、显存中存放的是ASCII码而不是像素点;

4、计算计数器的模及点频时应考虑回扫时间。

二、有一编码键盘,其键阵列为8行×16列,分别对应128种ASCII码字符,采用硬件扫描方式确认按键信号,问:

1)扫描计数器应为多少位?

2)ROM容量为多大?

3)若行、列号均从0开始编排,则当第5行第7列的键表示字母―F‖时,CPU从键盘读入的二进制编码应为多少(设采用奇校验)?

4)参考教材图5.15,画出该键盘的原理性逻辑框图;

5)如果不考虑校验技术,此时ROM是否可省?

解:1)扫描计数器= 7位

(与键的个数有关)2)ROM容量= 128 × 8 = 128B

(与字符集大小有关)3)CPU从键盘读入的应为字符―F‖的ASCII码= 01000110 (46H),其中最高位为奇校验位(注:不是位置码)。4)该键盘的原理性逻辑框图见下页,与教材图5.15类似,主要需标明参数。

5)如果不考虑校验技术,并按ASCII码位序设计键阵列(注意),则ROM编码表可省,此时7位计数器输出值(扫描码或键位置码)即为ASCII 码。

该键盘的原理性逻辑框图如下:

三、一针式打印机采用7列×9行点阵打印字符,每行可打印132个字符,共有96种可打印字符,用带偶校验位的ASCII码表示。问:

1)打印缓存容量至少有多大?

2)字符发生器容量至少有多大?

3)列计数器应有多少位?

4)缓存地址计数器应有多少位?

解:1)打印缓存最小容量= 132×8

= 132B

(考虑偶校验位)2)ROM最小容量= 96×7列×9行

= 672×9位

3)列计数器= 3位

(7列向上取2的幂)4)缓存地址计数器= 8位

(132向上取2的幂)讨论:

1、由于针打是按列打印,所以ROM一个存储单元中存一列的9个点,则容量为672×9位;

2、列计数器是对列号进行计数,所以模=7,3位(模不等于位数);

3、同样缓存地址计数器模=132,8位。

第六章

2. 已知X=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。

(1)X > 1/8;≥1/2;

(2)X X≥

(3)1/4 > 1/16

解:(1)若要X > 1/2,只要a1=1,a2~a6不全为0即可(a2 or a3 or a4 1/8,只要a1~a3不全为0即可(a1 or a2 or a3 =1),≥or a5 or a6 = 1);(2)若要X a4~a6可任取0或1;

X≥(3)若要1/4 > 1/16,只要a1=0,a2可任取0或1;当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0(a5 or a6=1;若a3=1,则a4~a6可任取0或1;当a2=1时,a3~a6可任取0或1。

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

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

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

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

5. 已知[x]补,求[x]原和x。[x1]补=1. 1100;[x2]补=1. 1001;[x3]补=0. 1110;[x4]补=1. 0000;[x5]补=1,0101;[x6]补=1,1100;[x7]补=0,0111;[x8]补=1,0000;

解:[x]补与[x]原、x的对应关系如下:

6.0,则≥设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,[x]补=[x]原成立。

解:当x为小数时,若x [x]补=[x]原成立;若x < 0,则当x= -1/2时,[x]补=[x]原成立。0,则[x]补=[x]原成立;若x≥当x为整数时,若x < 0,则当x= -64时,[x]补=[x]原成立。

7.设x为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。

解:当x为真值,x*为绝对值时,[-x*]补=[-x]补不能成立。[-x*]补=[-x]补的结论只在x>0时成立。当x<0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补不等于[-x]补。

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的一类情况讨论。5)不考虑不同数字系统间的比较。(如有人分析x、y字长不等时的情况,无意义。)

9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?

解:真值和机器数的对应关系如下:

10. 在整数定点机中,设机器数采用一位符号位,写出±0的原码、补码、反码和移码,得出什么结论?

解:0的机器数形式如下:

解:机器数与对应的真值形式如下:

续表1:

续表2:

续表3:

12. 设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10位。写出51/128、-27/1024、7.375、-86.5所对应的机器数。要求按规格化形式写出:(1)阶码和尾数均为原码;(2)阶码和尾数均为补码;(3)阶码为移码,尾数为补码。

解:据题意画出该浮点数的格式: 1 4 1 10

将十进制数转换为二进制:x1=51/128=(0.011 001 (0.110 011)2 x2= -27/1024=(-0.000 001 101 1)2 =2-5?1)2 =2-1 (0.111 011)2 x4=?(-0.110 11)2 x3=7.375=(111.011)2 =23 ?(-0.101 011 01)2 则以上各数的浮点规格化数为:?-86.5=(-1 010 110.1)2 =27 (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 注:以上浮点数也可采用如下格式: 1 1 4 10

13. 浮点数格式同上题,当阶码基值分别取2和16时,(1)说明2和16在浮点数中如何表示。(2)基值不同对浮点数什么有影响?(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。

解:(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2和16不出现在浮点格式中,仅为人为的约定。

(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式不变的情况下,基越大,可表示的浮点数范围越大,但精度越下降。(3)r=2时,最大正数的浮点格式为:0,1111;0.111 111 111 1 其真值为:N+max=215×(1-2-10)非零最小规格化正数浮点格式为:1,0000;0.100 000 000 0 其真值为:N+min=2-16×2-1=2-17 r=16时,最大正数的浮点格式为:0,1111;0.1111 1111 11 其真值为:N+max=1615×(1-2-10)非零最小规格化正数浮点格式为:1,0000;0.0001 0000 00 其真值为:N+min=16-16×16-1=16-17 14. 设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?

解:若要保证数的最大精度,应取阶的基=2。若要表示±6万间的十进制数,由于32768(215)< 6万<65536(216),则:阶码除阶符外还应取5位(向上取2的幂)。故:尾数位数=32-1-1-5=25位25(32)该浮点数格式如下:1 5 1≥ 按此格式,该浮点数上溢的条件为:阶码25 15. 什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?

解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为―0‖点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为―机器零‖,而真零对应数轴上的一点(0点)。若要求用―全0‖表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为―0‖,补码的零的形式也为―0‖,拼起来正好为一串0的形式)。

16. 设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。(1)无符号数;(2)原码表示的定点小数;(3)补码表示的定点小数;(4)补码表示的定点整数;(5)原码表示的定点整数;(6)浮点数的格式为:阶符1位、阶码5位、数符1位、尾数9位(共16位)。分别写出其正数和负数的表示范围(非规格化浮点形式);(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 - 2-15 ~ - 1 ,即:0.99997~ -1;(4)补码定点整数:215 - 1 ~ -215,即:32767 ~ -32768;(5)原码定点整数:215 - 1 ~ -(215 - 1),即:32767 ~ -32767;

(6)据题意画出该浮点数格式:1 5 1 9

最大负数=1,11 111;1.000 000 001 最小负数=0,11 111;1.111 111 111 则负数表示范围为:(1-2-9)~ 2-32?(1-2-9)2)当采用阶移尾原非规格化数时,正数表示范围为:231 ?(-2-9)~ -231 ?2-31 (1-2-9)注:零视为中性数,不在此范围内。?(-2-9)~ -231? 2-9 负数表示范围为:2-32 ?

(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大正数=0,11 111;0.111 111 111 最小正数=1,00 000;0.100 000 2-1 最大负数=1,00 000;1.011 111 111?(1-2-9)~2-32 ?000 其对应的正数真值范围为:231 (2-1+2-9)~ 231?最小负数=0,11 111;1.000 000 000 其对应的负数真值范围为:-2-32 (-1)?

,不要用≤或≥注意:1)应写出可表示范围的上、下限精确值(用>或<)。2)应用十进制2的幂形式分阶、尾两部分表示,这样可反映出浮点数的格式特点。括号不要乘开,不要用十进制小数表示,不直观且无意义。3)书写时二进制和十进制不能混用(如:231写成1031)。MSB位=1)⊕4)原码正、负域对称,补码正、负域不对称,浮点数阶、尾也如此。特别要注意浮点负数补码规格化范围。(满足条件:数符

17. 设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。[x1]原=0.001 1010;[x2]原=1.110 1000;[x3]原=1.001 1001;[y1]补=0.101 0100;[y2]补=1.110 1000;[y3]补=1.001 1001;[z1]反=1.010 1111;[z2]反=1.110 1000;[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);产生误差

18. 试比较逻辑移位和算术移位。

解:逻辑移位和算术移位的区别:逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。

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 0010)2 B= -13/32=(-0.011 0100)2 [A]补=0.001 0010 [B]补=1.100 1100

[A+B]补= 0. 0 0 1 0 0 1 0 + 1. 1 0 0 1 1 0 0 1. 1 0 1 1 1 1 0 ——无溢出A+B=(-0.010 0010)2 = -17/64 (2)A=19/32=(0.100 1100)2 B= -17/128=(-0.001 0001)2 [A]补=0.100 1100 [B]补=1.110 1111 [-B]补=0.001 0001 [A-B]补= 0. 1 0 0 1 1 0 0 + 0. 0 0 1 0 0 0 1 0. 1 0 1 1 1 0 1 ——无溢出A-B=(0.101 1101)2 = 93/128

(3)A= -3/16=(-0.001 1000)2 B=9/32=(0.010 0100)2 [A]补=1.110 1000 [B]补= 0.010 0100 [A+B]补= 1. 1 1 0 1 0 0 0 + 0. 0 1 0 0 1 0 0 0. 0 0 0 1 1 0 0 ——无溢出A+B=(0.000 1100)2 = 3/32 (4)A= -87=(-101 0111)2 B=53=(110 101)2 [A]补=1,010 1001 [B]补=0,011 0101 [-B]补=1,100 1011

[A-B]补= 1,0 1 0 1 0 0 1 + 1,1 0 0 1 0 1 1 0,1 1 1 0 1 0 0 ——溢出A-B=(-1,000 1100)2 = -140 (5)A=115=(111 0011)2 B= -24=(-11 000)2 [A]补=0,111 0011 [B]补=1,110 1000 [A+B]补= 0,1 1 1 0 0 1 1 + 1,1 1 0 1 0 0 0 0,1 0 1 1 0 1 1——无溢出A+B=(101 1011)2 = 91

20. 用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·y。(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.1011101=1 x*×y*=0.100 111 100 010 [x×y]原=1.100⊕ y0=0 ⊕x0=0,y0=1,z0=x0 111 100 010 x·y= -0. 100 111 100 010

原码一位乘:部分积 1 0 . 0→乘数y* 0 . 0 0 0 0 0 0 . 1 0 1 1 1 0 —— +0 0 0 0 0 0 0 . 1 0 1 1 1 ——+x* + 0 . 1 1 0 1 1 1 0 1 0 . 0 1 1 0 1 1 1 0 . 1 0 1 1 ——+x* +→. 1 1 0 1 1 1 1 0 . 1 0 1 0 0 1 0 1 →0 . 1 1 0 1 1 1 1 . 0 1 0 0 1 0 1 0 .→0 . 1 0 1 —— +x* + 0 . 1 1 0 1 1 1 1 . 1 0 0 0 0 0 1 0 .

0 1 1 0 0 0 0→1 1 0 0 0 0 0 0 1 0 . 1 0 —— +0 1 →0 0 1 0 . 1 —— x* + 0 . 1 1 0 1 1 1 1 . 0 0 1 1 1

1 0 . 1 0 0 1 1 1 1 0 0 0 1 0

2x*=01.101110,[-x*]补=[-x]补=1.001001 原码两位乘:部分积乘数Cj 0 0 0 . 0 0 0 0 0 0 0 0 . 1 0 1 1 1 0 0 + 0 0 1 .

1 0 1 1 1 0 +2x* 0 0 1 . 1 0 1 1

2 0 0 0 . 0 1 1 0 1 1 1 0 0 0→1 0 0 .1 0 1 1 + 1 1 1 . 0 0 1 0 0 1 +[-x*]补 1 1 1 . 2 1 1 1 . 1 1 1 0 0 1 →1 0 0 1 0 0 1 0 0 1 0 0 0 .1 0 + 1 1 1 . 0 0 1 0 0 1 +[-x*]补2 1 1 1 . 1 1 0 0→ 1 1 1 .

0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 . + 0 0 0 . 1 1 0 1 1 1 +x* 0 0 0 . 1 0 0 1 1 1 1 0 0 0 1 0 0 结果同一位乘,x·y= -0. 100 111 100 010

[x]补=x=0.110111 [y]补=1.010010 [-x]补=1.001001 [2x]补=01.101110 [-2x]补=10.010010 [x×y]补=1.011 000 011 110 0 x·y= -0.100 111 100 010 0 补码一位乘、两位乘运算过程如下:

补码一位乘:部分积乘数[y]补yn+1 0 0 1 0 0 . 0 0 0 0→. 0 0 0 0 0 0 1 . 0 1 0 0 1 0 0 —— +0 0 0 0 1 . 0 1

0 0 1 0 + 1 1 . 0 0 1 0 0 1 1 1 1 . 1 0 0 1 0 0 1→+[-x]补 1 1 . 0 0 1 0 0 10 1 . 0 1 0 0 1 + 0 0 . 1 1 0 1

1 1 1 0 0 . 0 0 1 1 0 1 1 1 0 1→+[x]补0 0 . 0 1 1 0 1 1 1 0 0 . 0 0 0 1 1 0 1 1 1 0 1 . 0 → . 0 1 0 0 —— +0 1 0 + 1 1 . 0 0 1 0 0 1 +[-x]补 1 1 1 1 . 1 0 0 1 1 1 1 1 1 1 0 1 . 0 1→1 . 0 0 1 1 1 1+ 0 0 . 1 1

0 1 1 1 +[x]补0 0 . 0 1 1 1 0 0 . 0 0 1 1 1 1 0 1 1 1 1 0 1 . 0 + 1 1→1 1 0 . 0 0 1 0 0 1 +[-x]补 1 1 . 0

1 1 0 0 0 0 1 1 1 1 0 0 ——清0

补码两位乘:部分积乘数yn+1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 0 0 1 0 0 + 1 1 0 . 0 1 0 0 1 0 +[-2x]补 1 1 0 . 0 2 1 1 1 . 1 0 0 1 0 0 1 0→1 0 0 1 01 1 .0 1 0 0 1 + 0 0 0 . 1 1 0 1 1 1 2 0 0 0 . 0→+[x]补0 0 0 . 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 .0 1 0 + 0 0 0 . 1 1 0 1 1 1 +[x]补0 0 0 . 1 1 1 1 0 1 2 0 0 0 . 0 0 1 1 1 1 0 1 1 1 1 0 1 1 . 0 + 1 1 1 .→ 0 0 1 0 0 1 +[-x]补 1 1 1 . 0 1 1 0 0 0 0 1 1 1 1 0 0 0 . 结果同补码一位乘,x·y= -0. 100 111 100 010 00

(2)x= -0.010111,y= -0.010101 [x]原=1.010111,[y]原=1.010101 x*=0. 010111 ,y*=0. 010101 [-x*]补=1.101001,2x*=0.1011101=0 [x]补=1.101001,⊕ y0=1 ⊕[-2x*]补=1.010010 x0=1,y0=1,z0=x0 [y]补=1.101011 [-x]补=0.010111,[2x]补=1.010010 [-2x]补=0.101110 x*×y*=0.000 111 100 011 [x×y]原=0.000 111 100 011 [x×y]补=0.000 111 100 011 0 x·y= 0. 000 111 100 011 运算过程如下:

原码一位乘:部分积乘数y* 0 . 0 0 0 0 0 0 . 0 1 0 1 0 1 —— +x* 1 0 . 0 0 1 0 1 1 1 .→+ 0 . 0 1 0 1 1 1 0 . 0 1 0 1 1 1 1 0 . 0 0 0 1 0 1 1 1 . 0 1 0 1→0 1 0 1 0 —— +0 1 0 . 0 0 1 1 1 0 →—— +x* + 0 . 0 1 0 1 1 1 0 . 0 1 1 1 0 0 1 0 . 0 0 0 1 1 1 0 0 1 1 .→0 1 1 . 0 1 0 ——+0 1 0 . 0 0 1 1→0 1 ——+x* + 0 . 0 1 0 1 1 1 0 . 0 1 1 1 1 0 1 0 . 0 0 0 1 1 1 1 0 0 →1 1 0 0 0 1 1 . 0 —— +00 1 1

原码两位乘:部分积乘数y* Cj 0 0 0 . 0 0 0 0 0 0 0 0 . 0 1 0 1 0 1 0 + 0 0 0 . 0 1 0 1 1 1 +x* 0 0 0 . 0 1 0 1 1 1 2 0 0 0 . 0 0 0 1 0 1 1 1 0 0 .0 1 0 1 + 0 0 0 .→0 0 1 0 1 1 1 +x* 0 0 0 . 0 1 1 1 0 0 2 0 0 0 . 0 0 0 1 1 1 0 0 1 1 0 0 .0 1 →0 + 0 0 0 . 0 1 0 1 1 1 +x* 0 0 0 . 0 1 1 1 1 0 2 0 0 0 . 0 0 0 1 1 1→0 1 0 0 0 1 1 0 0 . +0 结果同一位乘,x·y= 0. 000 111 100 011

补码一位乘:部分积乘数[y]补yn+1 0 0 . 0 0 0 0 0 0 1 . 1 0 1 0 1 1 0 + 0 0 . 0 1 0 1 1 1 1 0 0 . 0 0 1 0 1 1 →+[-x]补0 0 . 0 1 0 1 1 1 1 0 0 . 0 0 0 1 0 1 1 1 → 1 1 . 1 0 1 0 1 1 —— +01 . 1 0 1 0 1 + 1 1 . 1 0 1 0 0 1 1 1 1 . 1 1 0 1 1 1 0 1 1 1 . 1→+[x]补 1 1 . 1 0 1 1 1 00 1 0 + 0 0 . 0 1 0 1 1 1 +[-x]补 1 0 0 . 0 0 0 1 1 1 0 0 1 1 1 . 1 0→0 0 . 0 0 1 1 1 0 1 + 1 1 . 1 0 1 0 0 1 +[x]补 1 1 . 1 1 1 1 . 1 1 1 0 0 0

0 0 0 1 1 1 . 1 0 + →1 0 0 0 0 0 0 . 0 1 0 1 1 1 +[-x]补0 0 . 0 0 1 1 1 1 0 0 . 0 0 0 1 1 1 1 0 0 0

1 1 1 . 1 ——→1+0

补码两位乘:部分积乘数yn+1 0 0 0 . 0 0 0 0 0 0 1 1 . 1 0 1 0 1 1 0 + 0 0 0 . 0 1 0 1 1 1 2 0 0 0 . 0 0 0→+[-x]补0 0 0 . 0 1 0 1 1 11 0 1 1 1 1 1 .1 0 1 0 1 + 0 0 0 . 0 1 0 1 1 1 +[-x]补0 0 0 . 0 1 1 1 0 0 2 0 0 0 . 0 0 0 1 1 1 0 0 1 1 1 1 . 1 0 1 + 0 0 0 .→ 0 1 0 1 1 1 +[-x]补0 0 0 . 0 1 1 1 1 0 2 0 0 0 . 0 0 0 1 1 1 1 0 0 0 1 1 →1 1 . 1 清0 +0 结果同补码一位乘,x·y= 0. 000 111 100 011 00

(3)x= 19,y= 35 x=(10 011)2,y=(100 011)2 x*= [x]原= [x]补= 0,010 011 y*= [y]原= [y]补= 0,100 011 [-x*]补= [-x]补= 1,101 101 2x*= [2x]补= 0,100 1100=0 x*×y*=⊕ y0=0 ⊕[-2x*]补= [-2x]补= 1,011 010 x0=0,y0=0,z0=x0 [x×y]原= [x×y]补= 0,001 010 011 001 x·y =665 运算过程如下:

原码一位乘:部分积乘数y* 0,0 0 0 0 0 0 1 0 0 0 1 1 —— +x* + 0,0 1 0 0 1 1 0,0 1 0 0 1 1 1 0,0 0 1 0

0 1 1 1 0 0 0 1 —— +x* + 0,0 1 0 0 1 1→ 1 0,0 0 1 1 1 0 0 1 1 0 0 0 —— +0→0,0 1 1 1 0 0

1 0,0 0 0 0 1 1 →1 0,0 0 0 1 1 1 0 0 1 1 0 0 —— +0 → 1 0,0 0 0 0 0 1 1 1 0 0 1→1 0 0 1 1 0 —— +0 1 0,0 0 1 0 1 0→ 1 —— +x* + 0,0 1 0 0 1 1 0,0 1 0 1 0 00 1 1 0 0 1

原码两位乘:部分积乘数y* Cj 0 0 0,0 0 0 0 0 0 0 0,1 0 0 0 1 1 0 + 1 1 1,1 0 1 1 0 1 +[-x*]补 1 1 1,1 0 1 1 0 1 2 1 1 1,1 1 1 0 1 1 0 1 0 0,1 0 0 0 →1+ 0 0 0,0 1 0 0 1 1 +x* 0 0 0,0 0 1 1 1 0 2 0 0 0,0 0 0 0 1 1 1 0 0 1 0 →0 0,1 0 + 0 0 0,1 0 0 1 1 0 +2x* 0 0 0,1 0 2 0 0 0,0 0 1 0 1 0 0 1 1→1 0 0 1 0 0 0 1 0 0,+0 结果同一位乘,x·y= 0,001 010 011 001

补码一位乘:部分积乘数[y]补yn+1 0 0,0 0 0 0 0 0 0,1 0 0 0 1 1 0 + 1 1,1 0 1 1 0 1 1 1 1,1 1 0 1 1→+[-x]补 1 1,1 0 1 1 0 1 1 1 1,1 1 1 0 1 1 0 1 →0 1 0,1 0 0 0 1 1 —— +00,1 0 0 0 1 + 0 0,0 1 0 0 1 1 +[x]补1 0 0,0 0 0 1 1 1 0 0 1 0,1 0 0→0 0,0 0 1 1 1 0 1 0→1 0 0,0 0 0 0 1 1 1 0 0 1 0,

1 0 0 —— +0 →0 —— +0 0,0 0 0 0 0 1 1 1 0 0 1 0,1 0 + 1 1,1 0 1 1 0 1 1 1 1,1 1 0 1 1→+[-x]补 1 1,1 0 1 1 1 01 0 1 1 0 0 1 0, 1 + 0 0,0 1 0 0 1 1 +[x]补0 0,0 0 1 0 1 0 0 1 1 0 0 1 0 补码两位乘:部分积乘数yn+1 0 0 0,0 0 0 0 0 0 0 0,1 0 0 0 1 1 0 + 1 1 1,1 0 1 1 0 1

2 1 1 1,1 1 1 0 1 1 0 1 0 0,1 0→+[-x]补 1 1 1,1 0 1 1 0 10 0 1 + 0 0 0,0 1 0 0 1 1 +[x]补0 0 2 0 0 0,0 0 0 0 1 1 1 0→0,0 0 1 1 1 00 1 0 0,1 0 0 + 1 1 1,0 1 1 0 1 0 2 1 1 1,1→+[-2x]补 1 1 1,0 1 1 1 0 11 0 1 1 1 0 1 1 0 0 1 0 0,1 + 0 0 0,0 1 0 0 1 1 +0 0 0 0,0 0 1 0 1 0 0 1 1 0 0 1 0 0 结果同补码一位乘,x·y= 0, 001 010 011 001 00 (4)x= 0. 110 11,y= -0.111 01 x*= [x]原= [x]补= 0. 110 11 [y]原=1.111 01,y*=0. 111 01 [y]补=1.000 11 [-x*]补= [-x]补= 1.001 01 2x*= [2x]补= 01.101 10 [-2x*]补= 1=1 x*×y*=0.110 000 111 1⊕ y0=0 ⊕[-2x]补= 10.010 10 x0=0,y0=1,z0=x0[x×y]原=1.110 000 111 1 [x×y]补=1.001 111 000 10 x·y= -0. 110 000 111 1 运算过程如下:

原码一位乘:部分积乘数y* 0 . 0 0 0 0 0 1 →. 1 1 1 0 1 —— +x* + 0 . 1 1 0 1 1 0 . 1 1 0 1 1 1 0 . 0 0 1 1 0 1 1→0 . 0 1 1 0 1 1 . 1 1 1 0 —— +0 1 0 . 1 0 0→. 1 1 1 —— +x* + 0 . 1 1 0 1 1 1 . 0 0 0 0 10

0 1 1 1 . 1 1 —— +x* + 0 . 1 1 0 1 1 1 . 0 1 0 1 1 0 . 1 0 1 0 1 1 1 1 1 . 1 —— +x* + 0 . 1 1 0 1

1 →1 1 0 . 1 1 0 0 0 0 1 1 1 1 →1 . 1 0 0 0 0

原码两位乘:部分积乘数y* Cj 0 0 0 . 0 0 0 0 0 0 . 1 1 1 0 1 0 + 0 0 0 . 1 1 0 1 1 +x* 2 0 0 0 . 0 0 1 1→0 0 0 .

1 1 0 1 1 0 0 1 1 0 . 1 1 1 + 1 1 1 . 0 0 1 0 1 +[-x*]补

2 1 1 1 . 1 1 0 1→ 1 1 1 . 0 1 0 1 1 1 0 1 1 1 1 .

0 1 + 0 0 1 . 1 0 1 1 0 +2x* 1 0 0 0 . 1 1 0 0 0→0 0 1 . 1 0 0 0 0 0 0 1 1 1 1 0 . +0 结果同一位乘,x·y= -0. 110 000 111 1

补码一位乘:部分积乘数[y]补yn+1 0 0 . 0 0 0 0 0 1 . 0 0 0 1 1 0 + 1 1 . 1 1 1 . 1 0→0 0 1 0 1 +[-x]补 1 1 .

0 0 1 0 1 1 1 1 . 1 1 0 0 1 0 →0 1 0 1 1 . 0 0 0 1 1 —— +01 1 . 0 0 0 1 + 0 0 . 1 1 0 1 1 +[x]补 1 0 0 . 0 1 0 1 0 0 0 1 1 . 0 0 0→0 0 . 1 0 1 0 0 1 0 0 .→1 0 0 . 0 0 1 0 1 0 0 0 1 1 . 0 0 —— +0 →—— +0 0 0 0 1 0 1 0 0 0 1 1 . 0 + 1 1 . 0 0 1 0 1 +[-x]补1 1 . 0 0 1 1 1 1 0 0 0 1 0 ——清0

补码两位乘:部分积乘数yn+1 0 0 0 . 0 0 0 0 0 1 . 0 0 0 1 1 0 + 1 1 1 . 0 0 1 0 1 2 1 1 1 . 1 1 0 0 1 0 →+[-x]补 1 1 1 . 0 0 1 0 1 1 1 . 0 0 0 1 + 0 0 0 . 1 1 0 1 1 +[x]补2 0 0 0 . 0 0 1 0→0 0 0 . 1 0 1 0 0 1 0 0 0 1 1 . 0 0 + 1 1 0 . 0 1 0 1 0 1 1→+[-2x]补 1 1 0 . 0 1 1 1 11 1 . 0 0 1 1 1 1 0 0 0 1 0 . ——清0 结果同补码一位乘,x·y= -0. 110 000 111 10

21. 用原码加减交替法和补码加减交替法计算x÷y。(1)x=0.100111,y=0.101011;(2)x=-0.10101,y=0.11011;(3)x=0.10100,y= -0.10001;(4)x=13/32,y= -27/32。解:(1)x*=[x]原=[x]补=x= 0.100 111 y*=[y]原=[y]补=y= 0=0⊕y0=0 ⊕0.101 011 [-y*]补=[-y]补=1.010 101 q0=x0 y]原=0.111 010 r*=0.000 010×2-6=0.000 000 000 010÷y*=[x÷y=x*÷x 计算过程如下:

原码加减交替除法:被除数(余数)商0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 . 0 1 0 1 0 1 试减,+[-y*]补 1 . 1 1 1 1 01 . 1 1 1 0 0 0 0 . + 0 . 1 0 1 0 1 1←0 1 r< 1 . 0 0 0 1 1 0 ←0,+y* 0 . 1 0 0 0 1 1 1 0.1 + 1 . 0 1 0 1 0 1 r>←0,+[-y*]补0 . 0 1 1 0 1 1 1 0 . 1 1 0 1 1 0 0.1 1 + 1 . 0 1 0 1 0 1 r>0,+[-y*]补0 . 0 0 1 0 1 1

0 .←续:被除数(余数)商1 0 1 0 1 1 0 0 . 1 1 1 + 1 . 0 1 0 1 0 1 r>0,1 . 0 1 0 1 1 0 0.1 1 1 0 ←+[-y*]补 1 . 1 0 1 0 1 1 1 + 0 . 1 0 1 0 1 1 r< 0 . 0 0←0,+y* 0 . 0 0 0 0 0 1 1 0 0 1 0 0.1 1 1 0 1 + 1 . 0 1 0 1 0 1 r>0,0.1 1 1 0 1 0 + 0 . 1 0 1 0 1 1←+[-y*]补 1 . 0 1 0 1 1 1 1 r<0,+y*(恢复余数)0 . 0 0 0 0 1 0 补码加减交替除法:被除数(余数)商0 0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 1 . 0 1 0 1 01 1 . 1 1 1 0 0 0 ←1 试减,x、y同号,+[-y]补 1 1 . 1 1 1 1 0 0 1 0 . + 0 0 . 1 0 1 0 1 1 r、y异号,+[y]补0 00 1 . 0 0 0 1 1 0 0.1 + 1 1 . 0 1←. 1 0 0 0 1 1 10 0 . 1 1 0←0 1 0 1 r、y同号,+[-y]补0 0 . 0 1 1 0 1 1 1 1 1 0 0.1 1 + 1 1 . 0 1 0 1 0 1 r、y同号,+[-y]补0 0 . 0 0 1 0 1 1

0 0 . 0 1 0 ←续:被除数(余数)商1 1 1 0 0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 r、y同号,+[-y]补1 1 . 0 1 0 1 1 0 0.1 1

1 0 + ← 1 1 . 1 0 1 0 1 1 10 0 . 0←0 0 . 1 0 1 0 1 1 r、y异号,+[y]补0 0 . 0 0 0 0 0 1 1 0 0 0 1 0 0.1 1 1 0 1 + 1 1 . 0 1 0 1 0 1 r、y同号,0.1 1 1 0 1 1 ——恒置1 + 0 0 . 1 0 1 ←+[-y]补 1 1 . 0 1 0 1 1 1 1 0 1 1 r、x异号,(恢复余数)0 0 . 0 0 0 0 1 0 且r、y异号,+[y]补y]补= 0.111 011 [r6]补=0.000 010,r=r*=0.000 000 000 010÷y=[x÷注:恒置1引入误差。x

(2)x= -0.101 01,y=0.110 11 [x]原=1.101 01 x*= 0.101 01 y* = [y]原= [y]补= y = 0.110 11 [-y*]补= [-y]补= 1.001 01 [x]补= 1.010 11 y÷y]原=1.110 00 x÷y*= 0.110 00 [x÷ 0 = 1 x*⊕ y0 = 1 ⊕q0 = x0 = -0.110 00 r*=0.110 00×2-5 =0.000 001 100 0 计算过程如下:

原码加减交替除法:被除数(余数)商0 . 1 0 1 0 1 0 . 0 ←0 0 0 0 + 1 . 0 0 1 0 1 试减,+[-y*]补 1 . 1 1 0 1 0 1 1 . 1 0 1 0 0 0 . + 0 . 1 1 0 1 1 r< 0 . 1 1 1 1 0 0.1 ←0,+y* 0 . 0 1 1 1 1 1 + 1 . 0 0 1 0 1 r> 0 .

0 0←0,+[-y*]补0 . 0 0 0 1 1 1 1 1 0 0.1 1 + 1 . 0 0 1 0 1 r>0,+[-y*]补 1 . 0 1 0 1 1

0 . 1 0 1 1 0←续:被除数(余数)商1 0 . 1 1 0 + 0 . 1 1 0 1 1 r<0,+y* 1 . 1 0 0 01 . 0 0 0 1 0 0.1 1 0 0 + 0 . 1 1 0 1 1 ←1 1 r< 0.1 1 0 0 0 + 0 . 1 1 0 1 1←0,+y* 1 . 1 1 1 0 1 1 r<0,+y*(恢复余数)0 . 1 1 0 0 0

补码加减交替除法:被除数(余数)商 1 1 . 0 1 0 1 1 0 . 0 0 0 0 0 + 0 0 . 1 1 0 1 10 0 . 0 1 1 0 0←试减,x、y异号,+[y]补0 0 . 0 0 1 1 0 1 1 . + 1 1 . 0 0 1 0 1 r、y同号,+[-y]补 1 1 . 1 0 0 01 1 . 0 0 0 1 0 1.0 + 0 0 . 1 1 0 1 1←1 11 1 . 1 1 0 1 0 ←r、y异号,+[y]补 1 1 . 1 1 1 0 1 1 1.0 0 + 0 0 . 1 1 0 1 1 r、y异号,+[y]补0 0 . 1 0 1 0 1

0 1 . 0 1 0 1 0 1 . 0 0 1←续:被除数(余数)商10 0←+ 1 1 . 0 0 1 0 1 r、y同号,+[-y]补0 0 . 0 1 1 1 1 1 .

1 1 1 1 0 1.0 0 1 1 + 1 1 . 0 0 1 0 11.0 0 1 1 1 ——恒置1 + 1 1 . 0 0←r、y同号,+[-y]补0 0 . 0 0 0 1 1 1 1 0 1 r、x异号,(恢复余数) 1 1 . 0 1 0 0 0 且r、y同号,+[-y]补y=÷y]补=1.001 11,x÷注:恒置1引入误差。[r5]补=1.010 00,r= -0.000 001 100 0 [x -0.110 01

(3)x= 0.101 00,y= -0.100 01 x*= [x]原= [x]补= x=0.101 00 [y]原= 1.100 01 y* = 0.100 01 [-y*]补=1.011 11 [y]补= 1.011 11 y*= 1.001 01 ——溢出÷ 1 = 1 x*⊕ y0 = 0 ⊕[-y]补= 0.100 01 q0 = x0 y = -1.001 01 r*=0.010 11×2-5 =0.000÷y]原:无定义x÷[x 000 101 1 计算过程如下:

原码加减交替除法:被除数(余数)商0 . 1 0 1 0 0 0 . 0 0 0 0 0 + 1 . 0 1 1 1 1 试减,+[-y*]补0 . 0 00 . 0 0 1 1 0 1←0 1 1 1 . + 1 . 0 1 1 1 1 r>0,+[-y*]补1 . 1 0 1 0 1 1 . 0 1 0 1 0 1.0 + 0 . 1 0←1 0 0 1 r< 1 . 1 0 1 1 0←0,+y* 1 . 1 1 0 1 1 1 1.0 0 + 0 . 1 0 0 0 1 r<0,+y* 0 . 0 0 1 1 1

0 . 0 1 1 1 0 1 . 0 0 1 ←续:被除数(余数)商1 + 1 . 0 1 1 1 1 r> 1 . 1 1←0,+[-y*]补 1 . 1 1 1 0 1 1 0 1 0 1.0 0 1 0 + 0 . 1 0 0 0 1 r<0,+y*1.0 0 1 0 1 r←0 . 0 1 0 1 1 1>0,结束注:当x*>y*时产生溢出,这种情况在第一步运算后判断r的正负时就可发现。此时数值位占领小数点左边的1位,原码无定义,但算法本身仍可正常运行。

补码加减交替除法:被除数(余数)商0 0 . 1 0 1 0 0 0 . 0 0 0 0 0 + 10 0 . 0 0 1 ←1 . 0 1 1 1 1 试减,x、y异号,+[y]补0 0 . 0 0 0 1 1 1 1 0 0 . + 1 1 . 0 1 1 1 1 r、y异号,+[y]补 1 1 . 0 1 0 1 0 0.1 + 0 0 .←1 1 . 1 0 1 0 1 11 1 . 1 0 1←1 0 0 0 1 r、y同号,+[-y]补 1 1 . 1 1 0 1 1 1 1 0 0.1 1 + 0 0 . 1 0 0 0 1 r、y同号,+[-y]补0 0 . 0 0 1 1 1

0 0 . 0 1 1 1 0 ←续:被除数(余数)商1 0 . 1 1 0 + 1 1 . 0 1 1 1 1 r、y异号,+[y]补 1 1 .1 1 . 1 1 0 1 0 0.1 1 0 1 + 0 0 . 1 0 0 0←1 1 1 0 1 1 0.1 1 0 1 1 ——恒置1←1 r、y同号,+[-y]补0 0 . 0 1 0 1 1 1 r、x同号,结束[r5]补=0.010 11,r=r*=0.000 000 101 1 ⊕y= -1.001 01 判溢出:qf ÷y]补=10.110 11,x÷ 1 = 1 [x⊕ y0 = 0 ⊕真符位的产生:qf = x0 0 = 1,溢出⊕q0 = 1

注:由于本题中x*>y*,有溢出。除法运算时一般在运算前判断是否x* >y*,如果该条件成立则停止运算,转溢出处理。但此算法本身在溢出情况下仍可正常运行,此时数值位占领小数点左边的1位,商需设双符号位(变形补码),以判溢出。采用这种方法时运算前可不判溢出,直接进行运算,运算完后再判溢出。

(4)x=13/32=(0.011 01)2 y= -27/32=(-0.110 11)2 x*= [x]原= [x]补= x=0. 011 01 [y]原= 1.110 11 y* = 0.110 11 [-y*]补=1.001 01 [y]补= 1.001 01 y*= 0.011 11÷ 1 = 1 x*⊕y0 = 0 ⊕[-y]补= 0.110 11 q0 = x0 y =(-0.011 11)2 = -15/32 r*=0.010 11×2-5 ÷y]原=1.011 11 x÷[x =0.000 000 101 1

原码加减交替除法:被除数(余数)商0 . 0 1 1 0 1 0 . 0 0 0 0 0 + 1 . 0 0 1 0 1 试减,+[-y*]补 1 . 1 0 01 . 0 0 1 0 0 0 .← 1 0 1 + 0 . 1 1 0 1 1 r<0,+y* 1 . 1 1 1 1 11 . 1 1 1 1 0 0.0 + 0 . 1 1 0 1← 1 1 r< 1 . 1 0 0 1

0 ←0,+y* 0 . 1 1 0 0 1 1 0.0 1 + 1 . 0 0 1 0 1 r>0,+[-y*]补0 . 1 0 1 1 1

1 . 0 1 1 1 0 0 . 0 1 1 ←续:被除数(余数)商1 + 1 . 0 0 1 0 1 r> 1 . 0 0←0,+[-y*]补0 . 1 0 0 1 1 1 1 1 0 0.0 1 1 1 + 1 . 0 0 1 0 1 r>0,+[-y*]补0.0 1 1 1 1 r←0 . 0 1 0 1 1 1>0,结束

补码加减交替除法:被除数(余数)商0 0 . 0 1 1 0 1 0 . 0 0 ←0 0 0 + 1 1 . 0 0 1 0 1 试减,x、y异号,+[y]补 1 1 .

1 0 0 1 0 1 1 1 . 0 0 1 0 0 1 . + 0 0 . 1 1 0 1 11 1 . 1 1 1 1 0←r、y同号,+[-y]补 1 1 . 1 1 1 1 1 1 1.1 + 0 0 . 1 1 0 1 1 r、y同号,+[-y]补0 0 . 1 1 0 0 10 1 . 1 0 0 1 0 1.1 0 + 1 1 . 0 0 1 0 1←1 r、y异号,+[y]补0 0 . 1 0 1 1 1

0 1←续:被除数(余数)商1 . 0 1 1 1 0 1 . 1 0 0 + 1 1 . 0 0 1 0 1 r、y异号,0 1 . 0 0 1 1 0 1.1 0 0 0 +←+[y]补0 0 . 1 0 0 1 1 1 1.1 0← 1 1 . 0 0 1 0 1 r、y异号,+[y]补0 0 . 0 1 0 1 1 1 0 0 1 ——恒置1 r、x同号,结束[r]补=0.010 y=(-0.011 11)2 = -15/32÷y]补=1.100 01,x÷11,r=r*=0.000 000 101 1 [x

22. 设机器字长为16位(含1位符号位),若一次移位需1μs,一次加法需1 μs,试问原码一位乘、补码一位乘、原码加减交替除法和补码加减交替除法各最多需多少时间?解:原码一位乘最多需时1μs×15(加)+ 1μs×15(移位)=30μs 补码一位乘最多需时1μs×16+1μs×15 = 31μs 原码加减交替除最多需时1μs×(16+1)+1μs×15=32μs (或33μs)补码加减交替除最多需时1μs×(16+1)+1μs×15=32μs (或33μs)(包

括最后恢复余数!)

23. 对于尾数为40位的浮点数(不包括符号位在内),若采用不同的机器数表示,试问当尾数左规或右规时,最多移位次数各为多少?解:对于尾数为40位的浮点数,若采用原码表示,当尾数左规时,最多移位39次;反码表示时情况同原码;若采用补码表示,当尾数左规时,正数最多移位39次,同原码;负数最多移位40次。当尾数右规时,不论采用何种码制,均只需右移1次。

24. 按机器补码浮点运算步骤,计算[x±y]补(1)x=2-011×0.101 100,y=2-010×(-0.011 100);(2)x=2-011×(-0.100 010),y=2-010×(-0.011 111);(3)x=2101×(-0.100 101),y=2100×(-0.001 111)。解:先将x、y转换成机器数形式:(1)[x]补=1,101;0.101 100 [y]补=1,110;1.100 100 注:为简单起见,源操作数可直接写成浮点格式,不必规格化。

E]补=[Ex]补+[-Ey]补?1)对阶:[ E]补?=11,101+00,010=11,111 [<0,应Ex向Ey对齐,则:[Ex]补+1=11,101+00,001 E]补+1=11,111+00,001 =00,000=0 至此,?=11,110 [ Ex=Ey,对毕。[x]补=1,110;0.010 110 2)尾数运算:[Mx]补+[My]补= 0 0 . 0 1 0 1 1 0 + 1 1 . 1 0 0 1 0 0 1 1 . 1 1 1 0 1 0

[Mx]补+[-My]补= 0 0 . 0 1 0 1 1 0 + 0 0 . 0 1 1 1 0 0 0 0 . 1 1 0 0 1 0 3)结果规格化:[x+y]补=11,110;11.111 010 =11,011;11.010 000 (左规3次,阶码减3,尾数左移3位)[x-y]补=11,110;00.110 010 已是规格化数。4)舍入:无5)溢出:无则:x+y=2-101×(-0.110 000)x-y =2-010×0.110 010

(2)x=2-011×(-0.100010)y=2-010×(-0.011111)[x]补=1,101;1.011 110 [y]补=1,110;1.100 001 1)对阶:过程同1),则[x]补=1,110;1.101 111 2)尾数运算:[Mx]补+[My]补= 1 1 . 1 0 1 1 1 1 + 1 1 . 1 0 0 0 0 1 1 1 . 0 1 0 0 0 0 [Mx]补+[-My]补= 1 1 . 1 0 1 1 1 1 + 0 0 . 0 1 1 1 1 1 0 0 . 0 0 1 1 1 0

3)结果规格化:[x+y]补=11,110;11.010 000 已是规格化数。[x-y]补=11,110;00.001 110 =11,100;00.111 000 (左规2次,阶码减2,尾数左移2位)4)舍入:无5)溢出:无则:x+y=2-010×(-0.110 000)x-y =2-100×0.111 000

(3)x=2101×(-0.100 101)y=2100×(-0.001 111)[x]补=0,101;1.011 E]补=[Ex]补+[-Ey]补?011 [y]补=0,100;1.110 001 1)对阶:[ E]补?=00,101+11,100=00,001 [>0,应Ey向Ex对齐,则:[Ey]补+1=00,100+00,001 E]补+[-1]补=00,001+11,111 =00,000=0 至此,?=00,101 [ Ey=Ex,对毕。[y]补=0,101;1.111 000(1)2)尾数运算:[Mx]补+[My]补= 1 1 . 0 1 1 0 1 1 + 1 1 . 1 1 1 0 0 0(1) 1 1 . 0 1 0 0 1 1(1)[Mx]补+[-My]补= 1 1 . 0 1 1 0 1 1 + 0 0 . 0 0 0 1 1 1(1) 1 1 . 1 0 0 0 1 0(1)3)结果规格化:[x+y]补=00,101;11.010 011(1)已是规格化数。[x-y]补=00,101;11.100 010(1)=00,100;11.000 101 (左规1次,阶码减1,尾数左移1位)

4)舍入:[x+y]补=00,101;11.010 011(舍)[x-y]补不变。5)溢出:无则:x+y=2101×(-0.101 101)x-y =2100×(-0.111 011)27. 设浮点数阶码取3位,尾数取6位(均不包括符号位),要求阶码用移码运算,尾数用补码运算,计算x·y,且结果保留1倍字长。(1)x=2-100×0.101101,y=2-011×(-0.110101);(2)x=2-011×(-0.100111),y=2101×(-0.101011)。解:先将x、y转换成机器数形式:(1)[x]阶移尾补=0,100;0.101 101 [y]阶移尾补=0,101;1.001 011 1)阶码相加:[Ex]移+[Ey]补=00,100+11,101 =00,001(无溢出)2)尾数相乘:(补码两位乘比较法)部分积乘数yn+1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 0 1 0 1 1 0 + 1 1 1 . 0 1 0 0 1 1 +[-x]补 1 1 1 . 0 1 0 0 1 2 1 1 1 . 1 1 0 1 0 0 1 1 1 1 .0 0 1 0 1 + 1 1 1 .→1 0 1 0 0 1 1 +[-x]补 1 1 1 . 0 0 0 1 1 1 2 1 1 1 . 1 1 0 0 0 1 1 1 1 1 1 1 . 0→0 1 + 0 0 0 . 1 0 1 1 0 1 +[x]补0 0 0 2 0 0 0 . 0 0 0 1 1 1→. 0 1 1 1 1 0 1 0 1 1 1 1 1 1 . 0 + 1 1 1 . 0 1 0 0 1 1 +[-x]补 1 1 1 . 0 1 1 0 1 0 1 0 1 1 1 1 0 0(清0)

[Mx × My]补=1.011 010(101 111 00)3)结果规格化:已是规格化数。4)舍入:设采用0舍1入法,应入:[x×y]阶移尾补=0,001;1.011 011 5)溢出:无x×y=2-111×(-0.100 101)方案二:采用阶补尾原格式计算:[x]阶补尾原=1,100;0.101 101 [y]阶补尾原=1,101;

1.110 101 1)阶码相加:[Ex]补+[Ey]补=11,100+11,101 =11,001(无溢出)

原码一位乘:部分积乘数y* 0 . 0 0 0 0 0 0 . 1 1→ 1 0 1 0 1 —— +x* + 0 . 1 0 1 1 0 1 0 . 1 0 1 1 0 1 1 0 .

0 0 1 0 1 1 →0 . 0 1 0 1 1 0 1 . 1 1 0 1 0 —— +0 0 1 . 1 1 0 1 —— +x* + 0 . 1 0 1 1 0 1 0 . 1 1 1 0 0 1 0 . 0 0 1 1→1 0 . 0 1 1 1 0 0 0 0 1 . 1 1 0 —— +0 →0 1 0 0 0 0 1 . 1 1 —— +x* + 0 . 1 0 1 1 0 1 0 . 1 1 1 1 0 . 0 1 1 1 0 1 1 0 0 0 1 . 1 —— +x* + 0 . 1→0 1 1 1 0 . 1 0 0 1 0 1 0 1 0 0→0 1 1 0 1 1 . 0 0 1 0 1 00 1

[Mx × My]原=1.100 101(010 001)3)结果规格化:已是规格化数。4)舍入:设采用0舍1入法,应舍:[x×y]阶补尾原=1,001;1.100 101 5)溢出:无x×y=2-111×(-0.100 101)(2)x=2-011×(-0.100 111)y=2101×(-0.101 011)[x]阶移尾补=0,101;1.011 001 [y]阶移尾补=1,101;1.010 101 1)阶码相加:[Ex]移+[Ey]补=00,101+00,101 =01,010(无溢出)2)尾数相乘:(补码两位乘比较法)部分积乘数yn+1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 0 1 0 1 0 + 1 1 1 . 0 1 1 0 0 1 +[x]补 1 1 1 . 0 1 1 2 1 1 1 . 1 1 0 1 1 0 0 1 1 1 .0 1 0 1 0 + 1→0 0 1 1 1 . 0 1 1 0 0 1 +[x]补 1 1 1 . 0 0 1 1 1 1 2 1 1 1 . 1 1 0 0 1 1 1 1 0 1 1→ 1 . 0 1 0 + 1 1 1 . 0 1 1 0 0 1 +[x]补 2 1 1 1 . 1 1 0 0 1→1 1 1 . 0 0 1 1 0 01 0 0 1 1 0 1 1 1 . 0 + 0 0 0 . 1 0 0 1 1 1 +[-x]补0 0 0 . 0 1 1 0 1 0 0 0 1 1 0 1 0 0(清0) [Mx × My]补=0.011 010(001 101 00)3)结果规格化:[x×y]阶移尾补= = 1,010;0.011 010(001 101 00)= 1,001;0.110 100(011 010 0)4)舍入:设采用0舍1

计算机组成原理知识点总结——详细版

计算机组成原理2009年12月期末考试复习大纲 第一章 1.计算机软件的分类。 P11 计算机软件一般分为两大类:一类叫系统程序,一类叫应用程序。 2.源程序转换到目标程序的方法。 P12 源程序是用算法语言编写的程序。 目标程序(目的程序)是用机器语言书写的程序。 源程序转换到目标程序的方法一种是通过编译程序把源程序翻译成目的程序,另一种是通过解释程序解释执行。 3.怎样理解软件和硬件的逻辑等价性。 P14 因为任何操作可以有软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。对于某一机器功能采用硬件方案还是软件方案,取决于器件价格,速度,可靠性,存储容量等因素。因此,软件和硬件之间具有逻辑等价性。 第二章 1.定点数和浮点数的表示方法。 P16 定点数通常为纯小数或纯整数。 X=XnXn-1…..X1X0 Xn为符号位,0表示正数,1表示负数。其余位数代表它的量值。 纯小数表示范围0≤|X|≤1-2-n 纯整数表示范围0≤|X|≤2n -1

浮点数:一个十进制浮点数N=10E.M。一个任意进制浮点数N=R E.M 其中M称为浮点数的尾数,是一个纯小数。E称为浮点数的指数,是一个整数。 比例因子的基数R=2对二进制计数的机器是一个常数。 做题时请注意题目的要求是否是采用IEEE754标准来表示的浮点数。 32位浮点数S(31)E(30-23)M(22-0) 64位浮点数S(63)E(62-52)M(51-0) S是浮点数的符号位0正1负。E是阶码,采用移码方法来表示正负指数。 M为尾数。P18 P18

2.数据的原码、反码和补码之间的转换。数据零的三种机器码的表示方法。 P21 一个正整数,当用原码、反码、补码表示时,符号位都固定为0,用二进制表示的数位值都相同,既三种表示方法完全一样。 一个负整数,当用原码、反码、补码表示时,符号位都固定为1,用二进制表示的数位值都不相同,表示方法。 1.原码符号位为1不变,整数的每一位二进制数位求反得到反码; 2.反码符号位为1不变,反码数值位最低位加1,得到补码。 例:x= (+122)10=(+1111010)2原码、反码、补码均为01111010 Y=(-122)10=(-1111010)2原码11111010、反码10000101、补码10000110 +0 原码00000000、反码00000000、补码00000000 -0 原码10000000、反码11111111、补码10000000 3.定点数和浮点数的加、减法运算:公式的运用、溢出的判断。 P63 已知x和y,用变形补码计算x+y,同时指出结果是否溢出。 (1)x=11011 y=00011 (2)x=11011 y=-10101 (3)x=-10110 y=-00001

计算机原理试题与答案

全国2004年4月高等教育自学考试 计算机原理试题 课程代码:02384 第一部分选择题(共25分) 一、单项选择题(本大题共25小题,每小题1分,共25分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.计算机中一次处理的最大二进制位数即为() A.位B.字节 C.字长D.代码 2.下列算式中属于逻辑运算的是() A.1+1=2 B.1-1=0 C.1+1=10 D.1+1=1 3.下图所示的门电路,它的逻辑表达式是() A.F=CD AB B.F=ABCD C.F=AB+CD D.F=ABCD 4.八进制数中的1位对应于二进制数的() A.2位B.3位 C.4位D.5位 5.下列叙述正确的是() A.原码是表示无符号数的编码方法 B.对一个数据的原码的各位取反而且在末位再加1就可以得到这个数据的补码

C.定点数表示的是整数 D.二进制数据表示在计算机中容易实现 6.浮点数0.00100011B×2-1的规格化表示是() A.0.1000110B×2-11B B.0.0100011B×2-10B C.0.0100011B×20B D.0.1000110B×21B 7.两个定点数作补码加法运算,对相加后最高位出现进位1的处理是() A.判为溢出B.AC中不保留 C.寄存在AC中D.循环加到末位 8.运算器中通用寄存器的长度一般取() A.8位B.16位 C.32位D.等于计算机字长 9.目前在大多数微型机上广泛使用宽度为32/64位的高速总线是() A.ISA B.EISA C.PCI D.VESA 10.某计算机指令的操作码有8个二进位,这种计算机的指令系统中的指令条数至多为 ()A.8 B.64 C.128 D.256 11.间接访内指令LDA @Ad的指令周期包含CPU周期至少有() A.一个B.二个 C.三个D.四个 12.在程序中,可用转移指令实现跳过后续的3条指令继续执行。这种指令的寻址方式是() A.变址寻址方式B.相对寻址方式

计算机原理第二章 作业题

第二章 作业题 1 进制转换 (1)将二进制数(1111010.00111101)2转换为十六进制数; (2)将十进制数(75.34)10转换为二进制数(小数点后保留8位)及十六进制数(保留2位小数)。 2 码制转换 (1)若X 补=0.1010,写出其原码X 原及其真值X ; (2)若X 补=1.1010,写出其原码X 原及其真值X 。 3 假设采用如图1所示浮点格式,若字长16位,其中阶码6位(含一位阶符),补码表示,以2为底;尾数10位(含一位数符)补码表示,且规格化。某浮点数代码为(A27F)16,写出其十进制真值。 图1 4 设某机器字长为8位: (1)若补码表示的带符号定点整数为11111111,写出其十进制真值; (2)若补码表示的带符号定点小数为11111111,写出其十进制真值。 5 设存储器部分单元的内容如图2所示: 图2 (1) 设(R 0)=1000H ,则采用寄存器直接寻址和间接寻址的操作数分别是什么? (2) 设存储单元地址为1004H ,则采用存储器直接寻址和间接寻址的操作数分别是什么? (3) 设(R 0)=1000H, 采用变址寻址x(R 0)读取操作数,其中形式地址为3H ,则读取的操作数是什么? 6 设当前堆栈状态如图3所示,以字节为单位: (1)(SP) = 1002H ,执行POP R 0后,SP 和R 0的值分别是什么? (2)(SP) = 1002H ,(R 0)=1000H ,执行PUSH R 0后,SP 和R 0的值分别是什么?存储单元 1000H 1001H 1002H 1003H 1004H 1005H 1006H 存储单元内容 地址码

(完整版)计算机组成原理知识点总结

第2章数据的表示和运算 主要内容: (一)数据信息的表示 1.数据的表示 2.真值和机器数 (二)定点数的表示和运算 1.定点数的表示:无符号数的表示;有符号数的表示。 2.定点数的运算:定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。 (三)浮点数的表示和运算 1.浮点数的表示:浮点数的表示范围;IEEE754标准 2.浮点数的加/减运算 (四)算术逻辑单元ALU 1.串行加法器和并行加法器 2.算术逻辑单元ALU的功能和机构 2.3 浮点数的表示和运算 2.3.1 浮点数的表示 (1)浮点数的表示范围 ?浮点数是指小数点位置可浮动的数据,通常以下式表示: N=M·RE 其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R

为一常数,一般为2、8或16。在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。 浮点数的机内表示 浮点数真值:N=M ×2E 浮点数的一般机器格式: 数符阶符阶码值 . 尾数值 1位1位n位m位 ?Ms是尾数的符号位,设置在最高位上。 ?E为阶码,有n+1位,一般为整数,其中有一位符号位EJ,设置在E的最高位上,用来表示正阶或负阶。 ?M为尾数,有m位,为一个定点小数。Ms=0,表示正号,Ms=1,表示负。 ?为了保证数据精度,尾数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于0.5。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。 浮点数的机内表示 阶码通常为定点整数,补码或移码表示。其位数决定数值范围。阶符表示数的大小。 尾数通常为定点小数,原码或补码表示。其位数决定数的精度。数符表示数的正负。

计算机组成原理考研知识点汇总

计算机组成原理考研知 识点汇总 一, 计算机系统概述 (一) 计算机发展历程 第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了18000电子管,1500继电器,重30吨,占地170m2,耗电140kw,每秒计算5000次加法.冯?诺依曼(VanNeumann)首次提出存储程序概念,将数据和程序一起放在存储器,使编程更加方便.50年来,虽然对冯?诺依曼机进行很多改革,但结构变化不大,仍称冯?诺依曼机. 发展阶段时间硬件技术速度/(次/秒) 第一代1946-1957 电子管计算机时代40 000 第二代1958-1964 晶体管计算机时代200 000 第三代1965-1971 中小规模集成电路计算机时代 1 000 000 第四代1972-1977 大规模集成电路计算机时代10 000 000 第五代1978-现在超大规模集成电路计算机时代100 000 000 EDVAC(Electronic Discrete Variable Automatic Computer)电子离散变量计算机 组成原理是讲硬件结构的系统结构是讲结构设计的 摩尔定律微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长一倍. 每代芯片的成本大约为前一代芯片成本的两倍 新摩尔定律全球入网量每6个月翻一番. 数学家冯·诺依曼(von Neumann)在研究EDVAC机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯·诺依曼机.它有如下特点: ①计算机由运算器,控制器,存储器,输入和输出五部分组成 ②指令和数据以同等的地位存放于存储器内,并可按地址寻访 ③指令和数据均用二进制数表示 ④指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置 ⑤指令在存储器内按顺序存放 ⑥机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成 图中各部件的功能 ·运算器用来完成算术运算和逻辑运算并将的中间结 果暂存在运算器内 ·存储器用来存放数据和程序 ·控制器用来控制,指挥程序和数据的输入,运行以及 处理运行结果 ·输入设备用来将人们熟悉的信息转换为机器识别的 信息 ·输出设备将机器运算结果转为人熟悉的信息形式

计算机组成原理-第二版-唐朔飞著-课后习题详解

第1章计算机系统概论 2. 如何理解计算机的层次结构? 答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。 (1)硬件系统是最内层的,它是整个计算机系统的基础和核心。 (2)系统软件在硬件之外,为用户提供一个基本操作界面。 (3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。 通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。 4. 如何理解计算机组成和计算机体系结构? 答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。 5. 冯?诺依曼计算机的特点是什么? 解:冯?诺依曼计算机的特点是:P8 ●计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成; ●指令和数据以同同等地位存放于存储器内,并可以按地址访问; ●指令和数据均用二进制表示; ●指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地 址码用来表示操作数在存储器中的位置;

●指令在存储器中顺序存放,通常自动顺序取出执行; ●机器以运算器为中心(原始冯?诺依曼机)。 6. 画出计算机硬件组成框图,说明各部件的作用及计算机系统的主要技术指标。答:计算机硬件组成框图如下: 各部件的作用如下: 控制器:整机的指挥中心,它使计算机的各个部件自动协调工作。 运算器:对数据信息进行处理的部件,用来进行算术运算和逻辑运算。 存储器:存放程序和数据,是计算机实现“存储程序控制”的基础。 输入设备:将人们熟悉的信息形式转换成计算机可以接受并识别的信息形式的设备。 输出设备:将计算机处理的结果(二进制信息)转换成人类或其它设备可以接收和识别的信息形式的设备。 计算机系统的主要技术指标有: 机器字长:指CPU一次能处理的数据的位数。通常与CPU的寄存器的位数有关,字长越长,数的表示范围越大,精度也越高。机器字长也会影响计算机的运算速度。

计算机组成原理试题及答案

二、填空题 1 字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(ASCII)码。P23 2 按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。其中阶码E的值等于指数的真值(e)加上一个固定的偏移值(127)。P17 3 双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间)并行技术,后者采用(时间)并行技术。P86 4 衡量总线性能的重要指标是(总线带宽),它定义为总线本身所能达到的最高传输速率,单位是(MB/s)。P185 5 在计算机术语中,将ALU控制器和()存储器合在一起称为()。 6 数的真值变成机器码可采用原码表示法,反码表示法,(补码)表示法,(移码)表示法。P19-P21 7 广泛使用的(SRAM)和(DRAM)都是半导体随机读写存储器。前者的速度比后者快,但集成度不如后者高。P67 8 反映主存速度指标的三个术语是存取时间、(存储周期)和(存储器带宽)。P67 9 形成指令地址的方法称为指令寻址,通常是(顺序)寻址,遇到转移指令时(跳跃)寻址。P112 10 CPU从(主存中)取出一条指令并执行这条指令的时间和称为(指令周期)。 11 定点32位字长的字,采用2的补码形式表示时,一个字所能表示

的整数范围是(-2的31次方到2的31次方减1 )。P20 12 IEEE754标准规定的64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位,则它能表示的最大规格化正数为(+[1+(1-2 )]×2 )。 13 浮点加、减法运算的步骤是(0操作处理)、(比较阶码大小并完成对阶)、(尾数进行加或减运算)、(结果规格化并进行舍入处理)、(溢出处理)。P54 14 某计算机字长32位,其存储容量为64MB,若按字编址,它的存储系统的地址线至少需要(14)条。64×1024KB=2048KB(寻址范32围)=2048×8(化为字的形式)=214 15一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共(20)位,其中主存字块标记应为(9)位,组地址应为(5)位,Cache地址共(13)位。 16 CPU存取出一条指令并执行该指令的时间叫(指令周期),它通常包含若干个(CPU周期),而后者又包含若干个(时钟周期)。P131 17 计算机系统的层次结构从下至上可分为五级,即微程序设计级(或逻辑电路级)、一般机器级、操作系统级、(汇编语言)级、(高级语言)级。P13 18十进制数在计算机内有两种表示形式:(字符串)形式和(压缩的十进制数串)形式。前者主要用在非数值计算的应用领域,后者用于直接完成十进制数的算术运算。P19 19一个定点数由符号位和数值域两部分组成。按小数点位置不同,

计算机组成原理(唐朔飞) 复习资料

第1章计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:P3 计算机系统:由计算机硬件系统和软件系统组成的综合体。 计算机硬件:指计算机中的电子线路和物理装置。 计算机软件:计算机运行所需的程序及相关资料。 硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。 2. 如何理解计算机的层次结构? 答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。 (1)硬件系统是最内层的,它是整个计算机系统的基础和核心。 (2)系统软件在硬件之外,为用户提供一个基本操作界面。 (3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。 通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。3. 说明高级语言、汇编语言和机器语言的差别及其联系。 答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。 5. 冯?诺依曼计算机的特点是什么? 解:冯?诺依曼计算机的特点是:P8 ●计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成; ●指令和数据以同同等地位存放于存储器内,并可以按地址访问; ●指令和数据均用二进制表示; ●指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置; ●指令在存储器中顺序存放,通常自动顺序取出执行; ●机器以运算器为中心(原始冯?诺依曼机)。 6. 画出计算机硬件组成框图,说明各部件的作用及计算机系统的主要技术指标。 答:计算机硬件组成框图如下: 控制器 运算器 CPU 主机存储器 输入设备 接口 输出设备 接口 外设 各部件的作用如下: 控制器:整机的指挥中心,它使计算机的各个部件自动协调工作。 运算器:对数据信息进行处理的部件,用来进行算术运算和逻辑运算。 存储器:存放程序和数据,是计算机实现“存储程序控制”的基础。 输入设备:将人们熟悉的信息形式转换成计算机可以接受并识别的信息形式的设备。 输出设备:将计算机处理的结果(二进制信息)转换成人类或其它设备可以接收和识别的信息形式的设备。 计算机系统的主要技术指标有: 机器字长:指CPU一次能处理的数据的位数。通常与CPU的寄存器的位数有关,字长越长,数的表示范围越大,精度也越高。机器字长也会影响计算机的运算速度。 数据通路宽度:数据总线一次能并行传送的数据位数。 存储容量:指能存储信息的最大容量,通常以字节来衡量。一般包含主存容量和辅存容量。

计算机组成原理参考答案汇总

红色标记为找到了的参考答案,问答题比较全,绿色标记为个人做的,仅供参考!第一章计算机系统概述 1. 目前的计算机中,代码形式是______。 A.指令以二进制形式存放,数据以十进制形式存放 B.指令以十进制形式存放,数据以二进制形式存放 C.指令和数据都以二进制形式存放 D.指令和数据都以十进制形式存放 2. 完整的计算机系统应包括______。 A. 运算器、存储器、控制器 B. 外部设备和主机 C. 主机和实用程序 D. 配套的硬件设备和软件系统 3. 目前我们所说的个人台式商用机属于______。 A.巨型机 B.中型机 C.小型机 D.微型机 4. Intel80486是32位微处理器,Pentium是______位微处理器。 A.16B.32C.48D.64 5. 下列______属于应用软件。 A. 操作系统 B. 编译系统 C. 连接程序 D.文本处理 6. 目前的计算机,从原理上讲______。 A.指令以二进制形式存放,数据以十进制形式存放 B.指令以十进制形式存放,数据以二进制形式存放 C.指令和数据都以二进制形式存放 D.指令和数据都以十进制形式存放 7. 计算机问世至今,新型机器不断推陈出新,不管怎样更新,依然保有“存储程序”的概念,最早提出这种概念的是______。 A.巴贝奇 B.冯. 诺依曼 C.帕斯卡 D.贝尔 8.通常划分计算机发展时代是以()为标准 A.所用的电子器件 B.运算速度 C.计算机结构 D.所有语言 9.到目前为止,计算机中所有的信息任以二进制方式表示的理由是() A.节约原件 B.运算速度快 C.由物理器件的性能决定 D.信息处理方便 10.冯.诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是() A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段 D.指令和数据所在的存储单元 11.计算机系统层次结构通常分为微程序机器层、机器语言层、操作系统层、汇编语言机器层和高级语言机器层。层次之间的依存关系为() A.上下层都无关 B.上一层实现对下一层的功能扩展,而下一层与上一层无关 C.上一层实现对下一层的功能扩展,而下一层是实现上一层的基础

第二章 计算机组成原理 练习题(带答案)

一、判断题 1. 在使用配置了触摸屏的多媒体计算机时,可不必使用鼠标器。T 2. 盘和内存之间以簇为单位交换数据。F 3. 光盘是一种可读不可写的存储器。F 4. 显示器直接与AGP接口相连。F 5. 激光打印机使用的墨水质量很高。F 6. 扫描仪工作时,将被扫描的图件正面朝上。F 7 .数码相机的成像技术与传统相机的成像技术基本相同。F 8. CMOS是一种易失性存储器。T 9 .SRAM比DRAM速度慢。F 10.ROM是非易失性存储器。T 11.利用Cache能加快程序的运行速度,其依据的原理是Cache速度快。F 12.主存储器的编址单位是字节。T 13.I/O控制器可以完全脱离CPU控制I/O操作的全过程。F 14.CPU总线、存储器总线和I/O总线统称系统总线。T 15.I/O接口就是用于连接I/O设备的各种插头插座。F 16.总线控制器包含在主板的芯片组内。T 17.USB接口按双向并行方式传输数据。F 18.ALU与浮点运算器可以同时进行整数和实数的运算。T 19.CPU的工作频率即CPU总线频率。F 20.计算机常用的输入设备为键盘、鼠标,常用的输出设备有显示器、打印机。T 21.不同厂家生产的计算机一定互相不兼容。F 22.PC机的主存储器包含大量的存储单元,每个存储单元都可以存放8个Byte。F 23.在使用输入设备进行输入时,目前还只能输入文字、命令和图像,无法输入声音。F 24.为了提高CPU访问硬盘的工作效率,硬盘通过将数据存储在一个比其速度快得多的缓冲区 来提高与CPU交换的速度,这个区就是高速缓冲区,它是由DRAM芯片构成的。T 25.在一台已感染病毒的计算机上读取一张CD-ROM光盘中的数据,该光盘也有可能被感染病 毒。F 26.存储容量是数码相机的一项重要性能,不论拍摄质量如何,存储容量大的数码相机可拍摄 的相片数量肯定比存储容量小的相机多。F 27.绘图仪、扫描仪、显示器、音箱等均属于输出设备。F 28.PC机的主板又称为母板,上面可安装CPU、内存储器、总线、I/O控制器等部件,它们 是PC机的核心。T 29.由于硬盘的外部传输速率要小于内部传输速率,所以外部传输速率的高低是评价硬盘整体 性能的决定性因素。F 30. PC机中常用的外围设备都通过各自的扩充卡与主板相连,这些扩充卡只能插在主板上的 PCI总线插槽中。T 31.大部分数码相机采用CCD成像芯片,CCD芯片中有大量的CCD像素,像素越多影像的分辨 率(清晰度)就越高,生成的数字图像也越小。T 32. 高速缓存(Cache)可以看做主存的延伸,与主存统一编址,接受CPU的访问,但其速度要 比主存高得多。F

微机原理知识点总结

第一章概述 1.IP核分为3类,软核、硬核、固核。特点对比 p12 第二章计算机系统的结构组成与工作原理 1. 计算机体系结构、计算机组成、计算机实现的概念与区别。P31 2. 冯·诺依曼体系结构: p32 硬件组成五大部分 运算器、存储器、控制器、输入设备、输出设备,以存储器为中心 信息表示:二进制计算机内部的控制信息和数据信息均采用二进制表示,并存放在同一个存储器中。 工作原理:存储程序/指令(控制)驱动编制好的程序(包括指令和数据)预先经由输入设备输入并保存在存储器中 3.接口电路的意义 p34 第二段 接口一方面应该负责接收、转换、解释并执行总线主设备发来的命令,另一方面应能将总线从设备的状态或数据传送给总线主设备,从而完成数据交换。 4.CPU组成:运算器、控制器、寄存器。P34 运算器的组成:算术逻辑单元、累加器、标志寄存器、暂存器 5.寄存器阵列p35 程序计数器PC,也称为指令指针寄存器。存放下一条要执行指令的存放地址。 堆栈的操作原理应用场合:中断处理和子程序调用 p35最后一段 6. 计算机的本质就是执行程序的过程p36 7. 汇编语言源程序——汇编——>机器语言程序 p36 8. 指令包含操作码、操作数两部分。执行指令基本过程:取指令、分析指令、执行指令。简答题(简述各部分流程)p37 9. 数字硬件逻辑角度,CPU分为控制器与数据通路。P38 数据通路又包括寄存器阵列、ALU、片上总线。 10. 冯·诺依曼计算机的串行特点p38 串行性是冯·诺依曼计算机的本质特点。表现在指令执行的串行性和存储器读取的串行性。也是性能瓶颈的主要原因。 单指令单数据 11. CISC与RISC的概念、原则、特点。对比着看 p39、40

计算机组成原理试题及答案

《计算机组成原理》试题 一、(共30分) 1.(10分) (1)将十进制数+107/128化成二进制数、八进制数和十六进制数(3分) (2)请回答什么是二--十进制编码?什么是有权码、什么是无权码、各举一个你熟悉的有权码和无权码的例子?(7分) 2.已知X=0.1101,Y=-0.0101,用原码一位乘法计算X*Y=?要求写出计算过程。(10分) 3.说明海明码能实现检错纠错的基本原理?为什么能发现并改正一位错、也能发现二位错,校验位和数据位在位数上应满足什么条件?(5分) 4.举例说明运算器中的ALU通常可以提供的至少5种运算功能?运算器中使用多累加器的好处是什么?乘商寄存器的基本功能是什么?(5分) 二、(共30分) 1.在设计指令系统时,通常应从哪4个方面考虑?(每个2分,共8分) 2.简要说明减法指令SUB R3,R2和子程序调用指令的执行步骤(每个4分,共8分) 3.在微程序的控制器中,通常有哪5种得到下一条指令地址的方式。(第个2分,共10分) 4.简要地说明组合逻辑控制器应由哪几个功能部件组成?(4分) 三、(共22分) 1.静态存储器和动态存储器器件的特性有哪些主要区别?各自主要应用在什么地方?(7分) 2.CACHE有哪3种基本映象方式,各自的主要特点是什么?衡量高速缓冲存储器(CACHE)性能的最重要的指标是什么?(10分) 3.使用阵列磁盘的目的是什么?阵列磁盘中的RAID0、RAID1、RAID4、RAID5各有什么样的容错能力?(5分) 四、(共18分) 1.比较程序控制方式、程序中断方式、直接存储器访问方式,在完成输入/输出操作时的优缺点。(9分) 2.比较针式、喷墨式、激光3类打印机各自的优缺点和主要应用场所。(9分) 答案 一、(共30分) 1.(10分) (1) (+107/128)10 = (+1101011/10000000)2 = (+0.1101011)2 = (+0.153)8 = (+6B)16 (2) 二-十进制码即8421码,即4个基2码位的权从高到低分别为8、4、2、1,使用基码的0000,0001,0010,……,1001这十种组合分别表示0至9这十个值。4位基二码之间满足二进制的规则,而十进制数位之间则满足十进制规则。 1

计算机组成原理知识点(word文档物超所值)

1.各种进制之间的转换 2.冯诺依曼机器特点,基本思想P8 1)计算机由五大部件组成:运算器,存储器,控制器,输入设备,输出设备 2)指令和数据以同等地位存于存储器,可按地址寻访 3)指令和数据用二进制表示 4)指令由操作码和地址码组成 5)指令在存储器内顺序存放 6)以运算器为中心 3.总线分类P43 总线是连接各个部件的信息传输线,是各个部件共享的传输介质。 1)片内总线:芯片内部的总线(CPU内部,寄存器与寄存器之间,寄存器与逻辑单元) 2)系统总线(CPU、主存I/O设备等各大部件间信息传输线) A.数据总线双向数据信息传输,与机器字长,存储字长有关 B.地址总线单向由CPU输出 C.控制总线双向发出各种控制信号 3)通信总线 A.串行数据在单条1位宽的传输线上,适用于远距离 B.并行数据在多条1位宽的传输线上,适用于近距离 4.总线带宽,宽度P46 ◆带宽:总线的数据传输速率,通常用每秒传输的字节数来衡量,单位MBps (即为:频率*字节数) ◆宽度:数据总线的根数 5.总线的判优控制方式P57 ◆主设备(模块) 对总线有控制权 ◆从设备(模块) 响应从主设备发来的总线命令 ◆总线判优控制 A.集中式:将逻辑集中在一处(1.链式查询2.计数式定时查询3.独立请求方式) B.分布式:将逻辑分散在各个部件中 6.总线通信控制P59 ◆四种方式 A.同步通信:通信双方统一时标控制数据传送 B.异步通信:采用应答方式,没有公共时钟标准 C.半同步通信:同步异步结合 D.分离式通信:各模块有权申请占用总线;采用同步方式通信,不等对方回答;各 模块准备数据时,不占用总线;总线被占用时,无空闲; 7.总线接口的功能 使外部设备或用户电路与微型计算机成为一体,控制数据缓存状态设置,数据转换整理程序中断 8.存取周期=存取时间+恢复时间 9.存储器分类及其特点P69 ◆按存储介质分类 1)半导体存储器 2)磁表面存储器 3)磁芯存储器

计算机原理 试题及答案

计算机组成原理试卷A 一、选择题(每小题2分,共30分) 1.下列数中最小的数是______。 A.(100100)2 B.(43)8 C.(110010)BCD D.(25)16 2.计算机经历了从器件角度划分的四代发展历程,但从系统结构上来看,至今绝大多数计算机仍属于______型计算机。 A.实时处理 B.智能化 C.并行 D.冯.诺依曼 3.存储器是计算机系统中的记忆设备,它主要用来______。 A.存放数据 B.存放程序 C.存放微程序 D.存放数据和程序 4.以下四种类型指令中,执行时间最长的是______。 A.RR型指令 B.RS型指令 C.SS型指令 D.程序控制指令 5. 计算机的外围设备是指______。 A.输入/输出设备 B.外存储器 C.远程通信设备 D.除了CPU和内存以外的其它设备 6.堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,M SP为SP指示器的栈顶单元,如果操作动作是:(A)→M SP,(SP)-1→SP,那么出栈操作的动作应为______。 A.(M SP)→A,(SP)+1→SP B.(SP)+1→SP,(M SP)→A C.(SP)-1→SP,(M SP)→A D.(M SP)→A,(SP)-1→SP 7.某寄存器中的值有时是地址,因此只有计算机的______才能识别它。 A.译码器 B.判别程序 C.指令 D.时序信号 8. 寄存器间接寻址方式中,操作数处在______。 A.通用寄存器 B.主存单元 C.程序计数器 D.堆栈 9. 假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校验的字符码是______。 A.11001011 B.11010110 C.11000001 D.1100101 10.不是发生中断请求的条件是______。 A.一条指令执行结束 B.一次I/O操作结束 C.机器内部发生故障 D.一次DMA操作结束 11.指令系统中采用不同寻址方式的目的主要是______。 A实现存贮程序和程序控制B缩短指令长度,扩大寻址空间,提高编程灵活性C可以直接访问外存D提供扩展操作码的可能并降低指令译码难度 12.某SRAM芯片,其容量为512×8位,除电源和接地端外,该芯片引出线的最小数目应 是______。 A 23 B 25 C 50 D 19 13.算术右移指令执行的操作是______。 A 符号位填0,并顺次右移1位,最低位移至进位标志位;

《计算机组成原理》第2章习题解答

第二章习题解答 1.设机器数的字长8位(含1位符号位),分别写出下列各二进制数的原码、补码和 反码:0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101。 解: 2.写出下列各数的原码、补码和反码:7/16,4/16,1/16,±0,-7/16,-4/16,-1/16。解: 7/16=7*2-4=0.0111 4/16=4*2-4=0.0100 1/16=1*2-4=0.0001 真值原码补码反码 7/16 0.0111 0.0111 0.0111 4/16 0.0100 0.0100 0.0100 1/16 0.0001 0.0001 0.0001 +0 O.0OOO O.0OOO O.0OOO -0 1.0OOO O.0OOO 1.1111 -1/16 1.0OO1 1.1111 1.1110 -4/16 1.0100 1.1100 1.1011 -7/16 1.0111 1.1001 1.1000 3.已知下列数的原码表示,分别写出它们的补码表示:[X1]原=O.10100,[X2]原=l.10111。 解:[X1]补=0.10100,[X2]补=1.01001。 4.已知下列数的补码表示,分别写出它们的真值:[X1]补=O.10100,[X2]补=1.10111。 解: X1=O.10100, X2=-0.01001。 5.设一个二进制小数X≥0,表示成X=0.a1a2a3a4a5a6,其中a1~a6取“1”或“O”: (1)若要X>1/2,a1~a6要满足什么条件? (2)若要X≥1/8,a1~a6要满足什么条件? (3)若要1/4≥X>1/16,a1~a6要满足什么条件? 解:(1) X>1/2的代码为: 0.100001~0.111111。

计算机组成原理知识点总结

《计算机组成原理》(白中英)复习 第一章计算机系统概论 电子数字计算机的分类(P1) 通用计算机(超级计算机、大型机、服务器、工作站、微型机和单片机)和专用计算机。计算机的性能指标(P5) 数字计算机的五大部件及各自主要功能(P6) 五大部件:存储器、运算器、控制器、输入设备、输出设备。 存储器主要功能:保存原始数据和解题步骤。 运算器主要功能:进行算术、逻辑运算。 控制器主要功能:从内存中取出解题步骤(程序)分析,执行操作。 输入设备主要功能:把人们所熟悉的某种信息形式变换为机器内部所能接收和识别的二进制信息形式。 输出设备主要功能:把计算机处理的结果变换为人或其他机器所能接收和识别的信息形式。 计算机软件(P11) 系统程序——用来管理整个计算机系统 应用程序——按任务需要编制成的各种程序 第二章运算方法和运算器 课件+作业 第三章内部存储器 存储器的分类(P65) 按存储介质分类: 易失性:半导体存储器 非易失性:磁表面存储器、磁芯存储器、光盘存储器 按存取方式分类: 存取时间与物理地址无关(随机访问): 随机存储器RAM——在程序的执行过程中可读可写 只读存储器ROM——在程序的执行过程中只读 存取时间与物理地址有关(串行访问): 顺序存取存储器磁带 直接存取存储器磁盘 按在计算机中的作用分类: 主存储器:随机存储器RAM——静态RAM、动态RAM 只读存储器ROM——MROM、PROM、EPROM、EEPROM Flash Memory 高速缓冲存储器(Cache) 辅助存储器——磁盘、磁带、光盘 存储器的分级(P66) 存储器三个主要特性的关系:速度、容量、价格/位 多级存储器体系结构:高速缓冲存储器(cache)、主存储器、外存储器。 主存储器的技术指标(P67) 存储容量:存储单元个数M×每单元位数N 存取时间:从启动读(写)操作到操作完成的时间 存取周期:两次独立的存储器操作所需间隔的最小时间,时间单位为ns。

计算机原理-答案

《计算机原理》答案 一、填空题 1、1024 1024 1024 2、运算器、控制器、存储器、输入设备、输出设备 1、内存储器外存储器 2、打字键区_、功能键区、游标/控制键区__、数字键区_ 3、处理器、文件、存储器、作业、 4、多任务、图形界面 5、您的计算机进入睡眠状态、关闭计算机、重新启动计算机和重新启动计算机并切换到 MS___DOS方式(M)。 6、两 7、三 8、用户的帐号 9、不同性质的概念 二、简答题 1、简述计算机的工作原理。 计算机仅有硬件,计算机只有运算的可能性,如果计算机进行计算、控制等功能的话,计算机还必须配有必要的软件。所谓软件就是指使用计算机的各种程序。(1)指令和程序的概念指令就是让计算机完成某个操作所发出的指令或命令,即计算机完成某个操作的依据。 一条指令通常有两个部分组成,前面是操作码部分,后面是操作数部分。操作码是指该指令要完成的操作,操作数是指参加运算的数或者数所在的单元地址。一台计算机的所有指令的集合,称为该计算机的指令系统。 使用者根据解决某一问题的步骤,选用一条条指令进行有许的排列。计算机执行了这一指令序列,便可完成预定的任务。这一指令序列就称为程序。显然,程序中的每一条指令必须是所用计算机的指令系统中的指令,因此指令系统是系统提供给使用者编制程序的基本依据。指令系统反映了计算机的基本功能,不同的计算机其指令系统也不相同。 (2)计算机执行指令的过程 计算机执行指令一般分为两个阶段:第一阶段,将要执行的指令从内存取到CPU内;第二阶段,CPU对屈辱的该指令进行分析译码,判断该条指令要完成的操作,然后向各部件发出完成该操作的控制信号,完成该指令的功能。当一条指令执行完后就进入下一条指令的取指操作。一般将第一阶段取指令的操作称为取指周期,将第二阶段称为执行周期。 (3)程序的执行过程 程序是一系列指令的有序集合构成,计算机执行程序就是、执行这系列指令。CPU从内存读出一条指令到CPU执行,该指令执行完,再从内存读出下一条指令到CPU内执行。CPU 不断取指令,执行指令,这就是程序的执行过程。 2、计算机有哪些应用领域? 目前,电子计算机已经在工业、农业、财贸、经济、国防、科技及社会生活的各个领域中得到极其广泛的应用。归纳起来分以下几个方面。科学计算数据处理自动控制计算机辅助工程人工智能 3、什么是操作系统? 操作系统是计算机软件系统的核心和基础,它提供了软件开发和运行的环境。有了操作系统,计算机的各个部件才得以协调工作,得到有效管理。 4、文档是如何创建、关闭和打开的?其内容是如何进行复制、删除和移动的? 创建;在WORD窗口中选择文件菜单中的新建,即可新建一个文档 关闭:所谓关闭文档,即对当前文档存盘并退出对该文档的处理,只需要在文件菜单中选择关闭命令,或者用鼠标单击文档窗口右上角的关闭按钮。如果关闭文档之前尚未保存文档,则系统会给出提示,询问是否保存对该文档的修改。 打开;(1)在WINDOWS的资源管理器中或我的电脑窗口中找到需要打开的WORD文档,然后

计算机组成原理知识点总结

一.计算机硬件系统组成的基本概念 1.要求考生理解计算机系统的层次结构 第一级微程序机器级(微指令系统):微指令由硬件直接执行 第二级传统机器级(机器语言):它用微程序解释机器指令系统 第三级操作系统级:用机器语言程序解释作业控制语句 第四级汇编语言机器级:用汇编程序翻译成机器语言程序 第五级高级语言机器级:用汇编程序翻译成汇编程序或直接翻译成机器语言 2.要求考生掌握计算机硬件系统的组成 1.CPU:CPU的主要功能室读取并执行指令,在执行指令过程中,它向系统中各个部件发出控制信息,收集各部件的状态信息,与各部件交换数据信息。 CPU由运算部件,寄存器组,控制器组成。 2.存储器:存储器用来存储信息,包括程序、数据、文档。 分为主存(内存)、外存、高速缓存(Cache)三级存储器。 3.输入/输出设备 4.总线:总线是一组能为多个不见分时共享的信息传送线。 系统总线可分为地址总线、数据总线、控制总线。 5.接口:为了将标准的系统总线与各具特色的I/O设备连接起来,需要在总线与I/O设备之间设置一些部件,它们具有缓冲,转换,连接等功能,这些部件称为I/O接口。 3.冯诺依曼机的要素 冯诺依曼体制的主要思想包括: 1.采用二进制代码形式表示信息(数据和指令); 2.采用存储程序的工作方式(诺依曼思想核心概念); 3.计算机硬件系统由五大部件(存储器、运算器、控制器,输入设备和输出设备)组成。 传统的诺依曼机采用串行处理的工作机制,即逐条执行指令序列。要想提高计算机的性能,其根本方向之一是采用并行处理机制。 4.存储程序的工作原理 存储程序包含三点:事先编制程序,先存储程序,自动、连续地执行程序。 1.根据求解问题事先编制程序 2.事先将程序存入计算机中 3.计算机自纵、连续地执行程序 5.要求考生了解信息的数字化表示所需的主要步骤及优点 1.在物理上容易实现信息的表示与存储 2.考干扰能力强,可靠性高 3.数值的表示范围大,表示精度高 4.可表示的信息类型极广 5.能用数字逻辑技术进行信息处理 6.要求考生了解计算机系统的主要性能指标 1.基本字长:指参加一次定点运算的操作数的位数。基本字长影响计算精度,硬件成本,甚至指令系统的功能。

计算机组成原理第版唐朔飞答案

第1 章计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3 计算机系统:由计算机硬件系统和软件系统组成的综合体。计算机硬件:指计算机中的电子线路和物理装置。计算机软件:计算机运行所需的程序及相关资料。硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。 5. 冯?诺依曼计算机的特点是什么?解:冯?诺依曼计算机的特点是:P8 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;指令和数据以同同等地位存放于存储器内,并可以按地址访问;指令和数据均用二进制表示;指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置; 指令在存储器中顺序存放,通常自动顺序取出执行;机器以运算器为中心(原始冯?诺依曼 机)。 7. 解释下列概念: 主机、CPU主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 解:P9-10 主机:是计算机硬件的主体部分,由CPU和主存储器MM合成为主机。 CPU中央处理器,是计算机硬件的核心部件,由运算器和控制器组成;(早期的运算器和 控制器不在同一芯片上,现在的CPU内除含有运算器和控制器外还集成了CACHE。 主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。 存储单元:可存放一个机器字并具有特定存储地址的存储单位。存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。 存储字:一个存储单元所存二进制代码的逻辑单位。存储字长:一个存储单元所存二进制代码的位数。 存储容量:存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)。 机器字长:指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。 指令字长:一条指令的二进制代码位数。 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 ,乘商寄存器,乘法运算时存放乘数、除法时存放商

相关文档
相关文档 最新文档