版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章I/O接口与中断技术
1第7章I/O接口与中断技术7.1I/O接口7.2中断的基本原理7.38086/8088的中断系统7.4可编程中断控制器8259A7.5IBMPC-XT/AT中的外部中断逻辑27.1I/O接口7.1.1
I/O接口的重要作用输入和输出设备是计算机系统的重要组成部分。计算机所处理的信息,包括程序与数据均要由输入设备提供;而处理后的结果数据,则要送给输出设备。
3给计算机与外设间交换信息带来以下一些问题:1.
速度不匹配2.
信号电平不匹配3.
信号格式不匹配4.
时序不匹配4图7.1I/O接口在系统中的位置
5图7.2微机系统各种I/O接口示意图
67.1.2
I/O接口的主要功能数据缓冲功能设备选择功能信号转换功能对外设的控制和监测功能中断请求与管理功能可编程功能77.1.3
I/O端口的编址方式与存储器统一编址方式(存储器映射方式)-非80X86系列机,如MC68000等(占用存储器地址范围不同).I/O单独编址方式(I/O映射方式)-
80X86系列机,Z80等.(不占用存储空间)8主存空间I/O空间FFFFF0FFFF实际:0~3FFH主存部分2I/O部分存储器空间00000FFFFF9主存部分1MC68000等80X86系列机等7.1.4
CPU与I/O接口之间传送信息的方式图7.3无条件传送的输入方式
101、无条件传送方式无条件传送微处理器与慢速变化的设备交换数据外设总是处于“就绪”状态,随时可以进行数据传送无条件传送的接口电路:只考虑数据缓冲无条件传送的软件编程:十分简单输入时执行输入IN指令
movdx,8000h inal,dx
mov
bufin,al输出时执行输出OUT指令
mov
al,bufout
movdx,8000h outdx,al11
图7.4查询输入的接口电路和输入程序流程图
122、程序查询传送方式查询输入接口读取状态端口查询外设状态,若已就绪,读取数据端口得到外设提供的数据
movdx,5001h ;DX指向状态端口status: inal,dx ;读状态端口
testal,01h ;测试状态位D0
jzstatus ;D0=0,未就绪,继续查询
dec
dx ;D0=1,就绪,DX改指数据端口:dx=5000h
inal,dx ;从数据端口输入数据示意图13查询输出接口读取状态端口查询外设状态,若已就绪,将数据写入数据端口输出给外设
movdx,5001h ;DX指向状态口status: inal,dx ;读取状态口的状态数据
testal,80h ;测试标志位D7
jnzstatus ;D7=1,未就绪,继续查询
dec
dx ;D7=0,就绪,DX改指数据口:dx=5000h
mov
al,buf ;将变量BUF送AL outdx,al ;将AL中的数据送数据口示意图14查询传送方式下CPU与外设工作过程示意图
15中断传送方式下CPU与外设工作过程示意图
163、中断传送方式中断传送微处理器在执行程序过程中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序中断源引起中断的事件或原因内部中断外部中断可屏蔽中断非屏蔽中断17中断工作过程中断请求中断响应关中断断点保护中断源识别现场保护中断服务恢复现场开中断中断返回响应条件数据交换的实质性环节184、DMA传送方式希望克服程序控制传送的不足:外设→CPU→存储器外设←CPU←存储器直接存储器存取DMA:外设→存储器外设←存储器CPU释放总线,由DMA控制器管理19图7.7DMA传送原理示意图
201、外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制2、DMA传送DMA读存储器:存储器→外设DMA写存储器:存储器←外设3、自动增减地址和计数,判断传送完成否4、CPU对DMA控制器进行初始化设置DMA传送过程21227.1.5
I/O端口的地址分配不同的微机系统对I/O端口地址的分配是不同的。8086微机系统本来可寻址I/O地址空间为64K字节,实际有1024=1K字节。237.1.6
I/O端口地址译码I/O端口地址译码电路的作用是把地址信号和控制信号进行逻辑组合,从而产生对接口芯片的选择信号。241.利用门电路进行地址译码
图7.8(a)I/O端口译码电路示意图图7.8(b)I/O端口全译码电路示意图252.利用译码器进行地址译码利用译码器芯片(例如74LS138译码器)对地址信号进行译码,译码器芯片有2:4,3:8,4:16等各种规格。
262728图7.9利用译码器进行译码的全译码电路
书中有误29358H~35FHA9…A3A2A1A01101011000-1113.利用开关和比较器进行地址译码
若用户要求扩展板的口地址能够适应不同的地址分配,利用开关式地址可选译码器。图7.10是一开关式可选译码电路。
30图7.10开关式可选择译码电路314.利用GAL芯片进行地址译码
GAL采用电擦除工艺,门阵列的每个单元可以反复改写。GAL中的逻辑关系还可加密,以防止外人抄袭电路和非法复制。
32见SSS.PLD文档337.2中断的基本原理所谓中断,就是当CPU正常运行程序时,由于随机的事件(包括内部事件和外部请求),引起CPU暂时中止正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务程序,中断服务结束后再返回被中止的程序,这一过程称为中断。34中断基本概念定义:CPU暂停现行程序,转而处理随机到来的事件,待处理完后再回到被暂停的程序继续执行,这个过程就是中断。中断过程:中断过程的隐操作:程序状态及程序断点地址的进栈及出栈。中断请求中断响应中断服务中断处理中断结束主程序主程序357.2.1中断请求
外设需要CPU服务时,首先要发出中断请求。发出中断请求的外设就是中断源。广义地说,中断源就是能引起CPU产生程序中断的随机事件。外设及其接口的中断请求分为边沿请求和电平请求。
367.2.2
中断判优1.
软件判优软件判优采用软件查询方式,将多个外设的中断请求信号通过或门相“或”后,送到CPU的INTR端,同时把几个外设的中断请求状态位组成一个端口,赋予端口号。
37图7.11软件判优电路
38特点:电路简单,查询费时较长中断源较多时不适宜2.硬件判优
(1)并行判优网络:介绍矢量中断优先权控制器P290图7.12(2)链式判优电路:P290图7.1339图7.12矢量优先级控制器原理框图40
图7.13链式判优
41串行判别物理位置决定优先等级时延较长7.2.3中断响应
中断响应就是CPU“中断”现在正在进行的处理任务,转向中断请求相对应的处理程序的过程。这相当于CPU的使用权(或称控制权)由一种任务(被中断的程序)转移到另一任务(相应的中断处理程序)。421、保存下一条指令的cs:ip2、保护CPU工作现场,如FR等3、关中断,使在响应过程中,不被其它新的中断源中断4、转移到中断处理程序7.2.4中断处理中断处理就是执行中断服务程序,以完成中断源提出的处理要求。这实际上是软件编程的问题。与子程序的编写原则差不多。
43
中断服务程序与子程序的差别在于前者是处理随机出现的事件,后者处理是意料之中的事件。7.2.5
中断返回中断返回就是CPU控制权由中断服务程序转移到被中断程序的过程。与一般的“返回主程序”指令类似,即使用指令IRET,恢复CPU工作现场,但运行内容还有清ISR的对应位。447.3.2
8086/8088响应中断的过程8086/8088CPU对INTR、NMI与软中断的响应过程是不同的,正如前面所介绍的那样,INTR是可屏蔽中断请求,受IF标志位的影响,而NMI和软中断不受IF的影响。
45图7.158086/8088的中断处理流程467.3.3
中断向量表与中断向量号中断向量表又称中断服务程序入口地址表。
各个中断处理程序的段地址与偏移量按中断向量号顺序存入中断向量表中。
47
图7.16中断操作流程
481、取中断向量号2、计算中断向量地址3、中断服务入口地址送入IP4、转中断服务程序5、中断返回至INTn指令的下一条指令向量号0~4用于除法出错、单步中断、NMI中断、断点中断、溢出中断。向量号5~7系统使用
、8H~0FH用于主片8279A,
10H~1FH为BIOS专用中断向量号、20~3FH为DOS中断向量号。向量号70~77H用于从片8279A,80~85H用于BASIC程序。497.3.4
对中断请求INTR的响应时序图7.178086/8088对INTR的中断响应周期时序50准备响应中断,外设要准备好中断向量号CPU接收外设接口发来的中断向量号7.3.5
中断服务程序中断服务程序的功能各不相同,用户根据外设或外设接口需要来编程,但所有的中断服务程序都有相同的结构形式:511、保护现场,用一系列PUSH指令将保存内容入栈2、若允许中断嵌套,则令IF=1(STI)3、执行中断处理4、关中断,使IF=0,禁止其他中断请求5、送中断结束命令EOI,使中断服务标志清零6、恢复现场7、IRET返回主程序527.4可编程中断控制器8259A8259A是一种功能强、使用灵活方便的可编程中断控制器(PIC)。它可以直接与Intel8085或8086/8088CPU相连而不需要附加其他逻辑电路;它可实现8级矢量优先中断,并可扩展至64级矢量优先中断而不需附加逻辑。
537.4.1
8259A基本构成与引脚信号8259A是28脚封装的NMOS芯片,其管脚和内部框图如图7.18所示。54
图7.188259A的内部结构与引脚图
55ISR:In-ServiceRegisterPR:PriorityRegisterIMR:InterruptMaskRegisterIRR:InterruptRequestRegister图7.198259A级联的15级中断连接
568259A的内部结构(1)中断请求寄存器(IRR)
(2)在服务(IS:In-service)寄存器
(3)中断屏蔽寄存器(IMR)
(4)中断判优电路(IPR)
57内部结构(1)数据总线缓冲器:为双向三态八位缓冲器,主要功能有:
1)μP向8259发送命令。
2)μP接收8259的状态信息。
3)在中断响应期间,μP通过它可得到中断类型号。(2)读/写逻辑控制:接收μP发来的控制信号,完成读/写控制、端口选择,片选信号的逻辑电路。(3)级联缓冲/比较器:对主从结构的8259进行设备标志(ID)存放。(4)控制逻辑:
1)根据μP对8259编程设定的工作方式,产生内部控制信号。
2)判断中断源的优先级,向μP发中断请求信号INT。
3)接收μP送来的中断响应信号,允许中断服务器ISR的ISRi(i=0~7)置位。
4)控制发出相应的中断类型号,通过数据总线缓存器输出至系统总线上。58(5)中断请求寄存器IRR
为八位的寄存器,用来存放外部可屏蔽中断源的中断申请,8个输入端可接8个中断源。当有中断请求(IRi由低电平变为高电平)且未被μP响应时,相应的IRRi位置1,直到中断服务器ISR相应的ISRi置1,IRRi随即复位。IRR各位与外部中断源的关系见下表所示。(6)优先权分辨器PR
确定出当前最高优先级中断源的中断申请,通知控制逻辑。(7)中断服务寄存器ISR
为记录正在被μP处理的中断源的8位寄存器
。(8)中断屏蔽寄存器IMR
是用于硬件上屏蔽中断源的8位寄存器。597.4.2
8259A的工作原理1.中断矢量8259A可在中断响应中自动提供当前响应的中断源的矢量字以便把程序自动引导到相应的服务程序。根据8259A所用的处理器的类型,它有两种不同的处理方式。即8085方式和8086/8088方式。
60图7.20中断矢量字格式
61由IR2提供的矢量号72H到中断处理程序入口地址的引导示例622.触发方式为了方便用户将8259A用于各种中断源,在8259A中对中断请求IR0—IR7提供了两种可供选择的中断触发方式,沿触发方式和电平触发方式。633.中断优先方式及中断嵌套(1)优先方式①固定优先P302②循环优先①8259A的EOI命令P303②特殊全嵌套方式P304③特殊屏蔽方式P305④循环控制方式P306(2)中断嵌套64P3024.中断状态及多级级联查询方式CPU可以查询的8259A中断状态寄存器包括:中断屏蔽寄存器(IMR:InterruptMaskRegister)。中断请求寄存器(IRR:InterruptRequestRegister)。在服务寄存器(ISR:In-ServiceRegister)。65IMR的内容可以在8259A工作中随时读取,但对于IRR和ISR的读取,只有向8259A发出读寄存器命令后,才可读取(详见编程部分OCW3的说明)。此外,8259A提供了一个专门的查询命令。
665.缓冲方式若因系统数据总线上的负载很重,以致于8259AD0~D7的驱动能力不够而需扩大总线的驱动能力,8259A提供了缓冲方式,并提供了外加双向总线驱动器的控制信号输出。
67
图7.288259A的级联缓冲方式
687.4.38259A编程方法1.8259A内部寄存器的寻址(1)ICW1(2)ICW2(3)ICW3(4)ICW4(1)OCWl(IMR编程)(2)OCW2(3)OCW32.初始化命令寄存器3.操作命令寄存器(OCW)691.8259A内部寄存器的寻址(P309表7.5)A0、D4、D3及RD、WR、CS70(1)芯片初始化命令字ICW1
特征位:D4=1;初始化命令ICW4主要设定嵌套、缓冲、结束方式,缺省值为全嵌套、非缓冲、非自动结束方式。当SNGL=0,需要初始化命令ICW3来设置级联项。2、初始化命令寄存器71
(2)中断类型初始化命令字ICW2时序:ICW1→
ICW2→[ICW3]→[ICW4]。
IRi的中断类型号=ICW2+i
例:如果ICW2为08H,则
IR3的中断类型号(中断向量)为08H+03H=0BH。72(3)主/从片初始化命令字ICW3级联方式结构设置:主片:S7~S0分别对应相应的IR号的引脚,为1的位对应的引脚接有从片;从片:ID2~ID1的编号是该从片接到主片的IR引脚的IR号。需要分别对主片和从片进行设置。73主片:MOVAL,14HOUT21H,AL;00010100b:IR2、IR4接有从片从片1:MOVAL,04HOUT0A1H,AL;从片1接主片IR4从片2:MOVAL,02H;从片2接主片IR2OUT0C1H,AL级联方式中断请求及响应过程:主片请求:与非级联一致。从片请求:与非级联一致,但其INT送到主片,服从主片的请求规则。从片响应:通过CAS线译码,选中时在收到第二个INTA后,返回中断类型号。主片响应:收到第一个INTA后,对从片的IR请求,在第一个INTA下降沿从CAS线送出该IR编码;否则,在第二个INTA返回中断类型号。74
(4)控制初始化命令字ICW4(当ICW1中的IC4=0时,不用ICW4)
D0:用于8080/8085(D0=0)/用于80X86系列微机(D0=1)
;
D1:非中断自动结束(D1=0)/自动中断结束(D1=1)方式;
D3D2=11:缓冲方式/主PIC=10:缓冲方式/从PIC=0X:非缓冲方式;
D4:一般全嵌套(D4=0)/特殊全嵌套(D4=1)方式。
当ICW1的IC4=0时,隐含ICW4各位置零从片非自动结束时,主、从片均需发EOI命令。75
3、操作命令字的编程(1)中断屏蔽操作命令字OCW1(IMR编程)特征位:无,时序:无。实际上改变了中断优先级(屏蔽掉高优先级的中断请求)。对IMR的读取在21H(主)、0A1H(从)端口做读操作。特殊屏蔽:通过OCW3设置。76(2)操作命令OCW2(控制中断结束和优先级的操作命令字)
特征位:D4D3=00;功能:结束方式和优先权循环管理;
操作命令:
D7D6D5=001,非指定EOI命令010,指定EOI命令101,非指定EOI循环命令
100,进入自动EOI循环命令
000,退出自动EOI循环命令
111,指定EOI时循环命令110,设定优先级底命令
010,空操作L2~L0:IR号77RSLEOI00L2L1L0功能
00000000自动EOI、优先权固定命令
00100000非自动EOI[不指定]、优先权固定命令
01100L2L1L0非自动EOI[指定]、优先权固定命令
10000000自动EOI、优先权自动轮转命令
10100000非自动EOI[不指定]、优先权自动轮转命令
11100L2L1L0非自动EOI[指定]、优先权指定轮转命令
11000L2L1L0自动EOI、优先权指定轮转命令
例:MOVAL,20H;含义见上蓝字部分
OUT20H,AL;20H为IO地址,写入OCW278
(3)操作命令OCW3(查询和读寄存器状态的操作命令字)特征位:D4D3=01
D1D0=10,下一次读IRR=11,下一次读ISRD2=0,非查询方式
D2=1,查询命令,下一次读PIC时查询字节D6D5=10,退出特殊屏蔽方式(SMM)
=11,进入特殊屏蔽方式(SMM)79查询字格式:I=0,无中断请求;I=1,有中断请求。W2~W0,正在申请中断的若干中断源中优先级最高的中断源的编码。80
特定屏蔽管理:
ESMMSMM功能
0*该操作对特殊屏蔽无效
10取消特定屏蔽
11设置特定屏蔽设置方法:用OCW1屏蔽部分IR[含自己],用OCW3置特殊屏蔽方式(SMM)即可。
取消方法:用OCW3取消特定屏蔽,用OCW1取消被屏蔽的IR。81PIC1PIC2操作内容特征位时序D4D3D220H0A0H写ICW11××无OCW200×OCW301×21H0A1H写ICW2~ICW4无ICW2→ICW4OCW1初始化后20H0A0H读IRR,ISR查询字无OCW3决定21H0A1H读IMR无无
8259命令关系表(地址以PC机为例):注:ICWx只有在初始化过程中才会出现。828259A可编程中断控制器PIC只有在写入ICW字后,才可写OCW寄存器,且ICW寄存器一般只一次写入,而OCW寄存器可在操作中随时存取。
7.4.48259A的初始化命令序列和各命令寄存器初始状态83图7.338259A的初始化命令序列84
I/O端口地址:只提供二个端口(使用A0=0、1区别);先写入初始化程序--ICW1~ICW4,后写入操作命令字--OCW1~OCW3。8259编程方法一、8259的初始化编程分为两个步骤:初始化编程的主要任务:
设定中断请求信号的有效形式。设定单片/多片级联方式。设置中断类型号。设置优先排队规则。设定中断结束时的操作原则。85out20h,alout21h,alout21h,alout21h,al86不同8259A的I/O端口地址不同;
8259A级联时,每个8259A均必须有完整的初始化过程[端口地址和部分参数不同而已];全嵌套方式时,初始IR优先级IR0最高。注意点:87实模式下中断编程中断编程注意点1.使用正确的中断号2.中断服务程序入口的正确设置3.避免中断程序中DOS重入4.中断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代科技在中药植物油提取中的绿色环保策略
- 生活用纸设计新趋势创新驱动的消费者体验升级
- 生态保护与零碳公园规划的融合实践
- 国庆节活动方案活动内容
- 现代服务业的绿色发展路径探索
- 小学劳动教育考核方案
- 2024年五年级英语下册 Unit 7 Chinese festivals第6课时说课稿 译林牛津版
- 2024年秋七年级历史上册 第14课 沟通中外文明的“丝绸之路”说课稿 新人教版
- Unit 3 My friends Read and write(说课稿)-2024-2025学年人教PEP版英语四年级上册
- 3 我不拖拉 第一课时(说课稿)2023-2024学年统编版道德与法治一年级下册
- 健康管理-理论知识复习测试卷含答案
- 成人脑室外引流护理-中华护理学会团体 标准
- JGJ106-建筑基桩检测技术规范
- 高技能公共实训基地建设方案
- 市第一人民医院“十四五”发展规划(2020-2025)
- 2024年湖北孝达交通投资有限公司招聘笔试冲刺题(带答案解析)
- 四年级上册竖式计算100题及答案
- 小学英语跨学科案例设计
- 初中作业设计教师培训
- JTGT F20-2015 公路路面基层施工技术细则
- 高考满分作文常见结构
评论
0/150
提交评论