90 likes | 240 Views
第六章 输入与输出. 掌握 CPU 寻址外设的方式 掌握 CPU 与外设间的接口信息及数据传送的形式 了解 DMA 方式的特点. 6-1 CPU 寻址外设. 存储器对应的输入输出方式 一个外设端口作为一个存储器单元来对待。 不需要专门的输入输出指令。 端口寻址的输入输出方式 CPU 有专门的 I/O 指令,用地址来区分不同的外设。 一个外设不仅有数据寄存器还有状态寄存器和控制寄存器,故往往需要多个端口地址。 Intel 系列 CPU 采用端口寻址方式 ,可采用 直接寻址 方式和 间接寻址 方式。
E N D
第六章 输入与输出 • 掌握CPU寻址外设的方式 • 掌握CPU与外设间的接口信息及数据传送的形式 • 了解DMA方式的特点
6-1 CPU寻址外设 • 存储器对应的输入输出方式 • 一个外设端口作为一个存储器单元来对待。 • 不需要专门的输入输出指令。 • 端口寻址的输入输出方式 • CPU有专门的I/O指令,用地址来区分不同的外设。 • 一个外设不仅有数据寄存器还有状态寄存器和控制寄存器,故往往需要多个端口地址。 • Intel系列CPU采用端口寻址方式,可采用直接寻址方式和间接寻址方式。 • 采用端口寻址方式的CPU必须有控制线。8086中的M/IO来区分寻址内存还是外设。
数据 CPU I/O 装置 控制 状态 • 数据:数字量、模拟量、开关量 • 状态信息:Ready、Busy信号等 • 控制信息:控制输入输出设备的启动或停止,如:RD,WR,M/IO等信号。 6-2 CPU与外设间的接口信息 CPU与接口电路间数据传送(通信)的形式: 并行通信 ----------- 数据的各位同时传送 串行通信 ------------ 数据一位一位顺序传送
6-3 CPU与外设数据传送的方式 • 查询方式(程序控制方式) CPU利用指令反复查询I/O的状态,直到I/O准备好,才进行输入/输出。此间CPU处于循环等待状态,未做有效的工作。 • 中断方式 CPU在执行程序的同时兼顾对I/O设备的控制或数据传送。当I/O设备准备好通知CPU, CPU暂停正在运行的程序,转而处理I/O设备的请求,处理完即返回主程序继续执行。 • DMA方式(直接存储器访问方式) 主要适用于高速I/O设备(如磁盘),DMA控制器向I/O接口提供控制信息(如数据块的首地址及字节数),I/O设备直接和存储器进行成批数据的快速传送。
读状态端口 Ready ? N Y 输入数据 6-3 CPU与外设数据传送的方式 • 查询传送方式 • 查询式输入 POLL: IN AL,STATUS_PORT ;从状态寄存器输入状态信息 TEST AL,80H ;外设的状态寄存器的D7位为“Ready”状态位 JZ POLL ; D7位为“0”,未准备好,循环等待 IN AL,DATA_PORT ; 准备好,从数据寄存器输入数据
读状态端口 Busy ? Y N 输出数据 6-3 CPU与外设数据传送的方式 • 查询传送方式 • 查询式输出 POLL: IN AL,STATUS_PORT ;从状态寄存器输入状态信息 TEST AL,80H ;外设的状态寄存器的D7位为“Busy”状态位 JNZ POLL ; D7位为“1”, 外设Busy,循环等待 OUT DATA_PORT, AL ; 外设no Busy,数据从数据口输出
6-3 CPU与外设数据传送的方式 • 中断传送方式 • 当CPU需要输入输出数据时,发出启动I/O设备工作的命令,继续原来的工作 • 输入时,若外部的输入数据已存入输入寄存器,由外设发出中断申请;输出时,若输出寄存器已空,由外设发出中断申请 • CPU接收到中断申请就暂停当前工作,转去中断服务,在输入或输出数据后返回(中断返回),CPU继续执行原程序
6-3 CPU与外设数据传送的方式 • DMA(直接存储器访问)方式 • 当高速的外部设备与CPU要进行成组的数据交换时,希望利用硬件,在外设和内存间直接进行数据交换,而不通过CPU,这就是DMA方式。 • DMA方式时,CPU让出总线控制权,由中断控制器接管 • 随着大规模集成电路技术的发展, DMA传送不仅仅局限存储器与外设之间,而可以扩展为在存储器的两个区域之间,或两种高速的外设之间进行DMA传送。 • 两种基本的DMA传送方式 • 单字节方式 • 字节(字符)组方式
地址总线 HOLD HLDA DMA请求 总线请求 I / O 设备 HRQ DREQ DMA控制器 HLDA DACK 总线响应 DMA响应 CPU 控制总线 数据总线 • DMA控制器的功能 • DMA控制器向CPU发出HOLD信号。 • CPU发出HLDA信号后, DMA控制器接管对总线的控制,进入DMA方式。 • DMA控制器发出读或写等控制信号,能对存储器寻址及修改地址指针,能决定传送的字节数并判断DMA传送是否结束。 • DMA控制器发出DMA结束信号,使CPU恢复正常工作状态。