玩命加载中 . . .

输入/输出接口


接口简介

接口
接口是两个系统获两个部件之间的衔接部分,包括硬件接口和软件接口
I/O接口是连接主机与I/O设备之间的中间电路或部件,由硬件电路、相应的控制软件构成。
接口的功能:

  • 地址识别和设备选择
  • 接收、保存CPU的I/O控制命令
  • 反映外设的工作状态
  • 信号转换
    端口
    端口是I/O电路中可通过编程寻址并进行读/写的寄存器
    接口中包含端口

  • 数据端口

  • 控制端口
  • 状态端口
    不同场合下“端口”具有不同的含义:
  • I/O接口中的端口,实际上是指寄存器
  • 上网端口
  • 网络应用程序的标示

I/O接口的组成与工作原理

I/O接口由数据缓冲寄存器、状态寄存器、命令寄存器、端口寄存器、控制逻辑和中断逻辑组成。
而I/O接口所进行的工作,都是通过接口中用户可见的寄存器————端口的“读写”来实现的。

I/O接口的组成

I/O接口由数据缓冲寄存器DBR、设备选择电路、设备状态标记、命令寄存器和命令译码器、控制逻辑电路五部分组成。

I/O设备的编址方法

  • 统一编址
    I/O设备地址与内存统一进行编址,即在存储器中单独划定一片空间,存放I/O设备地址。
  • 独立编址(不统一编址)
    I/O地址与内存有各自独立的地址空间,互不干扰。需要设置专门的I/O指令。

I/O设备与主机信息传送的控制方式

  • 程序查询方式
  • 程序中断方式
  • DMA方式
  • 通道方式
  • 外围处理机

程序查询方式

由CPU通过程序不断查询I/O设备是否做好准备,从而控制I/O设备与主机交换信息。

特点:

  • 由CPU主动查询外设
  • CPU和I/O串行工作
  • CPU效率低下

程序中断方式

中断
  • 中断发生是随机的。
  • 程序是否被中断,不影响其运行结果。
  • 任何时刻,CPU只能为一个中断源的请求提供服务。
中断处理过程
  1. 中断请求
  2. 中断判优
  3. 中断响应
    在CPU的EINT为“1”时,CPU在每条指令执行的末尾,扫描INTR引脚,若有中断请求,则“中断状态”触发器INT置为1,进入中断周期,执行“中断隐指令”。

    中断隐指令功能:
    将程序断点、标志位寄存器压入堆栈
    关中断
    将中断处理程序的首地址送入PC

  4. 中断服务
    由预先编制的中断服务程序完成。
    中断服务程序,说到底就是CPU去响应I/O外设的申请了,为中断源服务去了。
    中断服务程序的处理流程是:
    • 保护现场
      保护程序断点和CPU内部寄存器的内容
    • 中断服务(设备服务,是中断服务程序的主体部分)
    • 恢复现场
      恢复程序断点和CPU内部寄存器的内容
    • (中断返回)
  5. 中断返回
形成中断入口地址的方法
  • 软件查询法
    采用一个中断管理程序,按照优先级从高到低,依次查询每一个中断源是否有中断请求。
  • 硬件向量法
    有硬件生成一个特定的地址————向量地址,然后将向量地址通过数据总线送给CPU,CPU再依据向量地址转去执行中断服务程序。
中断嵌套

处理中断过程中,可能有新的、优先级更高的中断请求到来。若CPU转去处理新的中断请求,称为多重中断、中断嵌套,否则称为单重中断。

中断屏蔽

CPU根据中断屏蔽字决定屏蔽掉某些级别中断的请求信号,使其不能进入排队器排队,从而间接改变中断响应顺序。

注意,优先级严格来说,包含响应优先级和处理优先级,而我们设置的中断屏蔽字,改变的是中断处理优先级。

DMA技术

DMA,即 Direct Memory Access,直接内存访问,指CPU暂时让出总线的控制权,由专用接口芯片DMAC————DMA控制器,全权控制存储器与I/O之间直接进行高速的数据传送。
在DMA的数据传输过程中,CPU不干预,从而提高了CPU的效率。

DMAC的组成

DMA控制器由如下部件组成:

  • 主存地址寄存器(AR)
  • 字计数器(WC)
  • 数据缓冲寄存器(BR)
  • 设备地址寄存器(DAR)
  • 中断逻辑
  • 控制/状态逻辑

DMA的工作过程

  1. 预处理
    即CPU选择DMAC和I/O接口,将一下信息写入对应的寄存器:
    • 外设地址————DAR
    • 数据块在主存中的首地址————AR
    • 数据个数————WC
  2. 数据传输
    以数据块为单位,传送数据。
  3. 后处理
    数据传输结束后,DMA发起中断请求,得到响应,CPU将停止原程序的执行,转去执行中断服务程序,做一些DMA的结束工作。

DMAC的数据传输过程

DMA的数据传送模式包括:

  • 单字传送
  • 成组传送
  • 请求传送

CPU与DMAC分享主存/系统总线的方式

DMAC占用总线的方式,通常有三种:

  • 停止CPU使用总线
    控制方式简单,但是CPU的工作会受到明显的延误。
  • 周期挪用
    DMAC在CPU不使用总线时,“窃取”若干个总线周期,来传送一个数据字,几乎不影响CPU工作,应用最为广泛。
  • 交替使用
    将CPU的工作周期分为两个子周期,由DMAC和CPU分别使用总线。

文章作者: 鹿卿
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 鹿卿 !
评论
  目录