数据端口由锁存器实现基本输入输出接口34查询方式的典型课件_第1页
数据端口由锁存器实现基本输入输出接口34查询方式的典型课件_第2页
数据端口由锁存器实现基本输入输出接口34查询方式的典型课件_第3页
数据端口由锁存器实现基本输入输出接口34查询方式的典型课件_第4页
数据端口由锁存器实现基本输入输出接口34查询方式的典型课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型计算机系统微型计算机系统第六章:基本输入输出接口教学提示:按照冯·诺依曼对计算机的划分,计算机包括运算器、控制器、存储器、输入设备和输出设备五个大的部分。在前面的章节中,我们主要介绍了CPU与存储器之间的数据传送和数据处理。但是,计算机要与外界联系,就必须通过输入设备接收信息、通过输出设备发送信息,在本章中我们主要介绍这部分知识。教学要求:通过本章学习,需要掌握输入/输出接口的基本概念,掌握I/O接口的分类和基本功能,掌握CPU与外部设备数据传送的几种基本方式和相关的指令2CompanyLogo第六章:基本输入输出接口教学提示:教学要求:2Company基本内容:6.1I/O接口概述6.1.1I/O接口的主要功能

6.1.2I/O接口

6.1.3I/O端口的编址方法

6.1.48088/8086的输入/输出指令6.2I/O接口的数据传送方式6.2.1无条件传送方式及其接口

6.2.2查询传送方式及其接口

6.2.3中断传送方式及其接口

6.2.4DMA传送方式第六章:基本输入输出接口3CompanyLogo基本内容:6.1I/O接口概述第六章:基本输入输出接§6.1I/O接口概述输入/输出设备的种类十分繁杂,各自有着不同的电平信号、数据格式、传送速度等,通常与CPU的访问信号是不协调的,所以CPU一般不能直接访问这些输入/输出设备,而是要在CPU和输入/输出设备之间安置一个接口电路,通过接口电路的转换,使得来自输入设备的信号能够被CPU读取、CPU的输出信号能够被输出设备接受。第六章:基本输入输出接口4CompanyLogo§6.1I/O接口概述输入/输出设备的种类十分

用于连接CPU和外部设备,并进行相应信号转换的电路称为I/O接口电路(或接口电路)。

计算机

外设接口键盘鼠标CRT打印机绘图仪第六章:基本输入输出接口5CompanyLogo用于连接CPU和外部设备,并进行相应信号转换

I/O接口的基本功能是能够根据CPU的要求对I/O设备进行管理与控制,实现信号逻辑及工作时序的转换,保证CPU与外设之间能进行可靠有效的信息交换。

1、对输入/输出的信号进行变换

输入/输出设备的信号与CPU的信号在数据格式、电平高低、传送速度等方面有着很大的差别,所以接口电路就需要把这些信号变换成适合对方的形式。第六章:基本输入输出接口6CompanyLogoI/O接口的基本功能是能够根据CPU的要求对I/O设

2、对输入/输出的数据进行缓冲和锁存

通常输入/输出设备的工作速度比CPU都慢很多,而且CPU的工作繁忙,所以要对输入/输出的数据进行缓冲和锁存,有效地提高整个计算机的工作效率。第六章:基本输入输出接口7CompanyLogo2、对输入/输出的数据进行缓冲和锁存第六章:基本输入输(1)输出时,数据必须锁存。

CPU输出某个数据后,马上就要进行后续的其他工作,而这时输出设备还没取走该数据,这就需要接口电路(通常采用锁存器)把CPU输出的数据锁存下来,供输出设备读取。第六章:基本输入输出接口8CompanyLogo(1)输出时,数据必须锁存。第六章:基本输入输出接口8Com

(2)输入时,数据必须进行缓冲隔离。当输入设备向CPU送来一个数据时,此时CPU可能正在使用数据总线进行其他相关工作,所以需要接口电路(通常采用三态缓冲器)对数据进行缓冲。待CPU有空来选通接口电路读取这数据。第六章:基本输入输出接口9CompanyLogo(2)输入时,数据必须进行缓冲隔离。第六章:基本输入输出

3、完成设备的选择和寻址

一个计算机系统中,需要通过许多接口电路连接了许多外部设备,当CPU访问到该接口电路中寄存器时,应执行相应的读写操作,而当CPU访问其他接口电路中寄存器时,则这个接口电路不应操作。第六章:基本输入输出接口10CompanyLogo3、完成设备的选择和寻址第六章:基本输入输出接口10§6.1.2I/O接口1、数据信息、状态信息及控制信息

CPU和外设之间传送三种信息—数据信息、控制信息和状态信息。数据信息:有数字量、模拟量和开关量三种类型:数字量:以二进制码形式提供的信息。开关量:用2个状态表示的信息。模拟量:指由传感器等提供的由物理量转换成的相应的连续变化的电信号。第六章:基本输入输出接口11CompanyLogo§6.1.2I/O接口1、数据信息、状态信息及控制信息

状态信息——表征外设的工作状态对输入接口,外设是否准备好发送数据,“READY”准备好?对输出接口,外设是否准备好接收数据,“BUSY”外设忙吗?控制信息——CPU控制外设工作的命令

CPU通过接口发出的命令,如A/D转换器的启/停信号,设置外设的工作模式等。第六章:基本输入输出接口12CompanyLogo状态信息——表征外设的工作状态控制信息——CPU控制外

2、接口与端口

接口(Interface)—CPU与外设之间传递信息的控制电路,是CPU与外设之间传送信息的一个“界面”、一个连接部件。端口(Port)—接口中可以由CPU进行读或写的寄存器。第六章:基本输入输出接口13CompanyLogo2、接口与端口接口(Interfac按照存放的信息类型进行分类,端口可以分成数据端口、状态端口、控制端口3种:数据端口:存放外部设备传送来的数据,供CPU读取或存放CPU输出的数据,并传送给外部设备;状态端口:用于暂存外设的状态信息,供CPU读取;控制端口:用于存放CPU发送给外设或接口的控制信息,控制外设或接口的工作方式。第六章:基本输入输出接口14CompanyLogo按照存放的信息类型进行分类,端口可以分成数据端口、状典型的接口电路示意图如图所示:

CPU就是通过访问这些I/O端口,完成控制外部设备、了解外设的工作状态、与外设进行数据传送等操作的。第六章:基本输入输出接口15CompanyLogo典型的接口电路示意图如图所示:CPU就是通过访问这§6.1.3I/O端口的编址方法(寻址方式)

为了区分接口电路的各个寄存器,系统为它们各自分配了一个地址,称为I/O端口地址,以便对它们进行寻址。

I/O端口有两种编址方式:存储器映像编址方式、I/O独立编址方式。

1、和存储器统一编址(存储器映象编址)方式存储器和I/O端口共用统一的地址空间,每一个端口视为一个存储单元;第六章:基本输入输出接口16CompanyLogo§6.1.3I/O端口的编址方法(寻址方式)访问I/O端口同样用MOV指令,所有访问存储器的指令(包括存储器的算术、逻辑运算指令)都可用于I/O端口,系统编程比较灵活;I/O占用了一部分内存空间;指令的机器码较长,执行时间也长;第六章:基本输入输出接口17CompanyLogo访问I/O端口同样用MOV指令,所有访问存储器的指令(包括存采用存储器与I/O接口统一编址的计算机系统的示意图如右图所示。该系统中存储器单元和I/O接口一共有64K(地址是0000H~FFFFH),其中地址为3000H~37FFH的部分是I/O接口,其余部分是存储器单元,实际存储器有62K个单元。第六章:基本输入输出接口18CompanyLogo采用存储器与I/O接口统一编址的计算机系统的示

2、端口独立编址方式存储器和I/O接口各自使用不同的地址空间。8086/8088系统中,存储器的地址范围是FFFFFH~00000H,I/O接口的地址范围是0000H~FFFFH;CPU利用专门的输入/输出指令访问I/O接口;I/O接口不占用存储器的空间;I/O端口的地址码较短,译码电路比较简单,程序比较清晰;程序设计灵活性较差,I/O指令的功能一般不如存储器访问指令丰富,程序设计灵活性较差。第六章:基本输入输出接口19CompanyLogo2、端口独立编址方式存储器和I/O接口各自使用不同的地址空8088/8086系统中存储器和I/O接口之间的关系如图所示。存储器和I/O接口的地址是各自独立的,存储器的地址范围是00000H~FFFFFH,I/O接口地址范围是0000H~FFFFH,相互之间完全独立。第六章:基本输入输出接口20CompanyLogo8088/8086系统中存储器和I/O接口之间的关系如图所示§6.1.48088/8086的输入/输出指令

在8088/8086为CPU的计算机系统中,I/O接口的编址采用的是独立编址方法,系统中I/O接口的地址范围是FFFFH~0000H。

8088/8086指令系统中有专门访问I/O接口的输入/输出指令:

1、输入指令IN

(1)指令格式1:INAL,n

;指令中目的操作数必须是累加器,

n为端口号(端口地址)必须≤FFH

指令功能:把地址为n的端口的8位信息传送给AL;

第六章:基本输入输出接口21CompanyLogo§6.1.48088/8086的输入/输出指令

例:INAL,20H

该指令把20H端口的内容送到AL寄存器中。(2)指令格式2:INAL,DX

指令功能:用DX间接寻址,把DX表示端口地址的端口的8位信息传送给AL;

DX为0000-FFFFH的值;例:MOVDX,200HINAL,DX

实现将200H号端口的内容送入AL第六章:基本输入输出接口22CompanyLogo例:INAL,20H(2)

(3)指令格式3:INAX,n

指令功能:读入n、n+1两个I/O端口的内容,分别送入AL和AH。

例:INAX,20H

一次读入20H、21H两个端口的内容,分别送入AL和AH中

(4)指令格式4:INAX,DX

指令功能:用DX间接寻址,读取由DX和DX+1表示端口地址的两个端口的内容,分别送入AL和AH中。

例:MOVDX,200HINAX,DX。用这两条指令,输入200H和201H号端口的内容,分别送入AL

和AH中。第六章:基本输入输出接口23CompanyLogo(3)指令格式3:INAX,n(

2、输出指令

(1)指令格式1:OUTn,AL

指令功能:把AL的信息传送给地址为n的端口;

例:OUT20H,AL。该指令把AL寄存器的内容送到20H端口中;第六章:基本输入输出接口24CompanyLogo2、输出指令(1)指令格式1:OUT

(2)指令格式2:OUTDX,AL

指令功能:把AL中的信息传送给由DX表示端口地址的一个端口;

例:MOVDX,200H

OUTDX,AL

利用这两条指令,可以把AL寄存器的内容,送入200H号端口。第六章:基本输入输出接口25CompanyLogo(2)指令格式2:OUTDX,AL第六章

(3)指令格式3:OUTn,AX

指令功能:该指令一次把AL和AH内容,分别送入地址为n和n+1的两个I/O端口中。例:OUT20H,AX

把AL和AH的内容,分别送入20H、21H两个端口中。第六章:基本输入输出接口26CompanyLogo(3)指令格式3:OUTn,AX第六章:基本输

(4)指令格式:OUTDX,AX

指令功能:该指令一次把AL和AH中的内容,分别送入由DX和

DX+1表示的两个端口。

例:MOVDX,200H OUTDX,AX

利用这两条指令,把AL和AH中的内容,分别送入200H和201H号两个端口。第六章:基本输入输出接口27CompanyLogo(4)指令格式:OUTDX,AX第六章:§6.2I/O接口的数据传送方式

CPU与I/O接口进行数据传送的方式也有多种形式,常见的有:无条件传送方式、查询传送方式、中断传送方式、DMA传送方式。无条件传送方式、查询传送方式又称为程序控制传送方式。第六章:基本输入输出接口28CompanyLogo§6.2I/O接口的数据传送方式第六章:基本输入输出接§6.2.1无条件传送方式及其接口CPU不检查外部设备的状态,直接进行数据传送的传送方式。简单,适用于慢速外设,CPU认为需要时,可以随时给这种外部设备输出数据或从这种外部设备上输入数据。如:LED(输出),乒乓开关(输入)无条件传送方式的接口只包含数据端口,输入端口时采用三态输入缓冲器实现数据端口,输出端口时采用锁存器实现数据端口;第六章:基本输入输出接口29CompanyLogo§6.2.1无条件传送方式及其接口CPU不检查外部设备

无条件输入/输出传送方式的典型接口电路:第六章:基本输入输出接口30CompanyLogo无条件输入/输出传送方式的典型接口电路:第六章:基本【例6.1】

CPU控制LED发光二极管不同的点亮状态,采用无条件传送方式,向接口输出数据。一个简单的发光二极管输出接口电路如图所示:每位触发器控制对应的发光二极管,触发器输出为“1”,发光二极管导通发光;触发器输出为“0”,发光二极管就不能发光;第六章:基本输入输出接口31CompanyLogo【例6.1】CPU控制LED发光二极管不同的点亮状态,【例6.2】

一个跳线开关输入接口电路如图所示。跳线开关是常用于系统的设置的输入装置,一般采用无条件传送方式,访问跳线开关装置。每个三态门对应一个开关。

如果某位跳线开关不短接(断开),则CPU读入该位的状态是“1”;如果某位跳线开关短接到地线上,则CPU读入该位的状态是“0”。第六章:基本输入输出接口32CompanyLogo【例6.2】一个跳线开关输入接口电路如图所示。跳线开关是§6.2.2查询传送方式及其接口

CPU在进行数据传送之前,先检查状态端口,如果外部设备当前处于“准备好”的状态,就进行数据传送;否则,再次检查状态端口,直至检测到外部设备“准备好”,再进行数据传送。读状态端口准备好读/写数据端口进行数据传送NYCPU的工作效率非常低接口包括数据端口和状态端口,状态端口由三态输入缓冲器实现;输入设备时,数据端口由三态输入缓冲器实现;输出设备时,数据端口由锁存器实现;第六章:基本输入输出接口33CompanyLogo§6.2.2查询传送方式及其接口CPU在查询方式的典型输出接口电路:

数据输出的工作过程:

(ⅰ)8088CPU在输出数据前,先要查询设备的状态,执行读状态端口操作,判断从状态口读入数据的D7位是1还是0,若为1表示设备忙,则等待后再查询;若为0表示设备空闲,CPU将数据写入数据端口,同时将状态触发器置1。之后重复以上的操作,周而复始。第六章:基本输入输出接口34CompanyLogo查询方式的典型输出接口电路:数据输出的工作过程:第六章:基(ⅱ)输出设备检测STB信号:为0时则等待;为1时,则进行数据处理;待数据处理完毕后,通过ACK

端发出负脉冲将状态触发器清0。第六章:基本输入输出接口35CompanyLogo(ⅱ)输出设备检测STB信号:第六章:基本输入输出接口【例6.3】

ADC0809是常用的模拟接口芯片,它把模拟电压信号转换成

8位数字信号,供CPU读取。◆向端口a写入要转换通道的地址。比如:要转换IN2通道的内容,就写入02H,0809内部将锁存该地址;◆启动ADC0809转换;◆

CPU将不断地读取端口b的EOC值,若该位为”0”,表示正在转换,继续查询端口b的EOC值;当该位是“1”时,表示转换已经完成了;这时CPU可以读取端口a,0809就可以把转换好的数据通过数据线送给CPU。接口电路的工作过程:a、b表示ADC0809的两个端口地址36CompanyLogo【例6.3】ADC0809是常用的模拟接口芯片,它把模拟电

若端口a的地址是1000H,b端口的地址是1001H,要读取IN2通道的内容,送入KIN2内存单元。以下为实现转换过程的程序:

MOVAL,02HMOVDX,1000HOUTDX,AL ;写入通道的地址,并启动转换的过程L0:MOVDX,1001HINAL,DX ;读取状态端口

ANDAL,01H(TESTAL,01H)

JZL0 ;如果EOC为0,则再次查询

MOVDX,1000HINAL,DX ;读取转换好的数据

MOVKIN2,AL第六章:基本输入输出接口37CompanyLogo若端口a的地址是1000H,b端口的地址是1001H,要读§6.2.3中断传送方式及其接口

CPU在某一时刻启动一台外设,然后继续执行其主程序,外设完成数据传送的准备后,向CPU发出“中断请求”信号,在CPU允许响应中断的条件下,现行主程序被“中断”,转去执行与I/O接口进行数据传送的“中断服务程序”,传送完成后再返回被中断的主程序,从断点处继续执行。第六章:基本输入输出接口38CompanyLogo§6.2.3中断传送方式及其接口CPU在

中断方式下CPU执行程序流程:CPU和外设大部分时间处在并行工作状态,只在CPU响应外设的中断申请后,进入数据传送的过程。中断传送方式提高了CPU的效率;虽提高了CPU的效率,但仍然是通过CPU执行程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论