输入输出系统.ppt

上传人:文库蛋蛋多 文档编号:2334199 上传时间:2023-02-12 格式:PPT 页数:83 大小:1.06MB
返回 下载 相关 举报
输入输出系统.ppt_第1页
第1页 / 共83页
输入输出系统.ppt_第2页
第2页 / 共83页
输入输出系统.ppt_第3页
第3页 / 共83页
输入输出系统.ppt_第4页
第4页 / 共83页
输入输出系统.ppt_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《输入输出系统.ppt》由会员分享,可在线阅读,更多相关《输入输出系统.ppt(83页珍藏版)》请在三一办公上搜索。

1、第5章 输入输出系统,第5章 输入输出系统,5.1 概述5.2 微型机与输入输出设备的信息交换5.3 8259A中断控制器5.4 DMA控制器,5.1 概述,5.1.1 接口电路5.1.2 输入输出端口5.1.3 I/O端口的地址译码,5.1.1 接口电路,I/O接口通常应具有下列功能:数据暂存功能通信联络功能地址译码和端口读写功能数据转换功能中断管理功能,5.1.2 输入输出端口,通常把接口电路中CPU可以访问的每一个寄存器或控制电路称为一个I/O端口。1.端口的分类 数据口:接收CPU的数据或将外设的数据送往CPU。状态口:用来接收反映外设或接口本身工作状态的端口。控制口:用来接收CPU发

2、出的各种命令以控制接口和外设操作的端口。2.I/O端口的编址方式 存储器映像方式 独立编址方式,2.I/O端口的编址方式 存储器映像方式统一编址 将I/O端口当做存储单元,即每个端口占一个存储单元地址,存储器和I/O端口共用统一的地址空间。优点:访问内存的指令也可用于访问I/O端口。缺点:存储器可用空间减少。独立编址方式存储器和I/O端口建立两个完全独立的地址空间。优点:采用专门的I/O指令,指令简单,需要的硬件控制电路简单,执行速度快。缺点:I/O指令功能弱、类型单一,需要专设控制I/O读写的引脚信号(如M/IO)。PC系列微型机采用独立编址方式。,存储器映像方式,独立编址方式,5.1.3

3、I/O端口的地址译码,下面以IBM PC/XT为例说明系统I/O端口地址的分配及I/O端口地址的译码方法。IBM PC/XT中使用独立的I/O编址方式。使用A9A0共10位地址,可对210=1024个I/O端口进行寻址。1.用门电路设计口地址译码电路2.用译码器设计口地址译码电路,1.用门电路设计口地址译码电路,5.1.3 I/O端口的地址译码,对34EH端口的门电路译码及端口读写控制示意图,MOV DX,34EHIN AL,DX,MOV DX,34EHOUT DX,AL,1#端口CPU数据线,CPU数据线 2#端口,2.用译码器设计口地址译码电路,5.1.3 I/O端口的地址译码,对36CH

4、36FH端口的地址译码,74LS138译码器引脚与真值表,接口电路需要多个端口地址的情况,5.2 微型机与输入输出设备的信息交换,5.2.1 无条件传送方式5.2.2 程序查询方式5.2.3 中断控制方式5.2.4 DMA方式,5.2.1 无条件传送方式,外设总被认为处于“待命”状态,不需要预先查询外设状态而直接执行IN/OUT指令传送数据。,5.2.2 程序查询方式,接口中除了数据口外,还需要状态口。传输数据前需先读取状态口中的状态标志信息。1.查询方式输入,查询式输入流程,查询式输入的程序段:SCAN:MOV DX,状态口地址 IN AL,DX TEST AL,80H JZ SCAN MO

5、V DX,数据口地址 IN AL,DX,查询式输入接口电路,SCAN:MOV DX,状态口地址 IN AL,DX TEST AL,80H JZ SCAN MOV DX,数据口地址 IN AL,DX,IN 状态,IN 数据,2.查询方式输出,5.2.2 程序查询方式,查询式输出流程,SCAN:MOV DX,状态口地址 IN AL,DX TEST AL,1 JNZ SCAN MOV AL,数据 OUT DX,AL,查询式输出接口电路,SCAN:MOV DX,状态口地址 IN AL,DX TEST AL,1 JNZ SCAN MOV AL,数据 OUT DX,AL,IN 状态,OUT 数据,5.2.

6、3 中断控制方式,程序查询方式:CPU为主控方,CPU主动查询接口状态。中断控制方式:外设为主控方,接口主动向CPU提出中断请求。,中断方式输入接口电路,5.2.4 DMA方式,DMA方式在主存与外设间直接进行数据传送,也称为直接存储器存取方式(direct memory access,DMA)。DMA传送方式把外设与内存交换信息的操作与控制交给了DMA控制器,简化了CPU对输入/输出的控制。,微型机与输入输出设备的信息交换,无条件传送方式程序查询方式中断控制方式DMA方式,5.3 8259A中断控制器,8086的硬件中断机制8086/8088微处理器的硬件中断有非屏蔽中断请求和可屏蔽中断请求

7、两种。非屏蔽中断请求:中断类型码由8086/8088内部产生,值为2,没有选择。可屏蔽中断请求:8086/8088在中断响应周期要从数据总线上读取中断类型码。虽然只有一根可屏蔽中断请求信号,但可以通过向8086/8088提供不同的中断类型码,来实现对不同硬件中断请求的区别响应。CPU只有一个INTR引脚,当系统有多个中断源时怎么办?8259A是可编程中断控制器,可以管理8级中断。,8259A引脚图,5.3.2 8259A的内部结构与中断过程1.Intel 8259A的内部结构,8位,可寄存8个中断请求信号,IRRi对应IRi中断请求,寄存中断屏蔽字操作命令字OCW1。当IMRi=1时,IRi的

8、中断请求被屏蔽。,CPU正在执行某些中断服务例程时,与之对应的ISRi=1。,8位的双向三态缓冲器,由读写逻辑控制其状态和方向,以写入命令字CW或者读取8259A寄存器的值。,通过RD、WR、A0和命令字CW中的标志位选择读写的8259A寄存器。,端口选择,包含有控制逻辑和一组命令字(CW)寄存器。,优先权分析器PR优先权分析器PR将IRRi(=1)的优先权与ISRi的优先权进行分析比较,以确定是否将IRRi(=1)的中断请求通过INT信号提交给微处理器。如果IRRi=1,其优先权高于目前ISR中=1的各位所表示中断源的优先权,则8259A将INT=1,向微处理器提出中断请求;并在微处理器响应

9、该中断请求时将相应的ISRi=1;如果IRRi=1,其优先权等于或者低于目前ISR中=1的各位所表示中断源的优先权,则PR暂时不理睬它。,读写控制逻辑读写控制逻辑接收输入信号CS、RD、WR和A0,对应操作如下:,一片8259A在系统中占用两个口地址。A0=0选择偶地址端口,A0=1选择奇地址端口。,级联缓冲/比较器一片8259A只能处理最多8个中断源的请求/响应和嵌套控制。当需要处理多于8个中断源时,就要使用多片8259A来共同完成中断控制。级联缓冲/比较器的作用就是将多片8259A连接成主从树状结构:,8259A引脚图,8259A的中断过程 响应硬件可屏蔽中断的过程,(1)外部设备通过中断

10、请求输入线IR7 IR0使中断请求寄存器IRR的相应位置位。(2)IMR管理下,没有被屏蔽的中断请求送给优先权电路判优,优先级最高的中断请求送到控制电路。(3)控制电路接收到的中断请求向CPU输出INT信号。(4)若CPU是处在开中断状态,则在当前指令执行完以后输出两个中断响应脉冲。(5)8259A的/INTA脚上收到第一个中断响应脉冲信号,将最高优先级所对应的IRR位清0,并将对应的ISR位置1。,8259A的中断过程 响应硬件可屏蔽中断的过程,(6)8259A收到第二个中断响应信号后向数据总线输出选中的中断源类型码n。(7)CPU读取该中断向量码,n4,得到中断服务程序入口地址,转入该中断

11、服务程序。这样一个中断响应周期就完成了。,5.3.3 8259A的中断管理方式,1.中断触发方式 电平触发方式 IRi高电平要维持到8259A收到第1个INTA;在与IRi相应的ISRi=0(中断服务结束)之前,IRi应当恢复为低电平,否则8259A会认为IRi又出现1次中断请求。边沿触发方式 低电平到高电平的跃变表示有中断请求;8259A收到第1个INTA之前,同一IRi不应出现第2次的低电平到高电平的跃变。在80 x86微机系统中采用边沿触发方式。,2.中断屏蔽方式 常规屏蔽方式 当IMRi=1时,8259A就屏蔽IRi的中断请求。特殊屏蔽方式 8259A只自动屏蔽与CPU正在进行中断服务

12、的中断源同级的中断请求。允许较低或较高级别的中断源中断正在执行的服务程序。在80 x86微机系统中采用常规屏蔽方式。,3.中断优先级管理方式 完全嵌套方式 固定优先级 8259A的每个IRi的优先级是固定的,IR0最高,IR7最低。优先级循环方式 8259A的每个IRi的优先级是动态的,刚被CPU服务过的中断源,其优先级降为最低。在80 x86微机系统中采用完全嵌套方式。,4.中断结束方式 自动EOI方式 8259A在接收到第2个INTA信号时,自动将ISRi=0。ISRi=0时中断服务尚未开始,若此时IRi=1,8259A将向CPU发出中断请求,从而出现同级中断服务嵌套的情况。此方式下,中断

13、服务程序必须在关中断的前提下执行。常规EOI方式 在中断服务程序中IRET指令之前,使用OCW2中的常规EOI命令,使ISRi=1的位中优先权最高的ISRi=0。在完全嵌套方式下应使用常规EOI方式结束中断。特殊中断方式 在中断服务程序中执行IRET指令之前,使用操作命令字OCW2中的特殊EOI命令,指明具体的ISRi=0。在特殊屏蔽方式下应使用特殊中断方式结束中断。,4.中断结束方式 优先级循环的中断结束 自动EOI,优先级循环方式 向8259A写入操作命令字OCW2中的“设置自动EOI,优先级循环”命令。8259A在接收到第2个INTA信号时,自动将ISRi=0,并完成优先级循环。常规EO

14、I,优先级循环方式 IRET指令之前,向8259A写入OCW2中的“常规EOI,优先级循环”命令。特殊EOI,优先级循环方式 IRET指令之前,向8259A写入OCW2中的“特殊EOI,优先级循环”命令。在80 x86微机系统中采用常规中断结束方式。,4.中断结束方式,自动结束方式自动EOI方式非自动结束方式常规EOI方式特殊中断方式自动EOI,优先级循环方式常规EOI,优先级循环方式特殊EOI,优先级循环方式,5.总线连接方式 缓冲方式 8259A与系统总线之间,如果存在总线缓冲器,则8259A应当工作于缓冲方式。SP/EN信号工作于输出状态,用于选通总线缓冲器。非缓冲方式 在8259A与系

15、统总线之间不存在总线缓冲器,8259A直接与系统总线相连,则8259A应当工作于非缓冲方式。SP/EN信号工作于输入状态,用来表明8259A工作于主片抑或从片。,8259A的中断管理方式,8259A的控制命令字 8259A的控制命令字分为两类:初始化命令字ICW和操作命令字OCW。初始化命令字用于指定8259A的工作方式,共有ICW1ICW4 4个。在初始化8259A时,初始化命令字设置一次即不再改变。操作命令字用于改变8259A的操作模式,共有OCW1 OCW3 3个。操作命令字根据中断的不同情况改变8259A的操作模式,没有写入次数的限制。,1.8259A的初始化命令字ICW1ICW4 一

16、片8259A有两个口地址,由A0确定,各命令字写入的端口是固定的。初始化命令字写入8259A要依照ICW1、ICW2、ICW3、ICW4的顺序写入。(1)ICW1,ICW1,偶地址端口,对8086/8088系统无意义,ICW1的标志位,中断触发方式=1为高电平触发,=0为上升沿触发,=1 单片,=0 级联。,=1 要写入ICW4,=0 不写入ICW4。8086/8088系统必须写入ICW4。,ICW2写入8259A的A0=1的端口,并且在ICW1写入8259A 之后写入,不能缺失。对于8086/8088系统,ICW2是中断类型码,D7D3由用户确定。D2D0由8259A确定:对应IR0IR7为

17、000111。,ICW2,(2)ICW2,当8259A级联使用时,ICW1的SNGL=0,此时需要向8259A写入ICW3。ICW3写入奇地址端口,在ICW2写入8259A 之后写入。写入主8259A的ICW3,Si=1,表示IRi连接从8259A的INT信号;而Si=0,则表示IRi未连接从8259A。写入从8259A的ICW3,D7D3无意义,ID2ID0为该8259A的INT信号连接到主8259A的IRi的编码:000对应IR0,111对应IR7。,(3)ICW3,级联方式使用,否则不写ICW3,当ICW1的IC4=1时,需要向8259A写入ICW4。ICW4写入奇地址端口,在ICW2或

18、ICW3之后写入8259A。,(4)ICW4,ICW4的标志位,8259A初始化流程图,2.8259A的操作命令字OCW1OCW3 操作命令字用于改变8259A的操作模式。对于不同的操作命令字,8259A是按照写入不同的地址和不同的标志位来区分的,因此操作命令字没有写入顺序。,OCW1,(1)OCW1,操作命令字OCW1是中断屏蔽字,写入中断屏蔽寄存器IMR。Mi=1,则IMRi=1,IRi被屏蔽。OCW1写入8259A的A0=1的端口,在ICW写入8259A 之后写入,并且可以多次随时写入8259A,即随时可以改变中断屏蔽寄存器IMR的当前值。,(2)OCW2,OCW2的标志位,SL=1时有

19、效,中断结束命令字,例:R、SL、EOI=111,L2L0=101,表示什么操作?将ISR5清0,结束IR5的中断处理,指定IR5为最低优先级。,(3)OCW3,OCW3的标志位,在中断查询方式下,CPU通过OCW3的D2=1读取中断状态字,从而确定是否有中断请求,和中断源的编码。,D7=0,无中断请求;D7=1,有中断请求。,组合表示中断源的编码,对偶地址端口执行IN指令,8259A的初始化编程,在中断系统进入正常运行之前,系统中的每一个8259A都必须进行初始化。初始化就是将初始化命令字按固定的顺序写入8259A的指定端口以设定8259A的相应工作方式。,8259A的初始化流程,在PC/A

20、T微型计算机系统中,使用了2片8259A来管理多达15个外部硬件中断源。系统分配给主8259A的端口地址为20H/21H,分配给从8259A的端口地址为A0H/A1H。中断触发方式:上升沿触发;中断屏蔽方式:常规屏蔽;中断优先级管理方式:固定优先权完全嵌套,优先权顺序:主IR0、IR1、从IR0IR7、主IR3IR7;中断结束方式:非自动EOI,常规结束命令;总线连接方式:非缓冲方式。,在BIOS中,分别对主从两片8259A进行了初始化编程。主8259A初始化编程:MOVAL,11H;ICW1OUT20H,AL;上升沿触发,级连,有ICW3,有ICW4JMP$+2;延时MOVAL,8;ICW2

21、OUT21H,AL;中断类型码为815JMP$+2;延时MOVAL,4;ICW3OUT21H,AL;主8259A的IR2接有从8259AJMP$+2;延时MOVAL,1;ICW4OUT21H,AL;特殊嵌套,非缓冲方式,非自动EOIJMP$+2;延时,从8259A初始化编程:MOVAL,11H;ICW1OUT0A0H,AL;上升沿触发,级连,有ICW3,有ICW4JMP$+2;延时MOVAL,70H;ICW2OUT0A1H,AL;中断类型码为70H77HJMP$+2;延时MOVAL,2;ICW3OUT0A1H,AL;从8259A的INT接主8259A的IR2JMP$+2;延时MOVAL,1;I

22、CW4OUT0A1H,AL;完全嵌套,非缓冲方式,非自动EOIJMP$+2;延时,5.3.5 可屏蔽中断与非屏蔽中断,CPU在每一条指令的最后一个时钟周期检测INTR和NMI引脚。INTR引发可屏蔽中断;NMI引发非屏蔽中断。非屏蔽中断优先级高于可屏蔽中断,DMA请求优先级高于非屏蔽中断。CPU响应中断请求需满足一定的条件。,5.3.6 可屏蔽中断的硬件结构,主从8259A均按“固定优先级”方式管理中断源,优先权顺序:主IR0、IR1、从IR0IR7、主IR3IR7。,286以上微机系统的可屏蔽中断硬件结构,因为主从8259A都工作于常规EOI方式,所以在中断服务程序结束前,应当向8259A写

23、入EOI命令。如果是主8259A的中断结束,则应执行以下指令:MOVAL,20H;OCW2OUT20H,AL;常规EOI命令IRET;中断返回如果是从8259A中IR0IR7的中断服务程序,则MOVAL,20H;OCW2OUT0A0H,AL;常规EOI命令,从8259A,在一个8086系统中,使用两片8259A中断控制器组成主从级联结构,主片的IR2与从片的INTR相连,主片工作于特殊完全嵌套方式,主、从两片8259A均采用常规命令EOI方式。主片的端口地址为Master,从片的端口地址为Slave。从片8259A中断服务程序返回之前的程序段如下所示,写出该程序段每条指令的注释。MOVAL,2

24、0H OUTSlave,AL;MOVAL,0BH OUTSlave,AL;INAL,Slave;ORAL,AL;JNZRETURN;MOVAL,20H OUTMaster,AL;RETURN:IRET,写OCW2,使ISR相应位复位,通知从8259A本次中断结束,写OCW3,表示要读从8259的ISR,读从8259的ISR,判断ISR=0?,若不为0,表明从8259还有未处理完毕的中断服务,若从片ISR=0,向主8259A写OCW2,结束IR2的中断,5.3.7 硬件中断和软件中断的区别,1.相同点无论响应哪种中断,CPU先要把现行程序的断口地址压入堆栈,然后根据中断类型码转入中断服务程序。2

25、.区别1)中断的引发方式不同。硬件中断:INTR或NMI引脚软件中断:执行“INT n”指令2)CPU获得中断类型码的方式不同。可屏蔽中断类型码由8259A提供,软件中断由指令给出。3)CPU的响应条件不同。可屏蔽中断受IF限制。4)中断处理的结束方式不同。可屏蔽中断需要向8259A发中断结束命令。再执行IRET。,5.4 DMA控制器8086/8088微处理器通过HOLD/HLDA信号与DMA控制器应答,交接总线控制权,完成DMA过程。,DMA传送的过程?,1.DMA传送的简单过程I/O端口向DMAC发送DMA请求,请求传送数据。DMAC向CPU发出总线请求,请求取得总线控制权。CPU在执行

26、完当前指令的总线周期后,向DMAC发出总线响应信号,并脱离三总线处于等待状态。DMAC收到总线响应信号后,向I/O端口发出DMA响应信号,并由DMAC接管总线控制权。在DMAC控制之下,I/O端口与存储器之间DMA传送。DMA传送结束,CPU重新控制总线。2.DMA传送的特点DMA传送的速度比中断方式快。DMA传送的响应速度比中断响应快。实现DMA传送的硬件电路比中断方式复杂。,8237A内部结构,8086/8088微处理器的可编程DMA控制器Intel 8237A,结构同通道0,结构同通道0,结构同通道0,8237A是可编程的DMA控制器,一片8237A内部有4个独立的DMA通道。每个通道传

27、送的最大字节数为64KB。8237A内部有两类可编程寄存器,一类是4个通道共用的8位寄存器;另一类是各个通道专用的寄存器。共用的寄存器有:控制寄存器、方式寄存器、状态寄存器、请求寄存器、屏蔽寄存器和暂存寄存器。通道专用寄存器有:方式寄存器(6位),请求触发器(1位),屏蔽触发器(1位),基地址寄存器(16位),当前地址寄存器(16位),基本字节寄存器(16位),当前字节寄存器(16位)。,控制寄存器:规定8237A所有DMA通道的共同特性。,DMA应答信号,DMA请求信号,扩展写信号比正常时序提前一个时钟周期出现,固定优先级:通道0通道3优先级由高到低,正常时序:一次DMA传送需4个时钟周期压

28、缩时序:一次DMA传送需2个时钟周期,(2)方式寄存器:指定通道的工作方式。,写入方式命令字后,8237A根据D1D0位的编码将高6位写入相应通道的方式寄存器。,校验传送:不传送数据,寄存器照样增1或减1。读传送:存储单元I/O端口写传送:I/O端口存储单元,当前地址寄存器,单字节传送方式 传送一个字节。块传送方式 块传送方式由一个DMA请求启动传送一个数据块,在整个数据传送期间,系统总线一直被DMAC所控制。请求传送方式 类似块传送,是连续传送,每传送一个字节则检测DREQ,若不再有效则暂停传送。级联方式 多个8237A进行级联时,将其中一个DMAC作为主片,其他作为从片。,8237A的4种

29、传送方式,(3)基地址寄存器和当前地址寄存器 每1个DMA通道都各有1个16位的基地址寄存器和1个16位的当前地址寄存器,用于保存DMA传送的存储区首地址和传输过程中的当前地址。基地址寄存器的内容由微处理器写入之后不会改变;当前地址寄存器的内容在写入基地址寄存器或者在自动重装时,复制基地址寄存器,并在DMA每传送1个字节之后,调整当前地址寄存器的内容(1)。因为每个通道只有1个基地址寄存器和1个当前地址寄存器,因此,存储器到存储器传送方式需要占用2个DMA通道。,(4)基本字节寄存器和当前字节计数器 每1个DMA通道都各有1个16位的基本字节寄存器和1个16位的当前字节计数器,用于保存DMA欲

30、传送的字节数和当前尚未传送的字节数。基本字节寄存器的内容由微处理器写入之后不会改变;当前字节计数器的内容在写入基本字节寄存器或者在自动重装时,复制基本字节寄存器,并在DMA每传送1个字节之后,调整当前字节计数器的内容(1)。当计数器减至1(FFFFH)时,表明欲传送的字节已经全部传送完毕,此时EOP引脚输出低电平,通知IO接口电路,DMA传送完成。,(5)状态寄存器:微处理器可以通过IN指令读取8237A各个通道的状态。(6)暂存器:8237A工作在存储器到存储器传送方式下,暂存器保存从源单元读取的数据,然后再将它写入目标单元。因此要耗费2个总线周期。8237A只有1个控制寄存器、1个状态寄存

31、器和1个暂存器。,(7)请求寄存器:每1个DMA通道都有1个1位的请求触发器,根据请求寄存器的值设置该通道的软件DMA请求。(8)屏蔽寄存器:每1个DMA通道都有1个1位的屏蔽寄存器,可屏蔽该通道的DMA请求(包括硬件请求和软件请求),8237A内部结构,8086/8088微处理器的可编程DMA控制器Intel 8237A,8237A的引脚功能,CLK(I):时钟信号,控制8237A内部的操作和数据传输率。CS(I):片选信号,低电平有效。RESET(I):复位信号,高电平有效时将屏蔽寄存器置1,禁止所有的DMA请求,其他寄存器清0。READY(I):就绪信号,8237A在进行数据传输时检测R

32、EADY信号,如果为无效(低电平),则当前时钟状态为SW。DREQ0DREQ3(I):DMA请求信号,由IO接口电路向8237A提供。DACK0DACK3(O):DMA响应信号,输出至IO接口电路。HRQ(O):输出给CPU的总线请求信号,高电平有效。HLDA(I):总线响应信号,高电平有效,微处理器通知8237A接管总线控制权的信号。,DB7DB0(IO,三态):时分复用信号,与系统总线相连。微处理器使用IO指令通过DB7 DB0访问8237A的各寄存器;在DMA传送期间,DB7DB0输出存储器地址高8位A15A8。A3A0(IO,三态):时分复用信号,与系统总线相连。微处理器通过地址线A3

33、A0访问8237A中不同的寄存器;在DMA传送期间,A3A0输出存储器地址低4位。A7A4(O):DMA传送期间,A7A4输出存储器地址,与A3A0一起构成存储器地址低8位。ADSTB(O):地址锁存信号,高电平有效。在DMA传送期间,用于锁存存储器地址高8位DB7DB0。AEN(O):地址允许信号,高电平有效。在DMA传送期间,用于控制地址锁存器输出存储器地址高8位。,MEMR(O,三态):存储器读信号,低电平有效。DMA传送期间,MEMR控制存储器读操作。MEMW(O,三态):存储器写信号,低电平有效。DMA传送期间,MEMR控制存储器写操作。IOR(IO,三态):IO读信号,低电平有效。

34、微处理器控制IOR对8237A进行读操作。在DMA传送期间,8237A控制IO端口的读操作。IOW(IO,三态):IO写信号,低电平有效。微处理器控制IOW对8237A进行写操作。在DMA传送期间,8237A控制IO端口的写操作。EOP(IO):DMA结束信号,低电平有效。8237A控制该信号通知外设DMA传送过程结束;在DMA传送期间,外设也可以通过该信号请求8237A中断DMA传输。,8237A的初始化编程RESET命令:软件命令;基地址写入基地址寄存器:各通道分别写入;传输字节数基本字节寄存器:各通道分别写入;方式字写入方式寄存器:各通道分别写入;控制字写入控制寄存器;屏蔽字写入屏蔽寄存

35、器;如果需要软件DMA请求,则写入请求寄存器;8237A的初始化编程顺序并不严格,因为软件RESET命令已将各通道的屏蔽寄存器置1,屏蔽了各通道的DMA请求,所以只要先写RESET命令,最后写屏蔽寄存器即可。,5.4.3 8237A在PC机中的应用286以上微机系统使用两片8237A(DMAC1和DMAC2)级联,提供7个DMA通道(CH0CH3、CH5CH7)。两片如何级联?优先级?,8237A在PC机中的应用,对8237A的编程主要是对8237A中的控制寄存器、各通道中的方式寄存器、请求寄存器、屏蔽寄存器、基地址寄存器和基本字节寄存器的写操作,和对8237A的命令设置操作,以及对状态寄存器

36、、暂存器和各通道中寄存器的读操作。在PC机中DMA传送的特点:禁止存储器到存储器的DMA传送,允许DMA读写传送;使用正常时序;固定优先级;不扩展写信号;DREQ高电平有效,DACK低电平有效。,8237A的编程与软件命令,地址8写操作,地址8读操作,本章小结,5.1 概述接口电路输入输出端口:接口中CPU可以访问的寄存器或控制电路分数据口、状态口、控制口三类有统一编址和独立编址两种编址方式I/O端口的地址译码:可用门电路或译码器设计5.2 微型机与输入输出设备的信息交换无条件传送方式程序查询方式:CPU为主控方,CPU主动查询接口状态。中断控制方式:外设接口主动向CPU提出中断请求。DMA方

37、式:直接存储器存取,本章小结,5.3 8259A中断控制器 处理硬件可屏蔽中断其中断控制管理方式多种多样。(P195-P198)8259A的控制命令字分为两类:初始化命令字ICW和操作命令字OCW。初始化命令字用于指定8259A的工作方式,共有ICW1 ICW4 4个。初始化命令字按固定的顺序写入8259A的指定端口,设置一次即不再改变。操作命令字用于改变8259A的操作模式,共有OCW1 OCW33个。操作命令字没有写入次数的限制。,本章小结,5.4 DMA控制器8086/8088微处理器通过HOLD/HLDA信号与DMA控制器(DMAC)应答,交接总线控制权,完成DMA过程。8237A是可

38、编程的DMA控制器,有4个独立的DMA通道。8237A内部有两类可编程寄存器:共用的寄存器(8位)有:控制寄存器、方式寄存器、状态寄存器、请求寄存器、屏蔽寄存器和暂存寄存器。通道专用寄存器有:方式寄存器(6位),请求触发器(1位),屏蔽触发器(1位),基地址寄存器(16位),当前地址寄存器(16位),基本字节寄存器(16位),当前字节寄存器(16位)。8237A的初始化编程顺序并不严格,只要先写RESET命令,最后写屏蔽寄存器即可。,思考题:,若8086系统采用单片8259A中断控制器控制中断,中断类型码给定为20H,中断源的请求线与8259A的IR4相连,试问:对应该中断源的中断向量表入口地

39、址是什么?若中断服务程序入口地址为4FE24H,则对应该中断源的中断向量表内容是什么,如何定位?答:中断向量表入口地址为:0段的0090H地址。对应4FE24H中断服务程序入口,在向量表中定位情况:(0090H)=24H、(0091H)=00H、(0092H)=FEH、(0093H)=04H。,1.3片8259A级联,最多可接 个可屏蔽中断源。2.有3片8259A级联,从片分别接入主片的IR2和IR5,则主片8259的ICW3中的内容为,2片从8259的ICW3的内容分别为、。3.8086 CPU接收到中断类型码后,将它左移 位,形成中断向量的起始地址。4.8259A工作在8086模式,中断向

40、量字节ICW2=A0H,若在IR3处有一中断请求信号,这时它的中断向量号为,该中断的服务程序入口地址保存在 至 _的 个单元中。,22,24H,02H,05H,2,A3H,28CH,28FH,4,试按照如下要求对8259A设定初始化命令字:8086系统中只有一片8259A,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为20H27H,8259A的端口地址为B0H和B1H。答:ICW1=1BH(送B0H端口),ICW2=20H(送B1H端口),ICW4=03H(送B1H端口),8237A只有8位数据线,为什么能完成16位数据的DMA传送?答:I/O与存储器间在进行DMA传送过程中,数据是通过系统的数据总线传送的,不经过8237A的数据总线,系统数据总线是具有16位数据的传输能力的。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号