重点、难点
1、总线判优控制
2、如果完成通信过程,保证通信质量
一、总线判优控制的基本概念
1.1 基本概念
- 主设备特征
- 对总线具有控制权,可提出总线占用申请,并能控制通信过程
- 从设备特征
- 不能主动控制总线,只能响应主设备发出的总线命令
- 混合设备:
- 某些设备既可作主设备也可作从设备
- 有些总线允许多主设备,有些仅允许单主设备
二、总线判优控制的两种方法
2.1 集中式方式

链式查询、计数器定时查询实际上查找高优先级设备提出了总线占用请求,都是顺序查询,速度慢
独立请求方式 速度快
1)链式查询方式 – 用于微型计算机或简单嵌入式系统

BR-总线请求、BS-总线忙、BG-总线授权线(链式查询方式的特点)
- 工作原理:
- 请求流程:I/O设备通过BR线发送请求→控制部件通过BG线串行查询→首个提出请求的设备获得控制权→通过BS线设置总线忙->获得总线使用权
- 优先级机制:由物理连接顺序决定,靠近控制部件的设备优先级更高
- 电路特点:
- 三线制:BR(请求)、BG(授权)、BS(忙)三条关键控制线
- 数据通路:独立的数据线和地址线用于实际传输
- 优缺点分析:
- 优点:结构简单(仅需3条控制线);易于增删设备;可靠性设计方便(可冗余布线)
- 缺点:电路故障敏感性高(BG线断裂会导致后续设备瘫痪);优先级固定不灵活;查询速度慢
2)计数器定时查询方式

数据线用于数据的传输
地址线用于从设备的查找
设备地址计数器给出的地址,通过该地址查找设备是否发出占用请求
过程:I/O设备向总线控制部件提出总线占用请求BR -> 总线控制部件在可以让出总线使用权的情况下,启动计数器 -> 计数器的值通过设备地址向外输出 -> 设备地址给出信号,对I/O接口0 进行查询….. -> 计数器自动+1 ->对I/O接口1 进行查询…. -> BS 响应
- 改进原理:
- 地址编码:用计数器生成设备地址代替BG线,通过设备地址线广播查询
- 查询过程:计数器从初始值开始递增,检测对应设备是否发出请求
- 优先级特性:
- 固定模式:计数器从0开始则优先级固定
- 循环模式:从上次终止值继续则实现循环优先级
- 可编程模式:通过软件设置计数器初值实现动态优先级
- 线路需求:
- 计算公式:需要log2n(向上取整)位设备地址线
- 总控制线:BR+BS+设备地址线(比链式少1条但地址线更宽)
3)独立请求方式方式

- 核心设计:
- 专线专用:每个设备有独立的BR和BG线
- 集中仲裁:控制部件内置排队器决定优先级
- 优势特征:
- 响应速度:并行处理所有请求,仲裁最快
- 优先级灵活:支持固定/自适应/混合优先级算法
- 线路代价:
- 数量关系:n个设备需要2n条控制线(BR和BG各n条)
- 适用场景:高性能系统(如多处理器架构)
2.2 分布式方式
三、总线通信控制
目的:解决主设备和从设备之间的协调配合通信问题
3.1 总线传输周期

- 完整周期:主从设备完成一次完整可靠通信所需的时间,包含四个阶段:
- 申请分配:通过总线仲裁逻辑确定主设备使用权(对应判优控制阶段)
- 寻址阶段:
- 地址信号:主设备发出目标从设备地址
- 命令信号:指定操作类型(读/写)
- 数据传输:
- 从设备准备好时发送数据(输入操作)
- 或接收主设备数据(输出操作)
- 结束阶段:主从设备同步撤销所有控制信号和地址信息
3.2 总线通信的四种方式
同步通信:统一时标控制,各操作在固定时间点完成
异步通信:采用请求 – 应答机制,无统一时钟
半同步通信:同步与异步结合,解决不同速度设备通信问题
分离式通信:充分挖掘系统总线每个瞬间的潜力,最大化总线利用率的高效通信方式
3.3 同步式数据输入、输出(同步通信)
1)同步式数据输入

- 时钟控制:采用定宽定距的时标控制数据传输的过程(4个时钟周期T1-T4)
- 严格时序:
- T1上升沿:主设备给出地址信号
- T2上升沿:主设备发出读命令
- T3上升沿前:从设备准备好数据
- T4上升沿:撤销数据和控制信号,周期结束时撤销地址
- 适用场景:总线长度短且各模块存取时间一致的系统
2)同步式数据输出 – 应用于总线模块比较短,各个模块存取时间比较一致

- 时序差异:
- T1上升沿:地址信号
- T1下降沿:数据信号
- T2上升沿:写命令
- T3上升沿:执行写入
- T4上升沿:撤销数据和命令
- 同步方式:所有模块按最慢设备速度运行,类比”木桶效应”
3.4 异步通信

- 核心机制:通过请求线(主→从)和应答线(从→主)实现握手
- 三种模式:
- 不互锁:
- 类比”扔飞盘”:请求/应答单次发送后自动撤销
- 缺点:可靠性低,可能丢失通信
- 半互锁-改进
- 主设备收到应答才撤销请求
- 从设备超时自动撤销应答
- 风险:可能造成请求信号持续高电平
- 全互锁-改进半互锁
- 严格握手:请求撤销需确认应答,应答撤销需确认请求撤销
- 优势:支持错误重传,可靠性最高
要增加两条线。其中的一条线是请求线,由主设备发出请求信号用的,另外一条线呢就是应答线,从设备对主设备发出的请求进行应答
3.5 半同步通信(同步、异步结合)

以输入数据为例的半同步通信时序

- 同步特征:采用定宽定距的时钟管理通信过程,发送方用时钟前沿发信号,接收方用时钟后沿判断识别
- 异步特征:允许不同速度设备协调工作,通过从设备发出的WAIT信号(低电平有效)调整主从设备速度差异
- 典型时序:
- T1周期:主模块在上升沿发出地址
- T2周期:主模块在上升沿发出读命令
- T3周期:若从模块未准备好数据,发出WAIT信号使主模块插入等待周期 Tw
- T4周期:从模块撤销数据,主模块撤销命令

- 时钟控制:整个传输过程由定宽定距的时钟信号同步控制
- 地址阶段:第一个时钟周期开始时主设备通过地址总线发出地址信号
- 命令阶段:第二个时钟周期主设备发出读信号(保持到T4周期)
- 等待机制(从设备没有准备好数据,主设备如CPU快):若T3周期前检测到WAIT信号:低电平,则插入Twait等待周期,最多可连续插入多个等待周期
- 数据传输:当WAIT变高电平时进入T3周期,从设备将数据送上数据总线
3.6 上述三种通信的共同点

- 三阶段特征:
- 阶段1:主模块发出地址和命令(占用总线)
- 阶段2:从模块准备数据(总线空闲)
- 阶段3:从模块发送数据(占用总线)
- 效率问题:从模块准备数据期间总线处于空闲状态,造成资源浪费
- 改进方向:需要开发能充分利用总线空闲时间的新型通信方式
3.7 分离式通信 – 充分挖掘系统总线每个瞬间的潜力

- 周期划分:将总线传输周期分为两个子周期
- 子周期1:主模块申请总线,使用后立即释放
- 子周期2:从模块申请总线,发送信息
- 核心优势:各模块准备数据时不占用总线,充分提高总线利用率
- 工作特点:
- 各模块均可申请占用总线(主从模块可转换)
- 采用同步通信方式完成数据传输 – 定宽定距
- 各模块准备数据时,不占用总线数据
- 总线被占用时,无空闲
案例:硬盘数据读取
- 传统方式问题:
- 定位操作(约几十毫秒)和等待扇区(平均约6ms)期间总线处于等待状态
- 实际数据传输(512B@33MB/s)仅需几微秒
- 分离式解决方案:
- 通道发出定位命令后立即释放总线
- 硬盘控制器完成定位后主动申请总线
- 依次完成扇区定位和数据传输请求
- 效率提升:总线空闲时间从几十毫秒缩短为仅实际传输所需的微秒级
本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客