版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章计算机系统概论1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3计算机系统:由计算机硬件系统和软件系统组成的综合体。计算机硬件:指计算机中的电子线路和物理装置。计算机软件:计算机运行所需的程序及相关资料。硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。.冯?诺依曼计算机的特点是什么?解:冯?诺依曼计算机的特点是:P8计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;指令和数据以同同等地位存放于存储器内,并可以按地址访问;指令和数据均用二进制表示;指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;指令在存储器中顺序存放,通常自动顺序取出执行;机器以运算器为中心(原始冯?诺依曼机)。.解释下列概念:主机、CPU主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。解:P9-10主机:是计算机硬件的主体部分,由CPU和主存储器MM^成为主机。CPU中央处理器,是计算机硬件的核心部件,由运算器和控制器组成;(早期的运算器和控制器不在同一芯片上,现在的CPU内除含有运算器和控制器外还集成了CACHE。主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。存储单元:可存放一个机器字并具有特定存储地址的存储单位。存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。存储字:一个存储单元所存二进制代码的逻辑单位。存储字长:一个存储单元所存二进制代码的位数。存储容量:存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)。机器字长:指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。指令字长:一条指令的二进制代码位数。.解释下列英文缩写的中文含义:CPUPCIR、CUALUACCMQX、MARMDRI/O、MIPSCPI、FLOPS解:全面的回答应分英文全称、中文名、功能三部分。CPUCentralProcessingUnit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。PC:ProgramCounter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。IR:InstructionRegister,指令寄存器,其功能是存放当前正在执行的指令。CUControlUnit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。ALUArithmeticLogicUnit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。ACCAccumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。MQMultiplier-QuotientRegister,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;MARMemoryAddressRegister,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。MDRMemoryDataRegister,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。I/O:Input/Outputequipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。MIPS;:MillionInstructionPerSecond,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。.画出主机框图,分别以存数指令"STAM'和加法指令“ADDM(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如-①)。假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。解:主机框图如P13图所示。STAM指令:PCfMARMAR>MMMM>MDRMDR>IR,OP(IR)-CU,Ad(IR)-MARACOMDRMAR>MMWR⑵ADDM指令:PCfMARMAR>MMMIM>MDRMDR>IR,OP(IR)-CU,Ad(IR)-MARRDMMr>MDRMDRX,ADDALU^ACCAC8MDRWR假设主存容量256M*32位,在指令字长、存储字长、机器字长相等的条件下,ACCX、IR、MDFW存器均为32位,PC和MA%存器均为28位。.指令和数据都存于存储器中,计算机如何区分它们?解:计算机区分指令和数据有以下2种方法:通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。第2章计算机的发展及应用.通常计算机的更新换代以什么为依据?答:P22主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路等。.举例说明专用计算机和通用计算机的区别。答:按照计算机的效率、速度、价格和运行的经济性和实用性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性,而专用计算机是最有效、最经济和最快的计算机,但适应性很差。例如个人电脑和计算器。第3章系统总线1.什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?答:P41.总线是多个部件共享的传输部件。总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。.为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。.解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。答:P46。总线宽度:通常指数据总线的根数;总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数;总线复用:指同一条信号线可以分时传输不同的信号。总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块)它只能被动接受主设备发来的命令;总线的传输周期:指总线完成一次完整而可靠的传输所需时间;总线的通信控制:指总线传送过程中双方的时间配合方式。.试比较同步通信和异步通信。答:同步通信:指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合。异步通信:指没有统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。8.为什么说半同步通信同时保留了同步通信和异步通信的特点?答:半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。.为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plugandplay?哪些总线有这一特点?答:总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;目前流行的总线标准有:ISA、EISA、PCI等;plugandplay:即插即用,EISA、PCI等具有此功能。.画一个具有双向传输功能的总线逻辑图。答:在总线的两端分别配置三态门,就可以使总线具有双向传输功能。op—1――厂b04=ai—f—~2「由a至bb至a.设数据总线上接有A、B、CD四个寄存器,要求选用合适的74系列芯片,完成下列逻辑设计:(1)设计一个电路,在同一时间实现D-A、D-B和D-C寄存器间的传送;(2)设计一个电路,实现下列操作:T0时刻完成D-总线;T1时刻完成总线-A;T2时刻完成A-总线;T3时刻完成总线fBo解:(1)由T打开三态门将D寄存器中的内容送至总线bus,由cp脉冲同时将总线上的数据打入到A、BC寄存器中。T和cp的时间关系如图(1)所示。BUSirIIIIIIIBUSirIIIIIII图(1)(2)三态门1受T0+T1控制,以确保T0时刻A总线,以及T1时刻总线-接收门1-A。三态门2受T2+T3控制,以确保T2时刻Af总线,以及T3时刻总线—接收门2-B。T0、T1、T2、T3波形图如图(2)所示。卬rLTLTLTLrLJIHIIII设总线的时钟频率为8MHz一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?解;总线宽度=16解;总线宽度=16位/8=2B总线带宽=8MHzX2B=16MB/s在一个32位的总线系统中,总线的时钟频率为66MHz假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?解法1:解法1:总线宽度=32位/8=4B时钟周期=1/66MHz=ss总线最短传输周期=asX4=ss总线最大数据传输率=4B/心s=s解法2:总线工作频率=66MHZ/4=总线最大数据传输率=X4B=66MB/s若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度。在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。解:一帧=1+8+1+2=12位波特率=120帧/秒X12位=1440波特比特率=1440波特X(8/12)=960bps或:比特率=120帧/秒X8=960bps第四章0,静态RAM与动态RAM的区别静态RAM(SRAM®度非常快,只要电源存在内容就不会自动消失。其基本存储电路为6个MOSf组成1位,因此集成度相对较低,功耗也较大。一般高速缓冲存储器用它组成。动态RAM(DRAM)内容在10-3或10-6秒之后自动消失,因此必须周期性的在内容消失之前进行刷新。由于它的基本存储电路由一个晶体管及一个电容组成,因此它的集成度高,成本较低,另外耗电也少,但它需要一个额外的刷新电路。DRAM!行速度较慢,SRAM:匕DRAM^快2〜5倍,一般,PC机的标准存储器都采用DRA血成。1.辅助储存的技术的指标(1)记录密度Dt=1/pDb=f1/Ttd(min)⑵储存容量C=NKS(3)平均寻址时间Ta=Tsa+Twd⑷数据传输率Dv=Db*V(5)误码率的三种映射方式:(1)直接映射实现简单,不够灵活。(2)全相联映射(3)组相联映射3,存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。主存与CACH巨间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。4.说明存取周期和存取时间的区别。解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即:存取周期=存取时间+恢复时间.什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?解:存储器的带宽指单位时间内从存储器进出信息的最大数量。存储器带宽=1/200nsX32位=160M位/秒=20MB/秒=5M字/秒注意:字长32位,不是16位。(注:1ns=10-9s).某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。解:存储容量是64KB时,按字节编址的寻址范围就是64K,如按字编址,其寻址范围为:64K/(32/8)=16K主存字地址和字节地址的分配情况:(略)。.一个容量为16Kx32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1KX4位,2KX8位,4KX4位,16Kxi位,4KX8位,8KX8位解:地址线和数据线的总和=14+32=46根;选择不同的芯片时,各需要的片数为:1KX4:(16KX32)/(1KX4)2KX8:(16KX32)/(2KX8)4KX4:(16KX32)/(4KX4)16KX1:(16KX32)/(16KX1)4KX8:(16KX32)/(4KX8)8KX8:(16KX32)/(8KX8)=16X8=128片=8X4=32片=4X8=32片=1X32=32片=4X4=16片=2X4=8片.什么叫刷新?为什么要刷新?说明刷新有几种方法。解:刷新:对DRAMt期进行的全部重写过程;刷新原因:因电容泄漏而引起的DRA所存信息的衰减需要及时补充,因此安排了定期刷新操作;常用的刷新方法有三种:集中式、分散式、异步式。集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间,分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。异步式:是集中式和分散式的折衷。讨论:1、刷新与再生的比较:共同点:?动作机制一样。都是利用DRA幅储元破坏性读操作时的重写过程实现;?操作性质一样。都是属于重写操作。区别:?解决的问题不一样。再生主要解决DRA的储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。?操作的时间不一样。再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。?动作单位不一样。再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。?芯片内部I/O操作不一样。读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出(唯RAS有效刷新,内部读)o鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。2、CPU访存周期与存取周期的区别:CPU访存周期是从CPU-边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。3、分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期。4、刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。.半导体存储器芯片的译码驱动方式有几种?解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。.一个8Kx8位的动态RAM芯片,其内部结构排列成256X256形式,存取周期为心s。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?解:采用集中刷新方式刷新间隔为:2ms,其中刷新死时间为:256X心s=心s采用分散刷新方式刷新间隔为:256x心=心s采用异步刷新方式刷新间隔为:2ms.画出用1024X4位的存储芯片组成一个容量为64Kx8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。解:设采用SRA惦片,则:总片数=(64KX8位)/(1024X4位)=64X2=128片题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:页面容量=总容量/页面数=64KX8/4=16KX8位,4片16Kx8字串联成64Kx8位组容量二页面容量/组数=16KX8位/16=1KX8位,16片1KX8位字串联成16Kx8位组内片数=组容量/片容量=1KX8位/1KX4位=2片,两片1KX4位芯片位并联成1KX8位存储器逻辑框图:(略)。.设有一个64Kx8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。解:存储基元总数=64Kx8位=512K位=219位;思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的号的关系,可较好地压缩线数。解:设地址线根数为a,数据线根数为b,则片容量为:2axb=219;b=2若a=19,b=1,总和=19+1=20;a=18,b=2,总和=18+2=20;a=17,b=4,总和=17+4=21;a=16,b=8,总和=16+8=24;由上可看出:片字数越少,片字长越长,引脚数越多。片字数减1、片位数均按2的募变化。结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线=19根,数据线=1根;或地址线=18根,数据线=2根。.某8位微型机地址码为18位,若使用4KX4位的RAM芯片组成模块板结构的存储器,试问:(1)该机所允许的最大主存空间是多少?(2)若每个模块板为32Kx8位,共需几个模块板?(3)每个模块板内共有几片RAM芯片?(4)共有多少片RAMCPU如何选择各模块板?解:(1)该机所允许的最大主存空间是:218X8位=256KX8位=256KB(2)模块板总数=256KX8/32KX8=8块(3)板内片数=32Kx8位/4KX4位=8X2=16片(4)总片数=16片X8=128片(5)CPU!过最高3位地址译码输出选择模板,次高3位地址译码输出选择芯片。地址格式分配如下:模板号(3位)芯片号(3位)片内地址(12位)设CPU共有16根地址线,8根数据线,并用MREQ(低电平有效)作访存控制信号,R/W作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2KX8位,4KX4位,8KX8位),RAM(1KX4位,2KX8位,4KX8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;2)指出选用的存储芯片类型及数量;3)详细画出片选逻辑。解:(1)地址空间分配图:系统程序区(ROM^4KB):0000H-0FFFH用户程序区(RAM共12KB):1000H-FFFFH(2)选片:ROM选择4KX4位芯片2片,位并联RAM:选择4KX8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH,RAM削址范围为:3000H-3FFFH)(3)各芯片二进制地址分配如下:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0ROM1,20000000000000000
0000011111111111RAM100010000000000000001111111111111RAM200100000000000000010111111111111RAM300110000000000000011111111111111CPU和存储器连接逻辑图及片选逻辑如下图⑶所示.CPU假设同上题,现有8片8KX8位的RAMS片与CPU目连,试回答:(1)用74138译码器画出CPU与存储芯片的连接图;(2)写出每片RAM的地址范围;(3)如果运行时发现不论往哪片RAMf入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?解:(1)CPUW存储器芯片连接逻辑图:+5V(2)地址空间分配图:RAM0:0000H-1FFFHRAM1:2000H-3FFFHRAM2:4000H-5FFFHRAM3:6000H-7FFFHRAM4:8000H-9FFFHRAM5:A000H-BFFFHRAM6:C000H-DFFFHRAM7:E000H-FFFFH(3)如果运行时发现不论往哪片RAM1入数据后,以A000H为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。假设芯片与译码器本身都是好的,可能的情况有:1)该片的-CS端与-WE端错连或短路;2)该片的-CS端与CPU的-MREQ端错连或短路;3)该片的-CS端与地线错连或短路。(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。.写出1100、1101、1110、1111对应的汉明码。解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示校验位位数k=3位,(2k>=n+k+1)设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1校验位在汉明码中分别处于第1、2、4位c1=b4®b3®b1c2=b4®b2®b1c3=b3®b2®bl当有效信息为1100时,当有效信息为当有效信息为1100时,当有效信息为当有效信息为1110时,当有效信息为1111时,c3c2c1=011,汉明码为1101时,c3c2c1=100,汉明码为c3c2c1=101,汉明码为c3c2c1=010,汉明码为111010000111011011110011011118.已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?第几位出18.已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?第几位出错?解:假设接收到的汉明码为:纠错过程如下:P1=c1'®b4'®b3P2=c2'®b4'®b2P3=c3'®b3'®b2如果收到的汉明码为效信息为:1100如果收到的汉明码为效信息为:0110如果收到的汉明码为效信息为:0010如果收到的汉明码为效信息为:0001c1'c2'b4'c3'b3'b2'b1'®b1'®b1'®b1'1100100,则p3p2p1=011,说明代码有错,第1100111,则p3p2p1=111,说明代码有错,第1100000,则p3P2P1=110,说明代码有错,第1100001,则p3P2P1=001,说明代码有错,第3位(b4')出错,有7位(b1')出错,有6位(b2')出错,有1位(c1’)出错,有22.某机字长16位,常规的存储空间为度提高到8倍,可采取什么措施?画图说明。64K字,若想不改用其他高速的存储芯片,而使访存速8倍,可采取八体交叉存取技术,8体交叉启动存储体0—巨大力左模侏d—|11111111111111111_r11—II1111II1■nil111171-11J出口|,十、J111111日不右后玄徐Q11111111111111占f人/出江,111111111i।।1口例廿1田1半4।।||…七"3,1111111।111口"1于1甘心5111111111口rU-t右后玄旅oILL1111旧幼仔健体6111111小一L一「11111II11口111J1口例什啪任7\\\\11解:若想不改用高速存储芯片,而使访存速度提高到访问时序如下图:单体访存周期.什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:1)。存储系统中Cache一主存层次采用了程序访问的局部性原理。25.Cache做在CPUS片内有什么好处?将指令Cache和数据Cache分开又有什么好处?答:Cache做在CPUS片内主要有下面几个好处:1)可提高外部总线的利用率。因为Cache在CPU芯片内,CP师问Cache时不必占用外部总线。2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率。3)可提高存取速度。因为Cache与CPU之间的数据通总^大大缩短,故存取速度得以提高。将指令Cache和数据Cache分开有如下好处:1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。2)指令Cache可用ROK现,以提高指令存取的可靠性。3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。补充:Cache结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。30.一个组相连映射的CACHED64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。解:cache组数:64/4=16,Cache容量为:64*128=213字,cache地址13位主存共分4096/16=256区,每区16块主存容量为:4096*128=219字,主存地址19位,地址格式如下:主存字块标记(8位)组地址(4位)字块内地址(7位)32.设某机主存容量为4MBCache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求:(1)画出主存地址字段中各段的位数;(2)设Cache的初态为空,CPU依次从主存第0、1、2……99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?答:(1)由于容量是按字节表示的,则主存地址字段格式划分如下:87232(2)由于题意中给出的字地址是连续的,故(1)中地址格式的最低2位不参加字的读出操作。当主存读0号字单元时,将主存0号字块(0〜7)调入Cache(0组x号块),主存读8号字单元时,将1号块(8〜15)调入Cache(1组x号块)……主存读96号单元时,将12号块(96〜103)调入Cache112组x号块)。共需调100/813次,就把主存中的100个数调入Cache。除读第1遍时CPU需访问主存13次外,以后重复读时不需再访问主存。则在800个读操作中:访Cache次数=(100-13)+700=787次Cache命中率=787/80098%(3)设无Cache时访主存需时800T(T为主存周期),加入Cache后需时:(+13)TT/6+13T787倍则:800T/有Cache和无Cache相比,速度提高倍左右。38.磁盘组有六片磁盘,每片有两个记录面,存储区域内径22厘米,外径33厘米,道密度为40道/厘米,内层密度为400位/厘米,转速2400转/分,问:(1)共有多少存储面可用?(2)共有多少柱面?(3)盘组总存储容量是多少?(4)数据传输率是多少?解:(1)若去掉两个保护面,则共有:6X2-2=10个存储面可用;(2)有效存储区域=(33-22)/2=5.5cm柱面数=40道/cmX=220道=(3)内层道周长=2269.08cm道容量=400位/cmx69.08cm=3454B面容量=3454BX220道=759,880B盘组总容量=759,880BX10面=7,598,800B(4)转速=2400转/60秒=40转/秒数据传输率=3454BX40转/秒=138,160B/S注意:1)计算盘组容量时一般应去掉上、下保护面;的精度选取不同将引起答案不同,一般取两位小数;2)盘组总磁道数(=一个盘面上的磁道数)3)柱面数4)数据传输率与盘面数无关;5)数据传输率的单位时间是秒,不是分。某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12288字节,最小磁道直径为230mm共有275道,求:(1)磁盘存储器的存储容量;(2)最高位密度(最小磁道的位密度)和最低位密度;(3)磁盘数据传输率;(4)平均等待时间。解:(1)存储容量=275道X12288B/道X4面=13516800B(2)最高位密度=12288B/230弋17B/mK136位/mm(向下取整)最大磁道直径=230mm+2751/5道x2=230mm+110mm=340mm最低位密度=12288B/340^11B/mm^92位/mm(向下取整)(3)磁盘数据传输率=12288BX3000转/分=12288BX50转/秒=614400B/S(4)平均等待时间=1/50/2=10ms讨论:1、本题给出的道容量单位为字节,因此算出的存储容量单位也是字节,而不是位;、由此算出的位密度单位最终应转换成bpm(位/毫米);、平均等待时间是磁盘转半圈的时间,与容量无关。设有效信息为110,试用生成多项式G(x)=11011将其编成循环冗余校验码。解:编码过程如下:M(x)=110n=3G(x)=11011k+1=5k=4M(x)-x4=1100000M(x)-x4/G(x)=1100000/11011=100+1100/11011R(x)=1100M(x)-x4+R(x)=1100000+1100=1101100=CRC码(7,3)码注:此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。此时只能检错,无法纠错弟五早.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地址与主存地址是两个独立的空间,CPUII要通过专门的I/O指令来访问I/O地址空间。讨论:I/O编址方式的意义:I/O编址方式的选择主要影响到指令系统设计时I/O指令的安排,因此描述其特点时一定要说明此种I/O编址方式对应的I/O指令设置情况。I/O与内存统一编址方式将I/O地址看成是存储地址的一部分,占用主存空间;问题:确切地讲,I/O与内存统一编址的空间为总线空间,I/O所占用的是内存的扩展空间。I/O独立编址方式有明显的I/O地址标识,而I/O与内存统一的编址方式没有;问题:无论哪种编址方式,I/O地址都是由相应的指令提供的,而地址本身并没有特殊的标识。.简要说明CPU<I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?答:CPU与I/O之间传递信息常采用三种联络方式:直接控制(立即响应)、同步、异步。适用场合分别为:直接控制适用于结构极简单、速度极慢的I/O设备,CPU直接控制外设处于某种状态而无须联络信号。同步方式采用统一的时标进行联络,适用于CPU与I/O速度差不大,近距离传送的场合。异步方式采用应答机制进行联络,适用于CPU<I/O速度差较大、远距离传送的场合。讨论:注意I/O交换方式、I/O传送分类方式与I/O联络方式的区别:串行、并行I/O传送方式常用于描述I/O传送宽度的类型;I/O交换方式主要讨论传送过程的控制方法;I/O联络方式主要解决传送时CPU与I/O之间如何取得通信联系以建立起操作上的同步配合关系。同步方式适用于CPU与I/O工作速度完全同步的场合。问题:I/O要达到与CPU工作速度完全同步一般是不可能的。同步方式的实质是“就慢不就快”,如采用同步方式一般CPU达不到满负荷工作。.I/O设备与主机交换信息时,共有哪鸡根控制方式?简述它们的特点。(1)程序直接控制方式:也称查询方式,采用该方式,数据在CPUW外设间的传送完全靠计算机程序控制,CPU的操作和外围设备操作同步,硬件结构简单,但由于外部设备动作慢,浪费CPU时间多,系统效率低。(2)程序中断方式:外设备准备就绪后中断方式猪肚通知CPU在CPU相应I/O设备的中断请求后,在暂停现行程序的执行,转为I/O设备服务科明显提高CPU的利用率,在一定程度上实现了主机和I/O设备的并行工作,但硬件结构负载,服务开销时间大、(3)DMM式与中断方式一样,实现了主机和I/O设备的并行工作,由于DMM式直接依靠硬件实现贮存与I/O设备之间的数据传送,传送期间不需要CPU©序干预,CPU可继续执行原来的程序,因此CPU利用率和系统效率比中断方式更高,但DMM式的硬件结构更为复杂。I/O通道方式、I/O处理机方式。6.字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?解:显示缓冲存储器的作用是支持屏幕扫描时的反复刷新;只读存储器作为字符发生器使用,他起着将字符的ASCII码转换为字形点阵信息的作用。8.某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?解:480X10=4800位/秒=4800波特;波特一一是数据传送速率波特率的单位。注:题意中给出的是字符传送速率,即:字符/秒。要求的是数据传送速率,串行传送时一般用波特率表示。两者的区别:字符传送率是数据的“纯”有效传送率,不含数据格式信息;波特率是“毛”传送率,含数据格式信息。10.什么是I/O接口?为什么要设置I/O接口?I/O接口如何分类?解:I/O接口一般指CPU^I/O设备间的连接部件;I/O接口分类方法很多,主要有:按数据传送方式分有并行接口和串行接口两种;按数据传送的控制方式分有程序控制接口、程序中断接口、DM限口三种。结合程序查询方式的接口电路,说明其工作过程。解:程序查询接口工作过程如下(以输入为例):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输出数据,进行第二次传送。.说明中断向量地址和入口地址的区别和联系。解:中断向量地址和入口地址的区别:中断入口地址是中断,通过它访存可川M指令;主存中设向向量地址是硬件电路(向量编码器)产生的中断源的内存地址编中断入口地址是中断,通过它访存可川M指令;主存中设向中断向量地址和入口地址的联系:中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址)获得中断服务程序入口地址。(两种方法:在向量地址所指单元内放一条量地址表。参考8.4.3)讨论:硬件向量法的实质:当响应中断时,为了更快、更可靠的进入对应的中断服务程序执行,希望由硬件直接提供中断服务程序入口地址。但在内存地址字较长时这是不可能的。因此由硬件先提供中断源编号、再由编号间接地获得中断服务程序入口地址。这种中断源的编号即向量地址。由于一台计算机系统可带的中断源数量很有限,因此向量地址比内存地址短得多,用编码器类逻辑部件实现很方便。.在什么条件下,I/O设备可以向CPU提出中断请求?解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0(MASK=0,且CP好询中断时,中断请求触发器状态为1(INTR=1)。.什么是中断允许触发器?它有何作用?解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。.在什么条件和彳f么时间,CPUT以响应I/O的中断请求?解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。.某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。N个数据所需的处理时间=PXN+Q秒平均每个数据所需处理时间=(PXN+Q/N秒;求倒数得:该系统跟踪到的每秒中断请求数=N/(PXN+Q次。19.在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?解:这是一道多重中断的题,由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印不会造成数据丢失。讨论:打印机不停,理由有如下几种:打印内容已存入打印机缓存;问题:1)如果打印机无缓存呢?2)如果打印机有缓存,还需要用程序中断方式交换吗?(应用DMA)由于在指令执行末查中断,因此执行打印指令时不会响应磁盘中断。问题:打印中断处理程序才TE闿旨令?采用字节交叉传送方式,当两者同时请求中断时,先响应盘,再响应打印机,交叉服务。问题:这是程序中断方式吗?由于打印机速度比CPU慢得多,CPU将数据发送给打印机后,就去为磁盘服务,而这时打印机可自己慢慢打印。问题:停止打印机传送=停止打印机动作?我有打印机,感觉上打印机工作是连贯的;问题:人的感觉速度=计算机工作速度?28.CPU对DMA青求和中断请求的响应时间是否一样?为什么?解:CPU对DMA青求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA青求(一个存取周期末)。讨论:CPU对DMA勺响应是即时的;随时都能响应?CPU响应DMA勺时间更短;DMA比中断速度高;短、高或不一样的具体程度?不一样。因为DMA与CPU共享主存,会出现两者争用主存的冲突,CPU必须将总线让给DMA接口使用,常用停止CPU访存、周期窃取及DMAWCPU交替访存三种方式有效的分时使用主存;这种情况仅仅存在于DMAW中断程序之间吗?答非所问。DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同?画图说明。解:两种DMAT式的工作流程见下页,其主要区别在于传送阶段,现行程序是否完全停止
访存。停止CPU访存方式的DMAC作流程如下:DMACI/ODMACI/OCDMACI/ODMACI/ODMACI/OCDMACI/ODMACI/OCCPUBD周期窃取方式的DMAC作流程如下:现行程序CPUCPUBDs,试问该外设是否可用程序中断方式与主机交换信息,为什么?假设某设备向CPU专送信息的最高频率是40K次/秒,而相应的中断处理程序其执行时间为40s解:该设备向CPU专送信息的时间间隔=1/40K=X103=25<s40则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。讨论:s)比较接近,传送过程会频繁的打断CPU执行主程序,而执行中断服务程序,因此不能用程序中断方式……。s)与中断处理时间(40XI/O传送(25错:此时CPU®有可能执行主程序吗?举例说明:(输入)假设初始CPU空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU发第一个中断请求,CPU立即响应;I/O设备匀速运行,s时响应;s后,第二个中断请求到来,CPU正在执行中断程序接收第一个数据,4025s时响应;s后,第三个中断请求到来,CPU正在执行中断程序接收第二个数据,要到8050s后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;75讨论:s,CPUtt部分时间处于“踏步等待”状态;交换一次用时25+40=65s错1:25I/O传送间隔主要指设备准备数据的时间(输入),这段时间设备与CPU并行工作。错2:程序中断不存在踏步等待。10-6=140秒,时间过长,用程序中断不划算;中断处理程序执行时间=?错1:设备传送频率错2:越慢速的设备越适合用中断。若外设与CPU之间有足够大的缓冲区,则可以用程序中断方式;如果安排足够大的缓冲区,为何不用DMA^式?讨论(续):两者速度相差较小没有必要用中断。是否可采用一条指令执行结束时响应DMA青求的方案,为什么?若不行,应采取什么方案?设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。1616=1KX8X8道容量=1KBX8=1KX4=4K字数传率=4K字X3000转/分=4K字X50车^/秒=200K字/秒s5一个字的传送时间=1/200K字/秒注:在此1K=1024,来自数据块单位缩写。5s<<25s,所以不能采用一条指令执行结束响应DMA青求的方案,应采取每个CPU机器周期末查询及响应DMA青求的方案(通常安排CPU机器周期二M好取周期)。讨论:扇面、扇段和扇区:扇面指磁盘分区后形成的扇形区域;扇段指扇面上一个磁道所对应的弧形区域;扇区通常用来泛指扇面或扇段。由于磁盘是沿柱面存取而不是沿扇面存取,因此习惯上扇区即指扇段,不用特别说明也不会引起误会。问题:是否磁盘转一圈读完所有扇区上的磁道?答:应为:磁盘转一圈读完一个磁道上的所有扇区,然后转到下一盘面的同一位置磁道接着ti^(如果文件未读完的话)。s,CPU工作周期大于主存周期,应采用DMA<CPU^替访存;s,CPU^行指令20s内主存占用5不行,在25s;错1:题意为CPUa行指令25指令周期;错2:CPU工作周期=内存周期(同步控制)而不行,传送间隔=20ms,远大于指令执行周期,应在DMAH口设一小容量存储器,可减少DMA专送占用总线时间;对于想采用DMA勺慢速设备(像打印机等),可采用此法,对于磁盘不需要。另外,占用总线时间较长的DMA专送为停止CPU访存DMA如采用周期窃取方式的DMA每次传送只占一个主存周期时间。33.试从下面七个方面比较程序查询、程序中断和DMAE种方式的综合性能。(1)数据传送依赖软件还是硬件;(2)传送数据的基本单位;(3)并行性;(4)主动性;(5)传输速度;(6)经济性;(7)应用对象。解:比较如下:(1)程序查询、程序中断方式的数据传送主要依赖软件,DMAfc要依赖硬件。(注意:这里指主要的趋势)(2)程序查询、程序中断传送数据的基本单位为字或字节,DMM数据块。(3)程序查询方式传送时,CPUWI/O设备串行工作;I/O传送串行进行;I/O传送串行进行;DMA方式时,CPUWI/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之间交换,DMWI/O与主存间交换。问题2:主动性应以CPU的操作方式看,而不是以I/O的操作方式看。程序查询方式:以缓冲器容量(块、二进制数字)为单位传送;程序中断方式:以向量地址中的数据(二进制编码)为单位传送;DMA:传送单位根据数据线的根数而定;30.什么是多重中断?实现多重中断的必要条件是什么?解:多重中断是指:当CPUa行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。弟八早2.已知X=1a2a3a4a5a(ai为0或1),讨论下列几种情况时ai各取何值。X>1/8;1/2;XX1/4>1/16解:(1)若要X>1/2,只要a1=1,a2~a6不全为0即可(a2ora3ora41/8,只要a1~a3不全为0即可(a1ora2ora3=1),ora5ora6=1);(2)若要Xa4~a6可任取0或1;X(3)若要1/4>1/16,只要a1=0,a2可任取0或1;当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0(a5ora6=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任意。(注:负数绝对值大的补码码值反而小。)设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。-13/64,29/128,100,-87解:真值与不同机器码对应关系如下:真值十进制二进制原码反码-13/64110110100101011029/128110111011101110110011001000,11001000,11001000,1100100-87-10101111,10101111,01010001,01010015,已知[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的对应关系如下:设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,[x]补=冈原成立。解:当x为小数时,若x[x]补=冈原成立;若x<0,则当x=-1/2时,[x]补=冈原成立。0,则[x]补=冈原成立;若x当x为整数时,若x<0,则当x=-64时,[x]补=冈原成立。设x为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。解:当x为真值,x*为绝对值时,[-x*]补式-x]补不能成立。[-x*]补=口]补的结论只在x>0时成立。当x<0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补不等于[-x]补。讨论若[x]补>[丫]补,是否有x>y?解:若[x]补>[丫]补,不一定有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]补>[丫]补。注意:1)绝对值小的负数其值反而大,且负数的绝对值越小,其补码值越大。因此,当x<0、y<0时,若[x]补>廿]补,必有x>yo2)补码的符号位和数值位为一体,不可分开分析。3)完整的答案应分四种情况分析,但也可通过充分分析一种不成立的情况获得正确答案。4)由于补码0的符号位为0,因此x、y=0可归纳到>0的一类情况讨论。5)不考虑不同数字系统间的比较。(如有人分析x、y字长不等时的情况,无意义。)12.设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:(1)阶码和尾数均为原码。(2)阶码和尾数均为补码。(3)阶码为移码,尾数为补码。解:据题意画出该浮点数的格式:阶符1位阶码4位数符1位尾数10位将十进制数转换为二进制:x1=51/128==2-1*011Bx2=-27/1024==2-5*)则以上各数的浮点规格化数为:
[x1]浮[x1]浮=1,[x2]浮=1,[x1]浮=1,[x2]浮=1,[x1]浮=0,[x2]浮=0,0001;01100000101;11000001111;01100001011;01000001111;01100001011;0100000.浮点数格式同上题,当阶码基值分别取2和16时,(1)说明2和16在浮点数中如何表示。(2)基值不同对浮点数什么有影响?(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。解:(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2和16不出现在浮点格式中,仅为人为的约定。(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式不变的情况下,(3)(3)r=2时,最大正数的浮点格式其真值为:N+max=2151,0000;000r=16时,最大正数其真值为:N+max=16151,0000;0000为:0,1111;1111111(1-2-10)非零最小规格化正数浮点格式为:0000其真值为:N+min=2-16X2-1=2-17的浮点格式为:0,1111;111111(1-2-10)非零最小规格化正数浮点格式为:00其真值为:N+min=16-16X16-1=16-17.设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?解:若要保证数的最大精度,应取阶的基=2。若要表示±6万间的十进制数,由于32768(215)<6万<65536(216),则:阶码除阶符外还应取5位(向上取2的募)。故:尾数位数=32-1-1-5=25位25(32)该浮点数格式如下:151按此格式,该浮点数上溢的条件为:阶码2515.什么是机器零?若要求全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——解:无符号小数:0——1-2-16,即:0——;(2)原码定点小数(3)(2)原码定点小数(3)补码定点小数(4)补码定点整数(5)原码定点整数-11-215,即:-1-215——215-1,即:-32768——32767-215+1——215-1,即:-32767——32767(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:最大负数=1,11111;000001,即-2-92-312?12-92-31,即(1-2-9)2?12-92-31,即(1-2-9)231,即2-92-31-9则负数表示范围为:-(1-2)最大正数=0,11111;111111最小正数=1,11111;000001TOC\o"1-5"\h\z则正数表示范围为:2-92-31——(1-2-9)231(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大负数=1,00000;111111,即-2"2-32最小负数=0,11111;000000,即-1231则负数表示范围为:-1231-21232最大正数=0,11111;111111,即(1-2-9)231最小正数=1,00000;000000,即2-12-32则正数表示范围为:2-12-32——(1-2-9)231.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。[x1]原=1010;[y1]补=0100;[z1]反=1111;[x2]原=1000;[y2]补=1000;[z2]反=1000;[x3]原=1001;[y3]补=1001;[z3]反=1001。解:算术左移一■位:[x1]原=0100;正确[x2]原=0000;溢出(丢1)出错[x3]原=0010;正确[y1]补=1000;溢出(丢1)出错[y2]补=0000;正确[y3]补=0010;溢出(丢0)出错[z1]反=1111;溢出(丢0)出错[z2]反=0001;正确[z3]反=0011;溢出(丢0)出错算术左移两位:[x1]原=1000;正确[x2]原=0000;溢出(丢11)出错[x3]原=0100;正确[y1]补=0000;溢出(丢10)出错[y2]补=0000;正确[y3]补=0100;溢出(丢00)出错[z1]反=1111;溢出(丢01)出错[z2]反=0011;正确[z3]反=0111;溢出(丢00)出错算术右移一位:[x1]原=1101;正确[x2]原=0100;正确[x3]原=1100⑴;丢1,产生误差[y1]补=1010;正确[y2]补=0100;正确[y3]补=1100⑴;丢1,产生误差[z1]反=0111;正确[z2]反=0100(0);丢0,产生误差[z3]反=1100;正确算术右移两位:[x1]原=0110(10);产生误差[x2]原=1010;正确[x3]原=0110(01);产生误差[y1]补=0101;正确[y2]补=1010;正确[y3]补=0110(01);产生误差[z1]反=1011;正确[z2]反=1010(00);产生误差[z3]反=0110(01);产生误差.试比较逻辑移位和算术移位。解:逻辑移位和算术移位的区别:逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。.设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。A=9/64,B=-13/32,求A+区A=19/32,B=-17/128,求A-B。A=-3/16,B=9/32,求A+B。A=-87,B=53,求A-B。A=115,B=-24,求A+Bo解:(1)A=9/64=0010B,B=-13/32=0100B[A]补=0010,[B]补=1100[A+B]补=+=无溢出A+B=0010B=-17/64⑵A=19/32=1100B,B=-17/128=0001B[A]补=1100,[B]补=1111,[-B]补=0001
[A-B]补=+=无溢出A-B=1101B=93/128BA=-3/16=1000B,B=9/32=0100B[A]补=1000,[B]补=0100[A+B]补=+=无溢出A+B=1100B=3/32A=-87=-1010111B,B=53=110101B[A]补=10101001,[B]补=00110101,[-B]补=11001011[A-B]补=10101001+11001011=01110100——溢出A=115=1110011B,B=-24=-11000B[A]补=01110011,[B]补=1,1101000[A+B]补=01110011+11101000=01011011——无溢出A+B=1011011B=91用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x-y(1)x=111,y=110;x=111,y=101;x=19,y=35;x=11,y=01。解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。(1)[x]原=x=,[y]原=x*=,y*=x0=0,y0=1,z0=x0y0=01=1x*Xy*=111100010[xXy]原=111100010x-y=-0.100111100010原码一位乘:部分积0.00000010.000000+0.1101110.11011110.011011+0.1101111.01001010.101001+0.1101111.10000010.11000010.011000+0.1101111.00111110.1001112x*=,[-x*]补式-x]原码两位乘:100010补=乘数y*_+0+x*+x*+x*+0x*乘数Cj[-x]补=[2x]补=[-2x]补乘数Cj[-x]补=[2x]补=[-2x]补=[xxy]补=0000111100部分积000.,00000000.1011100+001,101110+2x*001.,10111002000.0110111000.1011+111.001001+[-x*]111.,10010012111.111001001000.10+111.001001+[-x*]111.,00001012111.11000010001000.+000.110111+x*000.,1001111000100结果向一位乘,x■y=-0.100111100010[x]补=x=[y]补=y=1111000100补码一位乘、两位乘运算过程如下:补码一位乘:部分积乘数[y]yn+1(2)x=,[x]y=原=,[y]x*=0.010111[-x*]补=,+02x*=原=+[-x]+[x]补+0+[-x]+[x]+[-x],y*=0.010101[-2x*]补=x0=1,y0=1,z0=x0y0=11=0[x]补=,[y]补=[-x][-2x]补=,
补=[2x]补=x*Xy*=111100011[xxy]原=111100011[xxy]补=111100011运算过程如下:原码一位乘:原码两位乘:x•y=0.000部分积111100011乘数y*部分积结果同一位乘,补码一位乘:部分积+x*+0+x*+00.0+x*+0+x*+x*0.01+x*+0乘数y*Cjx-y=0.000111100011乘数[y]补yn+1+[-x]补——+0+[x](3)+[-x]x=19x=(10011+[x]+[-x]补——+0y=35)2,y=(100011)x*=[x]y*=[y]x*=[x]y*=[y][-x*]2x*=[2x][-2x*]原=冈补=0,010011原=[y]补=0,100011补=[-x]补=1,101101补=0,100110补=[-2x]补=1,011010x0=0y0=0,z0=x0y0=0y=x*Xy*=[xXy]原=[x0=0xy]补,001(665)运算过程如下:010011001原码一位乘:部分积原码两位乘:10部分积乘数y*+x*+0+x*+0+[-x*]+0+x*乘数y*Cj补码一位乘:(4)x=0.结果同一位乘,部分积110x*=[x][y][y][-x*]2x*=[2x][-2x*]x0=0x*[x[xy=0+0001010乘数[y]11原=补=y=01+x*+2x*011001+[-x]+[x]+[-x]+[x]yn+10+00-+00-+010,1补补010补注:整数乘此位要省。原=冈补=0.01,y*=0.111110011111补=[-x]补=01补=10补=[-2x]补=10,y0=1,z0=x0y0=0Xy*=00011111=1xy]原=xy]补=x•y=-0.000111111110000000101111运算过程如下:原码一位乘:部分积乘数y*+x*10.011011.1110+010.0011011.111+x*+0.110111.0000110.10000111.11+x*+0.110111.0101110.101011111.1+x*+0.110111.1000010.1100001111原色两位来:部分积乘数y*Cj000.000000.,111010+000.11011+x*000.1101102000.00110110.111+111.00101+[-x*]补111.0101112111.110101111.01+001.10110+2x*001.1000001000.11000011110.+0结果向一位乘,x.y二=-0.1100001111补码一位乘:部分积乘数[y]补yn+100.000001.10।00110+11.00101+[-x]补11.00101111.1001011.00011+0111.11001011.0001+00.11011+[x]补00.10100100.010100011.000+0100.0010100011.00+0100.00010100011.0+11.00101+[-x]补11.00111100010一清0用原码加减交替法和补码加减交替法计算x+yx=,y=;x=,y=;x=,y=;(4)x=13/32,解:(1)x*=[x]原=[x]y*=[y]y=-27/32|补=x=111o011原=[丫]补=y=[-y*]补=:[-y]补=101q0=x0y0=00=0xy=x*y*=[xy]原=010r*=010X2-6=000000010计算过程如下:原码加减交替除法:被除数(余数)商0.1001110.000000+1.010101试减,+[-y*]补1.11110011.1110000.+0.101011r<0,+y*0.10001111.000110+1.010101r>0,+[-y*]补0.01101110.1101101+1.010101r>0,+[-y*]补0.001011被除数(余数)商10.0101100.111+1.010101r>0,+[-y*]补1.10101111.010110110+0.101011r<0,+y*0.00000110.0000101101+1.010101r>0,+[-y*]补1.010111111010+0.101011r<0,+y*(恢复余数)0.000010补码加减交替除法:被除数(余数)商00.1001110.000000+11.010101试减,x、y同号,+[-y]补11.111100111.1110000.+00.1010
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论