• DJ9-1 总线及接口


    目录

    一、总线

    1. 基本概念

    2. 总线的分类

    3. 总线的标准

    二、接口

    1. 基本概念

    2. I/O 接口的主要功能

    3. 接口编址

    4. 接口分类

    三、直接程序传送及接口

    1. 基本概念

    2. 操作流程

    3. 总结


    一、总线

    1. 基本概念

    总线 是指一组为多个部件 分时共享 的信息传送线路。分时共享 是指特定时刻只允许一个部件送出数据到总线上。

    总线可以被多个部件分时共享,每一时刻只能有一个设备掌握总线进行数据收发,但多个设备可以同时从总线接收数据。

    如何实现分时共享?

    EN:控制使用权限,针对某一设备。

    DIR:控制数据方向,针对所有设备。

    此处三态门没画圆圈,代表高电平有效。

    2. 总线的分类

    (1)按传输信号的类型

    • 数据总线:传输数据信息,决定总线宽度。
    • 地址总线:传输地址信息,决定寻址能力。
    • 控制总线:传输控制信息和状态信息。例如,Read、Write、Ready 等。

    (2)按数据传送格式划分

    • 并行总线:多条数据线,并行传送各位信息。
    • 串行总线:一条数据线,分时逐位传送各位信息。

    (3)按时序控制方式划分

    各周期之间的关系

    指令周期:是指一条指令从读取到执行完成所需的时间。

    总线周期:是指 CPU 经过总线完成一次访问主存或 I/O 端口操作所需的时间。

    时钟周期:是指 CPU 完成一步操作所需的时间,即完成一次内部数据通路传送的时间。

    总线的一个操作过程,是指完成两个设备之间信息传输的完整过程。这里的设备主要是指主存和 I/O 端口。在通常情况下,一个总线周期与一次操作过程是对应的。

    ① 同步总线

    由统一时序信号控制总线传送操作。

    在一个或多个时钟周期内完成数据传送,由同步脉冲定时打入。其中,时钟周期/节拍的长度是固定的,即完成一次数据传输的时间是固定的。

    ② 异步总线

    无固定时钟周期划分,以异步应答方式控制传送。

    ③ 扩展同步总线

    以时钟周期为基础,允许总线周期中的时钟数可变。

    既有统一时序同步时钟,又有应答信号。

    (4)按功能划分

    • 芯片内总线
    • 局部总线
    • 系统总线
    • 外部总线

    (5)按方向划分

    • 单向总线
    • 双向总线

    3. 总线的标准

    总线标准:针对系统总线和外总线,对总线所作统一的规范。

    ① 物理特型:约定模块尺寸、形状、引脚数等。
    ② 功能特征:约定各个引脚的名称和功能。
    ③ 电气特征:约定引脚的有效信号电平和信号传送方向等。
    ④ 时间特征:传送的信号何时有效,持续时间时序约定。

    常见的总线标准:

    记住名称即可。

    二、接口

    1. 基本概念

    外设:输入输出设备。

    I/O 接口:外设与系统总线之间的逻辑电路。

    为什么需要 I/O 接口?

    • 工作速度:不同速度的外设与 CPU 连接。
    • 数据格式的转换:外设与 CPU 的数据格式可能不同。
    • 一次数据传送量的控制
    • 其它因素(如电平转换)

    2. I/O 接口的主要功能

    (1)寻址:接收 CPU 送来的地址码,选择接口中的寄存器供 CPU 访问。

    (2)数据缓冲:实现主机与外设的速度匹配;缓冲深度与传送的数据量有关。

    (3)预处理

    • 串-并格式转换(串口)

    • 数据通路宽度转换(并口)

    • 电平转换

    (4)控制功能:传送控制命令与状态信息,实现 I/O 传送控制。 

    3. 接口编址

    (1)统一编址:为每个端口分配总线地址,使用通用的传送类指令。

    (2)单独编址:编址到设备端口,使用专门的 I/O 指令,例如:

    1. IN AL, 61H
    2. OUT 62H, AL

    4. 接口分类

    (1)按数据传送格式划分

    并行接口:接口与系统总线并行传送,接口与外设并行传送;数据各位同时传送。

    适合设备本身并行工作,距主机较近的场合。

    串行接口:接口与系统总线并行传送,接口与外设串行传送;数据逐位分时传送。

    (2)按时序控制方式划分

    同步接口:连接同步总线,接口与系统总线的信息传送由统一时序信号控制。

    异步接口:连接异步总线,接口与系统总线的信息传送采用异步应答方式。 

    (3)按主机与外设的信息交换控制方式(考填空题)

    ① 直接程序传送:依靠 CPU 直接执行相关的 I/O 程序来实现对数据输入和输出的控制。

    即程序查询方式。

    ② 中断方式:设备提出中断请求,主机响应后与设备交换信息,接口中包含中断控制逻辑。

    特点:随机性。

    ③ DMA 方式:支持高速外设与主存之间进行 DMA 方式交换数据。 

    CPU 脱开总线,交由 DMA 控制器去处理数据。

    三、直接程序传送及接口

    1. 基本概念

    直接程序传送模式是最简单的控制方式,依靠 CPU 直接执行相关的 I/O 程序来实现对数据输入和输出的控制。即执行 I/O 操作时,CPU 直接访问 I/O 接口,输入或输出数据。

    说明:

    2. 操作流程

    在启动外部设备后,主机 CPU 不断通过 I/O 指令查询设备状态。直到外设准备好,或完成一次操作,CPU 才通过执行 I/O 指令与外设交换信息。

    在外部设备工作期间,CPU 将持续执行与 I/O 有关的操作,即查询、等待和传输,所以直接程序传送模式又称为程序查询方式。如下图所示

    接口中设置有 8 位状态寄存器,我们用 2 位来表示外设的设备状态,分别对应设备的 “忙”(B)和 “完成”(D)。当不需要设备工作时,可通过复位命令,使设备的状态标志位 D 和 B 均为 0 。

    如果需要启动外部设备工作,CPU 则通过启动命令使 D=0 与 B=1,外部设备开始工作。此后,CPU 通过输入指令读入接口状态字,发现 D=0 且 B=1,知道外部设备还未准备好一次数据传输,就继续进行查询和等待。

    如果启动设备以向主机输入数据,则当数据从设备输入到数据缓冲寄存器后,接口自动修改状态标志位 D=1 且 B=0。此时 CPU 通过读取状态字,解析得知接口已准备好数据,便执行输入指令,把数据缓冲寄存器中的数据经数据总线输入到主机,再设置 D=0 且 B=1。

    如果启动设备以向设备输出数据,则当数据缓冲寄存器为空时,接口自动设置使 D=1 与 B=0。CPU 通过状态字判别,得知接口已做好接收数据的准备,便执行输出指令将数据经总线输出到接口的数据缓冲寄存器,并使 D=0 且 B=1。当接口将数据输出到外部设备后,数据缓冲寄存器再度为 “空”,此时自动设置,又使 D=1 且 B=0。

    CPU 自己是看不懂状态编码的,我们需要安装驱动来帮助 CPU 认识外设。同时,驱动也会翻译 CPU 的命令,帮助 CPU 控制外设。

    3. 总结

    优点:硬件开销小。

    缺点:并行程度低,实时性差。

    应用:适合对 CPU 效率要求不高的场合,或诊断、调试过程。

  • 相关阅读:
    【图像去噪】基于matlab非线性扩散PM算法图像去噪【含Matlab源码 2130期】
    你绝对需要的Facebook养号攻略,教你如何养成耐用号
    【ArcGIS微课1000例】0031:ArcGIS中的32个拓扑规则(图文详解)
    LeetCode 67. Add Binary
    c#简易学生管理系统
    基于VUE的酒店管理系统的设计与实现
    企业电子招投标采购系统——功能模块&功能描述+数字化采购管理 采购招投标
    java.io.EOFException:ZLIB输入流的意外结束 - 从HTTP读取
    uniapp 冒泡
    《MongoDB》Mongo Shell中基本操作-ObjectId和文档创建详解
  • 原文地址:https://blog.csdn.net/m0_64140451/article/details/127717914