微机原理与接口技术(第二版)-主编-龚尚福 联系客服

发布时间 : 星期五 文章微机原理与接口技术(第二版)-主编-龚尚福更新完毕开始阅读f6997de27f21af45b307e87101f69e314232fa39

,

3) 请求传送方式也可以用于成块数据传输。当DMAC采样到有效的通道请求信号DREQ时,向CPU发去请求占用总线的信号HRQ(在Z80 DMA中是BUSRQ),CPU让出总线控制权后,就进入DMA操作方式。当DREQ变为无效后,DMAC立即停止DMA操作,释放总线给CPU,当DREQ再次变为有效后,它才再次发出HRQ请求信号,CPU再次让出总线控制权,DMAC又重新控制总线,继续进行数据传送,数据块传送结束就把总线归还给CPU。这种方式适用于准备好传送数据时,发出通道请求;若数据未准备好,则通道请求无效,并将总线控制权暂时交还给CPU。

7.5 简述8237的主要功能。

(1) 编程设定DMA的传输模式及其所访问内存的地址区域。 (2) 屏蔽或接受外部设备的DMA请求(DREQ)。

当有多个设备同时请求时,还要进行优先级排队, 首先接受最高级的请求。 (3) 向CPU转达DMA请求。

DMA控制器要向CPU发出总线请求信号HOLD(高电平有效), 请求CPU放弃总线的控制。

(4) 接收CPU的总线响应信号(HLDA)。 接管总线控制权,实现对总线的控制。

(5) 向相应外部设备转达DMA允许信号DACK。

在DMA控制器管理下,实现外部设备和存储器之间的数据直传。 (6) 在传送过程中进行地址修改和字节计数。

在传送完要求的字节数后,向CPU发出DMA结束信号(EOP), 撤消总线请求(HRQ),将总线控制权交还给CPU。 7.6 8237有哪些可以让CPU访问的寄存器?

这些寄存器有哪些功能?如何对它们进行寻址?

(1) 当前地址寄存器 (2) 当前字节计数器

(3) 基地址寄存器和基字节计数器 (4) 命令寄存器 (5) 模式寄存器 (6) 请求寄存器 (7) 屏蔽寄存器 (8) 状态寄存器 (9) 暂存寄存器 (10)命令寄存器

表7-5 8237内部寄存器口地址分配

,

主片的I/O口地址(H) 000 001 002 003 004 005 006 007

从片的I/O口地址(H) 0C0 0C2 0C4 0C6 0C8 0CA 0CC 0CE

寄存器

IN(读, IOR ) CH0器 CH0器 CH1器 CH1器 CH2器 CH2器 CH3器 CH3器

当前地址寄存当前字节计数当前地址寄存当前字节计数当前地址寄存当前字节计数当前地址寄存当前字节计数

OUT(写, IOW ) CH0基址与当前地址寄存器 CH0基字节计数器与当前字节计数器

CH1基址与当前地址寄存器 CH1基字节计数器与当前字节计数器

CH2基址与当前地址寄存器 CH2基字节计数器与当前字节计数器

CH3基址与当前地址寄存器 CH3基字节计数器与当前字节计数器

表7-5 8237内部寄存器口地址分配 008 009 00A 00B 00C 00D 00E 00F

0D0 0D2 0D4 0D6 0D8 0DA 0DC 0DE

状态寄存器

暂存寄存器

命令寄存器 请求寄存器

写屏蔽寄存器单个屏蔽位 模式寄存器

清除字节指令器(软命令) 主清除指令(软命令) 清除屏蔽寄存器(软命令) 写全部屏蔽位寄存器

第八章

8.1 什么是中断?中断方式与程序查询方式有什么区别? 中断:指计算机在正常执行程序的过程中,

由于某事件的发生使CPU暂时停止当前程序的执行, 而转去执行相关事件的处理程序,

结束后又返回原程序继续执行,这样的一个过程就是中断。

,

中断方式与程序查询方式有什么区别:

在查询方式下,CPU主动地查询所有外设以确定其是否准备好, 是否需要进行数据传送,会使CPU的效率降低,

特别是与低速外设进行数据交换时,CPU需要等待更多的时间。 另外在对多个外设进行I/O操作时,如果有些外设的实时性要求较高,CPU有可能因来不及响应而造成数据丢失。

而中断方式是CPU忙于执行主要工作,由外设根据需要向CPU发出中断请求,CPU再根据中断请求的类型决定响应与否。这养CPU效率高。

8.2 简述中断的处理过程。画出中断处理的流程图。 中断请求、中断响应、断点保护、

中断源识别、中断服务、断点恢复、中断返回。

否当前指令执行结束?是软件中断否NMI?否INTR?否TF=1?否执行下一条指令是是IF=1?否是IF=1?否CS、IP入栈形成中断类型码是调用中断处理程序又有NMI?否是TF=1?否执行用户中断过程IP、CS出栈IRET标志寄存器出栈返回被中断的主程序是进入中断响应取中断类型码是令TEMP=TF清TF和IF是形成中断类型码标志寄存器入栈8.3 说明8086/8088 CPU响应中断的条件。 中断请求 中断屏蔽 中断的开放 中断请求的检测

8.4 确定中断优先级有哪两种方法?它们各有什么特点? 软件查询法: (1) 优点:

用软件完成中断优先权的检测,不需要硬件判优电路。 优先权由查询的次序来决定,首先查询的即为优先级最高。 (2) 缺点:

不管外设是否有中断请求都需要按次序逐一询问,效率较低。 特别在中断源较多的情况下,转至中断服务程序的时间较长。 硬件:

,

(1)优点:确定中断源的时间短,效率高。 (2)缺点:需要硬件判优电路。

8.5 简述8086/8088的内部中断和外部中断两类中断的区别。

外部中断是由外部中断源对CPU产生的中断请求,

根据外部中断源是否受标志寄存器的中断允许标志位(IF)影响, 分为非屏蔽中断和可屏蔽中断两种。

内部中断是指CPU内部事件及执行软中断指令所产生的中断请求。 除法错中断。 单步中断。 断点中断。 溢出中断。 软件中断。

8.6 什么是中断向量?什么是中断向量表?

中断向量码(中断类型号):在8086/8088的中断系统中, 对每个中断都规定有一个中断类型号,共256个(0~255)。

中断向量表:按中断类型号由小到大的顺序将相应的各中断服务子程序的入口地址按每个入口地址占四个字节,(2字节偏移量、2字节段地址)存在内存的最低端。

8.7 8086怎么通过中断向量表得到中断处理程序的入口地址? 在一个中断向量的4个字节中,

高地址字为中断处理程序的段地址CS,低地址字则是偏移地址IP。

这样,在中断响应时,CPU就可以根据中断向量码n,通过简单的4×n运算,查找中断向量表,从表中4×n地址开始的连续4字节单元里获取中断处理程序的入口地址,从而转入相应中断服务程序。

8.8 中断向量表在内存中的什么位置?

每个中断向量在内存中占4个字节,共256个中断向量, 因此占存储器1 KB的空间。在00000H—00400H。 8.9 什么是非屏蔽中断?什么是可屏蔽中断? 它们的主要区别是什么?

8086/8088 CPU的NMI和INTR两个输入端有什么区别? 1.非屏蔽中断

非屏蔽中断不受CPU中断允许标志位IF影响, 一旦有中断请求,CPU必须响应。 2.可屏蔽中断

可屏蔽中断受中断允许标志位IF的限制, 当IF=1时,CPU才响应中断;

当IF=0时,CPU不会响应外部中断,即中断被屏蔽。

3.当外部中断请求信号加至NMI引脚时,就产生非屏蔽中断。 当外部中断请求信号加至INTR引脚上,即产生可屏蔽中断。