计算机组成原理作业1-10章答案(唐朔飞)1
更新时间:2024-04-29 16:54:01 阅读量: 综合文库 文档下载
- 计算机组成原理作业1答案推荐度:
- 相关推荐
第1章 计算机系统概论
1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:P3
计算机系统:由计算机硬件系统和软件系统组成的综合体。 计算机硬件:指计算机中的电子线路和物理装置。 计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?
答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。 (2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。 答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构? 答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯?诺依曼计算机的特点是什么? 解:冯?诺依曼计算机的特点是:P8
? 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成; ? 指令和数据以同同等地位存放于存储器内,并可以按地址访问; ? 指令和数据均用二进制表示;
? 指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地
址码用来表示操作数在存储器中的位置;
? 指令在存储器中顺序存放,通常自动顺序取出执行; ? 机器以运算器为中心(原始冯?诺依曼机)。
6. 画出计算机硬件组成框图,说明各部件的作用及计算机系统的主要技术指标。 答:计算机硬件组成框图如下:
控制器运算器CPU存储器接口接口输入设备主机外设输出设备 各部件的作用如下:
控制器:整机的指挥中心,它使计算机的各个部件自动协调工作。
运算器:对数据信息进行处理的部件,用来进行算术运算和逻辑运算。 存储器:存放程序和数据,是计算机实现“存储程序控制”的基础。
输入设备:将人们熟悉的信息形式转换成计算机可以接受并识别的信息形式的设备。
输出设备:将计算机处理的结果(二进制信息)转换成人类或其它设备可以接收和识别的信息形式的设备。 计算机系统的主要技术指标有:
机器字长:指CPU一次能处理的数据的位数。通常与CPU的寄存器的位数有关,字长越长,数的表示范围越大,精度也越高。机器字长也会影响计算机的运算速度。
数据通路宽度:数据总线一次能并行传送的数据位数。
存储容量:指能存储信息的最大容量,通常以字节来衡量。一般包含主存容量和辅存容量。
运算速度:通常用MIPS(每秒百万条指令)、MFLOPS(每秒百万次浮点运算)或CPI(执行一条指令所需的时钟周期数)来衡量。CPU执行时间是指CPU对特定程序的执行时间。
主频:机器内部主时钟的运行频率,是衡量机器速度的重要参数。
吞吐量:指流入、处理和流出系统的信息速率。它主要取决于主存的存取周期。
响应时间:计算机系统对特定事件的响应时间,如实时响应外部中断的时间等。
7. 解释下列概念:
主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 解:P9-10
主机:是计算机硬件的主体部分,由CPU和主存储器MM合成为主机。 CPU:中央处理器,是计算机硬件的核心部件,由运算器和控制器组成;(早期的运算器和控制器不在同一芯片上,现在的CPU内除含有运算器和控制器外还集成了CACHE)。
主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。
存储单元:可存放一个机器字并具有特定存储地址的存储单位。
存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。
存储字:一个存储单元所存二进制代码的逻辑单位。 存储字长:一个存储单元所存储的二进制代码的总位数。 存储容量:存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)。 机器字长:指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。
指令字长:机器指令中二进制代码的总位数。
8. 解释下列英文缩写的中文含义:
CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS
解:全面的回答应分英文全称、中文名、功能三部分。
CPU:Central Processing Unit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。
PC:Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。
IR:Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。 CU:Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。
ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。
ACC:Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
MQ:Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR:Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。
MDR:Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。
I/O:Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。
MIPS:Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。
9. 画出主机框图,分别以存数指令“STA M”和加法指令“ADD M”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。
解:主机框图如P13图1.11所示。
(1)STA M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,
OP(IR)→CU,Ad(IR)→MAR,ACC→MDR,MAR→MM,
WR
(2)ADD M指令: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位。
10. 指令和数据都存于存储器中,计算机如何区分它们? 解:计算机区分指令和数据有以下2种方法:
? 通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
? 通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
第2章 计算机的发展及应用
1. 通常计算机的更新换代以什么为依据? 答:P22
主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路等。
2. 举例说明专用计算机和通用计算机的区别。
答:按照计算机的效率、速度、价格和运行的经济性和实用性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性,而专用计算机是最有效、最经济和最快的计算机,但适应性很差。例如个人电脑和计算器。
3. 什么是摩尔定律?该定律是否永远生效?为什么? 答:P23,否,P36
第3章 系统总线
1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?
答:P41.总线是一种能由多个部件分时共享的公共信息传送线路。
总线传输的特点是:某一时刻只允许有一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。
为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。
2. 总线如何分类?什么是系统总线?系统总线又分为几类,它们各有何作用,是单向的,还是双向的,它们与机器字长、存储字长、存储单元有何关系? 答:按照连接部件的不同,总线可以分为片内总线、系统总线和通信总线。
系统总线是连接CPU、主存、I/O各部件之间的信息传输线。 系统总线按照传输信息不同又分为地址线、数据线和控制线。地址线是单向的,其根数越多,寻址空间越大,即CPU能访问的存储单元的个数越多;数据线是双向的,其根数与存储字长相同,是机器字长的整数倍。
3. 常用的总线结构有几种?不同的总线结构对计算机的性能有什么影响?举例说明。
答:略。见P52-55。
4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?
答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;
常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求; 特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。
5. 解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。 答:P46。
总线宽度:通常指数据总线的根数;
总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数; 总线复用:指同一条信号线可以分时传输不同的信号。 总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期:指总线完成一次完整而可靠的传输所需时间; 总线的通信控制:指总线传送过程中双方的时间配合方式。
6. 试比较同步通信和异步通信。
答:同步通信:指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中
各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合。
异步通信:指没有统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。
7. 画图说明异步通信中请求与回答有哪几种互锁关系? 答:见P61-62,图3.86。
8. 为什么说半同步通信同时保留了同步通信和异步通信的特点? 答:半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。
9. 分离式通讯有何特点,主要用于什么系统? 答:分离式通讯的特点是:(1)各模块欲占用总线使用权都必须提出申请;(2)在得到总线使用权后,主模块在先定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号;(3)各模块在准备数据的过程中都不占用总线,使总线可接受其它模块的请求;(4)总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分利用了总线的占用,从而实现了总线在多个主、从模块间进行信息交叉重叠并行传送。
分离式通讯主要用于大型计算机系统。
10. 为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plug and play?哪些总线有这一特点?
答:总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;
目前流行的总线标准有:ISA、EISA、PCI等;
plug and play:即插即用,EISA、PCI等具有此功能。
11. 画一个具有双向传输功能的总线逻辑图。
答:在总线的两端分别配置三态门,就可以使总线具有双向传输功能。
a0a1anb0b1bna至bb至a
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)所示。
cp脉冲ABC总线busT三态门TcpD 图(1)
(2)三态门1受T0+T1控制,以确保T0时刻D→总线,以及T1时刻总线→接收门1→A。三态门2受T2+T3控制,以确保T2时刻A→总线,以及T3时刻总线→接收门2→B。T0、T1、T2、T3波形图如图(2)所示。
A接收门1三态门2CPT0T1T2+T3T1T2T3BUS三态门1T0+T1接收门2T3DB
图(2)
13. 什么是总线的数据传输率,它与哪些因素有关?
答:总线数据传输率即总线带宽,指单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量。它与总线宽度和总线频率有关,总线宽度越宽,频率越快,数据传输率越高。
14. 设总线的时钟频率为8MHZ,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?
解:由于:f=8MHz,T=1/f=1/8M秒,一个总线周期等于一个时钟周期
所以:总线带宽=16/(1/8M) = 128Mbps
15. 在一个32位的总线系统中,总线的时钟频率为66MHZ,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?
解:总线传输周期=4*1/66M秒
总线的最大数据传输率=32/(4/66M)=528Mbps
若想提高数据传输率,可以提高总线时钟频率、增大总线宽度或者减少总线传输周期包含的时钟周期个数。
16. 在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。 解:一帧包含:1+8+1+2=12位 故波特率为:(1+8+1+2)*120=1440bps 比特率为:8*120=960bps
第4章 存储器
1. 解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。
答:主存:主存储器,用于存放正在执行的程序和数据。CPU可以直接进行随机读写,访问速度较高。
辅存:辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。
Cache:高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。
RAM:半导体随机存取存储器,主要用作计算机中的主存。 SRAM:静态半导体随机存取存储器。 DRAM:动态半导体随机存取存储器。
ROM:掩膜式半导体只读存储器。由芯片制造商在制造时写入内容,以后只能读出而不能写入。
PROM:可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。 EPROM:紫外线擦写可编程只读存储器。需要修改内容时,现将其全部内容擦除,然后再编程。擦除依靠紫外线使浮动栅极上的电荷泄露而实现。
EEPROM:电擦写可编程只读存储器。 CDROM:只读型光盘。
Flash Memory:闪速存储器。或称快擦型存储器。
2. 计算机中哪些部件可以用于存储信息?按速度、容量和价格/位排序说明。 答:计算机中寄存器、Cache、主存、硬盘可以用于存储信息。
按速度由高至低排序为:寄存器、Cache、主存、硬盘; 按容量由小至大排序为:寄存器、Cache、主存、硬盘; 按价格/位由高至低排序为:寄存器、Cache、主存、硬盘。
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
字节地址字地址0000H0001H0002H0003H0004H0005H0006H0007H0008H0009H0000H 0001H0002H主存字地址和字节地址的分配情况:如图
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。 答:略。(参看课件)
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 采用异步刷新方式刷新间隔为:2ms
12. 画出用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位地址译码输出选择芯片。地址格式分配如下:
模板号(3位) 芯片号 (3位) 片内地址(12位)
15. 设CPU共有16根地址线,8根数据线,并用MREQ(低电平有效)作访存控制信号,R/W作读写命令信号(高电平为读,低电平为写)。现有下列存储8位,4K×4位,8K×8位)4位,2K×8位,4K×8芯片:ROM(2K×,RAM(1K×位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区。 (2)指出选用的存储芯片类型及数量。 (3)详细画出片选逻辑。 解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H-0FFFH 用户程序区(RAM共12KB):1000H-3FFFH (2)选片:ROM:选择4K×4位芯片2片,位并联 RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围
为:3000H-3FFFH)
(3)各芯片二进制地址分配如下: A1A1A1A1A1A1AAAAAA5 4 3 2 1 0 9 8 7 6 5 4 0 0 0 0 0 0 0 0 0 0 0 0 ROM1,2 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 RAM1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 RAM2 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 RAM3 0 0 1 1 1 1 1 1 1 1 1 1 CPU和存储器连接逻辑图及片选逻辑如下图(3)所示: MREQG1G2AA15A14A13A12A11A0G2BABCY7AAAA3 2 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 74138Y3Y2Y1Y0......PD/PROG...ROM2......RAM1...CS...RAM2...CS...RAM3...CPUROM1...OEOER/WR/WR/WCSD0D3D4......D7R/W图(3)
16. CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连,试回答:
(1)用74138译码器画出CPU与存储芯片的连接图; (2)写出每片RAM的地址范围;
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。
(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果? 解:(1)CPU与存储器芯片连接逻辑图:
+5VG1G2AMREQY7A15A14A13A12A0G2BABC74138......Y2Y1Y0...WE...WE.........CSWECPUD0D7RAM0...CSRAM1RAM7......CSR/W...
(2)地址空间分配图:
RAM0:0000H——1FFFH RAM1:2000H——3FFFH RAM2:4000H——5FFFH RAM3:6000H——7FFFH RAM4:8000H——9FFFH RAM5:A000H——BFFFH RAM6:C000H——DFFFH RAM7: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⊕b1 c2=b4⊕b2⊕b1 c3=b3⊕b2⊕b1
当有效信息为1100时,c3c2c1=110,汉明码为0111100。 当有效信息为1101时,c3c2c1=001,汉明码为1010101。
当有效信息为1110时,c3c2c1=000,汉明码为0010110。 当有效信息为1111时,c3c2c1=111,汉明码为1111111。
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’)出错,有效信息为:0001
19. 已经接收到下列汉明码,分别写出它们所对应的欲传送代码。
(1)1100000(按偶性配置) (2)1100010(按偶性配置) (3)1101001(按偶性配置) (4)0011001(按奇性配置) (5)1000000(按奇性配置) (6)1110001(按奇性配置) 解:(一)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按偶性配置则:
P1=C1’⊕B4’⊕B3’⊕B1’ P2=C2’⊕B4’⊕B2’⊕B1’ P3=C3’⊕B3’⊕B1’
(1)如接收到的汉明码为1100000, P1=1⊕0⊕0⊕0=1 P2=1⊕0⊕0⊕0=1 P3=0⊕0⊕0=0
P3P2P1=011,第3位出错,可纠正为1110000,故欲传送的信息为1000。 (2)如接收到的汉明码为1100010, P1=1⊕0⊕0⊕0=1 P2=1⊕0⊕1⊕0=0 P3=0⊕0⊕0=0
P3P2P1=001,第1位出错,可纠正为0100010,故欲传送的信息为0010。 (3)如接收到的汉明码为1101001, P1=1⊕0⊕0⊕1=0 P2=1⊕0⊕0⊕1=0 P3=1⊕0⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为0001。
(二)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按奇性配置则: P1=C1’⊕B4’⊕B3’⊕B1’⊕1 P2=C2’⊕B4’⊕B2’⊕B1’⊕1 P3=C3’⊕B3’⊕B1’⊕1
(4)如接收到的汉明码为0011001, P1=0⊕1⊕0⊕1⊕1=1 P2=0⊕1⊕0⊕1⊕1=1 P3=1⊕0⊕1⊕1=1
P3P2P1=111,第7位出错,可纠正为0011000,故欲传送的信息为1000。 (5)如接收到的汉明码为1000000, P1=1⊕0⊕0⊕0⊕1=0 P2=0⊕1⊕0⊕0⊕1=0 P3=0⊕0⊕0⊕1=1
P3P2P1=100,第4位出错,可纠正为1001000,故欲传送的信息为0000。 (6)如接收到的汉明码为1110001, P1=1⊕1⊕0⊕1⊕1=0 P2=1⊕1⊕0⊕1⊕1=0 P3=0⊕0⊕1⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为1001。
20. 欲传送的二进制代码为1001101,用奇校验来确定其对应的汉明码,若在第6位出错,说明纠错过程。
解:欲传送的二进制代码为1001101,有效信息位数为n=7位,则汉明校验的校验位为k位,则:2k>=n+k+1,k=4,进行奇校验设校验位为C1C2C3C4,汉明码为C1C2B7C3B6B5B4C4B3B2B1,
C1=1⊕B7⊕B6⊕B4⊕B3⊕B1=1⊕1⊕0⊕1⊕1⊕1=1 C2=1⊕B7⊕B5⊕B4⊕B2⊕B1=1⊕1⊕0⊕1⊕0⊕1=0 C3=1⊕B6⊕B5⊕B4=1⊕0⊕0⊕1=0 C4=1⊕B3⊕B2⊕B1=1⊕1⊕0⊕1=1
故传送的汉明码为10100011101,若第6位(B5)出错,即接收的码字为10100111101,则
P1=1⊕C1’⊕B7’⊕B6’⊕B4’⊕B3’⊕B1’=1⊕1⊕1⊕0⊕1⊕1⊕1=0 P2=1⊕C2’⊕B7’⊕B5’⊕B4’⊕B2’⊕B1’=1⊕0⊕1⊕1⊕1⊕0⊕1=1 P3=1⊕C3’⊕B6’⊕B5’⊕B4’=1⊕0⊕0⊕1⊕1=1 P4=1⊕C4’⊕B3’⊕B2’⊕B1’=1⊕1⊕1⊕0⊕1=0
P4P3P2P1=0110说明第6位出错,对第6位取反即完成纠错。
21. 为什么在汉明码纠错过程中,新的检测位P4P2P1的状态即指出了编码中错误的信息位?
答:汉明码属于分组奇偶校验,P4P2P1=000,说明接收方生成的校验位和收到的校验位相同,否则不同说明出错。由于分组时校验位只参加一组奇偶校验,有效信息参加至少两组奇偶校验,若果校验位出错,P4P2P1的某一位将为1,刚好对应位号4、2、1;若果有效信息出错,将引起P4P2P1中至少两位为1,如
B1出错,将使P4P1均为1,P2=0,P4P2P1=101,
22. 某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明。
解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序如下图:
启动存储体0启动存储体1启动存储体2启动存储体3启动存储体4启动存储体5启动存储体6启动存储体7单体访存周期
23. 设CPU共有16根地址线,8根数据线,并用M/IO作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O),WR(低电平有效)为写命令,RD(低电平有效)为读命令。设计一个容量为64KB的采用低位交叉编址的8体并
Ai A0...RAMOECEWE...行结构存储器。现有下图所示的存储器芯片和138译码器。Dn D0 画出CPU和存储器芯片(芯片容量自定)的连接图,并写出图中每个存储芯片的地址范围(用十六进制数表示)。
解:8体低位交叉并行存储器的每个存储体容量为64KB/8=8KB,因此应选择8KBRAM芯片,芯片地址线12根(A0-A12),数据线8根(D0-D7),用138译码器进行存储体的选择。设计如下:
+5V。G1G2A。Y7MREQA0A1A2A15.G2BABC74138。。。。Y3Y2Y1Y0..........RAM1......RAM2......RAM3...A3.....RAM0......A0 A12CEOEWED0 D7A0 A12CEA0 A12CEOEWED0 D7A0 A12CEOEWED0 D7A0 A12CEOEWED0 D7CPUD0OEWED0 D7RAM7..................D7..WRRD..........
24. 一个4体低位交叉的存储器,假设存储周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?
解:4体低位交叉的存储器的总线传输周期为τ,τ=T/4,依次访问64个字所需时间为:
t=T+(64-1) τ=T+63T/4=16.75T
25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?
答:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache-主存层次和主存-辅存层次均采用了程序访问的局部性原理。
26. 计算机中设置Cache的作用是什么?能否将Cache的容量扩大,最后取代主存,为什么?
答:计算机中设置Cache的作用是解决CPU和主存速度不匹配问题。
不能将Cache的容量扩大取代主存,原因是:(1)Cache容量越大成本越高,难以满足人们追求低价格的要求;(2)如果取消主存,当CPU访问Cache失败时,需要将辅存的内容调入Cache再由CPU访问,造成CPU等待时间太长,损失更大。
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),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。
28. 设主存容量为256K字,Cache容量为2K字,块长为4。
(1)设计Cache地址格式,Cache中可装入多少块数据? (2)在直接映射方式下,设计主存地址格式。
(3)在四路组相联映射方式下,设计主存地址格式。 (4)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。 解:(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,
Cache字地址9位,字块内地址为2位
因此,Cache地址格式设计如下: Cache字块地址(9位) 字块内地址(2位) (2)主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,
主存字块标记为18-9-2=7位。
直接映射方式下主存地址格式如下: 字块内地址(2主存字块标记(7位) Cache字块地址(9位) 位) (3)根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,
主存字块标记为18-7-2=9位,主存地址格式设计如下: 主存字块标记(9位) 组地址(7位) 字块内地址(2位) (4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:
主存字块标记(16位) 字块内地址(2位) (5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B,
145
Cache容量为2K*32/4=2B,块长为4*32/4=32B=2B,字块内地址为5
位,
在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:
主存字块标记(7位) Cache字块地址(9位) 字块内地址(5位) 在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格
式为:
主存字块标记(9位) 组地址(7位) 字块内地址(5位) 在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:
主存字块标记(16位) 字块内地址(5位)
29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍? 解:Cache被访问命中率为:4800/(4800+200)=24/25=96%
则Cache-主存系统的平均访问时间为:ta=0.96*30ns+(1-0.96)*150ns=34.8ns Cache-主存系统的访问效率为:e=tc/ta*100%=30/34.8*100%=86.2% 性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。
30. 一个组相连映射的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位) 位)
31. 设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位。试问主存地址为ABCDEH的存储单元在Cache中的什么位置? 解:主存和Cache按字节编址,
Cache容量16KB=214B,地址共格式为14位,分为16KB/(4*32/8B)=210块,每块4*32/8=16B=24B,Cache地址格式为: Cache字块地址(10位) 字块内地址(4位) 主存容量1MB=220B,地址共格式为20位,分为1MB/(4*32/8B)=216块,每块24B,采用直接映射方式,主存字块标记为20-14=6位,主存地址格式为:
字块内地址(4主存字块标记(6位) Cache字块地址(10位) 位) 主存地址为ABCDEH=1010 1011 1100 1101 1110B,主存字块标记为101010,Cache字块地址为11 1100 1101,字块内地址为1110,故该主存单元应映射到Cache的101010块的第1110字节,即第42块第14字节位置。或者在Cache的第11 1100 1101 1110=3CDEH字节位置。
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个字,每字32位(4字节),得出主存地址字段中字块内地址为3+2=5位。
根据Cache容量为16KB=214B,字块大小为8*32/8=32=25B,得Cache地址共14位,Cache共有214-5=29块。
根据四路组相联映射,Cache共分为29/22=27组。
根据主存容量为4MB=222B,得主存地址共22位,主存字块标记为22-7-5=10位,故主存地址格式为: 主存字块标记(10位) 组地址(7位) 字块内地址(5位) (2)由于每个字块中有8个字,而且初态为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读第1~7号单元时均命中。同理,CPU读第8,16,…,88号时均未命中。可见,CPU在连续读90个字中共有12次未命中,而后8次循环读90个字全部命中,命中率为:
90?8?12?0.984 90?8(3)设Cache的周期为t,则主存周期为6t,没有Cache的访问时间为6t*90*8,有Cache的访问时间为t(90*8-12)+6t*12,则有Cache和无Cache相比,速度提高的倍数为:
6t?90?8?1?5.54
(90?8?12)t?6t?1233.简要说明提高访存速度可采取的措施。 答:提高访存速度可采取三种措施:
(1)采用高速器件。即采用存储周期短的芯片,可提高访存速度。
(2)采用Cache。CPU最近要使用的信息先调入Cache,而Cache的速度比主存快得多,这样CPU每次只需从Cache中读写信息,从而缩短访存时间,提高访存速度。
(3)调整主存结构。如采用单体多字或采用多体结构存储器。
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.5= 220道
(3)内层道周长=?×22=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
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+2×275道/(5道/mm) = 230mm + 110mm = 340mm
最低位密度 = 12 288B /(?×340)= 11B/mm = 92位 / mm (向下取整) (3)磁盘数据传输率= 12 288B × 3000转/分=12 288B × 50转/秒=614 400B/s (4)平均等待时间 = 1s/50 / 2 = 10ms
第5章 输入输出系统
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地址空间。
2. 简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合? 答: CPU与I/O之间传递信息常采用三种联络方式:直接控制(立即响应)、 同步、异步。 适用场合分别为: 直接控制适用于结构极简单、速度极慢的I/O设备,CPU直接控制外设处于某种状态而无须联络信号。
同步方式采用统一的时标进行联络,适用于CPU与I/O速度差不大,近距离传送的场合。
异步方式采用应答机制进行联络,适用于CPU与I/O速度差较大、远距离传送的场合。
6. 字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用? 解:显示缓冲存储器的作用是支持屏幕扫描时的反复刷新;只读存储器作为字符发生器使用,他起着将字符的ASCII码转换为字形点阵信息的作用。
8. 某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为1位起始位、7位数据位、1位校验位和1位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少? 解:480×10=4800位/秒=4800波特
波特——是数据传送速率波特率的单位。
10. 什么是I/O接口,与端口有何区别?为什么要设置I/O接口?I/O接口如何分类?
解:I/O接口一般指CPU和I/O设备间的连接部件,而端口是指I/O接口内CPU能够访问的寄存器,端口加上相应的控制逻辑即构成I/O接口。
I/O接口分类方法很多,主要有:
(1)按数据传送方式分有并行接口和串行接口两种;
(2)按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。
12. 结合程序查询方式的接口电路,说明其工作过程。 解:程序查询接口工作过程如下(以输入为例):
1)CPU发I/O地址设备开始工作;地址总线?接口?设备选择器译码?选
中?发SEL信号; 2)CPU发启动命令 DBR?开命令接收门; ? D置0,B置1 ? 接口向设备发启动命令;3)CPU等待,输入设备读出数据;4)外设工作完成,B置0,D置1;5)准备就绪信号?接口?完成信号?控制总线? CPU;6)输入:CPU通过输入指令(IN)将DBR中的数据取走。
若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下: 开命令接收门;?选中,发SEL信号?设备选择器译码?接口?地址总线?1)CPU发I/O地址 2)输出: CPU通过输出指令(OUT)将数据放入接口DBR中;设备开始工作;?接口向设备发启动命令? D置0,B置1 ? 3)CPU发启动命令 4)CPU等待,输出设备将数据从 DBR取走; B置0,D置1;?接口? 5)外设工作完成,完成信号 CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送。?控制总线?6)准备就绪信号。
13. 说明中断向量地址和入口地址的区别和联系。 解:中断向量地址和入口地址的区别:
向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。
中断向量地址和入口地址的联系:
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JMP指令;主存中设向量地址表。参考8.4.3)
14. 在什么条件下,I/O设备可以向CPU提出中断请求?
解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。
15. 什么是中断允许触发器?它有何作用? 解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。
16. 在什么条件和什么时间,CPU可以响应I/O的中断请求?
解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。
17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?
解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。 N个数据所需的处理时间=P×N+Q秒 平均每个数据所需处理时间= (P×N+Q)/N秒
求倒数得:该系统跟踪到的每秒中断请求数=N/(P×N+Q)次。
[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ——无溢出 A+B= -0.010 0010B = -17/64
(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B [A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001
[A-B]补= 0.1001100 + 0.0010001= 0.1011101 ——无溢出 A-B= 0.101 1101B = 93/128B
(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B [A]补=1.110 1000, [B]补= 0.010 0100
[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 —— 无溢出 A+B= 0.000 1100B = 3/32
(4) A= -87= -101 0111B, B=53=110 101B
[A]补=1 010 1001, [B]补=0 011 0101, [-B]补=1 100 1011
[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出 (5)A=115= 111 0011B, B= -24= -11 000B [A]补=0 1110011, [B]补=1,110 1000
[A+B]补= 0 1110011 + 1 1101000 = 0 1011011——无溢出 A+B= 101 1011B = 91
20. 用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·y。 (1)x= 0.110 111,y= -0.101 110; (2)x= -0.010 111,y= -0.010 101; (3)x= 19,y= 35;
(4)x= 0.110 11,y= -0.111 01。
解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。 (1)[x]原=0.110111,[y]原=1.101110,x*=0.110111, y*=0.101110 原码一位乘: 部分积 乘数y* 说明 0.000 000 101 110 部分积初值为0,乘数为0加0 +0.000 000 0.000 000 右移一位 0.000 000 010 111 乘数为1,加上x* +0.110 111 0.110 111 右移一位 0.011 011 101 011 乘数为1,加上x* +0.110 111 1.010 010 右移一位 0.101 001 010 101 乘数为1,加上x* +0.110 111 1.100 000 右移一位 0.110 000 001 010 乘数为0,加上0 +0.000 000 0.110 000 右移一位 0.011 000 000 101 乘数为1,加上x* +0.110 111 1.001 111 右移一位 0.100 111 100 010 即x*×y*=0.100 111 100 010,z0=x0? y0=0 ?1=1, [x×y]原=1.100 111 100 010,x·y= -0. 100 111 100 010 原码两位乘:[-x*]补=1.001 001,2x*=1.101 110 部分积 乘数y* Cj 说明 000 . 000 00 101 110 0 部分积初值为0,Cj=0 000 根据yn-1ynCj=100,加2x*,保持+001 . 101 Cj=0 110 001 . 101 0 110 000 . 011 10 001 011 0 右移2位 011 10 001 011 根据yn-1ynCj=110,加[-x*]补,置+111 . 001 Cj=1 001 111 . 100 右移2位 100 00 100 010 1 111 . 111 根据yn-1ynCj=101,加[-x*]补,置001 Cj=1 +111 . 001 001 111 . 000 010 10 001 000 1 右移2位 111 . 110 根据yn-1ynCj=001,加x*,保持Cj=0 000 +000 . 110 111 000 . 100 10 001 0 111 即x*×y*=0.100 111 100 010,z0=x0? y0=0 ?1=1, [x×y]原=1.100 111 100 010,x·y= -0. 100 111 100 010
补码一位乘:[x]补=0.110111,[-x]补=1.001001,[y]补=1.010010 部分积 乘数 Yn+1 说明 00 . 000 1 010 010 0 Ynyn+1=00,部分积右移1位 000 0 101 001 0 Ynyn+1=10,部分积加[-x]补 00 . 000 000 +11 . 001 001 11 . 001 右移1位 001 11 . 100 1 010 100 1 Ynyn+1=01,部分积加[x]补 100 +00 . 110 111 00 . 011 右移1位 011 00 . 001 1 101 010 0 Ynyn+1=00,部分积右移1位 101 1 110 101 0 Ynyn+1=10,部分积加[-x]补 00 . 000 110 +11 . 001 001 11 . 001 右移1位 111 11 . 100 1 111 010 1 Ynyn+1=01,部分积加[x]补 111 +00 . 110 111 00 . 011 右移1位 110 0 111 101 0 Ynyn+1=10,部分积加[-x]补 00 . 001 111 +11 . 001 001 11 . 011 0 111 10 000 即 [x×y]补=1.011 000 011 110,x·y= -0.100 111 100 010 补码两位乘:
2[x]补=001.101110,2[-x]补=1.001001 部分积 乘数 Yn+1 说明
结果同补码一位乘, x·y= -0. 100 111 100 010 00
21. 用原码加减交替法和补码加减交替法计算x÷y。 (1)x=0.100111,y=0.101011; (2)x=-0.10101, y=0.11011; (3)x=0.10100, y= -0.10001; (4)x=13/32, y= -27/32。 解:(1)x*=[x]原=[x]补=x= 0.100 111 y*=[y]原=[y]补=y= 0=0 ?y0=0 ?0.101 011 [-y*]补=[-y]补=1.010 101 q0=x0 y]原=0.111 010 r*=0.000 010×2-6=0.000 000 000 010 ?y*=[x?y=x*?x 计算过程如下: 原码加减交替除法: 被除数(余数) 商 0 . 1 0 0 1 1
1 0 . 0 0 0 0 0 0 + 1 . 0 1 0 1 0 1 试减,+[-y*]补 1 . 1 1 1 1 0 1 . 1 1 1 0 0 0 0 . + 0 . 1 0 1 0 1 1 ?0 1 r< 1 . 0 0 0 1 1 0 ?0,+y* 0 . 1 0 0 0 1 1 1 0.1 + 1 . 0 1 0 1 0 1 r>?0, +[-y*]补 0 . 0 1 1 0 1 1 1 0 . 1 1 0 1 1 0 0.1 1 + 1 . 0 1 0 1 0 1 r>0, +[-y*]补 0 . 0 0 1 0 1 1
0 .?续: 被除数(余数) 商 1 0 1 0 1 1 0 0 . 1 1 1 + 1 . 0 1 0 1 0 1 r>0, 1 . 0 1 0 1 1 0 0.1 1 1 0 ?+[-y*]补 1 . 1 0 1 0 1 1 1 + 0 . 1 0 1 0 1 1 r< 0 . 0 0?0,+y* 0 . 0 0 0 0 0 1 1 0 0 1 0 0.1 1 1 0 1 + 1 . 0 1 0 1 0 1 r>0, 0.1 1 1 0 1 0 + 0 . 1 0 1 0 1 1 ?+[-y*]补 1 . 0 1 0 1 1 1 1 r<0,+y*(恢复余数) 0 . 0 0 0 0 1 0 补码加减交替除法: 被除数(余数) 商 0 0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 1 . 0 1 0 1 0 1 1 . 1 1 1 0 0 0 ?1 试减,x、y同号,+[-y]补 1 1 . 1 1 1 1 0 0 1 0 . + 0 0 . 1 0 1 0 1 1 r、y异号,+[y]补 0 0 0 1 . 0 0 0 1 1 0 0.1 + 1 1 . 0 1?. 1 0 0 0 1 1 1 0 0 . 1 1 0?0 1 0 1 r、y同号, +[-y]补 0 0 . 0 1 1 0 1 1 1 1 1 0 0.1 1 + 1 1 . 0 1 0 1 0 1 r、y同号, +[-y]补 0 0 . 0 0 1 0 1 1
0 0 . 0 1 0 ?续: 被除数(余数) 商 1 1 1 0 0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 r、y同号, +[-y]补 1 1 . 0 1 0 1 1 0 0.1 1 1 0 + ? 1 1 . 1 0 1 0 1 1 1 0 0 . 0?0 0 . 1 0 1 0 1 1 r、y异号,+[y]补 0 0 . 0 0 0 0 0 1 1 0 0 0 1 0 0.1 1 1 0 1 + 1 1 . 0 1 0 1 0 1 r、y同号, 0.1 1 1 0 1 1 —— 恒置1 + 0 0 . 1 0 1 ?+[-y]补 1 1 . 0 1 0 1 1 1 1 0 1 1 r、x异号,(恢复余数) 0 0 . 0 0 0 0 1 0 且r、y异号, +[y]补 y]补= 0.111 011 [r6]补=0.000 010,r=r*=0.000 000 000 010?y=[x?注:恒置1引入误差。 x
(2)x= -0.101 01,y=0.110 11 [x]原=1.101 01 x*= 0.101 01 y* = [y]原 = [y]补= y = 0.110 11 [-y*]补= [-y]补= 1.001 01 [x]补= 1.010 11 y?y]原=1.110 00 x?y*= 0.110 00 [x? 0 = 1 x*? y0 = 1 ? q0 = x0 = -0.110 00 r*=0.110 00×2-5 =0.000 001 100 0 计算过程如下: 原码加减交替除法: 被除数(余数) 商 0 . 1 0 1 0 1 0 . 0 ?0 0 0 0 + 1 . 0 0 1 0 1 试减,+[-y*]补 1 . 1 1 0 1 0 1 1 . 1 0 1 0 0 0 . + 0 . 1 1 0 1 1 r< 0 . 1 1 1 1 0 0.1 ?0,+y* 0 . 0 1 1 1 1 1 + 1 . 0 0 1 0 1 r> 0 . 0 0?0, +[-y*]补 0 . 0 0 0 1 1 1 1 1 0 0.1 1 + 1 . 0 0 1 0 1 r>0, +[-y*]补 1 . 0 1 0 1 1
0 . 1 0 1 1 0 ?续: 被除数(余数) 商 1 0 . 1 1 0 + 0 . 1 1 0 1 1 r<0, +y* 1 . 1 0 0 0 1 . 0 0 0 1 0 0.1 1 0 0 + 0 . 1 1 0 1 1 ?1 1 r< 0.1 1 0 0
0 + 0 . 1 1 0 1 1 ?0,+y* 1 . 1 1 1 0 1 1 r<0, +y*(恢复余数) 0 . 1 1 0 0 0
补码加减交替除法: 被除数(余数) 商 1 1 . 0 1 0 1 1 0 . 0 0 0 0 0 + 0 0 . 1 1 0 1 1 0 0 . 0 1 1 0 0 ? 试减,x、y异号,+[y]补 0 0 . 0 0 1 1 0 1 1 . + 1 1 . 0 0 1 0 1 r、y同号,+[-y]补 1 1 . 1 0 0 0 1 1 . 0 0 0 1 0 1.0 + 0 0 . 1 1 0 1 1 ?1 1 1 1 . 1 1 0 1 0 ? r、y异号, +[y]补 1 1 . 1 1 1 0 1 1 1.0 0 + 0 0 . 1 1 0 1 1 r、y异号, +[y]补 0 0 . 1 0 1 0 1
0 1 . 0 1 0 1 0 1 . 0 0 1?续: 被除数(余数) 商 1 0 0? + 1 1 . 0 0 1 0 1 r、y同号, +[-y]补 0 0 . 0 1 1 1 1 1 . 1 1 1 1 0 1.0 0 1 1 + 1 1 . 0 0 1 0 1 1.0 0 1 1 1 —— 恒置1 + 1 1 . 0 0?r、y同号,+[-y]补 0 0 . 0 0 0 1 1 1 1 0 1 r、x异号,(恢复余数) 1 1 . 0 1 0 0 0 且r、y同号,+[-y]补 y=?y]补=1.001 11,x?注:恒置1引入误差。 [r5]补=1.010 00, r= -0.000 001 100 0 [x -0.110 01
(3)x= 0.101 00,y= -0.100 01 x*= [x]原= [x]补= x=0.101 00 [y]原 = 1.100 01 y* = 0.100 01 [-y*]补=1.011 11 [y]补= 1.011 11 y*= 1.001 01 —— 溢出 ? 1 = 1 x*? y0 = 0 ? [-y]补= 0.100 01 q0 = x0 y = -1.001 01 r*=0.010 11×2-5 =0.000?y]原:无定义 x? [x 000 101 1 计算过程如下: 原码加减交替除法: 被除数(余数) 商 0 . 1 0 1 0 0 0 . 0 0 0 0 0 + 1 . 0 1 1 1 1 试减,+[-y*]补 0 . 0 0 0 . 0 0 1 1 0 1?0 1 1 1 . + 1 . 0 1 1 1 1 r>0, +[-y*]补 1 . 1 0 1 0 1 1 . 0 1 0 1 0 1.0 + 0 . 1 0? 1 0 0 1 r< 1 . 1 0 1 1 0 ?0, +y* 1 . 1 1 0 1 1 1 1.0 0 + 0 . 1 0 0 0 1 r<0, +y* 0 . 0 0 1 1 1
0 . 0 1 1 1 0 1 . 0 0 1 ?续: 被除数(余数) 商 1 + 1 . 0 1 1 1 1 r> 1 . 1 1?0, +[-y*]补 1 . 1 1 1 0 1 1 0 1 0 1.0 0 1 0 + 0 . 1 0 0 0 1 r<0,+y* 1.0 0 1 0 1 r?0 . 0 1 0 1 1 1>0, 结束 注:当x*>y*时产生溢出,这种情况在第一步运算后判断r的正负时就可发现。此时数值位占领小数点左边的1位,原码无定义,但算法本身仍可正常运行。
补码加减交替除法: 被除数(余数) 商 0 0 . 1 0 1 0 0 0 . 0 0 0 0 0 + 1 0 0 . 0 0 1 ?1 . 0 1 1 1 1 试减,x、y异号,+[y]补 0 0 . 0 0 0 1 1 1 1 0 0 . + 1 1 . 0 1 1 1 1 r、y异号,+[y]补 1 1 . 0 1 0 1 0 0.1 + 0 0 .? 1 1 . 1 0 1 0 1 1 1 1 . 1 0 1?1 0 0 0 1 r、y同号, +[-y]补 1 1 . 1 1 0 1 1 1 1 0 0.1 1 + 0 0 . 1 0 0 0 1 r、y同号, +[-y]补 0 0 . 0 0 1 1 1
0 0 . 0 1 1 1 0 ?续: 被除数(余数) 商 1 0 . 1 1 0 + 1 1 . 0 1 1 1 1 r、y异号, +[y]补 1 1 . 1 1 . 1 1 0 1 0 0.1 1 0 1 + 0 0 . 1 0 0 0?1 1 1 0 1 1 0.1 1 0 1 1 ——
正在阅读:
第二十七章圆与正多边形06-01
仿盛大传奇牛B法师档03-29
第一章分子动理论06-08
武汉市2018年九年级元月调考物理试题(有答案)精编WORD版11-16
《物联网基础及应用》资料汇总03-17
家具店长的工作计划03-16
新时代下的最美少年作文700字06-25
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 组成
- 原理
- 作业
- 答案
- 计算机
- 唐朔飞
- 10
- 长虹空调漏水的原因及解决处理办法
- 保险信托
- 透射电子显微镜的原理及应用
- 放飞科技梦想的翅膀 (4)
- 2017-2021氨酚伪麻咀嚼片产业运行态势及投资战略研究报告(目录
- 编程笔记
- 强条实施规划(终稿)
- 毕业论文
- 经济法的基本假设
- 2010香港特别行政区农村信用社招考最新考试试题库
- 电动车灯头塑壳市场现状分析及前景预测报告(目录) - 图文
- 东莞市2011《企业内部控制案例分析》考试会计网络继续教育
- 2018领导与科学技术答案 判断题
- 自己整理的Linux课后习题
- 建设工程施工招标文件示范文本(通用分册)
- 大富翁8问答
- 莆田市人民防空办公室 - 图文
- 光明食品集团2013-2015年科技创新行动计划
- 2016年中山市会计后续教育97分试题及答案-小企业会计准则
- 分析化学实验指导书