微机原理-清华大学出版社-冯博琴-吴宁-第6章-输入输出和中断技术_第1页
微机原理-清华大学出版社-冯博琴-吴宁-第6章-输入输出和中断技术_第2页
微机原理-清华大学出版社-冯博琴-吴宁-第6章-输入输出和中断技术_第3页
微机原理-清华大学出版社-冯博琴-吴宁-第6章-输入输出和中断技术_第4页
微机原理-清华大学出版社-冯博琴-吴宁-第6章-输入输出和中断技术_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

第6章

输入输出及中断技术1§6.1输入输出系统28086/8088的寻址能力:内存:1MB端口:64KB编址方式:与内存统一编址独立编址3I/O映象方式和存储器映象方式存储器映象方式把一个I/O端口看作一个存储单元,相当于给每一个I/O端口分配一个存储器地址优点:指令丰富,I/O端口空间大,寻址的控制逻辑比较简单缺点:内存空间相对减小,地址译码电路比较复杂,存储器操作指令字节长,降低了I/O操作速度,分析程序困难。I/O接口的编址方式4端口与内存的统一编址特点:指令及控制信号统一内存地址资源减少内存地址960KBI/O地址64KB00000HF0000HFFFFFH5I/O映象方式I/O端口空间与存储器空间各自独立,互不干涉优点:I/O空间与存储器空间可分开设计,采用单独的I/O指令,程序清晰。I/O地址线较少,所以译码电路简单。I/O指令格式短,执行时间快6端口的独立编址特点:内存地址资源充分利用能够应用于端口的指令较少内存地址I/O地址00000HFFFFFHFFFFH0000H7统一编址和独立编址的示意图

(b)独立编址方式I/O空间00HFFH00000H内存空间FFFFFH1M内存空间

(a)统一编址方式

00000H供I/O接口使用FFFFFHFFFFH0000H8I/O端口CPU数据状态控制外设I/O接口DB9I/O端口地址的译码常见的端口地址选择方法有两种:门电路组合法、译码器译码法10§6.3基本输入/输出方法11基本输入/输出方法无条件传送查询式传送中断方式传送直接存储器存取(DMA)程序控制方式12一、无条件传送CPU可在任何时刻与I/O设备交换数据,对CPU而言,I/O设备总是处于“准备好”状态无条件传送方式又称同步方式,是最简单的一种I/O控制方式多用于CPU与低速接口之间的信息交换。如开关、继电器、LED显示器,它们总是被认为处于“待命”状态13开关K通过三态门接口与系统的连接14二、查询工作方式查询方式是有条件的传送控制方式所谓查询,就是询问外部设备的工作状态,通过这一状态来判定外设是否已具备了与CPU交换数据的条件程序查询方式的硬件接口部分应包括数据端口,状态端口,端口选择及控制逻辑等三个部分程序对每个I/O设备的查询,是通过检查该设备的状态标志来实现的查询方式特点:I/O操作由CPU启动,即CPU是主动的而I/O是被动的,所有的传送都与程序的执行同步15查询工作方式优点:软硬件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢16READY?进行一次数据交换读入并测试外设状态YN传送完?Y结束N开始每满足一次条件只能进行一次数据传送17对多个外设的查询最简单的查询方法是用输入指令IN逐个读取I/O设备的状态标志,并对状态标志进行相应的测试18三、中断控制方式中断方式:CPU对一个随机的请求进行处理的过程特点:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序优点:CPU效率高,实时性好,速度快。缺点:程序编制相对较为复杂19以上三种I/O方式的共性信息的传送均需通过CPU软件:外设与内存之间的数据传送是通过CPU执行程序来完成的硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的。缺点:程序的执行速度限定了传送的最大速度20四、DMA控制方式特点:外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。21DMA控制方式DMAC外设接口CPUQRDMEMDACKHOLDHLDA…BUS控制信号地址信号22DMA控制方式的工作过程外设向DMA控制器发出“DMA传送请求”信号DRQ;DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD;CPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进行响应;DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK23§6.4中断技术24一、中断的基本概念中断:CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。25中断源引起CPU中断的事件,发出中断请求的来源。内部中断外部中断异常中断软件中断可屏蔽中断非屏蔽中断异常事件引起中断指令引起INTR中断NMI中断26二、外部中断响应的一般过程中断请求中断源识别及中断判优中断响应中断处理(服务)中断返回271、中断请求中断请求是由中断源发出的请求服务的信号中断源:能够发出中断请求信号的来源中断源通常有如下几种:一般的I/O设备,如键盘、打印机等。故障源,包括硬件故障及软件故障,如电源掉电、存储器故障、运算溢出等中断源能够产生中断请求信号有两个条件:中断源自身工作已经“准备就绪”CPU允许该中断源申请中断282、中断判优在中断系统中,根据中断源的轻重缓急,为每个中断源规定了一个服务优先级别,称中断优先级,或中断优先权中断优先权排队一般有两种方法,即软件查询法和硬件排队法软件查询法:用软件查询中断源,根据查询的顺序先后来确定中断源的优先级。先查询的优先级就高,后查询的优先级就低,只要改变查询次序,就可以改变中断源的中断优先级硬件排队法:用硬件判优逻辑电路来确定申请中断中的最高优先级,系统中各中断源的优先级别是由它们在判优电路中的位置决定的29中断判优软件判优顺序查询中断请求,先查询的先服务(即先查询的优先级别高)硬件判优链式判优、并行判优(中断向量法)303、中断响应中断响应条件:外部设备有中断请求CPU自身允许中断没有更高级的中断正在被服务CPU在每条指令结束后响应中断在中断响应周期,硬件自动完成一些必要的操作:关中断保护断点将中断服务程序的入口地址送入程序计数器,从而实现转入相应的中断服务程序314、中断处理执行中断服务子程序中断服务子程序的特点:为“远过程”用IRET指令返回32中断服务子程序完成的工作关中断,保护断点,找入口地址保护软件现场(参数)开中断(STI)中断处理关中断(CLI)恢复现场中断返回335、中断返回执行IRET指令,使IP、CS和FLAGS从堆栈弹出348088可以处理256种不同类型的中断,类型号为0~2558088的中断分为内部中断和外部中断两大类外部中断:由CPU外部引起的中断,需要外设产生一个信号来通知CPU,包括非屏蔽中断NMI和可屏蔽中断INTR内部中断:由CPU状态的改变或执行中断指令而产生的中断,它不受IF的控制,主要用于功能调用、程序调试和意外情况处理。包括:除法错中断、单步中断、溢出中断、软件中断三、8088/8086中断系统35内部中断外部中断异常中断软件中断非屏蔽中断可屏蔽中断256个中断源除法错中断溢出中断单步中断…36NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断可屏蔽中断请求n430128086/8088中断源类型:37内部中断与外部中断的主要区别外部中断需要从数据总线上读取中断类型码,而内部中断的中断类型码是指令的一部分外部中断受IF的控制,IF直接控制中断允许触发器。而内部中断不受IF的控制内部中断的优先级别比外部中断要高(除单步中断外)中断源的优先级别由高到低顺序:内部中断、NMI、INTR、单步中断38中断向量表存放各类中断的中断服务程序的入口地址(CS:IP);每个入口占用4Bytes,低字为段内偏移,高字为段基址;表的地址位于内存的00000H~003FFH,大小为1KB,共256个入口。39中断向量表:中断服务程序的入口地址表┇┇00000H003FFH段地址CS高8位偏移地址IP低8位偏移地址IP高8位段地址CS低8位012┇34×256=1024=1K1023入口地址40中断向量地址的计算向量表所在的段地址=0存放子程序入口的单元的偏移地址=n×4例:已知中断类型码为21H的中断,其中断向量存放在?4×21H=84H,所以存放在0000H:0084Hp27441§6.5可编程中断控制器8259A428259A简介8259A是中断管理芯片8259A的主要功能:具有8级优先权控制,通过芯片级联可扩展至64级优先权控制每一级中断均可通过编程屏蔽或允许在中断响应周期可提供相应的中断类型号有多种工作方式,可通过编程选择可与CPU直接连接,不需要外加硬件电路438259A的引线及内部结构中断请求寄存器IRR:寄存所有IR输入线输入的中断请求信号,即保存正在请求服务的中断级中断服务寄存器ISR:保存当前被CPU服务的中断级,也就是记录正在被处理的中断请求中断屏蔽寄存器IMR:对各中断源的中断请求信号(IR0~IR7)实现开关控制448259A的工作过程(1)某条或几条中断请求线(IR0~IR7)有中断申请,变为高电平,使中断请求寄存器IRR的相应位置“1”(2)IMR对IRR屏蔽。未被屏蔽的请求信号经优先权电路判别最高优先级,再经由优先级方式确定没有更高级优先权的中断,则8259A的INT端输出为“1”,向CPU提出中断请求45(3)CPU响应中断后发出中断响应信号。在中断响应过程中,CPU要发出两次INTA信号。当8259A收到第一个INTA信号后,ISR中当前被选中的最高优先级对应的那一位置“1”,同时IRR中的相应位被清0,表示该位上的中断请求已经被CPU所接受(4)8259A接收到第二INTA信号后,驱动数据总线将对应的中断类型码输出(5)如果是自动结束中断方式(AEOI),则在第二个INTA脉冲结束时将ISR中相应置“1”的位复位,否则该位的“1”将一直保持,直到CPU发出EOI命令为止468259A与标准总线的连接47488259A的工作方式四种主要的工作方式:全嵌套循环优先级特定屏蔽程序查询方式四种从属的工作方式:中断结束方式读状态中断请求触发方式缓冲方式两大工作类型:单片工作多片级连工作498259A的工作方式-全嵌套方式8259A在初始化工作完成后若未设定其它的工作方式,就自动进入全嵌套方式。全嵌套方式的特点:中断请求的优先级固定,其顺序是IR0最高,逐次减小,IR7最低。中断服务寄存器ISR保存优先权电路确定的优先级状态,相应位置“1”,并且一直保持这个服务“记录”状态,直到CPU发出中断结束命令为止在ISR位置期间,不再响应同级及较低级的中断请求,而高级的中断请求如果CPU开放重点的话仍能够得到中断服务IR7~IR0的中断请求输入可分别由中断屏蔽寄存器IMR的D7~D0的相应位屏蔽与允许,对某一位的屏蔽与允许操作不影响其它位的中断请求操作全嵌套工作方式由ICW4的D4=0来确定50该方式适用于多片级连同(普通)全嵌套方式的区别:当某从片的一个中断被CPU响应后,该从片中的高级中断仍可提出申请。在某个中断源退出中断服务程序之前,CPU用软件检查它是否是这个从片中的唯一中断。只有唯一,才能把一个非特殊EOI命令送至主片,从而结束此从片的中断(何时结束主片中断?)8259A的工作方式-特殊全嵌套方式518259A的工作方式-循环优先级方式两种:自动循环优先级方式、特殊循环优先级方式自动循环各设备优先级相同,当某一个设备受到服务之后,它的优先级就自动地排到最后。优先级由高到低的顺序:自动循环优先级方式由OCW2的R=1、SL=0来确定52特殊循环通过编程来确定某一设备为最低优先级。特殊循环优先级方式由OCW2的R=1、SL=1来确定,而L2L1L0用于指定最低优先级的二进制编码53每个中断请求输入信号都可由中断屏蔽寄存器IMR的相应位进行屏蔽,IMR的D0对应IR0,D1对应IR1,…,D7对应IR7IMR相应位为“1”则屏蔽,为“0”则允许IMR寄存器由操作命令OCW1进行设置屏蔽方式有两种:正常屏蔽方式、特定屏蔽方式8259A的工作方式-屏蔽方式54正常屏蔽方式每个屏蔽位对应一个中断请求输入信号屏蔽某一个中断请求输入信号对其他请求信号没有影响未屏蔽的中断请求输入信号按照设定的优先级顺序工作,同级和低级的中断请求被禁止,如果CPU允许中断,可实现中断嵌套55设定特定屏蔽方式后,IMR中为“1”的位仍然屏蔽相应的中断请求输入信号,但所有未屏蔽的位被全部开放,都可以申请中断特定屏蔽方式由OCW3的ESMM和SMM确定,设定时ESMM=1、SMM=1,复位时ESMM=1、SMM=0特定屏蔽方式56中断结束方式是指中断如何结束的方法ISR中某位为“1”,表示CPU正在为之服务;某位为“0”表示CPU已经停止(结束)为之服务。而IRET指令主要是恢复主程序的断点,它并不能使ISR的相应位清零8259A的中断结束方式有两种:命令中断结束方式(EOI)和自动中断结束方式(AEOI)8259A的工作方式-中断结束方式(使ISR清0的方式)57自动中断结束方式(AEOI)8259A自动地在最后一个中断响应脉冲的后沿将中断服务寄存器ISR中的相应位清零。过程:中断请求、CPU响应,发第一个,ISR相应位置“1”,CPU发第二个,8259A提供中断类型码,ISR相应位清零,结束。应用:用于8259A单片系统,或不需要嵌套的多级中断系统。由ICW4的AEOI=1确定。58命令中断结束方式(EOI)指在中断服务程序返回之前,向8259A发中断结束命令(EOI),使ISR中的相应位清零。它包括两种情况:非特殊(正常)EOI命令:全嵌套方式下的中断结束命令称为非特殊EOI命令,该命令能自动地把当前ISR中的最高优先级的那一位清“0”特殊EOI命令:非全嵌套方式下的中断结束命令称为特殊EOI命令。由于无法确定最后响应的是哪一级中断,所以应向8259A发出特殊EOI命令,即指定哪一级中断返回,使其ISR中的相应位清“0”598259A的工作方式-中断请求触发方式(1)8259A的中断请求寄存器IRR中有8个中断请求触发器,分别对应8个中断请求信号的输入端IR0-IR7,这些触发器的触发方式有两种,即边沿触发和电平触发60边沿触发61电平触发628259A的工作方式-多片级连方式级连系统中,每个从片的中断请求输出线INT直接连到主片的某个中断请求输入线上,主片的CAS0~CAS2是输出线,输出被响应的从片代码,从片的CAS0~CAS2是输入线,接收主片发出的从片代码,以便与自身代码相比较。6364初始化编程:指系统在上电或复位后对可编程器件进行控制字设定的一段程序8259A的命令控制字包括两个部分:初始化命令字和操作命令字初始化命令字一般在系统复位后的初始化编程中设置,用于确定8259A的基本工作方式,设置后一般保持不变操作命令字是在初始化以后的正常工作中写入的,它实现对8259A的状态、中断方式和过程的动态控制,在工作中可随时写入操作命令字以修改某些控制方式8259A的初始化编程(1)658259A内部有7个寄存器,分为两组:初始化命令寄存器和操作命令寄存器组初始化命令寄存器组包括4个寄存器:ICW1~ICW4对应的寄存器操作命令寄存器包括3个寄存器:OCW1~OCW3对应的寄存器8259A的初始化编程(2)668259A初始化命令字8259A初始化命令字有4个:ICW1、ICW2、ICW3、ICW4写入的初始化命令字一般为2~4个,ICW1使用偶地址,而ICW2、ICW3、ICW4使用奇地址,为了相互区别,初始化命令字的写入必须有一个固定的顺序。678259A初始化命令字-ICW1

A0

D7

D6D5

D4D3

D2

D1

D0

0

1要ICW4

0不要ICW4

1单片方式

0级连方式

8088/8086系统无效

偶地址端口

80/85中断地址

特征位

1电平触发

0边沿触发

A7A6A51LTIMADISNGLIC4

68

A0

D7

D6

D5

D4

D3

D2

D1

D0

1

中断类型号的高5位8259A自动填入

T7T6T5T4T3000

由ICW2来定义中断类型码的高5位8259A初始化命令字-ICW269ICW2的主要功能:确定中断向量,中断类型码8259A初始化命令字-ICW2A0

D7

D6

D5

D4

D3

D2

D1

D0

1

中断类型号的高5位8259A自动填入

T7T6T5T4T3000

70

A0

D7

D6

D5

D4

D3

D2

D1

D0

0

ID2ID1

ID0000

01

从8259A的ICW3命令字8259A初始化命令字-ICW371

1-8088/8086CPU

0-8080/8085CPU

1-自动EOI方式

0-非自动EOI方式

1-特殊完全嵌套方式

0-非特殊完全嵌套方式

0

X

非缓冲方式

1

0

缓冲方式从片

1

1

缓冲方式主片

A0

D7

D6

D5

D4

D3

D2

D1D0

1

000

温馨提示

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

评论

0/150

提交评论