接口技术03接口的工作方式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

所有端口的访问是靠CPU的地址总线进行外译码 所有端口的访问是靠CPU的地址总线进行外译码 CPU的地址总线进行 选中接口芯片本身,并在接口芯片内通过内译码 选中接口芯片本身,并在接口芯片内通过内译码 进行选择控制的。 进行选择控制的。 所有端口和CPU间通过数据总线 CPU间通过数据总线进行数据传输 所有端口和CPU间通过数据总线进行数据传输 并行通讯),并通过控制总线所确定的读或写 ),并通过控制总线所确定的 (并行通讯),并通过控制总线所确定的读或写 总线周期来完成的 来完成的。 总线周期来完成的。 接口与外设间的通讯根据外设本身的特点, 接口与外设间的通讯根据外设本身的特点,可设 数据、状态或控制信号线。每类信号线可0 置数据、状态或控制信号线。每类信号线可0-n 一般串行通讯时较少, 根。一般串行通讯时较少, 并行通讯时较多。 并行通讯时较多。并行接口和串行接口的划分是 以外总线的数据信号线串行或并行划分的。 以外总线的数据信号线串行或并行划分的。
4.DMA
中断方式的缺点
– 数据传送仍经过CPU执行中断处理子程序==浪费 数据传送仍经过CPU执行中断处理子程序 浪费 执行中断处理子程序== – 中断向量的获取和转向需要花费额外的时间 – 进入和退出中断处理子程序需要断点、现场的保护和 进入和退出中断处理子程序需要断点、 恢复,浪费了时间==与传输无关 恢复,浪费了时间==与传输无关 – 进入中断和结束中断时,CACHE预取的指令全部作 进入中断和结束中断时,CACHE预取的指令全部作 废需重取。 废需重取。 – 数据传送仍是字符方式,每次一个字/字节 数据传送仍是字符方式,每次一个字/ – 总体上传输效率仍然低下! 总体上传输效率仍然低下!
>
.
可用TEST语句 可用 语句
3.中断 3.中断
查询方式缺点: 查询方式缺点:
– 接口和CPU间串行工作,导致CPU利用率极低,大量反复的 接口和CPU间串行工作 导致CPU利用率极低 间串行工作, 利用率极低, 查询命令 – CPU查询时不能干别的事 CPU查询时不能干别的事 – 查询多个不同速度的外设时,导致无科学的优先级控制机制。 查询多个不同速度的外设时,导致无科学的优先级控制机制。 系统不具备实时性! 系统不具备实时性!
二、 IO接口与外设的数据传送方式 IO接口与外设的数据传送方式
1.无条件传送方式 1.无条件传送方式
–外部设备始终是准备好的,能随时接收或提 外部设备始终是准备好的, 供数据。 供数据。 –例子:发光二极管、LED显示、开关量等 例子:发光二极管、LED显示 显示、 –接口要求:寻址功能、缓冲功能。 接口要求:寻址功能、缓冲功能。 –第一章已讲过此类例子:244、240等 第一章已讲过此类例子:244、240等
在中断传送时,CPU和外设处在并行工作的状态 在中断传送时,CPU和外设处在并行工作的状态 CPU不必在两个输入 不必在两个输入/ 下。CPU不必在两个输入/输出过程之间对接口 进行状态测试和等待,而可以去作别的处理, 进行状态测试和等待,而可以去作别的处理,因 为每当外部设备准备就绪时,会主动向CPU发中 为每当外部设备准备就绪时,会主动向CPU发中 断请求,由此而进入一个传输过程。 断请求,由此而进入一个传输过程。此过程完成 CPU又可以执行别的任务 又可以执行别的任务, 后,CPU又可以执行别的任务,而不是处在等待 状态,这样就大大提高了CPU的效率 的效率。 状态,这样就大大提高了CPU的效率。 中断方式需要专门的中断控制接口芯片完成中断 请求、中断屏蔽、优先级排队、向量提供、 请求、中断屏蔽、优先级排队、向量提供、中断 子程序地执行、中断结束、中断返回等。 子程序地执行、中断结束、中断返回等。8259A
一个输入/ 接口和 一个输入/输出过程可分为 CPU I/O接口和 I/O接口 外部设备 两个传输阶段 IO接口中的端口按照接口设计的需要可分为 接口中的端口按照接口设计的需要可分为数据 IO接口中的端口按照接口设计的需要可分为数据 状态口、控制口三类 三类, 口、状态口、控制口三类,某个接口可具备其中 任一类端口也可以是0 的1或多类端口 ,任一类端口也可以是0-N个 接口与CPU间是内总线 各类主板上总线) CPU间是内总线( 接口与CPU间是内总线(各类主板上总线),接口 与外设间是外总线 设备总线) 外总线( 与外设间是外总线(设备总线) 接口一般并不是直接挂在CPU CPU上 接口一般并不是直接挂在CPU上,而是挂在主板上 的各类总线上。 的各类总线上。各类总线是靠相应的接口芯片与 cpu或更高级别的总线进行通讯的 或更高级别的总线进行通讯的。 cpu或更高级别的总线进行通讯的。但平时为叙述 方便讲时依然如3 方便讲时依然如3说 如在8086/286系列微型机中, 8086/286系列微型机中 如在8086/286系列微型机中,各类接口芯片都挂 在系统总线上(是由8288总线控制器、8282/3地 8288总线控制器 在系统总线上(是由8288总线控制器、8282/3地 址锁存器、8286数据缓冲器等一起生成的 数据缓冲器等一起生成的)。 址锁存器、8286数据缓冲器等一起生成的)。
的是使用专门信息或作出某些规定。需要额外的时钟和 的是使用专门信息或作出某些规定。 同步控制硬件的支持。 同步控制硬件的支持。
举例:对磁盘信息的读写,计算机外部的同步通信。 举例:对磁盘信息的读写,计算机外部的同步通信。
以后要讲到的DMA方式、8251同步串行通讯等都采用 以后要讲到的DMA方式、8251同步串行通讯等都采用 方式 此方式。 此方式。
–第一章已举例详细讲解
2.查询传送方式 2.查询传送方式
无条件方式的缺点:外设和接口大都不是总 无条件方式的缺点: 准备好的,速度也远低于CPU和接口 和接口。 准备好的,速度也远低于CPU和接口。导致 数据的可靠性 可用性极低。 可靠性、 数据的可靠性、可用性极低。 定义:在数据传送之前, 定义:在数据传送之前,对目标设备的状态进
第三章 接口工作方式
史先俊 计算机硬件基础教研室
要点
接口的两面性 接口与外设的数据传送方式 接口与CPU间的数据传送方式 接口与CPU间的数据传送方式
一、接口的两面性
I/O 接口 AB CPU DB
状态口 数据口
数据 控制 状态 I/O 设备
CB
控制口
CPU与外设通过 与外设通过I/O接口通信示意图 与外设通过 接口通信示意图
中断方式: 中断方式:
– 外部设备中断CPU的工作,使CPU停止执行当前程序,而去 外部设备中断CPU的工作 的工作, CPU停止执行当前程序 停止执行当前程序, 执行一个为外部设备的数据输入输出服务程序, 执行一个为外部设备的数据输入输出服务程序,该服务程序称 为中断处理子程序或中断服务子程序。中断子程序执行完后, 为中断处理子程序或中断服务子程序。中断子程序执行完后, CPU又转回来执行原来的程序 被外界中断时, CPU又转回来执行原来的程序。被外界中断时,程序中下一条 又转回来执行原来的程序。 指令所在处称为断点,从中断服务程序返回时, 指令所在处称为断点,从中断服务程序返回时,从断点处继续 执行被中断的程序。 执行被中断的程序。
2.同步传送方式 2.同步传送方式
接口以某一确定的时钟速率和外设交换数据。是一种速 接口以某一确定的时钟速率和外设交换数据。 度较高的数据传送方式
对外设要求: 对外设要求:它适用于中等以上数据传送速率和按规
则间隔工作的外部设备
对接口要求:确定数据传送的起始与停止, 对接口要求:确定数据传送的起始与停止,通常采用
行查询, 行查询,确知外设已做好了传送数据的准备时再 进行数据传送,否则,CPU等待并持续不断地查 进行数据传送,否则,CPU等待并持续不断地查 一旦外设准备好,则立即进行读或写操作, 询,一旦外设准备好,则立即进行读或写操作, 这种方式称为查询传送方式。 这种方式称为查询传送方式。
对外设要求: 对外设要求:提供状态信息 对接口要求: 对接口要求:状态端口
3.应答方式 3.应答方式
又称握手(Hand shake)方式 又称握手(Hand shake)方式 ,或握手联络 方式等。 方式等。 对外设要求: 对外设要求:握手信号线 对接口要求:握手信号线, 对接口要求:握手信号线,相应的状态及 控制端口,当然还有数据端口。 控制端口,当然还有数据端口。有时还有 与CPU间的中断请求/应答信号。 CPU间的中断请求 应答信号。 间的中断请求/ 举例: 举例:打印机接口就是采用应答方式实现 与打印机的通讯。8255A方式 方式1 与打印机的通讯。8255A方式1和2。
查询方式输出:
74244 端口地址复用: 端口地址复用: 状态口和数据口 供用一个端口地 址00FFH D0 ~ D7 IOR A0 A7 ….. A8 A15 IOW …. > & O
8位缓冲器 位缓冲器
状态
D0
.
> >
O
数据 O0 O7
~
BUSY
D0
~
外 设
D7
74273 CP
8位D锁存器 位 锁存器 CP负脉冲输出 负脉冲输出 上升沿锁存 MOV DX,00FFH , A1: IN AL ,DX : AND AL ,01H JZ A1 MOV AL ,data OUT DX ,AL
二、 CPU与IO接口间数据传送方式 CPU与IO接口间数据传送方式
1.无条件传送方式 1.无条件传送方式
–简单IO方式。对应接口与外设间的无条件传送方式 简单IO方式。 IO方式
–对外设要求:随时都能读、写数据 对外设要求:随时都能读、 –对接口要求: 对接口要求:
输入接口:三态缓冲器 输入接口: 输出接口: 输出接口:输出锁存器
中断方式数据传送通路 输入指令
注意:硬盘的DMA与 注意:硬盘的DMA与 DMA PIO方式选择 PIO方式选择 1.CPU停机 1.CPU停机 2.周期窃 2.周期窃 挪用) 取(挪用) =wintel慢 =wintel慢 3.交替 3.交替
启动 测试I/O设备状态 设备状态 测试 N 准备就绪? 准备就绪? Y 执行数据传送 I/O设备暂停 设备暂停 结束
例如: 例如:ຫໍສະໝຸດ Baidu入程序
TEST:IN AL ,2: 将二号端口内容 送于AL . 送于 AND AL,0010H; 为析取第 四位而屏蔽其余各位. 四位而屏蔽其余各位 JZ TEST; 若忙 则转向 若忙,则转向 TEST,循环测试 循环测试. 循环测试 IN AL, 1; 1号端口数据输 号端口数据输 入至累加器A; 入至累加器
并行接口
CPU
I/O 接 口
“Ready” “Strobe”
I/O 设 备
输入过程
握手信号线:ready和 握手信号线:ready和strobe 1. Ready有效时,外设将数据通过数据线送到I/O接口,同 Ready有效时,外设将数据通过数据线送到I/O接口,同 时通过握手线Strobe送“数据选通”信号(脉冲信号, 时通过握手线Strobe送“数据选通”信号(脉冲信号, 有个跳变、上升沿/ 有个跳变、上升沿/下降沿,不需要维持多长时间),接 口给出Ready无效信号。 口给出Ready无效信号。 2. CPU检查接口是否 “数据准备好”。(中断或查询等) CPU检查接口是否 “数据准备好”。(中断或查询等) 3. 若 “数据准备好” ,则CPU 读数据。IOR_信号有效 ,则CPU 读数据。IOR_信号有效 4. 接口把“Ready”有效送往外设。告诉外设上一个数据已 接口把“Ready”有效送往外设。告诉外设上一个数据已 取走,可再送下一个数据。(IOR_使Ready有效) 取走,可再送下一个数据。(IOR_使Ready有效)
输出过程: 输出过程:打印机接口
握手联络信号线STROBE_/状态 握手联络信号线STROBE_/状态 BUSY(ACK_也可 也可) 线BUSY(ACK_也可)
STROBE BUSY ACK
异步串行采用起始位、 异步串行采用起始位、停止位方式
串 行 接 口
同步串行通讯采用同步字符
SYN SYN SOH 标题 STX 数据块 ETB/ETX 块校验
相关文档
最新文档