版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.1概述概述6.2cpu与外设数据传送的方式与外设数据传送的方式6.3端口地址分配和译码端口地址分配和译码6.4dma控制器控制器8237第六章第六章 输入输入/输出接口输出接口6.1 概述概述一、接口电路的分类和功能一、接口电路的分类和功能外设必须通过接口电路与外设必须通过接口电路与cpu相连接相连接数据总线数据总线控制总线控制总线地址总线地址总线接口电路接口电路外部设备外部设备数据线数据线控制线控制线状态线状态线一、接口电路的分类和功能一、接口电路的分类和功能接口电路的功能:接口电路的功能:1)缓冲锁存数据)缓冲锁存数据2)地址译码)地址译码3)传递命令)传递命令4)码制转换)码制转换5
2、)电平转换)电平转换一、接口电路的分类和功能一、接口电路的分类和功能接口电路按通用性分为两类:通用接口和专用接口接口电路按通用性分为两类:通用接口和专用接口通用接口:可供多种外部设备使用的标准接口,目的是使微机正常通用接口:可供多种外部设备使用的标准接口,目的是使微机正常 工作工作通用接口通常制造成集成电路芯片,称为接口芯片。通用接口通常制造成集成电路芯片,称为接口芯片。最初的最初的ibm-pc使用了使用了6块接口芯片:块接口芯片:8284、8288、8255、8259、8237、8253后来的微机将这些芯片集成为大规模集成电路芯片,称为芯片后来的微机将这些芯片集成为大规模集成电路芯片,称为芯
3、片组。组。如如82430tx芯片组,由两片芯片组成:芯片组,由两片芯片组成:北桥:北桥:82439tx南桥:南桥:82371ab一、接口电路的分类和功能一、接口电路的分类和功能二、接口电路的基本结构二、接口电路的基本结构接口电路通常包含一组能够与处理器交换信息的寄存器,称为接口电路通常包含一组能够与处理器交换信息的寄存器,称为i/o端口寄存器,简称为端口寄存器,简称为i/o端口端口1)数据端口)数据端口存放数据信息存放数据信息2)状态端口)状态端口存放状态信息,(忙、空闲、准备好等机器状态)存放状态信息,(忙、空闲、准备好等机器状态) 即反映外设当前工作状态的信息即反映外设当前工作状态的信息3
4、)控制端口)控制端口存放控制信息(启动、停止等动作)存放控制信息(启动、停止等动作)状态信息与控制信息可以广义地看作数据信息,因此可以通过数状态信息与控制信息可以广义地看作数据信息,因此可以通过数据总线传送据总线传送数据信息分数据量、模拟量和开关量三类。数据信息分数据量、模拟量和开关量三类。接口电路组成接口电路组成三、三、i/o端口的编址方式端口的编址方式i/o端口与存储单元统一编址(端口与存储单元统一编址(motorola公司公司68系列)系列)i/o端口独立编址(端口独立编址(intel 86 系列)系列)pc系列机采用系列机采用i/o端口独立编址方式端口独立编址方式port 65535p
5、ort 255port 3port 2port 1port 0port 0(16位位)port 1(16位位)port 0 (32位位)三、三、i/o端口的编址方式端口的编址方式i/o端口与存储单元统一编址(端口与存储单元统一编址(motorola公司公司68系列)系列)三、三、i/o端口的编址方式端口的编址方式i/o端口独立编址(端口独立编址(intel 86 系列)系列)1、地址相互独立、地址相互独立2、控制信号不同、控制信号不同三、三、i/o端口的编址方式端口的编址方式端口地址是一种重要资源端口地址是一种重要资源三、三、i/o端口的编址方式端口的编址方式端口的寻址端口的寻址把端口地址放在
6、把端口地址放在dx寄存器中,对该端口进行读写寄存器中,对该端口进行读写in al, dx (8位位) 或或 in ax,dx (16位位)out dx, al(8位位) 或或 out dx,ax (16位位)可寻址的端口号为可寻址的端口号为065535(ffffh)端口地址小于或等于端口地址小于或等于ffh(255),可以用立即数表示端口地址,可以用立即数表示端口地址in al, 42h (8位位) 或或 in ax,42h (16位位)out 43h, al (8位位) 或或 out 43,ax (16位位)6.2 cpu与外设数据传送的方式与外设数据传送的方式1.程序传送方式程序传送方式2
7、.中断传送方式中断传送方式3.dma传送方式传送方式无条件传送无条件传送程序查询传送(条件传送)程序查询传送(条件传送)一、程序传送方式一、程序传送方式(一)无条件传送(一)无条件传送cpu与外设间的数据交换在程序控制下进行与外设间的数据交换在程序控制下进行不查询外设状态,认为外设已经准备就绪,直接与外设传送数据不查询外设状态,认为外设已经准备就绪,直接与外设传送数据外设准备就绪外设准备就绪:对于输入设备,已经把数据放入接口电路的数:对于输入设备,已经把数据放入接口电路的数据输入寄存器,据输入寄存器,cpu可以读取;对于输出设备,已经准备好接可以读取;对于输出设备,已经准备好接收数据(接口电路
8、的数据输出寄存器已空),收数据(接口电路的数据输出寄存器已空),cpu可以向它输可以向它输出数据出数据由于不查询外设状态,接口电路不需要状态寄存器由于不查询外设状态,接口电路不需要状态寄存器输入方式输入方式输出方式输出方式in al, 0a0hout 0a1h, ala1a0ce 查询式输入接口电路查询式输入接口电路数据端口数据端口状态端口状态端口 d7 d6 d0 d78位位1位位状态口状态口数据口数据口i/o控制线控制线控制线控制线poll: in al, s_port test al, 80h jz poll in al, d _port(二)条件传送(二)条件传送 查询式输出接口电路查
9、询式输出接口电路poll: in al, s_port test al, 80h jnz poll mov al, store out d_port, al状态口状态口数据口数据口i/o控制线控制线控制线控制线start: mov dl, 0f8h ;1111,1000 启动启动a/d转换转换 lea di, detor ;输入数据存放地址;输入数据存放地址 again: mov al, dl ; and al, 0efh ; 1110,1111,al=1110,1000 out 4, al ;停止;停止a/d转换,并选择模拟量转换,并选择模拟量a0 call delay ; mov al,
10、dl ; al=1111,1000 out 4, al ;启动;启动a/d转换转换poll: in al, 2 ;输入状态信息;输入状态信息 shr al, 1 ; jnc poll ;若未;若未ready,等待等待 in al, 3 ;否则,输入数据;否则,输入数据 stosb ;将数据存入内存;将数据存入内存 inc dl ;取下一个模拟量;取下一个模拟量 jne again ;状态端口状态端口数据口数据口状态口状态口控制口控制口a7 a0 d0程序查询传送的小结程序查询传送的小结在执行输入输出前,要先查询接口中状态寄存器的状态。在执行输入输出前,要先查询接口中状态寄存器的状态。输入时,状
11、态寄存器的状态指示要输入的数据是否已经准备就绪输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪输出时,状态寄存器的状态指示输出设备是否空闲输出时,状态寄存器的状态指示输出设备是否空闲图图1.6 程序查询方式流程图程序查询方式流程图 n 准备就绪? y n 超时? y y y 对接口进行控制 与接口交换数据 置正常标志值 返回状态结束 置超时错标志 程序查询开始 读输入状态寄存器 二、中断传送方式二、中断传送方式使用查询方式,使用查询方式,cpu必须检测接口电路的状态寄存器,如果设备必须检测接口电路的状态寄存器,如果设备未准备好,未准备好,cpu就要不断地查询,降低了就要不断地查询,降低
12、了cpu的运行效率的运行效率中断方式:当外设作好传送准备后,主动向中断方式:当外设作好传送准备后,主动向cpu请求中断,请求中断,cpu响应中断后在中断处理程序中与外设交换数据。若外设未准备好,响应中断后在中断处理程序中与外设交换数据。若外设未准备好,cpu可以执行其他程序,提高了可以执行其他程序,提高了cpu的利用率的利用率每条指令完成后,每条指令完成后,cpu均可响应中断,因此当设备准备好时,可均可响应中断,因此当设备准备好时,可及时与及时与cpu交换数据,提高了实时性交换数据,提高了实时性三、三、dma传送方式传送方式对于高速外设(如磁盘、高速对于高速外设(如磁盘、高速a/d),中断方式
13、不能满足数据),中断方式不能满足数据传输速度的要求。传输速度的要求。dma=direct memory access直接存储器访问直接存储器访问dma方式是一种由专门的硬件电路执行方式是一种由专门的硬件电路执行i/o的数据传送方式,的数据传送方式,它可以让外设接口直接与内存进行高速的数据传送,而不必经它可以让外设接口直接与内存进行高速的数据传送,而不必经过过cpu。这种专门的硬件电路称为。这种专门的硬件电路称为dma控制器,简称控制器,简称dmac只能用于外部设备与只能用于外部设备与cpu 动作同步时,否则出错。这种方式已动作同步时,否则出错。这种方式已 较少使用。较少使用。 接口简单,接口简
14、单, 但在传送过程中,若外设数据没有准备好,则但在传送过程中,若外设数据没有准备好,则cpu一直在查询、等待,而一直在查询、等待,而 不能做其他事情。不能做其他事情。cpu的效率低下。的效率低下。 只有当外设数据准备好时只有当外设数据准备好时(向向cpu发出请求),发出请求),cpu才进行数据传送(在才进行数据传送(在 中断服务程序中),其余时间中断服务程序中),其余时间cpu可以做其他事情。可以做其他事情。cpu效率大大提高。效率大大提高。 但是,每传送一次数据,但是,每传送一次数据,cpu都要执行一次中断服务程序,在中断服务程都要执行一次中断服务程序,在中断服务程 序中,除执行序中,除执行
15、 和和 指令外,还要进行下列工作:指令外,还要进行下列工作: 保护断点、保护标志寄存器、保护某些通用寄存保护断点、保护标志寄存器、保护某些通用寄存 、恢复等一、恢复等一 些工作,些工作, 95%的时间是额外开销,从而传送效率并不高。的时间是额外开销,从而传送效率并不高。 在在dmac的控制下,外设直接和存储器(也可外设与外设,存储的控制下,外设直接和存储器(也可外设与外设,存储 器与存储器之间)进行数据传送,而不必经过器与存储器之间)进行数据传送,而不必经过cpu ,传送速度基,传送速度基 本取决于外设与存储器的速度,从而传送效率大大提高。本取决于外设与存储器的速度,从而传送效率大大提高。6.
16、3 i/o地址分配和地址译码地址分配和地址译码一、一、i/o地址分配表地址分配表6.3 i/o地址分配和地址译码地址分配和地址译码二、二、i/o地址译码原理地址译码原理关键是如何由地址信号产生接口芯片的片选信号。关键是如何由地址信号产生接口芯片的片选信号。6.3 微机系统的微机系统的i/o通道与总通道与总线线1. i/o通道的作用通道的作用 (1)支持双向数据传输。)支持双向数据传输。 (2)支持)支持mb级物理地址空间。级物理地址空间。(3)支持接口读写控制。)支持接口读写控制。 (4)支持多级向量中断。)支持多级向量中断。(5)支持)支持dma传输通道。传输通道。(6)支持多处理器共享总线
17、。)支持多处理器共享总线。 2 常见的几种常见的几种i/o通道通道 1isa总线(总线(industrial standard architecture)2eisa总线(总线(extended industrial standard architecture)3 局部总线局部总线表表1.2为常见微机系统总线主要参数。为常见微机系统总线主要参数。(1)vl总线标准总线标准(2)pci总线总线(3)agp总线总线3. 常见微机系统总线主要参数表6.4dma控制器控制器8237一、一、dma概述概述 dma dma方式就是直接存储器存取工作方式。在方式就是直接存储器存取工作方式。在dmadma方式方
18、式下,外设通过下,外设通过dmadma控制器向控制器向cpucpu提出接管总线控制权的总提出接管总线控制权的总线要求,线要求,cpucpu在当前的总线周期结束后,响应在当前的总线周期结束后,响应dmadma请求,请求,并把总线控制权交给并把总线控制权交给dmadma控制器。在控制器。在dmadma控制器的管理下控制器的管理下,外设和寄存器之间就可以直接进行数据交换。,外设和寄存器之间就可以直接进行数据交换。返回本节返回本节二、二、dma的功能的功能(1 1)外设通过)外设通过dmadma控制器向控制器向cpucpu提出提出dmadma申请。申请。(2 2)dmadma控制器接受外设的控制器接受
19、外设的dmadma请求,取得总线控制请求,取得总线控制权。权。(3 3)总线载决逻辑对总线申请进行载决,把总线控)总线载决逻辑对总线申请进行载决,把总线控制权交给制权交给dmadma控制器。控制器。(4 4)dmadma控制器通知外设控制器通知外设dmadma应答,开始进入应答,开始进入dmadma传传输。输。(5 5)dmadma控制器按传输数据的长度直接控制外设与控制器按传输数据的长度直接控制外设与ramram进行数据交换。进行数据交换。(6 6)dmadma操作结束,操作结束,dmadma控制器向外设输出计数终止控制器向外设输出计数终止信号,通过接口提出中断申请,并把总线控制权交信号,通
20、过接口提出中断申请,并把总线控制权交给给cpucpu,完成一次,完成一次dmadma数据传控。数据传控。返回本节返回本节三、三、8237a的内部结构的内部结构其内部结构如图其内部结构如图4.1所示。所示。1地址寄存器地址寄存器地址寄存器、基地址寄存器、当前地址寄存器地址寄存器、基地址寄存器、当前地址寄存器 2字节数寄存器字节数寄存器字节数寄存器、基本字节寄存器、当前字节计数器字节数寄存器、基本字节寄存器、当前字节计数器图图 4.1 8237a 的内部结构图的内部结构图返回本节返回本节四、四、8237a外部引脚及其功能特性外部引脚及其功能特性8237a的外部引脚共有的外部引脚共有40个,如图个,
21、如图4.2所示。各引脚功能所示。各引脚功能特性如下:特性如下:clk:时钟频率,为输入信号。它控制:时钟频率,为输入信号。它控制dma数据传送的速率及数据传送的速率及8237a内部操作的定时。内部操作的定时。cs:片选信号,为输入信号。低电平有效。:片选信号,为输入信号。低电平有效。reset:复位信号,为输入信号,高电平有:复位信号,为输入信号,高电平有效。效。ready:准备就绪信号,为输入信号,高电:准备就绪信号,为输入信号,高电平有效。平有效。adstb:地址选通信号,为输出信号,高电平:地址选通信号,为输出信号,高电平有效。有效。aen:地址允许信号,为输出信号,高电平有:地址允许信
22、号,为输出信号,高电平有效。效。memr:寄存器读信号,为输出信号,低电平:寄存器读信号,为输出信号,低电平有效。当此信号有效时,被选中的寄存器单元有效。当此信号有效时,被选中的寄存器单元的内容被读到数据总线上。的内容被读到数据总线上。memw:寄存器写信号,为输出信号,低电平有:寄存器写信号,为输出信号,低电平有效。当此信号为低电平时,数据总线上的内容被效。当此信号为低电平时,数据总线上的内容被写入被选中的寄存器单元。写入被选中的寄存器单元。ior:i/o设备读信号,为双向信号,低电平有效。设备读信号,为双向信号,低电平有效。 iow:i/o设备写信号,双向信号,低电平有效。设备写信号,双向
23、信号,低电平有效。 eop:dma传输结束信号,双向信号,低电平有传输结束信号,双向信号,低电平有效。效。8 dreq:dma请求信号,属输入信号,请求信号,属输入信号,高电平有效。高电平有效。dack:dma响应信号,属于输出信号,响应信号,属于输出信号,高电平有效。高电平有效。 hrq:总线请求信号,属于输出信号,高:总线请求信号,属于输出信号,高电平有效。电平有效。hlda:总线响应信号,属于输入信号,高电:总线响应信号,属于输入信号,高电平有效。平有效。 a7a4:高:高4位地址线,双向信号在进行位地址线,双向信号在进行dma传输时提供高传输时提供高4位地址。位地址。a3a0:低:低4
24、位地址线,双向信号。位地址线,双向信号。 db7db0:8位双向数据线。位双向数据线。 五、五、8237a内部寄存器及其作用内部寄存器及其作用1工作方式工作方式(1)单字节传输方式)单字节传输方式(2)块传输方式)块传输方式(3)请求传输方式)请求传输方式(4)级连传输方式)级连传输方式8237a8237a各寄存器的端口地址各寄存器的端口地址表表4.6 8237a操作端口地址与命令一览表操作端口地址与命令一览表返回本节返回本节六、六、 8237a的编程及其应用的编程及其应用1dma的系统结构及主要性能的系统结构及主要性能图图 4.3 dma系统逻辑结构示意图系统逻辑结构示意图2 28237a8
25、237a编程编程 (1)初始化通道方式寄存器。)初始化通道方式寄存器。(2)预置该通道的基地址和当前地址寄存器)预置该通道的基地址和当前地址寄存器(低(低16位)与页面寄存器(高位)与页面寄存器(高4位或高位或高8位)。位)。(3)求传输的字节数,将其值减)求传输的字节数,将其值减1并预置该并预置该通道的基地址及当前字节(或字节计数器)。通道的基地址及当前字节(或字节计数器)。(4)判断传输的数据量是否已经超出边界,)判断传输的数据量是否已经超出边界,若出界则返回错误代码。若出界则返回错误代码。(5)开放通道,并允许)开放通道,并允许dreq请求。请求。返回本节返回本节七、七、 编程实例编程实
26、例(1)初始化通道方式寄存器。)初始化通道方式寄存器。(2)预置该通道的基地址和当前地址寄存)预置该通道的基地址和当前地址寄存器与页面寄存器。器与页面寄存器。(3)求传输的字节数,将其值减)求传输的字节数,将其值减1并预置该并预置该通道的基地址及当前字节。通道的基地址及当前字节。(4)判断传输的数据量是否已经超出边界,)判断传输的数据量是否已经超出边界,若出界则返回错误代码。若出界则返回错误代码。(5)开放通道,并允许)开放通道,并允许dreq请求。请求。;初始化通道;初始化通道2;入口参数:;入口参数:al=dma方式字节方式字节;读盘(;读盘(dma写)写)=046h;写盘(;写盘(dma
27、读)读)=04ah;dh=传输的扇区数传输的扇区数;es:bx=ram缓冲区首地址缓冲区首地址;定义要使用的符号;定义要使用的符号dma equ 0 ;第;第0片片dma通道端口通道端口下面为下面为pc/at机的软盘驱动器与存储器机的软盘驱动器与存储器ram之间进行数据交换的实例。之间进行数据交换的实例。dma1 equ 0c0h ;第;第1片片dma通道端口通道端口dam08 euq 08 ;第;第0片片dma命令寄存器地址命令寄存器地址dma18 euq 0d0h ;第;第1片片dma命令寄存器地址命令寄存器地址dset proc near ;dma 初始化过程初始化过程 push cx
28、;保存;保存cx寄存器寄存器 cli ;关中断;关中断out dma+12 ,al ;清除先;清除先/后触发器后触发器jmp short $+2 ;满足;满足dma的的i/o定时要求定时要求 ;初始化方式寄存;初始化方式寄存out dma+11,al ;写方式寄存;写方式寄存mov ax,es ;取寄存器;取寄存器ram段地址段地址mov cl,4 ;rol ax,cl ;循环左移;循环左移4mov ch,al ;高;高4位保存在位保存在chand al,0f0h ;取低落;取低落6位地址位地址add ax,bxjnc j1inc ch ;有进位加到高;有进位加到高4位地址位地址 ;初始化地址寄存器和页面寄存器;初始化地址寄存器和页面寄存器j1:push ax ;保存;保存16位地址位地址out dma+4,al ;预置通道;预置通道2地址寄存地址寄存jmp short $+2mov al ,ahout dma+4,al ;先低字节,后高字节;先低字节,后高字节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村公寓出租合同范例
- 古董代销合同范例
- 合同范例里比较全面
- 大酒店厨师劳务合同范例
- 合同范例音乐
- 医疗美容官方合同范例
- 人工装修合同范例
- 乡村振兴合同范例
- 培训金融合同范例
- 外发组装加工合同范例
- 2024年保安员证考试题库及答案(共260题)
- 公务员2024年国考申论真题(地市级)及参考答案
- XXXX酒店管理公司成立方案
- 民用无人机操控员执照(CAAC)考试复习重点题及答案
- 疼痛科整体规划和发展方案
- 2024年中国南水北调集团水网水务投资限公司及下属单位社会招聘高频难、易错点500题模拟试题附带答案详解
- (新版)食品生产企业食品安全员理论考试题库500题(含答案)
- 七年级语文上册第13课《纪念白求恩》公开课一等奖创新教案
- 统编版语文六年级上册第八单元大单元整体教学设计
- 教师个人业务学习笔记(41篇)
- 2025年高考语文复习备考复习策略讲座
评论
0/150
提交评论