微型计算机技术及应用第四版习题部分答案Word格式文档下载.docx
《微型计算机技术及应用第四版习题部分答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微型计算机技术及应用第四版习题部分答案Word格式文档下载.docx(43页珍藏版)》请在冰豆网上搜索。
第二章8086微处理器
2.3段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?
指向这一物理地址的CS值和IP值是唯一的吗?
1.该指令的物理地址=CS×
10H+IP=21F00H。
2.指向这一物理地址的CS值和IP值不是唯一的。
2.48086的执行部件有什么功能?
由哪几部分组成?
1.8086的执行部件的功能是负责指令的执行。
2.4个通用寄存器AX、BX、CX、DX;
4个专用寄存器BP、SP、SI、DI;
标志寄存器FLAGS和算术逻辑单元ALU。
2.5状态标志和控制标志有何不同?
程序中是怎样利用这两类标志的?
8086的状态标志和控制标志分别有哪些?
1.不同之处在于:
状态标志由前面指令执行操作的结果对状态标志产生影响,即前面指令执行操作的结果决定状态标志的值。
控制标志是人为设置的。
2.利用状态标志可进行计算和判断等操作。
利用控制标志可对某一种特定功能(如单步操作、可屏蔽中断、串操作指令运行的方向)起控制作用。
3.8086的状态标志有:
SF、ZF、PF、CF、AF和OF计6个。
8086的控制标志有:
DF、IF、TF计3个。
2.6总线周期的含义是什么?
8086/8088的基本总线周期由几个时钟组成?
如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?
一个基本总线周期为多少?
如主频为15MHz呢?
1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。
2.8086/8088的基本总线周期由4个时钟周期组成。
3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。
4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。
2.7在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?
什么情况下需要插入等待状态TW?
TW在哪儿插入?
怎样插入?
1.在总线周期的T1、T2、T3、T4状态,CPU分别执行下列动作:
1T1状态:
CPU往多路复用总线上发出地址信息,以指出要寻找的存储单元或外设端口的地址。
2T2状态:
CPU从总线上撤销地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。
总线的高4位(A19~A16)用来输出本总线周期的状态信息。
3T3状态:
多路总线的高4位继续提供状态信息。
低16位(8088为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。
4T4状态:
总线周期结束。
2.当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。
这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。
3.TW插在T3状态之后,紧挨着T3状态。
4.插入的TW状态时的总线上的信息情况和T3状态的信息情况一样。
当CPU收到存储器或外设完成数据传送时发出的“准备好”信号时,会自动脱离TW状态而进入T4状态。
2.8CPU启动时,有哪些特征?
如何寻找8086/8088系统的启动程序?
1.CPU启动时,有以下特征:
①内部寄存器等置为初值;
②禁止中断(可屏蔽中断);
③从FFFF0H开始执行程序;
④三态总线处于高阻状态。
2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。
2.98086和8088是怎样解决地址线和数据线的复用问题的?
ALE信号何时处于有效电平?
1.在总线周期的T1状态,复用总线用来输出要访问的存储器或I/O端口的地址给地址锁存器8282(3片)锁存;
在其他状态为传送数据或作传送准备。
地址锁存器8282在收到CPU发出的地址锁存允许信号ALE后,锁存地址。
2.ALE信号在每个总线周期的T1状态为有效高电平。
2.10
信号和A0信号是通过怎样的组合解决存储器和外设端口的读/写的?
这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号来区分?
怎样区分?
1.组合情况如下:
A0
操作
所用的数据引腿
从偶地址开始读/写一个字
AD15~AD0
1
从偶地址单元或端口读/写一个字节
AD7~AD0
从奇地址单元或端口读/写一个字节
AD15~AD8
从奇地址开始读/写一个字(在第一个总线周期,将低8位数送AD15~AD8,在第二个总线周期,将高8位数送AD7~AD0)
2.用A0信号来区分偶地址体和奇地址体。
3.当A0=0时选中偶地址体,A0=1时选中奇地址体。
2.11RESET信号来到后,CPU的状态有哪些特点?
复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器FR、IP、DS、SS、ES、其他寄存器及指令队列清0,而将CS设置为FFFFH。
当复位信号变为低电平后,CPU从FFFF0H单元开始执行程序。
2.12在中断响应过程中,8086往8259A发的两个
信号分别起什么作用?
第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;
外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息。
2.13总线保持过程是怎样产生和结束的?
画出时序图。
1.当系统中CPU之外的另一个主模块要求占用总线时,通过HOLD引腿向CPU发一个高电平的请求信号。
如果CPU此时允许让出总线,就在当前总线周期完成时,于T4状态从HLDA引腿发出一个应答信号,对刚才的HOLD请求做出响应。
同时,CPU使地址/数据总线和控制状态线处于浮空状态。
总线请求部件收到HLDA信号后,就获得了总线控制权,在此后一段时间,HOLD和HLDA都保持高电平。
在总线占有部件用完总线之后,会把HOLD信号变为低电平,表示现在放弃对总线的占有。
8086/8088收到低电平的HOLD信号后,也将HLDA变为低电平,这样,CPU又获得了地址/数据总线和控制状态线的占有权。
2.时序图为:
2.15T1状态下,数据/地址复用总线上是什么信息?
用哪个信号将此信息锁存起来?
数据信息是在什么时候给出的?
用时序图表示出来。
1.T1状态下,数据/地址复用总线上是地址信息。
2.用ALE信号的下降沿将此地址信息锁存在三片8282中。
3.数据信息的给出时间分两种:
①总线读周期时,数据信息在T3、TW、T4中间给出;
②总线写周期时,数据信息在T2、T3、TW、T4中间给出。
4.时序图如下:
T1T2T3TWT4
地址状态输出
地址数据输出
地址数据输入
BHE输出
2.16画出8086最小模式时的读周期时序。
见书27页图2.11所示。
2.178086最多可有多少个中断?
按照产生中断的方法分为哪两大类?
1.8086最多可有256个中断。
2.按照产生中断的方法分为硬件中断和软件中断两大类。
2.18非屏蔽中断有什么特点?
可屏蔽中断有什么特点?
分别用在什么场合?
1.非屏蔽中断的特点有:
中断请求从NMI引腿进入,不受中断允许标志IF的影响。
非屏蔽中断只有一个,其中断类型码为2。
2.可屏蔽中断的特点有:
中断请求从INTR引腿进入,只有在IF=1时CPU才响应该中断。
可屏蔽中断有若干个,其中断类型码可以是5~255。
3.非屏蔽中断用来处理系统的重大故障,如掉电等。
可屏蔽中断用在一般外部设备申请的中断中。
2.19什么叫中断向量?
它放在那里?
对应于1CH的中断向量存放在哪里?
如果1CH的中断处理子程序从5110H:
2030H开始,则中断向量应怎样存放?
1.中断处理子程序的入口地址就是中断向量。
2.中断向量放在0段的0~3FFH区域的中断向量表中。
3.对应于类型号为1CH的中断向量应放在00070~00073H的4个单元中。
4.若1CH的中断向量为5110H:
2030H,则中断向量的存放方法为:
00070H存放30H,00071H存放20H(IP);
00072H存放10H,00073H存放51H(CS)。
2.20从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?
应该选择在中断类型码为32(20H)~255(FFH)范围。
2.21非屏蔽中断处理程序的入口地址怎样寻找?
CPU在响应NMI引腿的中断请求时,CPU并不需要从中断类型码计算中断向量的地址,而是直接从中断向量表中读取00008~0000BH这4个单元对应于中断类型2的中断向量就行了。
CPU将00008H、00009H两个单元的内容装入IP,而将0000AH、0000BH两个单元的内容装入CS,于是就转入了对非屏蔽中断处理程序的执行。
2.22叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中为什么内容?
首先在CPU的INTR引腿上有可屏蔽中断请求输入,且IF=1。
在当前指令执行完后,CPU发两个
中断响应负脉冲,外设接到第二个负脉冲后,立即往数据线上给CPU送来中断类型码。
然后CPU取中断类型码,将标志FR推入堆栈,清除IF和TF,再将CS和IP推入堆栈来保护断点,进入中断处理子程序并执行,最后弹出IP和CS及标志而中断返回。
中断响应后,堆栈顶部四个单元的内容分别是:
IPL、IPH、CSL、CSH。
2.23一个可屏蔽中断请求来到时,通常只要中断允许标志为1,便可在执行完当前指令后响应,在哪些情况下有例外?
1.正好遇到CPU执行封锁指令时,必须等下一条指令执行完后才响应中断。
2.正好执行往段寄存器传送数据的指令,必须等下一条指令执行完后才响应中断。
3.执行WAIT或串操作指令时,可在指令执行中响应中断。
2.24在对堆栈指针进行修改时,要特别注意什么问题?
为什么?
1.必须先修改堆栈段寄存器SS的值,接着修改堆栈指针SP的值。
2.因为,CPU在修改段寄存器值时不响应中断,待下一条指令执行后才响应中断。
这样对SS、SP的修改是一个完整的过程。
否则先修改SP后修改SS则可能中断响应而分开修改,导致堆栈指针的错误,因此CS、IP、FR进入错误的堆栈区域而破坏该单元的数据或程序。
2.25在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?
有些寄存器即使在中断处理子程序中并没有用到也需要保护,这又是为什么(联系串操作指令执行时遇到中断这种情况来回答)?
1.因为中断处理子程序运行时需要使用CPU内部的寄存器,这些寄存器的值发生了改变。
因此若不加保护在返回原程序时就修改了断点处的现场,而使程序不能正常运行。
2.因为串操作指令允许在执行过程中进入中断,若与串操作有关的寄存器未保护好,中断返回时串操作指令就不能正常继续运行。
而且还有隐含寻址问题。
2.26一个可屏蔽中断响应时,CPU要执行哪些读/写周期?
对一个软件中断又如何?
1.对可屏蔽中断响应,CPU要执行的读/写周期如下:
①执行两个中断响应总线周期。
并取得中断类型码。
②执行一个总线写周期。
标志寄存器FR值入栈。
③执行一个总线写周期。
CS值入栈。
④执行一个总线写周期。
IP值入栈。
⑤执行一个总线读周期。
读取中断处理子程序入口地址的偏移量→IP。
⑥执行一个总线读周期。
读取中断处理子程序入口地址的段地址→CS。
2.若是一个软件中断,则跳过上述第①步,而执行②~⑥步。
2.27中断处理子程序在结构上一般是怎样一种模式?
①保护中断时的现场,即保护CPU各寄存器的值。
②一般应置IF=1来开放中断,以允许级别较高的中断请求进入。
③中断处理的具体内容。
④恢复中断时的现场。
⑤中断返回指令。
2.28软件中断有哪些特点?
在中断处理子程序和主程序的关系上,软件中断和硬件中断有什么不同之处?
1.软件中断有如下特点:
①用一条中断指令进入中断处理子程序,并且,中断类型码由指令提供。
②进入中断时,不需要执行中断响应总线周期。
③不受中断允许标志IF的影响。
④软件中断的优先级最高。
⑤软件中断没有随机性。
2.软件中断允许在主程序和中断处理子程序之间传递数据。
而硬件中断由于是随机的,所以不能传递数据。
2.298086存储空间最大为多少?
怎样用16位寄存器实现对20位地址的寻址?
1.8086存储空间最大为220=1MB。
2.采用分段的方法实现16位寄存器实现对20位地址的寻址。
物理地址=段基址×
10H+偏移地址
2.30与前几代CPU相比,Pentium主要采用了哪些先进的技术?
与前几代产品相比,Pentium采用了多项先进的技术,其中最重要的是先进的体系结构、CISC和RISC相结合的技术、超标量流水线技术、分支预测技术。
2.35什么叫超标量流水线技术?
Pentium有哪两条流水线?
两条流水线有什么区别?
1.所谓超标量流水线技术,就是在一个处理器中有多条指令流水线的技术。
2.在Pentium中,采用U和V两条流水线。
3.在U流水线中可以执行任何指令,但在V流水线中只能执行和U流水线当前执行的指令符合配对规则的指令
2.37分支预测技术是基于怎样的规律而实施的?
叙述分支预测技术的实现原理
1.分支转移指令的转移目标地址是可以预测的,预测的依据就是前一次的转移目标地址即所谓的历史状态
2.见书40页
2.40Pentium有哪三种工作方式?
为什么要这么多工作方式?
1.实地址方式、保护虚拟地址方式(保护方式/本性方式)、虚拟8086方式
2.略
2.43Pentium通常工作于什么方式?
能够一开机就进入这种方式吗?
1.保护方式
2.不能,通常开机或复位后,先进入实地址方式完成初始化,便立刻转到保护方式。
2.52Pentium的逻辑地址、线性地址、物理地址分别指什么?
它们的寻址能力分别为多少?
1.逻辑地址就是程序员所看到的地址,也叫虚拟地址。
线性地址是单一的32位地址。
物理地址和芯片引脚上的地址信号相对应,它为每个存储单元在存储体中指定唯一的地址。
2.都是32位
2.55Pentium采用哪几种描述符表?
这些表的设置带来什么优点?
1.全局描述符表(GDT)、局部描述符表(LDT)、中断描述符表(IDT)
2.1.可大大扩展存储空间
2.可实现虚拟储存
3.可实现多任务隔离
2.67Pentium的中断机制和16位CPU有什么差别?
Pentium的中断机制和16位CPU类似,但Pentium对中断的含义进行了扩展,它把指令执行过程中产生的错误以及错误处理过程也归为中断处理范畴,并将此与通常的内部中断和软件中断一起称为“异常”。
第三章8086的寻址方式和指令系统
3.1Pentium的寻址方式有哪几类?
用哪一种寻址方式的指令之行的速度最快?
1.立即数寻址、寄存器寻址、输入输出寻址、存储器寻址。
2.立即数寻址。
3.2用立即数寻址的指令要注意什么?
立即数只能作为源操作数,不能作为目的操作数
立即数寻址一般用于对寄存器赋值
因为操作数可从指令中直接取得,不需要总线周期,所以,立即数寻址方式的显著特点就是速度快
3.3输入输出指令有哪两类?
使用这两类指令要注意什么?
1.I/O直接寻址、I/O间接寻址
2.I/O直接寻址时,寻址范围为0~255,即最大端口号为FFH。
I/O间接寻址时,只能用DX寄存器,寻址范围为0~65535,即最大端口号为FFFFH。
3.12用加法指令设计一个简单程序,实现两个16位十进制数的相加,结果放在被加数单元。
movax,被加数
movbx,加数
addax,bx
第四章存储器和高速缓存技术
4.1存储器分为哪两大类?
分别有什么特点?
1.计算机的存储器根据用途和特点可分为两大类,一类叫内部存储器,简称内存或主存;
另一类叫外部存储器,简称外存。
2.因为内存可以由CPU直接存取,再加上一般都用快速存储器件来构成内存,这就使内存的存取速度很快。
但是,内存空间大小受到地址总线位数的限制。
外存的特点是容量大,大部分外存所存信息即可保存又可修改,但所有外存的速度都比内存慢。
4.2在选择存储器件时,最重要的考虑因素是什么?
此外还应考虑哪些因素?
1.最重要的考虑因素是:
易失性、只读性、位容量和速度。
2.此外还应考虑:
功耗、可靠性和价格等因素。
(4.5)什么叫静态RAM?
静态RAM有什么特点?
1.在电源不断电的情况下,信息一旦写入后不会丢失的RAM就叫静态RAM。
2.静态RAM的特点有:
不需刷新,因此简化了外部电路;
但位容量较类似方法设计的动态RAM少,且功耗较大。
4.5RAM有哪几种类型?
各有什么性能特点?
1.RAM按其机构和工作原理分为静态RAM即SRAM和动态RAM即DRAM。
2.SRAM速度快,不需要刷新,但片容量低,功耗大。
DRAM片容量高,但需要刷新,否则其中的信息就会丢失。
4.10微型机系统中的存储器的层次化总体结构是如何实现的?
系统在运行时存储器各层次之间如何协调?
答:
1.用Cache、内存和辅存来构成层次化的存储器,按使用频度将数据分为不同的档次分放在不同的存储器中,不同层次的存储之间可互相传输。
2.Cache、内存和辅存的内容通过高速缓存技术和虚拟存储技术来自动进行转换和调度。
4.15什么叫存储器的逻辑地址?
什么叫存储器的线性地址?
2.线性地址是单一的32位地址。
4.20Pentium系统中,有几种描述符表?
局部描述符表和全局描述符表之间有什么关系?
在系统运行中,两者是用什么参数来选择的?
2.GDT包含各个局部描述符表LDT对应的描述符,而LDT只含有与某一个给定任务相关的各个段的描述符。
3.段寄存器中的段选择子
4.33Cache的组织方式有哪几种?
各有什么特征?
答1.全相联方式、直接映像方式、组相联方式。
2.全相联方式:
按这种方式,主存的一个区块可能映像到Cache的任何一个地方。
直接映像方式:
在这种方式下,主存的一个区块只能映像到Cache的一个对应的地方。
组相联方式:
在这种方式下,将Cache分成均等容量的几路,每一路又含许多组,各路中,组的数量和编号相同,每一组又含一个或多个区块。
通过约定的机制使主存的一个区块只能映像到Cache的指定组号和指定块号的区块,但可以映像到不同路中的相应区块。
4.38Cache的数据一致性指什么?
Cache通写式和回写式的含义是什么?
1.主存和Cache的数据保持一致称为Cache的数据一致性。
2.通写式:
如用这种方法,那么,每当CPU把数据写回到Cache中时,Cache控制器也立即把数据写入主存对应位置。
回写式:
用这种方式时,Cache每一个区块的标记中都要设置一个更新位,CPU对Cache中的一个区块写入后,如未更新相应的主存区块,则更新位置1.在每次对Cache写入时,Cache控制器需先检查更新位,如为0,则可直接写入,反之,则Cache控制器先把Cache现有内容写入主存相应位置,再对Cache进行写入。
4.39Cache系统中的Cache控制器主要完成那些功能?
Cache和主存的映像关系处理、未命中Cache时的处理、Cache的数据更新。
第五章微型计算机和外设的数据传输
5.1外部设备为什么要通过接口电路和主机系统相连?
存储器需要接口电路和总线相连吗?
1.因为外设的功能多种多样,对于模拟量信息的外设必须要进行A/D和D/A转换,而对于串行信息的外设则必须转换为并行的信息,对于并行信息的外设还要选通。
而且外设的速度比CPU慢的多,必须增加缓冲功能。
只有这样计算机才能使用这些外设。
而所有这些信息转换和缓冲功能均由接口电路才能完成。
2.存储器不需要接口电路和总线相连。
3.因为存储器功能单一,且速度与CPU相当。
因此可直接挂在CPU总线上。
5.2是不是只有串行数据形式的外设需要接口电路和主机系统连接?
1.不是。
并行数据形式的外设也需要接口电路和主机系统连接。
2.因为,CPU每次只能访问一个外设,因此并行信息的外设需增加选通功能,才能满足CPU的访问要求,必须用接口电路。
5.3接口电路的作用是什么?
按功能可分为几类?
1.接口电路的作用就是在外设和CPU之间起信息变换和缓冲功能。
2.按功能可分为两类:
1一种是使微处理器正常工作所需要的辅助电路。
2另一种是输入/输出接口电路。
5.4数据信息有哪几类?
举例说明它们各自的含义。
1.数据信息有四类:
数字量、模拟量、开关量、脉冲量。
2.如键盘、磁带机等就是数字量信息;
温度、湿度、压力等转换的电信号就是模拟量;
电机的起停、发光设备的亮灭等都是开关量;
计数脉冲、定时脉冲等都是脉冲量。
5.5CPU和输入/输出设备之间传送的信息有哪几类?
有数据信息、控制信息、状态信息三类。
5.6什么叫端口?
通常有哪几类端口?
计算机对I/O端口编址时通常采用哪两种方法?
在8086/8088系统中,用哪种方法对I/O端口进行编址?
1.CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I