《微型计算机原理与接口技术,李长青,李泉溪,PPT课件,第六章.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术,李长青,李泉溪,PPT课件,第六章.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第6章章 输入输入/输出输出微机原理与接口技术微机原理与接口技术微机原理与接口技术精品课程 本章主要内容本章主要内容l计算机计算机I/O接口概述接口概述l直接数据通道传输(直接数据通道传输(DMA)接口芯片)接口芯片82372微机原理与接口技术精品课程 接口的功能接口的功能 1.寻址功能寻址功能 统一编址统一编址 独立编址独立编址2.输入输出功能。输入输出功能。3.数据转换功能。数据转换功能。并并/串串 数数/模模4.联络功能联络功能5.中断管理功能。中断管理功能。6.错误检测功能错误检测功能 奇偶校验等奇偶校验等7.复位功能。复位功能。计算机系统和接口计算机系统和接口3-93微机原理与接口
2、技术精品课程计算机口地址的处理计算机口地址的处理接口接口1CPU D0D7译码器译码器A0A15操纵操纵对象对象1接口接口2操纵操纵对象对象24微机原理与接口技术精品课程输入输入/输出数据的传输控制方式输出数据的传输控制方式 程序方式程序方式中断方式中断方式DMA方式方式 特点:特点:上级上级反复访问反复访问 特点:特点:下级请示执行下级请示执行 特点:特点:架空架空CPUCPU(三种接口设计模式)(三种接口设计模式)5微机原理与接口技术精品课程程序方式程序方式无条件传送方式无条件传送方式有条件传送方式有条件传送方式外设对信息的外设对信息的输入输入/输出无需条件输出无需条件6微机原理与接口技术
3、精品课程 程序方式程序方式 1.无条件传送方式(输入接口和输出接口)无条件传送方式(输入接口和输出接口)注:端口地址特点:注:端口地址特点:1、一个端口一般只有一个地址单元或几个地址单元、一个端口一般只有一个地址单元或几个地址单元 2、地址线若用线编址,则只能安排、地址线若用线编址,则只能安排16个接口;个接口;用译码器编址,则可安排用译码器编址,则可安排 个接口。个接口。输入接口输入接口输出接口输出接口7微机原理与接口技术精品课程 程序方式程序方式 2.有条件传送方式(输入接口)有条件传送方式(输入接口)工作流程:以输入设备将数据送入锁存,发选通工作流程:以输入设备将数据送入锁存,发选通信号
4、开始,信号开始,READY1CPU查询(读查询(读READY)读数据读数据清除清除READY。8微机原理与接口技术精品课程 程序方式程序方式 2.有条件传送方式(输出接口)有条件传送方式(输出接口)作业:读懂此图作业:读懂此图触发器,脉冲触发,电平触发触发器,脉冲触发,电平触发 锁存器,缓冲器锁存器,缓冲器9微机原理与接口技术精品课程例例1 假设从某输入设备上输入一组数据送缓冲区,缓冲区大小假设从某输入设备上输入一组数据送缓冲区,缓冲区大小为为60字节,接口电路如下图,若缓冲区已满则显示一组信息字节,接口电路如下图,若缓冲区已满则显示一组信息“BUFFER OVERFLOW”,然后结束。数据端
5、口为,然后结束。数据端口为0F8H,状态端口为状态端口为0FAH。注意:书上注意:书上194页有问题,无启动口页有问题,无启动口0FCH10微机原理与接口技术精品课程 DATA SEGMENTMESS1 DB “BUFFER OVERFLOW”,“$”BUFF DB 60 DUP(?);定义缓冲区;定义缓冲区DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV BX,OFFSET BUFF;送缓冲区指针;送缓冲区指针 MOV CX,60;送计数初值;送计数初值WAIT:IN AL,OFAH;查询状态
6、,若为;查询状态,若为0,则等,则等 TEST AL,01H ;状态信息线连接数据线;状态信息线连接数据线D0 JZ WAIT IN AL,0F8H ;输入数据;输入数据 MOV BX,AL INC BX ;缓冲区指针,指向下一个!;缓冲区指针,指向下一个!LOOP WAIT;检测缓冲区是否满,不满再输入;检测缓冲区是否满,不满再输入解:解:已知:已知:数据端口为数据端口为0F8H,状态端口为状态端口为0FAH.11微机原理与接口技术精品课程 START:MOV AX,DATA ;黄字在上页已写;黄字在上页已写 MOV DS,AX MOV BX,OFFSET BUFF;送缓冲区指针;送缓冲区指
7、针 MOV CX,60;送计数初值;送计数初值WAIT:IN AL,OFAH ;查询状态,若为;查询状态,若为0,则等,则等 TEST AL,01H ;状态信息线连接数据线;状态信息线连接数据线D0 JZ WAIT IN AL,0F8H ;从;从0F8H口输入数据口输入数据 MOV BX,AL INC BX ;缓冲区指针,指向下一个!;缓冲区指针,指向下一个!LOOP WAIT;检测缓冲区是否满,不满再输入;检测缓冲区是否满,不满再输入 MOV DX,OFFSET MESS1;缓冲区满,输出标志字符串;缓冲区满,输出标志字符串 MOV AH,09H INT 21H ;显示字符串,请看;显示字符
8、串,请看465页页 MOV AH,4CH INT 21H ;返回;返回DOS CODE ENDS END START返回到传输方式返回到传输方式作业:本题改为数据口为作业:本题改为数据口为A0H,状态口为,状态口为A2H,状态信息线,状态信息线 连接数据线连接数据线D7 ,请重新作上题。,请重新作上题。12微机原理与接口技术精品课程中断方式中断方式返回到传输方式返回到传输方式提供下列服务:提供下列服务:1按等级传达中断请求;按等级传达中断请求;2最多可预置最多可预置8个中断号;个中断号;3根据中断请求位置送相应中断号;根据中断请求位置送相应中断号;D0D7 D0D7 13微机原理与接口技术精品
9、课程DMA方式方式属南桥(主外)属南桥(主外)特点:不通过特点:不通过CPU,外设(硬盘、软盘)的数据直接写入计算机,外设(硬盘、软盘)的数据直接写入计算机 内存,或内存数据直接送到外设单元。内存,或内存数据直接送到外设单元。回忆:回忆:CPU是如何进行数据传输的?是如何进行数据传输的?总线总线CPU内存内存外设外设问:在指令中,为何没有下列指令:问:在指令中,为何没有下列指令:MOV 2000H,3000H IN 4000H,20H OUT 20H,5000H14微机原理与接口技术精品课程DMA方式方式总线总线内存内存外设外设DMA控制器控制器8237DACK0DACK1DACK2DACK3
10、DREQ015微机原理与接口技术精品课程内存内存外设外设DMA控制器控制器8237DMA方式方式CPU总线请求总线请求总线响应总线响应外设外设DMA请求(已准备好)请求(已准备好)DMA响应(可作控制门信号)响应(可作控制门信号)DREQ0DACK016微机原理与接口技术精品课程内存内存外设外设DMA控制器控制器8237DMA方式方式CPU总线请求总线请求总线响应总线响应外设外设DMA请求(已准备好)请求(已准备好)DMA响应(可作控制门信号)响应(可作控制门信号)MEMR MEMWIOR IOW外设有求:有控制芯片和外设有求:有控制芯片和 较大的缓冲区较大的缓冲区17微机原理与接口技术精品课
11、程DMA芯片:芯片:8237返回第返回第5页页传输方式传输方式一片一片82378237可形成可形成4 4路通道路通道 利用利用8237芯片的扩展技芯片的扩展技术可以扩展很多通道,术可以扩展很多通道,如两极扩如两极扩展便可扩展展便可扩展16条通道。条通道。通道使用时按优先通道使用时按优先级使用,但不存在通道级使用,但不存在通道“嵌套嵌套”现象。现象。18微机原理与接口技术精品课程本章复习:本章复习:#计算机计算机CPUCPU要与外界沟通信息要借助总线要与外界沟通信息要借助总线#要通过特定的接口要通过特定的接口进行进行#接口的设计思路有三种接口的设计思路有三种:#CPU#CPU主动查寻方式设计(无
12、条件是特例)主动查寻方式设计(无条件是特例)#外设申请中断方式设计外设申请中断方式设计#DMA#DMA方式设计方式设计19微机原理与接口技术精品课程20微机原理与接口技术精品课程21微机原理与接口技术精品课程DMA工作原理框图工作原理框图22微机原理与接口技术精品课程作为接口芯片:作为接口芯片:地址:地址:CS A0 A3 数据:数据:DB0 DB7 控制:控制:IOR IOW 作为作为“小小CPU”:地址总线:地址总线:A0 A15控制总线:控制总线:MEMR MEMW IOR IOW与与“大大CPU”争夺争夺总线的信号:总线的信号:HRQ 向向CPU请求请求 HLDA CPU回应回应23微
13、机原理与接口技术精品课程作为从片:作为从片:8237译码译码CSA0A3D0D7IOWIOR作为主控片:作为主控片:8237硬盘硬盘0硬盘硬盘1硬盘硬盘2硬盘硬盘3DREQ0DREK0MEMRMEMW IOR IOWA0 A15内存条内存条内存条内存条24微机原理与接口技术精品课程初始化所用到的片内寄存器初始化所用到的片内寄存器1、共、共27个地址单元个地址单元2、4条偏移量地址线,共可安排条偏移量地址线,共可安排 32个地址单元。个地址单元。3、因数据线是、因数据线是8条,对条,对16位的寄存器单元,位的寄存器单元,先写低先写低8位,在写高位,在写高8位。位。25微机原理与接口技术精品课程四
14、个通道寄存器的地址分配四个通道寄存器的地址分配返回返回注意:书上注意:书上210页表页表6-2有错,有错,以此表为准。以此表为准。26微机原理与接口技术精品课程各功能寄存器地址分配各功能寄存器地址分配返回返回27微机原理与接口技术精品课程数据块数据块首地址首地址数据块数据块字节数字节数28微机原理与接口技术精品课程 方式寄存器方式寄存器每个通道有一个每个通道有一个8位的方式寄存器,但是它们占用同一个位的方式寄存器,但是它们占用同一个端口地址,用来存放方式字,依靠方式控制字本身的特征端口地址,用来存放方式字,依靠方式控制字本身的特征位来区分写入不同的通道,用来规定通道的工作方式,位来区分写入不同
15、的通道,用来规定通道的工作方式,各位的作用如下:各位的作用如下:返回返回29微机原理与接口技术精品课程命令寄存器命令寄存器30微机原理与接口技术精品课程四通道屏蔽寄存器四通道屏蔽寄存器 31微机原理与接口技术精品课程8237的状态寄存器的状态寄存器 32微机原理与接口技术精品课程PC机中机中8237的连接的连接 A8A1533微机原理与接口技术精品课程说明说明1:在:在IBM PC/XT计算机中,通道计算机中,通道0作动态作动态DRAM刷新使用;刷新使用;通道通道2、3分别作硬盘与内存、软盘与内存的高速数据交分别作硬盘与内存、软盘与内存的高速数据交 换使用;通道换使用;通道1供用户使用。供用户
16、使用。说明说明2:PC机中机中BIOS的开机自检,其中包括对的开机自检,其中包括对8237的检查和初始的检查和初始 化部分,现加以说明化部分,现加以说明:首先对:首先对DMAC 8237进行总清零:进行总清零:执行:执行:OUT DMA+0DH,AL ,AL内装啥无所谓。对。对 DMAC(8237)的的4个通道的基地址寄存器与当前地址寄存个通道的基地址寄存器与当前地址寄存 器、基字节数寄存器及当前字节数寄存器先写入器、基字节数寄存器及当前字节数寄存器先写入FFFFH,再读出比较,看读写操作是否正确。若正确,再写入再读出比较,看读写操作是否正确。若正确,再写入 0000H,同样读出校验,若仍正确
17、则认为,同样读出校验,若仍正确则认为DMAC工作正工作正 常,就开始对其初始化。若比较时发现有错,则执行停常,就开始对其初始化。若比较时发现有错,则执行停 机指令。机指令。MOV AL,0FFH OUT DMA+0,AL OUT DMA+0,AL ;通道;通道0写入地址写入地址FFFFH OUT DMA+1,AL OUT DMA+1,AL ;通道;通道0写入传输字节数写入传输字节数FFFFH 留下作业将此程序片断写完留下作业将此程序片断写完34微机原理与接口技术精品课程 OUT DMA+0DH,AL;总清8237MOV DS,BXMOV ES,BX ;初始化DS和ESMOV AL,0FFHOU
18、T DMA+1,AL ;通道0的传送字节数为64K字节 OUT DMA+1,AL ;先写低位,后写高位MOV DL,0BH ;使DX=000BH(方式字地址)MOV AL,58HOUT DX,AL ;写方式字,单字节传送方式,每次传送行地址MOV AL,0 ;尔后地址自动加1,允许自动预置OUT DMA+8,AL ;写入命令字OUT DMA+10,AL ;写入屏蔽字(单通道屏蔽字)程序对程序对DMAC(8237)的通道的通道0初始化:初始化:在在PC机中,通道机中,通道0用于产生对动态存储器的刷新控制。利用可编程定时器用于产生对动态存储器的刷新控制。利用可编程定时器 8253每隔每隔15.08
19、57s向通道向通道0提出提出1次次DMA请求信号请求信号DREQ0。通道。通道0响应后响应后 向向CPU提出总线请求提出总线请求HRQ。获得总线控制权后,使。获得总线控制权后,使CPU进入总线放弃状态。进入总线放弃状态。在此在此DMA期间,期间,DMAC送出刷新行地址,并利用送出刷新行地址,并利用DMA响应信号响应信号DACK0控控 制产生各刷新控制信号,对制产生各刷新控制信号,对DRAM一行进行刷新。一行刷新结束,一行进行刷新。一行刷新结束,HRQ变变 为无效,退出为无效,退出DMA。注意,通道。注意,通道0的优先权是最高的,刷新是不能耽误的。的优先权是最高的,刷新是不能耽误的。下面给出通道
20、下面给出通道0初始化程序如下:初始化程序如下:35微机原理与接口技术精品课程外设如硬外设如硬盘准备好盘准备好后发信号后发信号注意:注意:1、CPU、8237、外设三者的关系如、外设三者的关系如16页页 2、8237的的DMA响应信号响应信号/DACK与其对与其对 总线的控制(读写)是同时发生的。总线的控制(读写)是同时发生的。36微机原理与接口技术精品课程外设外设端口寄端口寄 存器存器DMA 接口接口DMA请求请求8根数据线根数据线总线总线DREQ03DREK03内存内存CPU总总线线锁存器锁存器触发器触发器37微机原理与接口技术精品课程 DMA初始化程序如下:INITADM:OUT DMA+
21、13,AL;总清 MOV AL,40H OUT DMA+2,AL;送地址低字节到通道1 MOV AL,74H ;送地址高字节到通道1,OUT DMA+2,AL;7440H为通道基地址 MOV AL,80H OUT PAG,AL;送页地址1000B MOV AL,64H OUT DMA+3,AL;送传送字节数低字节到通道1 MOV AL,0 ;0064H表示100个字节 OUT DMA+3,AL;送传送字节数高字节到通道1 MOV AL,59H;通道1方式字:读操作,单字节传送 OUT DMA+11,AL;地址递增,自动预置 MOV AL,0;命令字:允许工作,固定优先级 OUT DMA+8,AL;DACK有效,状态清零 OUT DMA+15,AL;写入四通道屏蔽寄存器,规定允许4 ;个通道均可请求DMA传送。任务:将内存中任务:将内存中100个字节的数据用通道个字节的数据用通道1直接送到外设,数据的直接送到外设,数据的 起始地址为起始地址为7440H,假定页寄存器地址为,假定页寄存器地址为PAG。38微机原理与接口技术精品课程 结束语结束语 利用利用8237芯片的扩展技术可以扩展很芯片的扩展技术可以扩展很多通道,如两极扩多通道,如两极扩展便可扩展展便可扩展16条通道。条通道。通道使用时按优先级使用,但不存在通道使用时按优先级使用,但不存在通道通道“嵌套嵌套”现象。现象。39