资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机和外设的数据传输,本章重点难点:,接口的功能,CPU,和外设之间的数据传输方式,中断方式和,DMA,方式,本章需掌握的内容:,1.,外部设备为什么通过接口电路和主机总线相连?,2. CPU,和输入输出设备之间有几类信号?,3.,接口和端口的区别?,4.,接口的功能?,5. CPU,和外设之间的数据传输方式(程序方式、中断方式、,DMA,方式)的简单工作原理,一、接口的基本概念,接口:,CPU,与外设之间的连接部件,分类:,使,CPU,正常工作的辅助电路,提供时钟信号:,8253/8254,接收中断请求:,8259A,输入,/,输出接口电路,完成,CPU,与外设之间的信息传送,例如键盘、显示器、磁盘及打印机等,存储器,ROM,存储器,RAM,微处,理器,CPU,I/O,接口,I/O,设备,AB,DB,CB,一、接口的基本概念,存储器与总线直接相连的原因,品种,(ROMRAM),和功能,(,保存信息,),单一,存取速度基本与,CPU,的工作速度匹配,一、接口的基本概念,外设通过接口与总线相连的必要性:,种类繁多:输入设备,/,输出设备,/,输入输出设备,传输信息多种多样:数字量,/,模拟量,信息传输方式不同:串行数据,/,并行数据,CPU,与外设的速度不匹配问题:,利用接口提供缓冲与联络,多个外设共享总线:,同一时刻,只有一个外设与,CPU,传送信息,一、接口的基本概念,接口的基本组成:若干端口,+,控制逻辑,端口,控制逻辑,数据口,控制口,状态口,二、,CPU,与,I/O,设备之间的接口信息,数据信息,数字量:二进制数据和,ASCII,码字符,模拟量:温度、压力和流量等,需要经过,A/D,转换输入计算机,开关量:,2,态信息,只需用,1,位,2,进制数表示,状态信息(外设,CPU,),Ready,:提示输入设备是否准备好数据,Busy,:提示输出设备是否空闲,已经准备好接收数据,控制信息(,CPU,外设),控制输入输出设备的操作:如外设的启动,/,停止信号,三、端口的基本概念,端口:接口电路中的一个,/,一组可通过输入输出指令进行读,/,写操作的寄存器,CPU,通过接口中不同端口传送不同信息,每个端口在,I/O,地址空间中都有唯一的地址,端口分类:,数据端口:暂存来自,/,送往,CPU,的数据,状态端口:存放外设,/,接口部件本身的状态信息,控制端口:存,CPU,发出的控制接口,/,外设的命令,三、端口的基本概念,端口组成(以双向工作接口芯片为例):,数据输入口,数据输出口,状态端口,控制端口,其中:,数据输入口,状态口,数据输出口,控制口,“,只写”口,“,只读”口,三、端口的基本概念,端口组成(以双向工作接口芯片为例):,系统为了节省地址空间,一般:,分配给数据输入口和数据输出口一个地址,分配给状态端口和控制端口一个地址,当对一个端口进行读,/,写操作时,实际是对不同的端口寄存器进行操作,四、简单,I/O,接口框图,数据口,状态口,控制口,译码电路,外 部 设 备,CPU,DB,AB,CB,状态信号,控制信号,数据信号,若实现接口电路功能,还需有一些控制逻辑,地址译码电路,中断控制逻辑,差错检测逻辑,五、,I/O,接口编址方式,与存储器统一编址,I/O,接口中的端口寄存器与内存单元统一编址,共享同,1,个地址空间。,优点:操作方式灵活,不用专门的,I/O,指令,缺点:需占用部分内存的地址空间。,I/O,端口单独编址,有独立的,I/O,地址空间,使用专用,I/O,指令访问该区域,I/O,与内存分时共享,1,组地址总线。,优点:不占用内存的地址空间;,缺点:需使用专门的,I/O,指令,寻址方式简单,编程灵活性稍差。,Intel,系列微处理器使用后一种,I/O,端口编址方式,六、接口的功能,寻址功能,识别,M/IO#,,片选信号和端口地址,输入,/,输出功能,识别,W/R#,输入:将数据,/,状态信息送上数据总线,输出:从数据总线接收,CPU,的数据,/,控制信息,数据转换功能,将,CPU,送出的并行数据转换成外设的数据格式,将外设输入的信息转换成,CPU,的并行数据,六、接口的功能,联络功能,发就绪信号,通知,CPU,数据传输已完成,中断管理功能(中断控制器的接口),能发送中断请求和接收中断响应信号,能向,CPU,发送中断类型号,优先级管理,复位功能,能接收复位信号,使接口及所连设备重新启动,六、接口的功能,可编程功能,设置工作方式,设置控制信号,错误检测功能,检测传输错误,利用奇,/,偶校验位检测数据传输错误,利用程序检测状态寄存器的内容,检测覆盖错误,输入:,CPU,还没取走数据,该数据被另一数据覆盖,输出:外设还没取走输出缓冲器的数据,,CPU,又送出一数据将其覆盖,七、接口与系统的连接,七、接口与系统的连接,与外部设备相连:因设备不同差别很大,与总线相连:各设备连接类似,总线收发器和逻辑电路,例如:能接收,CPU,的,W/R#,信号,确定数据传输方向,地址译码器,将,M/IO#,和地址总线信号转换为对接口的片选信号,端口寄存器,用,W/R#,和,12,位低位地址线对端口寄存器寻址,七、接口与系统连接应用举例,用读信号、写信号和地址,A0,区分,4,个寄存器,八、,CPU,与外设数据传送方式,程序方式,无条件传送,查询式传送,中断传送方式,存储器直接存取,(,DMA,),方式,无条件传送,功能:,CPU,与外设直接进行数据传送,条件:外设处于就绪状态,例:开关;七段显示管,CPU,执行输入指令时,M/IO#,和,RD#,低,选通输入缓冲器,将其中的数据通过数据总线送,CPU,CPU,执行输出指令时,M/IO#,和,WR#,低,选通接口的输出锁存器,,CPU,将数据通过数据总线送输出锁存器,查询式传输(条件传送),功能:,CPU,通过执行程序不断读取并测试外设状态,如外设处于准备好状态(输入设备),或外设处于空闲状态(输出设备),则,CPU,通过输入,/,输出指令与外设传送数据,查询式传输过程的三个环节,CPU,从接口中读取状态字,CPU,检测状态字对应位,判断外设是否“就绪”。若未“就绪”,回到,如状态字表明外设已“就绪”,则传送数据,查询式输入,输入设备在数据准备好后向接口发选通信号,作用,1,:将外设的数据送接口锁存器,作用,2,:使接口,D,触发器置,1,,从而使三态缓冲器,READY,位置,1,CPU,取状态字,检查数据是否已经进入接口锁存器,若数据准备就绪,执行输入指令读数据,将状态位清,0,,以便开始下一个数据的传输过程,查询式输入,CPU,先输入状态信息“,Ready”,状态信息用,1,位二进制数表示,不同外设的状态信息可共享,1,个端口,D,7,LOP:IN AL,STATUS_PORT,TEST AL,80H,JE LOP ;,未准备好,IN AL,DATA_PORT ;,准备好,输入数据,N,Y,READY,输入状态信息,输入数据,查询式输出,CPU,执行输出指令时,由,M/IO#,和,WR#,产生选通信号,作用,1,:将数据总线上的数据送接口的数据锁存器,作用,2,:使接口,D,触发器置,1,D,触发器输出的信号为外设提供联络信号,通知数据已到接口,D,触发器使状态寄存器的,BUSY,位置,1,,阻止,CPU,输出新数据,输出设备取走数据后,发应答信号,ACK#,将,D,触发器清,0,,使状态寄存器的,BUSY,位置,0,,以便开始下一输出过程,查询式输出,CPU,需先检测外设发出的状态信息,BUSY=0,D,7,LOP:IN AL,STATUS_PORT,TEST AL,80H,JNE LOP ;,外设正忙,MOV AL,STORE ;,可以输出数据,OUT DATA_PORT,AL ;,从数据口输出,Y,N,BUSY,输入状态信息,输出数据,查询式传输应用举例,从键盘向内存缓冲区输入,1,行字符,输入回车符,(0DH),或字符行超过,80,个字符时结束输入,并自动加,1,个换行符,(0AH),。,若在输入的,81,个字符中未见回车符,则显示输出信息“,BUFFER OVERFLOW”,。,对键盘输入的,ASCII,码进行偶校验,若出错,显示出错信息;无错,先清校验位,D7,,再将其送内存缓冲区,数据输入口:,52H,;数据输出口:,54H,;状态口:,56H,设状态寄存器,D1=1,时,输入缓冲器已有一字节准备好,设状态寄存器,D0=1,时,输出缓冲器“空闲”,DAT SEGMENT,MESSAGE DB BUFFER OVERFLOW,0DH,0AH,DAT ENDS,COM SEGMENT,BUFFER DB 82 DUP (?),;接收缓冲区,COUNT DW ?,;计数器,COM ENDS,CODE SEGMENT,ASSUME DS:DAT, ES:COM, CS:CODE,START: MOV AX,DAT,MOV DS,AX,MOV AX,COM,MOV ES,AX,;装入,DS,,,ES,MOV DI,OFFSET BUFFER,;目的串指针,MOV COUNT,DI,;保存目的串指针,MOV CX,81,;字符行长度,CLD,;清方向标志,NEXT_IN,:,IN AL,56H,;读状态字,TEST AL,02H,;测试输入字符,JZ NEXT_IN,;未准备好,再测,IN AL,52H,;输入字符,OR AL,0,;校验,置,PF,JPE NO_ERROR,;偶数个,1,,转移,JMP ERROR,;校验出错,NO_ERROR:AND AL,7FH,;清除校验位,STOSB,;,AL,存入,(ES:DI),CMP AL,0DH,;是否输入回车符,LOOPNE NEXT_IN,;不是,再输入,JNE OVERFLOW,;字符行超长,转移,MOV AL,0AH,STOSB,;换行符存入缓冲区,SUB DI,COUNT,;计算输入的字符数,MOV COUNT,DI,OVERFLOW:MOV SI,OFFSET MESSAGE,;,SI,指向字符串,MOV CX,17,;,MESSAGE,的长度,NEXT_OUT: IN AL,56H,;读状态字,TEST AL,01H,;测试输出缓冲器空闲,JZ NEXT_OUT,;忙,再测试,LODSB,;,(DS:SI),取入,AL,OUT 54H,AL,;字符送数据输出端口,LOOP NEXT_OUT,;输出下,1,个字符,中断传送方式,是一种使,CPU,中止正在执行的程序(例行程序),转去处理特殊事件(中断服务程序)的操作。,例行程序,第,n+1,条指令,第,n,条指令,断点,中断服务程序,中断方式输入接口的工作原理,中断方式输入接口的工作原理,输入设备准备好,1,个数据,发选通信号,数据送输入锁存器;中断请求触发器置,1,若中断屏蔽触发器未屏蔽,,Q#=1,,发,INT#,若,IF=1,,,CPU,在执行完当前指令后从,INTA#,向接口发中断响应信号,接口收到,INTA#,后,将中断类型号送数据总线,CPU,根据中断向量确定中断处理程序入口地址,CPU,执行中断处理程序,可屏蔽中断的响应和执行,中断优先级问题的解决,中断优先级,作用:解决系统中同时有多个设备以中断方式与,CPU,传输数据的问题,接口部件:可编程的中断控制器,中断排优及响应过程,CPU,通过,INTR,和,INTA#,引线与中断控制器相连,输入输出接口的中断请求信号并行送至中断优先级管理电路,中断优先级管理电路为各级中断请求信号分配优先级,中断优先级,确定优先级最高的中断请求后,将中断类型寄存器低,3,位(对应中断请求序号)送中断服务寄存器,中断控制器向,CPU,发中断请求,若,IF=1,,,CPU,发中断响应信号,INTA#,中断控制器将中断类型号送,CPU,说明:,上述过程中,优先级较低的中断请求受到阻塞,中断处理完成,中断服务寄存器对应位清,0,后,优先级较低的中断请求才有可能得到响应,CPU,内存,外设,数据通道,数据通道,非,DMA,方式,(,包括程序控制方式和中断方式,),DMA,方式,DMAC,内存,外设,数据通道,DMA,方式,存储器直接存取,(,Direct Memory Access,,,DMA,),方式,DMA,接管总线,直接在内存和外设之间传送数据,DMA,控制器的功能,接到外设,DMA,请求时向,CPU,发总线请求信号,HOLD,CPU,发总线请求响应信号,HLDA,,,DMA,接管总线,DMA,将地址送地址总线,设置存储器地址指针,在,DMA,传送期间能发读,/,写控制信号,能设置需传送的字节数,传送期间自减,至,0,结束,传送结束,向,CPU,发,DMA,结束信号,将总线控制权交还给,CPU,DMA,传输,(,输出,),单个数据的过程,DMA,传输,(,输出,),单个数据的过程,接口准备就绪,发一个,DMA,请求,DMA,控制器向,CPU,发总线请求信号,HOLD,CPU,发总线请求响应信号,HLDA,,,DMA,接管总线,DMA,控制器将地址送地址总线,DMA,请求得到确认,内存通过数据总线将数据送接口数据锁存器,DMA,发结束信号结束总线请求,CPU,收回总线控制权,DMA,控制器的基本配置,组成:控制寄存器、状态寄存器、地址寄存器和字节计数器,从接口向内存传输一个数据块,接口准备就绪,发一个,DMA,请求,DMA,发总线请求,,CPU,响应,,DMA,接管总线,DMA,控制器将地址寄存器内容送地址总线,DMA,控制器向接口发确认,DMA,传输信号,数据送到地址总线所指出的内存单元,地址寄存器的值加,1,字节计数器的值减,1,如字节计数器的值不为,0,,回到,;,否则结束,DMA,控制器的工作特点,一方面是一个接口电路,另一方面是总线主设备,查询、中断和,DMA,方式的特点,查询方式的特点,CPU,通过执行程序不断读取和测试外设状态,缺点:,CPU,使用效率低,实时性差:多外设系统中,轮流查询每个外设,中断方式的特点,是一种使,CPU,中止正在执行的程序,转去处理随机性事件的操作,优点:,CPU,和外设并行工作,大大提高,CPU,效率,缺点:,CPU,传数据;保存和恢复断点、标志和现场;进入中断处理程序和弹出断点时都要清除指令对列花费时间,DMA,方式的特点,DMA,控制器拥有总线控制权,数据在内存外设间直接传输,
展开阅读全文