好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机组成原理课后习题及答案第2版唐朔飞最全版本M.ppt

338页
  • 卖家[上传人]:博****1
  • 文档编号:587544866
  • 上传时间:2024-09-06
  • 文档格式:PPT
  • 文档大小:3.25MB
  • / 338 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 计算机系统概论计算机系统概论第第 一一 章章 1. 什么是什么是计算机系统计算机系统、计算机、计算机硬件硬件和计和计算机算机软件软件?硬件和软件哪个?硬件和软件哪个更重要更重要?? 解:解:P3 计算机系统计算机系统——计算机硬件、软件和数计算机硬件、软件和数据通信设备的物理或逻辑的据通信设备的物理或逻辑的综合体综合体 计算机硬件计算机硬件——计算机的计算机的物理实体物理实体 计算机软件计算机软件——计算机运行所需的计算机运行所需的程序程序及相关资料及相关资料 硬件和软件在计算机系统中相互依存,硬件和软件在计算机系统中相互依存,缺一不可,因此缺一不可,因此同样重要同样重要1 1 5. 冯冯·诺依曼计算机的特点诺依曼计算机的特点是什么?是什么? 解:冯氏计算机的解:冯氏计算机的特点特点是:是:P8 · 由运算器、控制器、存储器、输入设由运算器、控制器、存储器、输入设备、输出设备备、输出设备五大部件组成五大部件组成;; · 指令和数据以指令和数据以同一形式同一形式(二进制形式)(二进制形式)存于存储器中;存于存储器中; · 指令由操作码、地址码指令由操作码、地址码两大部分两大部分组成;组成; · 指令在存储器中指令在存储器中顺序存放顺序存放,通常,通常自动自动顺序取出执行顺序取出执行;; · 以以运算器为中心运算器为中心(原始冯氏机)。

      原始冯氏机) 7. 解释概念:解释概念:主机、主机、CPU、主存、存储单元、存储元件、存储、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长机器字长、指令字长 解:解: 主机主机——是计算机硬件的是计算机硬件的主体主体部分,部分,由由CPU+MM(主存或内存)组成;(主存或内存)组成; CPU——中央处理器(机)中央处理器(机),是计算机硬件,是计算机硬件的的核心核心部件,部件,由运算器由运算器+控制器控制器组成;(早期的组成;(早期的运、控不在同一芯片上)运、控不在同一芯片上) 讲评:讲评:一种不确切的答法:一种不确切的答法: CPU与与MM合称合称主机;主机; 运算器与控制器运算器与控制器合称合称CPU 这类概念应从这类概念应从性质和结构性质和结构两个角度共同解释两个角度共同解释较确切 主存主存——计算机中存放计算机中存放正在运行的正在运行的程序程序和数据的存储器,为计算机的主要工作存储和数据的存储器,为计算机的主要工作存储器,可随机存取;器,可随机存取;(由存储体、各种逻辑部件由存储体、各种逻辑部件及控制电路组成)及控制电路组成) 存储单元存储单元——可可存放一个机器字存放一个机器字并并具有具有特定存储地址特定存储地址的存储单位;的存储单位; 存储元件存储元件——存储一位二进制信息存储一位二进制信息的物的物理元件,是存储器中理元件,是存储器中最小最小的存储单位,又叫的存储单位,又叫存储基元存储基元或或存储元存储元,,不能单独存取不能单独存取;; 存储字存储字——一个存储单元所存二进制代一个存储单元所存二进制代码的码的逻辑单位逻辑单位;; 存储字长存储字长——一个存储单元所存一个存储单元所存二二进制代码的位数进制代码的位数;; 存储容量存储容量——存储器中可存二进制存储器中可存二进制代码的代码的总量总量;(通常主、辅存容量分开;(通常主、辅存容量分开描述)描述) 机器字长机器字长——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,,每秒执行百万条指令数每秒执行百万条指令数,为计算机,为计算机运算速度指标的一种运算速度指标的一种计量单位计量单位;; CPICPI——Cycle Per Instruction——Cycle Per Instruction,,,,执行一条指令所需时钟周期数执行一条指令所需时钟周期数执行一条指令所需时钟周期数执行一条指令所需时钟周期数,,,,计算机运算速度指标计算机运算速度指标计算机运算速度指标计算机运算速度指标计量单位计量单位计量单位计量单位之一;之一;之一;之一; FLOPS——Floating Point Operation Per Second,,每秒浮点每秒浮点运算次数运算次数,计算机运算速度,计算机运算速度计量单计量单位位之一。

      之一 11. 指令和数据指令和数据都存于存储器都存于存储器中中,计算机如何计算机如何区分区分它们?它们? 解:计算机硬件主要解:计算机硬件主要通过不同通过不同的时间段的时间段来区分指令和数据,即:来区分指令和数据,即:取指周期取指周期(或取指微程序)取出的(或取指微程序)取出的既为指令,既为指令,执行周期执行周期(或相应微程(或相应微程序)取出的既为数据序)取出的既为数据 另外也可另外也可通过地址来源区分通过地址来源区分,,从从PC指出的存储单元取出的是指令,指出的存储单元取出的是指令,由由指令地址码指令地址码部分提供操作数地址部分提供操作数地址 系系 统统 总总 线线第第 三三 章章 1. 什么是什么是总线总线?总线传输有何?总线传输有何特点特点?为了减轻总线的负载,总线上?为了减轻总线的负载,总线上的的部件都部件都应具备什么特点?应具备什么特点? 解:总线是解:总线是多个部件共享多个部件共享的传输的传输部件;部件; 总线传输的总线传输的特点特点是:某一时刻只是:某一时刻只能有一路信息在总线上传输,能有一路信息在总线上传输,即分时即分时使用;使用; 为了减轻总线负载,总线上的部为了减轻总线负载,总线上的部件应通过件应通过三态驱动缓冲电路三态驱动缓冲电路与总线连与总线连通。

      通 4. 为什么要设置为什么要设置总线判优控制总线判优控制?常见的?常见的集中式总线控制有集中式总线控制有几种几种?各有何?各有何特点特点?哪种?哪种方式响应时间方式响应时间最快最快?哪种方式对电路故障?哪种方式对电路故障最最敏感敏感?? 解:总线判优控制解:总线判优控制解决多个部件同时申解决多个部件同时申请总线时的使用权分配问题请总线时的使用权分配问题;; 常见的集中式总线控制有常见的集中式总线控制有三种三种::链式查询、计数器查询、独立请求;链式查询、计数器查询、独立请求; 特点:特点:链式查询方式连线简单,易于扩链式查询方式连线简单,易于扩充,充,对电路故障最敏感对电路故障最敏感;计数器查询方式;计数器查询方式优优先级设置较灵活先级设置较灵活,对故障不敏感,连线及控,对故障不敏感,连线及控制过程较复杂;独立请求方式制过程较复杂;独立请求方式判优速度最快判优速度最快,,但硬件器件用量大,连线多,成本较高但硬件器件用量大,连线多,成本较高 5. 解释概念:解释概念:总线宽度、总线带宽、总线总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期、总线的设备(或从模块)、总线的传输周期、总线的通信控制。

      通信控制 解:解: 总线宽度总线宽度——指数据总线的位(根)数,指数据总线的位(根)数,用用bit(位)作单位位)作单位 总线带宽总线带宽——指总线在单位时间内可以传指总线在单位时间内可以传输的数据总量,相当于总线的数据传输率,等输的数据总量,相当于总线的数据传输率,等于总线工作频率于总线工作频率与与总线宽度(字节数)的乘积总线宽度(字节数)的乘积 总线复用总线复用——指两种不同性质且不同时出指两种不同性质且不同时出现的信号分时使用同一组总线,称为总线的现的信号分时使用同一组总线,称为总线的“多路分时复用多路分时复用” 总线的主设备总线的主设备(主模块)(主模块)——指一次总线传输期间,指一次总线传输期间,拥有总线拥有总线控制权控制权的设备(模块);的设备(模块); 总线的从设备总线的从设备(从模块)(从模块)——指一次总线传输期间,指一次总线传输期间,配合配合主设主设备完成传输的设备(模块),它只备完成传输的设备(模块),它只能能被动接受被动接受主设备发来的命令;主设备发来的命令; 总线的传输周期总线的传输周期——总线完总线完成成一次完整而可靠的传输一次完整而可靠的传输所需时间;所需时间; 总线的通信控制总线的通信控制——指总线指总线传送过程中双方的传送过程中双方的时间配合方式时间配合方式。

      6. 试试比较比较同步通信和异步通信同步通信和异步通信 解:解: 同步通信同步通信——由统一时钟控制的通信由统一时钟控制的通信,,控制方式简单,灵活性差,当系统中各部件工控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降作速度差异较大时,总线工作效率明显下降适合于速度差别不大的场合;适合于速度差别不大的场合; 异步通信异步通信——不由统一时钟控制的通信,不由统一时钟控制的通信,部件间部件间采用应答方式采用应答方式进行联系,控制方式较同进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率差异较大时,有利于提高总线工作效率 8. 为什么说为什么说半同步通信半同步通信同时保留同时保留了同步通信和异步了同步通信和异步通信的特点?通信的特点? 解:解: 半同步通信半同步通信既能像既能像同步同步通信通信那样那样由统一时钟控制由统一时钟控制,,又能像又能像异步通信异步通信那样那样允许传允许传输时间不一致输时间不一致,,因此因此工作效工作效率介于两者之间率介于两者之间。

      10. 什么是什么是总线标准总线标准?为什么?为什么要要设置设置总线标准?目前总线标准?目前流行的流行的总线标总线标准有哪些?什么是准有哪些?什么是即插即用即插即用??哪些哪些总总线有这一特点?线有这一特点? 解:解: 总线标准总线标准——可理解为系统与可理解为系统与模块、模块与模块之间的互连的标准模块、模块与模块之间的互连的标准界面 总线标准的总线标准的设置设置主要解决不同主要解决不同厂家各类模块化产品的厂家各类模块化产品的兼容兼容问题;问题; 目前流行的总线标准有:目前流行的总线标准有:ISA、、EISA、、PCI等;等; 即插即用即插即用——指任何扩展卡插指任何扩展卡插入系统便可工作入系统便可工作EISA、、PCI等具有等具有此功能 11. 画一个具有画一个具有双向传输功能的总线双向传输功能的总线逻逻辑图 解:此题实际上是要求设计一个解:此题实际上是要求设计一个双向总双向总线收发器线收发器,,设计要素为设计要素为三态、方向、使能三态、方向、使能等等控制功能的实现,可参考控制功能的实现,可参考74LS245等总线缓等总线缓冲器芯片内部电路。

      冲器芯片内部电路 逻辑图逻辑图如下:如下:((n位)位)GDIRA1B1AnBn………………………… ……使能使能控制控制方向方向控制控制 错误的设计:错误的设计:CPUMMI/O1I/O2I/On……系统总线系统总线系统总线系统总线存储总线存储总线存储总线存储总线这个方案的这个方案的错误错误是:是: 不合题意不合题意按题意要求应画出逻辑线路图而按题意要求应画出逻辑线路图而不是逻辑框图不是逻辑框图 12. 设数据总线上接有设数据总线上接有A、、B、、C、、D四个寄存器,要求四个寄存器,要求选用合适的选用合适的74系列芯片系列芯片,完,完成下列逻辑设计:成下列逻辑设计: ((1)) 设计一个电路,在同设计一个电路,在同一时间实现一时间实现D→→A、、D→→B和和D→→C寄存器间的传送;寄存器间的传送; ((2)) 设计一个电路,实现设计一个电路,实现下列操作:下列操作: T0时刻完成时刻完成D→→总线;总线; T1时刻完成时刻完成总线总线→→A;; T2时刻完成时刻完成A→→总线;总线; T3时刻完成时刻完成总线总线→→B。

      令:令:令:令:BUSBUSA=BUSA=BUSB=BUSB=BUSC=CPC=CP;;;; D DBUS= -OEBUS= -OE;;;;当当当当CPCP前沿到来时,将前沿到来时,将前沿到来时,将前沿到来时,将D DA A、、、、B B、、、、C C解:解: ((1)采用)采用三态输出三态输出的的D型寄存器型寄存器74LS374做做A、、B、、C、、D四个寄存四个寄存器,其器,其输出可直接挂总线输出可直接挂总线A、、B、、C三个寄存器的输入三个寄存器的输入采用同一脉冲采用同一脉冲打入打入注意-OE为为电平控制电平控制,与打,与打入脉冲间的时间配合关系为:入脉冲间的时间配合关系为: -OE-OE:::: CPCP:::: 现以现以8位总线为例,设计此电路,如下图位总线为例,设计此电路,如下图示:示:数据总线数据总线数据总线数据总线D7D7D0D0BUSBUSA A1Q 8Q1Q 8QOE OE 1D 8D 1D 8D374374 D D1Q 8Q1Q 8QOE OE 1D 8D 1D 8D374374 A A1Q 8Q1Q 8QOE OE 1D 8D 1D 8D374374 B B1Q 8Q1Q 8QOE OE 1D 8D 1D 8D374374 C CBUSBUSC CBUSBUSB BBUSBUSD DD DBUSBUSC CBUSBUSB BBUSBUSA ABUSBUS ((2)寄存器设置同()寄存器设置同(1),由),由于本题中发送、接收不在同一节拍,于本题中发送、接收不在同一节拍,因此总线需设因此总线需设锁存器缓冲锁存器缓冲,锁存器,锁存器采用采用74LS373(电平使能输入)。

      电平使能输入)节拍、脉冲配合关系如下:节拍、脉冲配合关系如下:时钟:时钟:时钟:时钟: CLKCLK::::节拍电平:节拍电平:节拍电平:节拍电平:TiTi::::打入脉冲:打入脉冲:打入脉冲:打入脉冲:PiPi:::: 图中,脉冲图中,脉冲图中,脉冲图中,脉冲包包包包在电平中,为了在电平中,为了在电平中,为了在电平中,为了留有留有留有留有较多的较多的较多的较多的传送时间,脉冲设置在靠近电平传送时间,脉冲设置在靠近电平传送时间,脉冲设置在靠近电平传送时间,脉冲设置在靠近电平后沿处后沿处后沿处后沿处 节拍、脉冲分配逻辑如下:节拍、脉冲分配逻辑如下:二位二位二位二位格雷格雷格雷格雷码同码同码同码同步计步计步计步计数器数器数器数器1 1&&&&&&&&1 11 11 1G Y0G Y0 Y1 Y11/21391/2139 Y3 Y3A A B Y2B Y21 1CLKCLKP0P0P1P1P2P2P3P3T0T0T1T1T2T2T3T3-T0-T0-T1-T1 -T2 -T2-T3-T3 节拍、脉冲时序图如下:节拍、脉冲时序图如下:CLKCLK:::: T0T0:::: T1T1:::: T2T2:::: T3T3:::: P0P0:::: P1P1:::: P2P2:::: P3P3:::: 以以8位总线为例,电路设计如下:位总线为例,电路设计如下:(图中,(图中,A、、B、、C、、D四个寄存器与数据总线四个寄存器与数据总线的连接方法同上。

      的连接方法同上> >= =1 11Q 8Q1Q 8QOE OE 1D 8D 1D 8D374374 A A1Q 8Q1Q 8QOE OE 1D 8D 1D 8D374374 B BBUSBUSB BD DBUSBUSC CBUSBUSB BBUSBUSA ABUSBUSBUSBUSA A1Q 8Q1Q 8QOE OE 1D 8D 1D 8D374374 D DBUSBUSD D1Q 8Q1Q 8Q OE G OE G 1D 8D1D 8D3733731Q 8Q1Q 8QOE OE 1D 8D 1D 8DBUSBUSC C374374 C C> >= =1 1T1 T3 T0 T2T1 T3 T0 T2数据总线(数据总线(数据总线(数据总线(D7~D0D7~D0))))令:令:令:令:A ABUS = -T2BUS = -T2 D DBUS = -T0BUS = -T0 BUS BUSA = P1A = P1 BUS BUSB = P3B = P3返回目录返回目录返回目录返回目录 14. 设总线的时钟频率为设总线的时钟频率为8MHz,,一个一个总线周期等于总线周期等于一个一个时时钟周期。

      如果一个总线周期中并钟周期如果一个总线周期中并行传送行传送16位位数据,试问数据,试问总线的带总线的带宽宽是多少?是多少? 解:解: 总线宽度总线宽度 = 16位位/8 =2B 总线带宽总线带宽 = 8MHz×2B =16MB/s 15. 在一个在一个32位位的总线系统中,总线的时的总线系统中,总线的时钟频率为钟频率为66MHz,假设总线最短传输周期为,假设总线最短传输周期为4个个时钟周期,试计算总线的时钟周期,试计算总线的最大数据传输率最大数据传输率若想若想提高提高数据传输率,可采取什么数据传输率,可采取什么措施措施?? 解法解法1:: 总线宽度总线宽度 =32位位/8 =4B 时钟周期时钟周期 =1/ 66MHz =0.015µs 总线最短传输周期总线最短传输周期 =0.015µs×4 =0.06µs 总线最大数据传输率总线最大数据传输率 = 4B/0.06µs =66.67MB/s 解法解法2:: 总线工作频率总线工作频率 = 66MHz/4 =16.5MHz 总线最大数据传输率总线最大数据传输率 =16.5MHz×4B =66MB/s 若想若想提高提高总线的数据传输率,总线的数据传输率,可可提高提高总线的时钟频率,或总线的时钟频率,或减少减少总总线周期中的时钟个数,或线周期中的时钟个数,或增加增加总线总线宽度。

      宽度 16. 在异步串行传送系统中,字符格式在异步串行传送系统中,字符格式为:为:1个个起始位、起始位、8个个数据位、数据位、1个个校验位、校验位、2个个终止位若要求每秒传送终止位若要求每秒传送120个个字符,试求字符,试求传送的传送的波特率波特率和和比特率比特率 解:解: 一帧一帧 =1+8+1+2 =12位位 波特率波特率 =120帧帧/秒秒×12位位 =1440波特波特 比特率比特率 = 1440波特波特×((8/12)) =960bps或:或:比特率比特率 = 120帧帧/秒秒×8 =960bps 存存 储储 器器第第 四四 章章 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字 按字节编址时的主存地址分配图如下:0 01 12 23……………………6 65 54 4655346553465532655327 7……………………65535655356553365533字地址字地址字地址字地址 HB —————HB —————字节地址字节地址字节地址字节地址—————LB—————LB0 04 48 8…………65528655286553265532 讨论: 1、 在按字节编址的前提下,按字寻址时,地址仍为16位,即地址编码范围仍为0~64K-1,但字空间为16K字,字地址不连续。

      2、 字寻址的单位为字,不是B(字节) 3、 画存储空间分配图时要画出上限 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 = 2X4 = 8片 讨论: 地址线根数与容量为2的幂的关系,在此为214,14根; 数据线根数与字长位数相等,在此为32根注:不是2的幂的关系 ) :32=25,5根 8. 试比较静态RAM和动态RAM。

      答:静态RAM和动态RAM的比较见下表:特性特性特性特性SRAMSRAMDRAMDRAM存储信息存储信息存储信息存储信息触发器触发器触发器触发器电容电容电容电容破坏性读出破坏性读出破坏性读出破坏性读出非非非非是是是是需要刷新需要刷新需要刷新需要刷新不要不要不要不要需要需要需要需要送行列地址送行列地址送行列地址送行列地址同时送同时送同时送同时送分两次送分两次送分两次送分两次送运行速度运行速度运行速度运行速度快快快快慢慢慢慢集成度集成度集成度集成度低低低低高高高高发热量发热量发热量发热量大大大大小小小小存储成本存储成本存储成本存储成本高高高高低低低低功耗功耗功耗功耗高高高高低低低低可靠性可靠性可靠性可靠性高高高高低低低低可用性可用性可用性可用性使用方便使用方便使用方便使用方便不方便不方便不方便不方便适用场合适用场合适用场合适用场合高速小容量存储器高速小容量存储器高速小容量存储器高速小容量存储器大容量主存大容量主存大容量主存大容量主存 9. 什么叫刷新?为什么要刷新?说明刷新有几种方法 解:刷新——对DRAM定期进行的全部重写过程; 刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作; 常用的刷新方法有三种——集中式、分散式、异步式。

      集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新; 分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间; 异步式:是集中式和分散式的折衷 讨论:1)刷新与再生的比较: 共同点: ·动作机制一样都是利用DRAM存储元破坏性读操作时的重写过程实现; ·操作性质一样都是属于重写操作 区别: ·解决的问题不一样再生主要解决DRAM存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题 ·操作的时间不一样再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行 ·动作单位不一样再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行 ·芯片内部I/O操作不一样读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出(唯RAS有效刷新,内部读)鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。

      2)CPU访存周期与存取周期的区别: CPU访存周期是从CPU一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间 3)分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期 4)刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式 10. 半导体存储器芯片的译码驱动方式有几种? 解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法 线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材; 重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元这种方法通过行、列译码信号的重合来选址,也称矩阵译码可大大节省器材用量,是最常用的译码驱动方式 11. 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1µs试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少? 注:该题题意不太明确。

      实际上,只有异步刷新需要计算刷新间隔 解:设DRAM的刷新最大间隔时间为2ms,则 异步刷新的刷新间隔 =2ms/256行 =0.0078125ms =7.8125µs 即:每7.8125µs刷新一行 集中刷新时,刷新最晚启动时间=2ms-0.1µs×256行 =2ms-25.6µs=1974.4µs 集中刷新启动后, 刷新间隔 = 0.1µs 即:每0.1µs刷新一行 集中刷新的死时间 =0.1µs×256行 =25.6µs 分散刷新的刷新间隔 =0.1µs×2 =0.2µs 即:每0.2µs刷新一行 分散刷新一遍的时间 =0.1µs×2×256行 =51.2µs 则 分散刷新时, 2ms内可重复刷新遍数 =2ms/ 51.2µs ≈39遍 12. 画出用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片;地址分配:页面号页面号页面号页面号 组号组号组号组号 组内地址组内地址组内地址组内地址2 4 102 4 10 组逻辑图如下:(组逻辑图如下:(位扩展位扩展))1K1K× ×4 4SRAMSRAM1K1K× ×4 4SRAMSRAMA A9~09~0-WE-WE-CSi-CSiD D7 7D D6 6D D5 5D D4 4 D D3 3D D2 2D D1 1D D0 01K1K× ×8 8 页面逻辑框图:(字扩展)1K1K× ×8 8((((组组组组0 0))))1K1K× × 8 8((((组组组组1 1))))1K1K× ×8 8((((组组组组2 2))))1K1K× ×8 8((((组组组组1515))))………………组组组组译译译译码码码码器器器器4:16-CS0-CS0-CS1-CS1-CS2-CS2-CS15-CS15A A9~09~0 -WE D -WE D7~07~0A10A10A11A11A12A12A13A13-CEi-CEi16K16K× ×8 8GG 存储器逻辑框图:(字扩展)16K16K× ×8 8((((页页页页面面面面0 0))))16K16K× ×8 8((((页页页页面面面面1 1))))16K16K× ×8 8((((页页页页面面面面2 2))))16K16K× ×8 8((((页页页页面面面面3 3))))页页页页面面面面译译译译码码码码器器器器2:42:4A14A14A15A15-CE0-CE0-CE1-CE1-CE2-CE2-CE3-CE3A13~0 -WE D7~0A13~0 -WE D7~0 13. 设有一个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根 14. 某某8位位微型机微型机地址码为地址码为18位位,若使用,若使用4K×4位位的的RAM芯片芯片组组成模成模块块板板结结构的存构的存储储器,器,试问试问:: ((1))该该机所允机所允许许的的最大主存空最大主存空间间是多少?是多少? ((2)若每个模)若每个模块块板板为为32K×8位位,共需,共需几个几个模模块块板?板? ((3)每个模)每个模块块板内共有板内共有几片几片RAM芯片?芯片? ((4)共有)共有多少片多少片RAM?? ((5))CPU如何如何选择选择各模各模块块板?板? 解: (1)218 = 256K,则该机所允许的最大主存空间是256K×8位(或256KB); (2)模块板总数 = 256K×8 / 32K×8 = 8块; (3)板内片数 = 32K×8位 / 4K×4位 = 8 × 2 = 16片; (4)总片数 = 16片× 8 = 128片; (5)CPU通过最高3位地址译码选板,次高3位地址译码选片。

      地址格式分配如下:板地址板地址板地址板地址 片地址片地址片地址片地址 片内地址片内地址片内地址片内地址3 3 123 3 1217 15 14 12 11 0 15. 设CPU共有16根地址线,8根数据线,并用-MREQ(低电平有效)作访存控制信号,R/-W作读/写命令信号(高电平为读,低电平为写)现有这些存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定) 试从上述规格中选用合适的芯片,画出CPU和存储芯片的连接图要求如下: (1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区; (2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。

      解: (1)地址空间分配图如下:4K4K((((ROMROM))))4K4K((((SRAMSRAM))))4K4K((((SRAMSRAM))))4K4K((((SRAMSRAM))))…… 0~4095 0~4095 4096~8191 4096~8191 8192~12287 8192~1228712288~1638312288~16383 …… 65535 65535Y0Y0Y1Y1Y2Y2Y3Y3…………A15=1A15=1A15=0A15=0 (2)选片:ROM:4K × 4位:2片; RAM:4K × 8位:3片; (3)CPU和存储器连接逻辑图及片选逻辑:4K4K× ×4 4ROMROM7413874138((((3 3::::8 8))))4K4K× ×4 4ROMROM4K4K× ×8 8RAMRAM4K4K× ×8 8RAMRAM4K4K× ×8 8RAMRAM-CS0 -CS1 -CS2 -CS3-CS0 -CS1 -CS2 -CS3-MREQ-MREQA15A15A14A14A13A13A12A12CBA -Y0-G2A -G2B-G2A -G2BG1G1+5V+5VCPUCPUA11~0A11~0R/-WR/-WD3~0D3~0D7~4D7~4-Y1-Y2-Y3 讨论: 1)选片:当采用字扩展和位扩展所用芯片一样多时,选位扩展。

      理由:字扩展需设计片选译码,较麻烦,而位扩展只需将数据线按位引出即可 本题如选用2K×8 ROM,则RAM也应选2K×8的否则片选要采用二级译码,实现较麻烦 当需要RAM、ROM等多种芯片混用时,应尽量选容量等外特性较为一致的芯片,以便于简化连线 2)应尽可能的避免使用二级译码,以使设计简练但要注意在需要二级译码时如果不使用,会使选片产生二意性 3)片选译码器的各输出所选的存储区域是一样大的,因此所选芯片的字容量应一致,如不一致时就要考虑二级译码 4)其它常见错误:  EPROM的PD端接地;(PD为功率下降控制端,当输入为高时,进入功率下降状态因此PD端的合理接法是与片选端-CS并联  ROM连读/写控制线-WE;(ROM无读/写控制端) 注:该题缺少“系统程序工作区”条件 16. CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连 (1)用74138译码器画出CPU与存储芯片的连接图; (2)写出每片RAM的地址范围; (3)如果运行时发现不论往哪片RAM写入数据,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。

      (4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果? 解: (1)CPU与存储器芯片连接逻辑图:CPUCPU8K8K× ×8 8SRAMSRAM7413874138((((3 3::::8 8))))R/-WD7~0A12~08K8K× ×8 8SRAMSRAM8K8K× ×8 8SRAMSRAM8K8K× ×8 8SRAMSRAM…-G2A-G2A-G2B-G2BA AB BC C-MREQA13A14A15-CS0 -CS1 -CS2 …… -CS7-CS0 -CS1 -CS2 …… -CS7+5V+5VG1G1 (2)地址空间分配图:8K× ×8 RAM8K× ×8 RAM8K× ×8 RAM8K× ×8 RAM8K× ×8 RAM8K× ×8 RAM8K× ×8 RAM8K× ×8 RAMY0Y1Y2Y3Y4Y5Y6Y70~81918192~1638316384~2457524576~3276732768~4095940960~4915149152~5734357344~65535 (3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。

      可能的情况有:1)该片的-CS端与-WE端错连或短路;2)该片的-CS端与CPU的-MREQ端错连或短路;3)该片的-CS端与地线错连或短路; 在此,假设芯片与译码器本身都是好的 (4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况此时存储器只能寻址A13=1的地址空间,A13=0的另一半地址空间将永远访问不到若对A13=0的地址空间进行访问,只能错误地访问到A13=1的对应空间中去 22. 某机字长为16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明 解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取多体交叉存取技术,图示如下:0 08 8…………M0M08K8K1 19 9…………M1M18K8K2 21010…………M2M28K8K3 31111…………M3M38K8K4 41212…………M4M48K8K5 51313…………M5M58K8K6 61414…………M6M68K8K7 71515…………M7M78K8K存储管理存储管理存储管理存储管理存储总线存储总线存储总线存储总线 8体交叉访问时序:启动启动启动启动M0M0::::启动启动启动启动M1M1::::启动启动启动启动M2M2::::启动启动启动启动M3M3::::启动启动启动启动M4M4::::启动启动启动启动M5M5::::启动启动启动启动M6M6::::启动启动启动启动M7M7::::t t单体存取周期单体存取周期单体存取周期单体存取周期由图可知:每隔由图可知:每隔由图可知:每隔由图可知:每隔1/81/8个存取周期就可在存储总线上获得一个数据。

      个存取周期就可在存储总线上获得一个数据个存取周期就可在存储总线上获得一个数据个存取周期就可在存储总线上获得一个数据 23. 设CPU共有16根地址线,8根数据线,并用M/-IO作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O),-WR(低电平有效)为写命令,-RD(低电平有效)为读命令设计一个容量为64KB的采用低位交叉编址的8体并行结构存储器现有右图所示的存储芯片及138译码器 画出CPU和存储芯片(芯片容量自定)的连接图,并写出图中每个存储芯片的地址范围(用十六进制数表示)RAMRAM……………………A Ai iA A0 0OEOED Dn nD D0 0WEWECECE……………………-OE -OE 允许读允许读允许读允许读-WE -WE 允许写允许写允许写允许写-CE -CE 片选片选片选片选 解:芯片容量=64KB/8=8KB 每个芯片(体)的地址范围以8为模低位交叉分布如下:8K8K×8 RAM×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAM8K×8 RAMY0Y0Y1Y1Y2Y2Y3Y3Y4Y4Y5Y5Y6Y6Y7Y70000H0000H,,,,0008H0008H,,,,…………,,,,FFF8HFFF8H0001H0001H,,,,0009H0009H,,,,…………,,,,FFF9HFFF9H0002H0002H,,,,000AH000AH,,,,…………,,,,FFFAHFFFAH0003H0003H,,,,000BH000BH,,,,…………,,,,FFFBHFFFBH0004H0004H,,,,000CH000CH,,,,…………,,,,FFFCHFFFCH0005H0005H,,,,000DH000DH,,,,…………,,,,FFFDHFFFDH0006H0006H,,,,000EH000EH,,,,…………,,,,FFFEHFFFEH0007H0007H,,,,000FH000FH,,,,…………,,,,FFFFHFFFFH地址空间分配图地址空间分配图地址空间分配图地址空间分配图:::: 地址范围地址范围地址范围地址范围:::: 方案1:8体交叉编址的CPU和存储芯片的连接图:CPUCPU8K8KB BSRAMSRAM0 0体体体体7413874138((((3 3::::8 8))))-WR-WR-RD-RDD7~0D7~0A15~3A15~38K8KB BSRAMSRAM1 1体体体体8K8KB BSRAMSRAM2 2体体体体8K8KB BSRAMSRAM7 7体体体体…-G2A -G2B-G2A -G2BA AB BC CM/-IOM/-IOA0A0A1A1A2A2-Y0 -Y1 -Y2 …… -Y7-Y0 -Y1 -Y2 …… -Y7G1G1-WE-WE-WE-WE-WE-WE-WE-WE-OE-OE-OE-OE-OE-OE-OE-OE-CE-CE-CE-CE-CE-CE-CE-CE 注:注:注:注:此设计方案只能此设计方案只能此设计方案只能此设计方案只能实现实现实现实现八体之间的八体之间的八体之间的八体之间的低位交叉寻址低位交叉寻址低位交叉寻址低位交叉寻址,但,但,但,但不不不不能实现八体并行操作能实现八体并行操作能实现八体并行操作能实现八体并行操作。

      方案2:8体交叉并行存取系统体内逻辑如下:8K8KB BSRAMSRAM-WE-WE-OE-OE输输输输入入入入地地地地址址址址缓缓缓缓冲冲冲冲输输输输入入入入数数数数据据据据缓缓缓缓冲冲冲冲-CE-CEA12~0A12~0D7~0D7~0输输输输出出出出数数数数据据据据缓缓缓缓冲冲冲冲片选信号扩展片选信号扩展片选信号扩展片选信号扩展A15~3A15~3D7~0D7~0读命令读命令读命令读命令扩展扩展扩展扩展写命令写命令写命令写命令扩展扩展扩展扩展-Yi-Yi-RD-RD-WR-WRi i体体体体M/-IOM/-IO 由于存储器由于存储器由于存储器由于存储器单单单单体体体体的存取周期为的存取周期为的存取周期为的存取周期为T T,而,而,而,而CPUCPU的总线访的总线访的总线访的总线访存周期为存周期为存周期为存周期为((((1/81/8))))T T,故体内逻辑要支,故体内逻辑要支,故体内逻辑要支,故体内逻辑要支持单体的持单体的持单体的持单体的独立工作独立工作独立工作独立工作速率因此在速率因此在速率因此在速率因此在SRAMSRAM芯片的外围芯片的外围芯片的外围芯片的外围加了地址、数据的加了地址、数据的加了地址、数据的加了地址、数据的输入输入输入输入/ /输出输出输出输出缓冲缓冲缓冲缓冲装置,装置,装置,装置,以及控制信号的以及控制信号的以及控制信号的以及控制信号的扩扩扩扩展展展展装置。

      装置 CPU和各体的连接图:由于存储器单体的工作速率和总线速率不一致,因此各体之间存在总线分配问题,存储器不能简单地和CPU直接相连,要在存储管理部件的控制下连接CPUCPU8K8KB B0 0体体体体 74138 74138((((3 3::::8 8))))-WR-WR-RD-RDD D7~07~0A A15~315~38K8KB B1 1体体体体8K8KB B2 2体体体体8K8KB B7 7体体体体……-G-G2A2A -G -G2B2BA AB BC CM/-IOM/-IOA A0 0A A1 1A A2 2-Y-Y0 0 -Y -Y1 1 -Y -Y2 2 …… -Y …… -Y7 7GG1 1-WE-WE-WE-WE-WE-WE-WE-WE-OE-OE-OE-OE-OE-OE-OE-OE-Y-Y0 0-Y-Y1 1-Y-Y2 2-Y-Y7 7存存存存储储储储管管管管理理理理A A12~012~0A A12~012~0A A12~012~0A A12~012~0 24. 一个4体低位交叉的存储器,假设存取周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期? 解:本题中,只有访问第一个字需一个存取周期,从第二个字开始,每隔1/4存取周期即可访问一个字,因此,依次访问64个字需: 存取周期个数 =(64-1)×(1/4)T+T =(63/4+1)T =15.75+1 =16.75T 与常规存储器的速度相比,加快了:(64-16.75)T =47.25T 注:4体交叉存取虽然从理论上讲可将存取速度提高到4倍,但实现时由于并行存取的分时启动需要一定的时间,故实际上只能提高到接近4倍。

      25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理? 解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )存储系统中Cache—主存层次采用了程序访问的局部性原理 26. 计算机中设置Cache的作用是什么?能不能把Cache的容量扩大,最后取代主存,为什么? 答:计算机中设置Cache主要是为了加速CPU访存速度; 不能把Cache的容量扩大到最后取代主存,主要因为Cache和主存的结构原理以及访问机制不同(主存是按地址访问,Cache是按内容及地址访问) 27. 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) 28. 设主存容量为256K字,Cache容量为2K字,块长为41)设计Cache地址格式,Cache中可装入多少块数据?(2)在直接映射方式下,设计主存地址格式3)在四路组相联映射方式下,设计主存地址格式4)在全相联映射方式下,设计主存地址格式5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。

      29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少? 30. 一个组相联映射的Cache由64块组成,每组内包含4块主存包含4096块,每块由128字组成,访存地址为字地址试问主存和Cache的地址各为几位?画出主存的地址格式 31. 设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位试问主存地址为ABCDEH的存储单元在Cache中的什么位置? 32. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织1)画出主存地址字段中各段的位数;(2)设Cache的初态为空,CPU依次从主存第0、1、2……89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍? 答:(1)由于容量是按字节表示的,则主存地址字段格式划分如下: 8 7 2 3 2 (2)由于题意中给出的字地址是连续的,故(1)中地址格式的最低2位不参加字的读出操作。

      当主存读0号字单元时,将主存0号字块(0~7)调入Cache(0组0号块),主存读8号字单元时,将1号块(8~15)调入Cache(1组0号块)…… 主存读89号单元时,将11号块(88~89)调入Cache(11组0号块)块内字地址块内字地址组内块号组内块号Cache组号组号主存字块标记主存字块标记字节地址字节地址 共需调90/8 12次,就把主存中的90个字调入Cache除读第1遍时CPU需访问主存12次外,以后重复读时不需再访问主存则在90×8 =720个读操作中: 访Cache次数 =(90-12)+630 =708次 Cache命中率 =708/720 0.98 98%(3)设无Cache时访主存需时720T(T为主存周期),加入Cache后需时: 708T/6+12T =(118+12)T =130T 则:720T/130T 5.54倍 有Cache和无Cache相比,速度提高了4.54倍左右 35. 画出RZ、NRZ、NRZ1、PE、FM写入数字串1011001的写电流波形图。

      解:R RZ Z::::N NR RZ Z::::N NR RZ Z1 1::::P PE E::::F FMM::::1 0 1 1 0 0 11 0 1 1 0 0 1ttttt注意注意注意注意 36. 以写入1001 0110为例,比较调频制和改进调频制的写电流波形图 解:写电流波形图如下:FM:FM:MFM:MFM:MFM:MFM:1 0 0 1 0 1 1 01 0 0 1 0 1 1 0tt1 0 0 1 0 1 1 01 0 0 1 0 1 1 0频率提高一倍后的频率提高一倍后的频率提高一倍后的频率提高一倍后的MFMMFM制。

      制t 比较: 1)FM和MFM写电流在位周期中心处的变化规则相同; 2)MFM制除连续一串“0”时两个0周期交界处电流仍变化外,基本取消了位周期起始处的电流变化; 3)FM制记录一位二进制代码最多两次磁翻转,MFM制记录一位二进制代码最多一次磁翻转,因此MFM制的记录密度可提高一倍上图中示出了在MFM制时位周期时间缩短一倍的情况由图可知,当MFM制记录密度提高一倍时,其写电流频率与FM制的写电流频率相当; 4)由于MFM制并不是每个位周期都有电流变化,故自同步脉冲的分离需依据相邻两个位周期的读出信息产生,自同步技术比FM制复杂得多 37. 画出调相制记录01100010的驱动电流、记录磁通、感应电势、同步脉冲及读出代码等几种波形 解:I I::::   ::::e e::::T T::::D D::::0 1 1 0 0 0 1 00 1 1 0 0 0 1 0ttttt写入写入写入写入读出读出读出读出 注意: 1)画波形图时应严格对准各种信号的时间关系。

      2)读出感应信号不是方波而是与磁翻转边沿对应的尖脉冲; 3)同步脉冲的出现时间应能“包裹”要选的读出感应信号,才能保证选通有效的读出数据信号,并屏蔽掉无用的感应信号PE记录方式的同步脉冲应安排对准代码周期的中间 4)最后读出的数据代码应与写入代码一致 38. 磁盘组有6片磁盘,最外两侧盘面可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速3600转/分 (1)共有多少存储面可用? (2)共有多少柱面? (3)盘组总存储容量是多少? (4)数据传输率是多少? 解:(1)共有:6×2 = 12个存储面可用;(2)有效存储区域 =(33-22)/2 = 5.5cm 柱面数 = 40道/cm × 5.5cm= 220道(3)内层道周长=22cm= 69.08cm 道容量=400位/cm×69.08cm = 3454B 面容量=3454B×220道 = 759 880B 盘组总容量 =759,880B×12面 = 9,118,560B (4)转速 = 3600转 / 60秒 = 60转/秒 数据传输率 = 3454B × 60转/秒 = 207,240 B/S 注意: 1)的精度选取不同将引起答案不同,一般取两位小数; 2)柱面数盘组总磁道数(=一个盘面上的磁道数) 3)数据传输率与盘面数无关; 4)数据传输率的单位时间是秒,不是分。

      39. 某磁盘存储器转速为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、平均等待时间是磁盘转半圈的时间,与容量无关。

      40. 采用定长数据块记录格式的磁盘存储器,直接寻址的最小单位是什么?寻址命令中如何表示磁盘地址? 答:采用定长数据块记录格式,直接寻址的最小单位是一个记录块(数据块),寻址命令中可用如下格式表示磁盘地址: 台号台号台号台号 柱面柱面柱面柱面( (磁道磁道磁道磁道) )号号号号 盘面盘面盘面盘面( (磁头磁头磁头磁头) )号号号号 扇区号扇区号扇区号扇区号 41. 设有效信息为110,试用生成多项式G(x) =11011将其编成循环冗余校验码 解:编码过程如下: M(x) =110 n =3 G(x) =11011 k+1 =5 k =4 M(x)·x4 =110 0000 M(x)·x4/G(x) =110 0000/11011 =100+1100/11011 R(x) =1100 M(x)·x4+R(x) =110 0000+1100 =110 1100 =CRC码 (7,3)码 注:此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。

      此时只能检错,无法纠错 42. 有一个(7,4)码,生成多项式G(x) =x3+x+1,写出代码1001的循环冗余校验码 解:编码过程如下: M(x) =1001 n =4 G(x) =x3+x+1 =1011 k+1 =4 k =3 M(x)·x3 =1001 000 M(x)·x3/G(x) =1001 000/1011 =1010+110/1011 R(x) =110 M(x)·x3+R(x) =1001 000+110 =1001 110 =CRC码 由于码制和生成多项式均与教材上的例题4.15相同,故此(7,4)码的出错模式同表4.6 输入输出系统输入输出系统第第 五章五章 补充题补充题:: 一、某一、某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点,或点,或512×7位)位) 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 1、、VRAMVRAM、、ROMROM容量应以字或字容量应以字或字节为单位;节为单位; 2 2、、字模点阵在字模点阵在ROMROM中按行存放,中按行存放,一行占一个存储单元;一行占一个存储单元; 3 3、、显存中存放的是显存中存放的是ASCIIASCII码而码而不是像素点;不是像素点; 4 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码 8X168X16键盘矩阵键盘矩阵键盘矩阵键盘矩阵该键盘的原理性逻辑框图如下:该键盘的原理性逻辑框图如下:七位七位七位七位计数器计数器计数器计数器时钟时钟时钟时钟发生器发生器发生器发生器ROMROM128B128BCPUCPU列译码器列译码器列译码器列译码器4:164:16行行行行译译译译码码码码器器器器3:83:8中断中断中断中断触发器触发器触发器触发器单单单单稳稳稳稳延延延延迟迟迟迟-RD-RD-CS-CS地址译码输入地址译码输入地址译码输入地址译码输入 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地址空间地址空间6 6 讨论:讨论: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之间如何取得之间如何取得通信联系通信联系以以建立起操作上的同步配合关系。

      建立起操作上的同步配合关系 6. 字符显示器的接口电路字符显示器的接口电路中配有中配有缓冲存储器缓冲存储器和和只读存储只读存储器器,各有何作用?,各有何作用? 解:显示缓冲存储器中存解:显示缓冲存储器中存放着一屏要显示的字符放着一屏要显示的字符ASCII码码信息,它的作用是支持屏幕扫信息,它的作用是支持屏幕扫描时的反复描时的反复刷新刷新;; 只读存储器中存放着字符只读存储器中存放着字符集中所有字符的点阵信息,作集中所有字符的点阵信息,作为为字符发生器字符发生器使用,他起着将使用,他起着将字符的字符的ASCII码转换为字形点阵码转换为字形点阵信息的作用信息的作用 8. 某计算机的某计算机的I/O设备采用异步串行传送方设备采用异步串行传送方式传送字符信息字符信息的格式为式传送字符信息字符信息的格式为一位起始位、一位起始位、七位数据位、一位校验位和一位停止位七位数据位、一位校验位和一位停止位若要求若要求每秒钟传送每秒钟传送480个字符个字符,那么该设备的数据传送,那么该设备的数据传送速率为多少?速率为多少? 解:解:480×10=4800位位/秒秒=4800波特;波特; 波特波特——是数据传送速率波特率的是数据传送速率波特率的单位单位。

      注:注:题意中给出的是题意中给出的是字符传送速率字符传送速率,即:,即:字字符符/ /秒秒要求的是要求的是数据传送速率数据传送速率,串行传送时一,串行传送时一般用般用波特率波特率表示 两者的区别:两者的区别:字符传送率是数据的字符传送率是数据的“纯纯”有有效传送率,不含数据格式信息;波特率是效传送率,不含数据格式信息;波特率是“毛毛”传送率,含数据格式信息传送率,含数据格式信息 10. 什么是什么是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接口分类方法接口分类方法很多很多,主,主要有:要有: 按数据传送方式按数据传送方式分,有分,有并并行行接口和接口和串行串行接口两种;接口两种; 按数据传送的按数据传送的控制方式控制方式分,分,有有程序控制程序控制接口、接口、程序中断程序中断接接口、口、DMA接口三种接口三种 12. 结合结合程序查询方式的接口程序查询方式的接口电路,说明其工作电路,说明其工作过程 解:解:程序查询接口工作过程程序查询接口工作过程如下(以输入为例):如下(以输入为例): 1))CPU发发I/O地址地址地址总线地址总线接口接口设备选择设备选择器译码器译码选中,发选中,发SEL信号信号开命令接收门;开命令接收门; 2))CPU发发启动启动命令命令 D置置0,,B置置1 接口向设接口向设备发启动命令备发启动命令设备开始工作;设备开始工作; 3))CPU等待等待,输入设备读出数据,输入设备读出数据 DBR;; 4)外设工作)外设工作完成完成,完成信号,完成信号接口接口 B置置0,,D置置1;; 5)准备)准备就绪就绪信号信号控制总线控制总线 CPU;; 6))输入输入::CPU通过通过输入指令输入指令((IN)将)将DBR中的中的数据取走;数据取走; 若为若为输出输出,除数据传送方向相反以外,其他操作,除数据传送方向相反以外,其他操作与输入类似。

      工作过程如下:与输入类似工作过程如下: 1))CPU发发I/O地址地址地址总线地址总线接口接口设备选择设备选择器译码器译码选中,发选中,发SEL信号信号开命令接收门;开命令接收门; 2))输出输出:: CPU通过通过输出指令输出指令((OUT)将数据放)将数据放入接口入接口DBR中;中; 3))CPU发发启动启动命令命令 D置置0,,B置置1 接口向设接口向设备发启动命令备发启动命令设备开始工作;设备开始工作; 4))CPU等待等待,输出设备将数据,输出设备将数据从从 DBR取走;取走; 5)外设工作)外设工作完成完成,完成信号,完成信号接口接口 B置置0,,D置置1;; 6)准备)准备就绪就绪信号信号控制总线控制总线 CPU,,CPU可通可通过指令过指令再次再次向接口向接口DBR输出数据,进行第二次传送输出数据,进行第二次传送 13. 说明说明中断向量地址中断向量地址和和入口地址入口地址的区别的区别和联系 解:解: 中断向量地址和入口地址的中断向量地址和入口地址的区别区别:: 向量地址向量地址是硬件电路(向量编码器)产是硬件电路(向量编码器)产生的中断源的内存中断向量表表项地址编号,生的中断源的内存中断向量表表项地址编号,中断入口地址中断入口地址是中断服务程序首址。

      是中断服务程序首址 中断向量地址和入口地址的中断向量地址和入口地址的联系联系:: 中断向量地址可理解为中断服务程序中断向量地址可理解为中断服务程序入入口地址指示器口地址指示器(入口地址的地址),通过它访(入口地址的地址),通过它访存可获得中断服务程序入口地址存可获得中断服务程序入口地址 ( (两种方法:两种方法:在向量地址所指单元内放一条在向量地址所指单元内放一条JMPJMP指令;主存指令;主存中设向量地址表参考中设向量地址表参考8.4.38.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),且),且至至少有一个中断请求少有一个中断请求被查到,则被查到,则在在一条指令执行完一条指令执行完时,响应中时,响应中断。

      断8 8 17. 某系统对输入数据进行取样处理,某系统对输入数据进行取样处理,每抽取一个输入数据,每抽取一个输入数据,CPU就要就要中断处理一次,将取样的数据存至中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需存储器的缓冲区中,该中断处理需P秒秒此外,缓冲区内每存储此外,缓冲区内每存储N个个数据,主程序就要将其取出进行处数据,主程序就要将其取出进行处理,这个处理需理,这个处理需Q秒秒试问该系统试问该系统可以可以跟踪到每秒多少次中断请求?跟踪到每秒多少次中断请求? 解:这是一道求解:这是一道求中断饱和度中断饱和度的题,要的题,要注意注意主程序对数据的处理主程序对数据的处理不是中断处理,因此不是中断处理,因此Q秒不能算在秒不能算在中断次数内中断次数内 N个数据所需的处理时间个数据所需的处理时间=P×N+Q秒秒 平均每个数据所需处理时间平均每个数据所需处理时间= ((P×N+Q))/ N 秒;秒; 求倒数得:求倒数得: 该系统该系统跟踪到的每秒中断请求跟踪到的每秒中断请求数数=N/((P×N+Q)次 19. 在程序中断方式中,磁盘在程序中断方式中,磁盘申请中断的优先权高于打印机。

      当申请中断的优先权高于打印机当打印机正在进行打印时,磁盘申请打印机正在进行打印时,磁盘申请中断请求试问中断请求试问是否要将打印机输是否要将打印机输出停下来出停下来,等磁盘操作结束后,打,等磁盘操作结束后,打印机输出才能继续进行?为什么?印机输出才能继续进行?为什么? 解:这是一道解:这是一道多重中断多重中断的题,的题,由于磁盘中断的优先权高于打印机,由于磁盘中断的优先权高于打印机,因此因此应将打印机输出停下来应将打印机输出停下来,等磁,等磁盘操作结束后,打印机输出才能继盘操作结束后,打印机输出才能继续进行因为打印机的速度比磁盘续进行因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印输入输出的速度慢,并且暂停打印不会造成数据丢失不会造成数据丢失 22. 程序查询程序查询方式和方式和程序中断程序中断方式都是方式都是通过通过“程序程序”传送数据,两者的传送数据,两者的区别区别是什么是什么?? 答:程序查询方式通过答:程序查询方式通过“程序程序”传送数传送数据时,程序对据时,程序对I/O的控制包括了的控制包括了I/O准备准备和和I/O传送传送两段时间。

      由于两段时间由于I/O的工作速度比的工作速度比CPU低得多,因此程序中要反复询问低得多,因此程序中要反复询问I/O的状态,的状态,造成造成“踏步等待踏步等待”,,严重浪费严重浪费了了CPU的工作的工作时间 而程序中断方式虽然也是通过而程序中断方式虽然也是通过“程序程序”传送数据,但程序仅对传送数据,但程序仅对I/O传送阶段传送阶段进行控制,进行控制,I/O准备阶段不需要准备阶段不需要CPU查询故CPU此时此时照样可以运行现行程序,与照样可以运行现行程序,与I/O并行工作并行工作,大,大大提高了大提高了CPU的工作效率的工作效率 25. 根据以下要求设计一个产生根据以下要求设计一个产生3个设个设备向量地址备向量地址的电路 ((1))3个设备的优先级按个设备的优先级按A→B→C降序排降序排列列 ((2))A、、B、、C的向量地址分别为的向量地址分别为110 100、、010 100、、000 110 ((3)排队器采用链式排队电路排队器采用链式排队电路 ((4)当)当CPU发来中断响应信号发来中断响应信号INTA时,时,可将可将向量地址向量地址取至取至CPU。

      解:此题与教材例解:此题与教材例5.2类似,可类似,可参考设参考设计计该设备向量地址的电路如下:该设备向量地址的电路如下: INTRINTRA A1 11 1&&&&/INTR/INTRA A来自高一级来自高一级的排队器的排队器INTRINTRB B&&INTRINTRC C&&1 1&&/INTR/INTRB B&&/INTR/INTRB B至低一级至低一级的排队器的排队器设设备备编编码码器器INTPINTPA AINTPINTPB BINTPINTPC C数数据据总总线线110100010100000110INTAINTA 26. 什么是什么是多重中断多重中断?实现多?实现多重中断的重中断的必要条件必要条件是什么?是什么? 解:多重中断是指:当解:多重中断是指:当CPU执行某个中断服务程序的过程中,执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,发生了更高级、更紧迫的事件,CPU暂停暂停现行中断服务程序的执行现行中断服务程序的执行,,转去处理该事件的中断,处理完返转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过回现行中断服务程序继续执行的过程。

      程 实现多重中断的实现多重中断的必要条件必要条件是:是:在现行中断服务期间,中断允许触在现行中断服务期间,中断允许触发器为发器为1,即,即开中断开中断 28. CPU对对DMA请求和中断请求和中断请求的响应时间请求的响应时间是否相同是否相同?为什?为什么?么? 解:解: CPU对对DMA请求和中请求和中断请求的响应时间断请求的响应时间不相同不相同,因为,因为两种方式的交换速度相差很大,两种方式的交换速度相差很大,因此因此CPU必须以更短的时间间隔必须以更短的时间间隔查询并响应查询并响应DMA请求(请求(一个存取一个存取周期末周期末) 30. 在在DMA的工作方式中,的工作方式中,CPU暂停方式和周期挪用方式的暂停方式和周期挪用方式的数据传送流程数据传送流程有何不同?画图说有何不同?画图说明 解:两种解:两种DMA方式的工作流方式的工作流程见下页,其程见下页,其主要区别在于传送主要区别在于传送阶段,现行程序是否完全停止访阶段,现行程序是否完全停止访存 停止停止CPU访存访存方式的方式的DMA工作流程如下:工作流程如下:现行程序现行程序 CPU DMAC I/ODMADMA预处理:预处理:预处理:预处理: 向向向向DMACDMAC送送送送MMMM缓冲区缓冲区缓冲区缓冲区 首址;首址;首址;首址;I/OI/O设备设备设备设备 地址;地址;地址;地址;交换个数;交换个数;交换个数;交换个数;启动启动启动启动I/OI/O现行程序现行程序现行程序现行程序开始工作开始工作开始工作开始工作启动启动启动启动I/OI/O准备准备准备准备就绪就绪就绪就绪DMADMA请求请求请求请求I/OI/O数据送数据送数据送数据送BRBR或或或或(BR)(BR)送送送送I/OI/O总线请求总线请求总线请求总线请求现行程序现行程序现行程序现行程序A AA A数据传送:数据传送:数据传送:数据传送:响应,停止响应,停止响应,停止响应,停止CPUCPU访存访存访存访存准备下准备下准备下准备下个数据个数据个数据个数据(AR)(AR)送送送送MM(MAR)MM(MAR);;;;(AR)+1(AR)+1;;;;R/WR/W(BR)(BR)送送送送MDRMDR;;;;WCWC减减减减1 1;;;;就绪就绪就绪就绪DMADMA请求请求请求请求现现现现行行行行程程程程序序序序等等等等待待待待B BI/OI/O数据送数据送数据送数据送BRBR或或或或(BR)(BR)送送送送I/OI/OC CD D让出让出总线总线 CPU DMAC I/O B C D准备下个数据准备下个数据准备下个数据准备下个数据(AR)(AR)送送送送(MAR)(MAR);;;;(AR)+1(AR)+1;;;;R/WR/W(BR)(BR)送送送送MDRMDR;;;;WCWC减减减减1 1;;;;中断请求中断请求中断请求中断请求现行程序现行程序现行程序现行程序响应中断响应中断响应中断响应中断后处理:后处理:后处理:后处理:中断服务程序:中断服务程序:中断服务程序:中断服务程序:校验、错误检测、停止外设校验、错误检测、停止外设校验、错误检测、停止外设校验、错误检测、停止外设或再启动及初始化。

      或再启动及初始化或再启动及初始化或再启动及初始化现行程序现行程序现行程序现行程序I/OI/O停止停止停止停止WC=0WC=0现现现现行行行行程程程程序序序序等等等等待待待待 周期窃取方式的周期窃取方式的DMA工作流程如下:工作流程如下:现行程序现行程序 CPU DMAC I/ODMADMA预处理:预处理:预处理:预处理: 向向向向DMACDMAC送送送送MMMM缓冲区缓冲区缓冲区缓冲区 首址;首址;首址;首址;I/OI/O设备设备设备设备 地址;地址;地址;地址;交换个数;交换个数;交换个数;交换个数;启动启动启动启动I/OI/O现行程序现行程序现行程序现行程序开始工作开始工作开始工作开始工作启动启动启动启动I/OI/O准备准备准备准备就绪就绪就绪就绪DMADMA请求请求请求请求I/OI/O数据送数据送数据送数据送BRBR或或或或(BR)(BR)送送送送I/OI/O总线请求总线请求总线请求总线请求现行程序现行程序现行程序现行程序A AA A数据传送:数据传送:数据传送:数据传送: 响应,响应,响应,响应,让出一个让出一个让出一个让出一个MMMM周期周期周期周期准备下准备下准备下准备下个数据个数据个数据个数据(AR)(AR)送送送送MM(MAR)MM(MAR);;;;(AR)+1(AR)+1;;;;R/WR/W(BR)(BR)送送送送MDRMDR;;;;WCWC减减减减1 1;;;;就绪就绪就绪就绪DMADMA请求请求请求请求现行程序现行程序现行程序现行程序总线请求总线请求总线请求总线请求B BI/OI/O数据送数据送数据送数据送BRBR或或或或(BR)(BR)送送送送I/OI/OC CD D CPU DMAC I/O B C D数据传送:数据传送:数据传送:数据传送: 响应,响应,响应,响应,让出一个让出一个让出一个让出一个MMMM周期周期周期周期准备下个数据准备下个数据准备下个数据准备下个数据(AR)(AR)送送送送(MAR)(MAR);;;;(AR)+1(AR)+1;;;;R/WR/W(BR)(BR)送送送送MDRMDR;;;;WCWC减减减减1 1;;;;中断请求中断请求中断请求中断请求现行程序现行程序现行程序现行程序响应中断响应中断响应中断响应中断后处理:后处理:后处理:后处理:中断服务程序:中断服务程序:中断服务程序:中断服务程序:校验、错误检测、停止外设校验、错误检测、停止外设校验、错误检测、停止外设校验、错误检测、停止外设或再启动及初始化。

      或再启动及初始化或再启动及初始化或再启动及初始化现行程序现行程序现行程序现行程序I/OI/O停止停止停止停止WC=0WC=0 31. 假设某设备向假设某设备向CPU传送信传送信息的最高频率是息的最高频率是40 000次次/秒秒,而,而相应的中断处理程序其执行时间为相应的中断处理程序其执行时间为40 s,试问该外设,试问该外设是否可用程序是否可用程序中断中断方式与主机交换信息,为什么方式与主机交换信息,为什么?? 解:该设备向解:该设备向CPU传送信息传送信息的时间间隔的时间间隔 =1/40K=0.025×103=25 s < 40 s 则:该外设则:该外设不能用程序中断不能用程序中断方式方式与主机交换信息,因为其中断与主机交换信息,因为其中断处理程序的执行速度比该外设的交处理程序的执行速度比该外设的交换速度慢换速度慢 32. 设磁盘存储器转速为设磁盘存储器转速为3000转转/分分,分,分8个扇区个扇区,每扇,每扇区存储区存储1K字节字节,主存与磁盘存,主存与磁盘存储器数据传送的宽度为储器数据传送的宽度为16位位(即每次传送(即每次传送16位)。

      假设一位)假设一条指令最长执行时间是条指令最长执行时间是25 s,,是否可采用是否可采用一条指令执行结束一条指令执行结束时响应时响应DMA请求请求的方案,为什的方案,为什么?若不行,应采取什么方案么?若不行,应采取什么方案?? 解:先算出磁盘传送速度,然后和指令解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论执行速度进行比较得出结论道容量道容量=1KB×8 16 =1K ×8 ×8  16 =1K ×4=4K字字数传率数传率=4K字字×3000转转/分分 =4K字字×50转转/秒秒 =200K字字/秒秒一个字的传送时间一个字的传送时间=1/200K字字/秒秒 5 s 注:注:在此在此1K=1024,来自,来自数据块数据块单位缩单位缩写 由上计算知:由上计算知:5  s<<25  s,所以,所以不能采不能采用一条指令执行结束响应用一条指令执行结束响应DMA请求的方案请求的方案,,应采取应采取每个每个CPU机器周期末机器周期末查询及响应查询及响应DMA请求的方案(通常安排请求的方案(通常安排CPU机器周期机器周期=MM存存取周期)。

      取周期) 讨论:讨论: 扇面扇面、、扇段扇段和和扇区扇区::扇面扇面指指磁盘分区后形成的磁盘分区后形成的扇形区域扇形区域;;扇扇段段指扇面上一个磁道所对应的指扇面上一个磁道所对应的弧弧形区域形区域;;扇区扇区通常用来泛指扇面通常用来泛指扇面或扇段由于磁盘是或扇段由于磁盘是沿柱面存取沿柱面存取而不是沿扇面存取,因此习惯上而不是沿扇面存取,因此习惯上扇区即指扇段扇区即指扇段,不用特别说明也,不用特别说明也不会引起误会不会引起误会 问题:问题:是否磁盘转一圈读完是否磁盘转一圈读完所有扇区上的磁道?所有扇区上的磁道? 答:答:应为:磁盘转一圈读完应为:磁盘转一圈读完一个磁道上的所有扇区一个磁道上的所有扇区,然后转,然后转到下一盘面的同一位置磁道接着到下一盘面的同一位置磁道接着读读(如果文件未读完的话)如果文件未读完的话) 33. 试从下面七个方面比较程序查询、程试从下面七个方面比较程序查询、程序中断和序中断和DMA三种方式的三种方式的综合性能综合性能 ((1)数据传送依赖软件还是硬件;)数据传送依赖软件还是硬件; ((2)传送数据的基本单位;)传送数据的基本单位; ((3)并行性;)并行性; ((4)主动性;)主动性; ((5)传输速度;)传输速度; ((6)经济性;)经济性; ((7)应用对象。

      应用对象 解:比较如下:解:比较如下: ((1)程序查询、程序中断方式的数据传送)程序查询、程序中断方式的数据传送主要依赖主要依赖软件软件,,DMA主要依赖主要依赖硬件硬件 (注意:(注意:这里指主要的趋势)这里指主要的趋势) ((2)程序查询、程序中断)程序查询、程序中断传送数据的基本单位为传送数据的基本单位为字字或或字节字节,,DMA为为数据块数据块 ((3)程序查询方式传送时,)程序查询方式传送时,CPU与与I/O设备设备串行串行工作;工作; 程序中断方式时,程序中断方式时,CPU与与I/O设备设备并行并行工作,现行程序与工作,现行程序与I/O传送传送串行串行进行;进行; DMA方式时,方式时,CPU与与I/O设设备备并行并行工作,现行程序与工作,现行程序与I/O传送传送并行并行进行 ((4)程序查询方式时,)程序查询方式时,CPU主动主动查询查询I/O设备状态;设备状态; 程序中断及程序中断及DMA方式时,方式时,CPU被动被动接受接受I/O中断请求或中断请求或DMA请求。

      请求 ((5)程序中断方式由于)程序中断方式由于软件额外开销软件额外开销时间时间比较大,因此传输速度最比较大,因此传输速度最慢慢;; 程序查询方式软件额外开销时间基本没程序查询方式软件额外开销时间基本没有,因此传输速度有,因此传输速度比中断快比中断快;; DMA方式基本由硬件实现传送,因此速方式基本由硬件实现传送,因此速度最度最快快;; 注意:注意:程序中断方式虽然程序中断方式虽然CPU运行效率运行效率比程序查询高,但传输速度却比程序查询慢比程序查询高,但传输速度却比程序查询慢 ((6)程序查询接口硬件结构)程序查询接口硬件结构最简单,因此最最简单,因此最经济经济;; 程序中断接口硬件结构稍微程序中断接口硬件结构稍微复杂一些,因此复杂一些,因此较经济较经济;; DMA控制器硬件结构最复杂,控制器硬件结构最复杂,因此因此成本最高成本最高;; ((7)程序中断方式适用于)程序中断方式适用于中、中、低速低速设备的设备的I/O交换;交换; 程序查询方式适用于程序查询方式适用于中、低中、低速速实时处理过程;实时处理过程; DMA方式适用于方式适用于高速高速设备的设备的I/O交换;交换; 讨论:讨论: 问题问题1::这里的传送速度指这里的传送速度指I/O设备与主存间设备与主存间,还是,还是I/O与与CPU之间之间?? 答:答:视具体传送方式而定,视具体传送方式而定,程序查询、程序中断为程序查询、程序中断为I/O与与CPU之间交换,之间交换,DMA为为I/O与主存间交与主存间交换。

      换 问题问题2::主动性应以主动性应以CPU的操的操作方式看,而不是以作方式看,而不是以I/O的操作方的操作方式看 补充题补充题:: 一、某一、某CRT显示器可显示显示器可显示64种种ASCII字符,字符,每帧可显示每帧可显示72字字×24排排;每个字符字形采用;每个字符字形采用7×8点阵点阵,即横向,即横向7点,字间间隔点,字间间隔1点点,纵向,纵向8点,排间间隔点,排间间隔6点点;帧频;帧频50Hz,采取逐行扫描,采取逐行扫描方式假设不考虑屏幕四边的方式假设不考虑屏幕四边的失真失真问题,且行问题,且行回扫和帧回扫均占扫描时间的回扫和帧回扫均占扫描时间的20%,问:,问: 1))显存容量显存容量至少有多大?至少有多大? 2))字符发生器(字符发生器(ROM)容量)容量至少有多大至少有多大?? 3)显存中存放的是)显存中存放的是那种信息那种信息?? 4)显存地址与屏幕显示)显存地址与屏幕显示位置如何对应位置如何对应?? 5)设置)设置哪些计数器哪些计数器以控制显以控制显存访问与屏幕扫描之间的同步?存访问与屏幕扫描之间的同步?它们的它们的模模各是多少?各是多少? 6))点时钟频率点时钟频率为多少?为多少? 二、有一编码键盘,其键阵列为二、有一编码键盘,其键阵列为8行行×16列列,分别对应,分别对应128种种ASCII码码字符,采用字符,采用硬件硬件扫描方式扫描方式确认按键信号,问:确认按键信号,问: 1))扫描计数器扫描计数器应为多少位?应为多少位? 2))ROM容量容量为多大?为多大? 3)若行、列号均从)若行、列号均从0开始编排,则当第开始编排,则当第5行第行第7列的键表示字母列的键表示字母“F”时,时,CPU从键从键盘读入的二进制编码应为多少(设采用奇校盘读入的二进制编码应为多少(设采用奇校验)验) ?? 4)参考教材图)参考教材图5.15,画出该键盘的,画出该键盘的原原理性逻辑框图理性逻辑框图;; 5)如果不考虑校验技术,此时)如果不考虑校验技术,此时ROM是是否可省否可省?? 三、一针式打印机采用三、一针式打印机采用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 1、、由于针打是按列打印,所以由于针打是按列打印,所以ROMROM一个存一个存储单元中存一列的储单元中存一列的9 9个点,则容量为个点,则容量为672672××9 9位位;; 2 2、、列计数器是对列号进行计数,所以模列计数器是对列号进行计数,所以模=7=7,,3 3位位(模不等于位数)(模不等于位数);; 3 3、、同样缓存地址计数器模同样缓存地址计数器模=132=132,,8 8位。

      位 返回返回返回返回目录目录目录目录 计算机的运算方法计算机的运算方法第第 六六 章章 1. 最少用几位二进制数即可表最少用几位二进制数即可表示任一五位长的十进制正整数?示任一五位长的十进制正整数? 解:五位长的十进制正整数中,解:五位长的十进制正整数中,最大的数最大的数99999满足条件:满足条件:216((=65536))<99999<217((=131072),故最少用),故最少用17位二进位二进制数即可表示任一五位长的十进制制数即可表示任一五位长的十进制正整数9 9 2. 已知已知X=0.a1a2a3a4a5a6((ai为为0或或1),讨论下列几种情况时),讨论下列几种情况时ai各取何值各取何值 ((1))X > 1/2;; ((2))X   1/8;; ((3))1/4   X > 1/16 解:解: ((1)若要)若要X > 1/2,只要,只要a1=1,,a2~a6不全为不全为0即可(即可(a2 or a3 or a4 or a5 or a6 = 1);); ((2)若要)若要X   1/8,,只要只要a1~a3不全为不全为0即可(即可(a1 or a2 or a3 =1),), a4~a6可任取可任取0或或1;; ((3)若要)若要1/4   X > 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 解:真值与不同机器码对应关系如下:解:真值与不同机器码对应关系如下: 真真真真 值值值值十进制十进制十进制十进制 二进制二进制二进制二进制 原原原原 码码码码 反反反反 码码码码 补补补补 码码码码-13/64 -0.00 1101 1.001 1010 1.110 0101 1.110 011029/128 0.001 1101 0.001 1101 0.001 1101 0.001 1101 100 110 0100 0,110 0100 0,110 0100 0,110 0100 -87 -101 0111 1,101 0111 1,010 1000 1,010 1001 5. 已知已知[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的对应关系如下:的对应关系如下: [x] [x]补补补补 [x][x]原原原原 x x(二进制)(二进制)(二进制)(二进制) x x(十进制)(十进制)(十进制)(十进制) 1.1100 1.0100 -0.0100 -1/41.1100 1.0100 -0.0100 -1/4 1.1001 1.0111 -0.0111 -7/16 1.1001 1.0111 -0.0111 -7/16 0.1110 0.1110 0.11100.1110 +0.1110 +7/8 +0.1110 +7/8 1.0000 1.0000 无无无无 -1.0000 -1-1.0000 -1 1 1,,,,0101 10101 1,,,,1011 -1011 -111011 -1011 -11 1 1,,,,1100 11100 1,,,,0100 -0100 -40100 -0100 -4 0 0,,,,0111 00111 0,,,,0111 +0111 +70111 +0111 +7 1 1,,,,0000 0000 无无无无 -10000 -16-10000 -16 6. 设机器数字长为设机器数字长为8位(含位(含1位符号位在内),分位符号位在内),分整数整数和和小小数数两种情况讨论真值两种情况讨论真值x为何值时,为何值时,[x]补补=[x]原原成立。

      成立 解:解: 当当x为为小数小数时,若时,若x   0,则,则 [x]补补=[x]原原成立;成立; 若若x < 0,则当,则当x= -1/2时,时, [x]补补=[x]原原成立 当当x为为整数整数时,若时,若x   0,则,则 [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 1)绝对值小的负数其值反而大,)绝对值小的负数其值反而大,且负数的绝对值越小,其补码值越且负数的绝对值越小,其补码值越大因此,大因此, 当当x<0x<0、、y<0y<0时,若时,若[x][x]补补>[y]>[y]补补,必有,必有x>yx>y 2 2)补码的符号位和数值位为一)补码的符号位和数值位为一体,不可分开分析体,不可分开分析 3 3)完整的答案应分)完整的答案应分四种四种情况分情况分析,但也可通过充分分析一种不成析,但也可通过充分分析一种不成立的情况获得正确答案。

      立的情况获得正确答案 4 4)由于补码)由于补码0 0的符号位为的符号位为0 0,因,因此此x x、、y=0y=0可归纳到可归纳到>0>0的一类情况讨的一类情况讨论 9. 当十六进制数当十六进制数9B和和FF分别表示为分别表示为原码原码、、补码补码、、反码反码、、移码移码和和无符号数无符号数时,所对应的十时,所对应的十进制数各为多少(设机器数采用一位符号位)进制数各为多少(设机器数采用一位符号位)?? 解:真值和机器数的对应关系如下:解:真值和机器数的对应关系如下: 十六十六 进制进制 真值真值 无符无符 号数号数 原码原码 反码反码补码补码移码移码 9BH二进制二进制十进制十进制1001 1011 155-11 011 -27-1100100 -100-1100101 -101+11011 +27 FFH二进制二进制十进制十进制1111 1111 255-1111111 -127-0000000 -0-0000001 -1+1111111 +127注意:注意:注意:注意: 1 1 1 1))))9BH9BH9BH9BH、、、、FFHFFHFFHFFH为机器数,本身含符号位。

      为机器数,本身含符号位为机器数,本身含符号位为机器数,本身含符号位 2 2 2 2)移码符号位与原、补、反码相反,数值同补码移码符号位与原、补、反码相反,数值同补码移码符号位与原、补、反码相反,数值同补码移码符号位与原、补、反码相反,数值同补码 10. 在整数定点机中,设机器数采用在整数定点机中,设机器数采用一位一位符号位符号位,写出,写出±0的的原码原码、、补码补码、、反码反码和和移码移码,,得出什么结论?得出什么结论? 解:解:0的机器数形式如下:的机器数形式如下: 真值真值 原码原码 补码补码 反码反码 移码移码 +00,,00…00,,00…00,,00…01,,00…0 -01,,00…00,,00…01,,11…11,,00…0 结论:补、移码结论:补、移码结论:补、移码结论:补、移码0 0的表示唯一,原、反码不唯一的表示唯一,原、反码不唯一的表示唯一,原、反码不唯一的表示唯一,原、反码不唯一 注意:本题不用分析不同编码间的其他特性。

      注意:本题不用分析不同编码间的其他特性注意:本题不用分析不同编码间的其他特性注意:本题不用分析不同编码间的其他特性 11. 11. 已知机器数字长为已知机器数字长为已知机器数字长为已知机器数字长为4 4位位位位(其中(其中(其中(其中1 1位为符号位位为符号位位为符号位位为符号位),),),),写出整数定点机和小树定点机中写出整数定点机和小树定点机中写出整数定点机和小树定点机中写出整数定点机和小树定点机中原码原码原码原码、、、、补码补码补码补码和和和和反码反码反码反码的的的的全部形式,并注明其对应的十进制真值全部形式,并注明其对应的十进制真值全部形式,并注明其对应的十进制真值全部形式,并注明其对应的十进制真值 解:机器数与对应的真值形式如解:机器数与对应的真值形式如下:下: 真值真值(二进制)(二进制) 真值真值(十进制)(十进制) 原码原码 反码反码 补码补码 整整 数数 +111 +110 +101 +100 +011 +010 +001 +000 +7 +6 +5 +4 +3 +2 +1 +0 0,,111 0,,110 0,,101 0,,100 0,,011 0,,010 0,,001 0,,000 同同 原原 码码 同同 原原 码码 续表续表1:: 真值真值(二进制)(二进制) 真值真值(十进制)(十进制) 原码原码 反码反码 补码补码 整整 数数 -1000 -111 -110 -101 -100 -011 -010 -001 -000 -8 -7 -6 -5 -4 -3 -2 -1 -0 无无1,,1111,,1101,,1011,,1001,,0111,,0101,,0011,,000 无无1,,000 1,,001 1,,010 1,,011 1,,100 1,,101 1,,110 1,,1111,,000 1,,001 1,,010 1,,011 1,,100 1,,101 1,,110 1,,1110,,000 续表续表2:: 真值真值(二进制)(二进制) 真值真值(十进制)(十进制) 原码原码 反码反码 补码补码 小小 数数 +0.111 +0.110 +0.101 +0.100 +0.011 +0.010 +0.001 +0.000 +7/8 +3/4 +5/8 +1/2 +3/8 +1/4 +1/8 +0 0.111 0.110 0.101 0.100 0.011 0.010 0.001 0.000 同同 原原 码码 同同 原原 码码 续表续表3:: 真值真值(二进制)(二进制) 真值真值(十进制)(十进制) 原码原码 反码反码 补码补码 小小 数数 -1.000 -0.111 -0.110 -0.101 -0.100 -0.011 -0.010 -0.001 -0.000 -1 -7/8 -3/4 -5/8 -1/2 -3/8 -1/4 -1/8 -0 无无 1.111 1.110 1.101 1.100 1.011 1.010 1.001 1.000 无无 1.000 1.001 1.010 1.011 1.100 1.101 1.110 1.111 1.000 1.001 1.010 1.011 1.100 1.101 1.110 1.111 0.000 12. 设浮点数格式为:设浮点数格式为:阶码阶码5位位((含含1位阶符),尾数位阶符),尾数11位(含位(含1位位数符)数符) 。

      写出写出51/128、、27/1024、、7.375、、-86.5所对应的机器数要求所对应的机器数要求如下:如下: ((1)阶码和尾数均为原码;)阶码和尾数均为原码; ((2)阶码和尾数均为补码;)阶码和尾数均为补码; ((3)阶码为移码,尾数为补码阶码为移码,尾数为补码注:题意中应补充规格化数的要(注:题意中应补充规格化数的要求 解:据题意画出该浮点数的格解:据题意画出该浮点数的格式:式: 1 4 1 10阶符阶符阶符阶符 阶码阶码阶码阶码 数符数符数符数符 尾数尾数尾数尾数注意:注意:注意:注意:1 1 1 1)正数补码)正数补码)正数补码)正数补码不不不不“ “变反变反变反变反+1+1+1+1” ”2 2 2 2)机器数末位的)机器数末位的)机器数末位的)机器数末位的0 0 0 0不能省不能省不能省不能省 将十进制数转换为二进制:将十进制数转换为二进制: x1=51/128=((0.011 001 1))2 =2-1  ((0.110 011))2 x2= -27/1024=((-0.000 001 101 1))2 =2-5  ((-0.110 11))2 x3=7.375=((111.011))2 =23  ((0.111 011))2 x4= -86.5=((-1 010 110.1))2 =27  ((-0.101 011 01))2 则以上各数的浮点规格化数则以上各数的浮点规格化数为:为:((1))[x1]浮浮=1,,0001;;0.110 011 000 0((2))[x1]浮浮=1,,1111;;0.110 011 000 0((3))[x1]浮浮=0,,1111;;0.110 011 000 0 ((1))[x2]浮浮=1,,0101;;1.110 110 000 0((2))[x2]浮浮=1,,1011;;1.001 010 000 0((3))[x2]浮浮=0,,1011;;1.001 010 000 0((1))[x3]浮浮=0,,0011;;0.111 011 000 0((2))[x3]浮浮=0,,0011;;0.111 011 000 0((3))[x3]浮浮=1,,0011;;0.111 011 000 0((1))[x4]浮浮=0,,0111;;1.101 011 010 0((2))[x4]浮浮=0,,0111;;1.010 100 110 0((3))[x4]浮浮=1,,0111;;1.010 100 110 0注:以上浮点数也可采用如下格注:以上浮点数也可采用如下格式:式: 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位位 按此格式,该浮点数上溢的条件为:按此格式,该浮点数上溢的条件为:阶阶码码  32 该浮点数格式如下:该浮点数格式如下: 1 5 1 25阶符阶符 阶阶 值值数符数符 尾尾 数数 15. 什么是什么是机器零机器零?若要求全?若要求全0表示机器零,浮点数的阶码和尾表示机器零,浮点数的阶码和尾数应采取什么机器数形式?数应采取什么机器数形式? 解:机器零指机器数所表示解:机器零指机器数所表示的零的形式,它与真值零的的零的形式,它与真值零的区别区别是:机器零在数轴上表示为是:机器零在数轴上表示为“0”点及其附近的一段点及其附近的一段区域,即在计区域,即在计算机中小到机器数的精度达不到算机中小到机器数的精度达不到的数均视为的数均视为“机器零机器零”,而真零,而真零对应数轴上的一点(对应数轴上的一点(0点点)。

      若要)若要求用求用“全全0”表示浮点机器零,则表示浮点机器零,则浮点数的阶码应用移码、尾数用浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正尾数为零,而移码的最小码值正好为好为“0”,补码的零的形式也为,补码的零的形式也为“0”,拼起来正好为,拼起来正好为一串一串0的形的形式) 16. 设机器数字长为设机器数字长为16位位,写出,写出下列各种情况下它能表示的数的下列各种情况下它能表示的数的范围范围设机器数采用一位符号位,答案均用设机器数采用一位符号位,答案均用十进制表示十进制表示 ((1))无符号数无符号数;; ((2)原码表示的)原码表示的定点小数定点小数;; ((3))补码补码表示的定点小数;表示的定点小数; ((4)补码表示的)补码表示的定点整数定点整数;; ((5))原码原码表示的定点整数;表示的定点整数; ((6)浮点数的格式为:阶码)浮点数的格式为:阶码6位位(含(含1位阶符),尾数位阶符),尾数10位(含位(含1位数位数符)。

      分别写出符)分别写出正数和负数正数和负数的表示范的表示范围;围; (注:加条件:阶原尾原非规格化(注:加条件:阶原尾原非规格化数 ((7)浮点数格式同()浮点数格式同(6),机器),机器数采用补码规格化形式,分别写出其数采用补码规格化形式,分别写出其对应的正数和负数的对应的正数和负数的真值范围真值范围 解:各种表示方法数据范围解:各种表示方法数据范围如下:(如下:(1)无符号整数:)无符号整数:0 ~ 216 - 1,, 即:即:0 ~ 65535;;((2)原码定点小数:)原码定点小数: 1 - 2-15 ~ -((1 - 2-15))((3)补码定点小数:)补码定点小数: 1 - 2-15 ~ - 1 ((4)补码定点整数:)补码定点整数:215 - 1 ~ -215,, 即:即:32767 ~ -32768;;((5)原码定点整数:)原码定点整数: 215 - 1 ~ -((215 - 1)),, 即:即:32767 ~ -32767;; ((6)据题意画出该浮点数)据题意画出该浮点数格式:格式: 1 5 1 9阶符阶符阶符阶符 阶码阶码阶码阶码 数符数符数符数符 尾数尾数尾数尾数 由于题意中未指定该浮点数所采用由于题意中未指定该浮点数所采用由于题意中未指定该浮点数所采用由于题意中未指定该浮点数所采用的码制,则不同的假设前提会导致不同的码制,则不同的假设前提会导致不同的码制,则不同的假设前提会导致不同的码制,则不同的假设前提会导致不同的答案,示意如下:的答案,示意如下:的答案,示意如下:的答案,示意如下: 1 1)当采用)当采用)当采用)当采用阶原尾原非规格化数阶原尾原非规格化数阶原尾原非规格化数阶原尾原非规格化数时,时,时,时,最大正数最大正数最大正数最大正数=0=0,,,,11 11111 111;;;;0.111 111 0.111 111 111111最小正数最小正数最小正数最小正数=1=1,,,,11 11111 111;;;;0.000 000 0010.000 000 001 则正数表示范围为:则正数表示范围为:则正数表示范围为:则正数表示范围为: 2 23131   ((((1-21-2-9-9))))~2~2-31-31    2 2-9-9 最大负数最大负数=1,,11 111;;1.000 000 001最小负数最小负数=0,,11 111;;1.111 111 111 则负数表示范围为:则负数表示范围为: 2-31  ((-2-9))~ -231  ((1-2-9))2)当采用阶移尾原非规格化数时,)当采用阶移尾原非规格化数时, 正数表示范围为:正数表示范围为: 231  ((1-2-9))~ 2-32   2-9 负数表示范围为:负数表示范围为: 2-32  ((-2-9))~ -231 ((1-2-9))注:零视为注:零视为中性数中性数,不在此范围,不在此范围内。

      内 ((7)当机器数采用)当机器数采用补码规补码规格化格化形式时,若形式时,若不考虑隐藏位不考虑隐藏位,,则则最大正数最大正数=0,,11 111;;0.111 111 111最小正数最小正数=1,,00 000;;0.100 000 000 其对应的正数真值范围为:其对应的正数真值范围为: 231 ((1-2-9))~2-32  2-1最大负数最大负数=1,,00 000;;1.011 111 111最小负数最小负数=0,,11 111;;1.000 000 000 其对应的负数真值范围为:其对应的负数真值范围为: -2-32  ((2-1+2-9))~ 231  ((-1)) 注意:注意: 1 1)应写出可表示范围的)应写出可表示范围的上、上、下限下限精确值(用精确值(用≥或或≤,不要用,不要用> >或或< <) 2 2)应用)应用十进制十进制2 2的幂的幂形式分形式分阶、尾两部分表示,这样可反映阶、尾两部分表示,这样可反映出浮点数的格式特点括号不要出浮点数的格式特点。

      括号不要乘开,不要用十进制小数表示,乘开,不要用十进制小数表示,不直观、不精确且无意义不直观、不精确且无意义 3 3))原码正、负域原码正、负域对称对称,补码,补码正、负域正、负域不对称不对称,浮点数阶、尾,浮点数阶、尾也如此特别要注意浮点负数补也如此特别要注意浮点负数补码规格化范围满足条件:码规格化范围满足条件:数数符符 MSBMSB位位=1=1)) 17. 设机器数字长为设机器数字长为8位位(含(含1位符号位),对下列各机器数进位符号位),对下列各机器数进行算术行算术左移一位、两位左移一位、两位,,算术右算术右移一位移一位、、两位两位,讨论结果是否正,讨论结果是否正确 [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注意:注意:1 1、单符号位运算要用单符号位、单符号位运算要用单符号位的判断方法判溢出;的判断方法判溢出; 2 2、结果的真值形式上要和原始数据、结果的真值形式上要和原始数据一致。

      一致 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.101110 x0=0,,y0=1,,z0=x0   y0=0   1=1 x*×y*=0.100 111 100 010 [x×y]原原=1.100 111 100 010 x·y= -0. 100 111 100 010 原码一位乘:原码一位乘: 部分积部分积 乘数乘数y* 0 . 0 0 0 0 0 0 . 1 0 1 1 1 0 —— +01 0 . 0 0 0 0 0 0 0 . 1 0 1 1 1 —— +x* + 0 . 1 1 0 1 1 1 0 . 1 1 0 1 1 11 0 . 0 1 1 0 1 1 1 0 . 1 0 1 1 —— +x* + 0 . 1 1 0 1 1 1 1 . 0 1 0 0 1 01 0 . 1 0 1 0 0 1 0 1 0 . 1 0 1 —— +x* + 0 . 1 1 0 1 1 1 1 . 1 0 0 0 0 01 0 . 1 1 0 0 0 0 0 0 1 0 . 1 0 —— +01 0 . 0 1 1 0 0 0 0 0 0 1 0 . 1 —— x* + 0 . 1 1 0 1 1 1 1 . 0 0 1 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 1 0 02 0 0 0 . 0 1 1 0 1 1 1 0 0 0 .1 0 1 1 + 1 1 1 . 0 0 1 0 0 1 +[-x*]补补 1 1 1 . 1 0 0 1 0 0 12 1 1 1 . 1 1 1 0 0 1 0 0 1 0 0 0 .1 0 + 1 1 1 . 0 0 1 0 0 1 +[-x*]补补 1 1 1 . 0 0 0 0 1 0 12 1 1 1 . 1 1 0 0 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 . 0 0 0 0 0 0 1 . 0 1 0 0 1 0 0 —— +01 0 0 . 0 0 0 0 0 0 0 1 . 0 1 0 0 1 0 + 1 1 . 0 0 1 0 0 1 +[-x]补补 1 1 . 0 0 1 0 0 1 1 1 1 . 1 0 0 1 0 0 1 0 1 . 0 1 0 0 1 + 0 0 . 1 1 0 1 1 1 +[x]补补 0 0 . 0 1 1 0 1 11 0 0 . 0 0 1 1 0 1 1 1 0 1 . 0 1 0 0 —— +0 1 0 0 . 0 0 0 1 1 0 1 1 1 0 1 . 0 1 0 + 1 1 . 0 0 1 0 0 1 +[-x]补补 1 1 . 0 0 1 1 1 11 1 1 . 1 0 0 1 1 1 1 1 1 1 0 1 . 0 1 + 0 0 . 1 1 0 1 1 1 +[x]补补 0 0 . 0 1 1 1 1 01 0 0 . 0 0 1 1 1 1 0 1 1 1 1 0 1 . 0 + 1 1 . 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 1 0 0 1 0 2 1 1 1 . 1 0 0 1 0 0 1 0 1 1 .0 1 0 0 1 + 0 0 0 . 1 1 0 1 1 1 +[x]补补 0 0 0 . 0 1 1 0 1 1 2 0 0 0 . 0 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 .清清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.101110 [-2x*]补补=1.010010 x0=1,,y0=1,,z0=x0   y0=1   1=0 [x]补补=1.101001,, [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* + 0 . 0 1 0 1 1 1 0 . 0 1 0 1 1 1 1 0 . 0 0 1 0 1 1 1 . 0 1 0 1 0 —— +01 0 . 0 0 0 1 0 1 1 1 . 0 1 0 1 —— +x* + 0 . 0 1 0 1 1 1 0 . 0 1 1 1 0 01 0 . 0 0 1 1 1 0 0 1 1 . 0 1 0 —— +01 0 . 0 0 0 1 1 1 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 1 1 1 1 0 0 0 1 1 . 0 —— +01 0 . 0 0 0 1 1 1 1 0 0 0 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 02 0 0 0 . 0 0 0 1 0 1 1 1 0 0 .0 1 0 1 + 0 0 0 . 0 1 0 1 1 1 +x* 0 0 0 . 0 1 1 1 0 0 02 0 0 0 . 0 0 0 1 1 1 0 0 1 1 0 0 .0 1 + 0 0 0 . 0 1 0 1 1 1 +x* 0 0 0 . 0 1 1 1 1 0 02 0 0 0 . 0 0 0 1 1 1 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 +[-x]补补 0 0 . 0 1 0 1 1 1 1 0 0 . 0 0 1 0 1 1 1 1 . 1 0 1 0 1 1 —— +0 1 0 0 . 0 0 0 1 0 1 1 1 1 . 1 0 1 0 1 + 1 1 . 1 0 1 0 0 1 +[x]补补 1 1 . 1 0 1 1 1 0 1 1 1 . 1 1 0 1 1 1 0 1 1 1 . 1 0 1 0 + 0 0 . 0 1 0 1 1 1 +[-x]补补 0 0 . 0 0 1 1 1 01 0 0 . 0 0 0 1 1 1 0 0 1 1 1 . 1 0 1 + 1 1 . 1 0 1 0 0 1 +[x]补补 1 1 . 1 1 0 0 0 01 1 1 . 1 1 1 0 0 0 0 0 0 1 1 1 . 1 0 + 0 0 . 0 1 0 1 1 1 +[-x]补补 0 0 . 0 0 1 1 1 1 1 0 0 . 0 0 0 1 1 1 1 0 0 0 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 +[-x]补补 0 0 0 . 0 1 0 1 1 1 2 0 0 0 . 0 0 0 1 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 110 [-2x*]补补= [-2x]补补= 1,,011 010 x0=0,,y0=0,,z0=x0   y0=0   0=0 x·y= x*×y*= [x×y]原原= [x×y]补补 = 0,,001 010 011 001 = ((665))10 运算过程如下:运算过程如下: 原码一位乘:原码一位乘: 部分积部分积 乘数乘数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 0,,0 1 1 1 0 0 1 0,,0 0 1 1 1 0 0 1 1 0 0 0 —— +01 0,,0 0 0 1 1 1 0 0 1 1 0 0 —— +01 0,,0 0 0 0 1 1 1 0 0 1 1 0 —— +0 1 0,,0 0 0 0 0 1 1 1 0 0 1 1 —— +x* + 0,,0 1 0 0 1 1 0,,0 1 0 1 0 01 0,,0 0 1 0 1 0 0 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 12 1 1 1,,1 1 1 0 1 1 0 1 0 0,,1 0 0 0 + 0 0 0,,0 1 0 0 1 1 +x* 0 0 0,,0 0 1 1 1 0 02 0 0 0,,0 0 0 0 1 1 1 0 0 1 0 0,,1 0 + 0 0 0,,1 0 0 1 1 0 +2x* 0 0 0,,1 0 1 0 0 1 02 0 0 0,,0 0 1 0 1 0 0 1 1 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 +[-x]补补 1 1,,1 0 1 1 0 1 1 1 1,,1 1 0 1 1 0 1 0,,1 0 0 0 1 1 —— +0 1 1 1,,1 1 1 0 1 1 0 1 0,,1 0 0 0 1 + 0 0,,0 1 0 0 1 1 +[x]补补 0 0,,0 0 1 1 1 0 1 0 0,,0 0 0 1 1 1 0 0 1 0,, 1 0 0 0 —— +0 1 0 0,,0 0 0 0 1 1 1 0 0 1 0,,1 0 0 —— +0 1 0 0,,0 0 0 0 0 1 1 1 0 0 1 0,,1 0 + 1 1,,1 0 1 1 0 1 +[-x]补补 1 1,,1 0 1 1 1 0 1 1 1,,1 1 0 1 1 1 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 +[-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,,1 0 0 + 1 1 1,,0 1 1 0 1 0 +[-2x]补补 1 1 1,,0 1 1 1 0 1 2 1 1 1,,1 1 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 ((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*]补补= [-2x]补补= 10.010 10 x0=0,,y0=1,,z0=x0   y0=0   1=1 x*×y*=0.110 000 111 1 [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 0 1 —— +x* + 0 . 1 1 0 1 1 0 . 1 1 0 1 1 1 0 . 0 1 1 0 1 1 . 1 1 1 0 —— +01 0 . 0 0 1 1 0 1 1 . 1 1 1 —— +x* + 0 . 1 1 0 1 1 1 . 0 0 0 0 1 1 0 . 1 0 0 0 0 1 1 1 . 1 1 —— +x* + 0 . 1 1 0 1 1 1 . 0 1 0 1 1 1 0 . 1 0 1 0 1 1 1 1 1 . 1 —— +x* + 0 . 1 1 0 1 1 1 . 1 0 0 0 0 1 0 . 1 1 0 0 0 0 1 1 1 1 原码两位乘:原码两位乘: 部分积部分积 乘数乘数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* 0 0 0 . 1 1 0 1 1 02 0 0 0 . 0 0 1 1 0 1 1 0 . 1 1 1 + 1 1 1 . 0 0 1 0 1 +[-x*]补补 1 1 1 . 0 1 0 1 1 12 1 1 1 . 1 1 0 1 0 1 1 1 1 . 0 1 + 0 0 1 . 1 0 1 1 0 +2x* 0 0 1 . 1 0 0 0 0 01 0 0 0 . 1 1 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 . 0 0 1 0 1 +[-x]补补 1 1 . 0 0 1 0 1 1 1 1 . 1 0 0 1 0 1 1 . 0 0 0 1 1 —— +0 1 1 1 . 1 1 0 0 1 0 1 1 . 0 0 0 1 + 0 0 . 1 1 0 1 1 +[x]补补 0 0 . 1 0 1 0 0 1 0 0 . 0 1 0 1 0 0 0 1 1 . 0 0 0 —— +0 1 0 0 . 0 0 1 0 1 0 0 0 1 1 . 0 0 —— +0 1 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 +[-x]补补 1 1 1 . 0 0 1 0 1 2 1 1 1 . 1 1 0 0 1 0 1 1 . 0 0 0 1 + 0 0 0 . 1 1 0 1 1 +[x]补补 0 0 0 . 1 0 1 0 0 2 0 0 0 . 0 0 1 0 1 0 0 0 1 1 . 0 0 + 1 1 0 . 0 1 0 1 0 +[-2x]补补 1 1 0 . 0 1 1 1 1 1 1 1 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.101 011 [-y*]补补=[-y]补补=1.010 101 q0=x0 y0=0  0=0 x y=x* y*=[x y]原原=0.111 010 r*=0.000 010×2-6=0.000 000 000 010 计算过程如下:计算过程如下: 原码加减交替除法:原码加减交替除法: 被除数(余数)被除数(余数) 商商 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 0 01 1 . 1 1 1 0 0 0 0 . + 0 . 1 0 1 0 1 1 r<0,,+y* 0 . 1 0 0 0 1 1 1 1 . 0 0 0 1 1 0 0.1 + 1 . 0 1 0 1 0 1 r>0,, +[-y*]补补 0 . 0 1 1 0 1 11 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 续:续: 被除数(余数)被除数(余数) 商商1 0 . 0 1 0 1 1 0 0 . 1 1 1 + 1 . 0 1 0 1 0 1 r>0,, +[-y*]补补 1 . 1 0 1 0 1 11 1 . 0 1 0 1 1 0 0.1 1 1 0 + 0 . 1 0 1 0 1 1 r<0,,+y* 0 . 0 0 0 0 0 11 0 . 0 0 0 0 1 0 0.1 1 1 0 1 + 1 . 0 1 0 1 0 1 r>0,, +[-y*]补补 1 . 0 1 0 1 1 1 1 0.1 1 1 0 1 0 + 0 . 1 0 1 0 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 0 1 试减,试减,x、、y同号,同号,+[-y]补补 1 1 . 1 1 1 1 0 01 1 1 . 1 1 1 0 0 0 0 . + 0 0 . 1 0 1 0 1 1 r、、y异号,异号,+[y]补补 0 0 . 1 0 0 0 1 1 1 0 1 . 0 0 0 1 1 0 0.1 + 1 1 . 0 1 0 1 0 1 r、、y同号,同号, +[-y]补补 0 0 . 0 1 1 0 1 11 0 0 . 1 1 0 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 续:续: 被除数(余数)被除数(余数) 商商1 0 0 . 0 1 0 1 1 0 0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 r、、y同号,同号, +[-y]补补 1 1 . 1 0 1 0 1 11 1 1 . 0 1 0 1 1 0 0.1 1 1 0 + 0 0 . 1 0 1 0 1 1 r、、y异号,异号,+[y]补补 0 0 . 0 0 0 0 0 11 0 0 . 0 0 0 0 1 0 0.1 1 1 0 1 + 1 1 . 0 1 0 1 0 1 r、、y同号,同号, +[-y]补补 1 1 . 0 1 0 1 1 1 1 0.1 1 1 0 1 1 —— 恒置恒置1 + 0 0 . 1 0 1 0 1 1 r、、x异号,异号,(恢复余数)(恢复余数) 0 0 . 0 0 0 0 1 0 且且r、、y异号,异号, +[y]补补注:恒置注:恒置1引入误差。

      引入误差 x y=[x y]补补= 0.111 011 [r]补补=0.000 010,,r=r*=0.000 000 000 010 ((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 q0 = x0   y0 = 1   0 = 1 x* y*= 0.110 00 [x y]原原=1.110 00 x y = -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 01 1 . 1 0 1 0 0 0 . + 0 . 1 1 0 1 1 r<0,,+y* 0 . 0 1 1 1 1 1 0 . 1 1 1 1 0 0.1 + 1 . 0 0 1 0 1 r>0,, +[-y*]补补 0 . 0 0 0 1 11 0 . 0 0 1 1 0 0.1 1 + 1 . 0 0 1 0 1 r>0,, +[-y*]补补 1 . 0 1 0 1 1 续:续: 被除数(余数)被除数(余数) 商商1 0 . 1 0 1 1 0 0 . 1 1 0 + 0 . 1 1 0 1 1 r<0,, +y* 1 . 1 0 0 0 11 1 . 0 0 0 1 0 0.1 1 0 0 + 0 . 1 1 0 1 1 r<0,,+y* 1 . 1 1 1 0 1 1 0.1 1 0 0 0 + 0 . 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 1 试减,试减,x、、y异号,异号,+[y]补补 0 0 . 0 0 1 1 01 0 0 . 0 1 1 0 0 1 . + 1 1 . 0 0 1 0 1 r、、y同号,同号,+[-y]补补 1 1 . 1 0 0 0 1 1 1 1 . 0 0 0 1 0 1.0 + 0 0 . 1 1 0 1 1 r、、y异号,异号, +[y]补补 1 1 . 1 1 1 0 11 1 1 . 1 1 0 1 0 1.0 0 + 0 0 . 1 1 0 1 1 r、、y异号,异号, +[y]补补 0 0 . 1 0 1 0 1 续:续: 被除数(余数)被除数(余数) 商商1 0 1 . 0 1 0 1 0 1 . 0 0 1 + 1 1 . 0 0 1 0 1 r、、y同号,同号, +[-y]补补 0 0 . 0 1 1 1 11 0 0 . 1 1 1 1 0 1.0 0 1 1 + 1 1 . 0 0 1 0 1 r、、y同号,同号,+[-y]补补 0 0 . 0 0 0 1 1 1 1.0 0 1 1 1 —— 恒置恒置1 + 1 1 . 0 0 1 0 1 r、、x异号,异号,(恢(恢复余数)复余数) 1 1 . 0 1 0 0 0 且且r、、y同号,同号,+[-y]补补 注:恒置注:恒置1引入误差。

      引入误差 [r]补补=1.010 00,, r= -0.000 001 100 0 [x y]补补=1.001 11,,x y= -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]补补= 0.100 01 q0 = x0   y0 = 0   1 = 1 x* y*= 1.001 01 —— 溢溢出出 [x y]原原:无定义:无定义 x y = -1.001 01 r*=0.010 11×2-5 =0.000 000 101 1 计算过程如下:计算过程如下: 原码加减交替除法:原码加减交替除法: 被除数(余数)被除数(余数) 商商 0 . 1 0 1 0 0 0 . 0 0 0 0 0 + 1 . 0 1 1 1 1 试减,试减,+[-y*]补补 0 . 0 0 0 1 1 1 0 . 0 0 1 1 0 1 . + 1 . 0 1 1 1 1 r>0,, +[-y*]补补 1 . 1 0 1 0 1 1 1 . 0 1 0 1 0 1.0 + 0 . 1 0 0 0 1 r<0,, +y* 1 . 1 1 0 1 11 1 . 1 0 1 1 0 1.0 0 + 0 . 1 0 0 0 1 r<0,, +y* 0 . 0 0 1 1 1 注:溢出,注:溢出,注:溢出,注:溢出, 可停止运算,可停止运算,可停止运算,可停止运算, 转溢出处理。

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

      算法本身仍可正常运行 补码加减交替除法:补码加减交替除法: 被除数(余数)被除数(余数) 商商 0 0 . 1 0 1 0 0 0 . 0 0 0 0 0 + 1 1 . 0 1 1 1 1 试减,试减,x、、y异号,异号,+[y]补补 0 0 . 0 0 0 1 11 0 0 . 0 0 1 1 0 0 . + 1 1 . 0 1 1 1 1 r、、y异号,异号,+[y]补补 1 1 . 1 0 1 0 1 1 1 1 . 0 1 0 1 0 0.1 + 0 0 . 1 0 0 0 1 r、、y同号,同号, +[-y]补补 1 1 . 1 1 0 1 11 1 1 . 1 0 1 1 0 0.1 1 + 0 0 . 1 0 0 0 1 r、、y同号,同号, +[-y]补补 0 0 . 0 0 1 1 1 续:续: 被除数(余数)被除数(余数) 商商1 0 0 . 0 1 1 1 0 0 . 1 1 0 + 1 1 . 0 1 1 1 1 r、、y异号,异号, +[y]补补 1 1 . 1 1 1 0 11 1 1 . 1 1 0 1 0 0.1 1 0 1 + 0 0 . 1 0 0 0 1 r、、y同号,同号,+[-y]补补 0 0 . 0 1 0 1 1 1 0.1 1 0 1 1 —— 恒置恒置1 r、、x同号,结同号,结束束 [r]补补=0.010 11,,r=r*=0.000 000 101 1 真符位的产生:真符位的产生:qf = x0   y0 = 0   1 = 1 [x y]补补=10.110 11,,x y= -1.001 01 判溢出:判溢出:qf   q0 = 1   0 = 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.110 11 q0 = x0   y0 = 0   1 = 1 x* y*= 0.011 11 [x y]原原=1.011 11 x y =((-0.011 11))2 = -15/32 r*=0.010 11×2-5 =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 0 1 0 1 1 . 0 0 1 0 0 0 . + 0 . 1 1 0 1 1 r<0,, +y* 1 . 1 1 1 1 1 1 1 . 1 1 1 1 0 0.0 + 0 . 1 1 0 1 1 r<0,, +y* 0 . 1 1 0 0 11 1 . 1 0 0 1 0 0.0 1 + 1 . 0 0 1 0 1 r>0,, +[-y*]补补 0 . 1 0 1 1 1 续:续: 被除数(余数)被除数(余数) 商商1 1 . 0 1 1 1 0 0 . 0 1 1 + 1 . 0 0 1 0 1 r>0,, +[-y*]补补 0 . 1 0 0 1 11 1 . 0 0 1 1 0 0.0 1 1 1 + 1 . 0 0 1 0 1 r>0,, +[-y*]补补 0 . 0 1 0 1 1 1 0.0 1 1 1 1 r>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 01 1 1 . 0 0 1 0 0 1 . + 0 0 . 1 1 0 1 1 r、、y同号,同号,+[-y]补补 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 0 1.1 + 0 0 . 1 1 0 1 1 r、、y同号,同号,+[-y]补补 0 0 . 1 1 0 0 11 0 1 . 1 0 0 1 0 1.1 0 + 1 1 . 0 0 1 0 1 r、、y异号,异号, +[y]补补 0 0 . 1 0 1 1 1 续:续: 被除数(余数)被除数(余数) 商商1 0 1 . 0 1 1 1 0 1 . 1 0 0 + 1 1 . 0 0 1 0 1 r、、y异号,异号, +[y]补补 0 0 . 1 0 0 1 11 0 1 . 0 0 1 1 0 1.1 0 0 0 + 1 1 . 0 0 1 0 1 r、、y异号,异号,+[y]补补 0 0 . 0 1 0 1 1 1 1.1 0 0 0 1 —— 恒置恒置1 r、、x同号,结同号,结束束 [r]补补=0.010 11,,r=r*=0.000 000 101 1 [x y]补补=1.100 01,,x y=((-0.011 11))2 = -15/32 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 补码加减交替除补码加减交替除最多需时最多需时==1µs×((16+1))+1µs×15=32µs 25. 对于对于尾数为尾数为40位位的浮点的浮点数(不包括符号位在内),若采数(不包括符号位在内),若采用不同的机器数表示,试问当尾用不同的机器数表示,试问当尾数左规或右规时,最多移位次数数左规或右规时,最多移位次数各为多少?各为多少? 解:对于尾数为解:对于尾数为40位的浮点位的浮点数,若采用原码表示,当尾数左数,若采用原码表示,当尾数左规时,最多移位规时,最多移位39次次;反码表示;反码表示时情况同原码;若采用补码表示,时情况同原码;若采用补码表示,当尾数左规时,正数最多移位当尾数左规时,正数最多移位39次次,同原码;负数最多移位,同原码;负数最多移位40次次。

      当尾数右规时,不论采用何种码当尾数右规时,不论采用何种码制,均只需右移制,均只需右移1次次 26. 按机器补码浮点运算步按机器补码浮点运算步骤计算骤计算[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 注:为简单起见,源操作数注:为简单起见,源操作数可直接写成浮点格式,不必规格可直接写成浮点格式,不必规格化 1)对阶:)对阶: [ E]补补=[Ex]补补+[-Ey]补补 =11,,101+00,,010=11,,111 [ E]补补<0,应,应Ex向向Ey对齐对齐,,则:则: [Ex]补补+1=11,,101+00,,001 =11,,110 [ E]补补+1=11,,111+00,,001 =00,,000=0 至此,至此, Ex=Ey,对毕。

      对毕 [x]补补=1,,110;;0.010 1102)尾数运算:)尾数运算: [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 03)结果规格化:)结果规格化: [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 011 [y]补补=0,,100;;1.110 001 1)对阶:)对阶: [ E]补补=[Ex]补补+[-Ey]补补 =00,,101+11,,100=00,,001 [ E]补补>0,应,应Ey向向Ex对齐对齐,,则:则: [Ey]补补+1=00,,100+00,,001 =00,,101 [ E]补补+[-1]补补=00,,001+11,,111 =00,,000=0 至此,至此, 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]补补不变。

      不变 [x-y]补补=00,,100;;11.000 101 5)溢出:)溢出:无无 则:则:x+y=2101×((-0.101 101)) x-y =2100×((-0.111 011)) 27、假设阶码取、假设阶码取3位,尾数取位,尾数取6位(均不包括符号位),计算下列位(均不包括符号位),计算下列各题 ((1))[25×(11/16)]+[24×(-9/16)] ((2))[2-3×(13/16)]-[2-4×(-5/8)] ((3))[23×(13/16)]×[24×(-9/16)] ((4))[26×(-11/16)]÷[23×(-15/16)] ((5))[23×(-1)] ×[2-2×57/64] ((6))[2-6×(-1)]÷[27×(-1/2)] ((7))3.3125+6.125 ((8))14.75-2.4375 解:解:设设机器数采用机器数采用阶补阶补尾尾补补形形式:式:((1))x= 25×(11/16)= 2101×0.101100 y= 24×(-9/16)=2100×(-0.100100)则则:: [x]阶补尾补阶补尾补=00,,101;;00.101100 [y]阶补尾补阶补尾补=00,,100;;11.011100 1)对阶:)对阶: [ E]补补=[Ex]补补+[-Ey]补补 =00,,101+11,,100=00,,001 [ E]补补>0,应,应Ey向向Ex对齐对齐,则:,则: [Ey]补补+1=00,,100+00,,001=00,,101 [ E]补补+[-1]补补=00,,001+11,,111=0 至此,至此, Ey=Ex,对毕。

      对毕 [y]补补=00,,101;;11.1011102)尾数运算:)尾数运算: [Mx]补补+[My]补补= 0 0 . 1 0 1 1 0 0 + 1 1 . 1 0 1 1 1 0 0 0 . 0 1 1 0 1 03)结果规格化:左规)结果规格化:左规1位位 [x+y]补补=00,,101;;00.011 010 =00,,100;;00.110 100 4)舍入:不需舍入舍入:不需舍入5)溢出:)溢出:无无 则:则:x+y=2100×((0.110 100)) =24×((13/16))((2))[2-3×(13/16)]-[2-4×(-5/8)] x= 2-3×(13/16)= 2-011×0.110 100 y= 2-4×(-5/8)=2-100×(-0.101000) [x]阶补尾补阶补尾补=11,,101;;00.110100 [y]阶补尾补阶补尾补=11,,100;;11.0110001)对阶:)对阶: [ E]补补=[Ex]补补+[-Ey]补补 =11,,101+00,,100=00,,001 [ E]补补>0,应,应Ey向向Ex对齐对齐,则:,则: [Ey]补补+1=11,,100+00,,001=11,,101[ E]补补+[-1]补补=00,,001+11,,111=0至此,至此, Ey=Ex,对毕。

      对毕[y]补补=11,,101;;11.101100 2)尾数运算:)尾数运算: [Mx]补补+[-My]补补= 0 0 . 1 1 0 1 0 0 + 0 0 . 0 1 0 1 0 0 0 1 . 0 0 1 0 0 03)结果规格化:右规)结果规格化:右规 [x-y]补补=11,,101;;01.001 000 =11,,110;;00.100 1004)舍入:不需舍入舍入:不需舍入5)溢出:)溢出:无无 则:则:x-y=2-010×((0.100 100)) =2-2×((9/16)) ((3))[23×(13/16)]×[24×(-9/16)] x= 23×(13/16)=2011×((0.110 100)) y= 24×(-9/16)=2100×((-0.100 100)) [x]阶补尾补阶补尾补=00,,011;;0.110 100 [y]阶补尾补阶补尾补=00,,100;;1.011 1001)阶码相加:)阶码相加: [Ex]补补+[Ey]补补=00,,011+ 00,,100 =00,,111(无溢(无溢出)出)2)尾数相乘:)尾数相乘: 补码两位乘比较法,见下页。

      补码两位乘比较法,见下页[Mx × My]补补=11.100 010((110 000 00))3)结果规格化:)结果规格化:左规左规1位[x×y]补补=0,,111;;1.100 010(110 000 00) =0,,110;;1.000 101(100 000 0) 2)尾数相乘:)尾数相乘: (补码两位乘比较法)(补码两位乘比较法) 部分积部分积 乘数乘数 yn+1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 1 1 0 0 0 + 0 0 0 . 0 0 0 0 0 0 +[-0]补补 0 0 0 . 0 0 0 0 0 02 0 0 0 . 0 0 0 0 0 0 0 0 1 1 .0 1 1 1 0 + 1 1 1 . 0 0 1 1 0 0 +[-x]补补 1 1 1 . 0 0 1 1 0 0 2 1 1 1 . 1 1 0 0 1 1 0 0 0 0 1 1 . 0 1 1 + 0 0 1 . 1 0 1 0 0 0 +[2x]补补 0 0 1 . 0 1 1 0 1 1 2 0 0 0 . 0 1 0 1 1 0 1 1 0 0 0 0 1 1 . 0 + 1 1 1 . 0 0 1 1 0 0 +[-x]补补 1 1 1 . 1 0 0 0 1 0 1 1 0 0 0 0 0 0(清清0) 4)舍入:)舍入:设采用设采用0舍舍1入法,应舍:入法,应舍: [x×y]阶补尾补阶补尾补=0,,110;;1.000 101 5)溢出:)溢出:无无 x×y=2110×((-0.111 011)) = 26×((-59/64)) ((4)) [26×(-11/16)]÷[23×(-15/16)] x= 26×(-11/16)=2110×((-0.101 100)) y= 23×(-15/16)=2011×((-0.111 100)) [x]阶补尾补阶补尾补=00,,110;;1.010 100 [y]阶补尾补阶补尾补=00,,011;;1.000 1001)阶码相减:)阶码相减: [Ex]补补+[-Ey]补补=00,,110+ 11,,101 =00,,011(无溢(无溢出)出) 2)尾数相除:)尾数相除: (补码加减交替除法)(补码加减交替除法) 被除数(余数)被除数(余数) 商商 1 1 . 0 1 0 1 0 0 0 . 0 0 0 0 0 0 试减,试减, + 0 0 . 1 1 1 1 0 0 Mx、、My同号,同号,+[-My]补补 0 0 . 0 1 0 0 0 01 0 0 . 1 0 0 0 0 0 0 . + 1 1 . 0 0 0 1 0 0 r、、My异号,异号,+[My]补补 1 1 . 1 0 0 1 0 0 1 1 1 . 0 0 1 0 0 0 0.1 + 0 0 . 1 1 1 1 0 0 r、、My同号,同号, +[-My]补补 0 0 . 0 0 0 1 0 01 0 0 . 0 0 1 0 0 0 0.1 0 + 1 1 . 0 0 0 1 0 0 r、、My异号,异号, +[My]补补 1 1 . 0 0 1 1 0 0 续:续: 被除数(余数)被除数(余数) 商商1 1 0 . 0 1 1 0 0 0 0 . 1 0 1 + 0 0 . 1 1 1 1 0 0 r、、My同号,同号, +[-My]补补 1 1 . 0 1 0 1 0 01 1 0 . 1 0 1 0 0 0 0.1 0 1 1 + 0 0 . 1 1 1 1 0 0 r、、My同号,同号,+[-My]补补 1 1 . 1 0 0 1 0 01 1 1 . 0 0 1 0 0 0 0.1 0 1 1 1 + 0 0 . 1 1 1 1 0 0 r、、My异号,异号, +[-My]补补 0 0 . 0 0 0 1 0 0 1 0.1 0 1 1 1 1 —— 恒置恒置1 + 1 1 . 0 0 0 1 0 0 r、、Mx异号,(恢异号,(恢复余数)复余数) 1 1 . 0 0 1 0 0 0 且且r、、My异号,异号, +[My]补补 [Mx My]补补= 0.101 111,, [r]补补=1.001 000 r= -0 .111 000   2-6 =-0.000 000 111 000 29. 设浮点数阶码取设浮点数阶码取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 1 2 1 1 1 . 1 1 0 1 0 0 1 1 1 1 .0 0 1 0 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 . 0 1 1 1 1 0 2 0 0 0 . 0 0 0 1 1 1 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) 2)尾数相乘:)尾数相乘: ((算法二算法二:补码一位乘比较法):补码一位乘比较法) 部分积部分积 乘数乘数 yn+1 0 0 . 0 0 0 0 0 0 1 . 0 0 1 0 1 1 0 + 1 1 . 0 1 0 0 1 1 +[-x]补补 1 1 . 0 1 0 0 1 1 1 1 1 . 1 0 1 0 0 1 1 1 .0 0 1 0 1 1 — +0 1 1 1 . 1 1 0 1 0 0 1 1 1 .0 0 1 0 1 + 0 0 . 1 0 1 1 0 1 +[x]补补 0 0 . 1 0 0 0 0 1 1 0 0 . 0 1 0 0 0 0 1 1 1 1 . 0 0 1 0 + 1 1 . 0 1 0 0 1 1 +[-x]补补 1 1 . 1 0 0 0 1 1 1 1 1 . 1 1 0 0 0 1 1 1 1 1 1 . 0 0 1 + 0 0 . 1 0 1 1 0 1 +[x]补补 0 0 . 0 1 1 1 1 0 1 0 0 . 0 0 1 1 1 1 0 1 1 1 1 1. 0 0 — +01 0 0 . 0 0 0 1 1 1 1 0 1 1 1 1 1. 0 + 1 1 . 0 1 0 0 1 1 +[-x]补补 1 1 . 0 1 1 0 1 0 1 0 1 1 1 1 0. — (清清0) [Mx × My]补补=1.011 010((101 111 00))3)结果规格化:)结果规格化:已是规格化数。

      已是规格化数4)舍入:)舍入:设采用设采用0舍舍1入法,应入:入法,应入: [x×y]阶移尾补阶移尾补=0,,001;;1.011 0115)溢出:)溢出:无无 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 1011)阶码相加:)阶码相加: [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 0 0 1 2 1 1 1 . 1 1 0 1 1 0 0 1 1 1 .0 1 0 1 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]补补 1 1 1 . 0 0 1 1 0 0 2 1 1 1 . 1 1 0 0 1 1 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)) 2)尾数相乘:)尾数相乘: ((算法二算法二:补码一位乘比较法):补码一位乘比较法) 部分积部分积 乘数乘数 yn+1 0 0 . 0 0 0 0 0 0 1 . 0 1 0 1 0 1 0 + 0 0 . 1 0 0 1 1 1 +[-x]补补 0 0 . 1 0 0 1 1 1 1 0 0 . 0 1 0 0 1 1 1 1 .0 1 0 1 0 1 + 1 1 . 0 1 1 0 0 1 +[x]补补 1 1 . 1 0 1 1 0 0 1 1 1 . 1 1 0 1 1 0 0 1 1 . 0 1 0 1 0 + 0 0 . 1 0 0 1 1 1 +[-x]补补 0 0 . 0 1 1 1 0 1 1 0 0 . 0 0 1 1 1 0 1 0 1 1 . 0 1 0 1 + 1 1 . 0 1 1 0 0 1 +[x]补补 1 1 . 1 0 0 1 1 1 1 1 1 . 1 1 0 0 1 1 1 1 0 1 1 . 0 1 0 + 0 0 . 1 0 0 1 1 1 +[-x]补补 0 0 . 0 1 1 0 1 01 0 0 . 0 0 1 1 0 1 0 1 1 0 1 1 . 0 1 + 1 1 . 0 1 1 0 0 1 +[x]补补 1 1 . 1 0 0 1 1 01 1 1 . 1 1 0 0 1 1 0 0 1 1 0 1 1 . 0 + 0 0 . 1 0 0 1 1 1 +[-x]补补 0 0 . 0 1 1 0 1 0 0 0 1 1 0 1 0. — (清清0) [Mx × My]补补=0.011 010((001 101 0)) 3)结果规格化:)结果规格化: [x×y]阶移尾补阶移尾补= = 1,,010;;0.011 010((001 101 00)) = 1,,001;;0.110 100((011 010 0)) (左规(左规1次,阶码减次,阶码减1,尾数左移,尾数左移1位)位) 4)舍入:)舍入:设采用设采用0舍舍1入法,应入法,应舍舍:: [x×y]阶移尾补阶移尾补=1,,001;;0. 110 1005)溢出:)溢出:无无 x×y=2001×0.110 100 注意:注意:采用采用阶移尾补阶移尾补格式是格式是指:指:参加运算的数参加运算的数是阶移尾补格式,是阶移尾补格式,用用阶移尾补算法阶移尾补算法计算,计算,运算结果运算结果是是阶移尾补格式。

      阶移尾补格式 30. 机器数格式同上题,要求机器数格式同上题,要求阶码用阶码用移码移码运算,尾数用运算,尾数用补码补码运算,运算,计算计算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.101 011 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 +[-My*]补补 1 1 . 1 1 1 1 0 0 r<<0,商,商01 1 1 . 1 1 1 0 0 0 0 . + 0 0 . 1 0 1 0 1 1 +My* 0 0 . 1 0 0 0 1 1 r>>0,商,商1 1 0 1 . 0 0 0 1 1 0 0.1 + 1 1 . 0 1 0 1 0 1 +[-My*]补补 0 0 . 0 1 1 0 1 1 r>>0,商,商1 1 0 0 . 1 1 0 1 1 0 0.1 1 + 1 1 . 0 1 0 1 0 1 +[-My*]补补 0 0 . 0 0 1 0 1 1 r>>0,商,商1 续:续: 被除数(余数)被除数(余数) 商商1 0 0 . 0 1 0 1 1 0 0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 +[-My*]补补 1 1 . 1 0 1 0 1 1 r<<0,商,商0 1 1 1 . 0 1 0 1 1 0 0.1 1 1 0 + 0 0 . 1 0 1 0 1 1 +My* 0 0 . 0 0 0 0 0 1 r>>0,商,商1 1 0 0 . 0 0 0 0 1 0 0.1 1 1 0 1 + 1 1 . 0 1 0 1 0 1 +[-My*]补补 1 1 . 0 1 0 1 1 1 1 0.1 1 1 0 1 0,,r<<0,商,商0 + 0 0 . 1 0 1 0 1 1 (恢复(恢复余数)余数) 0 0 . 0 0 0 0 1 0 且且r、、My同号,同号, +[-My]补补 Mx* My*= 0.111 010,,[Mx My]原原= 1.111 010 r*= 0 .000 010   2-6 =0.000 000 000 010 3)结果规格化:)结果规格化:已是规格化数。

      已是规格化数4)舍入:)舍入:已截断法舍入已截断法舍入5)溢出:)溢出:无无 [x y]阶移尾原阶移尾原=1,,010;;1.111 010 x   y=2010×((-0.111 010))((2))x=2110×((-0.101 101)) y=2011×((-0.111 100)) [x]阶移尾原阶移尾原=1,,110;;1.101 101 [y]阶移尾原阶移尾原=1,,011;;1.111 100 1)阶码相减:)阶码相减: [Ex]移移+[-Ey]补补=01,,110+11,,101 =01,,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 +[-My*]补补 1 1 . 1 1 0 0 0 1 r<<0,商,商0 1 1 1 . 1 0 0 0 1 0 0 . + 0 0 . 1 1 1 1 0 0 +My* 0 0 . 0 1 1 1 1 0 r>>0,商,商1 1 0 0 . 1 1 1 1 0 0 0.1 + 1 1 . 0 0 0 1 0 0 +[-My*]补补 0 0 . 0 0 0 0 0 0 r>>0,商,商1 1 0 0 . 0 0 0 0 0 0 0.1 1 + 1 1 . 0 0 0 1 0 0 +[-My*]补补 1 1 . 0 0 0 1 0 0 r<<0,商,商0 续:续: 被除数(余数)被除数(余数) 商商1 1 0 . 0 0 1 0 0 0 0 . 1 1 0 + 0 0 . 1 1 1 1 0 0 +My* 1 1 . 0 0 0 1 0 0 r<<0,商,商0 1 1 0 . 0 0 1 0 0 0 0.1 1 0 0 + 0 0 . 1 1 1 1 0 0 +My* 1 1 . 0 0 0 1 0 0 r<<0,商,商0 1 1 0 . 0 0 1 0 0 0 0.1 1 0 0 0 + 0 0 . 1 1 1 1 0 0 +My* 1 1 . 0 0 0 1 0 0 1 0.1 1 0 0 0 0,,r<<0,商,商0 + 0 0 . 1 1 1 1 0 0 恢复余数,恢复余数,+My* 0 0 . 0 0 0 0 0 0Mx* My*= [Mx My]原原= 0.110 000 r*= -0.000 000 2-6 = -0.000 000 000 000 注:注:由于加减交替除法算法由于加减交替除法算法中缺少对部分余数判中缺少对部分余数判“0”的步骤,的步骤,因此因此算法运行中的某一步已除尽算法运行中的某一步已除尽时,算法不会自动停止时,算法不会自动停止,而是继,而是继续按既定步数运行完。

      续按既定步数运行完3)结果规格化:)结果规格化:已是规格化数已是规格化数4)舍入:)舍入:已截断法舍入已截断法舍入5)溢出:)溢出:无无 [x y]阶移尾原阶移尾原=1,,011;;0.110 000 x   y=2011× 0.110 000 31. 设机器字长为设机器字长为32位位,用,用与非门和与或非门设计一个并行与非门和与或非门设计一个并行加法器(假设与非门的延迟时间加法器(假设与非门的延迟时间为为30ns,与或非门的延迟时间为,与或非门的延迟时间为45ns),要求完成),要求完成32位加法时间位加法时间不得超过不得超过0.6µs画出进位链及加画出进位链及加法器逻辑框图法器逻辑框图解:首先根据题意要求选择进位解:首先根据题意要求选择进位方案:方案: 1)若采用)若采用串行进位链串行进位链(行波(行波进位),则在进位),则在di、、ti函数的基础上,函数的基础上,实现实现32位进位需要的时间为:位进位需要的时间为: T=2ty 32=64ty=64 30=1920ns 不满足不满足0.6µs的加法时间限制,的加法时间限制,不能用。

      不能用设设1ty=30ns)) 2)若采用)若采用单重分组跳跃进位单重分组跳跃进位(级连方式),则在(级连方式),则在di、、ti的基础的基础上,上,4位一组分组,位一组分组,32位进位位进位需:需: T=2.5ty 8组组=20ty=20 30=600ns 刚好满足刚好满足0.6 µs加法时间的加法时间的限制 考虑到一次加法除进位时间考虑到一次加法除进位时间外,还需外,还需di、、ti函数的产生时间、函数的产生时间、和的产生时间(最高位和)等因和的产生时间(最高位和)等因素,故此进位方案仍不适用素,故此进位方案仍不适用结论:结论:若采用单重分组跳跃进位,若采用单重分组跳跃进位,小组规模需在小组规模需在6位以上位以上较为合适较为合适即:即: T=2.5ty 6组组=15ty=15 30=450ns 除进位外还有除进位外还有150ns(约(约5ty)左右的时间供加法开销,较)左右的时间供加法开销,较充裕 3)若采用)若采用双重分组跳跃进位双重分组跳跃进位(二级先行(二级先行—级联进位),级联进位),4位一位一小组,小组,4小组为一大组分组,则小组为一大组分组,则32位进位需:位进位需: T=2.5ty 4级级=10ty=10 30=300ns 完全满足完全满足0.6µs的加法时间限的加法时间限制,可以使用。

      制,可以使用 双重分组跳跃进位双重分组跳跃进位(两级先行进位)(两级先行进位) 3232位双重分组跳跃进位的进位链框图见教材位双重分组跳跃进位的进位链框图见教材位双重分组跳跃进位的进位链框图见教材位双重分组跳跃进位的进位链框图见教材286286页页页页图图图图6.236.23C2~0T8D8C3C6~4T7D7C7C10~8T6D6C11C14~12T5D5C15…tidi…di…di…ditititiC18~16T4D4C19C22~20T3D3C23C26~24T2D2C27C30~28T1D1C31…tidi…di…di…ditititi12345678第第 二二 大大 组组C-1第第 一一 大大 组组 6位一组单重分组跳跃进位的进位链框图如位一组单重分组跳跃进位的进位链框图如下:下: 注:注:注:注:一个完整的加法器还应考虑一个完整的加法器还应考虑一个完整的加法器还应考虑一个完整的加法器还应考虑didi、、、、ti ti产生电路、产生电路、产生电路、产生电路、求和电路等。

      求和电路等求和电路等求和电路等2 2位位位位(6)(6)6 6位位位位(5)(5)6 6位位位位(4)(4)6 6位位位位(3)(3)6 6位位位位(2)(2)6 6位位位位(1)(1)d d31~30 31~30 d d29~24 29~24 d d23~18 23~18 d d17~12 17~12 d d11~6 11~6 d d5~05~0 t t31~30 31~30 t t29~24 29~24 t t23~18 23~18 t t17~12 17~12 t t11~6 11~6 t t5~0 5~0 C C3030 C C28~24 28~24 C C22~1822~18 C C16~12 16~12 C C10~610~6 C C4~04~0C C-1-1C C5 5C C1111C C1717C C2323C C2929C C3131 加法器逻辑框图如下。

      图中,进位链电加法器逻辑框图如下图中,进位链电路可选上述两种方案之一路可选上述两种方案之一求求求求 和和和和 电电电电 路路路路进进进进 位位位位 链链链链进位函数产生电路进位函数产生电路进位函数产生电路进位函数产生电路A A31~031~0 B B31~031~0F F31~031~0C C31~ -131~ -1 d d31~0 31~0 t t31~031~0C C-1-1 32. 设机器字长为设机器字长为16位位,分,分别按别按4、、4、、4、、4和和5、、5、、3、、3分分组后组后 ((1)画出两种分组方案的)画出两种分组方案的单重分组并行进位链框图单重分组并行进位链框图,并比,并比较哪种方案运算速度快较哪种方案运算速度快 ((2)画出两种分组方案的)画出两种分组方案的双重分组并行进位链框图双重分组并行进位链框图,并对,并对这两种方案进行比较这两种方案进行比较。

      ((3)用)用74181和和74182画出画出单重和双重分组的并行进位链框单重和双重分组的并行进位链框图 解:解: ((1))4—4—4—4分组分组的的16位位单重分组并行进位链框图单重分组并行进位链框图见教见教材材286页图页图6.22 t12t15t14t13d12d13d14d15t8t11t10t9d8d9d10d11t4t7t6t5d4d5d6d7t0t3t2t1d0d1d2d3C-1C12C13C14C15C8C9C10C11C4C5C6C7第第1 1组组第第15-1215-12位并行位并行单重分组跳跃进位单重分组跳跃进位(一级先行进位)(一级先行进位) 16位位并行加法器进位链框图(并行加法器进位链框图(6.22))第第2 2组组第第11-811-8位并行位并行第第3 3组组第第7-47-4位并行位并行第第4 4组组第第3-03-0位并行位并行C3C0C1C2C0C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15注意:注意:1616位一级先行进位加法器最长进位延迟时位一级先行进位加法器最长进位延迟时 间为间为10t10ty y。

      t12t15t14t13d12d13d14d15t8t11t10t9d8d9d10d11t4t7t6t5d4d5d6d7t0t3t2t1d0d1d2d3C-1 5—5—3—3分组分组的的16位单重分组并行进位单重分组并行进位链框图如下:位链框图如下: 4—4—4—44—4—4—4分组分组分组分组的进位时间的进位时间的进位时间的进位时间=2.5ty=2.5ty   4=10ty4=10ty;;;; 5—5—3—35—5—3—3分组分组分组分组的进位时间的进位时间的进位时间的进位时间=2.5ty=2.5ty   4=10ty4=10ty;;;; 两种分组方案最长加法时间两种分组方案最长加法时间两种分组方案最长加法时间两种分组方案最长加法时间相同相同相同相同 结论:结论:结论:结论:单重分组并行进位的最长进位时间只与单重分组并行进位的最长进位时间只与单重分组并行进位的最长进位时间只与单重分组并行进位的最长进位时间只与组数有关,组数有关,组数有关,组数有关,与组内位数无关与组内位数无关与组内位数无关与组内位数无关。

      5 5位位位位5 5位位位位3 3位位位位3 3位位位位d d15~1115~11 t t15~11 15~11 d d10~610~6 t t10~6 10~6 d d5~3 5~3 t t5~3 5~3 d d2~0 2~0 t t2~02~0C C-1-1C C14~1114~11 C C9~69~6 C C4 4 C C3 3 C C1 1 C C0 0C C1010C C5 5C C2 2C C1515 ((2))4—4—4—4分组分组的的16位双重分位双重分组并行进位链框图见教材组并行进位链框图见教材288页图页图6.26C2~0T8D8C3C6~4T7D7C7C10~8T6D6C11C14~12T5D5C15…tidi…di…di…ditititi5678第第 二二 大大 组组C-1 5—5—3—3分组分组的的16位双重分组并行进位双重分组并行进位链框图如下:位链框图如下:第第第第 二二二二 重重重重 进进进进 位位位位 链链链链小组进位链小组进位链小组进位链小组进位链5 5位位位位小组进位链小组进位链小组进位链小组进位链5 5位位位位小组进位链小组进位链小组进位链小组进位链3 3位位位位小组进位链小组进位链小组进位链小组进位链3 3位位位位d d15~1115~11 t t15~11 15~11 d d10~610~6 t t10~6 10~6 d d5~3 5~3 t t5~3 5~3 d d2~0 2~0 t t2~02~0C C-1-1D D4 4 T T4 4 C C14~1114~11 D D3 3 T T3 3 C C9~69~6 D D2 2 T T2 2 C C4~34~3 D D1 1 T T1 1 C C1~01~0C C1010C C5 5C C2 2C C1515 4—4—4—4分组分组的进位时间的进位时间=2.5ty 3=7.5ty;; 5—5—3—3分组分组的进位时间的进位时间=2.5ty 3=7.5ty;; 两种分组方案最长加法时间两种分组方案最长加法时间相同。

      相同 结论:结论:双重分组并行进位的双重分组并行进位的最长进位时间只与组数和级数有最长进位时间只与组数和级数有关,关,与组内位数无关与组内位数无关 ((3))单重分组单重分组16位并行加法器逻辑图如位并行加法器逻辑图如下(正逻辑):下(正逻辑): 图中,设与进位无关的引脚省略不画,不用的图中,设与进位无关的引脚省略不画,不用的图中,设与进位无关的引脚省略不画,不用的图中,设与进位无关的引脚省略不画,不用的引脚也省略不画引脚也省略不画引脚也省略不画引脚也省略不画 74182 4 74182 4位位位位BCLABCLA74181741814 4位位位位ALUALU741817418174181741817418174181C C0 0P P3 3 G G3 3 P P2 2 G G2 2 P P1 1 G G1 1 P P0 0 G G0 0C C1212C C8 8C C4 4C C161674181741814 4位位位位ALUALU7418174181741817418174181 74181 C C0 0C C1212C C8 8C C4 4C C1616C Cn+zn+zC Cn+yn+yC Cn+xn+xC Cn n双重分组双重分组双重分组双重分组1616位并行加法器逻辑图如下(正逻辑):位并行加法器逻辑图如下(正逻辑):位并行加法器逻辑图如下(正逻辑):位并行加法器逻辑图如下(正逻辑): 注意:注意: 1))181芯片正、负逻辑的芯片正、负逻辑的引脚表示引脚表示方法;方法; 2))为强调可比性,为强调可比性,5-5-3-3分组时分组时不考虑扇不考虑扇入入影响;影响; 3))181芯片只有最高、最低两个进位输入芯片只有最高、最低两个进位输入/输输出端,出端,组内进位无引脚组内进位无引脚;; 4))181为为4位片,无法位片,无法5-5-3-3分组,只能分组,只能4-4-4-4分组;分组; 5))单重分组跳跃进位只用到单重分组跳跃进位只用到181,使用,使用182的一般是双重以上分组跳跃进位;的一般是双重以上分组跳跃进位; 6))单重分组跳跃进位是并行进位和串行进位单重分组跳跃进位是并行进位和串行进位技术的结合;技术的结合;双重分组跳跃进位是二级并行进双重分组跳跃进位是二级并行进位技术;位技术;特别注意特别注意在位数较少时,双重分组跳在位数较少时,双重分组跳跃进位可以采用跃进位可以采用全先行进位全先行进位技术实现;位数较技术实现;位数较多时,可采用多时,可采用双重分组跳跃进位和串行进位技双重分组跳跃进位和串行进位技术结合术结合实现。

      实现 指指 令令 系系 统统第第 七七 章章 6. 某指令系统字长为某指令系统字长为16位位,,地址码取地址码取4位位,试提出一种方案,,试提出一种方案,使该指令系统有使该指令系统有8条条三地址指令、三地址指令、16条条二地址指令、二地址指令、100条一地址条一地址指令 解:解:三地址指令格式三地址指令格式如下:如下: 4 4 4 4 OP A OP A1 1 A A2 2 A A3 3 解题思路:以三地址指令格式为解题思路:以三地址指令格式为解题思路:以三地址指令格式为解题思路:以三地址指令格式为该指令系统的基本格式以此格式为该指令系统的基本格式以此格式为该指令系统的基本格式以此格式为该指令系统的基本格式以此格式为基础,采用基础,采用基础,采用基础,采用扩展操作码扩展操作码扩展操作码扩展操作码技术,设计出技术,设计出技术,设计出技术,设计出题意所要求的地址码结构的指令。

      题意所要求的地址码结构的指令题意所要求的地址码结构的指令题意所要求的地址码结构的指令 指令操作码分配方案指令操作码分配方案指令操作码分配方案指令操作码分配方案如下:如下:如下:如下: 4位位OP0000,,……,, A1,,A2,,A3;;8条条三地址指令三地址指令0111,,1000,,0000,,……,,……,, A2,,A3;;16条条二地址指令二地址指令1000,,1111,,1001,,0000,,0000,,……,,……,,……,, A3;;100条条一地址指令一地址指令1001,,0110,,0011,,1001,,0110,,0100,,……,,……,,……,, 冗余编码冗余编码1001,,1111,,1111,, 可用来扩充一、零地址指令可用来扩充一、零地址指令条数条数1010,,……,, 冗余编码冗余编码1111,, 可用来扩充三、二、一、零地址指令条数可用来扩充三、二、一、零地址指令条数 指令操作码分配方案指令操作码分配方案指令操作码分配方案指令操作码分配方案 7. 设指令字长为设指令字长为16位位,采用,采用扩展操作码技术,每个操作数的地扩展操作码技术,每个操作数的地址为址为6位位。

      如果定义了如果定义了13条条二地址二地址指令,试问还可安排多少条一地址指令,试问还可安排多少条一地址指令?指令? 解:解:二地址指令格式二地址指令格式如下:如下: 4 6 6 OP A OP A1 1 A A2 2 设二地址指令格式为该指令系统的设二地址指令格式为该指令系统的设二地址指令格式为该指令系统的设二地址指令格式为该指令系统的基本格式,基本格式,基本格式,基本格式,4 4位位位位操作码共有操作码共有操作码共有操作码共有1616种种种种编码,编码,编码,编码,其中其中其中其中1313种种种种用来定义二地址指令,还剩用来定义二地址指令,还剩用来定义二地址指令,还剩用来定义二地址指令,还剩3 3种种种种可用作可用作可用作可用作扩展标志扩展标志扩展标志扩展标志如不考虑零地址指如不考虑零地址指。

      如不考虑零地址指如不考虑零地址指令,该指令系统最多还能安排:令,该指令系统最多还能安排:令,该指令系统最多还能安排:令,该指令系统最多还能安排: 一地址指令条数一地址指令条数一地址指令条数一地址指令条数 =3=3×2×26 6 = =192192条条条条 8. 某机指令字长某机指令字长16位位,每个,每个操作数的地址码为操作数的地址码为6位,设操作码位,设操作码长度长度固定固定,指令分为零地址、一,指令分为零地址、一地址和二地址地址和二地址三种三种格式若零地格式若零地址指令有址指令有M种种,一地址指令有,一地址指令有N种种,则二地址指令最多有几种?若,则二地址指令最多有几种?若操作码位数可变,则二地址指令操作码位数可变,则二地址指令最多允许有几种?最多允许有几种? 解:解:1)若采用定长操作码)若采用定长操作码时,二地址指令格式如下:时,二地址指令格式如下: 4 6 6 OP OP A A1 1 A A2 2 此时,无论指令中有几个地址,此时,无论指令中有几个地址,此时,无论指令中有几个地址,此时,无论指令中有几个地址,指令格式都不变指令格式都不变指令格式都不变指令格式都不变。

      设二地址指令有设二地址指令有K种,则:种,则: K=24-M-N 当当M=1(最小值),(最小值),N=1(最(最小值)时,二地址指令最多有:小值)时,二地址指令最多有: Kmax=16-1-1=14种种 2)若采用变长操作码时,二)若采用变长操作码时,二地址指令格式仍如地址指令格式仍如1)所示,但操)所示,但操作码长度可随地址码的个数而变作码长度可随地址码的个数而变此时,此时, K= 24 -((N/26 + M/212 ));; ((N/26 + M/212 向上取整)向上取整) 当当((N/26 + M/212 ))  1时,时,K最大,最大,则二地址指令最多有:则二地址指令最多有: 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种种 注意:注意:应首先根据题意画出应首先根据题意画出指令基本格式指令基本格式 10. 试比较试比较基址寻址基址寻址和和变址寻变址寻址址 解:比较如下:解:比较如下: 1)都可有效地)都可有效地扩大扩大指令寻址指令寻址范围 2)基址寻址时,基准地址由)基址寻址时,基准地址由基址寄存器给出,地址的基址寄存器给出,地址的改变改变反映反映在在位移量位移量A的取值上;变址寻址时,的取值上;变址寻址时,基准地址由基准地址由A给出,地址的改变反给出,地址的改变反映在映在变址值的自动修改变址值的自动修改上,变址值上,变址值由变址寄存器给出由变址寄存器给出 3)基址寄存器内容通常由)基址寄存器内容通常由系系统程序统程序设定,变址寄存器内容通常设定,变址寄存器内容通常由由用户用户设定。

      设定 4)基址寻址适用于程序的)基址寻址适用于程序的动动态重定位态重定位,变址寻址适用于,变址寻址适用于数组或数组或字符串处理字符串处理,适用场合,适用场合不同不同 11. 画出画出先变址再间址先变址再间址及及先间址再变址先间址再变址的的寻址过程示意图寻址过程示意图 解:解:1))先变址再间址先变址再间址寻址过程简单示意寻址过程简单示意如下:如下: EA=[(IX)+A],, (IX)+1IXIXOP M A+1+1ALUIRIREA操作数操作数主存主存主存主存IX:变址寄存器,:变址寄存器,既可是专用寄存器,既可是专用寄存器,也可是通用寄存器之一也可是通用寄存器之一设一重间接设一重间接 2))先间址再变址先间址再变址寻址过程简单示意如下:寻址过程简单示意如下: EA=(IX)+(A),, (IX)+1IXIXIXOP M AOP M A+1+1ALUALUIRIREAEA操作数操作数操作数操作数主存主存主存主存IXIX:变址寄存器,:变址寄存器,:变址寄存器,:变址寄存器,既可是专用寄存器,既可是专用寄存器,既可是专用寄存器,既可是专用寄存器,也可是通用寄存器之一。

      也可是通用寄存器之一也可是通用寄存器之一也可是通用寄存器之一设一重间接设一重间接 注意:注意: 1 1)英文缩写)英文缩写EAEA表示有效地址,表示有效地址,不能乱用不能乱用 2 2)示意图中应标明)示意图中应标明EAEA(有效(有效地址)的位置地址)的位置 12. 画出画出“SUB @R1”指令对操作数的寻指令对操作数的寻址及减法过程的流程图设被减数和结果存于址及减法过程的流程图设被减数和结果存于ACC中,中,@表示间接寻址,表示间接寻址,R1寄存器的内容为寄存器的内容为2074H 解:解: SUB @R1指令寻址及减法过程的流指令寻址及减法过程的流程图:程图:   取指令(省)取指令(省)取指令(省)取指令(省)寻址操作:寻址操作:寻址操作:寻址操作:寄存器间址寄存器间址寄存器间址寄存器间址EA=(R1) =2074HEA=(R1) =2074HEA EA MARMAR,读,读,读,读 M(EA) M(EA) MDRMDR(ACC)-(MDR) (ACC)-(MDR) ACCACC         A A   A A      (公操作)(公操作)(公操作)(公操作) 注:注:注:注:在没有指定数据通在没有指定数据通在没有指定数据通在没有指定数据通路的情况下,此流程只是一路的情况下,此流程只是一路的情况下,此流程只是一路的情况下,此流程只是一个粗略的示意。

      个粗略的示意个粗略的示意个粗略的示意 13. 画出执行画出执行“ADD *-5”指令(指令(*为相对寻为相对寻址特征)的信息流程图设另一个操作数和结址特征)的信息流程图设另一个操作数和结果存于果存于ACC中,并假设中,并假设((PC))=4000H 解:由于本题未指定数据通路结构,因此解:由于本题未指定数据通路结构,因此只能大概地排一下信息流程图,并且流程图中只能大概地排一下信息流程图,并且流程图中突出突出寻址过程寻址过程的实现 ADD *-5指令信息流程图如下:指令信息流程图如下:   取指令(省)取指令(省)取指令(省)取指令(省)寻址计算:寻址计算:寻址计算:寻址计算:EA=(PC)-5EA=(PC)-5=4000H+FFFBH=4000H+FFFBH=3FFBH=3FFBHEA EA MARMAR,读,读,读,读 M(EA) M(EA) MDRMDR(ACC)+(MDR) (ACC)+(MDR) ACCACC      A A   A A         (公操作)(公操作)(公操作)(公操作) 14. 设设相对寻址相对寻址的转移指令占的转移指令占两个两个字节,第一个字节是操作码,字节,第一个字节是操作码,第二个字节是第二个字节是相对位移量相对位移量,用,用补补码码表示。

      假设当前转移指令第一表示假设当前转移指令第一字节所在的地址为字节所在的地址为2000H,且,且CPU每取出一个字节便每取出一个字节便自动完成自动完成((PC))+1PC的操作试问当执的操作试问当执行行“JMP *+8”和和“JMP *-9”指令时,指令时,转移指令第二字节的内容各为多转移指令第二字节的内容各为多少?少? 解:据题意,相对寻址的转解:据题意,相对寻址的转移指令格式如下:移指令格式如下:OPOPA A2000H2000H2001H2001H2002H2002H 当执行当执行JMP指令时,指令时,指令第指令第二字节的内容不变二字节的内容不变,,PC的内容变的内容变为为2002H此时转移指令第二字此时转移指令第二字节内容各为:节内容各为: A1= +8 = 0000 1000 = 08H A2= -9 = 1111 0111 = F7H 其有效地址各为:其有效地址各为: EA1= (PC) +8 = 2002H+0008H = 200AH EA2= (PC) –9 =2002H+FFF7H = 1FF9H 16. 某机主存容量为某机主存容量为4M 16位位,且存储字长,且存储字长等于等于指令字长,若指令字长,若该机指令系统可完成该机指令系统可完成108种种操作,操作,操作码位数操作码位数固定固定,且具有直接、间,且具有直接、间接、变址、基址、相对、立即等接、变址、基址、相对、立即等六六种寻址方式种寻址方式,试回答以下问题。

      试回答以下问题 ((1)画出)画出一地址指令格式一地址指令格式并并指出各字段的作用指出各字段的作用 ((2)该指令)该指令直接寻址直接寻址的最大的最大范围 ((3))一次一次间接寻址和间接寻址和多次多次间间接寻址的寻址范围接寻址的寻址范围 ((4))立即数立即数的范围(十进制的范围(十进制表示) ((5)相对寻址的)相对寻址的位移量位移量(十进制表示)十进制表示) ((6)上述六种寻址方式的)上述六种寻址方式的指令中哪一种执行时间指令中哪一种执行时间最短最短,哪,哪一种一种最长最长,为什么?哪一种便于,为什么?哪一种便于程序浮动程序浮动,哪一种最适合处理,哪一种最适合处理数数组组问题?问题? ((7)如何修改指令格式,)如何修改指令格式,使指令的寻址范围可扩大到使指令的寻址范围可扩大到4M?? ((8)为使一条转移指令能)为使一条转移指令能转移到主存的转移到主存的任一位置任一位置,可采取,可采取什么措施?简要说明之什么措施?简要说明之 解:解: ((1)单字长一地址指令)单字长一地址指令格格式式:: 7 3 6 OP M A OP M A 各字段的作用:各字段的作用:各字段的作用:各字段的作用: OP——OP——操作码操作码操作码操作码字段,提供至少字段,提供至少字段,提供至少字段,提供至少108108种指令操作码;种指令操作码;种指令操作码;种指令操作码; M——M——寻址方式码寻址方式码寻址方式码寻址方式码字段,指出字段,指出字段,指出字段,指出6 6种种种种寻址方式;寻址方式;寻址方式;寻址方式; A——A——形式地址形式地址形式地址形式地址字段,给出寻址所字段,给出寻址所字段,给出寻址所字段,给出寻址所需的形式地址。

      需的形式地址需的形式地址需的形式地址 ((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 OP M A OP M AA A 16 16 图中,指令的第一字图中,指令的第一字图中,指令的第一字图中,指令的第一字保持保持保持保持原来格原来格原来格原来格式不变,形式地址式不变,形式地址式不变,形式地址式不变,形式地址A A扩展扩展扩展扩展到第到第到第到第2 2个字这样,直接寻址时,这样,直接寻址时,这样,直接寻址时,这样,直接寻址时,EA=A=16+6=EA=A=16+6=2222位位位位,正好可访问,正好可访问,正好可访问,正好可访问4M4M地址空间。

      由于地址空间由于地址空间由于地址空间由于A A的扩展,变址、基址、相对、立即数的扩展,变址、基址、相对、立即数的扩展,变址、基址、相对、立即数的扩展,变址、基址、相对、立即数等寻址方式也扩展到等寻址方式也扩展到等寻址方式也扩展到等寻址方式也扩展到2222位 ((8))如使一条转移指令能如使一条转移指令能转移到主存的转移到主存的任一位置任一位置,可采用,可采用上述双字长一地址指令,通过上述双字长一地址指令,通过选选用合适的用合适的寻址方式完成寻址方式完成如选(如选用直接寻址就可转移到主存用直接寻址就可转移到主存任一任一位置位置,但选用相对寻址则只能在,但选用相对寻址则只能在±2M范围内转移范围内转移 除此之外,(除此之外,(7)、()、(8)两)两题也可通过题也可通过段寻址方式段寻址方式达到扩大达到扩大寻址空间的目的(寻址空间的目的(此时不需修改此时不需修改指令格式指令格式)总之,不论采取何)总之,不论采取何种方式,最终得到的种方式,最终得到的实际地址实际地址应应是是22位位 方案二:方案二: ((7)如果仍采用单字长指令)如果仍采用单字长指令((16位)格式,位)格式,为使指令寻址范围为使指令寻址范围扩大到扩大到4M,可通过,可通过段寻址段寻址方案实方案实现。

      安排如下:现安排如下: 硬件设硬件设段寄存器段寄存器DS((16位),位),用来存放用来存放段地址段地址在完成指令寻址在完成指令寻址方式所规定的寻址操作后,得有效方式所规定的寻址操作后,得有效地址地址EA((16位),再由硬件位),再由硬件自动自动完成段寻址,最后得完成段寻址,最后得22位物理地址位物理地址 物理地址物理地址=((DS))  26 + EA 注:注:段寻址方式由硬件隐含实段寻址方式由硬件隐含实现在编程指定的寻址过程完成、现在编程指定的寻址过程完成、EA产生之后由硬件自动完成,对产生之后由硬件自动完成,对用户是透明的用户是透明的 方案三:方案三: ((7)在采用单字长指令()在采用单字长指令(16位)位)格式时,还格式时,还可通过可通过页面寻址页面寻址方案使指方案使指令寻址范围扩大到令寻址范围扩大到4M安排如下:安排如下: 硬件设硬件设页面寄存器页面寄存器PR((16位),位),用来存放用来存放页面地址页面地址指令寻址方式中指令寻址方式中增设页面寻址当需要使指令寻址范增设页面寻址当需要使指令寻址范围扩大到围扩大到4M时,编程选择时,编程选择页面寻址页面寻址方式,则:方式,则: EA =((PR))‖A(有效地址(有效地址=页面地址页面地址“拼接拼接”6位形位形式地址)式地址) 这样得到这样得到22位有效地址。

      位有效地址 通过基址寻址与段寻址获得实通过基址寻址与段寻址获得实际地址的区别:际地址的区别: 1)基址寻址的基地址一般比)基址寻址的基地址一般比较长(较长( 存储器地址位数),位移存储器地址位数),位移量比较短(量比较短(=形式地址位数),相加形式地址位数),相加后得到的有效地址长度后得到的有效地址长度=基地址长度基地址长度此时主存不分段此时主存不分段 实际地址实际地址=有效地址有效地址=基地址基地址+位位移量移量 段寻址是基址寻址的一种变种,段寻址是基址寻址的一种变种,当基地址短于存储地址时,基址寻当基地址短于存储地址时,基址寻址就变成了段寻址,基地址就叫做址就变成了段寻址,基地址就叫做段地址,此时主存分段段地址,此时主存分段 实际地址实际地址=段地址段地址 偏移量偏移量+段内段内位移量(有效地址)位移量(有效地址) 2)基址寻址一般在)基址寻址一般在机器字长机器字长 存储地址长度存储地址长度的机器中,可直接通的机器中,可直接通过寻址计算获得实际地址过寻址计算获得实际地址 在在机器字长机器字长 存储地址长度存储地址长度的的机器中,由于机器中,由于CPU内部数据通路的内部数据通路的限制,编程指定的任何一种寻址计限制,编程指定的任何一种寻址计算得到的算得到的有效地址长度都等于机器有效地址长度都等于机器字长字长,为获得更长的地址字,硬件,为获得更长的地址字,硬件自动通过段寻址自动通过段寻址计算出存储器实际计算出存储器实际地址。

      此时除地址此时除ALU之外,硬件还要之外,硬件还要增设专用的增设专用的地址加法器地址加法器 相关问题:相关问题: * * 一般:机器字长一般:机器字长= =存储字长;存储字长; * * CPUCPU中所有寄存器(包括基址寄中所有寄存器(包括基址寄存器)的位数存器)的位数= =机器字长;机器字长; * * 通常:通常:指令字长不一定等于机指令字长不一定等于机器字长早期的小型机由于字长较早期的小型机由于字长较短,指令常以机器字长为单位变化短,指令常以机器字长为单位变化(几字长指令,如(几字长指令,如PDP-11PDP-11机),目机),目前以字节长为单位变化(几字节指前以字节长为单位变化(几字节指令)的较多令)的较多习题中指令字长习题中指令字长= =机器机器字长的假设只是为简单起见;字长的假设只是为简单起见; * * 当设当设指令字长指令字长= =存储字长(存储字长(= =机机器字长)器字长)时,如用时,如用立即寻址立即寻址,由于,由于立即数由形式地址直接给出,而形立即数由形式地址直接给出,而形式地址的位数肯定不足一个字长,式地址的位数肯定不足一个字长,因此因此立即寻址非常适用于编程给出立即寻址非常适用于编程给出短常数短常数的场合。

      的场合 提示:提示:寻址方式的正确选择与寻址方式的正确选择与编程技巧有关编程技巧有关 17. 举例举例说明哪几种寻址方说明哪几种寻址方式在指令的执行阶段式在指令的执行阶段不访问不访问存储存储器?哪几种寻址方式在指令的执器?哪几种寻址方式在指令的执行阶段只需行阶段只需访问一次访问一次存储器?完存储器?完成什么样的指令,包括取指令在成什么样的指令,包括取指令在内共内共访问访问存储器存储器4次次?? 解:举例如下:解:举例如下: 1)一地址指令在执行阶段)一地址指令在执行阶段不访存的寻址方式有:不访存的寻址方式有:寄存器寻寄存器寻址址、、立即寻址立即寻址 2)一地址指令在执行阶段)一地址指令在执行阶段只访存一次的寻址方式有:只访存一次的寻址方式有:寄存寄存器间接寻址、器间接寻址、直接寻址、基址寻直接寻址、基址寻址、变址寻址、相对寻址、址、变址寻址、相对寻址、页面页面寻址 3)包括取指在内共访存)包括取指在内共访存四次的指令有:四次的指令有:二重间址的一二重间址的一地址指令地址指令;;一重间址的二地址一重间址的二地址指令指令,当另一操作数采用直接、,当另一操作数采用直接、基址、变址、相对、页面、寄基址、变址、相对、页面、寄存器间接寻址时。

      存器间接寻址时 19. CPU内有内有32个个32位位的通的通用寄存器,设计一种能容纳用寄存器,设计一种能容纳64种种操作操作的指令系统假设指令字长的指令系统假设指令字长等于等于机器字长,试回答以下问题机器字长,试回答以下问题 ((1)如果主存可)如果主存可直接或间直接或间接接寻址,采用寻址,采用“寄存器寄存器—存储器存储器”型指令,能型指令,能直接寻址直接寻址的的最大最大存存储空间是多少?画出储空间是多少?画出指令格式指令格式并并说明各字段的含义说明各字段的含义 ((2)在满足()在满足(1)的前提下,)的前提下,如果采用如果采用通用寄存器作基址寄存通用寄存器作基址寄存器,器,则上述则上述“寄存器寄存器—存储器存储器”型指令的指令格式有何特点?画型指令的指令格式有何特点?画出指令格式并指出这类指令可访出指令格式并指出这类指令可访问多大的存储空间?问多大的存储空间? 解:解: ((1)如采用)如采用RS型型指令,则指令,则此指令一定是此指令一定是二地址二地址以上的地址以上的地址格式,指令格式如下:格式,指令格式如下: 6 5 1 20 OP R OP Ri i I A I A 操作码操作码操作码操作码 寄存器号寄存器号寄存器号寄存器号 间接间接间接间接 形式地址形式地址形式地址形式地址 标志标志标志标志 直接寻址的最大空间直接寻址的最大空间直接寻址的最大空间直接寻址的最大空间=2=22020=1M=1M字字字字 此指令格式的设计有较大的发挥此指令格式的设计有较大的发挥此指令格式的设计有较大的发挥此指令格式的设计有较大的发挥余地,为简化设计,在此采用余地,为简化设计,在此采用余地,为简化设计,在此采用余地,为简化设计,在此采用紧贴题紧贴题紧贴题紧贴题意意意意的答题方式,即只按题意要求的因的答题方式,即只按题意要求的因的答题方式,即只按题意要求的因的答题方式,即只按题意要求的因素设计,不考虑扩展因素。

      素设计,不考虑扩展因素素设计,不考虑扩展因素素设计,不考虑扩展因素 ((2)如采用基址寻址,则)如采用基址寻址,则指令格式中应给出指令格式中应给出基址寄存器号基址寄存器号,,以指定哪一个通用寄存器用作基以指定哪一个通用寄存器用作基址寄存器指令格式变为:址寄存器指令格式变为: 6 5 1 1 5 14 OP ROP Ri i I B BR I B BRi i A A 其中:其中:其中:其中:B B可省(可省(可省(可省(B B为基址寻址标志),为基址寻址标志),为基址寻址标志),为基址寻址标志),BRiBRi为基址寄存器号基址寻址时:为基址寄存器号基址寻址时:为基址寄存器号基址寻址时:为基址寄存器号基址寻址时: 寻址的最大空间寻址的最大空间寻址的最大空间寻址的最大空间=2=23232=4G=4G字字字字 其寻址范围仅与基址位数有关,与其寻址范围仅与基址位数有关,与其寻址范围仅与基址位数有关,与其寻址范围仅与基址位数有关,与形式地址位数无关。

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

      1313 4. 设设CPU内有下列部件:内有下列部件:PC、、IR、、SP、、AC、、MAR、、MDR和和CU,,要求:要求: ((1)画出完成间接寻址的)画出完成间接寻址的取数指令取数指令LDA@X(将主存某地(将主存某地址单元址单元X的内容取至的内容取至AC中)的数中)的数据流(从取指令开始)据流(从取指令开始) ((2)画出)画出中断周期中断周期的数据的数据流 解:解:CPU中的数据流向与所中的数据流向与所采用的数据通路结构直接相关,采用的数据通路结构直接相关,不同的数据通路中的数据流是不不同的数据通路中的数据流是不一样的常用的数据通路结构方常用的数据通路结构方式有直接连线、单总线、双总线、式有直接连线、单总线、双总线、三总线等形式,目前大多采用三总线等形式,目前大多采用总总线结构线结构,直接连线方式仅适用于,直接连线方式仅适用于结构特别简单的机器中结构特别简单的机器中 R/-WR/-W 为简单起见,本题采用为简单起见,本题采用单总线单总线将题意所给将题意所给部件连接起来,框图如下:部件连接起来,框图如下:中中中中断断断断系系系系统统统统P PC CMMA AR RMMD DR RS SP PA AC CZ ZCUCUI IR RMMA AL LU U单总线(单总线(单总线(单总线(BUSBUS)))) 微命令序列微命令序列微命令序列微命令序列 ((1)假设为)假设为一重间址一重间址,在上述数据通路中,完,在上述数据通路中,完成间接寻址的取数指令成间接寻址的取数指令LDA@X的数据流如下页:的数据流如下页: LDA@X指令周期流程图:指令周期流程图: 说说 明明     送指令地址送指令地址CU向存储器发读令向存储器发读令((读出指令读出指令))指向下一指令地址指向下一指令地址取出指令取出指令指令译码指令译码OP=OP=????PCBUS MAR存储器读(存储器读(CU(R)  M))PC+1 PCMDR MDR BUS BUS IRIR     LDALDA LDA  IRIR((((X X))))MARMAR存储器读(存储器读(存储器读(存储器读(CU(R) CU(R) MM))))MDR BUS BUS ACACMDR BUS BUS MARMAR存储器读(存储器读(存储器读(存储器读(CU(R) CU(R) MM))))@=1?@=1?               Y Y(间址)(间址)(间址)(间址)   N N 说说 明明形式地址形式地址形式地址形式地址X X送送送送MARMAR间接标志判断,间接标志判断,间接标志判断,间接标志判断,本题为本题为本题为本题为@=1@=1CUCU发读令发读令发读令发读令( (读读读读EAEA) )有效地址送有效地址送有效地址送有效地址送MARMAR CUCU发读令发读令发读令发读令( (读数据读数据读数据读数据) )数据放入数据放入数据放入数据放入ACAC指令末的公操作指令末的公操作指令末的公操作指令末的公操作直直直直接接接接寻寻寻寻址址址址 ((2)中断周期流程图如下:)中断周期流程图如下: 说说 明明  关中断(关中断(关中断(关中断(0 0EINTEINT))))SPSPBUSBUSMARMARSP+1SP+1SPSPPCPCBUSBUSMDRMDR存储器写(存储器写(存储器写(存储器写(CU(-W)CU(-W)MM))))     A A堆栈栈顶地址送堆栈栈顶地址送MAR修改堆栈指针修改堆栈指针断点送内存断点送内存进栈进栈 A   说说 明明SPSPBUSBUSMARMAR  SP+1SP+1SPSP向量地址向量地址向量地址向量地址BUSBUSPCPCPSWPSWMDRMDR存储器写(存储器写(存储器写(存储器写(CU(-W)CU(-W)MM))))   ENDEND栈顶地址送栈顶地址送MAR修改栈指针修改栈指针程序状态字送内存程序状态字送内存进栈进栈转中断服务程序入口转中断服务程序入口中断周期结束中断周期结束 讨论:讨论:解这道题有解这道题有两个要素两个要素,,首先要根据所给部件首先要根据所给部件设计好数据设计好数据通路通路,既确定信息流动的,既确定信息流动的载体载体。

      其次选择好其次选择好描述描述数据流的方法,数据流的方法,无论采用什么样的表达方式,其无论采用什么样的表达方式,其关键关键都要能清楚地反映数据在通都要能清楚地反映数据在通路上路上流动的顺序流动的顺序,既强调一个,既强调一个“流流”字较好的表达方式是字较好的表达方式是流程流程图图的形式 5、、中断周期前中断周期前是什么阶段?是什么阶段?中断周期后中断周期后又是什么阶段?在又是什么阶段?在中中断周期断周期CPU应完成什么操作?应完成什么操作? 答:从答:从CPU机器周期的机器周期的时序时序层次来看,层次来看,中断周期前中断周期前是指令的是指令的执行执行阶段中断周期后中断周期后是是取指令取指令阶段在中断周期中断周期CPU应完成应完成关关中断中断、、保存断点保存断点和和转中断服务程转中断服务程序入口序入口三个操作三个操作 16. 计算机为了计算机为了管理中断管理中断,在,在硬件上通常有哪些硬件上通常有哪些设置设置?各有何?各有何作作用用?对?对指令系统指令系统有何考虑?有何考虑? 解:计算机为了管理中断,在解:计算机为了管理中断,在硬件上设有专门处理中断的机构硬件上设有专门处理中断的机构——中断系统中断系统。

      它通常它通常包括包括:中断请:中断请求寄存器、中断优先级排队器、向求寄存器、中断优先级排队器、向量编码器、中断允许触发器量编码器、中断允许触发器((EINT)、中断标记触发器)、中断标记触发器((INT)、中断屏蔽触发器(寄存器))、中断屏蔽触发器(寄存器)等功能如下:等功能如下: 中断请求寄存器中断请求寄存器——对中断源对中断源发来的一过性中断请求信号进行发来的一过性中断请求信号进行登登记记;; 中断优先级排队器中断优先级排队器——对同时对同时提出的多个中断请求信号进行提出的多个中断请求信号进行裁决裁决,,选出一个最紧迫的进行响应;选出一个最紧迫的进行响应; 向量编码器向量编码器——向量中断时,向量中断时,用来产生用来产生向量地址向量地址;; 中断允许触发器中断允许触发器((EINT))——CPU中的中的中断总开关中断总开关,完成开、,完成开、关中断状态的设置;关中断状态的设置; 中断标记触发器中断标记触发器((INT))——用来建立用来建立中断周期状态中断周期状态INT=1,表示进入中断周期,即,表示进入中断周期,即开始执行中断隐指令;开始执行中断隐指令; 中断屏蔽触发器中断屏蔽触发器——对于可对于可屏蔽的中断源进行开、关中断操屏蔽的中断源进行开、关中断操作,可视为各中断源的作,可视为各中断源的中断分开中断分开关关;; 采用程序中断技术时,指令采用程序中断技术时,指令系统中往往有相关指令支持。

      常系统中往往有相关指令支持常见的指令有:见的指令有:开中断、关中断、开中断、关中断、中断返回中断返回等 17. 在中断系统中,在中断系统中,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标记在运行中断程序时已不存标记在运行中断程序时已不存在)在)   INTINT表示处于中断状态中;表示处于中断状态中;((INTINT并不是在整个中断过程中都存并不是在整个中断过程中都存在)在)   INTINT判断中断过程中是否接受其判断中断过程中是否接受其它中断请求,它中断请求,INT=0INT=0时,开中断,允时,开中断,允许中断嵌套;许中断嵌套;((INTINT标记与中断嵌套技术没有任何标记与中断嵌套技术没有任何关系。

      它不能表示出中断过程中是关系它不能表示出中断过程中是否接受其它中断请求,否接受其它中断请求,INT=0INT=0也不表也不表示开中断)示开中断)   EINTEINT判断判断CPUCPU是否响应中断请求;是否响应中断请求;((CPUCPU根据根据EINTEINT状态决定是否响应中状态决定是否响应中断请求)断请求)   当当CPUCPU响应中断时,响应中断时,EINTEINT置置1 1;;(当(当EINT=1EINT=1时,允许时,允许CPUCPU响应中断)响应中断)   EINTEINT确保确保CPUCPU响应中断后,不受响应中断后,不受新的中断干扰;新的中断干扰;((CPUCPU响应中断在先,进入中断周响应中断在先,进入中断周期后才使期后才使EINT=0EINT=0,仅在单重中断时,,仅在单重中断时,整个中断过程保持整个中断过程保持EINT=0EINT=0,不接受,不接受新的中断请求)新的中断请求)   EINTEINT表示中断隐指令,表示中断隐指令,INTINT起关起关中断作用;中断作用;(把(把EINTEINT和和INTINT的作用搞反了)的作用搞反了)   INTR=1INTR=1,判断哪个中断源有请,判断哪个中断源有请求;求;((INTRINTR对中断源的请求进行登记,对中断源的请求进行登记,当当INTR=1INTR=1时,表示有请求)时,表示有请求) 24. 现有现有A、、B、、C、、D四个中断源,其优四个中断源,其优先级由高向低按先级由高向低按A→B→C→D顺序排列。

      若中顺序排列若中断服务程序的执行时间为断服务程序的执行时间为20µs,请根据下图所,请根据下图所示时间轴给出的中断源请求中断的时刻,画出示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹执行程序的轨迹 解:解: CPU执行程序的轨迹图如下:执行程序的轨迹图如下: A A服务服务服务服务 B B服务服务服务服务 C C服务服务服务服务 D D服务服务服务服务现行程序现行程序现行程序现行程序 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150100 110 120 130 140 150 t( t(µsµs) )                 B B与与C C请请求求 D D请请求求 B B请请求求 A A请请求求 这这是一个多重中断的程序运行是一个多重中断的程序运行轨轨迹,迹,图图中忽略了中忽略了中断响中断响应时间应时间。

      25. 设某机有设某机有五个五个中断源中断源L0、、L1、、L2、、 L3、、L4,按中断响应的优先次序,按中断响应的优先次序由高向低排序由高向低排序为为L0L1 L2 L3 L4,现要求中断处理次序改,现要求中断处理次序改为为L1L4 L2 L0 L3,根据下面的格式,写,根据下面的格式,写出各中断源的出各中断源的屏蔽字屏蔽字 解:各中断源屏蔽状态见下表:解:各中断源屏蔽状态见下表: 中中中中 断断断断 源源源源 屏屏屏屏 蔽蔽蔽蔽 字字字字 0 1 2 3 40 1 2 3 4 L L0 0 L L1 1 L L2 2 L L3 3 L L4 4 1 0 0 1 0 1 0 0 1 0 1 1 1 1 11 1 1 1 1 1 0 1 1 01 0 1 1 0 0 0 0 1 00 0 0 1 0 1 0 1 1 1 1 0 1 1 1 表中:设屏蔽位表中:设屏蔽位=1表示表示屏蔽屏蔽,,屏蔽位屏蔽位=0表示中断表示中断开放开放。

      为了使所有中断都能得到及时为了使所有中断都能得到及时响应,现行程序的中断屏蔽字一般响应,现行程序的中断屏蔽字一般设为设为全开放全开放((全全0)状态 讨论:讨论:按照修改过的优先次序,按照修改过的优先次序,当当五个中断请求信号同时到来五个中断请求信号同时到来时,时,CPU中断处理过程如下图:中断处理过程如下图: 图中括号内为各程序的屏蔽码图中括号内为各程序的屏蔽码 注意:注意:中断屏蔽码的判优作用中断屏蔽码的判优作用体现在对低级中断请求的体现在对低级中断请求的屏蔽屏蔽上,上,对于多个同时到来的高级中断请求对于多个同时到来的高级中断请求信号之间则信号之间则只有开放只有开放作用,作用,没有判没有判优优作用此时还需依赖作用此时还需依赖硬件排队线硬件排队线路路完成进一步的判优完成进一步的判优 现行程序现行程序((00000))五级中断请求同时到来五级中断请求同时到来L L0 0中断服务(中断服务(中断服务(中断服务(1001010010))))保存现场保存现场保存现场保存现场 开中断开中断开中断开中断L L1 1中断服务(中断服务(中断服务(中断服务(1111111111))))执行一条指令执行一条指令执行一条指令执行一条指令中断返回中断返回中断返回中断返回L L2 2中断服务(中断服务(中断服务(中断服务(1011010110))))中断返回中断返回中断返回中断返回L L4 4中断服务中断服务中断服务中断服务 ((((1011110111))))中断返回中断返回中断返回中断返回关中断关中断关中断关中断恢复现场恢复现场恢复现场恢复现场执行一执行一执行一执行一条指令条指令条指令条指令 L L3 3中断服务中断服务中断服务中断服务((((0001000010))))中断返回中断返回中断返回中断返回中断返回中断返回中断返回中断返回 中断处理过程示意图中断处理过程示意图中断处理过程示意图中断处理过程示意图(画法二:时空图表示)(画法二:时空图表示)(画法二:时空图表示)(画法二:时空图表示) L L4 4服务服务服务服务 L L3 3服务服务服务服务 L L2 2服务服务服务服务 L L1 1服务服务服务服务 L L0 0服务服务服务服务现行程序现行程序现行程序现行程序 L L0 0 、、、、 L L1 1 、、、、 L L2 2 、、、、 L L3 3 、、、、 L L4 4 同时同时同时同时请求请求请求请求t t程序程序程序程序 26. 设某机配有设某机配有A、、B、、C三三台设备,其优先级按台设备,其优先级按A→B→C降降序排列,为改变中断处理次序,序排列,为改变中断处理次序,它们的中断屏蔽字设置如下:它们的中断屏蔽字设置如下: 设备设备 屏蔽字屏蔽字 A 1 1 1 B 0 1 0 C 0 1 1 请按下图所示请按下图所示时间轴时间轴给出的给出的设备请求中断的时刻,画出设备请求中断的时刻,画出CPU执行程序的执行程序的轨迹轨迹。

      设设A、、B、、C中中断服务程序的执行时间均为断服务程序的执行时间均为20 s 解:解: CPU执行程序的轨迹图如下:执行程序的轨迹图如下: 主要主要主要主要注意注意注意注意问题:问题:问题:问题:1 1)轨迹的)轨迹的)轨迹的)轨迹的连续性连续性连续性连续性;;;;2 2)程序的转出、)程序的转出、)程序的转出、)程序的转出、返回轨迹及时刻;返回轨迹及时刻;返回轨迹及时刻;返回轨迹及时刻; 3 3)现行程序在坐标系中的位置现行程序在坐标系中的位置现行程序在坐标系中的位置现行程序在坐标系中的位置 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90 t( t(µsµs) )             A A请请求求 B B请请求求 C C请请求求 这这是一个多重中断的程序运行是一个多重中断的程序运行轨轨迹,迹,图图中忽略了中忽略了中断响中断响应时间应时间。

      A A服务服务服务服务 B B服务服务服务服务 C C服务服务服务服务现行程序现行程序现行程序现行程序 讨论:讨论:当从当从B B中断转到中断转到C C中断时,中断时,不返回不返回现行程现行程序,下述程序运行轨迹是序,下述程序运行轨迹是错误错误的:的: A A服务服务 B B服务服务 C C服务服务现行程序现行程序 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90 t( t(µsµs) )             A A请求请求 B B请求请求 C C请求请求 注意注意现行程序的运行轨迹在现行程序的运行轨迹在横坐标横坐标上,即此程序上,即此程序运行轨迹是相对于现行程序而言的。

      运行轨迹是相对于现行程序而言的   27. 设某机有设某机有3个中断源,其个中断源,其优先级按优先级按1→2→3降序排列假降序排列假设设中断中断处处理理时间时间均均为为τ,在下图所示,在下图所示的时间内共发生的时间内共发生5次中断请求,图次中断请求,图中中①①表示表示1级中断源发出中断请求级中断源发出中断请求信号,其余类推,画出信号,其余类推,画出CPU执行程执行程序的轨迹序的轨迹 解:解: CPU执行程序的轨迹图执行程序的轨迹图见下页:见下页: CPU执行程序的轨迹图执行程序的轨迹图 1 1服务服务服务服务 2 2服务服务服务服务 3 3服务服务服务服务现行程序现行程序现行程序现行程序 0 0 τ τ 2τ τ 3τ τ 4τ τ 5τ τ 6τ τ t t                     ①① ②② ③③ ②② ①①程序程序程序程序 28. 设某机有设某机有4个中断源个中断源1、、2、、3、、4,其响应优先级按,其响应优先级按1→2→3→4降序排列,降序排列,现现要求将要求将中断中断处处理次序改理次序改为为4→1→3→2。

      根据下根据下图给图给出的出的4个中断源的个中断源的请请求求时时刻,画出刻,画出CPU执执行程序的行程序的轨轨迹设设每个中断源的中断服每个中断源的中断服务务程序程序时时间间均均为为20µs 解:解: CPU执执行程序的行程序的轨轨迹迹图图见见下下页页:: CPU执执行程序的行程序的轨轨迹迹图图:: 1 1服务服务服务服务 2 2服务服务服务服务 3 3服务服务服务服务 4 4服务服务服务服务现行程序现行程序现行程序现行程序 0 5 10 15 20 30 40 50 60 70 80 90 0 5 10 15 20 30 40 50 60 70 80 90 100 100 t( t(µsµs) )                 ②②②② ④④ ①① ③③程序程序程序程序 。

      点击阅读更多内容
      相关文档
      2025国开山东开大《土质学与土力学》形成性考核123答案+终结性考核答案.docx 中学综合素质知识点梳理【中学教师资格证】.docx 2025国开山东开大《特许经营概论》形成性考核123答案+终结性考核答案.doc 2025年高考英语全国一卷真题(含答案).docx 2025国开山东《农民专业合作社创建与管理》形成性考核123答案+终结性考核答案.docx 2025国开山东开大《自然现象探秘》形成性考核123答案+终结性考核答案.docx 2025国开山东《消费心理学》形成性考核123答案+终结性考核答案.doc 2025国开山东《小微企业管理》形成性考核123答案+终结性考核答案.doc 2025国开山东开大《资本经营》形成性考核123答案+终结性考试答案.docx 2025国开山东《小学生心理健康教育》形考123答案+终结性考试答案.docx 2025国开《视频策划与制作》形考任务1-4答案.docx 2025国开《亲子关系与亲子沟通》形考任务234答案+期末大作业答案.docx 2025国开电大《煤矿地质》形成性考核123答案.docx 2025国开电大《冶金原理》形考任务1234答案.docx 2025国开《在线学习项目运营与管理》形考任务1234答案.doc 2025国开电大《在线教育的理论与实践》阶段测验1-4答案.docx 2024 年注册环保工程师《专业基础考试》真题及答案解析【完整版】.docx 环保工程师---2023 年注册环保工程师《专业基础考试》真题及答案解析【完整版】.docx 2025国开《液压与气压传动》形考任务一参考答案.docx 2025年春江苏开放大学教育研究方法060616计分:形成性作业2、3答案.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.