第7章 输入输出概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
异步通信卡(COM2) 3C0~3CFH 未用 硬盘卡 未用 打印卡 3D0~3DFH 3E0~3EFH 3F0~3F7H 3F8~3FFH
2013-8-13
qingyang@whut.edu.cn
6
8088/8086 I/O指令
1)直接输入输出指令
IN AL, PORT 操作: AL ← (PORT) IN AX, PORT AX ← (PORT+1,PORT) OUT PORT,AL (PORT) ← AL OUT PORT,AX (PORT+1,PORT) ← AX
L2: IN AL, DX 是 忙? 否 输出数据 读取状态信息
TEST AL,01H
JNZ
L2
MOV AL, BL MOV DX,302H OUT DX, AL
查询式输出处理流程图
2013-8-13 qingyang@whut.edu.cn 9
输入输出概述
– 实模式下的I/O地址空间 – 数据传送方式
数据寄 存器 外 围 状态寄 存器 控制寄 存器 设 备
· 为了让CPU能够访问这些
I/O端口,每个I/O端口都需 有自己的端口地址(或端口 号)。
地址 总线
CPU
控制 总线
· 在一个微型计算机系统中,
如何编排这些I/O接口的端 口地址,即所谓I/O端口的 编址方式。
2013-8-13
qingyang@whut.edu.cn
2
常见的I/O端口编址方式有两种:
• I/O端口和存储器统一编址,也称存储器映像的I/O方式; • I/O端口和存储器独立编址,也称I/O映像的I/O方式。 • 8088/8086采用第二种方式。
存储单元
存储地址 空间 1MB
I/O 端口
I/O 地址 空间 64KB
I/O 端口和存储器独立编址
2013-8-13
2013-8-13 qingyang@whut.edu.cn 15
8088/8086的中断分类
INT n 指令 NMI 非屏蔽中断请求 2 09H-0FH IRQ0 中 断 控 制 器 (8259A)
CPU
中 断 逻 辑 INTR
断点中断 溢出中断 单步中断 (INT 3) (INTO, OF=1) (TF=1)
分为无条件传送和程序查询传送两种。
无条件传送
·CPU不需要了解I/O电路的状态, 假设外设已作好传送数据的准备。
· 适用于外部控制过程的各种动作 时间是固定的且是已知的场合。 · 所需的硬件和软件都很少,且硬 件接口电路简单。
查询传送方式
· 传送数据前,CPU必须先检测 接口的状态。
· 当外设没有准备好时,CPU要 等待,CPU的利用率不高。 · 接口电路能够支持对设备状 态的查询。
0000:009CH
78H
56H
34H 12H
0000:009FH
2013-8-13 qingyang@whut.edu.cn 21
INT指令和IRET指令 INT N ; N : 中断类型码
功能: (PSW)入栈 (CS)入栈, (IP)入栈 ; (断点地址入栈) (N ×4) →IP, (N ×4+2) →CS
2013-8-13
qingyang@whut.edu.cn
11
支持无条件传送方式(参考教材P244)
2013-8-13
qingyang@whut.edu.cn
12
302H
300H
支持查询式输出(参考教材P247)
2013-8-13 qingyang@whut.edu.cn 13
中断处理过程
在程序运行时,系统外部、内部或现行程序本身若出现紧 急事件,处理器立即强行中止现行程序的运行,并启动相 应的程序来处理这些事件; 等到事件处理完毕, 又返回原 程序的中断处, 继续执行被中断的程序。
主程序 中断处理程序1 中断处理程序2
STI
STI 断点
. . .
. . . . IRET
IRET
. . . .
2013-8-13
qingyang@whut.edu.cn
14
中断源及分类
1) 根据进入中断的方式可分为自愿中断和强迫中 断。
2) 根据其重要性可分为可屏蔽中断和不可屏蔽中 断。 3) 根据中断源的位置可分为内部中断和外部中断 等等。
– I/O接口和接口芯片
2013-8-13
qingyang@whut.edu.cn
27
微机接口:微处理器与外部世界的连接电路,微 处理器与外界进行信息交换的中转站。 微机接口技术:采用硬件与软件相结合的方法, 研究微处理器如何与“外部世界”进行最佳连 接,以实现CPU与“外部世界”进行可靠的信 息交换的一门技术。
0000:0003H
除数为0中断
0000:0000H
19
• 每个中断向量的地址可由中断类型码乘以4 计算出来。 • 若某中断的中断类型码是N,
(4N, 4N+1) ---- 中断服务程序入口的偏移地址 (4N+2, 4N+3) --- 中断服务程序入口的段地址
2013-8-13
qingyang@whut.edu.cn
IRET
功能: 栈顶内容出栈→ IP 栈顶内容出栈→CS ;(断点地址出栈) 栈顶内容出栈→ PSW
2013-8-13
qingyang@whut.edu.cn
22
• 以 INT 21H 为例
主程序 21H中断处理程序
INT 21H 断点 . . .
. . .
IRET
2013-8-13
qingyang@whut.edu.cn
2013-8-13
qingyang@whut.edu.cn
28
I/O接口功能
• 设立接口的原因:
– CPU与外设两者的信号不兼容,在信号线功能定义、逻辑定义和 时充上不一致。 – 两者的工作速度不兼容,CPU速度高,外设速度低。 – 提高CPU的利用率。避免CPU直接控制不同的外设。。 – 有利于外设的标准化。避免外设的硬件结构依赖于CPU。
• 查询传送方式 • 中断传送方式 • DMA方式
– I/O接口和接口芯片
2013-8-13
qingyang@whut.edu.cn
10
数据传送方式
• 主机与外部设备之间的数据传送方式(即I/O控制方式)主要有三种:程 序控制方式、中断控制方式和直接存储器存取(DMA)方式。
• 程序控制方式是指在I/O程序直接控制下进行的数据传送方式,又
参考 《微机原理与接口技术(第2版)》(周明德主编)P201
302H (只写端口)
300H (只读端口)
2013-8-13
qingyang@whut.edu.cn
8
若状态端口的第0位为1,表示该设备的状态为“忙” 。 下列程序能够实现一个字节数据的输出。(假设待输出数 据保存在寄存器BL中)。
MOV DX, 300H
2013-8-13
qingyang@whut.edu.cn
4
– 8088/8086管理的I/O端口地址空间: I/O端口地址16位, I/O端口地址空间64KB, 地址范围 0000H~0FFFFH。 – IBM PC/XT 系统板上接口芯片的端口地址
地址空间 0000~001FH 0020~003FH 0040~005FH 0060~007FH 0080~009FH 00A0~00BFH 00C0~00FFH 器件/接口适配器 DMA控制器8237 中断控制器8259A 计数器/定时器8253 并行接口片8255A DMA页面寄存器 (74LS670) NMI寄存器 未用 实际使用端口地址 00~0FH 20~21H 40~43H 60~63H 80~83H A0H
2013-8-13
qingyang@whut.edu.cn
25
DMA传送的几种形式
输出 内存 外设 内存 内存 外设 外设
输入
DMAC
DMAC
DMAC
2013-8-13
qingyang@whut.edu.cn
26
输入输出概述
– 实模式下的I/O地址空间 – 数据传送方式
• 查询传送方式 • 中断传送方式 • DMA方式
输入输出概述
– 实模式下的I/O地址空间 – 数据传送方式
• 查询传送方式 • 中断传送方式 • DMA方式
– I/O接口和接口芯片
2013-8-13
qingyang@whut.edu.cn
1
I/O接口的基本结构
· 输入输出接口包含一组称
I/O接口 数据 总线
为I/O端口的寄存器。三类 不同的端口分别传送三类不 同的信息。
2013-8-13
qingyang@whut.edu.cn
17
中断向量表
• 所谓中断向量,实际上就是中断服务程序的入口地址。理 论上,每个中断类型对应一个中断服务程序,也对应一个 中断向量。 • 8088/8086允许引入的中断可达256个,因此需占用1K字 节的存储空间来存放这256个中断服务程序入口地址。 • 中断服务程序入口地址信息设置在存储器的最低端,即从 00000H~003FFH的1K字节存储空间中。这一存储空间 就叫中断向量表。
2013-8-13
qingyang@whut.edu.cn
18百度文库
中断向量表
类型0FFH CS IP ︽︾
0000: 03FFH
︽︾
类型021H
CS IP
0000:0087H
DOS系统功能调用
0000:0084H
︽︾
︽︾
CS IP
CS IP CS IP CS IP 2013-8-13 类型0 CS IP
2013-8-13
qingyang@whut.edu.cn
24
• 不需要CPU干预(不需CPU执行程序指令),在专门硬件控制电路控制 之下进行的外设与存储器之间直接数据传送的方式,称为直接存储器 存取(Direct Memory Access),简称DMA方式。
• 专门的硬件控制电路称为DMA控制器,简称DMAC。
除法错 中断 0
软件中断(内部中断) 系统对每种中断源指定一个中断类 型号。例如,由非屏蔽中断引起的 中断类型是2。
2013-8-13 qingyang@whut.edu.cn
. . . . IRQ
可 屏 蔽 中 断
7
硬件中断(外部中断)
16
中断优先级
在实际系统中,多个中断请求可能同时出现,但中断系统 只能按一定的次序来响应和处理,这时CPU必须确定服务 的次序,即根据中断源的重要性和实时性,照顾到操作系 统处理的方便,对中断源的响应次序进行确定。这个响应 次序称为中断优先级。 中断优先级与中断类型是一致的,即中断类型码越小中断 优先级越高。
2013-8-13
qingyang@whut.edu.cn
5
IBM PC/XT扩展槽上接口控制卡的端口地址
地址空间 200~20FH 210~217H 218~2F7H 2F8~2FFH 300~31FH 320~32FH 330~377H 378~37FH 器件/接口 游戏卡 扩充部件 未用 地址空间 380~38FH 390~3AFH 3B0~3BFH 器件/接口 SDLC通信卡 未用 单显/打印卡 未用 彩显/图形卡 未用 软盘卡 异步通信卡(COM1)
23
• DMA方式
DMA方式是一种外设与存储器或者存储器与存储器之间直接传输 数据的方法。 – 主要用于需要高速大批量数据传送的系统中,以提高数据的吞吐 量。 – 与前两种方式相比,DMA方式用硬件控制代替了软件控制。即以 增加系统硬件的复杂性和成本为代价,支持高速数据传送。 – 例如,高速外设(高速磁盘装置或高速数据采集系统等),其数 据传输率通常在20万字节/秒以上,即传输一个字节的时间要小于 5μs。 对于通常的PC机来说,执行一条程序指令平均需要几个μs时间。 显然,采用程序控制或中断方式不能满足这种高速外设的要求。
qingyang@whut.edu.cn
3
I/O端口地址分配
– 搞清系统I/O端口地址分配十分重要。 – 按照I/O设备的配置情况,I/O接口的硬件分成两类: • 系统板上的I/O芯片:与CPU一起,支持系统的 输入输出操作。如定时器/计数器、中断控制器、 DMA控制器、并行接口等。 • I/O扩展槽上的接口控制卡:如软驱卡、硬驱卡、 图形卡、声卡,打印卡等
20
• 若某中断的中断类型码是N, (4N, 4N+1) ---- 中断服务程序入口的偏移地址 (4N+2, 4N+3) --- 中断服务程序入口的段地址 • 例如,中断类型码为27H的中断所对应的中断向量应存放 在从0000H:009CH开始的4个连续字节单元中。 27H中断的中断服务程序的入口地址为 1234H:5678H。
2)间接输入输出指令
IN AL, DX IN AX, DX OUT DX,AL OUT DX,AX 操作:AL ← (DX) AX ← (DX+1,DX) (DX) ← AL (DX+1,DX) ← AX
2013-8-13
qingyang@whut.edu.cn
7
例 一个支持查询式输出的接口电路及输出程序