好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第5章基本输入输出系统.doc

74页
  • 卖家[上传人]:今***
  • 文档编号:106292515
  • 上传时间:2019-10-14
  • 文档格式:DOC
  • 文档大小:1.96MB
  • / 74 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第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,而不利于外设的发展所以,外部设备一般都要通过一个接口电路来与CPU连接5.1.2 设备控制器(I/O接口)的基本功能简单地讲,一个接口的基本功能是:在系统总线和I/O设备之间传输信号,提供缓冲作用,以满足接口两边的时序要求。

      由于外设的多样性及复杂性,对于不同的外设,接口的功能也不尽相同一般说来,接口应具备下述功能:1. 设备的选择(寻址)功能首先,接口要对选择存储器和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识别中断类型的功能⑺.提供时序控制功能接口具有自己的时序控制电路,对外设提供不同的控制时序有的接口设有自己的时钟发生器以满足计算机和各种外设在时序控制方面的广泛要求⑻.可编程功能通常,大规模集成电路接口对外设可有多种控制方式,应能由软件决定到底工作于哪一种方式另外,该种接口对外设可发出不同的控制信号,接口可处于不同的工作状态,这些都应该能由软件来完成当前,几乎所有的大规模集成电路接口都是可编程的⑼.电气特征的匹配功能对于由MOS工艺制造的微处理器,由于它的输出电流、电平与扇出能力不能与外部设备相匹配,其间必须加有缓冲的电路⑽.错误检测功能接口应能对信息传输过程中发生的传输错误、溢出错误等进行检测。

      上述功能并非要求每种接口都具备,对不同用途的微机系统,其接口功能不同,接口电路的复杂程度大不一样但前3种功能是接口电路中的核心部分,是一般接口都需要的5.2 IO端口的编址方式5.2.1 I/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.2 IO端口的编址方式为了让CPU来访问这些端口,每个I/O端口都必须有确切的地址号就是所谓I/O接口的编址(寻址)问题I/O端口有两种编址方式:一种是I/O端口地址与内部存储器地址统一编址方式,称为内存映射(象)(memory mapped)I/O编址;另一种是I/O端口地址和内存储器分开各自独立编址,称为I/O映射(象)(I/O mapped)I/O编址1、IO端口和存储器统一编址在单总线组成的体系结构中,CPU与存储器之间,或者CPU与I/O端口之间的信息交换一般都通过同一组地址总线和数据总线进行因此,可以把I/O端口寄存器看成存储区域中的某个单元,即端口占用存储区域中某个地址或者某几个地址号其主要优点有二:其一:它可以利用访问存储器的指令来访问I/O端口而访问存储器的指令功能比较强,不仅有一般的传送指令.还有算术、逻辑运算指令.以及各种移位、比较指令用户可以像对待存储器那样,直接对I/O端口内的数据进行处理,而不必采取预先将数据送入 CPU寄存器等步骤,这样可以提高对端口数据的处理速度。

      其二:若CPU具有支持内存保护功能,同样也保护了I/O端口其主要缺点也有二:其一:I/O端口占用了部分存储空间,从而使用户可用的内存空间相对减少了其二:存储访问指令一般比I/O访问指令长,因此指令执行时间会较长,而且I/O端口地址信息增多,使 I/O端口译码电路相对复杂例如:MCS51单片机就是将I/O端口与数据存储器统一编址对I/O的访问是采用访问数据存储器的指令来访问的读操作: MOVX A,@Ri 和 MOVX A,@DPTR写操作: MOVX @Ri,A 和 MOVX @DPTR,A 2、IO端口单独编址这种方式是将I/O端口单独编址,不占用主存的存储空间访问I/O端口使用专门的I/O指令其主要优点有二:其一:I/O端口不占用主存空间其二:专门的I/O指令短,译码简单,执行速度快其主要缺点是:I/O指令功能一般比较弱,只有运算处理功能,保护能力也较差例如:Intel 8086CPU就是将I/O端口单独编址,使用专门的I/O指令来访问I/O端口输入指令IN AL,n IN AX,nIN AL, DX IN AX, DX输出指令OUT AL,n OUT AX,nOUT AL, DX OUT AX, DX其中n是直接端口地址,DX是间接端口寻址寄存器,8086CPU能寻址1024个I/O端口。

      5.2.3 I/O端口地址译码微机要对指定的I/O端口进行读写操作,就必须要提供所要操作的端口地址I/O端口的地址译码就是通过CPU发出的地址信号选定一个指定端口的过程I/O端口地址译码电路的功能就是将地址总线上的地址信号进行译码并输出有效的端口选通(片选)信号,从而使CPU选中相应的I/O端口以便进行读写操作地址译码电路输出的片选信号通常为低电平有效I/O端口地址译码电路的设计原理与存储器的地址译码电路相同,应注意的是:I/O端口地址译码电路不仅与地址信号有关,而且与控制信号有关,通常需要把地址信号和控制信。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.