第7章 输入输出概述
微机原理和汇编语言 第7章 输入输出和中断.ppt

7.1 I/O接口概述
7.1.1 I/O接口的作用
1. I/O接口
微处理器与存储器构成了微型计算机系统的 主机部分,为了使微型计算机工作,还必须配上 各种外部设备,简称外设,将外设中主要用来实 现数据的输入/输出、实现人机联系的设备称为 输入/输出设备,即I/O设备。
当要把外设与微处理器相连时,往往需 要配上相应的电路。通常把介于主机和外设之间 的一种缓冲电路称为I/O接口电路,简称I/O接口。
(1) 数据信息:它是CPU与外设之间传送的 主要信息,可分为数字量、模拟量和开关量三种 形式。
(2) 状态信息:是外设通过接口送往CPU的 信息,作为外设与CPU之间交换数据的联络信号, 反映了当前外设所处的工作状态。
(3) 控制信息:是CPU通过接口传送给外设 的信息,用来设置外设(包括接口)的工作方式、 控制外设的工作等。
数据信息
DB
状态信息
CPU
I/O接口
外设
控制信息
图7.2 CPU与外设交换的信息
7.1.3 I/O接口的基本结构(接口与端口) 接口(Interface):介与主机和外设之间的 缓冲电路。 端口(Port):接口中可以进行寻址读写的 寄存器,简称口。 一个接口往往含有几个端口,CPU通过输入 输出指令向这些端口取或存信息。端口主要有三 类:一类为状态口,一类为命令口(或控制口), 一类是数据口。 CPU通过输入指令从状态口获取外设的状态 信息,通过输出指令从命令口发出控制命令,控 制外设的工作。通过输入输出指令可以从数据端 口与外设交换数据。因此说,计算机主机与外设 之间交换信息都是通过接口中的端口来实现的。
CPU
I/O 接口
外设
图7.1 主机与外设的连接
第7章数字输入输出模块

寄存器名 GPADAT GPASET GPACLEAR GPATOGGLE GPBDAT GPBSET GPBCLEAR
地址 0x70E0 0x70E1 0x70E2 0x70E3 0x70E4 0x70E5 0x70E6
长度 (×16位) 1 1 1 1 1 1 1
说明 GPIO A数据寄存器 GPIO A设置寄存器 GPIO A 清除寄存器 GPIO A触发寄存器 GPIO B数据寄存器 GPIO B设置寄存器 GPIO B清除寄存器
7.2 数字I/O端口寄存器
1. GPIO复用寄存器
寄存器
GPAMUX
地址
0x70C0
长度 (×16位)
1
说明
GPIO A复用控制寄存器
GPADIR
GPAQUAL 保留
0x70C1
0x70C2 0x70C3
1
1 1
GPIO A方向控制寄存器
GPIO A 输入尖脉冲滤波控制寄 存器
GPBMUX
GPBDIR GPBQUAL
GPBTOGGLE
保留 GPDDAT GPDSET GPDCLEAR GPDTOGGLE
0x70E7
0x70E8~0x70EB 0x70EC 0x70ED 0x70EE 0x70EF
1
4 1 1 1 1
GPIO B触发寄存器
GPIO D数据寄存器 GPIO D设置寄存器 GPIO D 清除寄存器 GPIO D触发寄存器
(2)表中的寄存器都受EALLOW保护。
(3)对保留地址进行读取操作,返回值是不确
定的,写入操作无效。
2. GPIO数据寄存器
如果配置为数字I/O端口模式: • 寄存器GPxSET可以设置各个I/O信号;
计算机导论-第7章 外围设备

中的脉冲电流,可把一位二进制代 码转换成载磁体存储元的不同剩磁 用磁头读出线圈,可将由存储元的 不同剩磁状态表示的二进制代码转 换成电信号输出。这就是磁表面存 ❖ 磁层上的存储元被磁化后,它可以 供多次读出而不被破坏。当不需要 这批信息时,可通过磁头把磁层上 所记录的信息全部抹去,称之为写 “0”。通常,写入和读出是合用一 个磁头,故称之为读写磁头。每个 读写磁头对应着一个信息记录磁道。
▪ 一个是将磁头定位至所要求的磁道上所需的时间,称为找道时间; ▪ 第二个是找道完成后至磁道上需要访问的信息到达磁头下的时间,
称为等待时间,这两个时间都是随机变化的,因此往往使用平均 值来表示,平均找道时间是最大找道时间与最小找道时间的平均 值。平均等待时间和磁盘转速有关,它用磁盘旋转一周所需时间 的一半来表示。 ▪
面存储器也有缺点,主要是存取速度较慢,机械结构 复杂,对工作环境要求较高。 ❖ 磁表面存储器由于存储容量大,位成本低,在计算机系统 中作为辅助大容量存储器使用,用以存放系统软件、大型 文件、数据库等大量程序与数据信息。
11
7.2磁盘存储设备
❖ 磁表面存储器的读写原理 见图
➢ 写操作:当写线圈中通过一定 方向的脉冲电流时,铁芯内就 产生一定方向的磁通。
❖ 主机与磁盘驱动器交换数据的控制逻辑见下图(b)。磁盘上 的信息经读磁头读出以后送读出放大器,然后进行数据与
据缓冲器,经DMA(直接存储器传送)控制将数据传送到主
18
19
7.2磁盘存储设备
四、磁盘上信息的分布 盘片的上下两面都能记录信息,通常把磁盘
微型计算机原理与接口技术第7章

6位数码管接口电路
7FH
位 锁 存 器 ( 段 选 ) D7 D6 D5 D4 D3 D2 D1 D0 0 1 1 1 1 1 1 1 h g f e d c b a 8 D7-D0
CS (201H选中)
20H 位
D7-D0 锁 存 器 ( 位 选 )
D0 0 0 0 0 0 D 1
5
位 反 相 驱 动 器
DMA写传送: I/O端口信息 系统RAM某单元。 存储单元读 / 写传送: 在DMAC控制下, 实现系统 RAM RAM。 注意:在PC系列机中禁止RAM RAM传送。 4. DMA传送的过程
AB DB CB
HRQ DREQ
HOLD
总线保持请求
总线响应
DMA 请求 DMA 响应
注意: I/O 指令只能在端口和AL, AX, EAX之间 交换信息, 用DX间址, 但不能使用方括号, 即不能写成: IN AL, [DX]。
7.2 微机系统与外设交换信息的方式
微机系统与 I/O 端口的信息交换有四种方式: 无条件传送 中断方式 查询方式 DMA方式
采用何种方式与接口的硬件电路有直接关系
查询式输出接口示意图 数据 锁 数据总线 存 器 数据口选中 (8) 状态标志
Q D
输 出 设 备
IOW 地址译码器 地址总线
+5V
IOR
状态口选中
ACK
R
―0‖为空闲
接数据线D0位
查询式数据输出核心程序 设状态口地址=200H=数据口地址
TSCAN: MOV IN TEST JNZ MOV MOV OUT
HOLD
总线请求 总线响应
HRQ
DREQ
输入输出系统概述

1 I/O设备的编址及设备控制器的功能 1.什么是接口? 答:接口是计算机与I/O设备或其他系统之间所设置的逻辑
控制部件,也称I/O控制器。 2.两种I/O设备的编址方式
统一编址方式 独立编址方式
Computer System Organization and Architecture
数据传送配合方式 按照数据传送的控制方式可分成程序控制输入输出接 口,程序中断输入输出接口和直接存储器存取(DMA) 接口等。
Computer System Organization and Architecture
7
返回目录
输入输出接口的编址方式
1)统一编址方式 (存储器对应I/O方式)
端口统一编址是把每一个端口视为一个存储 器单元,并赋以相应的存储器地址。微处理机 访问端口,如同访问存储器(只是地址不同), 所有访问存储器指令同样适合于I/O端口。由于 端口地址被映象到存储空间,作为存储空间的 一小部分,因此,也称为“存储器映象编址”。
返回目录
Computer System Organization and Architecture
9
2)独立编址方式 (专用I/O方式)
端口独立编址是把所有I/O接口看作一个独立 于存储的I/O空间。在这个I/O空间内,每个 端口都被分配一个地址与之对应。要访问独 立于存储空间的端口,必须用专门的I/O指令 (IN和OUT)。
12
返回目录
程序员试题
若某个计算机系统中,内存地址与I/O地址统一编 址,访问内存单元和I/O是靠___B__来区分。
A.数据总线上输出的数据 B.不同的地址代码 C.内存与I/O使用不同的地址总线 D.不同的指令
微机原理、汇编语言与接口技术 第七章 习题答案 人民邮电出版社(周杰英 张萍 郭雪梅 著)

第7章输入/输出接口习题与参考答案这一章的习题与参考答案分为两大部分,一部分是输入输出概述及DMA控制器的习题与参考答案;另一部分是中断及中断控制器部分的习题与参考答案。
一、输入输出概述及DMA控制器的习题与参考答案1、请说明为什么输入接口的数据缓冲寄存器必须有三态输出功能而输出接口却不需要的原因。
解:输入接口的数据缓冲寄存器的输出端是直接接在数据总线上的,如果数据寄存器没有三态输出功能,则无论数据寄存器被寻址选中或未被选中,其数据都会被送上数据总线,若此时总线上真正要传送的数据与该输入缓存器的内容不一致时,就会发生总线冲突。
所以,输入接口的数据缓冲器必须有三态输出功能,以便当接口未被寻址选中时,其输出端处于高阻态,从而与总线隔离。
对于输出接口来说,是输入端与数据总线相连,而输出端是与外设相连,因此其输出不影响总线状态;另外,一个外设一般只与一个输出数据缓存器相连,因此输出接口的数据缓存器无须有三态输出功能。
2、8086/8088CPU中哪些寄存器可以用于I/O寻址?若I/O端口地址分别是10H和100H,分别写出向这两个端口写入73H的程序段。
解:8086/8088CPU内可以用于I/O寻址的寄存器为AL、AX和DX。
向端口10H写入73H的程序段为: MOV AL,73HOUT 10H,AL向端口10H写入73H的程序段为: MOV AL,73HMOV DX,100HOUT DX,AL3、图为7段显示器接口,显示器采用共阳极接法,试编写程序段,使AL中的一位十六进制数显示于显示器上。
输出锁存器地址为40H。
解:TABLE DB 3FH,06H,5BH,4FHDB 66H,6DH,7DH,07HDB 7FH,67H,77H,7CH,DB 39H,5EH,79H,71HLEA BX,TABLEXLATOUT 40H,AL4、PC/XT机有哪些输入输出方式?各自的特点如何?DMA控制器应具备哪些功能?解:无条件方式:需要外设处于就绪状态,硬件简单;查询方式:CPU需要不断地查询外设是否就绪,浪费CPU时间,硬件较简单;中断方式:外设准备好后,向CPU发中断请求,请求CPU完成数据传输,外设与CPU并行;硬件又比前两者复杂。
8071第七章输入输出接口技术第一节内容2009.01.20(第三稿)

2.I/O端口独立编址
优点:
I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 I/O指令没有存储器指令丰富
缺点:
80x86采用I/O端口独立编址
2013年8月1日星期四 中北大学《微机原理及接口技术》 37
Байду номын сангаас
2.I/O端口独立编址
特点:
00000H 内存 地址
12
7.1.3 I/O接口的主要功能
对输入输出数据进行缓冲和锁存 输出接口有锁存环节,输入接口有缓冲环节 实际的电路常用: 输出锁存缓冲环节,输入锁存缓冲环节 对信号的形式和数据的格式进行变换 微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络
中北大学《微机原理及接口技术》 24
2013年8月1日星期四
外设接口
输入接口 输出接口 并行接口 串行接口
数字接口
模拟接口
2013年8月1日星期四
中北大学《微机原理及接口技术》
25
输入输出接口的特点
输入接口:
要求对数据具有控制能力(常用三态门实现)
输出接口:
要求对数据具有锁存能力(常用锁存器实现)
中北大学《微机原理及接口技术》
6
7.1.2 I/O接口概述
为什么需要I/O接口(电路)?
多种外设
微机的外部设备多种多样
工作原理、驱动方式、信息格式、以及工作 速度方面彼此差别很大
它们不能与CPU直接相连 必须经过中间电路再与系统相连 这部分电路被称为I/O接口电路
计算机硬件基础7计算机输入输出(对应教材第7章)PPT课件

DMAC提供。
20
DMA控制方式
优点: ❖ 数据传输由DMA硬件来控制,数据直
接在内存和外设之间交换,可以达到 很高的传输速率(可达几MB/秒)
21
DMA控制方式
MEM BUS
… 控制信号
HOLD
DRQ
CPU
DMAC
HLDA
外设 接口
DACK 22
DMA控制方式的工作过程
❖ 外设向DMA控制器发出“DMA传送请求”信号DRQ; ❖ DMA控制器收到请求后,向CPU发出“总线请求”信
❖ 例:从外设向内存传送一个字节
DMAC向I/O接口发出读信号,同时往地址总线上发出存储 器的地址和存储器写信号和AEN信号。
24
DMA控制方式的工作过程
❖ DMA控制器自动修改地址和字节计数 器,并判断是否需要重复传送操作。当 规定的数据传送完后,DMA控制器就 撤销发往CPU的HOLD信号。CPU检测 到HOLD失效后,紧接着撤销HLDA信 号,并在下一时钟周期重新开始控制总 线。
25
五、输入输出处理机控制方式
❖ 具有自己的指令系统的专用主机 ❖ 专门负责外部设备的控制 ❖ 常用于大、中型计算机
26
7.3 中断控制技术
掌握: ❖ 中断的基本概念 ❖ 中断响应的一般过程 ❖ 中断向量表及其初始化 ❖ 8088/8086中断系统
27
7.3.1 中断的基本概念
❖ CPU执行程序时,由于发生了某种随机 的事件(外部或内部),引起CPU暂时中 断正在运行的程序,转去执行一段特殊 的服务程序(称为中断服务程序或中断 处理程序),以处理该事件,该事件处 理完后又返回被中断的程序继续执行, 这一过程称为中断。
6
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IRET
功能: 栈顶内容出栈→ IP 栈顶内容出栈→CS ;(断点地址出栈) 栈顶内容出栈→ PSW
2013-8-13
qingyang@
22
• 以 INT 21H 为例
主程序 21H中断处理程序
INT 21H 断点 . . .
. . .
IRET
2013-8-13
qingyang@
• 查询传送方式 • 中断传送方式 • DMA方式
– I/O接口和接口芯片
2013-8-13
qingyang@
10
数据传送方式
• 主机与外部设备之间的数据传送方式(即I/O控制方式)主要有三种:程 序控制方式、中断控制方式和直接存储器存取(DMA)方式。
• 程序控制方式是指在I/O程序直接控制下进行的数据传送方式,又
qingyang@
3
I/O端口地址分配
– 搞清系统I/O端口地址分配十分重要。 – 按照I/O设备的配置情况,I/O接口的硬件分成两类: • 系统板上的I/O芯片:与CPU一起,支持系统的 输入输出操作。如定时器/计数器、中断控制器、 DMA控制器、并行接口等。 • I/O扩展槽上的接口控制卡:如软驱卡、硬驱卡、 图形卡、声卡,打印卡等
– I/O接口和接口芯片
2013-8-13
qingyang@
27
微机接口:微处理器与外部世界的连接电路,微 处理器与外界进行信息交换的中转站。 微机接口技术:采用硬件与软件相结合的方法, 研究微处理器如何与“外部世界”进行最佳连 接,以实现CPU与“外部世界”进行可靠的信 息交换的一门技术。
L2: IN AL, DX 是 忙? 否 输出数据 读取状态信息
TEST AL,01H
JNZ
L2
MOV AL, BL MOV DX,302H OUT DX, AL
查询式输出处理流程图
2013-8-13 qingyang@ 9
输入输出概述
– 实模式下的I/O地址空间 – 数据传送方式
2013-8-13
qingyang@
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
异步通信卡(COM2) 3C0~3CFH 未用 硬盘卡 未用 打印卡 3D0~3DFH 3E0~3EFH 3F0~3F7H 3F8~3FFH
2013-8-13
qingyang@
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
分为无条件传送和程序查询传送两种。
无条件传送
·CPU不需要了解I/O电路的状态, 假设外设已作好传送数据的准备。
· 适用于外部控制过程的各种动作 时间是固定的且是已知的场合。 · 所需的硬件和软件都很少,且硬 件接口电路简单。
查询传送方式
· 传送数据前,CPU必须先检测 接口的状态。
· 当外设没有准备好时,CPU要 等待,CPU的利用率不高。 · 接口电路能够支持对设备状 态的查询。
2013-8-13
qingyang@
28
I/O接口功能
• 设立接口的原因:
– CPU与外设两者的信号不兼容,在信号线功能定义、逻辑定义和 时充上不一致。 – 两者的工作速度不兼容,CPU速度高,外设速度低。 – 提高CPU的利用率。避免CPU直接控制不同的外设。。 – 有利于外设的标准化。避免外设的硬件结构依赖于CPU。
2013-8-13 qingyang@ 15
8088/8086的中断分类
INT n 指令 NMI 非屏蔽中断请求 2 09H-0FH IRQ0 中 断 控 制 器 (8259A)
CPU
中 断 逻 辑 INTR
断点中断 溢出中断 单步中断 (INT 3) (INTO, OF=1) (TF=1)
2013-8-13
qingyang@
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)
2013-8-13
qingyang@
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
参考 《微机原理与接口技术(第2版)》(周明德主编)P201
302H (只写端口)
300H (只读端口)
2013-8-13
qingyang@
8
若状态端口的第0位为1,表示该设备的状态为“忙” 。 下列程序能够实现一个字节数据的输出。(假设待输出数 据保存在寄存器BL中)。
MOV DX, 300H
输入输出概述
– 实模式下的I/O地址空间 – 数据传送方式
• 查询传送方式 • 中断传送方式 • DMA方式
– I/O接口和接口芯片
2013-8-13
qingyang@
1
I/O接口的基本结构
· 输入输出接口包含一组称
I/O接口 数据 总线
为I/O端口的寄存器。三类 不同的端口分别传送三类不 同的信息。
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@
17
中断向量表
• 所谓中断向量,实际上就是中断服务程序的入口地址。理 论上,每个中断类型对应一个中断服务程序,也对应一个 中断向量。 • 8088/8086允许引入的中断可达256个,因此需占用1K字 节的存储空间来存放这256个中断服务程序入口地址。 • 中断服务程序入口地址信息设置在存储器的最低端,即从 00000H~003FFH的1K字节存储空间中。这一存储空间 就叫中断向量表。
主程序 中断处理程序1 中断处理程序2
STI
STI 断点
. . .
. . . . IRET
IRET
. . . .
2013-8-13
qingyang@
14
中断源及分类
1) 根据进入中断的方式可分为自愿中断和强迫中 断。
2) 根据其重要性可分为可屏蔽中断和不可屏蔽中 断。 3) 根据中断源的位置可分为内部中断和外部中断 等等。
2013-8-13
qingyang@
11
支持无条件传送方式(参考教材P244)
2013-8-13
qingyang@
12
302H
300H
支持查询式输出(参考教材P247)
2013-8-13 qingyang@ 13
中断处理过程
在程序运行时,系统外部、内部或现行程序本身若出现紧 急事件,处理器立即强行中止现行程序的运行,并启动相 应的程序来处理这些事件; 等到事件处理完毕, 又返回原 程序的中断处, 继续执行被中断的程序。
数据寄 存器 外 围 状态寄 存器 控制寄 存器 设 备
· 为了让CPU能够访问这些
I/O端口,每个I/O端口都需 有自己的端口地址(或端口 号)。
地址 总线
CPU
控制 总线
· 在一个微型计算机系统中,
如何编排这些I/O接口的端 口地址,即所谓I/O端口的 编址方式。
2013-8-13
qingyang@
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@
ห้องสมุดไป่ตู้
7
例 一个支持查询式输出的接口电路及输出程序