搜档网
当前位置:搜档网 › 唐朔飞 《计算机组成原理》课后答案

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

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

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

第一章

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入法,应舍:[x×y]阶移尾补=1,001;0. 110 100 5)溢出:无x×y=2001×0.110 100 方案二:采用阶补尾原格式计算:[x]阶补尾原=1,101;1.100 111 [y]阶补尾原=0,101;1.101 011 1)阶码相加:[Ex]补+[Ey]补=11,101+ 00,101 =00,010(无溢出)原码一位乘:部分积乘数y* 0 . 0 0 0 0 0 0 . 1 0 1 0 1 1 1 0 . 0 1 0 0 1 1 →—— +x* + 0 . 1 0 0 1 1 1 0 . 1 0 0 1 1 1 1 .

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

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

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

[Mx × My]原=0.011 010(001 101)3)结果规格化:[x×y]阶补尾原= = 0,010;0.011 010(001 101)= 0,001;0.110 100(011 01)4)舍入:设采用0舍1入法,应舍:[x×y]阶补尾原=0,001;0. 110 100 5)溢出:无x×y=2001×0.110 100

28. 机器数格式同上题,要求阶码用移码运算,尾数用补码运算,计算x÷y。(1)x=2101×0.100111,y=2011×(-0.101011);(2)x=2110×(-0.101101),y=2011×(-0.111100)。

解:先将x、y转换成机器数形式:(1)[x]阶移尾补=1,101;0.100 111 [y]阶移尾补=1,011;1.010 101 1)阶码相减:[Ex]移+[-Ey]补=01,101+11,101 =01,010(无溢出)2)尾数相除:(补码加减交替除法)被除数(余数)商0 0 . 1 0 0 1 1 1 0 .

0 0 0 0 0 0 试减,+ 1 1 . 0 1 0 1 0 1 Mx、My异号,+[My]补 1 1 . 1 11 1 . 1 1 1 0 0 0 1 . + 0 0 . 1 0 1 0←1 1 0 0 10 1 . 0 0 0 1 1←1 1 r、My同号,+[-My]补0 0 . 1 0 0 0 1 1 1 0 1.0 + 1 1 . 0 1 0 1 0 1 r、My异号,+[My]补0 0 . 1 1 0 1 1 0 1.0 0 + 1 1 . 0←0 0 .

0 1 1 0 1 1 1 1 0 1 0 1 r、My异号,+[My]补0 0 . 0 0 1 0

1 1

续:被除数(余数)0 0 . 0 1 0 1 1 0 1 . 0 0 0 + 1 1 .

0 1 0←商11 1 . 0 1 0 1 1← 1 0 1 r、My异号,+[My]补 1 1 .

1 0 1 0 1 1 1 0 1.0 0 0 1 + 0 0 . 1 0 1 0 1 1 r、My同号,+[-My]补0 0 . 0 0 0 0 1 0 1.0 0 0 1 0 + 1 1 .←0 0 . 0 0 0 0 0 1 1 1.0 0 0 1←0 1 0 1 0 1 r、My异号,+[My]补 1 1 . 0 1 0 1 1 1 1 0 1 ——恒置1 + 0 0 . 1 0 1 0 1 1 r、Mx异号,(恢复余数)0 0 . 0 0 0 0 1 My]补= 1.000 101,[r]补=0.000 010 r= 0 .000÷0 且r、My同号,+[-My]补[Mx 2-6 =0.000 000 000 010?010

3)结果规格化:已是规格化数。4)舍入:已恒置1舍入。5)溢出:无y=2010×(-0.111 011)方案二:采用阶补尾原形式:÷y]阶移尾补=1,010;1.000 101 x ÷[x [x]阶补尾原=0,101;0.100 111 [y]阶补尾原=0,011;1.101 011 1)阶码相减:[Ex]补+[-Ey]补=00,101+11,101 =00,010(无溢出)2)尾数相除:(原码加减交替除法)被除数(余数)商0 0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 试减,+ 1 1 . 0 1 0 1 0 1 +[-My*]补 1 1 . 1

1 1 0 0 0 0 . + 0 0 .←1 1 . 1 1 1 1 0 0 10←0,+My* 0 0 .

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

0 0 . 0 1 0 1 1 0 ←续:被除数(余数)商1 0,+[-My*]补 1 1 . 1>0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 r1 1 . 0 1 0 1 1 0 0.1 1 1 0 + 0 0 . 1 0 1 ←0 1 0 1 1 10 0 . 0 0 0 0←0,+My* 0 0 . 0 0 0 0 0 1 1<0 1 1 r 0,>1 0 0.1 1 1 0 1 + 1 1 . 0 1 0 1 0 1 r 0.1 1 1 0 1 0 + 0 0 . 1 0 1 0 1←+[-My*]补 1 1 . 0 1 0 1 1 1 1 0 ,恢复余数,+My* 0 0 . 0 0 0 0 1 0 <1 r 2-6 =0.000 000 000 010?My]原= 1.111 010 r*= 0 .000 010 ÷[Mx

÷y]阶补尾原=0,010;1.111 010 x ÷3)结果规格化:已是规格化数。4)舍入:无5)溢出:无[x y=2010×(-0.111 010)(2)x=2110×(-0.101 101)y=2011×(-0.111 100)[x]阶移尾补=1,110;

1.010 011 [y]阶移尾补=1,011;1.000 100 1)阶码相减:[Ex]移+[-Ey]补=01,110+11,101 =01,011(无溢出)2)尾数相除:(补码加减交替除法)被除数(余数)商 1 1 . 0 1 0 0 1 1 0 .

0 0 0 0 0 0 试减,+ 0 0 . 1 1 1 1 0 0 Mx、My同号,+[-My]补0 0 . 00 0 . 0 1 1 1 1 0 0 . + 1 1 . 0 0 0 ←0 1 1 1 1 11 1 . 0 0 0 1 0←1 0 0 r、My异号,+[My]补 1 1 .

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

0 0 0 1 0 0 1 0 0 0.1 0 1 1 + 0 0 . 1 1 1 1 0 0 r、My 同号,+[-My]补1 0 . 0 0 1 0 0 0 0.1 0 1 1 1 + 0 0← 1 1 . 0 0 0 1 0 0 1 0.1 0 1 ←. 1 1 1 1 0 0 r、My同号,+[-My]补 1 1 . 0 0 0 1 0 0 1 My]补= 0.101 111,÷1 1 1 ——恒置1 r、Mx同号,结束。[Mx 2-6 = -0.000 000 111 100?[r]补=1.000 100=[My]补r= -0.111 100

注:由于补码加减交替除法算法中缺少对部分余数判―0‖的步骤,因此算法运行中的某一步已除尽时,算法不会自动停止,而是继续按既定步数运行完。此时商由算法本身的这一缺陷引入了一个误差,而余数的误差正好等于除数。商的误差引入的原因:当r、My同号时,此题中表示够减(r、Mx同号);当r、My异号时,此题中表示不够减(r、Mx异号);因此,当r=0时,被判为不够减(实际上应为够减),商0(实际上应商1),由此引入了误差。

3)结果规格化:已是规格化数。y=2011× 0.101 111÷y]阶移尾补=1,011;0.101 111 x ÷4)舍入:已恒置1舍入。5)溢出:无[x 方案二:采用阶补尾原形式:[x]阶补尾原=0,110;1.101 101 [y]阶补尾原=0,011;1.111 100 1)阶码相减:[Ex]补+[-Ey]补=00,110+11,101 =00,011(无溢出)2)尾数相除:(原码加减交替除法)被除数(余数)商0 0 . 1 0 1 1 0 1 0 . 0 0 0 0 0 0 试减,+ 1 1 . 0 0 0 1 0 0 1 1 . 1 0 0 0 1 0 ←+[-My*]补 1 1 . 1 1 0 0 0 1 1 0,+My* 0

0<0 . + 0 0 . 1 1 1 1 0 0 r 0 0 . 1 1 1 1 0 0 0.1 + 1 1 . 0 0 0←. 0 1 1 1 1 0 10 0 . 0 0←0,+[-My*]补0 0 . 0 0 0 0 0 0 1> 1 0 0 r 0,>0 0 0 0 0.1 1 + 1 1 . 0 0 0 1

0 0 r +[-My*]补 1 1 . 0 0 0 1 0 0

1 0 .←续:被除数(余数)商1 0 0 1 0 0 0 0 . 1 1

0 + 0 0 . 1 1 1 1 0 01 0 . 0 0 1 0 0 0 0.1←0,+My* 1

1 . 0 0 0 1 0 0 1

3)结果规格化:已是规格化数。y=2011× 0.110 000 29.÷y]阶补尾原=0,011;0.110 000 x ÷4)舍入:无5)溢出:无[x 设机器字长为32位,用与非门和与或非门设计一个并行加法器(假设与非门的延迟时间为30ns,与或非门的延迟时间为45ns),要求完成32位加法时间不得超过0.6μs。画出进位链及加法器逻辑框图。

解:首先根据题意要求选择进位方案:1)若采用串行进位链(行波进位),则在di、ti函数的基础上,实现32位进位需要的时间为:30=1920ns 不满足0.6μs的加法时间限制,不能用。(设1ty=30ns)?32=64ty=64?T=2ty 30=600ns ?8组=20ty=20?2)若采用单重分组跳跃进位(级连方式),则在di、ti的基础上,4位一组分组,32位进位需:T=2.5ty 刚好满足0.6 μs加法时间的限制,

考虑到一次加法除进位时间外,还需di、ti函数的产生时间、和的产生时间(最高位和)等因素,故此进位方案仍不适用。30=450ns?6组=15ty=15?结论:若采用单重分组跳跃进位,小组规模需在6位以上较为合适。即:T=2.5ty 除进位外还有150ns(约5ty)左右的时间供加法开销,较充裕。3)若采用双重分组跳跃进位(二级先行—级联进位),4位一小组,4小组为一大组分组,则32位进位需:30=300ns 完全满足0.6μs的加法时间限制,可以使用。?4级=10ty=10?T=2.5ty 32位双重分组跳跃进位的进位链框图见教材287页图6.23。6位一组单重分组跳跃进位的进位链框图如下:

加法器逻辑框图如下。图中,进位链电路可选上述两种方案之一。

30. 设机器字长为16位,分别按4、4、4、4和5、5、3、3分组,(1)画出按两种分组方案的单重分组并行进位链框图,并比较哪种方案运算速度快。(2)画出按两种分组方案的双重分组并行进位链框图,并对这两种方案进行比较。(3)用74181和74182画出单重和双重分组的并行进位链框图。解:(1)4—4—4—4分组的16位单重分组并行进位链框图见教材286页图6.22。

5—5—3—3分组的16位单重分组并行进位链框图如下:

(2)4—4—4—4分组的16位双重分组并行进位链框图见教材289页图6.26。5—5—3—3分组的16位双重分组并行进位链框图如下:3=7.5ty;?3=7.5ty;5—5—3—3分组的进位时间=2.5ty?4—4—4—4分组的进位时间=2.5ty 两种分组方案最长加法时间相同。结论:双重分组并行进位的最长进位时间只与组数和级数有关,与组内位数无关。

(3)单重分组16位并行加法器逻辑图如下(正逻辑):

注意:1)181芯片正、负逻辑的引脚表示方法;2)为强调可比性,5-5-3-3分组时不考虑扇入影响;3)181芯片只有最高、最低两个进位输入/输出端,组内进位无引脚;4)181为4位片,无法5-5-3-3分组,只能4-4-4-4分组;5)单重分组跳跃进位只用到181,使用182的一定是双重以上分组跳跃进位;6)单重分组跳跃进位是并行进位和串行进位技术的结合;双重分组跳跃进位是二级并行进位技术;特别注意在位数较少时,双重分组跳跃进位可以采用全先行进位技术实现;位数较多时,可采用双重分组跳跃进位和串行进位技术结合实现。

第七章

8.画出先变址再间址及先间址再变址的寻址过程示意图。

解:1)先变址再间址寻址过程简单示意如下:EA=[(IX)+A],IX→(IX)+1

IX→2)先间址再变址寻址过程简单示意如下:EA=(IX)+(A),(IX)+1

注意:3)寻址后把操作数送回指令操作码,再访存。?1)英文缩写EA 表示有效地址,不能乱用。2)示意图中应标明EA(有效地址)的位置。

12. 16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:?某机主存容量为4M (1)画出一地址指令格式并指出各字段的作用;(2)该指令直接寻址的最大范围;(3)一次间址和多次间址的寻址范围;(4)立即数的范围(十进制表示);(5)相对寻址的位移量(十进制表示);(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?(7)如何修改指令格式,使指令的寻址范围可扩大到4M?(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。

解:(1)单字长一地址指令格式:7 3 6

(2)A为6位,该指令直接寻址的最大范围为26=64字;(3)一次间址的寻址范围为216=64K字;多次间址的寻址范围为215=32K字;(4)立即数的范围:若采用补码表示为1FH~20H;十进制表示为31~ -32;无符号数为0~63;(5)相对寻址的位移量范围在采用补码表示时同立即数范围,为31~ -32;

(6)六种寻址方式中,立即寻址指令执行时间最短,因为此时不需寻址;间接寻址指令执行时间最长,因为寻址操作需访存一次到多次;相对寻址便于程序浮动,因为此时操作数位置可随程序存储区的变动而改变,总是相对于程序一段距离;变址寻址最适合处理数组问题,因为此时变址值可自动修改而不需要修改程序。

(7)为使指令寻址范围可扩大到4M,需要有效地址22位,此时可将单字长一地址指令的格式改为双字长,如下图示:7 3 6

(8)如使一条转移指令能转移到主存的任一位置,可采用上述双字长一地址指令,通过选用合适的寻址方式完成。(如选用直接寻址就可转移到主存任一位置,但选用相对寻址则只能在±2M范围内转移。)除此之外,(7)、(8)两题也可通过段寻址方式达到扩大寻址空间的目的。总之,不论采取何种方式,最终得到的实际地址应是22位。

方案二:(7)如果仍采用单字长指令(16位)格式,为使指令寻址范围扩大到4M,可通过段寻址方案实现。安排如下:硬件设段寄存器DS (16位),用来存放段地址。在完成指令寻址方式所规定的寻址操作后,得有效地址EA(16位),再由硬件自动完成段寻址,最后得22位物理地址。26 + EA?物理地址=(DS)注:段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、EA产生之后由硬件自动完成,对用户是透

明的。

方案三:(7)在采用单字长指令(16位)格式时,还可通过页面寻址方案使指令寻址范围扩大到4M。安排如下:硬件设页面寄存器PR(16位),用来存放页面地址。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到4M时,编程选择页面寻址方式,则:EA =(PR)‖A (有效地址=页面地址―拼接‖6位形式地址)这样得到22位有效地址。(5)相对寻址的位移量范围为:?讨论:(6)基址寻址便于程序浮动;?(PC)-32;(PC内容此时做基地址使用,形式地址给出位移量)~(PC)+31 (7)采用基址寻址:?(基址寻址的程序浮动能力没有相对寻址强,在两种寻址方式都给出的情况下,描述程序浮动能力时应选相对寻址)采用32位指令:(应为双字长指令)?物理地址=段地址+段内位移量A

通过基址寻址与段寻址获得实际地址的区别:存储器地址位数),位移量比较短(=形式地址位数),相加后得到的有效地址长度=基地址长度。此时主存不分段。≥1)基址寻址的基地址一般比较长(实际地址=有效地址=基地址+位移量段寻址是基址寻址的一种变种,当基地址短于存储地址时,基址寻址就变成了段寻址,基地址就叫做段地址,此时主存分段。偏移量+段内位移量(有效地址)?实际地址=段地址

存储字长的机器中,可直接通过寻址计算获得实际地址。≥2)基址寻址一般在机器字长存储字长的机器中,由于CPU内部数据通路的限制,编程指定的任何一种寻址计算得到的有效地址长度都等于机器字长,为获得更长的地址字,硬件自动通过段寻址计算出存储器实际地址。≤在机器字长(7)采用变址间接寻址,变址寄存器6位,先变址,再间址,EA=(6位基地址)*(16位间接地址)=26*216=222 ?(通过乘法运算进行寻址操作太慢且复杂,无机器用过)

(8)如使一条转移指令能转移到主存的任一位置,可采用RS型指令;(?两个错:1)RS型只是二地址以上指令的类型,即指令中二个地址场一个给出寄存器号,一个给出面向存储器的地址信息。2)题意的实现与寻址方式和形式地址长度有关,与指令的地址场结构无直接关系。)16位容量=226位,采用变址间接寻址,变址寄存器10位,210*216构成26位地址;?4M?(两个错:1)存储器地址结构错;2)寻址计算方法错,见前面的讨论)?(8)A需22位,采用(7)的双字长指令格式,令PC=0,当PC取不同值时指明当前位置不同;(把转移指令(指令的跳跃寻址)与数据的相对寻址混淆。转移指令可重置PC值,相对寻址时只是用PC的值,而不能对其修改)相关问题:* 一般:机器字长=存储字长;* CPU中所有寄存器(包括基址寄存器)的位数=机器字长;

* 通常:指令字长不一定等于机器字长。早期的小型机由于字长较短,指令常以机器字长为单位变化(几字长指令,如PDP-11机),目前以字节长为单位变化(几字节指令)的较多。习题中指令字长=机器字长的假设只是为简单起见;* 当设指令字长=存储字长(=机器字长)时,如用立即寻址,由于立即数由形式地址直接给出,而形式地址的位数肯定不足一个字长,因此立即寻址非常适用于编程给出短常数的场合。如果非要把立即数存入存储器,那就只好高位补0了。干吗这样用呢?提示:寻址方式的正确选择与编程技巧有关。

15. 某CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指令字长等于机器字长,试回答:(1)如果主存可直接或间接寻址,采用―寄存器—存储器‖型指令,能直接寻址的最大存储空间是多少?画出指令格式并说明各字段的含义。(2)如果采用通用寄存器作基址寄存器,则上述―寄存器—存储器‖型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?

解:(1)如采用RS型指令,则此指令一定是二地址以上的地址格式,指令格式如下:6 5 1 20

(2)如采用基址寻址,则指令格式中应给出基址寄存器号,以指定哪一个通用寄存器用作基址寄存器。指令格式变为:6 5 1 1 5 14 (2)指令格式:?讨论:

16. 某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64~+63,16个通用寄存器均可作为变址寄存器。采用扩展操作码技术,设计一套指令系统格式,满足下列寻址类型的要求:(1)直接寻址的二地址指令3条;(2)变址寻址的一地址指令6条;(3)寄存器寻址的二地址指令8条;(4)直接寻址的一地址指令12条;(5)零地址指令32条。试问还有多少种代码未用?若安排寄存器寻址的一地址指令,最多还能容纳多少条?

解:题意分析:设指令字长=机器字长,128字的直接寻址空间要求形式地址A为7位,-64~+63的位移量也需7位(6位加1位符号位),16个通用寄存器作变址寄存器需4位变址寄存器号,则指令格式为:(1)直接寻址的二地址指令: 2 7 7

(3)寄存器寻址的二地址指令:8 4 4

(6)若安排寄存器寻址的一地址指令,指令格式应为:12 4

操作码编码分配:0 0 0 1 A1,A2;3条直接寻址的二地址指令。

1 0 1 1 0 0 0 …… …… IX,A;6条变址寻址的一地址指令。1 1 1

0 1 1 1 1 1 0 0 0 0 …… …… …… Ri,Rj;1 1 1 1 0 1

1 1 8条寄存器寻址的二地址指令。 1 1 1 1 1 0 0 0 0 …… …… …… A;1 1 1 1 1 1 0 1 1 12条直接寻址的一地址指令。

续:1 1 1 1 1 1 1 0 0 0 0 0 …… …… …… …… Ri;1 1 1 1 1 1 1 1 0 1 1 1 30条寄存器寻址的1 1 1 1 1 1 1 1 1 0 0 0 一地址指令。…… …… …… …… (利用30个冗余编码)1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

0 …… …… …… …… …… 32条0地址1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 指令

不画所设计的指令格式图,只分配指令操作码编码。?讨论:指令格式中安排寻址方式字段,例: 2 3 4 7?

评注:这是一道指令格式设计题,本题已给出了各种指令所需的条数,因此,在根据题意画出各种指令的格式后,剩下的工作就是要为每一条指令分配编码。在采用扩展操作码技术分配指令编码时,扩展的基本方法是在所设计的指令系统中,选定一种操作码位数最少的指令格式作为基本格式,然后在这种基本格式的基础上进行操作码编码的扩展。为便于硬件译码结构的实现,编码分配应尽量做到有序、有规律。特别是扩展标志码的选择,应尽量采用特征较强的编码,象全?1‘编码等。另外,应在某类指令的编码全部安排完后,再考虑安排扩展标志码,以避免漏排或重码等不必要的混乱。

17. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?解:1)若采用定长操作码时,二地址指令格

式如下:4 6 6

设二地址指令有K种,则:K=24-M-N 当M=1(最小值),N=1(最小值)时,二地址指令最多有:Kmax=16-1-1=14种2)若采用变长操作码时,二地址指令格式仍如1)所示,但操作码长度可随地址码的个数而变。此时,K= 24 -(N/26 + M/212 );1时,K最大,则二地址指令最多有:≤(N/26 + M/212 向上取整)当(N/26 + M/212 )Kmax=16-1=15种(只留一种编码作扩展标志用。)讨论:此时,一地址指令条数为:N=(24 - K)×26 - M/26;(M/26向上取整)。零地址指令条数为:M = 216 - 212K - 26N;当K最大时(K=15),一地址指令最多有:Nmax=64 - 1=63种;零地址指令最多有:Mmax=64种注意:应首先根据题意画出指令基本格式。

第八章

2. 什么是指令周期?指令周期是否有一个固定值?为什么?解:指令周期是指一条指令从开始取直到执行完这段时间。由于计算机中各种指令执行所需的时间差异很大,因此为了提高CPU运行效率,即使在同步控制的机器中,不同指令的指令周期长度都是不一致的,也就是说指令周期对于不同的指令来说不是一个固定值。讨论:指令周期长度不一致的根本原因在于设计者,为了提高CPU运行效率而这样安排的,与指令功能不同及指令实际执行时间不同没有什么必然关系。

4. 设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU,要求:(1)画出完成间接寻址的取数指令LDA@X(将主存某地址单元X 的内容取至AC中)的数据流(从取指令开始)。(2)画出中断周期的数据流。解:CPU中的数据流向与所采用的数据通路结构直接相关,不同的数据通路中的数据流是不一样的。常用的数据通路结构方式有直接连线、单总线、双总线、三总线等形式,目前大多采用总线结构,直接连线方式仅适用于结构特别简单的机器中。

为简单起见,本题采用单总线将题意所给部件连接起来,框图如下:

↓ LDA@X指令周期流程图:说明

↓LDA

↓(2)中断周期流程图如下:说明

A说明↓

讨论:解这道题有两个要素,首先要根据所给部件设计好数据通路,即确定信息流动的载体。其次选择好描述数据流的方法,无论采用什么样的表达方式,其关键都要能清楚地反映数据在通路上流动的顺序,即强调一个―流‖字。较好的表达方式是流程图的形式。

13. 在中断系统中INTR、INT、EINT三个触发器各有何作用?解:INTR——中断请求触发器,用来登记中断源发出的随机性中断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定的中断请求信号;EINT——中断允许触发器,CPU中的中断总开关。当EINT=1时,表示允许中断(开中断),当EINT=0时,表示禁止中断(关中断)。其状态可由开、关中断等指令设置;INT——中断标记触发器,控制器时序系统中周期状态分配电路的一部分,表示中断周期标记。当INT=1时,进入中断周期,执行中断隐指令的操作。

讨论:?当进入中断周期时,INT=1;(INT=1时,进入中断周期)?回答时首先应给出该触发器的中文名称,然后说明其主要作用。INT与EINT配合使用以实现关中断功能,即INT=1,反相后使EINT=0;(关中断并不是INT的主要功能,进入中断周期后要执行中断隐指令的全部三个功能)INT表示自愿中断,完成系统调用;?(尽管INT触发器的英文缩写与INT指令助记符完全相同,但它们一个是硬件设置,一个是软中断指令,其作用完全不同)?? INT表示处于中断状态中;(INT 并不是在整个中断过程中都存在)?INT标记目前是否正在运行中断程序;(INT标记在运行中断程序时已不存在)INT判断中断过程中是否接受其它中断请求,INT=0时,开中断,允许中断嵌套;EINT判断CPU是否响应中断请求;?(INT标记与中断嵌套技术没有任何关系。它不能表示出中断过程中是否接受其它中断请求,INT=0也不表示开中断)(CPU根据EINT状态决定是否响应中断请求)?当CPU响应中断时,EINT置1;(当EINT=1时,允许CPU响应中断)? EINT确保CPU 响应中断后,不受新的中断干扰;?(CPU响应中断在先,进入中断周期后才使EINT=0,仅在单重中断时,整个中断过程EINT=0,不接受新的中断请求)INTR=1,判断哪个中断源有请求;?EINT表示中断隐指令,INT起关中断作用;(把EINT和INT的作用搞反了)(INTR 对中断源的请求进行登记,当INTR=1时,表示有请求)

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

L1→

21. 某机有五个中断源L0、L1、L2、L3、L4,按中断响应的优先次序由高向低排序为L0 L2,根据下示格式,1)写出各中断源的屏蔽字。→L0 →L4 →L3 →L4,现要求中断处理次序改为L1→L3 →L2 → 2)按照修改过的处理次序,当五个中断请求信号同时到来时,请画出CPU中断处理过程。解:1)各中断源屏蔽状态见下表:

表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。为了使所有中断都能得到及时响应,现行程序的中断屏蔽字一般设为全开放(全0)状态。

现行程序(00000)讨论:图中括号内为各程序的屏蔽码。注意:中断屏蔽码的判优作用体现在对低级中断请求的屏蔽上,对于多个同时到来的高级中断请求信号之间则只有开放作用,没有判优作用。此时还需依赖硬件排队线路完成进一步的判优。

C,为改变中断处理次序,将它们的中断屏蔽字分别设为:设备>B>22. 设某机配有A、B、C三台设备,其优先顺序是A 屏蔽字A 1 1 1 B 0 1 0 C 0 1 1 s。μ请按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。设A、B、C中断服务程序的执行时间均为20

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

讨论:当从B中断转到C中断时,不返回现行程序,下述程序运行轨迹是错误的:

第九章

3. 什么是指令周期、机器周期和时钟周期?三者有何关系?解:CPU 每取出并执行一条指令所需的全部时间叫指令周期;机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作(指令步)所需时间,通常安排机器周期长度=主存周期;时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应完成一个微操作所需时间,通常时钟周期=计算机主频的倒数。

4. 能不能说机器的主频越快,机器的速度就越快,为什么?解:不能说机器的主频越快,机器的速度就越快。因为机器的速度不仅与主频有关,还与数据通路结构、时序分配方案、ALU运算能力、指令功能强弱等多种因素有关,要看综合效果。

5. 设机器A的主频为8MHz,机器周期含4个时钟周期,且该机的平均

指令执行速度是0.4MIPS,试求该机的平均指令周期和机器周期,每个指令周期中含几个机器周期?如果机器B的主频为12MHz,且机器周期也含4个时钟周期,试问B机的平均指令执行速度为多少MIPS? 解:先通过A机的平均指令执行速度求出其平均指令周期,再通过主频求出时钟周期,然后进一步求出机器周期。B机参数的算法与A机类似。计算如下:

A机平均指令周期=1/0.4MIPS=2.5μs A机时钟周期=1/8MHz=125ns A机机器周期=125ns×4=500ns=0.5μs 83ns B 机机器周期=83ns×4 =332ns≈A机每个指令周期中含机器周期个数=2.5μs÷0.5μs=5个B机时钟周期=1/12MHz 设B机每个指令周期也含5个机器周期,则:B机平均指令周期=332ns×5=1.66μs B机平均指令执行速度=1/1.66μs =0.6MIPS 结论:主频的提高有利于机器执行速度的提高。

6. 设某机主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有2.5个机器周期,试问该机的平均指令执行速度为多少MIPS?若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有5个机器周期,则该机的平均指令执行速度又是多少MIPS?由此可得出什么结论?解:先通过主频求出时钟周期,再求出机器周期和平均指令周期,最后通过平均指令周期的倒数求出平均指令执行速度。计算如下:

时钟周期=1/8MHz=0.125×10-6 =125ns 机器周期=125ns×2=250ns 平均指令周期=250ns×2.5=625ns 平均指令执行速度=1/625ns=1.6MIPS 当参数改变后:机器周期= 125ns×4=500ns=0.5μs 平均指令周期=0.5μs×5=2.5μs 平均指令执行速度=1/2.5μs=0.4MIPS 结论:两个主频相同的机器,执行速度不一定一样。

7. 某CPU的主频为8MHz,若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4μs的CPU芯片,则计算机的平均指令执行速度为多少MIPS?若要得到平均每秒40万次的指令执行速度,则应采用主频为多少的CPU芯片?

解:先通过主频求出时钟周期时间,再进一步求出机器周期和平均指令周期。时钟周期=1/8MHz=0.125×10-6 =125ns 机器周期=125ns×4=500ns=0.5μs 平均指令周期=1/0.8MIPS =1.25 ×10-6=1.25μs 每个指令周期所含机器周期个数= 1.25μs/0.5μs=2.5个

当芯片改变后,相应参数变为:机器周期=0.4μs×4=1.6μs 平均指令周期=1.6μs×2.5=4μs 平均指令执行速度=1/4μs =0.25MIPS 若要得到平均每秒40万次的指令执行速度,则应采用的主频为:平均指令周期=1/0.4MIPS =2.5 ×10-6=2.5μs 机器周期=2.5μs÷2.5=1μs 时钟周期= 1μs÷4=0.25μs 主频=1/0.25μs=4MHz

8. 某计算机的主频为4MHz,各类指令的平均执行时间和使用频度如下表所示,试计算该机的速度(单位用MIPS表示),若上述CPU芯片升挡为6MHz,则该机的速度又为多少?sμs 0.8μ指令类别存取加、减、比较、转移乘除其他平均指令执行时间0.6 s 使用频度35% 50% 5% 10%μs 1.4μ10

解: (1)指令平均运行时间= (0.6×0.35+0.8×0.5+10×0.05+1.4×0.1)μs = 1.25μs 机器平均运行速度= 1/1.25μs = 0.8MIPS (2) 解法一:时钟周期= 1/4MHz = 0.25μs 指令平均运行周期数= 1.25μs ’0.25μs = 5CPI 时钟周期= 1/6MHz ≈ 0.167μs 指令平均运行时间=

0.167μs×5 ≈ 0.833μs 机器平均运行速度= 1/0.833μs ≈

1.2MIPS

11. 设CPU内部结构如图9.4所示,此外还设有B、C、D、E、H、L 六个寄存器,它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bi为寄存器B的输入控制;Bo为B的输出控制)。要求从取指令开始,写出完成下列指令所需的控制信号。AC)→B) (2)SUB A,H;((AC)-(H) →(1)ADD B,C;((B)+(C) 解:先画出相应指令的流程图,然后将图中每一步数据通路操作分解成相应的微操作,再写出同名的微命令即可。

(1)ADD B,C指令流程及微命令序列如下:↓

Bo,Yi Co,ALUi,+ Zo,Bi

(2)SUB A,H指令流程及微命令序列如下:↓

Ho,Yi ACo,ALUi,– Zo,ACi

第十章

1. 假设响应中断时,要求将程序断点存在堆栈内,并且采用软件办法寻找中断服务程序的入口地址,试写出中断隐指令的微操作及节拍安排。→MDR,1→MAR T1 PC→EINT,SP→解:设软件查询程序首址为0号内存单元,则中断隐指令的微操作命令及节拍安排如下:T0 0 SP T4→W,SP+1→MDR,1→M(MAR)T3 PSW→MAR,MDR→SP T2 SP→W,SP+1 M(MAR)由于题意中没有给出确切的数据通路结构,故上述节拍分配方案的并行性较低。→PC,MDR→0

2. 写出完成下列指令的微操作及节拍安排(包括取指操作)。(1)指令ADD R1,X完成将R1寄存器的内容和主存X单元的内容相加,结果存于R1的操作。(2)指令ISZ X完成将主存X单元的内容增1,并根据其结果若为0,则跳过下一条指令执行。解:该题题意中没有指定数据通路,因此排序前应先设定一下。在此设采用单总线结构的CPU数据通路,且ALU输入端设两个暂存器C、D(见17题图)。并设采用同步控制,每周期3节拍:

R T1 →MAR,1→(1)指令ADD R1,X的微操作及节拍安排如下:取指周期:T0 PC ID 执行周期1:T0 →IR,OP(IR)→MDR T2 MDR→PC+1,M(MAR) D 执行周期2:→MDR T2 MDR→C,M(MAR)→R T1 R1→MAR,1→X(IR) R1→T0 T1 T2 +,ALU (2)指令ISZ X的微操作及节拍安排(取指周期同(1),略):C→MDR T2 MDR→R T1 M(MAR)→MAR,1→执行周期1:T0 X(IR) M(MAR) → -W T2 MDR→MDR T1 0→执行周期2:T0 +1,ALU (PC+1)·Z (设Z为结果为0标志)该指令的操作在一个执行周期做不完,因此安排了两个执行周期。

3. 按序写出下列程序所需的全部微操作命令及节拍安排。

解:由于题意未明确要求采用何种控制器结构,故仍按较简单的组合逻辑时序关系安排节拍(单总线、同步控制,假设同上题):LDA 206 指令:ID→IR,OP(IR)→MDR T2 MDR→R T1 PC+1,M(MAR)→MAR,1→取指周期:T0 PC AC→MDR T2 MDR→R T1 M(MAR)→MAR,1→执行周期:T0 206(IR)

ADD C→MDR,AC→R T1 M(MAR)→MAR,1→207 指令:取指周期:同上。执行周期1:T0 207(IR) AC BAN 204 指令:取指周期:同上。→D 执行周期2:T0 T1 T2 +,ALU→T2 MDR PC→执行周期:(设N为结果为负标志)T0 T1 T2 N·204(IR)

语音信号处理实验指导书

语音信号处理实验指导书 实验一 语音信号采集与简单处理 一、 实验目的、要求 (1)掌握语音信号采集的方法 (2)掌握一种语音信号基音周期提取方法 (3)掌握短时过零率计算方法 (4)了解Matlab 的编程方法 二、 实验原理 基本概念: (a )短时过零率: 短时内,信号跨越横轴的情况,对于连续信号,观察语音时域波形通过横轴的情况;对于离散信号,相邻的采样值具有不同的代数符号,也就是样点改变符号的次数。 对于语音信号,是宽带非平稳信号,应考察其短时平均过零率。 其中sgn[.]为符号函数 ?? ?? ?<=>=0 x(n)-1sgn(x(n))0 x(n)1sgn(x(n)) 短时平均过零的作用 1.区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。 2.从背景噪声中找出是否有语音,以及语音的起点。 (b )基音周期 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 ∑--= -=1 )]1(sgn[)](sgn[21N m n n n m x m x Z

由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容 易。③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。④基音周期变化范围大,从老年男性的50Hz 到儿童和女性的450Hz ,接近三个倍频程,给基音检测带来了一定的困难。由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。 尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT 、谱图法、小波法等等。 三、使用仪器、材料 微机(带声卡)、耳机,话筒。 四、 实验步骤 (1)语音信号的采集 利用Windows 语音采集工具采集语音信号,将数据保存wav 格式。 采集一组浊音信号和一组清音信号,信号的长度大于3s 。 (2)采用短时相关函数计算语音信号浊音基音周期,考虑窗长度对基音周期计算的影响。采用倒谱法求语音信号基音周期。 (3)计算短时过零率,清音和浊音的短时过零率有何区别。 五、实验过程原始记录(数据,图表,计算) 短时过零率 短时相关函数 P j j n s n s j R N j n n n n ,,1) ()()(1 =-=∑-= ∑--=-=10 )]1(sgn[)](sgn[21N m n n n m x m x Z

大学计算机习题参考答案

《大学计算机基础与计算思维》习题参考答案 第一章计算机引论 一、简答题 (1)什么是数据?什么是信息?二者有什么关系? 答:数据是记录下来的可以鉴别的符号,它可以通过语言、文字、符号、图形、声音、光、电等来记录客观事物的状态。数据是对客观事物的一种符号描述,而信息是经过加工后的数据,是可以用来通信的知识。信息是用来消除随机不确定性的东西。二者关系为:数据是信息的原材料,而信息则是数据加工后的产品。 (2)支撑人类社会文明的三要素是什么?如何理解三者在不同历史时期的地位和作用? 答:三要素为:信息、物质、能源。不同历史时期三种要素的利用比例不同。 (3)什么是数字化?在计算机领域内又如何理解? 答:数字化分为广义和狭义二种,广义的数字化:指信息经过数字化处理的广泛应用。狭义的数字化:是指由数字信号(数码)取代模拟信号来表征、处理、存储、传输各种信息的过程。在计算机领域内,我们可以将数字化理解为将许多复杂的信息转变为可以度量的数字、数据,再以这些数字、数据建立起适当的数字化模型,把它们转变成一系列二进制代码,引入计算机内部,进行统一处理。 (4)简述计算机的发展阶段。 答:1932年英国数学家亚伦.图灵(Alan Turing)提出一人计算模型,称图灵机,现在的计算机在本质上与图灵机是一样的。 1936年,Konrad Zuse建造了一台可编程的数字化计算机,它引入了二进制系统和电子管的使用。 第一代计算机:1946至1956年,世界上第一台计算机ENIAC,电子管元件。宾夕法尼亚大学的美籍匈牙利数学家冯.诺依曼改进了ENIAC研制出了世界上第二台计算机EDVAC,作了重要改进:一是采用了二进制,二是程序和数据存入计算机内部。冯.诺依曼为现代计算机在体系结构和工作原理奠定了基础。当今的计算机依然遵循的是冯.诺依曼提出的计算机体系结构。 第二代计算机: (5) 简述计算机的特点。 运算速度快、计算精度高、存储容量大、具有逻辑判断功能、可靠性高、自动化程度高、通用性强等。 (6)简述计算机的应用领域。 科学计算、数据处理、过程控制、计算机辅助工程、办公自动化、数据通信、人工智能等。(7)什么是计算思维? 计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人尖行为理解等涵盖计算机领域的一系列思维活动。 (8) 计算思维主要包含哪些思维内容? 计算思维主要包括科学思维、逻辑思维、效率思维、创新思维和伦理思维等内容。

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

计算机组成原理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

语音信号处理答案

二、问答题(每题分,共分) 、语音信号处理主要研究哪几方面的内容? 语音信号处理是研究用数字信号处理技术对语言信号进行处理的一门学科,语音信号处理的理论和研究包括紧密结合的两个方面:一方面,从语言的产生和感知来对其进行研究,这一研究与语言、语言学、认知科学、心理、生理等学科密不可分;另一方面,是将语音作为一 种信号来进行处理,包括传统的数字信号处理技术以及一些新的应用于语音信号的处理方法 和技术。 、语音识别的研究目标和计算机自动语音识别的任务是什么? 语音识别技术,也被称为自动语音识别,(),其目标是将人类的语音中的词汇内容转换为 计算机可读的输入,例如按键、二进制编码或者字符序列。 计算机自动语音识别的任务就是让机器通过识别和理解过程把语音信号转变为相应的文本 或命令的高技术。 、语音合成模型关键技术有哪些? 语音合成是实现人机语音通信,建立一个有听和讲能力的口语系统所需的两项关键技术,该系统主要由三部分组成:文本分析模块、韵律生成模块和声学模块。.如何取样以精确地抽取人类发信的主要特征,.寻求什么样的网络特征以综合声道的频率响应,.输出合成声音的质量如何保证。 、语音压缩技术有哪些国际标准? 二、名词解释(每题分,共分) 端点检测:就从包含语音的一段信号中,准确的确定语音的起始点和终止点,区分语音信号和非语音信号。 共振峰:当准周期脉冲激励进入声道时会引起共振特性,产生一组共振频率,称为共振峰频率或简称共振峰。 语谱图:是一种三维频谱,它是表示语音频谱随时间变化的图形,其纵轴为频率,横轴为时间,任一给定的频率成分在给定时刻的强弱用相应点的灰度或色调的浓淡来表示。 码本设计:就是从大量信号样本中训练出好的码本,从实际效果出发寻找好的失真测度定义 公示,用最少的搜素和计算失真的运算量。 语音增强:语音质量的改善和提高,目的去掉语音信号中的噪声和干扰,改善它的质量 三、简答题(每题分,共分) 、简述如何利用听觉掩蔽效应。 一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声音(掩蔽音)影响的现象称为人耳的“掩蔽效应”。人耳的掩蔽效应一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声 音(掩蔽音)影响的现象称为人耳的“掩蔽效应”。被掩蔽音单独存在时的听阈分贝值,或者 说在安静环境中能被人耳听到的纯音的最小值称为绝对闻阈。实验表明,—绝对闻阈值最小,即人耳对它的微弱声音最敏感;而在低频和高频区绝对闻阈值要大得多。在范围内闻阈随频率变化最不显著,即在这个范围内语言可储度最高。在掩蔽情况下,提高被掩蔽弱音的强度, 使人耳能够听见时的闻阈称为掩蔽闻阈(或称掩蔽门限),被掩蔽弱音必须提高的分贝值称为 掩蔽量(或称阈移)。 、简述时间窗长与频率分辨率的关系。 采样周期、窗口长度和频率分辨率△之间存在下列关系:△(*) 可见,采样周期一定时,△随窗口宽度的增加而减少,即频率分辨率相应得到提高,但同时时间分辨率降低;如果窗口取短,频率分辨率下降,而时间分辨率提高,因而二者是矛盾的。 、简述时域分析的技术(最少三项)及其在基因检测中的应用。()

大学计算机基础教程课后习题答案大一

计算机基础作业 第一章计算机与信息社会 习题1 一、思考题: 1.计算机的发展经历了哪几个阶段?各阶段的主要特征是什么? 答:计算机经历了电子管、晶体管、中小规模集成电路和大、超大规模集成电路等4个阶段。 电子管计算机的特征是:采用电子管作为计算机的逻辑元件,内存储器采用水银延迟线,外存储器采用磁鼓、纸带、卡片等,运算速度只有每秒几千次到几万次基本运算,内存容量只有几千个字节,使用二进制表示的机器语言或汇编语言编写程序。 晶体管计算机的特征是:用晶体管代替了电子管,大量采用磁芯作为内存储器,采用磁盘、磁带等作为外存储器。 采用了中小规模集成电路的计算机的特征是:用集成电路代替了分立元件。集成电路是把多个电子元器件集中在几平方毫米的基片上形成的逻辑电路。 采用了大、超大规模集成电路的计算机的特征是:以大规模、超大规模集成电路来构成计算机的主要功能部件,主存储器采用集成度很高的半导体存储器,目前计算机的最高速度可以达到每秒几十万亿次浮点运算。 4.计算机主要用于哪些领域? 答:计算机主要应用在科学和工程计算、信息和数据处理、过程控制、计算机辅助系统及人工智能等领域。 7.信息技术都包含那些? 答:信息技术主要包括信息基础技术、信息系统技术、信息应用技术三个层次。 二、选择题 1.最早的计算机是用来进行(A)的。 A )科学计算B)系统仿真C)自动控制D)信息处理 2.构成第二代计算机的主要电子元件是(B) A )电子管B)晶体管C)中.小规模集成电路D)超大规模集成电路 3.以下哪个不是计算机的特点(D) A )计算机的运行速度快B)计算机的准确度高C)计算机的存储容量巨大D)计算机的体积很小 4办公自动化属于计算机哪项应用(A) A )数据处理B)科学计算C)辅助设计D)人工智能 5.以下关于信息的特征不正确的是(B) A )共享性B)不可存储C)可处理性D)可传递

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

第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。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。 浮点数的机内表示 阶码通常为定点整数,补码或移码表示。其位数决定数值范围。阶符表示数的大小。 尾数通常为定点小数,原码或补码表示。其位数决定数的精度。数符表示数的正负。

语音信号处理 (第2版)赵力 编著 语音信号处理勾画要点

语音信号处理(第2版)赵力编著 重点考点 第2章语音信号处理的基础知识 1.语音(Speech)是声音(Acoustic)和语言(Language)的组合体。可以这样定义语音:语音是由一连串的音组成语言的声音。 2.人的说话过程可以分为五个阶段:(1)想说阶段(2)说出阶段(3)传送阶段(4)理解阶段(5)接收阶段。 3.语音是人的发声器官发出的一种声波,它具有一定的音色,音调,音强和音长。其中,音色也叫音质,是一种声音区别于另一种声音的基本特征。音调是指声音的高低,它取决于声波的频率。声音的强弱叫音强,它由声波的振动幅度决定。声音的长短叫音长,它取决于发音时间的长短。 4.说话时一次发出的,具有一个响亮的中心,并被明显感觉到的语音片段叫音节(Syllable)。一个音节可以由一个音素(Phoneme)构成,也可以由几个音素构成。音素是语音发音的最小单位。任何语言都有语音的元音(Vowel)和辅音(Consonant)两种音素。 5.元音的另一个重要声学特性是共振峰(Formant)。共振峰参数是区别不同元音的重要参数,它一般包括共振峰频率(Formant Frequency)的位置和频带宽度(Formant Bandwidth)。 6.区分语音是男声还是女声、是成人声音还是儿童声音,更重要的因素是共振峰频率的高低。 7.浊音的声带振动基本频率称基音周期(或基音频率),F0表示。 8.人的听觉系统有两个重要特性,一个是耳蜗对于声信号的时频分析特性;另一个是人耳听觉掩蔽效应。 9.掩蔽效应分为同时掩蔽和短时掩蔽。 10.激励模型:一般分成浊音激励和清音激励。浊音激励波是一个以基音周期为周期的斜三角脉冲串。 11.声道模型:一是把声道视为由多个等长的不同截面积的管子串联而成的系统。按此观点推导出的叫“声管模型”。另一个是把声道视为一个谐振腔,按此推导出的叫“共振峰模型”。 12.完整的语音信号的数字模型可以用三个子模型:激励模型、声道模型和辐射模型的串联来表示。 13.语谱图:人们致力于研究语音的时频分析特性,把和时序相关的傅立叶分析的显示图形。 第三章语音信号分析 1.贯穿于语音分析全过程的是“短时分析技术”。 2.语音信号的数字化一般包括放大及增益控制、反混叠滤波、采样、A/D变换及编码(一般就是PCM码);预处理一般包括预加重、加窗和分帧等。 3.预滤波的目的有两个:

大学计算机第四版课后习题答案

大学计算机第四版课后习题答案
第一章 1.计算机的发展经历了机械式计算机、 (B) 式计算机和电子计算机三个阶 段。 (A)电子管 (B)机电 (C)晶体管 (D)集成电路 2.英国数学家巴贝奇曾设计了一种程序控制的通用(D)。 (A)加法器 (B)微机 (C)大型计算机 (D)分析机 3. 1939 年,美国爱荷华州立大学研制成功了一台大型通用数字电子计算机 ( D) 。 (A)ENIAC (B)Z3 (C)IBM PC (D)ABC 4.爱德华?罗伯茨 1975 年发明了第一台微机(C)。 (A)Apple II (B)IBM PC (C)牛郎星 (D)织女星 5.1981 年 IBM 公司推出了第一台(B)位个人计算机 IBM PC 5150。 (A)8 (B)16 (C)32 (D)64 6.我国大陆 1985 年自行研制成功了第一台 PC 兼容机(C)0520 微机。 (A)联想 (B)方正 (C)长城 (D)银河 7.摩尔定律指出,微芯片上集成的晶体管数目每(C)个月翻一番。 (A)6 (B)12 (C)18 (D)24 8.第四代计算机采用大规模和超大规模(B)作为主要电子元件。 (A)微处理器 (B)集成电路 (C)存储器 (D)晶体管 9.计算机朝着大型化和(C)化两个方向发展。 (A)科学 (B)商业 (C)微机 (D)实用 10.计算机中最重要的核心部件是(A)。
1 / 16

(A)CPU (B)DRAM (C)CD-ROM (D)CRT 11.计算机类型大致可以分为:大型计算机、(A)、嵌入式系统三类。 (A)微机 (B)服务器 (C)工业 PC (D)笔记本微机 12.大型集群计算机技术是利用许多台单独的(D)组成一个计算机群。 (A)CPU (B)DRAM (C)PC (D)计算机 13.(C)系统是将微机或微机核心部件安装在某个专用设备之内。 (A)大型计算机 (B)网络 (C)嵌入式 (D)服务器 14.冯结构计算机包括:输入设备、输出设备、存储器、控制器、 ( B) 五大组成部 分。 (A)处理器 (B)运算器 (C)显示器 (D)模拟器 15.在冯?诺伊曼计算机模型中,存储器是指(A)单元。 (A)内存 (B)外存 (C)缓存 (D)闪存 16.指令设计及调试过程称为(D)设计。 (A)系统 (B)计算机 (C)集成 (D)程序 17.指令的数量与类型由(A)决定。 (A)CPU (B)DRAM (C)SRAM (D)BIOS 18.一条指令通常由(B)和操作数两个部分组成。 (A)程序 (B)操作码 (C)机器码 (D)二进制数 19.硬件系统可以从系统结构和系统(A)两个方面进行描述。 (A)组成 (B)分析 (C)安全 (D)流程 20.CPU 性能的高低,往往决定了一台计算机(D)的高低。 (A)功能 (B)质量 (C)兼容性 (D)性能
2 / 16

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

计算机组成原理考研知 识点汇总 一, 计算机系统概述 (一) 计算机发展历程 第一台电子计算机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机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯·诺依曼机.它有如下特点: ①计算机由运算器,控制器,存储器,输入和输出五部分组成 ②指令和数据以同等的地位存放于存储器内,并可按地址寻访 ③指令和数据均用二进制数表示 ④指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置 ⑤指令在存储器内按顺序存放 ⑥机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成 图中各部件的功能 ·运算器用来完成算术运算和逻辑运算并将的中间结 果暂存在运算器内 ·存储器用来存放数据和程序 ·控制器用来控制,指挥程序和数据的输入,运行以及 处理运行结果 ·输入设备用来将人们熟悉的信息转换为机器识别的 信息 ·输出设备将机器运算结果转为人熟悉的信息形式

《语音信号处理》期末考试试题

2011-2012学年第一学期 《语音信号处理》期末考试试题(A) 适用班级:时量:120分钟闭卷记分: 考生班级:姓名:学号: 注:答案全部写在答题纸上,写在试卷上无效! 一、填空题:(共7小题,每空2分,共20分) 1、矢量量化系统主要由编码器和组成,其中编码器主要 是由搜索算法和构成。 2、基于物理声学的共振峰理论,可以建立起三种实用的共振峰 模型:级联型、并联型和。 3、语音编码按传统的分类方法可以分为、和混合 编码。 4、对语音信号进行压缩编码的基本依据是语音信号的和人 的听觉感知机理。 5、汉语音节一般由声母、韵母和三部分组成。 6、人的听觉系统有两个重要特性,一个是耳蜗对于声信号的时 频分析特性;另一个是人耳听觉的效应。 7、句法的最小单位是,词法的最小单位是音节,音节可 以由构成。 二、判断题:(共3小题,每小题2分,共6分)

1、预测编码就是利用对误差信号进行编码来降低量化所需的比 特数,从而使编码速率大幅降低。() 2、以线性预测分析-合成技术为基础的参数编码,一般都是根据 语音信号的基音周期和清/浊音标志信息来决定要采用的激 励信号源。() 3、自适应量化PCM就是一种量化器的特性,能自适应地随着输 入信号的短时能量的变化而调整的编码方法。() 三、单项选择题:(共3小题,每小题3分,共9分) 1、下列不属于衡量语音编码性能的主要指标是()。 (A)编码质量(B)矢量编码(C)编码速率(D)坚韧性 2、下列不属于编码器的质量评价的是() (A)MOS (B)DAM(C)DRT(D)ATC 3、限词汇的语音合成技术已经比较成熟了,一般我们是采用() 作为合成基元。 (A)词语(B)句子(C)音节(D)因素 四、简答题:(共2小题,每小题12分,共24分) 1、画出矢量量化器的基本结构,并说明其各部分的作用。 2、试画出语音信号产生的离散时域模型的原理框图,并说明各 部分的作用。 五、简答题:(共5小题,前三小题,每题5分,后两小题,每题10分,共35分) 1、线性预测分析的基本思想是什么?

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

(完整)《语音信号处理》期末试题总结,推荐文档

2011-2013学年 《语音信号处理》期末考试试题 适用班级:时量:120分钟闭卷记分: 考生班级:姓名:学号: 注:答案全部写在答题纸上,写在试卷上无效! 一、填空题:(每空2分) 1、矢量量化系统主要由编码器和译码器组成,其中编码器主要是由搜索算法和码书构成。P101 2、基于物理声学的共振峰理论,可以建立起三种实用的共振峰模型:级联型、并联型和混合型。P18 3、语音编码按传统的分类方法可以分为波形编码、参数编码和混合编码。P137 4、对语音信号进行压缩编码的基本依据是语音信号的冗余度和人的听觉感知机理。 P137-138 5、汉语音节一般由声母、韵母和声调三部分组成。P10 6、人的听觉系统有两个重要特性,一个是耳蜗对于声信号的时频分析特性;另一个是人耳听觉的掩蔽效应。P22 7、句法的最小单位是词,词法的最小单位是音节,音节可以由音素构成。P9 8、复倒谱分析中避免相位卷绕的算法,常用的有微分法和最小相位信号法。P62 9、语音信号处理也可以简称为语音处理,它是利用数字信号处理技术对语音信号进行处理的一门学科,包括语音编码、语音合成、语音识别、说话人识别和语音增强等五大分支。P3 10、语音信号处理也可以简称为语音处理,它是以数字信号处理和语音学为基础而形成的一个综合新的学科,包括发音语音学、声学语音学、听觉语音学和心理学等四大分支。P2,6 11、语音的四大要素:音质、音调、音强和音长。P9 12、人类发音过程有三类不同的激励方式,因而能产生三类不同的声音,即浊音、清音、和爆破音。P8 13、元音的一个重要声学特性是共振峰,它是区别不同元音的重要参数,它一般包括共振峰频率的位置和频带宽度。 14、语音信号的倒谱分析就是求取语音倒谱特征参数的过程,它可以通过同态信号处理来实现。P56 二、判断题:(每小题2分)√× 1、预测编码就是利用对误差信号进行编码来降低量化所需的比特数,从而使编码速率大幅降低。(×)P143 2、以线性预测分析-合成技术为基础的参数编码,一般都是根据语音信号的基音周期和清/浊音标志信息来决定要采用的激励信号源。(×)P181 3、自适应量化PCM就是一种量化器的特性,能自适应地随着输入信号的短时能量的变化而调整的编码方法。(×)P142 4、线性预测法正是基于全极点模型假定,采用时域均方误差最小准则来估计模型参数的。(×)P72 5、波形编码是依赖模型假定的语音编码方法。(×)P137 6、掩蔽效应是使一个声音A能感知的阀值因另一个声音B的出现而提高的现象,这时A叫

大学本科语音信号处理实验讲义8学时

语音信号处理实验讲义 时间:2011-12

目录 实验一语音信号生成模型分析 (3) 实验二语音信号时域特征分析 (7) 实验三语音信号频域特征分析 (12) 实验四语音信号的同态处理和倒谱分析 (16)

实验一 语音信号生成模型分析 一、实验目的 1、了解语音信号的生成机理,了解由声门产生的激励函数、由声道产生的调制函数和由嘴唇产生的辐射函数。 2、编程实现声门激励波函数波形及频谱,与理论值进行比较。 3、编程实现已知语音信号的语谱图,区分浊音信号和清音信号在语谱图上的差别。 二、实验原理 语音生成系统包含三部分:由声门产生的激励函数()G z 、由声道产生的调制函数()V z 和由嘴唇产生的辐射函数()R z 。语音生成系统的传递函数由这三个函数级联而成,即 ()()()()H z G z V z R z = 1、激励模型 发浊音时,由于声门不断开启和关闭,产生间隙的脉冲。经仪器测试它类似于斜三角波的脉冲。也就是说,这时的激励波是一个以基音周期为周期的斜三角脉冲串。单个斜三角波的频谱表现出一个低通滤波器的特性。可以把它表示成z 变换的全极点形式 12 1()(1) cT G z e z --= -? 这里c 是一个常数,T 是脉冲持续时间。周期的三角波脉冲还得跟单位脉冲串的z 变换相乘: 112 1 ()()()1(1)v cT A U z E z G z z e z ---=?= ?--? 这就是整个激励模型,v A 是一个幅值因子。 2、声道模型 当声波通过声道时,受到声腔共振的影响,在某些频率附近形成谐振。反映在信号频谱图上,在谐振频率处其谱线包络产生峰值,把它称为共振峰。 一个二阶谐振器的传输函数可以写成 12 ()1i i i i A V z B z C z --= -- 实践表明,用前3个共振峰代表一个元音足够了。对于较复杂的辅音或鼻音共振峰要到5个以上。多个()i V z 叠加可以得到声道的共振峰模型 12 1 11 ()()11R r r M M i r i N k i i i i k k b z A V z V z B z C z a z -=---======---∑∑∑ ∑ 3、辐射模型 从声道模型输出的是速度波,而语音信号是声压波。二者倒比称为辐射阻抗,它表征了

大学计算机基础课后习题答案

第1章 计算机基础知识 一、填空题 1.硬件系统、软件系统 2.(11011101)2=(221)10 =(335)8=(DD)16 3.1101.011 4.11110111.00000 .011 .(小数点后第5位到第8位循环) 5.1111 6.221 7.主存、Cache ram,rom 8.RAM 、ROM 9.外存 10.读、写、字节 二、选择题 1-5:CBADC 6-10:AADDD 11-15:ACCAD 三、判断题 1-5:错错对对对 6-10:对错错错错 四、简答题 1.修改题干:简述计算机发展各阶段所采用的逻辑部件及计算机的发展趋势。 答案:第一代计算机:电子管 第二代计算机:晶体管 第三代计算机:中小规模集成电路 第四代计算机:大规模、超大规模集成电路 计算机的研制正向智能化、网络化、巨型化、微型化、多媒体化的方向前进。 2.修改题干:简述计算机内部的信息为什么要采用二进制数编码来表示? 答案:因为采用二进制易于物理实现,机器可靠性高,运算规则简单。 3.位:代表一个二进制数位,是计算机表示数据的最小单位。 字节:计算机内部以字节为单位存储数据。1B=8b 。 字:CPU 通过数据总线一次存取、加工和传送的数据单位称为字。一个字通常由若干个字节组成。字长:一个字对应的位数。 4.1)运算速度 2)主频 3)字长 4)内存容量 5)外设扩展能力 6)软件配置情况 5.原码:数X 补码:X 原码:01010010 反码:01010010 补码:01010010 原码:11111111 反码:10000000 补码:10000001 原码:11010001==表示时不应该有小数点 反码:10101110 补码:10101111 原码:10000001 反码:11111110 补码:11111111 原码:00000000(或10000000) 反码:00000000(或11111111) 补码:00000000

微机原理知识点总结

第一章概述 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

《语音信号处理》实验报告材料

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息0704 学生名称:阮光武 学生学好:0903070430 提交日期:2010年6月18日

实验一 语音波形文件的分析和读取 一、实验的任务、性质与目的 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验: (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 二、实验原理和步骤: WAV文件格式简介 WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。

《大学计算机基础(清华版)》部分课后习题答案

大家好, 感谢大家这学期的配合,顺利完成了这学期《大学计算机基础》的教学(学习)工作。由于该课程结束后,还有很长一段时间才考试,因此大家要合理安排时间。不要寄希望于考前的突击复习,要提前认真、仔细地对该课程复习,可以随时通过邮箱与我联系。可能部分同学对课程的一些内容不太理解(不懂),不要紧张,这是我们每年都会遇到的事情,要多答疑、多做习题、多问同学、多上网查资料。 预祝大家取得好成绩! 孙统风《大学计算机基础(清华版)》部分课后习题答案 第1章 一、选择题 1.C 2. A 3. B 4. C 5. B 二、填空题 1. 表示形式(或载体),所表达的含义,数值型数据和非数值型数据 2.对信息的加工 3.通信技术、计算机技术、控制技术 4.小型机 5.电子商务 第2章 一、选择题 1.D 2.B 3.C 4.B 5.C 6.C 7.B 二、填空题 1.10001001 11110110 11110111 2.11111100101 3.8倍 4.-29.125 5. 2 1024*512 6. 6763 3755 3008 三、简答题 4、 二进制十进制八进制十六进制 1100111 103 147 67 110101.0011 53.1875 65.14 35.3 0.10011 0.59375 0.46 0.98 1000011 67 103 43 5、 十进制二进制十六进制 50 110010 32

128 10000000 80 0.625 0.101 0.A 50.625 110010.101 32.A 236 11101100 EC 20.08 10100.000101 14.14 6、 十进制补码 35 00100011 0 00000000 -2 11111110 -9 11110111 -76 10110100 -128 10000000 4.若计算机的字长为2个字节,某存储单元中的机器码0110110001011100表示一个浮点数,该浮点数的阶码为4位(含阶符1位,补码表示),尾数位12位(含数符1位,补码表示),则与该浮点数等值的十进制数是 -29.125 。 0110 110001011100 (补码) 0110 101110100011 + 1 0110 101110100100 (原码) (-0.011101001)×2(110)2= (-11101.001)2= -29.125

计算机组成原理知识点(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)磁芯存储器

相关主题