《控制器接口》PPT课件_第1页
《控制器接口》PPT课件_第2页
《控制器接口》PPT课件_第3页
《控制器接口》PPT课件_第4页
《控制器接口》PPT课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章控制器接口,知识要点:英特尔80 x86微型计算机系统中的中断控制器8259A、DMA控制器8237A、定时/计数器8253的内部结构、工作原理和应用技术。重点和难点:8259A的内部结构、中断管理方式和编程设置;8237A的内部结构、工作方式、寄存器和编程应用;8253内部结构、操作模式和编程应用。6.1中断控制器8259A,6.1.18259A的功能,每个8259A控制8个级别优先级,可通过级联扩展到64个级别;每个级别可以通过编程屏蔽或打开。中断优先级排队方法有多种。在响应中断时,可以提供用户设置的中断类型号。通过编程,您可以选择8259A的各种工作方式;8259A可以在不同的微处理器系统中使用。6.1.28259A的内部结构和针脚,CPU端的连接部件,1,8259A的内部结构,控制逻辑,读/写逻辑,数据总线缓冲,中断请求寄存器,中断掩码寄存器IMR,优先级电路,当前服务寄存器ISR,(1)确定向CPU发送未阻止的最高优先级中断请求的优先级。(3)中断掩码寄存器IMRIMR是保留中断掩码的8位寄存器。1=1表示相应的IRi输入丢失,0表示打开中断请求。可以使用命令设置。(5)控制逻辑电路控制逻辑电路根据CPU的8259A编程设置的工作方式管理8259A,负责发出INTR,接收INTA,并将intra转换为内部所需的各种控制信号。(6)读/写电路读/写电路对8259A接收CPU初始化命令ICW和操作命令OCW,并将其存储在相应的端口寄存器中,以规定8259A的操作方式和控制模式。您还可以为CPU提供每个端口寄存器的内容。(7)数据总线缓冲用于连接系统总线和8259A的内部总线,以发送8259A的控制词或状态词,以及发送中断类型号。(8)级连接缓冲/比较器控制多片8259A的级连接,以扩展中断级别。多个8259A级连接,一个为主,另一个从属。最多可以将64级中断扩展到9级连接。2.8259A的针脚及其功能,A0:端口地址选择行。一个8259A有两个端口地址,一个是偶数地址,另一个是奇数地址。选择A0=0偶数地址端口,然后选择A0=1奇数地址端口。注:8259上的A0和8086上的A1已连接。CAS2到cas 2到CAS0:级联信号线,用于输出的主片,发送从属设备标志;片是输入,并接收从属设备标志。6.1.382759 a的中断管理方法,1 .优先顺序设定方式,(1)一般/一般完全巢状方式一般而言,完全巢状方式是8259A最常见的运作方式,初始化后的预设运作方式。中断优先级别是固定的,IR0到IR7是减少的。当CPU响应中断时,它会屏蔽相同级别或更低级别的中断请求。中断处理过程中优先级较高的事件称为中断嵌套。8259A有两种中断嵌套方式。8259A有多种工作方式,可以通过编程进行设置。(2)特殊完全嵌套方法与常规完全嵌套基本相同,不同之处在于在特定完全嵌套方法中处理中断时,可以获得对对等中断请求的响应。如果系统只有单芯片8259A,则通常完全嵌套。使用8259A多重磁碟片段串连时,主磁碟片段必须使用特殊的完全巢状方法,从属磁碟片段可以使用一般的完全巢状方法。注意:特殊完全嵌套仅用于多个8259A级连接的主8259A,不能用于从属8259A或单个8259A系统。(3)优先级自动循环方法优先级自动循环方法通常用于系统具有多个具有相同优先级的中断源的情况。当中断源被服务时,优先级自动降低到最低级别。优先级在IR0到IR7中向左循环,相邻优先级上升到最高级别。最初,IR0最高,IR7最低。(4)优先级特殊循环法优先级特殊循环法与优先级自动循环法的区别在于,初始时最低优先级是由编程指定的。例如,如果指定的IR3最低,则IR4最高。、IR4服务、低级别、IR4的服务终止后,0,7、(1)常规屏蔽方法通过编程将中断掩码写入IMR。一个是屏蔽相应中断请求的1。值为0时,打开相应的中断请求。2 .中断掩码方法,(2)特殊屏蔽方法在执行高级中断服务时,在打开低级中断请求时应用特殊屏蔽。为了响应更高级别的中断,使用IMR的位置1的屏蔽,将ISR中相应的位整理为0。为了阻止当前服务的中断级别,您可以使用“中断掩码”命令来屏蔽中断服务程序当前服务的中断级别,同时让ISR自动将与当前中断级别相对应的位整理为“0”,以屏蔽当前正在处理的此级别的中断,并实际打开其他低级中断请求。特殊屏蔽可以通过操作命令词OCW3来打开或关闭。原则:假定当前正在处理IR6,首先进入特殊屏蔽方式,然后设置IMR6=1,ISR6=0。此时,除IR6以外的所有中断请求都可以得到响应。提供了允许低优先级中断接收响应的特殊手段。3.中断终止方法,当服务一个IRi中断时,ISR的相应位ISRi=1。服务结束后,必须清理ISRi位以结束中断。(2)非自动中断终止方式EOI在中断服务程序终止结束(在IRET命令之前)对8259A运行中断终止命令,并清除ISR中的相应位,以指示该级别的中断服务程序已终止。EOI命令包括常用的完全嵌套和特殊的完全嵌套方法对应的常用EOI命令和特殊的EOI命令。在完全嵌套方法中,ISR中最高优先级的对应位是最后响应的中断级别,即当前正在处理的中断级别,因此明确的“0”是终止当前正在处理的中断的典型中断终止方法。特殊的完全复盖方法通过特殊中断终止EOI命令。可以通过操作单词OCW2进行设置。不能用于中止嵌套方法,因为不保留当前服务中的中断状态。4,与系统总线的连接方式,(1)在缓冲多片级联中,8259A通过总线驱动器和数据总线进行连接。换句话说,它是缓冲的。此时,8259A的SP/EN端点与总线驱动器的允许端点相关联,SP/EN端点输出的较低级别可以用作总线驱动器的启动信号。(2)无缓冲方式在单片或少数级联系统中,将8259A直接连接到数据总线。8259A的SP/EN端点输入为高或低级别。(单片SP/EN的较高级别;多层系统中主片SP/EN的较高级别;片SP/EN的较低级别。),5 .引入中断请求的方法,沿触发Eric的边缘上升,表示存在中断请求,设置查询方法的过程:系统先关闭中断;在8259A(输出说明)中写“查询单词”。 8259A的8位查询词读取(命令输入)-偶数地址端口;CPU判断。查询语言格式:D7 D6 D5 DDD D1 d0,I=1表示存在中断请求。W2W1W0表示8259A请求服务的最高优先级编码。8259A的控制命令将初始化命令单词ICW ICW 1到IC w4 CPU将ICW写入8259A的过程称为初始化编程任务命令单词OCW ocw1到ocw3 CPU将OCW写入8259A的过程称为工作方法编程,设置初始化命令单词使8259A进入就绪状态。您可以操控指令单字的设定,以指定其工作方式。6.1.482559 a的编程设置,1,8259A的初始化命令字,初始化8259A必须从ICW1开始创建ICW1。也就是说,在重新初始化8259A并将其写入ICW1后,8259A的状态为:清除ISR和IMR(全部为零);将中断优先级设置为初始状态:IR0最高,IR7最低;设定为一般屏蔽方法;使用非自动中断终止方法;(1)ICW1芯片控制单词,LTIM:触发方法=1高级触发器=0升降触发器SNGL:级连接控制=1单芯片=0级连接ICW4:ICW4控制=1要写入的ICW4=0没有要写入的ICW4(,在8086系统中,IC w4=1,(2) ICW 23354中断矢量代码(中断类型命令单词),T7到T7到T3:中断矢量代码的高度为5位,由用户提供。T2到t0:最少3个字符是中断源的序列号IRn,在响应中断时会自动填充。000到111分别对应于IR0到IR7,具体取决于中断源的序列号。例如,如果ICW2命令单词为48H,则IR0的中断矢量代码为48H,IR7的中断矢量代码为4FH,依此类推。a 0 D7 D6 D5 DD D2 D1 t7t 6t 5t 4t 3000,角色:设置中断类型号。(3)ICW3连接控制字符主/从属初始化字符,主页面上的级联控制字符Si=1是连接到IRi行的从属服务器,a 0 D7 ddddddddddd2 d01 s7s 6s 5s 4 s3s 2 S10,片上的级联控制字符ID2000到111分别对应于IR0到IR7。a 0 D7 D5 DDD D2 D1 d 010000 I d2i D1 id 0,作业:在多重磁碟片段8259A系统上定义主磁碟片段与仆磁碟片段的串连。ICW3连接控制词(续),ICW3必须与主从连接匹配。如果系统只有一个8259A,则不需要IC w3。如果有多个8259A,则主片和每个从属片都需要ICW3。例如,如果主片的IR4连接到从属片的INT行,则主片的IC w3=0000000000000b,从属片的ICW3=00010000B。(4)ICW4中断终止单词,SFNM:特殊完全嵌套1特殊完全嵌套方法0常规完全嵌套方法AEOI:自动EOI1自动EOI方法0非自动EOI方法,a 0 D7 D6 D5 D3 DD 2 D1 d 01000 sfnmbufm/saeo IPM,PM=1为80X86系统PM=0为8080/8085系统,BUF:缓冲方法M/S:主/从属缓冲选择(缓冲机制不起作用)BUFM/S11缓冲方法/主片10缓冲方法/,2.8259A初始化设置进程,8259初始化进程不能与图前面的顺序相反。例如:PC系统是单芯片8259A,端口地址是20H和21H,以常规完全嵌套方式,边缘触发器,常规EOI关闭中断。IR0到IR7的中断类型号分别为08H到0FH。建立初始化程式区段。IC w1:00011 b;IC w2:08h;Ic w4: 00001001b、moval、13HOUT20H、al;ICW1(边缘触发器,单片,IC w4写入)moval,08HOUT21H,al;ICW2(从中断类型号08H开始)MOVAL,09HOUT21H,al;ICW4(通常为完全嵌套,非自动EOI),3,8259A的操作命令单词OCW,OCW用于设置8259A的操作状态初始化后写入OCW的写入顺序可以随机写入地址要求:OCW1为奇数地址端口(A0=1)OCW2,OCW,(1)OCW 13354中断掩码,Mi=1中断请求行IRi屏蔽(不中断)=0允许IRi中断OCW1写入IMR寄存器。当A0=1时,读取OCW1可以读取设置的IMR内容。a 0 D7 D6 D5 DDD D2 D1 m 7m 6 M5 M4 m3m 2m 0,作用:设置或清除中断源的屏蔽。(2) ocw23354中断命令词,指示R:中断队列循环是否存在的标志。R=1是优先级循环法,R=0是固定优先级法。选择SL: L2、L1、L0编码是否有效的标志。如果SL=1,则选择L2、L1、L0有效,否则优先级IR0最高,IR7最低。EOI:终止中断命令,EOI=1重置当前ISR中最高优先级的响应位(常规EOI命令),或重置L2、L1、L0设置的ISR位(特殊EOI命令)。L2至L2至L0:优先级代码,两个角色。一个表示特殊EOI命令清除了ISR的哪个;二是在特殊的循环方式中表示系统最低优先级的代码。a 0 D7 D6 D5 DDD D2 D1 d00 RSL eoi 00 L2 L1 l 0,角色:设置优先级是否循环,循环方法,中断终止。(3)OCW 33状态操作命令词,使用ESMM:您可以使用SMM:特殊屏蔽方法ESMMSMM11取消特殊屏蔽方法10。P(Polling):=1中断查询方法=0未查询,即具有矢量中断方法。A 0 D7 D6 D4 d3d 2 D1 d 000esmsmm 01 prr ris,RR :读取寄存器RIS:ISR/IRR RRR选择RRIS11读取ISR10读取IRR,角色:查询设置方法,是否特殊屏蔽,IRR读取,ISR,OCW3(续),通过查询方法,8259A可以不间断地以查询方式运行。如果先写入D2=1的OCW3,然后读取相同的地址,则CPU将获得以下状态字节:IxxxxR2R1R0I=1表示存在中断请求,R2-R0是服务请求的最高优先级的二进制代码。此查询步骤可以重复执行,以响应同时发生的多个中断。读取IRR/ISR:写入此命令后,在同一地址重新读取可以获取IRR或ISR的内容。查看方法无需中断方向指标,从而节省内存。在存储容量有限的情况下,这是很好的替代方案。练习:中断系统有三个主8259A和8259A。从8259A连接到主8259A上的IR2、IR3和IR4。当主片的IMR设置为01010000时,每个片的IMR在所有位置都具有“0”,并且连接到IR3的从属片的最高优先级为IR5。将未阻止的中断级别从高到低排列。P103-6.4、6.5,6.2DMA控制器8237A、8237A是40针双列直插式芯片。6.2.18237A的基本属性8237具有四个独立的DMA通道,可以通过级联方式扩展所需的通道数;具有16位/通道地址寄存器和16位字节计数器,允许在内存和外围设备之间传输多达64KB的数据块。要完成DMA传输,必须与8位锁定设备配合使用;每个通道都有自己的控制,允许/禁止DMA请求,并自动重复原始状态的参数;每个通道有四种工作方式:单字节、数据块、请求和级联传输,四个通道的优先级管理有固定和环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论