• 微机原理之 输入输出与中断


    1. I/O接口概述

    1. I/O接口的作用

       把介于主机和外设之间的一种缓冲电路称为I/O接口电路,简称I/O接口(Interface)

       对于主机,I/O接口提供了外部设备的工作状态及数据;对于外部设备,I/O接口记忆了主机送给外设的一切命令和数据,从而使主机与外设之间协调一致地工作。

    2. CPU与外设交换的信息

       主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三类。

    1.  数据信息
    

    数据信息又分为数字量、模拟量和开关量三种形式。

    1. 数字量:
        数字量是计算机可以直接发送、接收和处理的数据。例如,由键盘、显示器、打印机及磁盘等I/O外设与 CPU交换的信息,它们是以二进制形式表示的数或以ASCII码表示的数符。

    2. 模拟量:模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能输入计算机

    3. 开关量:
         开关量可表示两个状态,如开关的断开和闭合,机器的运转与停止,阀门的打开与关闭等。这些开关量通常要经过相应的电平转换才能与计算机连接。开关量只要用一位二进制数即可表示。

      1. 状态信息

       反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况

    3.  控制信息
    

       控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息 。

       虽然数据信息、状态信息和控制信息含义各不相同,但在微型计算机系统中,CPU通过接口和外设交换信息时,只能用输入指令(IN)和输出指令 (OUT)传送数据,所以状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总线来传送。但在接口中,这三种信息是在不同的寄存器中分别存放的

    3. I/O接口的基本结构

    这里写图片描述
       正如每个存储单元都有一个物理地址一样,每个端口也有一个地址与之相对应,该地址称为端口地址。有了端口地址,CPU对外设的输入/输出操作实际上就是对I/O接口中各端口的读/写操作。数据端口一般是双向的,数据是输入还是输出,取决于对该端口地址进行操作时CPU发往接口电路的读/写控制信号

       输入/输出操作所用到的地址总是对端口而言,而不是对接口而言的。接口和端口是两个不同的概念,若干个端口加上相应的控制电路才构成接口

    4. I/O端口的编址

       微型计算机系统中I/O端口编址方式有两种:I/O端口与内存单元统一编址和 I/O端口与内存单元独立编址。

    1. I/O端口与内存单元统一编址
      这里写图片描述

    说明:采用统一编址方式后,CPU对I/O端口的输入/输出操作如同对存储单元的读/写操作一样,所有访问内存的指令同样都可用于访问I/O端口,因此无需专门的I/O指令,从而简化了指令系统的设计

    1. I/O端口与内存单元统一编址

       在这种编址方式中,建立了两个地址空间,一个为内存地址空间,一个为I/O地址空间。内存地址空间和I/O地址空间是相对独立的,通过控制总线来确定CPU到底要访问内存还是I/O端口

    这里写图片描述

       80x86 CPU组成的微机系统都采用独立编址方式。在8086/8088系统中,共有20根地址线对内存寻址,内存的地址范围是00000H~FFFFFH;用地址总线的低16位对I/O端口寻址,所以I/O端口的地址范围是0000H~FFFFH,CPU在访问内存和外设时,使用了不同的控制信号来加以区分。

    5. I/O端口的地址译码

       微机系统常用的I/O接口电路一般都被设计成通用的I/O接口芯片,一个接口芯片内部可以有若干可寻址的端口。因此,所有接口芯片都有片选信号线和用于片内端口寻址的地址线。例如,某接口芯片内有四个端口地址,则该芯片外就会有两根地址线(这是为什么呐?我也不知道,正在学习中。。。)

    一个小重点:

    I/O端口地址译码的方法有多种,一般的原则是把CPU用于I/O端口寻址的地址线分为高位地址线和低位地址线两部分,将低位地址线直接连到I/O接口芯片的相应地址引脚,实现片内寻址,即选中片内的端口;将高位地址线与CPU的控制信号组合,经地址译码电路产生I/O接口芯片的片选信号。

    2. CPU与外设之间数据传送的方式

    2.1 程序传送方式

    1.无条件传送方式
    

    CPU对外设进行输入/输出操作时无需考虑外设的状态。比如:关、继电器、数码管、发光二极管等

    2.查询传送方式
    

    先查询相应设备的状态,当输入设备处于准备好状态,输出设备处于空闲状态时,CPU才执行输入/输出指令与外设交换信息

    3.中断传送方式
    

    中断传送方式是指当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,使CPU暂停正在执行的程序,转去执行数据的输入/输出操作,数据传送结束后,CPU再继续执行被暂停的程序。

    3. 中断技术

    3.1 中断的基本概念

    3.1.1 中断的定义

       在CPU执行程序的过程中,出现了某种紧急或异常的事件(中断请求),CPU需暂停正在执行的程序,转去处理该事件(执行中断服务程序),并在处理完毕后返回断点处继续执行被暂停的程序,这一过程称为中断 。
    这里写图片描述

    3.1.2 中断源

    任何能够引发中断的事件都称为中断源,可分为硬件中断源和软件中断源两类。

    硬件中断源主要包括:外设(如键盘、打印机等)、,电源掉电 等
    软件中断源主要包括:(如断点、单步执行等)、中断指令(如INT 21H等),
                    (如除法运算时除数为零)等。
    

    3.1.3 中断处理过程

       对于一个中断源的中断处理过程应包括以下几个步骤,即中断请求、中断响应、保护现场、中断处理和中断返回(执行完中断服务程序,返回到原先被中断的程序,此过程称为中断返回) 。
    ppt 20——7 12页

    3.1.4

    4. 8086/8088 中断系统

    5. 可编程中断控制器Intel 8259A

  • 相关阅读:
    Centos系统python2.x升级python3.x
    VirtualBox安装Ghost XP
    VirtualBox检查更新失败解决办法
    PyDev+eclipse的编码问题
    redhat开启linux server
    使用VNC实现多用户登录linux系统
    使用webdav实现文档共享
    各类软件使用说明
    linux安装apache软件的过程
    JavaScript获取DOM元素位置和尺寸大小
  • 原文地址:https://www.cnblogs.com/Tattoo-Welkin/p/9301356.html
Copyright © 2020-2023  润新知