第九-十三章习题与参考答案

更新时间:2024-06-06 14:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第九章习题与参考答案

1.在8086中有些引脚是复用的,请说明为什么要采用这种方法?以地址/数据复用引脚为例,说明复用是如何实现的?指出在实现复用过程中起关键作用的信号和部件。 答:CPU与外部需要交换的信号很多,但受器件的物理尺寸限制,又不能制作这样多的引脚。为此只好采用引脚复用的方法解决这一矛盾。地址/数据复用引脚的过程是:CPU在总线周期的开始先经地址/数据复用引脚送出地址,待地址信号稳定后发出地址锁存信号ALE(下降沿)使地址锁存器锁存地址信号并将其送到地址总线。然后再发出数据使能信号DEN#,让与数据总线相连的数据收发器工作,经地址/数据复用引脚送出或接收数据。其中关键的信号是地址锁存信号与数据使能信号DEN#,关键的器件是地址锁存器和数据收发器。 2.何为最大模式? 如何使8086工作于最大模式? 何为最小模式? 如何使8086工作于最小模式?

答:所谓最小模式,就是在系统中只有8086一个微处理器。在这种系统中,所有的总线控制信号都直接由8086产生,因此,系统中的总线控制逻辑电路被减到最少。当8086的第33脚MN/MX#固定接到+5V时,就处于最小工作模式。最大模式是相对最小模式而言,它用在中等规模的或者大型的8086系统中,在此系统中,包含两个或多个微处理器,其中一个主处理器就是8086,其它的处理器称为协处理器,它们是协助主处理器工作的。和8086配合的协处理器有两个,一个是数值运算协处理器8087,一个是输入/输出协处理器8089。当8086的第33脚MN/MX#固定接地时,就处于最大工作模式。

3.在哪种工作模式必须使用8288? 8288的作用是什么?

答:在最大工作模式下必须使用总线控制器8288,8288主要用于解决主处理器与协处理器对总线的共享控制,它可按CPU的要求,产生相应的总线控制信号。 4.在最大工作模式必须使用8289吗? 为什么?

答:在最大工作模式必须使用8289。因为在8086多处理器系统中,主处理器8086,数值运算协处理器8087,输入/输出协处理器8089是分时占用总线的,必须使用总线仲裁器8289来确定每一时刻总线控制权的归属。

5.试说明最小模式的内存读、内存写、I/O读、I/O写靠哪些信号来区分,如何区分? 答:在最小模式下,内存读、内存写、I/O读、I/O写靠控制信号M/IO#、RD#、WR#区分。具体方法是:①M/IO#高、RD#低、WR#高,是内存读操作②M/IO#高、RD#高、WR#低,是内存写操作③M/IO#低、RD#低、WR#高,是I/O读操作④M/IO#低、RD#高、WR#低,是I/O写操作。 6.指令MOV AX,[519H]译码后执行时,8086各有关引脚要送出何种电平信号?就最小工作模式予以说明(不妨假设(DS)=200H)。 答:最小工作模式下,指令MOV AX,[519H]译码后执行时,M/IO#为高、RD#为低、WR#为高、DT/R#为低,设(DS)=200H则内存单元物理地址为200H*10H+519H=2519H,故AD19~AD0依次为00000010010100011001。

7.什么是指令周期、总线周期及时钟周期? 它们之间有何关系? 答:时钟周期就是提供给CPU的振荡周期,它是CPU的基本时间单位,由计算机的主频决定;计算机完成一次总线操作所用的时间为总线周期;一般一个基本总线周期由4个时钟周期构成;指令周期是执行一条指令所需要的时间。一般一个指令周期由多个总线周期构成,具体数目与指令有关。

8.若CPU的主频为5M,每个时钟周期为多长时间?每个基本总线周期为多长时间?假设执

3

行某条指令要占用3个总线周期,执行该指令至少要用多长时间? 注: 1s(秒)=10ms(毫

69

秒)=10μs(微秒)= 10ns(纳秒)

答:8. 一个时钟周期为 10/5000000=200 ns;一个基本总线周期为200*4=800 ns;执行该指令至少要用800*3=2400ns=2.4μs

9.我们知道,在复位的时候,代码段寄存器CS和指令指针寄存器IP分别初始化为FFFFH和0000H。所以,8086再重新启动时,便从内存的FFFF0处开始执行一条无条件转移指令,转移到系统程序入口处。试问为什么复位时不让CS和IP直接指向系统程序的入口处,而非要如此设计?

答:复位时不让CS和IP直接指向系统程序的入口处有两个好处:①可以使初始化CS和IP的操作方便;②为产品更新提供了柔性,例如,假设当前机型的系统程序放在800H处,则在FFFF0H处放一条JMP 800H,新机型根据需要,系统程序不得不放在900H处,这时只需在FFFF0H处放一条JMP 900H即可,初始化CS和IP的部分不需要作任何变动。 10.最小模式的读操作周期和写操作周期中,有哪些信号的电平时序变化不同?

答:最小模式的读操作周期和写操作周期中,RD#、WR#、DT/R#以及AD15~AD0的电平时序变化不同。

11.在最小模式下,对于写I/O端口的操作,RD#、WR#、M/IO#、DT/R# 各信号的电平高低如何(不考虑时序)? 假设I/O端口地址为3F8H,20根地址线的电平高低如何?

答:在最小模式下,对于写I/O端口的操作,RD#为高电平、WR#为低电平、M/IO#为低电平、DT/R#为高电平。假设I/O端口地址为3F8H,20根地址线AD19~AD0的电平信号依次为0000001111111000。

12.试说明为什么要在T3和T4之间插入Tw状态?

答:因为存储器和外设的速度慢,往往在一个基本总线周期(4个时钟)内,完成不了一次读写操作,为了实现与CPU的同步,以保证正确读写数据,就必须插入等待周期Tw 13.何为总线保持请求?何为总线保持应答?

答:当系统的其它总线设备(如8237A)要求占用总线时,就向CPU发出HOLD信号,请求接管总线。称其为总线保持请求。CPU收到HOLD信号后,如果允许其它总线设备占用总线,就发出一个应答信号HLDA,让出总线控制权。称其为总线保持应答。 第十章习题与参考答案

1.无条件传送适用于哪些场合?

答:无条件传送适用于对一些简单外设的操作,例如开关、七段显?器等。也就是要求传送不太频繁,每次传送时,外设都处于?绪状态。

2.试述条件查询方式输出的过程,查询传送方式输入的工作过程。(画出汁程图) 答:查询传送方式输入的工作过程包抬三个环节: A. CPU 从接口中读取状态字;

B. CPU 检测状态字的对应位是否满足‘准备好’?件; C. 如果不满足, 则继续读取状态字, 否则输入数据。 流程图如图10.1所示

查询传送方式输出的工作过程包括三个环节:

A. CPU 从接口中读取状态字;

B. B. CPU 检测状态字的对应位是否满足‘不忙’条件; C. C. 如果不满足, 则继续读取状态字, 否则输出数据。

9

流程图如图10.2所示

3.条件查询方式传送与无条件传送相比有何优点?还有哪些问题?

答:查询传送方式输入/输出与无条件传送相比的优点是传送可靠性提高,不会丢失数据。但查询传送方式仍没有解决输入/输出独占CPU的问题。 4.叙述中断传送方式输入/输出的工作过程。

答:当外设将数据送入数据输入寄存器中(准备好一个新的数据)/将数据输出寄存器中的数据走(准备好接收一个新的数据)时,就经过INTR引腿向 CPU 发出一个中断请求信号, CPU 在收到中断请求信号后, 如果标志寄存器的IF位为1,则在当前指令执行完后, 通过 INTA# 引腿发出中断应答信号,同时,使当前标志寄存器的内容及断点地址入栈保护,转去执行相应的I/O中断处理子程序, 完成输入/输出后返回断点处继续工作。 5.中断传送方式与条件传送相比有何优点?还有哪些问题?

答:中断传送方式与查询传送方式相比的优点是CPU不再反复执行查询输入/输出程序,可以在两次传送的间隔期间处理其它工作,从而提高了CPU的工作效率。但在中断传送方式下,还是由CPU执行程序来实现数据传送的,CPU还未得到真正解放。 6.试述DMA方式输出的过程。

答:当外设准备好接收一个数据时向DMAC(8237)发出请求,DMAC向CPU发出总线保持请求信号HOLD并一直维持该信号为高,CPU如果允许让出总线,就向DMAC发出一个高电平的总线保持应答HLDA,同时与总线在逻辑上断开。DMAC得到总线控制权后,发出地址和内存读信号,将数据送到总线上,然后发出外设端口写信号将数据输出,然后将HOLD信号变低,CPU检测到HOLD变低,知道DMA输出已完成,将HLDA变低,收回总线控制权。 7.DMA传送方式与中断传送相比有何优点?

答:在中断传送方式下,还是由CPU执行程序来实现数据传送的。CPU响应中断去执行输入/输出处理程序时,要保存断点、保护现场,处理完毕还要恢复断点、恢复现场。这样占用了CPU的大量时间做许多与输入/输出无关的工作。此外,在进入中断或中断返回时,CPU内的指令队列就要清除,总线接口部件和执行部件之间的并行工作方式暂时会受到破坏,从而降低处理速度。如果外设速度很快,两次传送的间隔时间本来就很短,CPU就很难再有间隔时间去处理其它工作。而在DMA方式,是由DMAC控制I/O传送,进行DMA传送时,CPU可以做任何与总线无关的工作,CPU得到了真正的解放。

8.为什么一般I/O接口的地址总线总是单向的,而DMA的地址总线是双向的? 答:DMA控制器作为主模块工作时,要控制内存和外设或内存和内存之间的数据传送,因此,必须通过地址总线向外传送内存地址;而当DMA作为从模块工作时,CPU又必须通过地址总线对其进行寻址;故DMA 的地址总线必须是双向的。 9.与一般接口相比DMAC的工作有何特点?

答:一般接口只作为从模块工作,而DMAC一旦获得总线控制权,是作为主模块工作的。它可以直接发送地址和控制信息,控制内存和外设或内存和内存之间进行数据传送。 10.判断下列指令书写是否正确,如有错误,指出错在何处? (1)IN AX,3284H (2)OUT 34H,BX 答:(1)IN AX,3284H中外设端口地址为16位,这在直接寻址I/O操作中是不允许的,应

改为用间接寻址方式操作,既MOV DX, 3284H IN AX, DX

(2)OUT 34H,BX中使用寄存器BX是不允许的,必须用累加器与端口交换信息,故应

改为:

MOV AX,BX OUT 34H,AX

11.用两种方法写出从88H端口读入信息的指令。再用两种方法写出从42H口输出100H的指令。

答:从88H端口读入信息的指令分别为: ①IN AX, 88H ②MOV DX, 88H IN AX, DX

从42H口输出100H的指令分别为: ①MOV AX, 100H OUT 42H, AX ②MOV AX, 100H MOV DX, 42H OUT DX, AX 12.叙述中断输入输出中是如何解决快速CPU与慢速外设的矛盾,提高主机的工作效率的? 答:在中断输入输出方式中,CPU不用专门等待慢速的外设送来(输入时)或取走(输出时)数据,它可以正常处理与I/O无关的工作,当外设已送来或取走数据,即接口准备好输入/输出时,就向 CPU 发出一个中断请求信号, CPU 响应中断,转去执行相应的I/O处理程序, 完成一次输入/输出,之后返回断点处继续原来的工作。可见,在中断传送方式下,CPU可以在慢速外设完成I/O操作时处理其它工作,从而大大提高了CPU的效率。 第十一章习题与参考答案

1.什么叫中断?采用中断有哪些优点?

答:所谓中断,是指由于种种原因,使CPU暂时停止当前程序的执行,而转去处理临时发生的事件,处理完毕后,再返回继续执行暂停的程序。也就是说,在程序执行过程中,插入另外一段程序运行。使用中断技术,使得外部设备与CPU不再是串行工作,而是分时操作,解决了快速的CPU与慢速的外设之间的矛盾,从而大大提高了计算机的效率。另外采用中断可以更好地实现实时信息处理等。

2.什么叫中断源?微型计算机中一般有哪几种中断源?识别中断源一般有哪几种方法? 答:所谓中断源即指引起中断的原因或中断请求的来源。微型计算机中一般有以下几种中断源:(1)外部设备;(2)实时时钟;(3)故障源;(4)中断指令或为调试程序设置的中断。识别中断源一般有以下两种方法①查询中断②向量中断。 3.中断分为哪几种类型?它们的特点是什么?

答:中断包括外?中断(硬件中断)和内部中断(软件中断)两大类,其中外部中断又分为可屏蔽中断和不可屏蔽中断。勯屏蔽中断的特点是受标志寄存器中IF位的控制,当IF=1时,允许CPU响应可屏蔽中断请求,当IF=0时,CPU不响应可屏蔽?断请求;不可屏蔽中

断的特点是丌受标志寄存器中IF位的控制;内部中断除单步中断外都是不可屏蔽的,但单步中断的屏蔽不是靠IF位,而是靠TF位的置0实现。 4.什么叫中断向量、中断优先权和中断嵌套? 答:设置在内存0~3FFH区域,对应于每个中断类型的中断处理子程序的入口地址称为中断向量;在有多个中断源的情况下,根据轻重缓急,为每一个中断类型设置一个响应级别,称之为中断优先权;当CPU正在处理某一中断时,又出现了优先权级别更高的中断请求,CPU就响应此中断而挂起正在执行的中断服务程序,在高优先权中断处理完后,再返回执行被挂起的中断服务程序,这种情况称为中断嵌套或多重中断。 5.CPU响应中断的条件是什么? CPU如何响应中断?

答:对于软中断和不可屏蔽中断,CPU无条件响应。对于可屏蔽中断,CPU响应中断的条件是IF位为1。CPU响应中断的过程是:CPU 在遇到中断指令或收到中断请求信号后, 如果为可屏蔽中断,首先看标志寄存器的IF位是否为1, 如为0,则不响应,否则在当前指令执行完后, 通过INTA#引腿发出中断应答信号,从8259获取中断类型号(其它中断无此步骤),使当前标志寄存器的内容及断点地址入栈保护,根据中断类型号在中断向量表中取出中断处理程序的入口地址,送CS、IP从而转去执行相应的中断处理子程序, 执行完后将断点地址及标志从栈中弹回IP、CS和FR,返回断点处继续工作。

6.已知某中断的中断类型号为2, 假设此时内存第 06H~0DH 的内容依次为40H、50H、60H、70H、80H、90H、A0H、 B0H,求该中断的中断处理程序的入口地址。 答: 2*4=8H, 从内存第8H~BH的内容应依次为IP的低位字节, IP的高位字节, CS的低位字节, CS的高位字节, 故 IP=7060H, CS=9080H, 中断处理程序的入口地址为: 9080H*10H+7060H=97860H 7.假设对应某个中断的中断处理程序入口地址为 83A00H,内存第14H~1BH的内容依次为:50H、3AH、00H、80H、00H、3AH、00H、80H,求该中断的中断类型号。 答:该中断向量应存放在以 4 的倍数为起始地址的 4 个单元中, 依次为 IP的低位、IP 的高位、CS 的低位、CS 的高位, 比较所给中断程序的入口地址和中断向量表的内容可知, 所求中断向量在中断向量表中的起始地址为18H, 故该中断的中断类型号为 18H/4=06H. 8.TF=0时,将禁止什么中断?编写程序将TF置0。

答:TF=0时,将禁止单步(陷阱)中断。将TF置0的程序如下: code segment

assume cs:code

start:pushf

pop ax

and ax,FEFFH push ax popf

mov ax,4c00h int 21h

code ends

end start

9.为什么INTR中断有两个中断响应周期,而NMI和内部中断却没有中断响应周期? 答:CPU在接收到INTR中断请求后,需要在第一个周期内送出中断应答信号INTA,告知8259。8259在收到中断应答信号后,在第二个周期内送出中断类型号,以便CPU去处理中断。而NMI的中断类型号已知为2,因而不需中断响应周期,同样内部中断类型号也是已知的,也不需要中断响应周期。

10.中断向量表的功能是什么?如何利用中断向量表获得中断服务程序的入口地址?

答:中断向量表的功能是存放各中断处理子程序的入口地址,供CPU处理中断时查询使用。CPU利用中断向量表获得中断服务程序的入口地址的方法是:将中断类型号乘以4,得到中断向量存放首址。将该地址开始的四个字节内容依次作为IP的低位字节、IP的高位字节,CS的低位字节、CS的高位字节,从而得到中断服务子程序的入口地址。

*11.自定义一个类型码为79H的软中断完成ASCII码到BCD数的转换。编写程序将键入的一串十进制数放到以BCDMM为首地址的存储区中。 答:

第十二章习题与参考答案

1.何为可编程接口芯片? IBM PC/XT机中使用的可编程接口芯片有哪些? 答:大多数接口芯片都设计成可用编程的方法对接口功能进行选择和设定,这样的芯片称为可编程接口芯片。IBM PC/XT机中使用的可编程接口芯片有:可编程序中断控制器8259A、可编程序计数器/定时器 8253-5、可编程序并行通信接口芯片8255A-5、可编程序串行异步通信接口芯片8250、可编程序直接内存访问控制器8237A-5。

2.一片8259最多可以处理几个中断源的中断请求? 两片级联在一起呢? 答:一片8259最多可以处理8个中断源的中断请求,两片级联在一起最多可以处理15个中断源的中断请求。 3.如何屏蔽来自某一台设备的中断? 如何屏蔽与8259从片相联的所有设备的中断请求? 如何屏蔽所有可屏蔽中断请求?

答:将中断控制器8259的中断屏蔽寄存器IMR中对应某设备的中断屏蔽位置1,可屏蔽来自该设备的中断;将主8259的中断屏蔽寄存器IMR中对应从8259中断请求的中断屏蔽位置1,可屏蔽与8259从片相联的所有设备的中断请求;将CPU中标志寄存器中的IF位置0即可屏蔽所有可屏蔽中断。

4.8259主片内中断屏蔽寄存器的端口地址是多少? 8259从片内中断屏蔽寄存器的端口地址是多少?

答:4. 8259主片内中断屏蔽寄存器的端口地址是21H,8259从片内中断屏蔽寄存器的端口地址是A1H。

5.计数器/定时器8253有几种工作方式,试述方式3的工作过程。 答:计数器/定时器8253有6种工作方式,其方式3的工作过程如下:

首先写入控制字,输出端OUT2变为高电平作为初始状态。写入计数初始值后,计数执行部件开始减1计数。当计数到一半时,输出OUT2变为低电平。计数到终值时,输出端OUT2又变为高电平。之后,马上自动重装计数初值到计数执行部件,开始下一个周期。

6.要让8253的输出OUT2恒为1,计数器2不能工作。为此,输入端GATE2应提供高电平还是低电平?

答:输入端GATE2应提供低电平,使计数器2不工作。 7.已知 8253 的时钟为 1.19M(HZ),要用定时器2 控制扬声器发出 119HZ 的声音,问8253中定时器2的计数初值应为多少?

6

答:8253 中计数器 2 的计数初值应为 : 1.19*10 /119=10000. 8.8255的61H端口的第0位连接到哪? 第1位连接到哪? 在发声程序中这两位应如何设置? 答:8255的61H端口的第0位连接到8253的GATE端,第1位连接到扬声器驱动器前“与门”的一端,若采用软件延时发声(8253定时器2不工作),在发声程序中将61H端口的第0位置0,然后让第1位0/1交替变化。若采用硬件(8253定时器2)控制发声,在发声程序中将61H端口的第0位和第1位都置1。详见下图:

9.已有一个实现延时1秒的过程,名为DELAY,又知8253的CLK为1.19M。试编写一个程序,利用8253并调用过程 DELAY 实现按 300(HZ)赫兹的频率发声5秒。(8253的控制端口地址为43H,应使用的控制字为B6H,计数器 2 的地址为42H) 答:所求程序如下: code SEGMENT

ASSUME CS:code

start: MOV AL,0b6h ;写8253的控制字寄存器,使用计数器2,按方式3工作

OUT 43h,AL

MOV DX,12h ;将1.19M(CLK的频率)送DX、AX

MOV AX,2870h MOV BX,300

DIV BX ;300为发声频率,求计数初始值 OUT 42h,AL ;16位计数初值分两次送计数器2 MOV AL,AH OUT 42h,AL IN AL,61h MOV AH,AL

OR AL,3 ;最低两位置1,其它位不变 OUT 61h,AL

MOV CX,5 ;循环5次,控制发声5秒钟 lop0:CALL DELAY

LOOP lop0

MOV AL,AH OUT 61h,AL MOV AH,4ch INT 21h code ends

end start

第十三章习题与参考答案

1.何为多级存储系统? 为什么在计算机中要使用多级存储系统? 答:多级存储系统是指由 CACHE, 主存及虚拟存储器构成的存储系统。在计算机中使用多级

存储系统, 利用 CACHE 实现了高速存取,解决了与 CPU 不同步的问题,同时利用虚拟存储器满足了计算机对存储器的海量存储要求,而使系统的价格控制在用户可接受的程度内。 2.动态 RAM 工作时有何特点? 和静态 RAM 比较, 有什么优点和不足? 动态RAM和静态 RAM 分别用在何处? 答:动态 RAM 工作时要不断进行刷新, 和静态 RAM 比较, 它的集成度高, 价格便宜, 但速度慢,因此一般用于作大容量内存。而静态 RAM 集成度低, 价格高, 但速度快, 故一般用于做 Cache。 3.要使一个 64K 的存储体占用从 128K 开始的连续 64K 内存空间, 问20根地址线 A19~A0 应如何取值? 写出 16 进制的地址值。 答:A. A19~A0 的取值应为:

A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 1 0 X X X X X X X X X X X X X X X X B.16 进制表示的地址值为: 2YYYYH, 其中各Y的取值范围为0~F,具体取何值由存储单元的地址决定.

4.设CPU有20位地址A0~A19, 8位数据D0~D7, 另有M/IO#, RD#, WR# 等信号输出. 试用16K*8 的静态存储器芯片组织一个64K的存储器, 使其占用从128K开始的连续64K内存空间, 画出逻辑连接图. 答:略

本文来源:https://www.bwwdw.com/article/t0f6.html

Top