第六章 输入输出及DMA控制器
第6章 基本输入输出及DMA.ppt
在级联方式下,当第二级8237的请求得到 响应时,第一级8237仅应输出HRQ 信号 而不能输出地址及控制信号,第二级的 8237才是真正的主控制器,而第一级的 8237 仅应起到传递DREQ请求信号及DACK 应答信号的作用
(1)I/O接口到存储器的传送。
当进行由I/O接口到存储器的数据传送时, 来自I/O接口的数据利用DMAC送出的IOR控 制信号,将数据输送到系统数据总线 D0~D7上,同时,DMAC送出存储器单元地 址及MEMW控制信号,将存在于D0~D7上的 数据写入所选中的存储单元中。这样就完 成了由I/O接口到存储器一个字节的传送。 同时DMAC修改内部地址及字节数寄存器的 内容
8237 的各个通道在进行DMA 传送时, 有四种工作方式
(1)单字节传送方式
每次DMA 操作仅传送一个字节的数据, 完成一个字节的数据传送后,8237 将当 前地址寄存器的内容加1(或减1),并 将当前字节数寄存器的内容减1,每传送 完这一个字节,DMAC 就将总线控制权交 回CPU
(2)数据块传送
• CPU 正在访存
• CPU 与 DMA 同时请求访存
此时 CPU 将总线控制权让给 DMA
主存工作时间
t
CPU控制 并使用主存
DMA控制 并使用主存
(2)周期扩展
特殊的时钟发生器/驱动器电路 CPU时钟周期加宽,不操作 限制:DAM传送时一次只传送一个字节
(3) CPU停机方式
控制简单
CPU 处于不工作状态或保持状态 未充分发挥 CPU 对主存的利用率
4.外部引脚
IO R 1
40
IO W
MEMR
MEMW
NC
5
RE ADY
35
第6章 输入输出及DMA控制器.
6-7
微 机 原 理 及 应 用
∨∨
6.2 输入/输出的寻址方式
6.2.1 I/O端口的编址
两种编址方式
∧∧
1、I/O端口和存储器统一编址 ●这种编址方式是外设端口地址和存储器单元地址,共用存 储器的访问空间,即一个外设端口占用一个存储单元地址。 ●不用专用的I/O指令,访问I/O端口使用的是存储器读/写操 作指令。
接口的功能: 对数据传送控制,具体包括: 信号暂存、数据格式转换、传送路径的切换控 制和状态信号的交换、通信控制、定时控制、 中断管理及错误检测等。
6-3
微 机 原 理 及 应 用
∨∨
6.1.2
接口电路中的信息
∧∧
●数据信息:三种基本类型: 数 字 量 模 拟 量 开 关 量
●状态信息:反映外设当前工作状态的信息。
① 优点:其一是I/O端口不占用内存空间;
其二是访问I/O端口指令仅需两个字节,执行速度快; 其三是读程序时只要是I/O指令,即知是CPU访问I/O端口。 ② 缺点:其一是要求CPU有独立的I/O指令; 其二是CPU访问I/O端口的寻址方式少。
6-9
微 机 原 理 及 应 用
∨∨
∧∧
8086/8088CPU采用I/O端口 独立编址,可寻址64KB 端口或32KW端口。 ※最小方式下,用M/IO信号来区别 地址总线上的地址是访问存储器还 是I/O端口。当为1时,访问存储器; 为0时,访问I/O端口。 ※最大方式下,使用8288的MWTC 或MRDC信号访问存储器,使用 IOWC或IORC访问I/O端口。
6-12
6.3 CPU与外设交换数据的方式
微 机 原 理 及 应 用
∨∨ ∧∧
6.3.1
第 6 章 输入输出系统
4. 对I/O系统的基本要求
• ⑴ I/O系统应面向操作系统,对用户透明。 • 例如:如何确定I/O系统的软、硬件功能分 配及操作系统的界面;如何连接外设;如何 建立外设与主存/CPU之间的数据通路;如 何支持I/O操作与其他操作的并行执行。 • ⑵ 尽量减少系统瓶颈,保证系统的信息流 量平衡。 • 信息流量:单位时间内所能传送的信息量。
2014-4-22 30
目标
(2)信息逐渐稳定。 (4)接收信息。 (5)发出信息,表示 已经接收应答信号。
(8)复位应答信号。
6.2.3 总线的定时与同步方式(略)
• 总线上信号的有效期间由总线的定时信号确定, 总线的定时信号有同步、半同步和异步三种方式。 • ⑴ 同步方式 • 总线的各信号必须在某个时刻发出。 • 在同步方式下,总线上的所有设备的数据传输在 一个共同的时钟信号控制下进行。总线的操作的 所有信号与时钟的关系是固定的,主模块和从模 块之间没有应答信号。 • 同步方式适用于系统中各模块各种总线操作的速 度固定而且一致的场合,如CPU和存储器之间的局 部总线。
第 6 章
输入/输出系统结构
2014-4-22
1
本章学习内容
• I/O系统的特点及信息控制方式 • 总线及其控制方式 • I/O通道及其控制方式 • I/O处理机
2014-4-22
2
6.1 I/O系统概述 • 1. I/O系统的主要作用 • ⑴ 选择I/O设备 • ⑵ 控制I/O设备与CPU和主存之间的数 据传送以及对外设进行操作。
2014-4-22
27
常用的总线释放方式
• ① 用完后立即释放:每次总线操作完成时释放, 下次使用时需重新申请。 • ② 有新请求时释放:有其它模块请求时才释放。 如单机系统中的CPU。 • ③ 强占时释放:当有优先权高的模块请求时释放。 用于强制中断总线上的数据块传输操作。
第06章中断与DMA传输
(3) 内部中断
① 除法溢出中断(n=0):
除数为零或商超过寄存器所能表达的范围。
② 单步中断(n=1) :
TF=1,每执行完一条指令产生一次中断。 用于实现单步操作,是强有力的调试手段。
③ 断点中断 (n=3) :
INT 3指令产生一个中断类型码为3的断点中断。
④ INTO指令 (n=4) :
OF=1,则INTO指令引起类型码为4的内部中断; OF=0,此指令不起作用,程序顺序执行。
• 中断服务程序不同于一般的子程序:
子程序由某个程序调用,它的调用是由程序设定的, 它的执行时间是确定的。 中断服务程序由某个事件引发,它的执行一般是随 机的,不确定的。
(6)中断向量
中断服务程序的入口地址
(7) 中断系统
为实现计算机的中断功能而配置的相关硬件、软件的 集合称为中断系统。
6.1.2
高等学校计算机基础教育教材精选
杨文显
主编
现代微型计算机原理 与接口技术教程
(第二版)
第6章 中断与DMA传输
6.1 中断原理 6.2 可编程中断控制器8259A
6.3 中断方式输入输出
6.4 DMA控制器8237A
6.1 中断原理
6.1.1 中断的基本概念
(1) 中断
由于某个事件的发生,CPU暂停当前正在执 行的程序,转而执行处理该事件的一个程序。 该程序执行完成后,CPU接着执行被暂停的 程序。 这个过程称为中断。
中断工作方式的特点
(1) 并行处理能力
实现CPU和多个外设同时工作,提高CPU效率。
(2) 实时处理能力
计算机应用于实时控制时,对外部事件及时响应。
(3) 故障处理能力
及时处理故障,不影响其他程序的运行。
计算机原理 第六章输入输出系统
1
2
3
为保证总线所传输的信息的有效性,总线 信息应具有单一性:在同一时刻至多只能有一 个部件向总线发送信息,但可以有多个部件同 时接收总线信息。
1. 总线电路: 输出挂在总线上的部件需通过“总线电路” 向总线发送信息。
总线电路由三态输出器件(TSL器件)承担。 input TSL control output
1. ISA总线:用于IBM PC/XT 微机系统,(8086),一共62根信号线, 其中20根地址线,8根数据线,4个读写信号,6个中断请求线,3 路DMA请求,还包括时钟、电源线和地等,总线带宽 8.33 MB/s。
2.EISA总线 (80386), 数据线扩展到了32位,带宽达到了33.3MB/s。 3. PCI总线:(Peripheral component interconnection)(外围部 件互连) 总线频率为33 MHZ→66MHZ→133MHZ, 可以直接连接高速外部 设备。 同步时序总线,对地址信号和数据信号分时复用, 64根线,采用集中式的总线仲裁方式。 4.AGP总线(加速图形接口总线) AGP总线把主存和显存连接起来,不再走PCI总线。 5.USB总线(通用串行总线)主要用于连接低速输入输出设备。 带宽为1.5MB/s。
3. 控制总线CB(Control Bus) 控制总线用来传送各类控制/状态信号。
包括I/O读写命令,MEMR/W存储器读写命令,应答信号,总线请求与 总线使用信号,复位信号,时钟信号等。
4. 电源线
许多总线标准中都包含了电源线的定义,主要有+5V逻辑电源;GND逻 辑电源地;-5V辅助电源;±12V辅助电源。
2.计数器查询方式
在计数器查询方式中,总线上的任一设备申请使用总线时,通过 BR线发出总线请求。
DMA控制器定计数器
第一讲:第六章DMA控制器和定时/计数器回顾:微型计算机与外部设备之间的数据传送控制方式本讲重点:DMA的基本概念,DMA 控制器芯片8237的性能概述,内、外部结构,工作周期,工作方式,通道的优先级及数据传输速率。
讲授内容:6. 1 DMA控制器Intel8237一、DMA概述我们已经介绍了微机系统中各种常用的数据输入输出方法,有程控法(包括无条件及条件传送方式)和中断法,这些方法适用于CPU与慢速及中速外设之间的数据交换。
但当高速外设要与系统内存或者要在系统内存的不同区域之间,进行大量数据的快速传送时,就在一定程度上限制了数据传送的速率。
以Intel8088CPU为例,CPU从内存(或外设)读数据到累加器,然后再写到外设端口(或内存)中,若包括修改内存地址,判断数据块是否传送完,Intel8088CPU(时钟接近5MHz)传送一个字节约需要几十微秒的时间,由此可大致估计出用程控及中断的方式来进行数据传送,其数据传送速率大约为每秒几十KB字节。
为了提高数据传送的速率,人们提出了直接存储器存取(DMA)的数据传送控制方式,即在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送。
典型的DMAC的工作电路如图6-1。
DMA数据传送的工作过程大致如下:①外设向DMAC发出DMA传送请求。
②DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求。
③CPU在完成当前总线操作后会立即对DMA请求做出响应。
CPU的响应包括两个方面:一方面,CPU将控制总线、数据总线和地址总线浮空,即放弃对这些总线的控制权;另一方面,CPU将有效的HLDA信号加到图6-1 DMAC的工作电路DMAC上,用此来通知DMAC,CPU已经放弃了总线的控制权。
④待CPU将总线浮空,即放弃了总线控制权后,由DMAC接管系统总线的控制权,并向外设送出DMA的应答信号。
⑤由DMAC送出地址信号和控制信号,实现外设与内存或内存不同区域之间大量数据的快速传送。
数字量输入输出-DMA控制系统
位长 16位 16位 16位 16位 16位 16位 8位 8位 8位 6位 4位
数量 4 4 4 4 1 1 1 1 1 4 1
请求寄存器
4位
1
8237寄存器的寻址
A3 A2 A1 A0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 通道号 0 1 2 3 读操作(IOR) 读当前地址寄存器 读当前字节数寄存器 读当前地址寄存器 读当前字节数寄存器 读当前地址寄存器 读当前字节数寄存器 读当前地址寄存器 读当前字节数寄存器 读状态寄存器 -- -- -- -- 读暂存寄存器 -- -- 写操作(IOW) 写基(当前)地址寄存器 写基(当前)字节计数寄存器 写基(当前)地址寄存器 写基(当前)字节计数寄存器 写基(当前)地址寄存器 写基(当前)字节计数寄存器 写基(当前)地址寄存器 写基(当前)字节计数寄存器 写命令寄存器 写请求寄存器 写屏蔽寄存器某一位 写模式寄存器 清除高低位触发器命令 主清除命令 清除屏蔽寄存器 写屏蔽寄存器所有位
8237的存储器到存储器的传送方式(2)
每传送一个字节要用8个S状态,前4个状态为DMA读,后4个 状态为DMA写。 通道0以当前地址寄存器内容为源地址到源存储器读出数据 送入8237内部的暂存寄存器,然后以通道1将自己的当前地 址寄存器内容放到地址总线上,发出/MEMW有效信号,把数 据从暂存寄存器中写入目的区。 每传送一个字节,源地址和目的地址都要修改(增1或减1), 字节数减1。直至通道1的字节计数结束,产生EOP有效信号, 才停止DMA传送。也允许外部输入EOP有效信号来中止传输。
第6章 输入输出及DMA控制器
6.3.2 中断控制方式
主程序
中断请求
CPU在启动外设开始某一操作之后,继续执行它本身的
程序。当外设数据准备就绪,向CPU提出请求,CPU在接到请
求后暂时中断执行原来的程序,转去执行外设所要求的程序 (如输入或输出一个数据),待服务结束后又返回原程序继续
执行。
主程序
中断服务程序 中断请求 断点 继续执行 对外设 进行处理 返回断点
第6章 输入输出及DMA控制器
主要内容:
1.接口的功能、一般结构; 2.I/O端口编址方式、端口地址形成; 3.I/O 数据传送方式:程序控制传送方式:无条件传送方 式、查询传送方式; 中断传送方式;DMA方式。 要点: 1.学习CPU寻址外设的方式、外设端口种类、编址方式、 CPU与外设间传送信息的种类 2.正确理解程序控制传送方式、中断传送方式、DMA方式 的特点 3.掌握8086CPU I/O特点
因此,一个I/O接口包含了若干端口,CPU通过不同的端口 与外设间传送不同类型的信息,每个端口有自己的地址。
6.1.3 接口的类型 按不同的分类有不同类型的接口。 专用接口—— 为某种用途或为某类外设而专 按通用性分 门设计的接口电路。 通用接口—— 可供几类外设使用的标准接口, 大多为可编程的大规模集成电路。 并行接口—— 多位数据同时在多条数据线 按数据传送分 上传送。 串行接口—— 一条传送线按顺序传送所有的 二进制信息。
8086/8088的输入输出指令
I/O指令中,隐含为I/O端口与累加器AL/AX间进行传送, 寻址方式采用直接寻址和间接寻址。
1、输入指令
直接寻址
IN IN AL , PORT ;(AL) ← (PORT) AX , PORT ;(AL) ← (PORT) ;(AH) ← (PORT+1)
概述CPU与外设数据传送的方式DMA控制器
3.基地址和基字节数寄存器 每一个通道有一对16位的基地址和基字节数寄存 器,它们存放着与现行寄存器相联系的初始值。 4.命令寄存器 这是一个8位寄存器,用以控制8237的工作。命令 字的格式如图8-24所示。
5.模式寄存器 每一个通道有一个6位的模式寄存器以规定通道的 工作模式,如图8-26所示。 在编程时用最低两位来选择写入哪个通道的模式 寄存器。
状态信息和控制信息与数据是不同性质的信息, 必 须 要 分 别 传 送 。 但 在 大 部 分 微 型 机 中 ( 8086 也 如 此),只有通用的IN和OUT指令,因此,外设的状态 也必须作为一种数据输入;而CPU的控制命令也必须 作为一种数据输出。所以,一个外设往往要几个端口 地址,CPU寻址的是端口,而不是笼统的外设。
寄存器;在输出时,若外设已把上一个数据输出,输 出寄存器已空,由外设向CPU 发出中断请求,CPU就 暂停原执行的程序( 即实现中断),转去执行输入或
输出操作(中断服务),待输入输出操作完成后即返 回,CPU再继续执行原来的程序。这样就可以大大提 高CPU的效率,而且允许CPU与外设(甚至多个外设) 同时工作。
2.块传送方式 在这种传送方式下,8237由DREQ启动后就连续 地传送数据,直至字节数计数器减到零产生TC
(Terminal Count),或者由外部输入有效的 EOP
信号来终结DMA传送。
3.请求传送方式 在这种工作方式下,8237可以进行连续的数据传 送。当出现以下三种情况之一时停止传送。 (1)字节数计数器减到0,发生TC;
这种查询输入方式的程序流程图,如图8-11所示。
2.查询式输出 同样的,在输出时CPU也必须了解外设的状态, 看外设是否有空(即外设不是正处在输出状态,或外 设的数据寄存器是空的,可以接收CPU输出的信息), 若有空,则CPU执行输出指令,否则就等待。 查询式输出的程序流程图如图8-14所示。
第六章_基本输入输出接口技术
20
6.3 CPU与外设之间的数据传送方式
[例] 设状态端口地址为086H,数据端口地址为084H,外 设忙碌D7=1,请用查询方式写出CPU从存储器缓冲区 Buffer送出1KB的数据给外设的程序段。 LEA SI , Buffer ;取Buffer的有效地址送SI MOV CX , 1000 ;循环次数 W1: MOV DX, 086H ;状态端口地址送DX W2: IN AL , DX ;从状态端口读入状态信息 AND AL,80H ; BUSY=0? JNZ W2 ; BUSY=1,返回继续查询 MOV AL,[SI] ; BUSY=0,取数据 MOV DX, 084H ;数据端口地址送DX OUT DX,AL ;数据输出到数据端口 INC SI ;SI指向下一个字节数据 LOOP W1 ;CX-1送CX≠0,循环 HLT ;CX=0,传送结束
FFFFF
内存 空间 I/O 空间
10
§6-2 I/O端口的编址与访问
二、 I/O端口地址的译码方法:
I/O端口地址译码的一般原则是:把CPU用于I/O端口寻址 的地址线分为高位地址线和低位地址线两部分:
将低位地址线直接连到I/O接口芯片的相应地址引脚, 实现片内寻址,即选中片内的端口。 将高位地址线与CPU的控制信号组合,经地址译码电 路产生I/O接口芯片的片选信号。 常见的译码器: 2/4线译码器74LS139 3/8线译码器74LS138
返回断点
6.3 CPU与外设之间的数据传送方式
关于中断的几点说明:
采用中断的数据传送方式时,外设处于主动申请地 位,CPU配合进行数据传送;CPU不必反复去查询 外设的状态,而是可以与外设“并行工作”,因此 提高了CPU的工作效率,并且更具有实时性。
第六章“输入输出及接口”习题答案
第六章输入输出及接口〔习题6.2〕I/O端口与存储器地址常有__⎽⎽⎽⎽___⎽和__⎽⎽⎽⎽___⎽两种编排方式,8088/8086处理器支持后者,设计有专门的I/O指令。
其中指令IN是将数据从__⎽⎽⎽⎽___⎽传输到__⎽⎽⎽⎽___⎽,执行该指令时8088/8086处理器引脚产生__⎽⎽⎽⎽___⎽总线周期。
指令“OUT DX, AL”的目的操作数是__⎽⎽⎽⎽___⎽寻址方式,源操作数是__⎽⎽⎽⎽___⎽寻址方式。
〔解答〕(I/O端口与存储器地址)统一编址(I/O端口与存储器地址)独立编址外设处理器I/O读(I/O端口的DX)寄存器间接寄存器〔习题6.4〕基于教程P142图6-7接口电路,编程使发光二极管循环发光。
具体要求是:单独按下开关K0,发光二极管以L0、L1、L2、……L7顺序依次点亮,每个维持200ms,并不断重复,直到有其他按键操作;单独按下开关K1,发光二极管以L7、L6、L5、……L0顺序依次点亮,每个也维持200ms,并不断重复,直到有其他按键操作;其他开关组合均不发光,单独按下开关K7,则退出控制程序。
延时200ms可以直接调用子程序DELAY实现。
〔解答〕again: mov dx,6000hmov al,0ffhout dx,al ;全不亮again1: in al,dxcmp al,7fh ;D7~D0=0111111B ?jz done ;单独按下K7,退出cmp al,0feh ;D7~D0=11111110B ?jz next1 ;单独按下K0,转移到next1cmp al,0fdh ;D7~D0=11111101B ?jz next2 ;单独按下K1,转移到next2jmp again ;其它情况不点亮next1: mov cx,8mov al,1 ;从K0开始next11: out dx,al ;某个LED电亮call delay ;延时200msshl al,1 ;rol al,1loop next11jmp again1next2: mov cx,8mov al,80h ;从K7开始next21: out dx,al ;某个LED电亮call delay ;延时200msshr al,1 ;ror al,1loop next21jmp again1done: mov al,0ffhout dx,al ;全不亮〔习题6.5〕有一个查询输入接口电路类似图6-9,但其数据端口为8F40H、状态端口为8F42H。
第6章 输入输出及终端系统
51
状态端口地址:0000 0011 1111 1011 数据端口地址:0000 0011 1111 1000
外设应提供设备状态信息 接口应具备状态端口
48
查询工作方式流程图
开始
读入并测试外设状态
N
READY?
Y
进行一次 数据交换
N
每满足一次 条件只能进 行一次数据 传送
传送完?
Y
结束
防止死循环 超时?
N Y
读入并测试外设状态
N
超时错
READY?
Y
复位计时器
N
与外设进 行数据交换 传送完?
Y
结束
查询工作方式例
N 进行一次传送
修改地址指针
N
传送完否?
Y
结 束
查询工作方式
优点:
软硬件比较简单 CPU效率低,数据 传送的实时性差, 速度较慢
1号外设 准备就绪? N 2号外设 准备就绪? N 3号外设 准备就绪? N
Y
对1号外设服务
缺点:
Y
对2号外设服务
Y
对3号外设服务
┇
n号外设 准备就绪? N
Y
对n号外设服务
按传输信息的类型分类:
模拟接口
并行接口 串行接口
33
按传输信息的方式分类:
接口特点
输入接口:
微机原理第六章 输入输出和中断技术 part 2 (2)
中断处理的一般过程
6.4.3 8088/8086中断系统
8086/8088为每个中断源分配 一个中断类型码(中断向量码),其取值范围为 0~255,实际可处理56种中断。其中包括软件中断,系统占用的中断,已经开放 给用户使用的中断。所有中断又可分为两大类:内部中断和外部中断。
内部中断
6.4.2 中断处理的一般过程
1. 中断请求 2. 中断源识别及中断判优 3. 中断响应 4. 中断处理(服务) 5. 中断返回
1. 中断请求 ➢ INTR中断请求信号应保持到中断被处理为止 ➢ CPU响应中断后,中断请求信号应及时撤销
2. 中断源识别 ➢ 软件判优:由软件来安排中断源的优先级别。顺序查询中断请求,先查询的
➢ (4)能向存储器或外设发出读/写命令。 ➢ (5)能决定传送的字节数,并判断DMA传送是否结束。 ➢ (6)在DMA过程结束后,能向CPU发出DMA结束信号,将总线控制权交
还给CPU。
2. DMA控制器的工作过程 ➢ (1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出
“DMA传送请求”信号DRQ ➢ (2)DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD ➢ (3)CPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进
➢ (2)单步中断——1型中断,标志寄存器中有一位陷阱标志TF。 ➢ (3)断点中断——3型中断,专用于设置断点的指令INT 3,用于程序中设
置断点来调试程序。
➢ (4)溢出中断——4型中断,在算数指令的执行过程发出溢出 ➢ (5)用户自定义的软件中断——n型中断,执行中断指令INT n引起内部中
断。
需要时,CPU回到原来被中断的地方继续执行自己的程序。 优点: ➢ CPU效率高,实时性好 缺点 ➢ 程序编制相对较为复杂
微机原理第6章_3学分
第六章输入/输出方式与接口芯片第一节输入/输出方式第二节中断第三节可编程定时/计数器8254及其应用第四节可编程并行I/O接口芯片8255A及其应用第五节可编程中断控制器8259及其应用第一节输入/输出方式●教学目标介绍I/O 接口的基本概念介绍I/O端口的编址方式介绍CPU与外设间的数据传送关系●学习要求掌握I/O接口的基本功能,了解接口的一般结构熟悉I/O端口的编址方式,了解IN/OUT指令的执行过程掌握微机与外设的各种传送方式,了解DMA传送过程一、I/O接口1)I/O接口的基本概念I/O接口是连接CPU与外设的逻辑控制部件,它主要在CPU与外设间起着传输状态与命令信息,实现数据的缓冲、数据格式转换等作用。
它的主要功能有:选择外设对外设进行控制和监视进行数据寄存和缓冲进行数据格式转换进行信号电平转换I/O接口的分类并行I/O接口和串行I/O接口可编程接口和不可编程接口专用接口和通用接口2)I/O接口的基本结构主要包含有数据端口、状态端口和控制端口数据端口用于存放数据信息,包括数据输入寄存器和数据输出寄存器,主要作用是协调CPU和外设之间的数据传输速度。
控制端口用于存放控制信息,控制信息是CPU通过接口传送给外设的,其主要作用是控制外设工作,如控制输入输出装置的启/停等。
状态端口用于存放状态信息,即反映外设当前工作的状态信息,CPU可通过读取这些信息,了解外设当前的工作情况。
3)I/O端口的寻址方式在一个微机系统中既有存储单元地址又有I/O端口地址,根据两者地址的不同安排可分为以下两种寻址方式。
存储器统一编址在这种方式中,把I/O端口作为存储器的一个单元来对待,即每个端口占用一个存储单元地址。
此时,对I/O端口操作可以使用全部的存储器指令,而不必另设专门的I/O指令。
由于该方式是将I/O地址映射到了存储器地址空间,所以也称为存储器映像方式。
I/O端口独立编址在这种方式下,I/O端口与存储器各自独立编址,这样存储器地址和I/O端口地址可以重叠。
第06章-IO系统设计ppt课件(全)
A1 A2 …
B1 B2 …
通道 A1 A2 … B1 B2 … C1 C2 …
C1 C2 …
图6.16 选择通道传送方式示意图
(3)数组多路通道
◦ 综合前两种通道的优点,可连接多台高速设备,允许几 台设备并行工作,以成组交叉方式传送。每个外设都有 数据缓冲区。
硬件中断(硬中断):是一个异步信号,表明需要注意、 或需要改变执行一个同步事件。
软件中断(软中断):是利用硬件中断的概念,用软件方 式进行模拟,实现宏观上的异步执行效果。
外部中断:一般是指由计算机外设发出的中断请求,如: 键盘中断、打印机中断、定时器中断等。外部中断是可以 屏蔽的中断。
内部中断:是指因硬件出错(如突然掉电、奇偶校验错等) 或运算出错(除数为零、运算溢出、单步中断等)所引起 的中断。内部中断是不可屏蔽的中断。
主存
…
12H JMP 200 向量地址 13H JMP 300
14H JMP 400
入口地址 200 打印机服务程序
入口地址 300 显示器服务程序
… ……
图6.10 通过向量地址寻找入口地址
图6.12 链式排队线路和设备编码器
直接存储器访问方式(Direct Memory Access,DMA), 是一种直接依靠硬件在主存与I/O设备间进行数据传送,且 在 数 据 传 送 过 程 中 不 需 CPU 干 预 的 I/O 数 据 传 送 控 制 方 式 。 CPU与接口的数据传送的具体过程由硬件(DMA Controller, DMAC,DMA控制器)完成,传送速度比通过CPU快。 (1)CPU暂停方式 (2)周期挪用方式(周期窃取方式) (3)交替访问内存方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图6-15 具有I/O处理器的计算机系统
32字节
32字节 32字节 32字节
8253A—5 定时/计数器
8255A—5 并行接口芯片 DMA 页面寄存器 屏蔽寄存器
0080~0083
009F 00A0
00BF 0080
00A0~00BF NMI
01FF
320字节
0200
0200~020F 0210~0217 0218~02F7
游戏控制口 扩展部件 未用 异步通信卡(第二个) 实验卡 硬盘适配器 未用 并行打印机 SPLC通信 未用 单色显示器 / 打印机 未用 彩色/ 图形显示卡 未用 软盘适配器 异步通信卡(第一个)
2).
端口与存储器分别独立编址
端口操作指令及对端口的两种寻址方式:
port 为端口地址(直接寻址), 大小为0~255 或0~FFH
例:
port为端口地址(直接寻址), 大小为0~255 或0~FFH
6.2.2 1、译码电路的作用
将CPU执行IN/OUT指令发出的地址信号,“翻译” 成欲操作端口的选通信号,解决存储器、I/O设 备与CPU连接时地址总线失配问题。此信号常 作为接口内三态门或锁存器的控制信号,接通 或断开接口数据线与系统的连接。
在传送前,查询一下外设的状态,当外设准备好了以后才传送, 控制线 否则,等待。 (1) 查询式输入
I/O
数据口
Poll: In al, S_port Test al, 80h Jz poll In al, D _port 数据端口 D7 D6
8位
状态口
D0
状态端口 D7
控制线
1位
(1) 查询式输出
数据口
控制al, S_port Test al, 80h Jnz poll mov al, store Out D_port, al
状态口
查询法程序结构
优点:接口电路简单,硬件成本低。 缺点:
①为了测试和等待外部设备做好传送数据的准备, 常常要花费大量的时间,在这段时间内,程序不能 完成其它任务,所以系统的时间利用率大大降低。
例 一个输入设备的简单接口电路
例 一个输出设备的简单接口电路
②查询法输入输出方法
对有些设备,CPU能否与其之间传送数据,与设备 的状态有关。如A/D转换器与CPU之间的数据传送, CPU要读取A/D转换后的数字量信号,必须查询A/D
转换器是否转换结束,只有转换结束后,才能读
取转换结果。又如CPU向打印机输出数据前,必须 查询打印机是否处于接收准备好状态。这样一些 设备与CPU之间数据传送时,常采用查询法。其接 口方法如下图所示。
6.3.4 I/O处理器控制方式 如前所述,中断方式输入输出仍然是一种 程序控制方式,DMA传送方式只能实现比较 单纯的数据传送,在大型计算机系统与高 档微机中,外设数量多,传输速度快,I/O 操作频繁,为了进一步减轻CPU的负担,提 高整体性能,采用了I/O处理器(IOP)控 制方式来实现外设数据的I/O传送,IOP处 理技术也称之为通道技术,IOP也被称之为 “通道” 具有I/O处理器的计算机系统如图6-15 所示
方法,这三种方法很好地解决了CPU与各类外设之
间进行数据传送时的同步问题和速度问题。为了进 一步提高数据传送效率减轻CPU的负担又提出了第 四种方法(IOP方式)。 1.程序控制方式 程序控制方式就是完全通过执行程序来控制实现CPU
与外部设备之间的数据交换。这种方法又分以下两种:
①无条件传送控制方式
接口牵涉两个方面的内容:
1.物理上的连接;
2.程序设计;
CPU
接口 电路
I/O 设备
为什么要用接口电路
1. 外部设备的多样性。 2.低速的外围设备和高速的CPU之间的矛盾。
3.总线属于共享资源。
它们不能与CPU直接相连,必须经过中间电路再与系 统连接,这部分电路被称为I/O接口电路。
I/O接口的基本功能:
6.3.3 存储器直接存取方式
●存储器直接存取DMA(Direct Memory Access) 方式的基本思想是在外部设备和存储器之间开辟 直接的数据传送通路,数据传送不是靠执行I/O 指令,数据不经过CPU内的任何寄存器,也就不 破坏任何寄存器原来的内容,而是在存储器和外 部设备之间的通路上直接传送数据。这种I/O方 式的实现主要是靠硬件(DMA控制器)实现的。
DMA传送的基本原理:
存储器直接存取方式的特点:
优点:由于在数据传送时没有程序和指令介入,CPU只是暂停 一个或几个总线周期的时间,CPU内各寄存器的内容没有任何 改变,所以CPU的时间利用率比前两种I/O方式大大提高。这 种I/O方式最适合于高速外部设备与存储器之间交换成批数据 的情况。例如,磁盘与存储器之间的数据传送一般利用这种方 式。 缺点:说没有程序和指令介入仅仅是数据传送期间,并不意味 着DMA输入输出的全过程都没有程序介入。恰恰相反,数据传 送前的准备工作,例如传送涉及的存储区的开始地址,要传送 的字节数等参数,都是用程序预置于DMA控制器中的。 这就是说,DMA的I/O的实现更加复杂,不仅要有DMA传送数据的 控制机构,还要有程序直接控制的输入输出方式或中断控制输 入输入方式的硬件和软件支持DMA的实现。
02F8~02FF 0300~031F 0320~032F
0330~0377 0378~037F
0380~038F 0390~03AF 03B0~03BF
03C0~03CF 03D0~03DF 03E0~03EF 03FF 03F0~03F7 03F8~03FF
6.3、CPU与外设数据传送的方式 在微型计算机系统中,一般有三种基本的输入输出
XIOW
Y1
Y2 Y3
XA8 XA9 XAEN
G2B G2A G1
Y4
Y5
2.SWITCH 可选取地址译码
6.2.3 IBM PC/XT的端口地址按排
0000 001F 0020 003F 0040 005F 0060 007F 0080 32字节 32字节 0000~000F 8237A—5 DMA控制器 0020~0021 0040~0043 0060~0063 8259A 中断控制器
②条件传送控制方式
无条件传送方式又称同步方式,即CPU的动作必须与外设 同步,否则,传送数据出错。 ������ 当CPU任何时刻用IN指令从数据输入端口读取输入设备 数据时,输入设备总有一组有效数据让CPU读走(即输入设 备常处于数据准备好状态,如开关设备)。这样的设备与 CPU传送数据通常采用无条件输入方法。输入设备与系统总 线之间的接口电路中只包含一个数据输入端口。 ������ 当CPU任何时刻用OUT指令通过数据输出端口向输出设备输 出数据时,输出设备总处于接收数据准备好状态(如LED设 备)。这样的设备与CPU传送数据通常采用无条件输出方法。 输出设备与系统总线之间的接口电路中只包含一个数据输出 端口。
不同的接口电路,功能侧重点的不同,但最终的目的 是为了保证数据的可靠传送。
接口电路中的信息:
1、数据信息 数字量 模拟量 开关量 2、控制信息 3、状态信息 这三类信息是不同性质的信息,但在CPU与外设 交换信息时,只能通过数据总线来传送,为了分 辨出这些信息,这三类信息保存在各自的寄存器 中,每个寄存器称为一个端口。
解:CPU预先向A/D转换器发启动信号,A/D转换器转换结束后 会自动给出就绪信号,这时CPU读取数据。
A/D转换程序如下: START: MOV AL , 10H OUT 04H , AL LOOP1: IN AL , 02H TEST AL , 80H JZ LOOP1 IN AL , 03H MOV STORE , AL HLT
1. 信号电平的转换;
2. 信号类型的转换;
3. 数据传送方式的转换;
4. 数据寄存和缓冲;
5. 寻址功能; 6. 对外设的控制与检测; 7. 中断控制; (注:并不是所有的接口都具备上述所有的功能)
接口的分类: 由于接口的复杂性,接口芯片的种类也很多:
按通用程度:通用接口和专用接口; 按数据传送方式分:串行接口,并行接口; 按信号的类型分:模拟接口,数字接口;
1. 直接地址译码
IBM PC/XT I/O 端口地址译码方法
74LS138
XA5 XA6 XA7 A B C Y0 DMA CS(8237) INTR CS(8259) T/C CS(8253) PPI CS(8255) WRTDMAPG (写DMA页面寄存器) WRTNMIREG (写NMI屏蔽寄存器) Y6 Y7
6.3.2
中断控制方式
●借助于CPU响应外中断请求的能力,实现输入输出 的控制,可以简称为程序中断式输入输出。 首先,外部设备要有接口逻辑,能把外部设备的状态 信息变成中断请求信号,加入CPU的中断请求输入端。 例如,对于输入设备,可把“数据准备好”状态变换成 中断请求信号;对于输出设备,可以把“设备已空闲” 状态变换成中断请求信号。然后,CPU接受(响应) 中断请求,转入中断处理程序(即中断服务程序), 输入输出数据的传送是在中断处理程序中用输入输出 指令实现的。
②CPU在一段时间里只能和一个外部设备之间传送 数据,其它设备只能等待。 ③不能发现和处理预先无法估计的错误和异常现 象。所以这种输入输出方式只适用于CPU数据处理 任务不繁忙,而且外部设备数较少的情况。
例6-1 一个A/D转换器,用查询方式与CPU传送数据,如图所示。 编写查询方式数据传送程序。
6.2 输入/输出寻址方式
1.端口的两种编址方式
1).端口与存储器统一编址
例Motorola的M6800系列、Intel 51单片机系列
特点:������ I/O端口相当于内存的一部分,使内存 容量减小;������ 对I/O端口的读/写与对 存储器的读/写相同,所有可对内存操 作的指令对I/O端口均可使用;������ 指 令系统中不专设I/O指令。