slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
微型计算机技术 PowerPoint Presentation
Download Presentation
微型计算机技术

Loading in 2 Seconds...

play fullscreen
1 / 34

微型计算机技术 - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

微型计算机技术. 教 学 指 导 (五). 太原广播电视大学 郭建勇. 第 5 章 微计算机中处理器与 I / O 设备间 数据传输的控制方法 本章重点介绍微机系统中处理器与 I/O 设备间数据传输控制的两种主要方法,即中断和 DMA 方式。并结合典型的中断控制器和 DMA 控制器的学习,掌握两种传输方式的原理,以及在微机系统中的使用方法。 5 . 1 中断的基本概念 5.1.1 程序方式及其特点 程序方式包括无条件传送和条件传送两种方式: 无条件传送方式:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '微型计算机技术' - mircea


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

微型计算机技术

教 学 指 导(五)

太原广播电视大学 郭建勇

slide2
第5章 微计算机中处理器与I/O设备间
  • 数据传输的控制方法
  • 本章重点介绍微机系统中处理器与I/O设备间数据传输控制的两种主要方法,即中断和DMA方式。并结合典型的中断控制器和DMA控制器的学习,掌握两种传输方式的原理,以及在微机系统中的使用方法。
  • 5.1 中断的基本概念
  • 5.1.1 程序方式及其特点
  • 程序方式包括无条件传送和条件传送两种方式:
  • 无条件传送方式:
  • 适用于CPU不需要查询这些设备所处状态,直接执行IN或OUT指令就可以完成与I/O设备之间的数据传输。
  • 条件传送方式又称查询方式,查询方式的特点是:
  • (1)外设的接口电路中需包括反映当前状态的电路,而且CPU可以通过其端口读取状态信息。
  • (2)交换数据前,先查询外设的状态。如果末准备好,则程序重复检测外设状态,直到外设已经准备好条件,CPU才由IN或OUT指令完成一次数据传输。
  • 程序方式控制数据传输,方法简单、硬件实现容易,CPU的利用率低。
slide3
5.1.2 中断系统的功能与组成
  • 中断的慨念:当外部请求服务时,暂时中断当前主程序,转而执行中断处理程序,完成后自动返回被中断的主程序继续运行。
  • 1.中断系统应具有的功能
  • (1)适用于多个中断源,能用软件进行屏蔽控制。
  • (2)具有中断优先级判别的功能。
  • (3)具有中断嵌套的功能。
  • (4)响应中断后能自动转向中断服务程序,结束后自动返回主程序。
  • 2.中断系统的组成
  • (1)CPU内部中断处理电路。实现对中断请求信号的检测、发出中断响应信号、保存主程序的断点、自动转向中断服务程序、结束中断后自动返回主程序等功能。
  • (2)中断控制器。用于管理系统中的多个中断源。主要承担中断优先级的裁决、中断嵌套、中断的屏蔽以及决定中断结束的方式等功能。
  • (3)中断方式传输的接口电路:包括提供中断请求信号和接收中断响应信号等的接口电路。
  • (4)中断处理程序。中断系统除硬件电路外,还需要软件共同完成中断处理的全过程。
slide4
(1)当外设准备好,发选通信号,数据存入锁存器;中断请求触发器置1;(1)当外设准备好,发选通信号,数据存入锁存器;中断请求触发器置1;
  • (2)若屏蔽触发器置0,向CPU发出中断请求信号INT;
  • (3)CPU接到中断请求后,若CPU内部允许中断,则在执行完当前指令后响应中断,转向执行中断服务程序。
slide5
5.2 中断控制器
  • 5.2.1 8259A的内部结构和外部引脚定义
  • 1.8259A功能和内部结构
slide6
各组成部分的功能如下:
  • (1)中断请求寄存储器(IRR) 8位。它寄存外部设备提出的中断请求。
  • (2)优先权裁决器。对IRR中有请求的中断源以及正在服务的中断源进行判别,以裁决出当前优先级最高的中断请求。
  • (3)中断在服务寄存器(ISR)8位。与IRR的各位相对应,记录了当前正在中断处理的中断请求。
  • (4)中断屏蔽寄存器(IMR)。IMR为8位,对应位置1,即可屏蔽IRR中相应位的中断请求。
  • (5)总线缓冲器。与系统的数据总线连接,是8位双向三态缓冲器。对8259A写入命令字,以及读取状态信息都是通过该缓冲器传送的。
  • (6)读/写控制逻辑。该逻辑电路接收端口地址信号和CPU的读写控制信号IOW和IOR产生相应的控制信号,控制命令字的写入和状态字的读取。
  • (7)级联缓冲器和比较器。用来存放和比较系统中从片8259A的标识码。
  • (8)控制逻辑。控制逻辑中有一组寄存器,用来寄存8259A的命令字,实现对多种工作方式的控制。同时还包括有中断请求和响应的电路,在有中断请求时向CPU发出中断请求,同时接收CPU响应中断时发出的中断响应信号。
slide7
2.8259A的外部引脚信号
  • 8259A为28脚双列直插封装。

D7 ~ D0 双向数据线。

  • RD:输入,读命令信号。与控制总线相连。
  • WR:输入,写命令信号。与控制总线相连。
  • CS:输入,片选信号。与地址译码电路相连。
  • A0:输入,地址线。8259A占用相邻两个端口
  • 地址,A0与CS配合,A0=1时选中奇地址,
  • A0=0 时选中偶地址,而且要求偶地址
  • 低,奇地址高。PC机中主片为20H和21H。
  • CAS2 ~CAS0:级联线。在主从结构中,主、
  • 从片8259A的CAS2一CAS0。对应连接。
  • SP/EN:双向信号线。有两个功能,作为输入时,主片8259A的此信号线接 高电平,从片8259A的此信号线接低电平。做输出时,如果8259A采用缓冲方 式工作,则SP/EN信号作为数据线驱动器的使能信号。
  • INT:中断请求信号。输出,与CPU的INTR引脚连接,向CPU发出中断请求。
  • INTA:中断响应信号。输入,与CPU的中断响应输出相连。
slide8
5.2.2 8259A的工作方式
  • 1.优先级方式选择
  • (1)全嵌套方式。亦称固定优先级方式。在8个中断请求IR0~IR7中,IR0为最高级,依次为IR1,IR2,…,IR7为最低。在中断服务过程中禁止同级和优先级低于本级的中断请求。
  • (2)特殊全嵌套方式。它与全嵌套方式基本相同,只是在特殊全嵌套方式下,当某级正在处理中断时,同时可以响应本级的中断请求,实现对同级中断的嵌套。
  • (3)优先级自动循环方式。初始化时,优先级次序为IR0、IR7,IR0最高。IR7最低。当某级中断响应后,则优先级降为最低。例如,IR4响应后的优先级次序变为IR5,IR6,IR7,IR0,IR1,IR2,IR3,IR4。
  • (4)优先级特殊循环方式。开始时由编程指定最低优先级的中断请求, 其他同优先级自动循环方式。例如,初始化时指定IR6为最低优先级,则优先级次序为:IR7,IR0…….IR6。

优先级自动循环方式有利于平衡各个中断源的响应几率:对于几个中

断源地位几乎相等的情况,默认的优先级总是使得排在前面的中断源

得到响应的几率较大。但是在自动循环方式中,先响应的中断源变为

最低,则提升了后面的优先级,从而平衡了各个中断源的响应几率。

slide9
2. 屏蔽中断方式选择
  • (1)普通屏蔽方式。将操作命令字OCW1写入到片内屏蔽寄存器IMR中,例如IMR=00001100,则IR2,IR3的中 断请求被禁止。
  • (2)特殊屏蔽方式。在本分式下,当某个中断正在被响应时,允许较低级别的中断源的中断请求。暂时中断正在执行的中断服务程序。
  • 3.中断处理结束方式选择
  • 当中断存服务寄存器ISR中某位ISRn为1时,表示相应的中断请求IRn正在服务中;中断服务结束时,则应将ISRn清0。
  • (1)白动中断结束方式。8259A在收到CPU的中断响应后,自动将ISR中的正在处理的ISRn位清0。仅适用单片8259A和中断无嵌套的情况。
  • (2)一般的中断结束方式。在中断服务程序返回前,执行一条一般中断结束命令,将ISR中当前最高的置1位清0。适用全嵌尝方式。
  • (3)特殊中断结束方式。在中断结束前,向8259A发出一条特殊中断结束命令;根据命令字的编码。将ISR中的指定位清0,以结束中断。
  • 4. 中断请求信号触发方式选择
  • (1)边沿触发方式:正跳变信号,表示有中断请求。出现正跳变信号后,允许高电平保持。
  • (2)电平触发方式:高电平信号表示有中断请 求。该请求电平必须在中断服务程序中的中断结束命令执行前予以撤消。
slide10
5.2.3 8259A的命令字
  • 命令字包括初始化命令字和操作命令字两部分。要按规定写入到8259A的两个端口(1个为偶地址,一个为奇地址) 中寄存。
  • 1.初始化命令字
  • 初始化命令字共有ICW1~ICW4 四个。
  • (1)ICW1的格式和定义。
  • ICW1必须碍到8259A的偶地址端口。
  • A0 D7 D6 D5 D4 D3 D2 D1 D0
  • ICW1 0
  • 任意值
  • 1 中断请求电平触发 1 单片
  • LTIM SNGL
  • 0 中断请求边沿触发 0 多片

1

LTIM

ADI

SNGL

IC4

不用

恒为

1

为了扩大中

断源的数目

8259A可以

多片级连。

slide11
(2)ICW2的格式和定义。
  • ICW2用来设置中断类型码,必须写到8259A的奇地址端口。ICW2用来指定8259A的8个中断请求IR0—IR7的中断类型码。
  • A0 D7 D6 D5 D4 D3 D2 D1 D0
  • ICW2 0
  • 其中T7—T3由程序写入,最低3位根据正在响应的中断请求IRn的n值自动填入。
  • 例如:ICW2为40H,则所对应的中断类型码为40H,41H,42H,43H,44H,45H,46H,47H。
  • (3)ICW3的格式和定义。
  • 8259A作为主片和从片的ICW3格式和含义是不同的,ICW3必须写到8259A的奇地址端口。
  • 8259A作为主片的格式:
  • A0 D7 D6 D5 D4 D3 D2 D1 D0
  • ICW3 0
  • 主片的IR0~IR7的某个引脚上连接从片8259A,则该位为l,反之为0。

T7

T6

T5

T4

T3

IR7

IR6

IR5

IR4

IR3

IR2

IR1

IR0

slide12

ID2

ID1

ID0

  • 8259A作为从片的格式:
  • A0 D7 D6 D5 D4 D3 D2 D1 D0
  • ICW3 1
  • ID2、ID1、ID0的值取决于本从片的INT输出端连到主片哪个IR输入端。如连到IR7,则ID2,ID1,ID0=111。
  • 从片的CAS7~CAS0接收到主片8259A发来的编码,将该码与从片本身的ICW3中的ID2~ID0比较,若相等,则在中断响应过程中将自己的中断类型码发送到CPU。
  • (4)ICW4的格式和定义:ICW4必须写入到8259A的奇地址端口
  • A0 D7 D6 D5 D4 D3 D2 D1 D0
  • ICW4 1
  • 1 特殊全嵌套方式 0 X 非缓冲方式
  • SFNM = BUF,M/S = 1 0 从片缓冲方式
  • 0 非特殊全嵌套方式 1 1 主片缓冲方式
  • 1 中断自动结束方式 1 8088/8086系统
  • 0 一般中断结束方式 0 8080/8085系统

0

0

0

SFNM

BUF

M/S

AEOI

uPM

AEOI =

uPM =

slide13
对初始化命令字编程时应注意到:
  • (1)初始化命令字必须按规定的奇、偶地址端口写入。
  • (2)ICW1~ICW4写入的顺序是固定的,不可颠倒。
  • (3)ICW1、ICW2是必须设置的,但ICW3、ICW4根据工作方式的需要设置。
  • 2.8259A的操作命令字
  • 8259共有3个操作命令字OCW1—OCW3。
  • (1)OCW1的格式和定义。这是一个中断屏蔽命令字,OCW1必须写入到8259A的
  • 奇地址端口。
  • OCW1的格式如下:
  • A0 D7 D6 D5 D4 D3 D2 D1 D0
  • OCW1 1
  • OCW1中某位为l时,其对应的中断请求IRn被屏蔽,对应于各位为0的中断请求被允许参与优先权的裁决。

M7

M6

M5

M4

M3

M2

M1

M0

slide14

R

SL

EOI

0

0

L2

L1

L0

  • (2)OCW2的格式和定义。OCW2必须写入到8259A的偶地址端口。
  • OCW2的格式如下:
  • A0 D7 D6 D5 D4 D3 D2 D1 D0.
  • OCM2 0
  • 1 中断优先级循环 1 L2~L0 有效 1 非自动结束中断

R = SL= EOI=

  • 0 中断优先级非循环 0 L2~L0 无效 0 自动结束中断
  • OCM2控制位的功能组合
  • R SL EOI 功 能
  • 0 0 0 自动结束中断 、结束优先级自动循环
  • 0 1 0 无意义
  • 1 0 0 中断优先级自动循环方式
  • 1 1 0 优先级特殊循环方式
  • 0 0 1 一般中断结束命令
  • 0 1 1 特殊的中断结束命令
  • 1 0 1 清除当前中断处理程序对应的ISRn,优先级循环方式
  • 1 1 1 清除L2~L0指定的ISR中的特定位,优先级特殊循环方式

一般来讲:

EOI=0指定优先

级循环方式。

EOI=1指定中断

结束的命令。

slide15
(3)OCW3的格式和定义。OCW3的功能是设置或撤消特殊屏蔽方式,设置中断查(3)OCW3的格式和定义。OCW3的功能是设置或撤消特殊屏蔽方式,设置中断查

询方式以及设置对8259A内部寄存器读出的命令。

  • OCW3必须写入到8259A的偶地址端口。
  • OCW3的格式如下:
  • A0 D7 D6 D5 D4 D3 D2 D1 D0
  • OCW3 0
  • ESMM SMM RR RIS
  • 1 1 进入特殊屏蔽方式 1 0 在下条指令读取IRR
  • 1 0 恢复到一般屏蔽方式 1 1 在下条指令读取ISR
  • 1 查询命令
  • 0 不查询命令
  • OCW3中的P位称为查询方式位,P=1时,使8259A设置为中断查询工作方式。当发出查询命令后,下一条输入指令,CPU就可读取8259A中ISR寄存器的值。OCW3的PR=l,RIS=0时,则()CW3发出后的下一条输入指令就可读取IRR寄存器的值。当RR=1,RIS=1时,则下一条输人指令就可读取ISR寄存器的值。
  • OCW1~OCW3是在应用程序中设置的,写的次序没有严格规定。

0

ESMM

SMM

0

1

P

RR

RIS

P =

slide16
5.2.4 PC机的
  • 中断控制器及
  • 用户中断编程
  • 在80x86CPU
  • 的微机系统中,使
  • 用了两片8259A构
  • 成了8259A的级联
  • 中断系统,用于管
  • 理15级外部的中断。
  • 右图为PC机中断
  • 系统原理图

用户中断 IRQ9

slide17
系统分配给主片8259A的端口地址为20H和21H,从片8259A的端口地址为AOH和A1H。系统加电后,由BI()S对两片8259A进行初始化,其设置的工作方式如下:(1)中断优先级采用全嵌套方式。两片的中断请求输入端IR0—IR7。IR0优先级最高,IR7为最低。对于图中的级联系统,其优先级的次序从高到低依次为:主片IR0,IR1,从片IR0一IR7,主片IR3,IR4,IR5,IR6,IR7。系统分配给主片8259A的端口地址为20H和21H,从片8259A的端口地址为AOH和A1H。系统加电后,由BI()S对两片8259A进行初始化,其设置的工作方式如下:(1)中断优先级采用全嵌套方式。两片的中断请求输入端IR0—IR7。IR0优先级最高,IR7为最低。对于图中的级联系统,其优先级的次序从高到低依次为:主片IR0,IR1,从片IR0一IR7,主片IR3,IR4,IR5,IR6,IR7。
  • (2)采用普通的中断屏蔽方式。
  • (3)采用一般的中断结束方式。
  • (4)中断请求采用边沿触发方式。
  • 图中可知,15级可屏蔽中断中有4个已由系统占用,用于系统的日时钟、键盘、实时钟以及协处理器的中断服务(用箭头标出)。
  • 中断控制器请求输入端分配情况
  • 主8259 中断源 类型码 从8259 中断源 类型码
  • IRQ2 从8259 0AH IRQ9 用户中断 71H转0AH
  • IRQ3 串口2 0BH IRQ10 保留 72H
  • IRQ4 串口1 0CH IRQ11 保留 73H
  • IRQ5 并口2 0DH IRQ12 保留74H
  • IRQ6 软盘 0EH IRQ14 保留 76H
  • IRQ7 并口1 0FH IRQ15 保留 77H
slide18
2.用户中断的编程
  • (1)利用微机系统分配给用户使用的“用户中断”入口申请中断:

①用户的中断请求连接到I/O扩展插槽的B4引脚。

  • ②在应用程序中,利用DOS的功能调用,功能号25H,将中断服务程序的入口地址写入到中断类型OAH的向量表中。
  • ③在应用程序中向主片8259A写入中断屏蔽字使其IMR D2位置0,向从片8259A写入中断屏蔽字,使其IMR D1位置0。主、从片8259A中IMR的其他位保持原值。
  • ④中断服务程序结束,返回主程序前,向主片8259A发中断结束命令。
  • ⑤应用程序结束之前,分别向主、从片8259A写入中断屏蔽字,使主片IMR D2位置1,从片IMR D1位置1,屏蔽用户中断。
slide19
(2) 使用外设中断请求入口
  • 具体的编程步骤如下:
  • ①硬件连接。例如,借用并口1(IRQ7),其中断类型码为0FH,中断请求人口端为I/O扩展插槽B21,将用户请求信号连到B21。
  • ②主程序中,利用DOS功能调用,功能号35H,保存中断类型码0FH的原中断向量。利用DOS功能调用,功能号25H,写入中断类型码0FH及新的用户中断服务程序的入口地址。
  • ③向主片8259A写人中断屏蔽字,使其IMR D7位置0;允许用户中断。同样也要使IMR的其他位保持原值。
  • ④中断服务程序结束之前,向主片8259入写入中断结束命令。
  • ⑤主程序结束前,恢复中断类型码0FH的原中断向量。
  • ⑥主程序结束前,向主片8259A写入中断屏蔽字。使IMR D7置l。
slide20
5.3.1 DMA的基本概念
  • 直接存储器存取(DMA)的传送方式不需要CPU的干预,而是在硬件电路控制下完成I/O设备与存储器之间的数据传输,这种硬件电路称为DMA控制器。
  • DMA方式与中断方式传送数据相比较有以下的特点:
  • (1)中断方式下, CPU需要执行多条指令,占用一定的时间;而DMA传送1个字节只占用CPU的1个总线周期,占用CPU的时间少。
  • (2)DMA的响应速度比中断快。I/O设备发出中断请求后,CPU要执行完当前指令后才给予响应,而DMA请求是在总线周期执行完后即可响应。
  • (3)对于快速的I/O设备,中断方式,其传输速度已无法满足要求。必须采用DMA方式来完成快速I/O设备的数据传送的操作。
slide21
5.3.2 DMA的系统组成和工作过程
  • 1.DMA的系统组成
  • HOLD和HLDA用于DMA方式请求和响应,DMA控制器是DMA传送的核心电路。
slide22
2.DMA方式传送的工作过程
  • (1)I/O设备接口向DMA控制器发出请求信号,请求DMA传送。
  • (2)DMA控制器接到I/O设备请求后,向CPU发出总线请求信号,请求取得总线控制权。
  • (3)CPU在执行完当前总线周期后,响应请求,向DMA控制器发出总线响应信号;释放总线的控制权,暂停执行主程序,处于等待状态。由DMA控制器取得对总线的控制权。
  • (4)DMA控制器接到CPU的总线响应信号后,向I/O设备接口发出DMA响应信号。
  • (5)由DMA控制器发出DMA传送所需的控制信号。当内存储器向I/O设备传送时,DMA控制器向地址总线送出内存地址,并向控制总线发出存储器读
  • (MEMR)和I/O写(I0W)命令。当执行I/O设备向内存储器传送时,则发出存储器写(MEMW)和I/O读(I0R)命令,完成1个字节的传送。
  • (6)DMA控制器内部的地址寄存器值加l,字节计数器值减1,如果计数器值不为0,则继续下个地址单元的传送。
  • (7)当设定的字节数传送完成,结束DMA传送。DMA控制器释放对总线的控制权。CPU重新获得总线的控制权,于是主程序从中断了的当前指令的总线周期开始继续执行。
slide23
5.4 DMA控制器
  • 8237A是由Intel公司研制的可编程DMA控制器,基本功能如下:
  • (1)具有独立的4个DMA通道,每个通道可以请求或屏蔽DMA传送。
  • (2)四个DMA通道具有不同的优先级。通过编程可以工作在固定优先级方式,也可以是循环优先级方式。
  • (3)提供4个工作模式:单字节传送、数据块传送、请求传送和级联传送,通过编程进行选择。
  • (4)提供3种DMA传送类型:写传送、读传送和校验传送。
  • (5)提供外部硬件DMA请求和软件DMA请求两种方式。
slide25
8237A内部电路由以下各部分组成:
  • (1)DMA通道。8237A内部包含有
  • 4个独立的通道,通道0一通道3。
  • (2)DMA通道公用的寄存器。
  • (3)定时和控制逻辑。
  • (4)优先级编码电路。
  • 2.8237A的外部引脚定义(见教材)
  • 5.4.2 8237A的工作模式和传送类型
  • 1.工作模式
  • 8237A有四种工作模式:
  • 单字节传输模式、
  • 块传输模式、
  • 请求传输模式
  • 级联传输模式。
slide26
(1)单字节传输模式。在这种模式下,完成1个字节传送后,字节计数器减1,地址寄存器增l(或减1)。然后8237A释放总线,CPU至少可以获得1个总线周期的时间。由于DREQ继续维持有效电平,因此8237A再次发出总线请求,并获得总线控制权而继续进行传送,直到字节计数器为0时结束。(1)单字节传输模式。在这种模式下,完成1个字节传送后,字节计数器减1,地址寄存器增l(或减1)。然后8237A释放总线,CPU至少可以获得1个总线周期的时间。由于DREQ继续维持有效电平,因此8237A再次发出总线请求,并获得总线控制权而继续进行传送,直到字节计数器为0时结束。
  • (2)块传送模式。在此模式下进行DMA传送后,连续传送数据,直到指定的字节数传送完毕才释放总线。DREQ请求信号仅保持到DACK变成有效时即可。
  • (3)请求传输模式。与块传送模式类似。但是当DREQ的信号变为无效时,则暂停DMA传送;当DREQ再次变为有效时,则DMA传送从暂停处开始卑继续传送,直至字节计数器为0时结束传送。传送暂停期间,CPU可以进行操作。
  • (4)级联传输模式。这种方式可以实现DMA系统的扩展,几个8237A可以进行级联工作。
slide27

MEMR

IOW

DMA控制器

  • 2.传送类型
  • 8237A有3种传送类型:读传送、写传送和校验传送。
  • 读传送:
  • 写传送:

内存

I/O

设备

数据

MEMW

IOR

DMA控制器

内存

I/O

设备

数据

校验传送:虚

拟传送,用于对

器件的测试。

内存到内存的传送:

实现数据块在不同

内存区间的传送。

slide28
5.4.3 8237A内部寄存器的功能和格式
  • 1.地址寄存器
  • 每个通道包含有1个16位的基地址寄存器和1个16位的当前地址寄存器。
  • 基地址寄存器:存放DMA传送时的存储器地址初值
  • 当前地址寄存器:记录当前地址,每次传送后寄存器的值增1或减1。
  • 2.字节寄存器
  • 每个通道包含有1个16位的基本字节寄存器和1个当前字节计数器。
  • 基本字节寄存器:用来存放DMA传输的字节数初值。
  • 当前字节计数器:初始化时写入字节数初值,每次传送后,当前字节计数器值减1。
slide29

D7

D6

D5

D4

D3

D2

D1

D0

  • 3. 命令寄存器
  • 8237A命令寄存器的格式

0 DACK低电平有效 0 禁止内存间的传输

1 DACK高电平有效 1 允许内存间的传输

0 DREQ高电平有效 1 内存间传输源地址

1 DREQ低电平有效 无意义

0 不扩展写信号 0 允许8237工作

1 扩展写信号 1 禁止8237工作

0 固定优先级 0 正常时序

1 循环优先级 1 压缩时序

slide30

D7

D6

D5

D4

D3

D2

D1

D0

  • 4.模式寄存器
  • 8237模式寄存器的格式
  • 模式选择: 通道选择:
  • 00 请求传输 00 通道0
  • 01 单字节传输 01 通道1
  • 10 数据块传输 10 通道2
  • 11 级联传输 11 通道3
  • 地址增/减选择 传送类型选择
  • 0 地址增1 00 校验传输
  • 1 地址减1 01 写传输
  • 自动预置功能选择 10 读传输
  • 0 禁止 11 无意义
  • 1 允许
slide31

D7

D6

D5

D4

D3

D2

D1

D0

  • 5. 请求寄存器
  • 8237A请求寄存器的格式
  • DMA请求标志 通道选择
  • 0 复位请求 00 通道0 ;01通道1
  • 1 设置请求 10 通道2 ;11通道3
  • 6.屏蔽寄存器
  • 8237A屏蔽寄存器的格式
  • 屏蔽设置标志 通道选择
  • 0 清除屏蔽 00 通道0 ;01通道1
  • 1 设置屏蔽 10 通道2 ;11通道3

不用

D7

D6

D5

D4

D3

D2

D1

D0

不用

slide32

D7

D6

D5

D4

D3

D2

D1

D0

  • 7. 多通道屏蔽寄存器
  • 8237A多通道屏蔽寄存器的格式
  • 通道0
  • 通道1 1:置1屏蔽位
  • 通道2 0:置0屏蔽位
  • 通道3
  • 8. 状态寄存器
  • 8237A状态寄存器的格式
  • 通道0 通道0
  • 有请求的 通道1 通道1 1:置1屏蔽位
  • 通道置1 通道2 通道2 0:置0屏蔽位
  • 通道3 通道3

不用

D7

D6

D5

D4

D3

D2

D1

D0

slide33
9. 暂存寄存器
  • 它是公用的8位寄存器。在存储器到存储器的传送中暂存中间数据。
  • 10. 先后触发器
  • 16位的基本地址(或基本字节)寄存器是分两次写入的。由先后触发器控制写入顺序。先将触发器清0,就能保证先写入低8位,后写入高8位。
  • 11.软件命令
  • (1)清0先/后触发器命令。对8237A的DMA+0CH端口地址写入00H字节,即可使先/后触发器处于复位状态。
  • (2)复位命令。对8237A的DMA+0DH端口地址写入00H字节,即可实现对

8237A的总清,其功能与硬件RESET信号复位具有同样功能。

  • 执行复位命令后,命令寄存器、状态寄存器、请求寄存器、暂存寄存器和内部的先/后触发器都被清0,而屏蔽寄存器则被置位。
  • (3)清屏蔽寄存器。对8237A的DMA+0EH端口写入00H字节,即可将四个通道的屏蔽触发器全清0。
slide34
5.4.4 8237A的初始化编程
  • 1. 在进行DMA传送前,先要对8237A进行初始化编程。
  • (1)写入屏蔽寄存器。
  • (2)命令字写入到命令寄存器。
  • (3)模式字写入到模式寄存器。
  • (4)置0先/后触发器。
  • (5)写入基地址寄存器和基本字节寄存器。
  • (6)清除屏蔽。
  • (7)写入请求寄存器。
  • 2. 8237A的端口地址(祥见教材P197页 表5.3)