• 1.91 MB
  • 2022-04-22 11:25:13 发布

计算机组成原理_唐朔飞第二版课后主要习题、补充题答案

  • 41页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'第1章计算机系统概论1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3计算机系统:由计算机硬件系统和软件系统组成的综合体。计算机硬件:指计算机中的电子线路和物理装置。计算机软件:计算机运行所需的程序及相关资料。硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。4.如何理解计算机组成和计算机体系结构?答:计算机体系结构:是机器语言程序设计者和汇编语言程序设计者所见到的计算机系统的概念性结构和功能特性(包括指令系统、寄存器种类、数的表示、寻址方式等)。(注意:不同计算机层次结构中的程序员看到的计算机属性是不同的。)计算机组成:是怎样指实现计算机体系结构所体现的属性。如:乘法指令使用的乘法器如何实现,指令译码如何实现,是用组合逻辑,还是用微程序,如何取指令等,这都属于计算机组成的问题。5.冯•诺依曼计算机的特点是什么?解:冯•诺依曼计算机的特点是:P8l计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;l指令和数据以同同等地位存放于存储器内,并可以按地址访问;l指令和数据均用二进制表示;l指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;l指令在存储器中顺序存放,通常自动顺序取出执行;l机器以运算器为中心(原始冯•诺依曼机)。7.解释下列概念:主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。解:P9-10 主机:是计算机硬件的主体部分,由CPU和主存储器MM合成为主机。 CPU:中央处理器,是计算机硬件的核心部件,由运算器和控制器组成;(早期的运算器和控制器不在同一芯片上,现在的CPU内除含有运算器和控制器外还集成了CACHE)。 主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。 存储单元:可存放一个机器字并具有特定存储地址的存储单位。 存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。 存储字:一个存储单元所存二进制代码的逻辑单位。 存储字长:一个存储单元所存二进制代码的位数。 存储容量:存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)。 机器字长:指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。  指令字长:一条指令的二进制代码位数。8.解释下列英文缩写的中文含义:CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS解:全面的回答应分英文全称、中文名、功能三部分。CPU:CentralProcessingUnit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。PC:ProgramCounter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。IR:InstructionRegister,指令寄存器,其功能是存放当前正在执行的指令。CU:ControlUnit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。ALU:ArithmeticLogicUnit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。ACC:Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。MQ:Multiplier-QuotientRegister,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;MAR:MemoryAddressRegister,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。MDR:MemoryDataRegister,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。I/O:Input/Outputequipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。MIPS:MillionInstructionPerSecond,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。9.画出主机框图,分别以存数指令“STAM”和加法指令“ADDM”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。解:主机框图如P13图1.11所示。(1)STAM指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,OP(IR)→CU,Ad(IR)→MAR,ACC→MDR,MAR→MM,WR(2)ADDM指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,OP(IR)→CU,Ad(IR)→MAR,RD,MM→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR假设主存容量256M*32位,在指令字长、存储字长、机器字长相等的条件下,ACC、X、IR、MDR寄存器均为32位,PC和MAR寄存器均为28位。11.指令和数据都存于存储器中,计算机如何区分它们?解:计算机区分指令和数据有以下2种方法:l硬件设计为:在取指令阶段(或取指微程序),存储单元地址由PC(程序计数器)送出, 取出的数据送往IR(指令寄存器),这个数据就成了指令。l硬件设计为:在执行指令的取操作数阶段(或相应微程序),存储单元地址由地址码部分送出,取出的数据送往运算器的操作数寄存器,这个数据就成了数。补充单选题:1、甲计算机和乙计算机的指令系统相同。我们可以肯定地说,这两种计算机的()相同。A.组成B.系统结构C.组成和系统结构D.组成和系统结构可能都不答案:B2.已知某计算机MAR有32位,MDR有32位。问这个计算机主存容量最大可以有多少字节?答案:主存容量=232*(32/8)=230*22*4=16(GB) 第2章计算机的发展及应用1.通常计算机的更新换代以什么为依据?答:P22主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路等。2.举例说明专用计算机和通用计算机的区别。答:按照计算机的效率、速度、价格和运行的经济性和实用性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性,而专用计算机是最有效、最经济和最快的计算机,但适应性很差。例如个人电脑和计算器。3.什么是摩尔定律?该定律是否永远生效?为什么?答:P23,否,P36第3章系统总线1.什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?答:P41.总线是多个部件共享的传输部件。总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。  4.为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。5.解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。答:P46。总线宽度:通常指数据总线的根数;总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数;总线复用:指同一条信号线可以分时传输不同的信号。总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;总线的传输周期:指总线完成一次完整而可靠的传输所需时间;总线的通信控制:指总线传送过程中双方的时间配合方式。 6.试比较同步通信和异步通信。答:同步通信:指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合。异步通信:指没有统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。8.为什么说半同步通信同时保留了同步通信和异步通信的特点?答:半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。10.为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plugandplay?哪些总线有这一特点?答:总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;目前流行的总线标准有:ISA、EISA、PCI等;plugandplay:即插即用,EISA、PCI等具有此功能。11.画一个具有双向传输功能的总线逻辑图。答:在总线的两端分别配置三态门,就可以使总线具有双向传输功能。12.设数据总线上接有A、B、C、D四个寄存器,要求选用合适的74系列芯片,完成下列逻辑设计:(1)设计一个电路,在同一时间实现D→A、D→B和D→C寄存器间的传送;(2)设计一个电路,实现下列操作:T0时刻完成D→总线;T1时刻完成总线→A;T2时刻完成A→总线;T3时刻完成总线→B。解:(1)由T打开三态门将D寄存器中的内容送至总线bus,由cp脉冲同时将总线上的数据打入到A、B、C寄存器中。T和cp的时间关系如图(1)所示。 图(1)(2)三态门1受T0+T1控制,以确保T0时刻D→总线,以及T1时刻总线→接收门1→A。三态门2受T2+T3控制,以确保T2时刻A→总线,以及T3时刻总线→接收门2→B。T0、T1、T2、T3波形图如图(2)所示。图(2)3.14设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个时钟周期中并行传送16位数据,试问总线的带宽是多少?解:∵一个总线周期等于一个时钟周期;∴一个总线频率=一个时钟频率=8MHz总线的带宽=8*(16/8)=16Mbps讲解:总线的时钟频率:是总线工作计时的基本时钟频率。总线的时钟频率是总线的时钟周期的倒数。总线周期:完成一次总线传输数据所耗费的时间。又叫总线传输周期。总线传输频率:是单位时间内完成多少次总线数据传输总线传输频率是总线周期的倒数。要注意,总线时钟周期与总线周期的区别;总线时钟频率与总线传输频率的区别。 3.15在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线的最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?解:最高的总线传输频率=66/4总线的最大数据传输率=(66/4)*(32/8)=66Mbps若想提高数据传输率,可提高时钟频率,和增大总线宽度,和降低总线的最短传输周期。3章补充题:补1、什么叫总线?为什么系统总线又叫板级总线?P43答:总线:分时共享,界面标准,带控制电路的传输介质。系统总线:CPU、内存、IO外设接口之间的总线。系统总线通常做在主板和插卡板上,所以又叫板级总线。补2、什么叫片内总线?举例说明。P43答:片内总线:芯片内部各元件连挂的总线。例:1.CPU芯片内部,各数据寄存器、运算器之间的连接总线。2.内存芯片内部各存储单元所连接总线。补3、总线特性包括哪4项?解释个项特性。P45-46答:⒈机械特性:插头插座的几何尺寸、形状、引脚个数及排列顺序、接头处的可靠结束。⒉电气特性:总线每根线信号传输方向、有效电平。⒊功能特性:总线每根线信号的意义(功能)。⒋时间特性:总线各线有效信号之间的时序关系。补4、总线性能指标包括哪7个方面?解释各性能指标。P46答:⒈总线宽度:数据总线的根数;⒉总线带宽:单位时间内数据总线上传输的数据位数。是数据传输速度的描述。=(每秒传递数据的次数)*(1次传多少个字节)=总线的工作频率*(总线宽度/8)⒊时钟同步或异步:同步总线:数据传输方式由时钟信号的顺序控制(与时序同步)。异步总线:数据传输方式由应答信号控制(与时序不同步)。⒋总线复用:一条信号线上分时传输两中信号(充分利用硬件,节省硬件)。⒌信号线数:地址、数据、控制三总线的根数总和。⒍总线控制方式:多个部件争用总线,决定哪个部件取得总线使用权的控制方式⒎负载能力、电源电压、总线宽度能否扩展等补5、什么是总线标准?为什么要设置总线标准?P45-47答:总线标准是对:总线的机械、电气、功能、时间特性及宽度、带宽、同步/异步、复用、线数、控制方式、负载能力、电源电压性能指标的规定。设置总线标准:⒈解决不同厂家各类模块化产品的兼容问题;⒉接口的任一方,只需按总线标准要求完成自身的设计,无需了解对方的连接要求,这样为计算机接口的软硬件设计提供了方便。 补6、什么是总线周期?它分为哪4个阶段?P59答:总线周期:连接在总线上的两个部件完成一次完整可靠的信息传输的时间;总线周期分4个阶段:⒈总线申请授权阶段;⒉寻址阶段:主模块发从模块地址及有关命令,启动从模块;⒊传数阶段;⒋结束阶段:主模块有关信息撤除,让出总线使用权。补7、异步串行传输方式要求字符格式为:1位起始位,8位数据位,1位数据的奇校验位,1位终止位。画出传输数据59H的波形图(要求图中转送数据方向由右向左)。P63例3-3解:异步串行传输方式规定:起始位:0,终止位:1,传输顺序:低位到高位。奇校验位应使数据位和校验位的1的个数为奇数个,所以为:1。起始位D0=1D1=0D2=0D3=1D4=1D5=0D6=1D7=0奇校验位终止位 第4章1.解释概念:主存:与CPU通过地址总线直接联系的,存放当前执行的指令和处理的数据的存储器。辅存:与主存直接联系的,断电也能保存指令和数据的存储器。如:硬盘,U盘。Cache:高速缓冲存储器,位置在CPU和主存之间,起提高存储系统访问速度的存储器RAM:可读写存储器SRAM:静态可读写存储器DRAM:动态可读写存储器ROM:只读存储器PROM:一次编程只读存储器EPROM:紫外线搽除可编程只读存储器EEPROM:电搽除可编程只读存储器CDROM:只读关盘FlashMemory:闪速存储器,工作环境下电搽除可编程只读存储器3.存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。4.说明存取周期和存取时间的区别。解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即:存取周期=存取时间+恢复时间5.什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?解:存储器的带宽指单位时间内从存储器进出信息的最大数量。存储器带宽=1/200ns×32位=160M位/秒=20MB/秒=5M字/秒注意:字长32位,不是16位。(注:1ns=10-9s)6.某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。解:存储容量是64KB时,按字节编址的寻址范围就是64K,如按字编址,其寻址范围为: 64K/(32/8)=16K主存字地址和字节地址的分配情况:(略)。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)=1×32=32片4K×8:(16K×32)/(4K×8)=4×4=16片8K×8:(16K×32)/(8K×8)=2×4=8片8.试比较静态RAM和动态RAM。答:本质区别:静态RAM的存储元由MOS管构成触发器,能稳定地保存bit信息。动态RAM的存储元由电容构成,由于漏电,不能长时间保存bit信息。引起下面的区别:9.什么叫刷新?为什么要刷新?说明刷新有几种方法。解:刷新:对DRAM定期进行的全部重写过程;刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;常用的刷新方法有三种:集中式、分散式、异步式。集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。异步式:是集中式和分散式的折衷。10.半导体存储器芯片的译码驱动方式有几种?解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材; 重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。11.一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?解:采用分散刷新方式刷新间隔为:2ms,其中刷新死时间为:256×0.1μs=25.6μs采用分散刷新方式刷新间隔为:256×(0.1μs+×0.1μs)=51.2μs采用异步刷新方式刷新间隔为:2ms12.画出用1024×4位的存储芯片组成一个容量为64K×8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。解:设采用SRAM芯片,则:总片数=(64K×8位)/(1024×4位)=64×2=128片题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:页面容量=总容量/页面数=64K×8/4=16K×8位,4片16K×8字串联成64K×8位组容量=页面容量/组数 =16K×8位/16=1K×8位,16片1K×8位字串联成16K×8位组内片数=组容量/片容量=1K×8位/1K×4位=2片,两片1K×4位芯片位并联成1K×8位存储器逻辑框图:(略)。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; ……  ……由上可看出:片字数越少,片字长越长,引脚数越多。片字数减1、片位数均按2的幂变化。结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线=19根,数据线=1根;或地址线=18根,数据线=2根。14.某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:(1)该机所允许的最大主存空间是多少?(2)若每个模块板为32K×8位,共需几个模块板?(3)每个模块板内共有几片RAM芯片? (4)共有多少片RAM?(5)CPU如何选择各模块板?解:(1)该机所允许的最大主存空间是:218×8位=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位地址译码输出选择芯片。地址格式分配如下:15.设CPU共有16根地址线,8根数据线,并用(低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;(2)指出选用的存储芯片类型及数量;(3)详细画出片选逻辑。解:(1)地址空间分配图:系统程序区(ROM共4KB):0000H-0FFFH用户程序区(RAM共12KB):1000H-FFFFH (2)选片:ROM:选择4K×4位芯片2片,位并联       RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH,RAM3地址范围为:3000H-3FFFH) (3)各芯片二进制地址分配如下:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0ROM1,200000000000000000000011111111111RAM100010000000000000001111111111111RAM200100000000000000010111111111111RAM300110000000000000011111111111111CPU和存储器连接逻辑图及片选逻辑如下图(3)所示: 图(3)16.CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连,试回答:(1)用74138译码器画出CPU与存储芯片的连接图;(2)写出每片RAM的地址范围;(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?解:(1)CPU与存储器芯片连接逻辑图:  (2)地址空间分配图:RAM0:0000H-1FFFH RAM1:2000H-3FFFHRAM2:4000H-5FFFHRAM3:6000H-7FFFHRAM4:8000H-9FFFHRAM5:A000H-BFFFHRAM6:C000H-DFFFHRAM7:E000H-FFFFH(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。假设芯片与译码器本身都是好的,可能的情况有:1)该片的-CS端与-WE端错连或短路;2)该片的-CS端与CPU的-MREQ端错连或短路;3)该片的-CS端与地线错连或短路。(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。17.写出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⊕b1当有效信息为1100时,c3c2c1=011,汉明码为1110100。当有效信息为1101时,c3c2c1=100,汉明码为0011101。当有效信息为1110时,c3c2c1=101,汉明码为1011110。当有效信息为1111时,c3c2c1=010,汉明码为0110111。18.已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?第几位出错?解:假设接收到的汉明码为:c1’c2’b4’c3’b3’b2’b1’纠错过程如下:P1=c1’⊕b4’⊕b3’⊕b1’P2=c2’⊕b4’⊕b2’⊕b1’P3=c3’⊕b3’⊕b2’⊕b1’如果收到的汉明码为1100100,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:1100如果收到的汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:0110如果收到的汉明码为1100000,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:0010 如果收到的汉明码为1100001,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:000122.某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明。解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序如下图:18.什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:1)。存储系统中Cache—主存层次采用了程序访问的局部性原理。25.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),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。29.执行没程序,访Cache4800次,访主存200次。已知Cache存取周期30ns,主存存取周期150ns。求Cache命中率H,Cache主存系统平均访问时间Ta,访问效率e,试问系统的性能提高了多少(访存储系统1次,节省多少ns)?解:Cache命中率H=(访Cache次数)/(访Cache次数+访主存次数)=4800/(4800+200)=24/25平均访问时间Ta=(访Cache次数*Cache存取周期+访主存次数*主存存取周期)/(访Cache次数+访主存次数)=(4800*30+200*150)/(4800+200)=174000/5000=174/5ns访问效率e=(Cache存取周期)/(平均访问时间Ta)=30/(174/5)=150/174=75/87访存储系统1次,节省时间=主存存取周期-平均访问时间Ta=150–174/5=576/5ns30.一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。解:cache组数:64/4=16,Cache容量为:64*128=213字,cache地址13位主存共分4096/16=256区,每区16块主存容量为:4096*128=219字,主存地址19位,地址格式如下:主存字块标记(8位)组地址(4位)字块内地址(7位)补1、存储器的3个指标是什么?答:速度、容量、位价。补2、存储器的缓存—主存层次,主要解决什么问题?存储器的主存—辅存层次,主要解决什么问题?答:缓存—主存层次:解决CPU-主存速度不匹配问题。主存—辅存层次:解决存储系统容量问题。补3、什么是逻辑(虚拟)地址?什么是物理(实际)地址?P72答:逻辑(虚拟)地址:程序员编程所牵涉到的地址。物理(实际)地址:主存中能被访问的是在地址。补4、虚实地址转换由什么完成,对什么程序员是透明的?答:虚实地址转换由硬件和操作系统完成。对应用程序员是透明的。4.5题前面有答案。 补5、半导体存储芯片,有哪几类引出脚?答:地址脚、数据脚、读写控制脚、片选脚、电源脚和地线补6、半导体存储芯片内部,采用双译码器比采用单译码器的主要好处是什么?答:外部地址线很多时,内部双译码器输出端的和,要比内部单译码器的输出端少很多,便于制造。补7、不坐在作业本上,自觉看懂p76图4.9,、图4.10,p77图4.11、p78图4.13、p79图4.14的工作原理。4.8题前面有答案。4.9题前面有答案。补8:一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选2K×8位的存储芯片时,需要多少片芯片?解:16K=24*210=214地址线有14根地址线和数据线的总和=14+32=46根;用8位的芯片进行位扩展,扩展为32位,需要32/8=4片。形成一个2K×32位的芯片组。用2K的芯片组进行单元扩展,扩展为16K,需要16K/2K=8组。形成一个16K×32位的存储器。需要的片数=8*4=32片补9:填下表,对海明校验和奇偶校验的比较校验位位数校验位放置位置自动纠错和发现错能力海明校验奇偶校验填表:校验位位数校验位放置位置自动纠错和发现错能力海明校验多位与数据位穿插放置能自动纠1位错发现多位错奇偶校验1位一般放在数据位端头只能发现1位错,不能纠错补10:选择题:使用海明校验的存储器,已知被访单元保存的数据有1位出错。当我们读这个单元时,会有结果()。A.这个单元保存的数据会恢复成正确的B.从这个单元读出数据有1位是错的。C.这个单元保存的数据会恢复成正确的,读出数据也是正确的。D.这个单元保存的数据仍有1位错,但读出的数据是正确的答案:D补11、提高访存速度有哪三大措施?答:①采用高速存储器件 ①调整主存结构:采用单体多字存储结构;采用多体并行存储结构②采用多层存储系统:Cache—主存存储系统补12、填下表校验位位数校验位放置位置自动纠错和发现错能力CRC校验多位放在信息码的右边有纠错和发现错的能力 第5章补5.1目前,小型、微型机其主机和外设之间的信息传送控制方式,常用的有哪几种?简单解释各控制方式。答:1、程序查询方式:输入和输出完全是通过CPU执行程序来完成的。一旦某一外设被选中并启动之后,主机将查询这个外设的状态位,看其是否准备就绪?若未就绪,主机将再次查询;若外设已就绪,则执行一次I/O操作。CPU、外设串行工作。2、程序中断方式:主机启动外设后,继续执行原来的程序。外设在做好了IO准备,向主机发中断请求,主机接到请求后,就中断原来执行的程序,转去执行中断服务程序。在中断处理完毕后,返回原来的程序继续执行。CPU、外设并行工作。3、直接存储器存取(DMA)方式:在主存、外设间开辟直接数据通路,DMA启动后,就接管地址、数据和控制总线(CPU的主存控制信号被禁用)。无需CPU介入,控制主存、外设之间直接批量传送信息。而当DMA传送结束后,将恢复CPU的一切总线权,CPU照常工作。补5.2CPU与外设进行数据交换,为什么要在之间设置接口?答:主机和外设有各自的特点和工作方式,为了能协调工作,他们之间需要有如下功能的全部或一部分:所以要在CPU与外设之间设置接口电路,以完成以上功能的全部或一部分。补5.3简述接口与端口的区别:答:接口是:主机和外设之间的协调它们工作的一块电路。端口是:接口中的寄存器。根据存放的信息不同,有数据端口、控制端口、状态端口之分。端口都有其地址。主机访问外设实际是访问外设接口的端口。一些端口配上控制逻辑电路就构成接口。补5.4接口与主机连接有哪几类什么线?答:设备选择线(地址线),控制命令线,状态线,数据线。补5.5解释中断数据交换方式中的,保存断点、保护现场、恢复现场、中断返回的实质意义。答:保存断点:中断点的下一指令地址(PC内容)压栈。隐指令自动完成。 保护现场:中断服务程序将要使用的寄存器内容压栈。显指令完成。恢复现场:弹出压栈的寄存器内容到原寄存器中。中断返回:从栈中弹出断点地址到PC中。中断返回指令完成。 第6章6.4设机器字长为8位(含1符号位),写出下列各真值的原码、补码、反码。-,,100,-87解:①-=-1101/1000000=-0.001101[-]原=1.0011010[-]补=1.1100110[-]反=1.1100101②=11101/10000000=0.0011101[]原=[]补=[]反=0.0011101③100=1100100[100]原=[100]补=[100]反=0,1100100④-87=-1010111[-87]原=1,1010111[-87]补=1,0101001[-87]反=1,010100012.设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:(1)阶码和尾数均为原码。(2)阶码和尾数均为补码。(3)阶码为移码,尾数为补码。  解:据题意画出该浮点数的格式:阶符1位阶码4位数符1位尾数10位   将十进制数转换为二进制:x1=51/128=0.0110011B=2-1*0.110011B  x2=-27/1024=-0.0000011011B=2-5*(-0.11011B)则以上各数的浮点规格化数为:(1)[x1]浮=1,0001;0.1100110000[x2]浮=1,0101;1.1101100000(2)[x1]浮=1,1111;0.1100110000[x2]浮=1,1011;1.0010100000(3)[x1]浮=0,1111;0.1100110000[x2]浮=0,1011;1.001010000016.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。   (1)无符号数;  (2)原码表示的定点小数。  (3)补码表示的定点小数。  (4)补码表示的定点整数。  (5)原码表示的定点整数。  (6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。  (7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。解:(1)无符号整数:0——216-1,即:0——65535;  无符号小数:0——1-2-16,即:0——0.99998;(2)原码定点小数:-1+2-15——1-2-15,即:-0.99997——0.99997(3)补码定点小数:-1——1-2-15,即:-1——0.99997(4)补码定点整数:-215——215-1,即:-32768——32767(5)原码定点整数:-215+1——215-1,即:-32767——32767(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:最大负数=1,11111;1.000000001,即-2-9´2-31最小负数=0,11111;1.111111111,即-(1-2-9)´231则负数表示范围为:-(1-2-9)´231——-2-9´2-31最大正数=0,11111;0.111111111,即(1-2-9)´231最小正数=1,11111;0.000000001,即2-9´2-31则正数表示范围为:2-9´2-31——(1-2-9)´231(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大负数=1,00000;1.011111111,即-2-1´2-32最小负数=0,11111;1.000000000,即-1´231则负数表示范围为:-1´231——-2-1´2-32最大正数=0,11111;0.111111111,即(1-2-9)´231最小正数=1,00000;0.100000000,即2-1´2-32则正数表示范围为:2-1´2-32——(1-2-9)´23117.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。[x1]原=0.0011010;[y1]补=0.1010100;[z1]反=1.0101111; [x2]原=1.1101000;[y2]补=1.1101000;[z2]反=1.1101000; [x3]原=1.0011001;[y3]补=1.0011001;[z3]反=1.0011001。解:算术左移一位:[x1]原=0.0110100;正确[x2]原=1.1010000;溢出(丢1)出错[x3]原=1.0110010;正确[y1]补=0.0101000;溢出(丢1)出错[y2]补=1.1010000;正确[y3]补=1.0110010;溢出(丢0)出错[z1]反=1.1011111;溢出(丢0)出错[z2]反=1.1010001;正确 [z3]反=1.0110011;溢出(丢0)出错算术左移两位:[x1]原=0.1101000;正确[x2]原=1.0100000;溢出(丢11)出错[x3]原=1.1100100;正确[y1]补=0.1010000;溢出(丢10)出错[y2]补=1.0100000;正确[y3]补=1.1100100;溢出(丢00)出错[z1]反=1.0111111;溢出(丢01)出错[z2]反=1.0100011;正确[z3]反=1.1100111;溢出(丢00)出错算术右移一位:[x1]原=0.0001101;正确[x2]原=1.0110100;正确[x3]原=1.0001100(1);丢1,产生误差[y1]补=0.0101010;正确[y2]补=1.1110100;正确[y3]补=1.1001100(1);丢1,产生误差[z1]反=1.1010111;正确[z2]反=1.1110100(0);丢0,产生误差[z3]反=1.1001100;正确算术右移两位:[x1]原=0.0000110(10);产生误差[x2]原=1.0011010;正确[x3]原=1.0000110(01);产生误差[y1]补=0.0010101;正确[y2]补=1.1111010;正确[y3]补=1.1100110(01);产生误差[z1]反=1.1101011;正确[z2]反=1.1111010(00);产生误差[z3]反=1.1100110(01);产生误差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.0010010B,B=-13/32=-0.0110100B   [A]补=0.0010010,[B]补=1.1001100[A+B]补=0.0010010+1.1001100=1.1011110——无溢出A+B=-0.0100010B=-17/64 (2)A=19/32=0.1001100B,B=-17/128=-0.0010001B    [A]补=0.1001100,[B]补=1.1101111,[-B]补=0.0010001 [A-B]补=0.1001100+0.0010001=0.1011101——无溢出A-B=0.1011101B=93/128B(3)A=-3/16=-0.0011000B,B=9/32=0.0100100B  [A]补=1.1101000,[B]补=0.0100100[A+B]补=1.1101000+0.0100100=0.0001100——无溢出A+B=0.0001100B=3/32(4)A=-87=-1010111B,B=53=110101B   [A]补=10101001,[B]补=00110101,[-B]补=11001011[A-B]补=10101001+11001011=01110100——溢出(5)A=115=1110011B,B=-24=-11000B  [A]补=01110011,[B]补=1,1101000[A+B]补=01110011+11101000=01011011——无溢出A+B=1011011B=9126.按机器补码浮点运算步骤,计算[x±y]补. (1)x=2-011×0.101100,y=2-010×(-0.011100); (2)x=2-011×(-0.100010),y=2-010×(-0.011111); (3)x=2101×(-0.100101),y=2100×(-0.001111)。解:先将x、y转换成机器数形式:(1)x=2-011×0.101100,y=2-010×(-0.011100)[x]补=1,101;0.101100,[y]补=1,110;1.100100[Ex]补=1,101,[y]补=1,110,[Mx]补=0.101100,[My]补=1.100100  1)对阶:[DE]补=[Ex]补+[-Ey]补=11,101+00,010=11,111<0,应Ex向Ey对齐,则:[Ex]补+1=11,101+00,001=11,110=[Ey]补[x]补=1,110;0.0101102)尾数运算: [Mx]补+[My]补=0.010110+11.100100=11.111010[Mx]补+[-My]补=0.010110+00.011100=00.1100103)结果规格化: [x+y]补=11,110;11.111010=11,011;11.010000(尾数左规3次,阶码减3) [x-y]补=11,110;00.110010,已是规格化数。4)舍入:无5)溢出:无则:x+y=2-101×(-0.110000)  x-y=2-010×0.110010(2)x=2-011×(-0.100010),y=2-010×(-0.011111)  [x]补=1,101;1.011110,[y]补=1,110;1.1000011)对阶:过程同(1)的1),则[x]补=1,110;1.101111 2)尾数运算:  [Mx]补+[My]补=11.101111+11.100001=11.010000   [Mx]补+[-My]补=11.101111+00.011111=00.0011103)结果规格化:[x+y]补=11,110;11.010000,已是规格化数[x-y]补=11,110;00.001110=11,100;00.111000(尾数左规2次,阶码减2)4)舍入:无5)溢出:无则:x+y=2-010×(-0.110000)  x-y=2-100×0.111000(3)x=2101×(-0.100101),y=2100×(-0.001111)  [x]补=0,101;1.011011,[y]补=0,100;1.1100011)对阶:[DE]补=00,101+11,100=00,001>0,应Ey向Ex对齐,则:[Ey]补+1=00,100+00,001=00,101=[Ex]补[y]补=0,101;1.111000(1)2)尾数运算: [Mx]补+[My]补=11.011011+11.111000(1)=11.010011(1) [Mx]补+[-My]补=11.011011+00.000111(1)=11.100010(1)1)结果规格化: [x+y]补=00,101;11.010011(1),已是规格化数 [x-y]补=00,101;11.100010(1)=00,100;11.000101(尾数左规1次,阶码减1)4)舍入:[x+y]补=00,101;11.010011(舍)[x-y]补不变5)溢出:无则:x+y=2101×(-0.101101)x-y=2100×(-0.111011)32.设机器字长为16位,分别按4、4、4、4和5、5、3、3分组后, (1)画出按两种分组方案的单重分组并行进位链框图,并比较哪种方案运算速度快。 (2)画出按两种分组方案的双重分组并行进位链框图,并对这两种方案进行比较。 (3)用74181和74182画出单重和双重分组的并行进位链框图。解:(1)4—4—4—4分组的16位单重分组并行进位链框图见教材286页图6.22。  5—5—3—3分组的16位单重分组并行进位链框图如下:(2)4—4—4—4分组的16位双重分组并行进位链框图见教材289页图6.26。  5—5—3—3分组的16位双重分组并行进位链框图如下:  5—5—3—3分组的进位时间=2.5ty´3=7.5ty; 4—4—4—4分组的进位时间=2.5ty´3=7.5ty;可见,两种分组方案最长加法时间相同。结论:双重分组并行进位的最长进位时间只与组数和级数有关,与组内位数无关。(3)单重分组16位并行加法器逻辑图如下(正逻辑): 注意:1)74181芯片正、负逻辑的引脚表示方法; 2)为强调可比性,5-5-3-3分组时不考虑扇入影响; 3)181芯片只有最高、最低两个进位输入/输出端,组内进位无引脚; 4)181为4位片,无法5-5-3-3分组,只能4-4-4-4分组; 5)单重分组跳跃进位只用到181,使用182的一定是双重以上分组跳跃进位; 6)单重分组跳跃进位是并行进位和串行进位技术的结合;双重分组跳跃进位是二级并行进位技术;特别注意在位数较少时,双重分组跳跃进位可以采用全先行进位技术实现;位数较多时,可采用双重分组跳跃进位和串行进位技术结合实现。补6.1设机器字长为8位(含1符号位),写出100,-87各的移码。解:①100=1100100[100]原=[100]补=0,1100100[100]移=1,1100100②-87=-1010111[-87]原=1,1010111[-87]补=1,0101001[-87]移=0,0101001补6.2用原码一位乘,计算X*Y。其中X=0.1101,Y=-0.1011解:[X]原=0.1101;[Y]原=1.1011;Xs=0;ys=1因为数值位4位,A寄存器取5位(多一位保存求和的进位),初值设为0;C寄存器取4位.初值设为:乘数的数值;计数器中设为4,计数乘4次;|X|保存在固定的寄存器中。 第7章1.什么叫机器指令?什么叫指令系统?为什么说指令系统与机器的主要功能以及与硬件结构之间存在着密切的关系?答:参考P300。2.什么叫寻址方式?为什么要学习寻址方式?答:参看P310。3.什么是指令字长、机器字长和存储字长?答:略。4.零地址指令的操作数来自哪里??各举一例说明。答:零地址指令的操作数来自ACC,为隐含约定。在一地址指令中,另一个操作数的地址通常可采用ACC隐含寻址方式获得。5.对于二地址指令而言,操作数的物理地址可安排在什么地方?举例说明。答:对于二地址指令而言,操作数的物理地址可安排在寄存器内、指令中或内存单元内等。8.某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M条,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?解:1)若采用定长操作码时,二地址指令格式如下:OP(4位)A1(6位)A2(6位)设二地址指令有K种,则:K=24-M-N当M=1(最小值),N=1(最小值)时,二地址指令最多有:Kmax=16-1-1=14种1)若采用变长操作码时,二地址指令格式仍如1)所示,但操作码长度可随地址码的个数而变。此时,K=24-(N/26+M/212);当(N/26+M/212)£1时(N/26+M/212向上取整),K最大,则二地址指令最多有:Kmax=16-1=15种(只留一种编码作扩展标志用。)9.试比较间接寻址和寄存器间接寻址。答:略。10.试比较基址寻址和变址寻址。略。11.画出先变址再间址及先间址再变址的寻址过程示意图。解:1)先变址再间址寻址过程简单示意如下:   EA=[(IX)+A],IX®(IX)+12)先间址再变址寻址过程简单示意如下:EA=(IX)+(A),IX®(IX)+116.某机主存容量为4M´ 16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:(1)画出一地址指令格式并指出各字段的作用; (2)该指令直接寻址的最大范围; (3)一次间址和多次间址的寻址范围; (4)立即数的范围(十进制表示);(5)相对寻址的位移量(十进制表示);(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?(7)如何修改指令格式,使指令的寻址范围可扩大到4M?(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。解:(1)单字长一地址指令格式:             OP(7位)M(3位)A(6位)OP为操作码字段,共7位,可反映108种操作;M为寻址方式字段,共3位,可反映6种寻址操作;A为地址码字段,共16-7-3=6位。 (2)直接寻址的最大范围为26=64。(3)由于存储字长为16位,故一次间址的寻址范围为216;若多次间址,需用存储字的最高位来区别是否继续间接寻址,故寻址范围为215。(4)立即数的范围为-32——31(有符号数),或0——63(无符号数)。(5)相对寻址的位移量为-32——31。(6)上述六种寻址方式中,因立即数由指令直接给出,故立即寻址的指令执行时间最短。间接寻址在指令的执行阶段要多次访存(一次间接寻址要两次访存,多次间接寻址要多次访存),故执行时间最长。变址寻址由于变址寄存器的内容由用户给定,而且在程序的执行过程中允许用户修改,而其形式地址始终不变,故变址寻址的指令便于用户编制处理数组问题的程序。相对寻址操作数的有效地址只与当前指令地址相差一定的位移量,与直接寻址相比,更有利于程序浮动。(7)方案一:为使指令寻址范围可扩大到4M,需要有效地址22位,此时可将单字长一地址指令的格式改为双字长,如下图示:OP(7位)MOD(3位)A(高6位)A(低16位)  方案二:如果仍采用单字长指令(16位)格式,为使指令寻址范围扩大到4M,可通过段寻址方案实现。安排如下:  硬件设段寄存器DS(16位),用来存放段地址。在完成指令寻址方式所规定的寻址操作后,得有效地址EA(6位),再由硬件自动完成段寻址,最后得22位物理地址。即:物理地址=(DS)´26+EA注:段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、EA产生之后由硬件自动完成,对用户是透明的。方案三:在采用单字长指令(16位)格式时,还可通过页面寻址方案使指令寻址范围扩大到4M。安排如下:  硬件设页面寄存器PR(16位),用来存放页面地址。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到4M时,编程选择页面寻址方式,则:EA=(PR)‖A(有效地址=页面地址“拼接”6位形式地址),这样得到22位有效地址。(8)为使一条转移指令能转移到主存的任一位置,寻址范围须达到4M,除了采用(7)方案一中的双字长一地址指令的格式外,还可配置22位的基址寄存器或22位的变址寄存器,使EA= (BR)+A(BR为22位的基址寄存器)或EA=(IX)+A(IX为22位的变址寄存器),便可访问4M存储空间。还可以通过16位的基址寄存器左移6位再和形式地址A相加,也可达到同样的效果。  总之,不论采取何种方式,最终得到的实际地址应是22位。  19.某CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指令字长等于机器字长,试回答以下问题: (1)如果主存可直接或间接寻址,采用寄存器—存储器型指令,能直接寻址的最大存储空间是多少?画出指令格式并说明各字段的含义。 (2)在满足(1)的前提下,如果采用通用寄存器作基址寄存器,则上述寄存器—存储器型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?解:(1)如采用RS型指令,则此指令一定是二地址以上的地址格式,指令格式如下:OP(6位)R(5位)I(1位)A(20位)  操作码字段OP占6位,因为26>=64;寄存器编号R占5位,因为25>=32;间址位I占1位,当I=0,存储器寻址的操作数为直接寻址,当I=1时为间接寻址;形式地址A占20位,可以直接寻址220字。(2)如采用基址寻址,则指令格式中应给出基址寄存器号,以指定哪一个通用寄存器用作基址寄存器。指令格式变为:OP(6位)源R(5位)I(1位)X(1位)目标R(5位)A(14位)增加寻址特征位X,当X=1时,以目标寄存器R作为基址寄存器进行基址寻址。基址寻址可访问存储空间为:232字。 第八章1.CPU有哪些功能?画出其结构框图并简要说明各个部件的作用。答:参考P328和图8.2。2.什么是指令周期?指令周期是否有一个固定值?为什么?解:指令周期是指取出并执行完一条指令所需的时间。 由于计算机中各种指令执行所需的时间差异很大,因此为了提高CPU运行效率,即使在同步控制的机器中,不同指令的指令周期长度都是不一致的,也就是说指令周期对于不同的指令来说不是一个固定值。3.画出指令周期的流程图,分析说明图中每个子周期的作用。答:参看P343及图8.8。4.设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU。 (1)画出完成间接寻址的取数指令LDA@X(将主存某地址单元X的内容取至AC中)的数据流(从取指令开始)。 (2)画出中断周期的数据流。解:CPU中的数据流向与所采用的数据通路结构直接相关,不同的数据通路中的数据流是不一样的。常用的数据通路结构方式有直接连线、单总线、双总线、三总线等形式,目前大多采用总线结构,直接连线方式仅适用于结构特别简单的机器中。为简单起见,本题采用单总线将题中所给部件连接起来,框图如下:¯      (1)LDA@X指令周期数据流程图: (2)中断周期流程图如下: 注:解这道题有两个要素,首先要根据所给部件设计好数据通路,即确定信息流动的载体。其次选择好描述数据流的方法,无论采用什么样的表达方式,其关键都要能清楚地反映数据在通路上流动的顺序,即强调一个“流”字。较好的表达方式是流程图的形式。5.中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作?答:中断周期前是执行周期,中断周期后是取指周期。在中断周期,CPU应完成保存断点、将中断向量送PC和关中断等工作。7.什么叫系统的并行性?粗粒度并行和细粒度并行有何区别?答:所谓并行性包含同时性和并发性。同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或多个事件在同一时间段发生。即在同一时刻或同一时间段内完成两个或两个以上性质相同或性质不同的功能,只要在时间上存在相互重叠,就存在并行性。 并行性又分为粗粒度并行和细粒度并行两类。粗粒度并行是指在多个处理机上分别运行多个进程,由多台处理机合作完成一个程序,一般用算法实现。细粒度并行是指在处理机的指令级和操作级的并行性。8.什么是指令流水?画出指令二级流水和四级流水的示意图,它们中哪个更能提高处理机速度,为什么?答:指令流水是指将一条指令的执行过程分为n个操作时间大致相等的阶段,每个阶段由一个独立的功能部件来完成,这样n个部件就可以同时执行n条指令的不同阶段,从而大大提高CPU的吞吐率。指令二级流水和四级流水示意图如下:四级流水更能提高处理机的速度。分析如下:假设IF、ID、EX、WR每个阶段耗时为t,则连续执行n条指令采用二级流水线时,耗时为:4t+(n-1)2t=(2n+2)t采用四级流水线时,耗时为:4t+(n-1)t=(n+3)t在n>1时,n+3<2n+2,可见四级流水线耗时比二级流水线耗时短,因此更能提高处理机速度。17.在中断系统中INTR、INT、EINT三个触发器各有何作用?解:INTR——中断请求触发器,用来登记中断源发出的随机性中断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定的中断请求信号。EINT——中断允许触发器,CPU中的中断总开关。当EINT=1时,表示允许中断(开中断),当EINT=0时,表示禁止中断(关中断)。其状态可由开、关中断等指令设置。INT——中断标记触发器,控制器时序系统中周期状态分配电路的一部分,表示中断周期标记。当INT=1时,进入中断周期,执行中断隐指令的操作。24.现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D顺序排列。若中断服务程序的执行时间为20µs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。解:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹图如下:25.某机有五个中断源L0、L1、L2、L3、L4,按中断响应的优先次序由高向低排序为L 0®L1®L2®L3®L4,根据下示格式,现要求中断处理次序改为L1®L4®L2®L0®L3,根据下面的格式,写出各中断源的屏蔽字。解:各中断源屏蔽状态见下表:中断源屏蔽字01234I010010I111111I210110I300010I410111表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。26.设某机配有A、B、C三台设备,其优先顺序按A®B®C降序排列,为改变中断处理次序,它们的中断屏蔽字设置如下:设备屏蔽字A111B010C011  请按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。设A、B、C中断服务程序的执行时间均为20ms。解:A、B、C设备的响应优先级为A最高、B次之、C最低,处理优先级为A最高、C次之、B最低。CPU执行程序的轨迹图如下: 第九章2.控制单元的功能是什么?其输入受什么控制?答:控制单元的主要功能是发出各种不同的控制信号。其输入受时钟信号、指令寄存器的操作码字段、标志和来自系统总线的控制信号的控制。3.什么是指令周期、机器周期和时钟周期?三者有何关系?答:CPU每取出并执行一条指令所需的全部时间叫指令周期;机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作(指令步)所需时间,通常安排机器周期长度等于主存周期;时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应完成一个微操作所需时间,通常时钟周期等于计算机主频的倒数。  4.能不能说机器的主频越快,机器的速度就越快,为什么?解:不能说机器的主频越快,机器的速度就越快。因为机器的速度不仅与主频有关,还与数据通路结构、时序分配方案、ALU运算能力、指令功能强弱等多种因素有关,要看综合效果。5.设机器A的主频为8MHz,机器周期含4个时钟周期,且该机的平均指令执行速度是0.4MIPS,试求该机的平均指令周期和机器周期,每个指令周期中含几个机器周期?如果机器B的主频为12MHz,且机器周期也含4个时钟周期,试问B机的平均指令执行速度为多少MIPS?解:先通过A机的平均指令执行速度求出其平均指令周期,再通过主频求出时钟周期,然后进一步求出机器周期。B机参数的算法与A机类似。计算如下:A机平均指令周期=1/0.4MIPS=2.5µsA机时钟周期=1/8MHz=125nsA机机器周期=125ns×4=500ns=0.5µsA机每个指令周期中含机器周期个数=2.5µs÷0.5µs=5个B机时钟周期=1/12MHz»83nsB机机器周期=83ns×4=332ns设B机每个指令周期也含5个机器周期,则:B机平均指令周期=332ns×5=1.66µsB机平均指令执行速度=1/1.66µs=0.6MIPS  结论:主频的提高有利于机器执行速度的提高。6.设某机主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有4个机器周期,试问该机的平均指令执行速度为多少MIPS?若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有4个机器周期,则该机的平均指令执行速度又是多少MIPS?由此可得出什么结论?解:先通过主频求出时钟周期,再求出机器周期和平均指令周期,最后通过平均指令周期的倒数求出平均指令执行速度。计算如下:时钟周期=1/8MHz=0.125×10-6s机器周期=0.125×10-6s×2=0.25×10-6s平均指令周期=0.25×10-6s×4=10-6s平均指令执行速度=1/10-6s=1MIPS 当参数改变后:机器周期=0.125×10-6s×4=0.5×10-6s平均指令周期=0.5×10-6s×4=2×10-6s平均指令执行速度=1/(2×10-6s)=0.5MIPS结论:两个主频相同的机器,执行速度不一定一样。7.某CPU的主频为10MHz,若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为1MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4µs的CPU芯片,则计算机的平均指令执行速度为多少MIPS?若要得到平均每秒80万次的指令执行速度,则应采用主频为多少的CPU芯片?解:先通过主频求出时钟周期时间,再进一步求出机器周期和平均指令周期。 时钟周期=1/10MHz=0.1×10-6s机器周期=0.1×10-6s×4=0.4×10-6s 平均指令周期=1/1MIPS=10-6s 每个指令周期所含机器周期个数=10-6s/0.4×10-6s=2.5个  当芯片改变后:机器周期=0.4µs×4=1.6µs平均指令周期=1.6µs×2.5=4µs 平均指令执行速度=1/4µs=0.25MIPS 若要得到平均每秒80万次的指令执行速度,则:平均指令周期=1/0.8MIPS=1.25×10-6=1.25µs机器周期=1.25µs÷2.5=0.5µs时钟周期=0.5µs÷4=0.125µsCPU主频=1/0.125µs=8MHz8.某计算机的主频为6MHz,各类指令的平均执行时间和使用频度如下表所示,试计算该机的速度(单位用MIPS表示),若上述CPU芯片升级为10MHz,则该机的速度又为多少?指令类别存取加、减、比较、转移乘除其它平均指令执行时间0.6µs0.8µs10µs1.4µs使用频度35%45%5%15%解:(1)指令平均运行时间=(0.6×0.35+0.8×0.45+10×0.05+1.4×0.15)μs=1.28μs   机器平均运行速度=1/1.28μs≈0.78MIPS(2)时钟周期=1/6MHz≈0.167μs指令平均运行周期数=1.28μs÷0.167μs≈7.66CPI若CPU芯片升级为10MHz,时钟周期=1/10MHz=0.1μs指令平均运行时间=0.1μs×7.66=0.766μs机器平均运行速度=1/0.766μs≈1.3MIPS10.试比较同步控制、异步控制和联合控制的区别。答:同步控制是指任何一条指令或指令中任何一个微操作的执行都是事先确定的,并且都受同一基准时标的时序信号所控制的方式。异步控制无基准时标信号,微操作的时序是由专门的应答线路控制,即控制单元发出执行某一微操作的控制信号后,等待执行部件完成了该操作后发回“回答”或“结束”信号,再开始新的微操作。联合控制是同步控制和异步控制相结合的方式,即大多数操作(如CPU内部各操作)在同步时序信号的控制下进行,少数时间难以确定的微操作(如涉及I/O操作)采用异步控制。 11.设CPU内部结构如图9.4所示,此外还设有B、C、D、E、H、L六个寄存器,它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bi为寄存器B的输入控制;Bo为B的输出控制)。要求从取指令开始,写出完成下列指令所需的全部微操作和控制信号。(1)ADDB,C((B)+(C)®B)(2)SUBA,H((AC)-(H)®AC)解:先画出相应指令的流程图,然后将图中每一步数据通路操作分解成相应的微操作,再写出同名的微命令即可。(1)ADDB,C指令流程及微命令序列如下: (2)SUBA,H指令流程及微命令序列如下:13.设CPU内部结构如图9.4所示,此外还设有R1~R4四个寄存器,它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如R2i为寄存器R2的输入控制;R2o为R2的输出控制)。要求从取指令开始,写出完成下列指令所需的全部微操作和控制信号。 (1)ADDR2,@R4;((R2)+((R4))®R2,寄存器间接寻址)(2)SUBR1,@mem;((R1)-((mem))®R1,存储器间接寻址)解:(1)ADDR2,@R4的指令周期信息流程图及微操作控制信号如下:(2)SUBR1,@mem指令周期信息流程图及微操作控制信号如下: 14.设单总线计算机结构如图9.5所示,其中M为主存,XR为变址寄存器,EAR为有效地址寄存器,LATCH为锁存器。假设指令地址已存于PC中,画出“LDA*D”和“SUBX,D”指令周期信息流程图,并列出相应的控制信号序列。说明:(1)“LDA*D”指令字中*表示相对寻址,D为相对位移量。(2)“SUBX,D”指令字中X为变址寄存器XR,D为形式地址。(3)寄存器的输入和输出均受控制信号控制,例如,PCi表示PC的输入控制信号,MDRo表示MDR的输出控制信号。(4)凡是需要经过总线实现寄存器之间的传送,需要在流程图中注明,如PC®Bus®MAR,相应控制信号为PCo和MARi。解:(1)“LDA*D”指令周期信息流程图及微操作控制信号如下: (2)“SUBX,D”指令周期信息流程图及微操作控制信号如下: 第十章1.假设响应中断时,要求将程序断点存在堆栈内,并且采用软件办法寻找中断服务程序的入口地址,试写出中断隐指令的微操作及节拍安排。解:设软件查询程序首址为0号内存单元,则中断隐指令的微操作命令及节拍安排如下:T0  0SPT1  ,SP®MART2  SP®W,SP+1M(MAR)T3  PSW®MAR,MDR®SPT4  1®W,SP+1®MDR,®M(MAR)PC®EINT  由于题意中没有给出确切的数据通路结构,故上述节拍分配方案的并行性较低。®PC,MDR®0  ®MDR,1®MAR2.写出完成下列指令的微操作及节拍安排(包括取指操作)。 (1)指令ADDR1,X完成将R1寄存器的内容和主存X单元的内容相加,结果存于R1的操作。 (2)指令ISZX完成将主存X单元的内容增1,并根据其结果若为0,则跳过下一条指令执行。解:设采用单总线结构的CPU数据通路如下图所示,且ALU输入端设两个暂存器C、D(见17题图)。并设采用同步控制,每周期3节拍:  (1)指令ADDR1,X的微操作及节拍安排如下:  取指周期:T0PC®MAR,1®RT1M(MAR)®MDR,PC+1®PCT2MDR®IR,OP(IR)®ID执行周期1:T0Ad(IR)®MAR,1®R    T1M(MAR)®MDRT2MDR®D执行周期2:T0R1®CT1+T2ALU®R1(2)指令ISZX的微操作及节拍安排:取指周期同(1):略执行周期1:T0Ad(IR)®MAR,1®R    T1M(MAR)®MDRT2MDR®C,+1®ALU执行周期2:T0ALU®MDR,1®WT1(PC+1)·Z+PC·®PC  12.能否说水平型微指令就是直接编码的微指令,为什么? 解:不能说水平型微指令就是直接编码的微指令,因为符合水平型微指令特征的微指令都属于水平型微指令,常见的有:直接编码、字段直接编码、字段间接编码,及混合编码等。直接编码的微指令只是最典型的一种。15.设控制存储器的容量为512×48位,微程序可在整个控存空间实现转移,而控制微程序转移的条件共有4个(采用直接控制),微指令格式如下:解:因为控制存储器共有512*48=29*48所以,下址字段应有9位,微指令字长48位又因为控制微程序转移的条件有4个,4+1<=23所以判断测试字段占3位因此控制字段位数为:48-9-3=364813121091控制字段测试字段下址字段微指令格式为:21.下表给出8条微指令I1~I8及所包含的微命令控制信号,设计微指令操作控制字段格式,要求所使用的控制位最少,而且保持微指令本身内在的并行性。解:为使设计出的微指令操作控制字段最短,并且保持微指令本身内在的并行性,应采用混合编码法。首先找出互斥的微命令组,为便于分析,将微命令表重画如下:由表中微命令的分布情况可看出:a、b、c、d、e微命令的并行性太高,因此不能放在同一字段中。另外,由分析可知,在2、3、4分组的互斥组中,3个一组的微命令互斥组对控制位的压缩作用最明显。因此,应尽可能多的找出3个一组的互斥组。现找出的互斥组有:cfj,dij,efh,fhi,bgj,ehj,efj……等等。从中找出互不相重的互斥组有两个:dij,efh。则:微指令操作控制字段格式安排如下: 1  1  1  1  2   2abcefhdij各字段编码分配如下:a:0无操作,1a微命令; b:0无操作,1b微命令;c:0无操作, 1c微命令;g:0无操作,1g微命令; dij:00无操作;01d微命令;10i微命令;11j微命令;efh:00无操作;01e微命令;10f微命令;11h微命令与采用直接控制法比较:直接控制法:10个微命令需10位操作控制位;本方案中10个微命令需8位操作控制位,压缩了2位。'