1 / 23

输入 / 输出接口

输入 / 输出接口. 第五章 输入输出接口. ROM. I/O 接口. 外设. RAM. CPU. 基本概念. 第 5.1 节 基本概念 外设 输入 / 输出设备是外部设备,简称 外设 。微机与外设之间的信息交换称为 输入和输出 。 接口 接口 :外设与总线之间的中间环节,是计算机与外设交换信息的控制电路。 端口 :接口电路中可以被寻址访问的存储单元。可分为数据端口、状态端口、控制端口。. D15 ~ D0. 数据口. A15 ~ A0. 状态口. I/O 装置. A0. BHE. IOR. 控制口. IOW.

xylia
Télécharger la présentation

输入 / 输出接口

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. 输入/输出接口 第五章 输入输出接口

  2. ROM I/O接口 外设 RAM CPU 基本概念 第5.1节 基本概念 • 外设 输入/输出设备是外部设备,简称外设。微机与外设之间的信息交换称为输入和输出。 • 接口 • 接口:外设与总线之间的中间环节,是计算机与外设交换信息的控制电路。 • 端口:接口电路中可以被寻址访问的存储单元。可分为数据端口、状态端口、控制端口。

  3. D15~D0 数据口 A15~A0 状态口 I/O装置 A0 BHE IOR 控制口 IOW 接口功能 • 接口的功能 • 数据缓冲:外设数据输入到总线时需要缓冲。 • 数据锁存:总线数据输出到外设时的锁存,解决CPU与外设速度不匹配问题。 • 传输控制命令和状态信息:计算机与外设有时需使用硬件握手。例如:计算机利用查询输出到打印机。 • 信息转换:串并转换、数模转换、电平格式转换

  4. I/O端口的编址 • I/O端口的编址方式 • I/O端口与存储器统一编址 把一个外设端口看作存储器的一个单元,占用存储器的地址空间,利用对存储器的读写操作完成数据的输入和输出。 • 优点 • 不需要专门的输入输出指令 • 可使用全部对存储器操作的指令,指令数量多 • 端口数量多 • 缺点 • 占用存储器空间 • 寻址时地址线数多,译码复杂

  5. I/O端口的编址 • I/O端口独立编址 计算机单独给外设端口编址,I/O端口具有独立的地址空间。计算机需用控制信号区分存储器空间和I/O端口空间(例8086 CPU的M/IO)。 • 优点 • I/O空间较存储器空间小,地址线少,译码电路相对简单。 • 不占用存储器空间 • 缺点 • 要有专门输入输出指令,寻址方式少,不灵活

  6. RD IOR M/IO IOW WR 8086 I/O空间 • 8086 I/O空间 • 8086系统使用16根地址线(A15~A0)寻址I/O端口,可寻址64KB个I/O端口; • 偶地址端口数据使用低8位数据总线传送,奇地址端口数据使用高8位数据总线传送; • 奇、偶地址端口的数据传送由BHE和A0控制; • I/O端口的读/写选通信号为IOR和IOW。 注:IBM PC/XT机实际只使用低10位数据线寻址I/O 端口,寻址1KB个端口。

  7. 8086 I/O空间 • 计算机系统中,多使用8位端口。8086系统的8位端口使用数据线的低8位传送信息,所以端口地址的编址多为偶地址。现代的计算机体系中,通过转换电路8位端口地址可以连续编址。 • 8086输入/输出指令 • 输入指令 IN AL, PORT IN AX, PORT IN AL, DX IN AX, DX • 输出指令 OUT PORT, AL OUT PORT, AX OUT DX, AL OUT DX, AX

  8. D15~D0 数据口 A15~A0 状态口 I/O装置 A0 BHE IOR 控制口 IOW CPU与外设的连接 第5.2节 CPU与外设的连接 • CPU与外设的一般接口电路 (一)端口 • 数据口:用于完成数据的输入或输出。包括: • 数字量 如用ASCII码表示的数和字符 • 模拟量 如经DAC转换输出的电流 • 开关量 如以一位二进制表示的量

  9. CPU与外设的连接 • 控制口 控制口为一个输出接口,用于控制外设的启动(START)、停止(STOP)或数据的选通(STB)等,具体由外设的要求而定。 • 状态口 • CPU通过状态口了解外设状态。如: • 输入外设是否准备好(READY) • 转换是否结束(EOC) • 输出装置是否忙(BUSY) • 控制信息和状态信息一般也由数据总线传送。

  10. D7~D0 三态 I/O 缓冲 地址 A15~A1 器 装置 译码 若将IOR换作MEMR 则可使用 MOV AL, [160H] OE 器 160H A0 CS 接口 电路 IOR CPU与外设的数据传送方式 • CPU与外设的数据传送方式 (一)无条件传送 传送数据之前,CPU不需要检测外设是否准备就绪,程序中直接使用IN和OUT命令来完成输入和输出。也叫注入式或命令式。 • 无条件输入 MOV DX, 0160H IN AL, DX

  11. T2 T4 T1 T1 T3 CLK M/IO D7 ~ A S3~S6 地址 状态 19~16 数据 D0 输出 BHE 锁存 AD 数据 地址 15~0 地址 设备 A15 器 ALE ~ 译码 A1 WR 器 160H DT/R A0 CS DEN READY IOW I/O写周期时序 CPU与外设的数据传送方式 • 无条件输出 MOV DX, 0160H MOV AL, [BX] OUT DX, AL [BX]中存放需要输出到 I/O接口的内容

  12. 输入状态 不满足 条件 判断 满足 条件 传输数据 CPU与外设的数据传送方式 (二)查询传送 传送数据之前,CPU需要检测外设的状态(即握手信号的联络),只有外设条件满足时才传送数据,否则继续检测,直到满足。 通常接口电路中用状态端口的 某一位或某几位表示外设的状态。 也叫问答式。如果外设工作情况无 法预先知道或无规律,一般采用查 询或中断工作方式 • 优点:可解决速度匹配问题,电路和程序都比较简单。 • 缺点:CPU检查外设状态,需要占用大量CPU时间,影响系统效率。

  13. D7 ~ 三态 锁 D0 DB D0 缓冲 存 ADC 器 器 EOC IOR OE C 160H 地址 A15 R ~ 译码 Q C A1 器 D 162H +5V 状态触发器 164H A0 CS IOW 查询输入接口电路原理图 CPU与外设的数据传送方式 • 查询输入

  14. CPU与外设的数据传送方式 • 电路说明 • 控制口:口地址为0164H,只完成ADC的启动,不用传递其他控制信息。0164H•IOW • 状态口:ADC转换结束后,由EOC产生负脉冲,把ADC输出数据锁存到锁存器中,并置状态触发器为“1”,表示数据已准备好。状态信息由数据线D0传送,口地址为0162H. 0162H •IOR. • 数据口:查询状态,条件具备,则选中数据口输入数据,同时清状态,表示数据已读走,防重读。数据口地址为0160H。 0160H •IOR

  15. CPU与外设的数据传送方式 • 从ADC读取一个数据子程序(数据存放在AL中) READ PROC MOV DX, 0160H IN AL, DX ;清状态 MOV DX, 0164H OUT DX, AL ;启动 READ1: MOV DX, 0162H IN AL, DX ;查询状态 TEST AL, 01H JZ READ1 MOV DX, 160H IN AL, DX ;读取数据 RET READ ENDP

  16. D7 锁 ~ DB D0 D0 存 外设 IOR 器 RDY 162H 地址 A15 ACK C 译码 160H ~ A1 器 C Q D 164H A0 CS R +5V IOW CPU与外设的数据传送方式 • 查询输出

  17. CPU与外设的数据传送方式 • 电路说明 • 控制口:由输出口164H产生一个负脉冲启动外设工作。 • 数据口:地址160H,CPU输出数据到锁存器,同时置“1”状态触发器,通知外设数据已准备好。 • 状态口:地址0162H,CPU查询状态,看外设是否取走数据。若外设取走数据,则发ACK信号,清除状态触发器。

  18. CPU与外设的数据传送方式 • 输出一个数据子程序(输出数据在AL中) WRITE PROC MOV DX, 0164H OUT DX, AL ;启动外设 MOV DX, 0160H OUT DX, AL ;输出数据 MOV DX, 0162H WRITE1: IN AL, DX ;查询状态 TEST AL, 01H JNZ WRITE1 RET WRITE ENDP

  19. 正常程序 中断服务程序 完成数 据交换 断点 返回 CPU与外设的数据传送方式 (三)中断传送方式 • 外设“准备好”后,向CPU发中断请求 • CPU响应请求,停止正在运行的程序,去执行请求处理 • 处理完请求后,回到断点处继续执行 • 数据交换在中断服务程序中完成 • 优点:CPU主动查询变为被动中断,提高了系统效率 • 缺点:需要专门的中断申请电路,程序设计复杂,不适合对大量数据的传输。

  20. I/O CPU MEM CPU MEM I/O DMAC CPU与外设的数据传送方式 (四)DMA方式(Direct Memory Access ) • 传统方式: • DMA方式: DMA方式适合大量数据高速传输。例如:DRAM刷新等 • 优点:速度高,不需要CPU参与。 • 缺点:硬件接口复杂,DMAC价格高。 DMA控制器或DMA通道一般是 8237芯片 一片8237有4个通道,两片级连有7个通道。

  21. 输入/输出实例 第5.3节 输入/输出实例 例1 设计一个输出接口,控制8个发光二极管,每隔1秒钟点亮一只(只有一只亮),从上到下循环往复。 说明: • 74LS273为上升沿锁存的锁存器,其输出灌电流可达8mA,能够点亮发光二极管。 • 74LS133为13输入的“与非”门,由它和反相器74LS04及三-八译码器74LS138对地址线A15~A0进行译码,决定端口地址。 • A0接74LS138的片选G2B,仅偶地址选中,数据由数据总线的低8位传输。

  22. Y0 输入/输出实例

  23. A15A14A13A12A11A10A9A8A7A6A5A4 A3A2A1A0 方 向 范 围 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 输 出 160H 输入/输出实例 • 端口地址 程序: DISPLAY PROC MOV AL, 7FH MOV DX, 160H DISPLAY1: OUT DX, AL ;显示 CALL D1S ;延时1S ROR AL, 1 JMP DISPLAY1 RET DISPLAY ENDP

More Related