微机原理与接口技术:微型计算机输入输出接口 详细笔记与例题

文章目录

  • 笔记部分
    • 1.输入输出接口
      • 1.1.外部设备及其信号
      • 1.2.I/O接口的功能
      • 1.3.I/O端口的编址方法
        • 1.3.1.端口
        • 1.3.2.I/O端口的编址
      • 1.4.输入输出指令
      • 1.5.简单的I/O接口的组成
    • 2.输入输出数据传输的控制方式
      • 2.1.程序方式
        • 2.1.1.无条件传送方式
        • 2.1.2.条件传送方式
      • 2.2.中断方式
      • 2.3.直接存储器存取方式
    • 3.开关量输入输出接口
      • 3.1.开关量输入接口
        • 3.1.1.基本的开关量输入接口
        • 3.1.2.矩阵式开关量输入接口
      • 3.2.开关量输出接口
        • 3.2.1.基本的开关量输出接口
        • 3.2.2.LED七段数码显示管接口
  • 习题部分

笔记部分

1.输入输出接口

1.1.外部设备及其信号

按照数据信息传输方向划分:按照外设与CPU之间数据信息传输的方向,可以将外部设备分为输入设备、输出设备和复合输入输出设备。

  • 输入设备:数据信息从外部设备送往CPU。
  • 输出设备:数据信息从CPU送往外部设备。
  • 复合输入输出设备:数据信息在CPU和外设之间双向传播。

按照设备的功能划分:外设可以划分为人机交互设备、数据存储设备、媒体输入输出设备和数据采集与设备控制设备。
外部设备的信号分类:外部设备与主机之间交换的信号可以分为数据信号、控制信号和状态信号三类。三类信号都是以数据的形式,通过数据总线和CPU进行信息传输的。

  • 数据信号:以二进制形式表示的各种信息。数据信号可以进一步划分为数字信号和模拟信号等。
  • 控制信号:CPU以一组二进制形式表示的用于控制设备工作的命令。控制信号的格式因设备而异。
  • 状态信号:用一组二进制数表示的外设当前的工作状态,从外设送到CPU。不同的外部设备有不同的状态信号。

1.2.I/O接口的功能

接口的定义:接口是计算机一个部件与另一个部件之间的连接界面。

接口的重要性

  • 微机和I/O设备的信息类型和格式可能不一样。
  • 微机和I/O 设备信号传输处理的速度可能不匹配。
  • 若不用接口, I/O直接接CPU ,随着外设增加,会大大降低CPU的效率。
  • I/O 直接接CPU,会使外设硬件结构过于依赖CPU,对外设本身发展不利。

I/O接口的定义:计算机连接总线和外部设备的中间界面。

I/O接口的功能

  • 设备选择功能:CPU通过发出不同的地址代码来标识和选择不同的外设。接口对系统总线上传输的外设地址进行译码,在检测到本设备地址的代码时产生相应的选中信号,并按照CPU的要求来进行信息传输。
  • 信息传输与联络功能:在设备被选中时,接口从CPU接收数据或控制信息,或将数据及状态信息发往数据总线。
  • 数据格式转换功能:如果外设和CPU数据格式不同时,接口需要进行两种数据格式之间的相互转换。(例如串行数据和并行数据的相互转化)
  • 中断管理功能:接口应该可以向CPU申请中断、向CPU发送中断类型号并进行中断优先权的管理等。
  • 复位功能:接口在接收系统的复位信号后将接口电路及其外设转换为初始状态。
  • 可编程功能:一部分接口具有可编程特性,用于设置接口的工作方式、工作参数和信号的极性等,扩大了接口的适用范围。
  • 错误检测功能:一些传输数据量大且传输速率高的接口具有信号传输的错误检测功能。

常见的信号传输错误

  • 物理信道上的传输错误:信号在线路上传输时如果遇到干扰信号则可能发生传输错误。检测传输错误的常用简单方法是奇偶校验。
  • 数据传输中的覆盖错误:输入设备完成一次输入操作后,把所获得的数据暂存在接口内,如果在该设备完成下一次输入操作前,CPU没有从接口取走数据,那么在新的数据送入接口后,上一次的数据将被覆盖,导致数据的丢失。输出接口中也有类似的错误。

1.3.I/O端口的编址方法

1.3.1.端口

端口的定义:接口内通常设置有若干个寄存器,用来暂存CPU和外设之间传输的数据、状态和命令,这些寄存器称为端口。每一个端口都有一个独立的地址。

端口的分类:根据寄存器内暂存信息的种类和传输方向,可以划分为数据输入端口、输出输出端口、命令端口(控制端口)和状态端口。

CPU与外设的输入输出操作的实质:CPU与外部设备的输入输出操作,都是通过对相应端口的读写操作来实现的。所谓外设的地址,实际上就是该设备对应的接口内各个端口的地址。一台外设可以拥有几个通常是相邻的端口地址。

1.3.2.I/O端口的编址

I/O端口地址与内存统一编址

  • 方法别称:统一编址也称为存储器映射编址方式。
  • 方法内容:该方式从内存的地址空间中专门划分出一部分分配给I/O端口,已经用于I/O端口的地址,存储器不能再使用。
  • 方法优点:有助于降低CPU的复杂性,给使用者提供方便。
  • 方法缺点:相对减少了内存的可用范围,而且由于难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性。

I/O端口与内存独立编址

  • 方法内容:内存和I/O端口具有各自独立的编址空间,访问I/O端口需要专门的I/O指令。
  • 应用情况:8086/8088 CPU都采用这种方式。访问内存储器使用20根地址线A19-A0,同时使得M/IO信号为1;访问I/O端口时使用低16根地址线A15-A0,同时使得M/IO信号为0。

IBM PC微型计算机I/O端口地址分配:早期PC中,使用A9-A0共10条地址线定义了1024个端口。前256个端口供主板上的接口芯片使用,后768个端口供扩展槽接口卡使用。

1.4.输入输出指令

端口输入输出中累加器的作用:输入输出必须通过累加器进行:8位外部端口用AL进行输出;16位外部端口用AX进行输入输出;32位外部端口用EAX进行输入输出。

输入指令和输出指令:输入指令IN把外部设备接口输入的信息读入累加器;输出指令OUT把累加器中的内容向输出端口输出。

端口地址的两种寻址方式:如果端口地址在0-255的范围内,则可以直接以立即数的形式使用地址;当端口地址大于255时,必须事先把地址送入DX寄存器,通过该寄存器进行间接寻址。

1.5.简单的I/O接口的组成

地址译码电路

  • 地址译码电路的功能:CPU在执行输入输出指令时,向地址总线发送外部设备的端口地址。在接收到与本接口相关的地址之后,译码电路应能产生相应的选通信号,使得相关端口寄存器进行数据、命令或状态的传输,完成一次I/O操作。
  • 地址代码的分解:由于一个接口上的几个端口地址往往是连续排列的,因此可以把地址代码分解为两个部分:高位地址用于对接口的选择;低位地址用来选择接口内不同的端口。
  • 跳线器的作用:避免设定端口地址时与已有设备的端口地址重复。
  • 端口地址的共用:由于读写操作不会同时进行,因此一个输入端口和另一个输出端口可以使用同一个地址代码。
  • 常用的译码芯片:74LS138

数据锁存器和缓冲器

  • 三态缓冲:为了使系统数据总线能够正常地进行数据传送,要求所有这些连接到系统数据总线上的设备有三态输出的功能:在CPU选中该设备时,它能向系统数据总线发送数据信号;在其他时间,它的输出端必须呈现高阻状态。为此,所有的输入端口必须通过三态缓冲器与系统总线连接。
  • 锁存器:输入设备完成一次输入操作后,在送出数据的同时,产生数据选通信号,把数据打入八位寄存器74LS273。如果输入设备自身具有数据锁存的功能,那么输入接口内可以不使用锁存器。
  • 缓冲器和锁存器的作用概述:缓冲器的输入和输出始终保持一定的关系;锁存器的输出不随输入发生变化。

2.输入输出数据传输的控制方式

CPU与外部数据传输的类型:CPU与外部主要进行两种类型的数据传输,分别是与内存的数据传输和与外设的数据传输。CPU使用一个总线周期即可与内存进行一次数据传输,而且这个过程可以连续进行;但是与外设的数据传输就要复杂得多。

CPU与外设数据传输的类型:程序方式、中断方式和DMA方式。

2.1.程序方式

程序方式的定义和分类:程序方式传送是指在程序控制下进行信息传送,具体实现又分为无条件传送和条件传送。

2.1.1.无条件传送方式
  • 适用情况:无条件传送方式适用于一些简单的的I/O设备,对这些I/O设备的操作可以随时进行。
  • 输入信号处理:输入信号这一类简单设备的输入信号一般不需要进行锁存,可以通过三态缓冲器与系统数据总线直接相连。
  • 输出信号处理:输出状态一般需要在接口内锁存,以便在新的输出到来之前保持现在的输出状态。
2.1.2.条件传送方式
  • 方式别称:也称为查询式传送。
  • 工作过程:CPU通过程序不断读取并测试外设的状态。如果输入设备处于准备好的状态(READY=1),CPU执行输入指令从该设备输入;如果输出设备处于空闲状态(BUSY=0),则CPU执行输出指令向该设备输出。
  • 多个数据的输入输出过程:每进行一次输入或者输出都首先查询它的状态字,只有当设备就绪时才可以进行数据的传输。
  • 多个设备的输入输出过程:应当优先执行工作速度较快的外部设备的I/O过程,然后再执行其他设备的I/O过程一避免覆盖错误。
  • 方式特点:CPU处于主动地位,外部设备处于消极等待查询的被动地位。
  • 方式评价:解决了CPU与外部设备工作速度的协调问题,但是却大大降低了CPU的使用效率,并且难以使得系统中每个外部设备都能工作在最佳状态。

2.2.中断方式

  • 基本思想:为了使得CPU能有效管理多个外设,提高CPU的工作效率,可以赋予系统中每个外设某种主动、配合CPU工作的权利。
  • 工作过程:某个外部设备已经把数据准备好后,它可以主动向CPU发出一个请求信号;CPU再接收到这个请求信号后暂停当前的工作转而进行该设备的数据传送操作;数据传送结束后CPU再继续刚才的工作。
  • 方式优点:大大提高了CPU的效率。
  • 方式别称:由于数据仍然在程序的控制下执行,所以也称为程序中断方式。
  • 适用情况:适用于中、慢速外部设备的数据传送。

2.3.直接存储器存取方式

  • 程序查询方式和中断方式存在的问题:对于高速工作的外部设备,程序查询方式和中断方式的数据传输速度都跟不上外部设备的工作速度。
  • 工作过程:将外部设备的数据不经过CPU直接送到内存储器中,或者从内存储器不经过CPU直接送往外部设备。
  • 工作周期:一次DMA传送只需要执行一个DMA周期(大致相当于一个总线读写周期),因此能够满足高速外部设备数据传输的需要。
  • DMA控制器:DMA控制器是进行DMA存取的必不可少的器件,用于协调外设接口和内存之间的数据传输。

3.开关量输入输出接口

开关量的输入输出控制方式:开关量的输入输出一般不受到状态的制约,因此都采用无条件的输入输出。

3.1.开关量输入接口

3.1.1.基本的开关量输入接口
  • 常见的输入开关量形态:单刀单掷开关、单刀双掷开关、按钮。
  • 开关量与系统总线的连接:开关量通过三态缓冲器与系统数据总线连接。
3.1.2.矩阵式开关量输入接口
  • 适用情况:开关数量多时,常常把它们排列成矩阵以简化电路,数字设备上常用的键盘就是一个典型的例子。
  • 键盘原理:数据输出端口连接8根行线,数据输入端口连接8根列线。通过程序对8根行线逐行扫描,识别按键所在的行列,从而获得按键的代码。
  • 延时的目的:当键盘上的一个键刚刚被按下时会产生抖动,这时读它的代码容易产生误判,因此在发现有键按下后需要适当延时。
  • 行列码和扫描码
    ①行列码和扫描码都用于表示一个键的编码。
    ②行列码为两个字节,扫描码为一个字节。
    ③行列码:如一个行列码为F7FBH。F7FBH=11110111,表示按键在第三行上;FBH=11111011,表示按键在第二列上。
    ④扫描码:如果一个扫描码32H。3表示第三行,2表示第二列。

3.2.开关量输出接口

3.2.1.基本的开关量输出接口
  • 常见的输出开关量:LED发光二极管(用作状态指示灯),执行元件驱动线圈。
3.2.2.LED七段数码显示管接口
  • 电流驱动:七段数码管是一种电流驱动型器件,为了获得足够的亮度需要为它提供较大的电流。
  • 七段码表:为了获取所需要的字形,通常把数字0-9的字形代码(称为七段码或段码)存入内存的一张表格,称为七段码表。

习题部分

1.接口最基本的功能是输入()和输出()(A)。

A.缓冲;锁存
B.锁存;缓冲

2.下列可用作为简单输入接口的电路是 (B)

A.译码器
B.三态缓冲器
C.放大器
D.总线控制器

3.输入输出的控制方式是(程序方式)、(中断方式)、(DMA方式)三种。

4.地址译码是接口的基本功能之一,地址码中(高位地址码)用作接口芯片的选择,(低位地址码)用作接口内不同端口的选择。

5.8086/8088系统采用I/O端口与内存地址(B)的方式。

A.统一编址
B.分别独立编址
C.部分译码
D.线选法译码

你可能感兴趣的:(接口技术,学习)