通知
此博客运行在jpress系统上,如果你喜欢此博客模板,请加QQ群:1061691290(whimurmur模板/jpress插件),免费下载使用

计算机组成原理 输入输出(I/O) I/O 方式

4389人浏览 / 0人评论 | 作者:whisper  | 分类: 计算机组成原理  | 标签: 计算机组成原理  | 

作者:whisper

链接:http://proprogrammar.com:443/article/368

声明:请尊重原作者的劳动,如需转载请注明出处


    程序查询方式

    一、 程序查询流程

    1. 查询流程

    2. 程序流程(保存寄存器内容)

    二、 程序查询方式的接口电路

    以输入为例

    程序中断方式

    一、 中断的概念

    二、 I/O 中断的产生

    以打印机为例          CPU 与打印机并行工作

    1. 引起中断的各种因素

    (1) 人为设置的中断
    如转管指令
    (2) 程序性事故
    溢出、操作码不能识别、除法非法
    (3) 硬件故障
    (4) I/O 设备
    (5) 外部事件 用键盘中断现行程

    中断分类

    软件中断:在程序中安排软件中断指令使机器进入中断处理的过程。
    硬件中断:随机产生的硬件事件事产生的中断
    内中断:是指由于 CPU 内部硬件或软件原因引起的中断。
    外中断:是指 CPU 以外的部件引起的中断。
    可屏蔽中断:可以被 CPU 内部中断允许标志禁止的中断
    非屏蔽中断:不受 CPU 内部中断允许标志影响的中断。

    2. 中断系统需解决的问题

    (1) 各中断源如何向 CPU 提出请求 ?
    (2) 各中断源同时提出请求怎么办 ?
    (3) CPU 什么 条件、什么时间、以什么方式响应中断 ?
    (4) 如何保护现场 ?
    (5) 如何寻找入口地址 ?
    (6) 如何恢复现场,如何返回 ?
    (7) 处理中断的过程中又 出现新的中断怎么办 ?
         硬件 + 软件

    中断响应的条件

    中断源提出中断请求
    中断未被屏蔽:中断屏蔽寄存器的相应位为 0
    中断源具有高的硬件优先级
    CPU 允许中断(可屏蔽中断)
    一条指令执行完毕(可屏蔽中断)
    没有更高级的中断服务程序正在执行。

    中断处理过程注意几个问题:

    响应中断时机:外界中断请求是随机的,但 CPU 只有在当前指令执行完毕后,才转至公操作
    断点保护问题(PC,寄存器内容和状态的保存)
    原子操作:开中断和关中断问题。
    中断是由软硬件结合起来实现的

    中断请求标记和中断判优逻辑

    1. 中断请求标记 INTR

    一个请求源一个INTR             中断请求标记触发器
    多个INTR                              组成中断请求标记寄存器

    INTR             分散在各个中断源的接口电路中
    INTR             集中在CPU 的中断系统内

    2. 中断判优逻辑

    (1) 硬件实现(排队器)

    ① 分散在各个中断源的接口电路中链式排队器

    ② 集中在CPU 内

    (2) 软件实现(程序查询)

    三、中断服务程序入口地址的寻找

    1. 硬件向量法

    2. 软件查询法

    八个中断源1,2,… 8 按降序排列
    中断识别程序(入口地址M)

    四、中断响应

    1. 响应中断的条件
    允许中断触发器EINT = 1
    2. 响应中断的时间
    指令执行周期结束时刻由CPU 发查询信号

    3. 中断隐指令

    (1) 保护程序断点
    断点存于特定地址( 0 号地址) 内断点进栈
    (2) 寻找服务程序入口地址
    向量地址 PC (硬件向量法)
    中断识别程序入口地 址 M PC (软件查询法)
    (3) 硬件关中断
    INT 中断标记
    EINT 允许中断
    R – S 触发器

    4.中断服务程序流程

    (1) 保护现场
    程序断点的保护                   中断隐指令完成
    寄存器内容的保护               进栈指令
    (2) 中断服务
    对不同的I/O 设备具有不同内容的设备服务
    (3) 恢复现场出栈指令
    (4) 中断返回中断返回指令

    五、保护现场和恢复现场

    中断处理过程总结

    执行中断隐指令
    保存断点、关中断、转入中断服务程序
    转入中断服务程序
    ①保护现场:CPU 的主要状态,通用寄存器入栈保存
    ②开中断:为响应其他更高级别的中断请求,另外在中断服务程序执行完毕,再次响应
    ③中断处理:
    ④结尾部分:关中断,以防止在恢复现场过程中被新的中断打断;恢复现场;开放中断;中断返回。

    六、中断屏蔽技术

    1. 多重中断的概念

    程序断点k+1 , l+1 , m+1

    2. 实现多重中断的条件

    (1) 提前设置开中断指令
    (2) 优先级别高的中断源有权中断优先级别低的中断源

    3. 屏蔽技术

    (1) 屏蔽触发器的作用

    (2) 屏蔽字

    (3) 屏蔽技术可改变处理优先等级
    响应优先级不可改变
    处理优先级可改变(通过重新设置屏蔽字)

    (4) 屏蔽技术的其他作用

    可以人为地屏蔽某个中断源的请求便于程序控制

    DMA 方式

    一、DMA 方式的特点

    1. DMA 和程序中断两种方式的数据通路

    直接存储器访问(Direct Memory Address)

    DMA 方式是为了在主存储器与I/O 设备间高速交换批量数据而设置的。

    基本思想

    通过硬件控制实现主存与I/O 设备间的直接数据传送,在传送过程中无需CPU的干预。数据传送是在DMA 控制器控制下进行的

    优点

    速度快。有利于发挥CPU 的效率。

    2. DMA 与主存交换数据的三种方式

    (1) 停止CPU 访问主存
    控制简单
    CPU 处于不工作状态或保持状态
    未充分发挥CPU 对主存的利用率

    (2) 周期挪用(或周期窃取)
    DMA 访问主存有三种可能
    • CPU 此时不访存
    • CPU 正在访存
    • CPU 与DMA 同时请求访存
    此时CPU 将总线控制权让给DMA

    (3) DMA 与CPU 交替访问

    不需要申请建立和归还总线的使用权

    二、DMA 接口的功能和组成

    1. DMA 接口功能

    (1) 向CPU 申请DMA 传送
    (2) 处理总线控制权的转交
    (3) 管理系统总线、控制数据传送
    (4) 确定数据传送的首地址和长度,修正传送过程中的数据地址和长度
    (5) DMA 传送结束时,给出操作完成信号

    2. DMA 接口组成

    三、DMA 的工作过程

    1. DMA 传送过程

    预处理、数据传送、后处理

    (1) 预处理
    通过几条输入输出指令预置如下信息
    • 通知DMA 控制逻辑传送方向(入/出)

    • 设备地址—>DMA 的DAR
    • 主存地址—>DMA 的AR
    • 传送字数—>DMA 的WC

    (2) DMA 传送过程示意

    (3) 数据传送过程(输入)

    (4) 数据传送过程(输出)

    (5) 后处理

    校验送入主存的数是否正确
    是否继续用DMA
    测试传送过程是否正确,错则转诊断程序
    由中断服务程序完成

    2. DMA 接口与系统的连接方式

    (1) 具有公共请求线的DMA 请求

    (2) 独立的DMA 请求

    

    3. DMA 方式与程序中断方式的比较

    四、DMA 接口的类型

    1. 选择型

    在物理上连接多个设备
    在逻辑上只允许连接一个设备

    2. 多路型

    在物理上连接多个设备

    在逻辑上允许连接多个设备同时工作

    3. 多路型DMA 接口的工作原理


亲爱的读者:有时间可以点赞评论一下

点赞(0) 打赏

全部评论

还没有评论!