输入输出与中断精品PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1 I/O概述
数据总线
处 理 控制总线 器
地址总线
数据寄存器 状态寄存器 控制寄存器
外设数据 输 入 输
状态信号 出 设
控制信号 备
图5-1 I/ O接口示意图
5.1 I/O概述
5.1.2 I/O端口
• I/O端口是CPU与输入输出设备的交换数据 的场所。
• 端口在I/O空间中均被指定一固定地址,这 种寻址方式就被称为端口寻址。在80x86微 机中,I/O端口与存储器地址完全分开,编 址在一个独立的地址空间中,端口地址为 0000H~FFFFH ,目前大多数微机所用的 端口地址都在0~3FFH范围之内。
I/O地址 00H~0FH 20H~3FH 40H~5FH 60H~7FH 80H~9FH A0H~BFH
170H~1F7H 200H~20FH 278H~27AH
5.1 I/O概述
表5-1 I/O端口地址分配
功能 DMA控制器8237 A 中断控制器8259A 定时/计数器8253A 并行接口芯片8255A DMA页面寄存器 不屏蔽中断寄存
(2)输出指令 • 格式:OUT PortNo/DX, AL/AX • 作用:把寄存器AL或AX的内容输出到指定
端口。如果某输出设备的端口地址在0~255 范围之内,那么,可在指令OUT中直接给 出,否则,要把该端口地址先存入寄存器 DX中,然后在指令中由DX来给出其端口地 址。
5.1 I/O概述
电子CLoO工mpGa业nOy 出版社
输入输出与中断
第五章 输入输出与中断
1
5.1 I/O概述
2
5.2 简单I/O程序举例
3
5.3 中断系统
4
5.4 中断服务程序设计
5
5.5 DOS与BIOS功能调用
5.1 I/O概述
5.1.1 I/O概述
• CPU与外部设备交换信息是计算机系统中 十分重要和十分频繁的操作。
5.1.4 I/O控制方式
外设通过端口与CPU交换数据,有四种数据 传送方式: • 主要由软件程序控制的无条件传送方式 • 查询传送方式 • 中断方式 • 主要由硬件完成的DMA方式。
5.1 I/O概述
(1)无条件传送方式 CPU不需要查询外设的状态,I/O操作可以 随时进行,这种方式称为无条件传送或称 为程序直接控制输入输出方式 。
可在数据传送前,对外设的状态先进行检测,只 有在确认外设准备就绪后,才进行数据的传送; 否则,就应等待外设达到“就绪”状态,再进行 数据传送。这就是查询传送方式。
5.1 I/O概述
查询开始 读设备状态 N 准备就绪?
Y 进行传送
图5-2 查询式I/ O传送方式流程图
5.1 I/O概述
例: 如从外围设备端口输入并存入内存一 组数据,外设中数据寄存器用来存放要传 送的数据,而状态寄存器用来存放表示设 备所处状态的信息,其第7位为就绪位 (READY)。当“READY”为1时,表明 要输入的数据已准备好,此时可以从数据 寄存器输入数据到AL中,用IN指令从数据 寄存器输入数据,“READY”立即自动变 为0,以便下一次输入数据。
• 对于系统中的每一台外设,都需要通过I/O 接口实现与CPU的连接。I/O接口通常含有 三类寄存器:设备状态寄存器、设备控制 寄存器和设备数据寄存器。
5.1 I/O概述
• 数据寄存器——它保存处理器与外设间交 换的数据;
• 控制寄存器——处理器通过它对外设进行 控制,也称命令寄存器;
• 状态寄存器——外设的当前工作状态通过 它向处理器提供。
特点:无条件传送是最简单的数据传送方式, 它所需要的硬件和软件都是最节省的,但 这种方式必须在已知并确信外设已处于准 备就绪的情况下才能使用,否则就会出错。
5.1 I/O概述
(2)查询传送方式 无条件传送方式虽然简单,但是只适用于特定场 合,如果采用无条件方式传送数据,而没有准确 地知道外设是否真正做好了接收或发送数据的准 备工作,就可能产生数据的误传。
1号并行口 软盘控制寄存器 1号并行口(COM1)
5.1 I/O概述
5.1.3 I/O指令
(1)输入指令
• 格式:IN AL/AX, PortNo/DX
• 作用:从端口中读入一个字节或字,并保存 在寄存器AL或AX中。如果某输入设备的端 口地址在0~255范围之内,那么,可在指令 IN中直接给出,否则,要把该端口地址先 存入寄存器DX中,然后在指令中由DX来给 出其端口地址。
器 硬盘控制器 游戏控制端口 3号并行口
I/O地址 2E0H~2E3H 2F8H~2FEH 320H~324H 372H~377H 378H~37AH 380H~38FH
3BCH~3BEH 3F0H~3F7H 3F8H~3FEH
功能 EGA/VGA 使用 2号串行口(COM2)
硬盘适配器 软盘适配器 2号并行口 SDLC及BSC通信
5.1 I/O概述
mov mov L1: in test jz in
cx, 100 bx, 0100H al, status_port al, 80h L1 al, data_port
mov [bx], al inc bx loop L1
;从状态寄存器输入状态信息 ;检查“READY”位是否就绪 ;未就绪,转L1等待 ;就绪,从数据寄存器读入数据 ;到al ;外设数据写入内存
5.1 I/O概述
(3)中断传送方式 在查询传送方式中,CPU不停地查询外设, 实际上是一种时间的浪费。外设未准备好 时,CPU要等待,不能做别的工作,CPU 自始至终与外设串行工作。当CPU速度越 高,与外设低速度的矛盾就越突出。
5.1 I/O概述
例: in al, 35h in ax, 0a8h
;从端口35h读入一个字节到al中 ;把端口0a8h、0a9h组成的字读入ax
mov dx, 312h in al, dx ;从端口312h读入一个字节到al中 in ax, dx ;把端口312h、313h组成的字读入ax
5.1 I/O概述
例: out 40h, al out 30h, ax
;把al的内容输出到端口40h中 ;把ax的内容输出到端口30h、 ;31h中
mov dx, 310h out dx, al ;把al的内容输出到端口310h中 out dx, ax ;把ax的内容输出到端口310h、
;311h中
5.1 I/O概述