670 likes | 805 Views
§7.1 I/O 接口 §7.2 无条件传送和查询式传送 §7.3 中断控制系统 §7.4 DMA 传送. 第七章 输入与输出. 有关 I/O 接口的基本概念. 本章内容. 学习目的. I/O 端口与其编址方式. 主机与外设之间的数据传送方式. 掌握微型计算机接口技术的基本概念. 了解主机与外设之间的各种数据传送方式. 掌握中断技术. 一、 接口的概念和功能. 1 、接口和接口技术 2 、为什么要用接口电路?. 1 、接口和接口技术. 接口 : CPU 与外设之间的一种缓冲电路,是 CPU 与外设之间信息交换的中转站。.
E N D
§7.1 I/O接口 §7.2 无条件传送和查询式传送 §7.3 中断控制系统 §7.4 DMA 传送 第七章 输入与输出
有关I/O接口的基本概念 本章内容 学习目的 I/O端口与其编址方式 主机与外设之间的数据传送方式 掌握微型计算机接口技术的基本概念 了解主机与外设之间的各种数据传送方式 掌握中断技术
一、 接口的概念和功能 1、接口和接口技术 2、为什么要用接口电路?
1、接口和接口技术 接口:CPU与外设之间的一种缓冲电路,是CPU与外设之间信息交换的中转站。 接口技术:应用硬件与软件相结合的方法,研究CPU与外设之间如何实现高效、可靠的信息交换的一门技术。
外设是用来实现人机交互的一些机电设备。 外设处理信息的类型、速度、通信方式与CPU不匹配, 不能直接挂在总线上,必须通过接口和系统相连 2、为什么要用接口电路?
内存 CPU 智能仪器接口 通信接口 过程控制接口 输入接口 输出接口 外存接口 数字化存储示波器,数字化万用表 终端调制解调器TTY 电传机 A/D转换器开关量输入D/A转换器开关量输出 键盘 数字化仪光笔 图形输入 声音输入 扫描仪 点阵打印 CRT 显示激光打印 液晶显示喷墨打印 绘图仪X-Y记录仪 硬盘 软盘光盘 磁带 微机控制各类接口框图
从编程角度看,接口内部主要包括一个或多个从编程角度看,接口内部主要包括一个或多个 CPU可以进行读/写操作的寄存器,又称为I/O端口。 各I/O端口由端口地址区分。 AB 地址 译码 C P U 外 设 I/O端口1 DB 数据 缓冲 I/O端口2 CB 控制 电路 I/O端口3 二、接口电路的典型结构
按存放信息的不同,I/O端口可分为三种类型 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息, 控制外设或接口的工作方式。 AB 地址 译码 C P U 外 设 1001 0101 (状态端口) DB 数据 缓冲 0110 1010 (数据端口) CB 控制 电路 1100 0110 (控制端口)
AB 地址 译码 C P U 外 设 I/O端口1 DB 数据 缓冲 I/O端口2 CB 控制 电路 I/O端口3 CPU对外设输入/输出的控制, 是通过对接口电路中各I/O端口的读/写操作完成。
CPU 与外设之间的接口信息 1. 数据信息 (DATA) CPU与外设交换的基本信息是数据,有三种类型: (1) 数字量 由键盘、光电输入机等输入的信息。(通常以二进制表示的数或以 ASCII 码表示的数或字符)
非电量信息 电量 信号处理 传感器 A/D CPU (2) 模拟量
(3) 开关量 两个状态的量 (可以用0、1表示) 例如电机的启与停,开关的合与开等。
2. 状态信息 (STATUS) 反映当前外设工作状态的信息,例如: 输入时,输入设备是否准备好? (READY) 输出时,输出设备是否空闲?(BUSY)
AB CPU I/O设备 DATA 1 I/O接口 DB STATUS 2 CB CONTROL 3 3. 控制信息 (CONTROL) CPU通过接口输出用以控制外设工作的信息。 例如控制I/O 设备启动或停止等。 CPU 与外设之间的接口信息
三、外部设备特点 由以上特点,对I / O 部分设计必须考虑两个问题: A 外设如何与CPU连接----必须通过I/O接口. B CPU如何寻址相应的I / O 设备----通过寻址与设备对应的I/O端口. (1)品种繁多。 (2)工作速度一般比CPU慢,且速度的分布也相当宽。 (3)信号类型与电平种类多样化。 (4)信息结构形式复杂。
四、接口的功能 接口用以解决CPU与外设连接时存在的矛盾,一般有以下功能: 1. 数据缓存:匹配不同的数据传送速率。 2. 端口寻址:选择某一外设,某一端口。 3. 命令译码:解释CPU输出的命令,产生相应的操作控制信号。 4. 同步控制:协调时序上的差异。
对CPU来说,外设状态信息须作为数据输入,而其控制命令作为数据输出,为使它们与数据相互区别------这三者必须从各自端口出入。
I/O接口中可通过编程实现寻址并进行读写寄存器。CPU 与外设之间交换信息具体是通过I/O端口来进行的。 即 端口 寄存器 注意: 1.一个外设与CPU交换信息往往需要几个端口: 数据端口 控制端口 状态端口 有时可以合用
2.在微机系统中,每个端口分配有唯一的地址码,称之为端口地址。 3.CPU对外设的访问实际上是通过对I/O端口的访问来实现的-----因为端口与设备是一一对应的关系 4.I/O通道也就是可以传送和暂存数据的实际通路,所以 I/O端口有时也称作I/O通道。
端口 AB 数据 I/O 设备 DB I/O 接口 控制 CPU 状态 CB CPU与外设通过I/O接口通信示意图:
AB CPU I/O设备 DATA 1 I/O接口 DB STATUS 2 CB CONTROL 3 I/O 端口的编址方式 接口电路中能被CPU访问的寄存器或某些特定器件称为I/O端口。I/O端口分为数据端口、状态端口和命令端口。 其中端口1为数据端口,端口2为状态端口,端口3为控制端口。
CPU可用输入/输出指令或存储器访问指令对端口进行读/写,具体应用何种指令应视端口的编址方式而定。CPU可用输入/输出指令或存储器访问指令对端口进行读/写,具体应用何种指令应视端口的编址方式而定。 通常有两种编址方式:统一编址方式和独立编址方式。
译码器 去存储器 AB CPU 去I/O端口 RD WR 一、统一编址方式 (存储器对应I/O方式) 端口地址与存储器地址统一编址
特点: 1. I/O端口与存储单元统一编址,占用了存储器空间。 2. 用存储器访问指令来处理I/O,指令灵活,但指令执行时间较长。
译码器 A0~A19 去存储器 8086 CPU 译码器 A0~A15 去I/O端口 二、独立编址方式 (专用I/O方式)
特点: 1. I/O端口与存储器,都有自己的地址译码器,地址空间独立,互不影响。 2. 用专用I/O指令访问端口,程序易读。
(1) 高位地址与CPU 的控制信号组合,经译码电路产生 I/O 接口芯片的片选信号( ),实现片间寻址。 问题:I/O端口地址译码电路如何设计? I/O 端口地址译码电路设计原则 I/O 端口地址译码一般由地址信号和控制信号的不同组合实现。其原则是: (2) 低位地址线直接连接到 I/O 接口芯片,实现片内寻址。
三、 80X86的I/O指令 1. 输入指令 IN IN AL , n IN AX , n IN AL , DX IN AX , DX 2. 输出指令 OUT OUT N , AL/AX; OUT DX ,AL/AX; 说明: 两种指令均可传送一个字节或字,且只能通过AL或者AX传送。 如:IN指令中的目的操作数必须是AL(字节传送)或AX(字传送)
2. I/O端口访问 • 所谓对端口的访问就是CPU对端口的读/写。将端口的数据传送存储器 例如: 输入时 MOV DX,300H ;I/O端口 IN AL, DX ;从端口读数据到AL MOV [DI],AL ;将数据从AL→存储器 输出时 MOV DX,301H ;I/O端口 MOV AL,[SI] ;从内存取数到AL OUT DX,AL ;数据从AL→端口
一、I/O接口硬件分类 二、I/O端口地址分配 I/O端口地址分配
一、I/O接口硬件分类 • I/O接口的硬件分成两类: • 1.系统板上的I/O芯片 如定时/计数器、中断控制器、DMA控制器、并行接口等。 2. I/O扩展槽上的接口控制卡 如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。
二、I/O端口地址分配 PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。 PC微机I/O地址线可有16根,对应的I/O端口编址可达64K字节,其端口地址译码是采用部分译码法,即只使用了低10位地址线一个A0~A9,故其I/0端口地址范围是0000H~003FFH,总共只有1024个端口。
表1 系统板上接口芯片的端口地址 • I/O芯片名称 端口地址 • DMA控制器1 000~01FH • DMA控制器2 0C0~0DFH • DMA页面寄存器 080~09FH • 中断控制器1 020~03FH • 中断控制器2 0A0~0BFH • 定时器 040~05FH • 并行接口芯片(键盘接口) 060~06FH • RT/CMOS RAM 070~07FH • 协处理器 0F0~0FFH
表2 扩展槽上接口控制卡的端口地址 • I/0接口名称 端口地址 • 游戏控制卡 200~20FH • 并行口控制卡1 370~37FH • 并行口控制卡2 270~27FH • 串行口控制卡1 3F8~3FFH • 串行口控制卡2 2F0~2FFH • 原型插件板(用户可用) 300~31FH • 同步通信卡1 3A0~3AFH • 同步通信卡2 380~38FH • 单显MDA 3B0~3BFH • 彩显CGA 3D0~3DFH • 彩显EGG/VGA 3C0~3CFH • 硬驱控制卡 1F0~1FFH • 软驱控制卡 3F0~3F7H • PC网卡 360~36FH
三、I/O端口地址选用的原则 • ①凡是被系统配置占用了的地址一律不能使用; • ②未被占用的地址,用户可以使用,但申明保留的地址,不要使用。 • ③用户可使用300H~31FH地址。
微机与外设间的数据传送,实际上是CPU与I/O接口间的数据传送。CPU与外设间的数据传送方式一般有三种:程序控制方式、中断方式和DMA方式。微机与外设间的数据传送,实际上是CPU与I/O接口间的数据传送。CPU与外设间的数据传送方式一般有三种:程序控制方式、中断方式和DMA方式。 7.2 主机与外设之间的数据传送方式
一、 程序控制方式 程序控制方式是指CPU与外设间的数据传送是在程序的控制下完成的一种数据传送方式。这种方式又分为无条件传送方式和条件传送方式。
1.无条件传送方式 无条件传送一般适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。
数据总线 地址总线 端口译码器 输出锁存器 输入缓冲器 M/IO WR 输出设备 输入设备 RD M/IO=0,RD=0,地址译码有效,输入 缓冲器被选中。 无条件传送输入输出接口框图 输入操作:IN AL,PORT
数据总线 地址总线 端口译码器 输出锁存器 输入缓冲器 M/IO WR 输出设备 输入设备 RD M/IO=0,WR=0,地址译码有效,输出锁存器被选中。 无条件传送输入输出接口框图 输出操作:OUT PORT, AL
RD 80H 数据 数据总线 锁存器 数据缓冲器 输入设备 选通 D7 地址总线 端口译码 三态缓冲器 READY R S 81H Q D +5V M/IO 2.条件传送方式 (1)查询式输入 下图为查询式输入接口电路框图。 查询式输入接口电路框图
RD 80H 数据 数据总线 锁存器 数据缓冲器 输入设备 选通 D7 地址总线 端口译码 三态缓冲器 READY R S 81H Q D +5V M/IO 工作原理:CPU读状态口,若READY=0,则循环检测READY;若READY=1,读数据口读入数据,同时置READY=0。
输入状态信息 N READY=1? Y 输入数据 WAIT:IN AL,81H TEST AL,80H JZ WAIT IN AL,80H 查询式输入程序流程图
数据总线 数据 锁存器 WR 数据 选通信号 M/ IO 输出设备 90H 应答 D0 端口译码 地址总线 +5V R S Q D 91H RD 状态 寄存器 BSUY (2)查询式输出 下图为查询式输出接口电路框图。 查询式输出接口电路框图
+5V 数据总线 数据 锁存器 WR 数据 选通信号 M/ IO 输出设备 90H 应答 D0 端口译码 地址总线 R S Q D BUSY 91H RD 状态 寄存器 工作原理:CPU读状态口,检测BUSY信号,若BUSY=1,则等待;若BUSY=0,则通过数据口输出数据。
输入状态信息 Y BUSY=1? N 输出数据 WAIT:IN AL,91H TEST AL,01H JNZ WAIT MOV AL,DATA OUT 90H,AL 查询式输出程序流程图
多个外设的查询 CPU周期性地依次查询每个外设的状态 优先权决定了查询次序 不具有实时性 • 47
二、 中断传送方式 为了进一步提高CPU的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,当外设准备好时,主动向CPU发出中断请求,请求CPU进行数据的输入输出。
中断控制方式 • CPU被动而外设主动的I/O操作方式,较大地提高了CPU的工作效率,并使系统具有了实时处理功能 • 接口特点:避免了CPU 反复低效率的查询,适用于CPU任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;(中断控制芯片) • 49
三态 缓冲器 数据 锁存器 数据 D7~D0 RD 译码器 A15~A0 STB +5V R Q D M/ IO 中断请求 触发器 中断 类型号 输入设备 三态缓冲器 G INTA 中断允许触发器 INTR 中断方式输入接口电路框图