1 / 67

第七章 输入与输出

§7.1 I/O 接口 §7.2 无条件传送和查询式传送 §7.3 中断控制系统 §7.4 DMA 传送. 第七章 输入与输出.  有关 I/O 接口的基本概念. 本章内容. 学习目的.  I/O 端口与其编址方式.  主机与外设之间的数据传送方式. 掌握微型计算机接口技术的基本概念. 了解主机与外设之间的各种数据传送方式. 掌握中断技术. 一、 接口的概念和功能. 1 、接口和接口技术 2 、为什么要用接口电路?. 1 、接口和接口技术. 接口 : CPU 与外设之间的一种缓冲电路,是 CPU 与外设之间信息交换的中转站。.

kaemon
Download Presentation

第七章 输入与输出

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. §7.1 I/O接口 §7.2 无条件传送和查询式传送 §7.3 中断控制系统 §7.4 DMA 传送 第七章 输入与输出

  2.  有关I/O接口的基本概念 本章内容 学习目的  I/O端口与其编址方式  主机与外设之间的数据传送方式 掌握微型计算机接口技术的基本概念 了解主机与外设之间的各种数据传送方式 掌握中断技术

  3. 一、 接口的概念和功能 1、接口和接口技术 2、为什么要用接口电路?

  4. 1、接口和接口技术 接口:CPU与外设之间的一种缓冲电路,是CPU与外设之间信息交换的中转站。 接口技术:应用硬件与软件相结合的方法,研究CPU与外设之间如何实现高效、可靠的信息交换的一门技术。

  5. 外设是用来实现人机交互的一些机电设备。 外设处理信息的类型、速度、通信方式与CPU不匹配, 不能直接挂在总线上,必须通过接口和系统相连 2、为什么要用接口电路?

  6. 内存 CPU 智能仪器接口 通信接口 过程控制接口 输入接口 输出接口 外存接口 数字化存储示波器,数字化万用表 终端调制解调器TTY 电传机 A/D转换器开关量输入D/A转换器开关量输出 键盘 数字化仪光笔 图形输入 声音输入 扫描仪 点阵打印 CRT 显示激光打印 液晶显示喷墨打印 绘图仪X-Y记录仪 硬盘 软盘光盘 磁带 微机控制各类接口框图

  7. 从编程角度看,接口内部主要包括一个或多个从编程角度看,接口内部主要包括一个或多个 CPU可以进行读/写操作的寄存器,又称为I/O端口。 各I/O端口由端口地址区分。 AB 地址 译码 C P U 外 设 I/O端口1 DB 数据 缓冲 I/O端口2 CB 控制 电路 I/O端口3 二、接口电路的典型结构

  8. 按存放信息的不同,I/O端口可分为三种类型 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息, 控制外设或接口的工作方式。 AB 地址 译码 C P U 外 设 1001 0101 (状态端口) DB 数据 缓冲 0110 1010 (数据端口) CB 控制 电路 1100 0110 (控制端口)

  9. AB 地址 译码 C P U 外 设 I/O端口1 DB 数据 缓冲 I/O端口2 CB 控制 电路 I/O端口3 CPU对外设输入/输出的控制, 是通过对接口电路中各I/O端口的读/写操作完成。

  10. CPU 与外设之间的接口信息 1. 数据信息 (DATA) CPU与外设交换的基本信息是数据,有三种类型: (1) 数字量 由键盘、光电输入机等输入的信息。(通常以二进制表示的数或以 ASCII 码表示的数或字符)

  11. 非电量信息 电量 信号处理 传感器 A/D CPU  (2) 模拟量

  12. (3) 开关量 两个状态的量 (可以用0、1表示) 例如电机的启与停,开关的合与开等。

  13. 2. 状态信息 (STATUS) 反映当前外设工作状态的信息,例如: 输入时,输入设备是否准备好? (READY) 输出时,输出设备是否空闲?(BUSY)

  14. AB CPU I/O设备 DATA 1 I/O接口 DB STATUS 2 CB CONTROL 3 3. 控制信息 (CONTROL) CPU通过接口输出用以控制外设工作的信息。 例如控制I/O 设备启动或停止等。 CPU 与外设之间的接口信息

  15. 三、外部设备特点 由以上特点,对I / O 部分设计必须考虑两个问题: A 外设如何与CPU连接----必须通过I/O接口. B CPU如何寻址相应的I / O 设备----通过寻址与设备对应的I/O端口. (1)品种繁多。 (2)工作速度一般比CPU慢,且速度的分布也相当宽。 (3)信号类型与电平种类多样化。 (4)信息结构形式复杂。

  16. 四、接口的功能 接口用以解决CPU与外设连接时存在的矛盾,一般有以下功能: 1. 数据缓存:匹配不同的数据传送速率。 2. 端口寻址:选择某一外设,某一端口。 3. 命令译码:解释CPU输出的命令,产生相应的操作控制信号。 4. 同步控制:协调时序上的差异。

  17. 对CPU来说,外设状态信息须作为数据输入,而其控制命令作为数据输出,为使它们与数据相互区别------这三者必须从各自端口出入。

  18. I/O接口中可通过编程实现寻址并进行读写寄存器。CPU 与外设之间交换信息具体是通过I/O端口来进行的。 即 端口 寄存器 注意: 1.一个外设与CPU交换信息往往需要几个端口: 数据端口 控制端口 状态端口 有时可以合用

  19. 2.在微机系统中,每个端口分配有唯一的地址码,称之为端口地址。 3.CPU对外设的访问实际上是通过对I/O端口的访问来实现的-----因为端口与设备是一一对应的关系 4.I/O通道也就是可以传送和暂存数据的实际通路,所以 I/O端口有时也称作I/O通道。

  20. 端口 AB 数据 I/O 设备 DB I/O 接口 控制 CPU 状态 CB CPU与外设通过I/O接口通信示意图:

  21. AB CPU I/O设备 DATA 1 I/O接口 DB STATUS 2 CB CONTROL 3 I/O 端口的编址方式 接口电路中能被CPU访问的寄存器或某些特定器件称为I/O端口。I/O端口分为数据端口、状态端口和命令端口。 其中端口1为数据端口,端口2为状态端口,端口3为控制端口。

  22. CPU可用输入/输出指令或存储器访问指令对端口进行读/写,具体应用何种指令应视端口的编址方式而定。CPU可用输入/输出指令或存储器访问指令对端口进行读/写,具体应用何种指令应视端口的编址方式而定。 通常有两种编址方式:统一编址方式和独立编址方式。

  23. 译码器  去存储器 AB CPU  去I/O端口 RD WR 一、统一编址方式 (存储器对应I/O方式) 端口地址与存储器地址统一编址

  24. 特点: 1. I/O端口与存储单元统一编址,占用了存储器空间。 2. 用存储器访问指令来处理I/O,指令灵活,但指令执行时间较长。

  25. 译码器 A0~A19  去存储器 8086 CPU 译码器 A0~A15  去I/O端口 二、独立编址方式 (专用I/O方式)

  26. 特点: 1. I/O端口与存储器,都有自己的地址译码器,地址空间独立,互不影响。 2. 用专用I/O指令访问端口,程序易读。

  27. (1) 高位地址与CPU 的控制信号组合,经译码电路产生 I/O 接口芯片的片选信号( ),实现片间寻址。 问题:I/O端口地址译码电路如何设计? I/O 端口地址译码电路设计原则 I/O 端口地址译码一般由地址信号和控制信号的不同组合实现。其原则是: (2) 低位地址线直接连接到 I/O 接口芯片,实现片内寻址。

  28. 三、 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(字传送)

  29. 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→端口

  30. 一、I/O接口硬件分类 二、I/O端口地址分配 I/O端口地址分配

  31. 一、I/O接口硬件分类 • I/O接口的硬件分成两类: • 1.系统板上的I/O芯片 如定时/计数器、中断控制器、DMA控制器、并行接口等。 2. I/O扩展槽上的接口控制卡 如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。

  32. 二、I/O端口地址分配 PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。 PC微机I/O地址线可有16根,对应的I/O端口编址可达64K字节,其端口地址译码是采用部分译码法,即只使用了低10位地址线一个A0~A9,故其I/0端口地址范围是0000H~003FFH,总共只有1024个端口。

  33. 表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

  34. 表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

  35. 三、I/O端口地址选用的原则 • ①凡是被系统配置占用了的地址一律不能使用; • ②未被占用的地址,用户可以使用,但申明保留的地址,不要使用。 • ③用户可使用300H~31FH地址。

  36. 微机与外设间的数据传送,实际上是CPU与I/O接口间的数据传送。CPU与外设间的数据传送方式一般有三种:程序控制方式、中断方式和DMA方式。微机与外设间的数据传送,实际上是CPU与I/O接口间的数据传送。CPU与外设间的数据传送方式一般有三种:程序控制方式、中断方式和DMA方式。 7.2 主机与外设之间的数据传送方式

  37. 一、 程序控制方式 程序控制方式是指CPU与外设间的数据传送是在程序的控制下完成的一种数据传送方式。这种方式又分为无条件传送方式和条件传送方式。

  38. 1.无条件传送方式 无条件传送一般适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。

  39. 数据总线 地址总线 端口译码器 输出锁存器 输入缓冲器 M/IO WR 输出设备 输入设备 RD M/IO=0,RD=0,地址译码有效,输入 缓冲器被选中。 无条件传送输入输出接口框图 输入操作:IN AL,PORT

  40. 数据总线 地址总线 端口译码器 输出锁存器 输入缓冲器 M/IO WR 输出设备 输入设备 RD M/IO=0,WR=0,地址译码有效,输出锁存器被选中。 无条件传送输入输出接口框图 输出操作:OUT PORT, AL

  41. RD 80H 数据 数据总线 锁存器 数据缓冲器 输入设备 选通 D7 地址总线 端口译码 三态缓冲器 READY R S 81H Q D +5V M/IO 2.条件传送方式 (1)查询式输入 下图为查询式输入接口电路框图。 查询式输入接口电路框图

  42. RD 80H 数据 数据总线 锁存器 数据缓冲器 输入设备 选通 D7 地址总线 端口译码 三态缓冲器 READY R S 81H Q D +5V M/IO 工作原理:CPU读状态口,若READY=0,则循环检测READY;若READY=1,读数据口读入数据,同时置READY=0。

  43. 输入状态信息 N READY=1? Y 输入数据 WAIT:IN AL,81H TEST AL,80H JZ WAIT IN AL,80H 查询式输入程序流程图

  44. 数据总线 数据 锁存器 WR 数据 选通信号 M/ IO 输出设备 90H 应答 D0 端口译码 地址总线 +5V R S Q D 91H RD 状态 寄存器 BSUY (2)查询式输出 下图为查询式输出接口电路框图。 查询式输出接口电路框图

  45. +5V 数据总线 数据 锁存器 WR 数据 选通信号 M/ IO 输出设备 90H 应答 D0 端口译码 地址总线 R S Q D BUSY 91H RD 状态 寄存器 工作原理:CPU读状态口,检测BUSY信号,若BUSY=1,则等待;若BUSY=0,则通过数据口输出数据。

  46. 输入状态信息 Y BUSY=1? N 输出数据 WAIT:IN AL,91H TEST AL,01H JNZ WAIT MOV AL,DATA OUT 90H,AL 查询式输出程序流程图

  47. 多个外设的查询 CPU周期性地依次查询每个外设的状态 优先权决定了查询次序 不具有实时性 • 47

  48. 二、 中断传送方式 为了进一步提高CPU的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,当外设准备好时,主动向CPU发出中断请求,请求CPU进行数据的输入输出。

  49. 中断控制方式 • CPU被动而外设主动的I/O操作方式,较大地提高了CPU的工作效率,并使系统具有了实时处理功能 • 接口特点:避免了CPU 反复低效率的查询,适用于CPU任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;(中断控制芯片) • 49

  50. 三态 缓冲器 数据 锁存器 数据 D7~D0 RD 译码器 A15~A0 STB +5V R Q D M/ IO 中断请求 触发器 中断 类型号 输入设备 三态缓冲器 G INTA 中断允许触发器 INTR 中断方式输入接口电路框图

More Related