第5章基本输入输出系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-第5章基本输入输出系统【教学目的】掌握接口的基本概念、IO端口的编址方法和基本的数据传送方式【教学重点】IO端口的编址方法和基本的数据传送方式【教学难点】中断方式和DMA方式【教学方法和手段】课堂教学【课外作业】P193习题3,4,7,10【学时分配】6学时【自学内容】8237的使用【讲授内容】5.1概述输入输出系统包括:①外部设备(输入输出设备和辅助存储器)②设备控制器----主机(CPU和存储器)之间的控制部件,诸如磁盘控制器、打印机控制器等,有时也称为设备适配器或接口,其作用是控制并实现主机与外部设备之间的数据传送。5.1.1接口的基本概念1、什么是接口计算机在工作过程中,CPU要不断地与其它部件交换信息。CPU不是直接与外部设备交换信息的,而是经过一个中间电路,这个电路就称为“接口电路”,简称“接口”。所谓接口就是主机与外部设备连接的桥梁,由它来完成CPU与外部设备之间信息的传递。一般将外部设备与接口合称为“I/O系统”。接口又称为“设备控制器”或“适配器”。2、为什么要有接口电路外部设备为什么要通过接口电路与CPU连接?为什么不直接与CPU的总线相连接呢?从CPU的角度来看,对外部设备的访问(读/写)与对存储器的访问是类似的,为什么存储器可以直接通过总线与CPU连接,而外部设备却要通过接口电路来与CPU连接呢?这是因为:存储器的基本结构简单(只有很少几种),只要求几个简单的控制信号,而且存储器的访问速度一般都比较快,CPU与存储器之间的定时与协调比较容易,因此存储器可以直接通过总线与CPU连接。而外部设备一般具有以下特点:⑴外部设备的品种繁多从类型上看:有输入设备、输出设备、输入/输出设备、测量设备、通信设备、控制设备等。从结构上看:有机械式的、电子式的、机电混合式的。从原理上看:各类设备的工作原理又是各不相同的。⑵外部设备的工作速度分布范围宽如:电传打字机每秒能传输100个信息单位,温度传感器有可能长达几分钟才改变一个数据,软盘的传输速率为每秒2.5兆位,硬盘的传输速率为每秒5兆位以上。⑶外部设备的信号类型和电平种类也各有不同有数字量的,有模拟量的,有电压型的,有电流型的,有TTL电平的,有CMOS电平的。⑷外部设备的信息结构格式也各不相同,需要接口电路来协调转换。可见:⑴CPU与外设两者的信号不兼容,信号线上的功能定义、逻辑定义、时序关系都不一致;⑵CPU与外设的工作速度不兼容,CPU速度高,外设速度低;⑶若无接口,CPU要直接控制对外设的操作,大量占用CPU时间,而大大降低效率;⑷若外设直接由CPU控制,会使其硬件结构依赖于CPU,而不利于外设的发展。-2-所以,外部设备一般都要通过一个接口电路来与CPU连接。5.1.2设备控制器(I/O接口)的基本功能简单地讲,一个接口的基本功能是:在系统总线和I/O设备之间传输信号,提供缓冲作用,以满足接口两边的时序要求。由于外设的多样性及复杂性,对于不同的外设,接口的功能也不尽相同。一般说来,接口应具备下述功能:⑴.设备的选择(寻址)功能首先,接口要对选择存储器和I/O的信号能够作出解释,此外,要对CPU送来的片选信号进行识别,以便判断当前本接口是否被访问,如果受到访问,还要决定接口中哪个寄存器受到访问。这就要在接口中设置I/O端口地址译码电路对外设进行寻址。CPU将I/O设备的端口地址代码送到接口中的地址译码电路,并经译码电路,把地址代码翻译成I/O设备的选择信号。一般是把高位地址用于接口芯片选择,低位地址进行芯片内部寄存器的选择,以选定需要与自己交换信息的设备端口,只有被选中的设备才能与CPU进行数据交换或通信。没有选中的设备,就不能与CPU交换数据。⑵.输入输出功能(执行CPU的命令和返回外设的状态)接口要根据CPU送来的读/写信号决定当前进行的是输入还是输出操作,并且随之能从总线上接收从CPU送来的数据和控制信息,或者将数据或状态信息送到总线上。CPU并不是直接把命令送到被控对象,而是以命令代码的形式先发送到接口中的命令寄存器,称之为“命令口”。再由接口电路对命令代码进行识别和分析,分解成若干个控制信号,传送到I/O设备,使其产生相应的具体操作通过接口电路来进行控制的。外设的状态信号是以状态代码形式存放在接口电路的状态寄存器中,称之为“状态口”,以便向CPU报告。⑶.数据缓冲功能当外设速度不能与CPU速度相匹配时,由接口提供缓冲器,对传送数据进行缓冲,用以消除计算机与外设在定时或数据处理速度上的差异。接口中一般都设置数据缓冲寄存器(简称数据缓存器),称之为“数据口”。数据缓存器又分为输入和输出缓存器,前者暂存外设送来的数据,以待CPU将它取走;后者暂存CPU送往外设的数据。有了数据缓存器,就可以使高速工作的CPU与慢速工作的外设协调工作。由于数据缓存器直接连在系统数据总线上,因此它应具有三态特性。⑷.信号转换功能由于外设所需的控制信号和它所能提供的状态信号往往同微机的总线信号不兼容。不兼容性表现在两者的信号功能定义、逻辑关系、电平高低以及工作时序的不一致。因此,信号转换(包括CPU的信号与外设的信号的逻辑关系上、时序配合上以及电平匹配上的转换),就成为接口设计中的一个重要任务。⑸.数据转换功能(数据宽度与数据格式转换)由于外设信息格式复杂,要由接口进行计算机与外设间有关信息格式的相容性转换。如:正负逻辑转换;串-并转换;数/模或模/数转换等。例如:CPU所处理的是并行数据(8位。16位或32位),而有的外设(如串行通信设备、磁盘驱动器等)只能处理串行数据,在这种情况下,接口就应具有数据“并-串”和“串-并”的转换能力;为此,在接口中设置移位寄存器。CPU与有些外设交换数据时,要求按一定的数据格式传送,如串行通信中的起止式异步通信数据格式及面向字符的同步通信数据格式。此时,需要在CPU与通信设备之间进行数据格式转换。⑹.中断管理功能接口应能接收中断请求并暂存中断请求,进行中断排队,发送中断请求信号。而且还应有受送中断类型号,以供CPU识别中断类型的功能。⑺.提供时序控制功能接口具有自己的时序控制电路,对外设提供不同的控制时序。有的接口设有自己的时钟发生器。以满足计算机和各种外设在时序控制方面的广泛要求。⑻.可编程功能-3-通常,大规模集成电路接口对外设可有多种控制方式,应能由软件决定到底工作于哪一种方式。另外,该种接口对外设可发出不同的控制信号,接口可处于不同的工作状态,这些都应该能由软件来完成。当前,几乎所有的大规模集成电路接口都是可编程的。⑼.电气特征的匹配功能对于由MOS工艺制造的微处理器,由于它的输出电流、电平与扇出能力不能与外部设备相匹配,其间必须加有缓冲的电路。⑽.错误检测功能接口应能对信息传输过程中发生的传输错误、溢出错误等进行检测。上述功能并非要求每种接口都具备,对不同用途的微机系统,其接口功能不同,接口电路的复杂程度大不一样。但前3种功能是接口电路中的核心部分,是一般接口都需要的。5.2IO端口的编址方式5.2.1I/O端口的概念1、I/O端口端口(port)是接口电路中能被CPU直接访问的寄存器的地址。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据,因此,一个接口可以有几个端口,如命令口、状态口和数据口,分别对应于命令寄存器、状态寄存器和数据寄存器。有的接口包括的端口多(如8255A并行接口芯片有4个端口,8237A芯片有16个端口),有的接口包括的端口少(如8251A、8259A芯片只有两个端口)。对端口的操作也有所不同,有的端口只能写或只能读,有的既可以写也可以读。一般一个端口只能写入或读出一种信息,但也有几种信息共用一个端口的,如8255A的一个命令口可接收两种不同的命令,8259A的一个命令口可接收4种不同的命令。计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指出是什么寄存器。这样,我们在输入输出程序中,只看到端口,而看不到相应的具体寄存器。也就是说,访问端口就是访问接口电路中的寄存器。2、I/O操作通常所说的I/O操作是指对I/O端口的操作,而不是对I/O设备的操作,即CPU所访问的是与I/O设备相关的端口,而不是I/O设备本身。5.2.2IO端口的编址方式为了让CPU来访问这些端口,每个I/O端口都必须有确切的地址号。就是所谓I/O接口的编址(寻址)问题。I/O端口有两种编址方式:一种是I/O端口地址与内部存储器地址统一编址方式,称为内存映射(象)(memorymapped)I/O编址;另一种是I/O端口地址和内存储器分开各自独立编址,称为I/O映射(象)(I/Omapped)I/O编址。1、IO端口和存储器统一编址在单总线组成的体系结构中,CPU与存储器之间,或者CPU与I/O端口之间的信息交换。一般都通过同一组地址总线和数据总线进行。因此,可以把I/O端口寄存器看成存储区域中的某个单元,即端口占用存储区域中某个地址或者某几个地址号。其主要优点有二:其一:它可以利用访问存储器的指令来访问I/O端口。而访问存储器的指令功能比较强,不仅有一般的传送指令.还有算术、逻辑运算指令.以及各种移位、比较指令。用户可以像对待存储器那样,直接对I/O端口内的数据进行处理,而不必采取预先将数据送入CPU寄存器等步骤,这样可以提高对端口数据的处理速度。其二:若CPU具有支持内存保护功能,同样也保护了I/O端口。其主要缺点也有二:-4-其一:I/O端口占用了部分存储空间,从而使用户可用的内存空间相对减少了。其二:存储访问指令一般比I/O访问指令长,因此指令执行时间会较长,而且I/O端口地址信息增多,使I/O端口译码电路相对复杂。例如:MCS51单片机就是将I/O端口与数据存储器统一编址。对I/O的访问是采用访问数据存储器的指令来访问的。读操作:MOVXA,@Ri和MOVXA,@DPTR写操作:MOVX@Ri,A和MOVX@DPTR,A2、IO端口单独编址这种方式是将I/O端口单独编址,不占用主存的存储空间。访问I/O端口使用专门的I/O指令。其主要优点有二:其一:I/O端口不占用主存空间。其二:专门的I/O指令短,译码简单,执行速度快。其主要缺点是:I/O指令功能一般比较弱,只有运算处理功能,保护能力也较差。例如:Intel8086CPU就是将I/O端口单独编址,使用专门的I/O指令来访问I/O端口。输入指令INAL,nINAX,nINAL,DXINAX,DX输出指令OUTAL,nOUTAX,nOUTAL,DXOUTAX,DX其中n是直接端口地址,DX是间接端口寻址寄存器,8086CPU能寻址1024个I/O端口。5.2.3I/O端口地址译码微机要对指定的I/O端口进行读写操作,就必须要提供所要操作的端口地址。I/O端口的地址译码就是通过CPU发出的地址信号选定一个指定端口的过程。I/O端口地址译码电路的功能就是将地址总线上的地址信号进行译码并输出有效的端口选通(片选)信号,从而使CPU选中相应的I/O端口以便进行读写操作。地址译码电路输出的片选信号通常为低电平有效。I/O端口地址译码电路的设计原理与存储器的地址译码电路相同,应注意的是:I/O端口地址译码电路不仅与地址信号有关,而且与控制信号有关,通常需要把地址信号和控制信号进行组合。例如,用IOR、IOW信号控制对I/O端口的读写,用AEN信号区分是否DMA传送等。按照译码电路采用的元器件不同可以分为门电路译码和专用译码器译码。1.门电路译码门电路译码的特点主要是结构简单,使用方便灵活,适于系统中I/O端口较少的场合。【例5.1】如图5-2所示是由门电路组成的地址为2F0H端口译码电路。解:2F0H=1011110000B,为了使T1输出是低电平,则要求输入的A2__A9分别是11110000,T2中AEN信号为控制信号,由DMA控制器发出,为低电平时表示CPU占用系统总线,可以访问某个端口,译码器工作;为高电平时表示DMA控制器占用系统总线,应让端口不被访问,译码器停止工作,避免在DMA传送期间D

1 / 74
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功