第六章 I/O接口 一、I/O接口的功能 第一节 概 述 一、I/O 接口的功能 二、I/O接口的一般结构 第二节 输入输出寻址方式和指令

Slides:



Advertisements
Similar presentations
第6章 微型计算机和外设之间的 数据传输.
Advertisements

第五章 微型计算机和外设的数据传输 5.1 为什么用接口电路? 5.2 CPU和I/O设备之间的信号; 5.3 接口部件的I/O端口;
微型计算机原理及应用.
第七章 计算机输入输出系统与 接口技术.
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第十二章 DMA控制器 12.1 概述 A DMA控制器 A的应用.
半导体存储器 第四章 半导体存储器.
计算机基础知识 丁家营镇九年制学校 徐中先.
第5章 输入输出与接口技术.
第5章 输入输出与接口技术.
第五章 总线 及其形成 本节课之前,大家学习了:
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
第一章 绪论.
输入/输出及接口 输入/输出的传送方式 中断技术 80x86/Pentium中断系统 8259A可编程中断控制器 中断程序设计
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
第三节 CPU与外设间的数据传送方式 CPU与外设的工作速度不一致, 如何使两者高效、可靠地进行数据传送, 是本节讨论的问题。
第六章 输入/输出接口 6.1 输入/输出接口概述 6.2 I/O指令和地址译码 6.3 PC系统总线(放到本章后面详细讲述)
第6章 DMA传输 6.1 DMA传输原理 6.2 DMA控制器8237A A的编程使用 欢迎辞.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第六章 输入输出和中断技术 本章内容 基本概念 I/O端口的编址 中断 DMA* 输入输出的基本方法:无条件、查询、中断、DMA
第5章 输入输出与接口技术.
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
微机原理与接口技术 第9章 计时/计数接口.
第 9 章 可编程外围接口芯片 8255A 中国科学技术大学 何克东.
第8章 PCH中的常规接口.
第七章 输入和输出 第一节 I/O接口 第三节 可编程DMA控制器8237A 第二节 CPU与外设数据传送的方式.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
1.3 微型计算机的结构和工作原理.
DMA与DMA控制器 DMA(Direct Memory Access)的概念 DMA方式不用处理器干预完成M与I/O间数据传送。
CPU结构和功能.
版权所有,引用请注明出处 第六章、中央控制器 原著 谭志虎 主讲(改编) 蒋文斌.
第 12 章 8237A DMA控制器及其应用 中国科学技术大学 何克东.
第6章作业 3、 需要128块芯片 片内译码地址线:10条 片选择地址线:至少4条
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第九章 微处理器外部结构和总线操作时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
可编程定时计数器.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 第6章 并行输入输出接口(8255A)
微机原理及应用 主讲:郑海春.
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
第7章 输入输出接口.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
微型计算机技术 教 学 指 导(五) 太原广播电视大学 郭建勇.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第十章 输入输出程序设计 10.1 输入输出指令 输入输出(I/O)是指CPU与输入设备和输出设备之间进行的信息传送。CPU与外部设备之间通过输入输出接口相连接。各个设备在输入输出接口中分配了相应的端口。访问不同的设备就是访问其对应的端口。在指令系统中提供了访问输入输出端口的指令。 一、I/O端口寻址方式.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
第十章 直接存储器存取(DMA)控制.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
第九章 存储器和可编程逻辑器件 本章主要内容 半导体存储器 只读存储器 随机存取存储器 存储器容量的扩展 可编程逻辑器件
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
Presentation transcript:

第六章 I/O接口 一、I/O接口的功能 第一节 概 述 一、I/O 接口的功能 二、I/O接口的一般结构 第二节 输入输出寻址方式和指令 第一节 概 述 一、I/O 接口的功能 二、I/O接口的一般结构 第二节 输入输出寻址方式和指令 一. I/O指令寻址 二. 存储器映象的 I/O寻址 三、8088I/O指令 第三节 CPU与外设数据传送方式 一、无条件传送 二、查询传送 三、 中断传送 四、直接数据通信传送DMA 第四节 DMA控制器(Intel8237) 一、主要功能 二、DMA控制器8237的功能 三、8237的内部结构

第六章 输入和输出 第一节 概 述 一、I/O接口的功能 1. 采用I/O接口的必要性 * 外围设备的品种繁多 机械,电子,机电,磁电,光电 第六章 输入和输出 第一节 概 述 一、I/O接口的功能 1. 采用I/O接口的必要性 * 外围设备的品种繁多 机械,电子,机电,磁电,光电 * 所传输的信息的要求不同 数字,模拟,电压,电流等 2. 计算机与外设之间的信息交换应解决的问题: * 速度不匹配 * 信号电平不匹配 * 信号格式不匹配 * 信号时序不匹配

* 设置数据缓冲器以解决两者速度差异所带来的不协调问题; 3. I/O接口应具有的功能(解决的方案) * 设置数据缓冲器以解决两者速度差异所带来的不协调问题; 输入: 输入设备数据线  三态缓冲器  DB  CPU 寻 址 等待数据输入 读入数据 确定输入端口地址 AB、M/ IO、ALE、DT/R  输入缓冲器 输入缓冲器  DB  CPU 输出: CPU  DB  锁存器  输出设备数据线 寻 址 输出数据 等待数据输出 确定输出端口地址 AB、M/IO、ALE、DT/R CPU  DB  输出锁存器 等待输出设备 从锁存器取走数据

* 设置信号电平转换电路以解决两者之间信号电平的不一致问题 例如:在串行通信中,常采用MC1488,MC1489等芯片实现 电平转换。 * 设置信息转换逻辑以满足对各自信号格式的要求 例如:A/D转换,D/A转换,串/并转换,并/串转换等。 * 设置时序控制电路以同步CPU和外设的工作 接口电路接收CPU送来的命令或控制字,实施对外设的控 制和管理;外设的工作状态和应答信号也通过接口及时返 回给CPU(设备就绪,忙,缓冲器满,空),保证CPU与 外设工作实现同步。

* 提供地址译码电路 CPU与多个外部设备交换信息; 每个外部设备通常包含若干个端口(数据,控制,状态)。 * 最好可编程应用

P U 二、I/O接口的一般结构 信号: CPU与外设之间传送的信号有:数据、状态、控制 状态信号:反映外设当前所处的工作状态。 输入设备数据准备好,READY=1 输出设备正忙于处理,BUSY=1。 控制信号:控制外设的工作。 CPU启动或停止外设工作,CPU确定外设的工作方式。 端口:CPU与一个外设之间通常有三个端口。数据端口(输入/输出);状态端口;控制端口。 C P U 接 口 外 部 设 备 AB 数据 DB 状态 M / IO WR RD 控制

第二节 输入输出寻址方式和指令 C P U C P U 存储器 I/O口 存储器 I/O口 控制逻辑 第二节 输入输出寻址方式和指令 一. I/O指令寻址 二. 存储器映象的 I/O寻址 存储器和I/O端口在两个独立的地址空间中, I/O端口的读、写用IOR和IOW控制信号实现,访问I/O端口用专用的IN或OUT指令。 存储器和I/O端口共用一个地址空间, I/O端口的读、写用RD和WR控制信号实现,所有访问存储器的指令都可以用于I/O端口。 C P U C P U 存储器 I/O口 AB DB RD WR AB DB 存储器 I/O口 IOW MEMR MEMW IOR 控制逻辑 CB

IN AL, n 字节输入 (n 端口数据)  AL IN AX, n 字输入 (n+1):(n)  AX 三、8086I/O指令 输入输出端口地址在指令中以立即数 n (8bit) 表明。直接寻址可寻址256个输入端口和256个输出端口。 IN AL, n 字节输入 (n 端口数据)  AL IN AX, n 字输入 (n+1):(n)  AX OUT n,AL 字节输出 (AL)  n 端口 OUT n,AX 字输出 (AX)  n+1:n 输入输出端口地址由DX寄存器(16bit)间接寻址。间接寻址可寻址64K个输入端口和64K个输出端口。 IN AL, DX 字节输入 ((DX))  AL IN AX, DX 字输入 ((DX)+1):((DX))  AX OUT DX,AL 字节输出 (AL)  (DX) OUT DX,AX 字输出 (AX)  (DX)+1:(DX)

输出:CPU在执行OUT指令前,输出锁存器已空。 一、无条件传送 输出:CPU在执行OUT指令前,输出锁存器已空。 输入:CPU在执行IN指令前,输入三态缓冲器已准备好。 AB 外设输入数据 三态缓冲器 地址译码 RD DB n 输入 端口 n 无条件输入 M/IO 输出外设数据 锁 存 器 地址译码 WR DB AB n 输出 端口 n 无条件输出 M/IO

CPU需不断查询外设的状态,一旦外设满足数据传送的条件,就执行IN或OUT指令,读入或输出数据。 二、查询传送 CPU需不断查询外设的状态,一旦外设满足数据传送的条件,就执行IN或OUT指令,读入或输出数据。 输入外设状态信号Ready Ready=1 输入数据 N 查询输入 Y 输入外设状态 信号Busy Busy=0 输出数据 N 查询输出 Y

查询输入接口电路(组成) 输 入 装 置 地址 译码 IN AL, DATA_PORT 输 入 装 置 锁 存 器 D R Q 三态 缓冲 地址 译码 AB 数据端口 状态端口 D7 数据 选通 DB Ready RD M/ IO +5V IN AL, STATUS_PORT 工作原理

查询输入的编程 1、数据准备好,选通信号输出正跳变将 数据锁存器 D触发器置1,作为Ready信号,D7=1 2、查询状态信号,执行 IN AL,状态口 Ready(bit7) AL 3、若Ready=1,执行 IN AL,数据口 输入数据AL; D触发器复位,Ready=0 POLL: IN AL, STATUS_PORT TEST AL,80H JE POLL IN AL,DATA_PORT

查询输出接口电路(组成) 输 出 装 置 工作原理 OUT DATA_PORT, AL 锁 存 器 Q D R 三态 缓冲 地址 译码 AB 数据端口 状态端口 D7 数据 启动 DB ACK Busy VCC M/IO RD WR IN AL, STATUS_PORT

查询输出的编程 1、上一数据处理结束,ACK的负跳变(恢复)使D触发器复“0” 输出装置,启动信号=0(恢复)缓冲器输出 Busy=0; 2、查询状态信号,执行 指令 IN AL,状态口 Busy(bit7) AL 3、若Busy =0,执行指令 OUT 数据口,AL, 输出数据AL  DB  锁存器 输出装置; D触发器置1,启动输出装置Busy=1,禁止输出 POLL: IN AL,STATUS_PORT TEST AL,80H JNE POLL MOV AL,STORE ;从数据区取数 OUT DATA_PORT,AL

三、 中断传送 IRET 启动外设 主程序 数据IN/OUT 中断服务程序 中断响应 外设准备好 输入设备Ready=1 三、 中断传送 无条件、查询传送都需要CPU的等待或不断查询,使CPU的效率降低。中断传送:外设需要传送数据时,申请中断;当CPU允许中断,在中断服务程序中执行IN /OUT指令;然后返回主程序。 启动外设 主程序 数据IN/OUT 中断服务程序 IRET 中断响应 中断响应 外设准备好 输入设备Ready=1 输出设备Busy=0 中断请求 外设又一次准备好 中断请求

中断输入接口电路(组成) 输 入 装 置 地址 译码 中断矢量 INTA 输 入 装 置 锁 存 器 D R Q 三态 缓冲 装置中断允许 地址 译码 数据端口 数据 选通 DB INTR RD M/IO 三态缓冲器 中断服务程序中,读入数据 AB 向CPU发中断请求 数据准备就绪,发选通信号 CPU响应中断,进入中断响应周期 工作原理

四、直接数据通信传送DMA 1、DMA传送的基本概念 无条件、查询、中断传送,每传送一个数据都需要CPU干预一次,限制了数据传送的速度。 输入设备 CPU 内存 输出设备 DMA(Direct Memory Access):是一种不需要CPU干预也不需要软件介入的高速数据传送方式。在外设(如磁盘)与内存之间成批传送数据时,完全由硬件(DMA)完成外设与内存的数据传送,而不必 CPU的干预。对这一数据传送过程进行控制的硬件称为DMA控制器(DMAC)。

(2) 通常情况下,AB、DB、CB由CPU控制。 解决 :(1) 设置直接数据控制器DMAC。当需要DMA时,由DMAC提供内存的地址线、数据串长度和必要的控制信号。 (2) 外设在需要进行DMA传送数据时,向DMAC发出DMA请求。 然后DMAC向CPU提出HOLD总线请求。 CPU响应后,发HLDA响应给DMAC,并将总线暂交DMAC管理。当DMAC接收到HLDA后就可以接管总线,进行DMA传送。 DMAC完成数据串传送后撤销HOLD请求,CPU恢复对总线的控制。

CPU 内存 缓 冲 DMA控制器方框图 数据 地址寄存器 字节计数器 控制/状态寄存器 DMAC 选通 BUS 状态/控制 端口 HRG HLDA DMAC CPU 内存 HOLD DREQ DAK 状态/控制 端口 数据 DMA 请求 触发 器 缓 冲 输入设备 选通 Ready BUS DMA控制器方框图

2、DMA操作的基本方法 (1). 周期挪用 (Cycle Stealing) 利用CPU不访问存储器的那些周期来实现DMA操作。此时,DMAC可以使用总线而不通知CPU也不会妨碍CPU的工作。但关键是如何识别CPU可挪用的周期,以免与CPU的操作发生冲突。某些CPU能产生一个表示存储器是否正在被使用的信号(M6800的VMA)。 特点:不影响不减慢CPU的操作; 需要复杂的时序电路; 数据传送过程是不连续的和不规则的。

(2). 周期扩展 当需要进行DMA操作时,由DMAC发出请求信号给专门的时钟电路,时钟电路将供给CPU的时钟周期加宽,而提供给存储器器和DMAC的时钟周期不变。CPU在加宽的时钟周期内操作不往下进行,而这加宽的时钟周期相当于若干个正常的时钟周期,用于进行DMA操作。加宽的时钟周期结束后,CPU仍按正常的时钟继续操作。 特点:降低了CPU的处理速度; 需要专门的时钟发生器/驱动电路; 数据一次只能传送一个字节。

(3). CPU停机 当需要进行DMA操作时,DMAC向CPU发出DMA请求信号,迫使CPU在先行的机器周期结束后,使地址、数据和部分控制信号线处于三态,即让出总线控制权,并给出一个DMA响应信号,使DMAC可以控制总线进行数据传送。直到DMA操作完成,CPU再恢复对总线的控制权,继续执行被中断的程序。 特点:在进行DMA传送期间,CPU处于空闲状态,降低 了CPU的利用率; 影响CPU对中断的响应和对动态RAM的刷新; 可进行单字节传送,也可进行数据块传送。

3. DMA传送方式: (1). 单字节方式: 每次DMA请求只传送一个字节数据,每传送一个字节,都撤消DMA请求信号并释放总线。 (2). 字节(字符)组方式: 每次DMA请求连续传送一个数据块,待规定长度的数据块传送完了以后才撤消DMA请求信号并释放总线。

五、I/O译码电路和PC机的地址分配 1. I/O端口译码电路举例 & M/IO Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 A15 G1 G2A G2B C B A

I/O译码电路的端口地址分配表 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 地址范围(H) 1 1 0 0 0 0 0 0 0 0 0 0 0    C000C007 1 1 0 0 0 0 0 0 0 0 0 0 1    C008C00F 1 1 0 0 0 0 0 0 0 0 0 1 0    C010C017 1 1 0 0 0 0 0 0 0 0 0 1 1    C018C01F 1 1 0 0 0 0 0 0 0 0 1 0 1    C020C027 1 1 0 0 0 0 0 0 0 0 1 0 1    C028C02F 1 1 0 0 0 0 0 0 0 0 1 1 0    C030C037 1 1 0 0 0 0 0 0 0 0 1 1 1    C038C03F

2. PC机的I/O端口地址分配 AEN & IOW Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 A9 A8 A7 A6 A5 G1 G2A G2B C B A & AEN IOW DMACS(8237) WRTDMAPG (写DMA页面寄存器) T/CCS(8253) PPICS(8255) INTRCS(8259) WRTNMIREG

PC/XT机的系统板地址分配表 地址范围(H) I/O设备(端口) 000—01F(00—0F) 8237A-5 DMA控制器 020—03F(20—21) 8259A 中断控制器 040—05F(40—43) 8253-5 计数器/定时器 060—07F(60—63) 8255A-5 并行接口 080—09F(80—83) DMA页寄存器 0A0—0BF(A0) NMI屏蔽寄存器 0C0—0DF 保留 0E0—0FF 保留