输入输出与中断技术课件.pptx
《输入输出与中断技术课件.pptx》由会员分享,可在线阅读,更多相关《输入输出与中断技术课件.pptx(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、v接口概念:输入/输出(I/O)接口是主机与外部设备(简称外设)之间所设置的逻辑控制部件,通过它实现主机与I/O设备之间的信息交换。输入输出接口概述 思考问题:微型计算机和外设之间为什么需要接口?第1页/共111页一般情况下,存储器可以与总线直接相连,而外部设备却需要通过接口与CPU的总线相连,原因是由存储器和外设的特点决定:存储器:功能单一 传输方式单一(一次一个字或一个字节)操作方式单一(读和写)制造工艺与CPU相似,速度与CPU相匹配输入输出接口概述 微型计算机和外设之间为什么需要接口?第2页/共111页接口:解决以上差异,协调、匹配外设与主机正常工作的逻辑部件及相应控制软件。外设:种类
2、繁多(机械、机电、电子)信号种类不一(A,D,开关量)信号格式不同(串行,并行)同一个时刻CPU通常只和一个外设交换信息工作速度不同,且范围宽。如硬盘和打印机工作时序不匹配,无法和CPU时序取得统一输入输出接口概述 微型计算机和外设之间为什么需要接口?第3页/共111页v接口电路的任务:对数据提供缓冲(时间和电气性能上):设置数据的寄存、缓冲逻辑;信息格式相容性变换:如串并行的转换;电平转换、数模或模数转换等;协调时序差异:提供“准备好”“空”“满”等状态信号提供地址译码或设备选择信号:提供中断和DMA控制逻辑及管理:输入输出接口概述输入输出接口概述 第4页/共111页I/O端口的寻址方式CP
3、U要操作接口,首先要能识别这个接口。解决方法:通过地址识别。(1)存储器映像寻址方式 若把系统中的每一个I/O端口都看作一个存储单元,并与存储单元一样统一编址,这样访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令。优点:简化了指令集,对I/O设备的访问更加灵活方便,I/O地址空间可大可小缺点:占用内存空间,访问速度慢。输入输出接口概述输入输出接口概述 第5页/共111页I/O端口的寻址方式(2)I/O单独编址方式 对系统中的输入输出端口地址单独编址,构成一个I/O空间,他们不占用存储空间,而是用专门的IN和OUT指令来访问这种具有独立地址空间的端口。优点:将输入输出指令和访
4、问存储器的指令明显区分开,使程序清晰,可读性好;I/O指令长度短,执行速度快,不占用内存空间;I/O地址译码电路简单。缺点:指令系统中需专门的指令,且这些指令的功能没有访问存储器指令强;CPU需提供区分存储器读/写和I/O读写的控制信号。输入输出接口概述输入输出接口概述 第6页/共111页CPU和I/O设备之间的接口信息1、数据信息数字量信息:离散的二进制形式数据,最小单位为“位(b)”,8位为一个字节(B)。模拟量信息:用模拟电压或模拟电流幅值大小表示的物理量。开关量:只有两个状态,“开”和“关”,用一位二进制数即可表示。输入输出接口概述 第7页/共111页2、状态信息 反映当前外设所处的工
5、作状态,实际中通过状态端口信息表现。例如:输入时:“准备好”(Ready)输出时:“空”(Empty)、“忙”(Busy)3、控制信息 由CPU发出的用来控制外设工作的信号。例如:控制输入/输出装置的启动或停止、读或写 问题提出:数据信息、状态信息、控制信息是不同性质的信息,被分别传送,如何实现?CPU和I/O设备之间的接口信息输入输出接口概述 第8页/共111页 问题解决:数据信息、状态信息、控制信息使用不同的端口地址。问题结论:都通过数据总线传送,但放在接口的不同寄存器(I/O端口)中,其中:v输入输出的数据信息放在数据缓冲器v输入的状态信息放在状态寄存器v输出的控制信息放在控制寄存器CP
6、U和I/O设备之间的接口信息输入输出接口概述 第9页/共111页接口数据输入寄存器数据输出寄存器控制输出寄存器状态输入寄存器CPU和I/O设备之间的接口信息外部输入或输出设备CPUDBABCB外设通过接口与CPU之间的连接数据控制状态ABCBDB输入输出接口概述 第10页/共111页访问接口的过程描述:1.CPU先将地址信息发送到地址总线,将确定的控制信息发送到控制总线(打开相应端口);2.CPU传输数据信息到数据总线上等待相应端口接收,或者CPU等待接口把指定端口的内容送到数据总线上(收发数据)。注意:地址是端口(寄存器)的地址,而不是接口部件的地址,一个接口部件包含多个端口,即多个地址。C
7、PU和I/O设备之间的接口信息输入输出接口概述 第11页/共111页几点说明:vI/O端口即I/O接口的寄存器,接口中的每个寄存器都有一个端口地址,每个I/O接口都有一组寄存器。vCPU与外设的信息交流就是CPU与接口寄存器(端口)的交流。v数据输入和数据输出寄存器可以使用同一地址;控制输出和状态输入寄存器可以使用同一地址。CPU和I/O设备之间的接口信息输入输出接口概述 第12页/共111页v程序方式v无条件传送方式v查询传送方式v中断传送方式v直接存储器存取(DMA)控制方式CPU和外设之间的数据传送方式 第13页/共111页定义:在数据传送过程中,输入或输出数据一方不查询、判断对方的状态
8、,进行无条件的数据传送。CPU能够确信外设准备就绪,就不用查询外设的状态而可以直接进行数据传输。驱动指示灯、继电器、启动电机等 例如:CPU要输出一个数据到显示器显示,由于显示器是可以根据输入数据而随时改变显示内容的设备,因而CPU就可以直接向其发送数据,而无需查询。无条件传送方式CPU和外设之间的数据传送方式 第14页/共111页无条件传送方式三态缓冲器输入设备地址译码器&数据来自外设数据总线地址总线IO/MRDCPU无条件传送的输入方式CPU和外设之间的数据传送方式 第15页/共111页无条件传送方式锁存器输出设备地址译码器&数据到外设数据总线地址总线IO/MWRCPUCE无条件传送的输出
9、方式CPU和外设之间的数据传送方式 第16页/共111页 定义:CPU执行程序不断读取并测试外设的状态,如果外设处于准备好(输入)或空闲(输出)状态,则执行输入或输出指令,进行数据交换,否则等待。查询传送方式CPU和外设之间的数据传送方式 第17页/共111页 完成一次数据传送的过程:1)CPU从状态端口读取外设的状态字;2)CPU检测状态字对应位是否满足“就绪”条件;3)如不满足,则重复执行1)2)过程,直到条件 满足;4)如果条件满足,表明外设就绪,则传送数据,同时I/O的状态复位。查询传送方式CPU和外设之间的数据传送方式 第18页/共111页实现流程:在与外设进行传送数据前,CPU先查
10、询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配2.CPU的工作效率低NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?CPU和外设之间的数据传送方式和外设之间的数据传送方式 第19页/共111页 两种查询传送方式:1.查询式输入 2.查询式输出查询传送方式查询式输入方式描述 查询式输入是程序控制下的查询式输入方式,在传送前,CPU必须去查询一下外设的状态,当外设准备好了才传送;若未准备好,CPU则等待。CPU和外设之间的数据传送方式 第20页/共111页锁存器锁存器三态缓冲器(8位)输入设备地址译码器&数据选通信
11、号DBABIO/MRDCPU三态缓冲器(1位)&准备就绪触发器DQR+5VDiREADY(状态信息)查询式输入接口电路三态缓冲器(8位)三态缓冲器(1位)CPU和外设之间的数据传送方式 第21页/共111页三态缓冲器(8位)三态缓冲器(8位)锁存器锁存器输入设备地址译码器&数据选通信号DBABIO/MRDCPU三态缓冲器(1位)&准备就绪触发器DQR+5VDiREADY(状态信息)查询式输入接口电路CPU和外设之间的数据传送方式 第22页/共111页1.输入设备准备好后,发选通信号;2.数据进入锁存器锁存,并使D触发器置1,从而使三态缓冲器输出状态信号;3.CPU从状态端口读入状态字;4.CP
12、U检测状态位,如果条件满足;5.CPU从数据端口读入数据;6.清状态字。查询式输入的过程:CPU和外设之间的数据传送方式 第23页/共111页D7D08位数据端口(8位)(输入)D7状态端口(1位)(输入)查询式输入时的数据和状态信息:“READY”(1位)数据信息状态信息CPU和外设之间的数据传送方式 第24页/共111页LOOP1:INAL,STATUS_PORT ;读入状态值 TESTAL,80H ;READY=1?JZLOOP1 ;未准备好?循环 INAL,DATA_PORT ;是,输入数据查询式输入的查询程序:讨论:分析查询程序,熟悉汇编语言在接口电路中的应用。CPU和外设之间的数据
13、传送方式 第25页/共111页例1 查询方式输入假设 外设的状态端口为21C H,其中D4=1时,表示外设数据准备好 外设的数据端口为218 H。实现从外设读入50H个字节到内存缓冲区buffer中。21CH端口状态端口218H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线CPU和外设之间的数据传送方式 第26页/共111页从21CH状态端口读入外设状态信息从218H数据端口读入一个字节数据YND4=1,外设准备好否?N50H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中CPU和外设之间的数据传送方式 第27页/共111页 、MOV AX,SEG
14、buffer ;取缓冲区首地址 MOV DS,AX LEA DI,buffer MOV CX,50H ;传送个数 next:MOV DX,21CH ask:IN AL,DX ;从状态端口读入状态信息 TEST AL,0001 0000B ;检测D4位 JZ ask ;D4=0,继续查询MOV DX,218H IN AL,DX ;从数据端口读入数据MOV DI,AL ;送缓冲区 INC DI ;修改缓冲区指针 LOOP next ;传送下一个、查询方式输入程序段:CPU和外设之间的数据传送方式 第28页/共111页输出设备地址译码器&数据选通信号DBABIO/MRDCPU状态缓冲器(1位)&忙触
15、发器DQR+5V数据锁存器查询式输出接口电路WRACKBUSY状态忙置1CPU和外设之间的数据传送方式 第29页/共111页1.通过M/IO,WR信号将数据写入锁存器,并同时将状态触发器置1,进而使状态位BUSY置1,防止CPU再次传送数据;2.外设读取数据;3.外设向接口发ACK信号,将状态位BUSY清零。查询式输出的过程:CPU和外设之间的数据传送方式 第30页/共111页D7D08位数据端口(8位)(输出)D7状态端口(1位)(输出)查询式输出时的数据和状态信息:“READY”(1位)数据信息状态信息CPU和外设之间的数据传送方式 第31页/共111页LOOP2:INAL,STATUS_
16、PORT;读状态信息TESTAL,80H ;检查BUSY位JNZLOOP2;BUSY=0?MOVAL,STORE ;为零,取数据OUTDATA_PORT,AL ;数据端口输出查询式输出的查询程序:问题:结合汇编语言,分析程序是如何实现查询输出功能的?CPU和外设之间的数据传送方式 第32页/共111页例2 查询方式输出假设 外设的状态端口为21C H,其中D0=0时,表示外设准备好 外设的数据端口为219 H。编程将缓冲区buffer的80H个字节输出到外设。21CH端口状态端口219H端口数据端口地址译码数据缓冲控制电路输出外设CPU地址线数据线控制线CPU和外设之间的数据传送方式 第33页
17、/共111页从21CH状态端口读入外设状态信息将一字节数据送至219H数据端口YND0=0,外设准备好否?N80H个数据传送结束?Y编程将缓冲区buffer的80H个字节输出到外设CPU和外设之间的数据传送方式 第34页/共111页、MOV AX,SEG buffer ;取缓冲区首地址 MOV DS,AX LEA SI,buffer MOV CX,80H ;传送个数 next:MOV DX,21CH ask:IN AL,DX ;从状态端口读入状态信息 TEST AL,0000 0001B ;检测D0位 JNZ ask ;D00,继续查询 MOV AL,SI ;从缓冲区取数 MOV DX,219
18、H OUT DX,AL ;从数据端口输出数据 INC SI ;修改缓冲区指针 LOOP next ;输出下一个 、查询方式输出程序段:CPU和外设之间的数据传送方式 第35页/共111页工作原理:当外设准备好数据或可以接收数据时,就通过接口向CPU发出中断请求信号,CPU在执行完当前的一条指令后,检测是否有中断信号,如果有中断信号,则CPU转向执行中断服务程序,执行完毕后CPU返回原来的程序继续执行。中断方式CPU和外设之间的数据传送方式 第36页/共111页三态缓冲器输入设备地址译码器1数据RDYDBABIO/MRDCPU&中断请求触发器数据锁存器+5V中断传送方式输入接口电路QDINT状态
19、信号数据锁存器三态缓冲器1&CPU和外设之间的数据传送方式 第37页/共111页中断方式1.输入设备准备就绪,发出就绪状态信号,数据暂存在锁存器中,同时中断请求触发器置“1”,向CPU发出中断请求信号;2.CPU响应中断,执行中断服务程序,从数据端口输入数据,同时将中断请求触发器置“0”,撤销中断请求;3.CPU返回被中断的程序。中断传送方式的过程:CPU和外设之间的数据传送方式 第38页/共111页中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设CPU和外设之间的数据传送方式 第39页/共111页 中断传送方式的特点:1.CPU和外设大部分时间处在并行工作状态,只在CPU
20、响应外设的中断申请后,进入数据传送的过程2.中断传送方式提高了CPU的效率CPU和外设之间的数据传送方式 第40页/共111页三、查询传送方式VS中断传送方式查询方式中断方式 CPU不主动查询外设,只执行自己的程序,当外设准备好需要传送数据时,提出申请,若CPU准于请求,放下正在执行的程序,去传送外设的数据。CPU和外设之间的数据传送方式 第41页/共111页DMA传送方式的提出 直接存储器存取(DMA)控制方式 DMA(Direct Memory Access)直接存储器存取控制方式下,I/O设备是和存储器直接交换信息,不需要CPU介入,外设与存储器间的数据传输是在硬件的作用下完成的。优点:
21、传输速度大幅提高。CPU和外设之间的数据传送方式 第42页/共111页 DMA方式下,外设利用专门的接口电路直接和存贮器进行高速数据传送,而不经过CPU。数据的传输速度基本上决定于外设和存储器的速度。直接存储器存取(DMA)控制方式主存I/O设备CPU改进主存I/O设备总线 使用直接存储器传送方式(DMA),实现数据块操作。CPU和外设之间的数据传送方式 第43页/共111页 实现方法:1.由专用接口芯片DMA控制器(称DMAC)控制传送过程,2.当外设需传送数据时,通过DMAC向CPU发出总线请求;3.CPU发出总线响应信号,释放总线;4.DMAC接管总线,控制外设、内存之间直接数据传送.D
22、MA传送方式的特点 1.外设和内存之间,直接进行数据传送,不通过CPU,传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。2.电路结构复杂,硬件开销较大。CPU和外设之间的数据传送方式 第44页/共111页DMA 传送方式过程CPUDMAC内存外设总线响应总线请求CPU和外设之间的数据传送方式 第45页/共111页什么是中断中断源中断分类中断类型号中断优先权中断服务程序断点和中断现场8086/8088 CPU响应中断的过程8086/8088 CPU如何获取中断类型号中断系统中断系统第46页/共111页什么是中断什么是中断在CPU正常运行程序时,由于内部或外部某个非预料事
23、件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。中断系统第47页/共111页中断源中断源引起中断的因素很多,将发出中断申请的外设或内部原因,称为中断源。例如:CPU指令执行产生的异常(如被零除)、停电等故障等。中断系统第48页/共111页中断的分类中断的分类按中断源的不同,中断分为内部中断和外部中断。内中断(软中断)指CPU执行某些特殊操作或由INT指令引起的中断 被零除操作或OF=1时执行INTO指令引起 使用DEBUG中的单步或断点设置操作引起 执行INT n 指令引起中断系统第49页/共111页指外部芯片通过C
24、PU的INTR引脚或NMI引脚发出中断申请引起的中断。当INTR上有高电平信号当NMI上有上升沿信号外中断(硬中断)8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6(HIGH)(SSO)MN/MXRDRQ/GT0(HOLD)RQ/GT1(HLDA)LOCK(WR)S2(IO/M)S1(DT/R)S0(DEN)QS0(ALE)QS1(INTA)TESTREADYRESET中断系统第50页/共111页 可屏蔽中断由INTR引脚引起的中断,称可屏蔽中断。CPU是否
25、响应INTR引脚上的中断请求取决于IF标志:IF=1,CPU响应INTR引脚上的中断请求IF=0,CPU不响应INTR引脚上的中断请求(即当IF=0时,将INTR引脚上的中断申请屏蔽。)非屏蔽中断 由NMI引脚引起的中断,称非屏蔽中断。当NMI引脚上产生上升沿信号,CPU必响应此中断请求,即NMI引脚上的中断请求不受IF标志的控制,IF不能屏蔽NMI引脚上的中断请求。如电源掉电、存贮器读写出错、总线奇偶错中断系统关中断指令:关中断指令:CLI CLI (IF=0)(IF=0)开中断指令:开中断指令:STI STI (IF=1)(IF=1)第51页/共111页NMI(17号引脚)中 断 逻 辑非
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 中断 技术 课件
限制150内