随谈--计算机组成原理--总线控制

[TOC]异步

总线控制

主要为规定接收信息部件的总线使用权问题;主要包括判优控制和通讯控制;设计

总线判优控制

总线上的链接设备按对总线有无控制功能能够分为主设备和从设备,主设备对总线有控制权,从设备只能响应主设备发来的总线命令,对总线没有控制权。总线上的信息传送是由主设备发出总线请求信号,若是多个设备同时请求,就须要总线控制器的判优,仲裁逻辑肯定哪一个设备能使用总线,只有拥有控制权的设备才能传输数据;接口

判优控制可分为:集中式判优和分散式判优;同步

链式查询

链式查询

控制总线中有三根线用于总线控制(总线忙BS,总线请求BR,总线赞成BG),其中BG是串行一个IO接口一个IO接口的下送,若是BG到达的接口有总线请求,就再也不往下送,意味着该接口得到总线控制权,并创建BS信号,表示它占用了总线,能够看到,最近的优先级最高;它的特色是:只须要几根线就能按必定次序实现总线控制,而且容易扩充设备,可是电路故障敏感,且优先级低的设备很难得到控制权;io

计数器定时查询

计数器定时查询

控制部件接收到BR送来的总线请求信号后,在总线未被占用BS=0,总线计数器开始计数,并经过设备地址线,向各设备发送一组地址信号。当某个请求占用总线的设备地址与计数器一致时,便得到总线控制权,终止计数;其特色是:计数能够从0开始,此时若是设备优先级固定,设备优先级0,1,...n的顺序降序排列,且固定不变。计数器也能够从上次计数终点开始,是一种循环的方式,此时设备使用总线优先级同样,这种方式对电路故障敏感度不如链式查询,但增长了控制线,控制也较为复杂;效率

独立请求查询

独立请求查询

每台设备有BR和BG线,当设备发出总线请求时,控制器中有排队电路,可根据优先级肯定响应哪一台设备;特色是:响应快,优先级灵活,可是控制线数量较多,总线控制更为复杂。循环

链式查询仅用两根线肯定总线控制权; 计数查询大体用logn根线,n为最大设备数; 独立请求须要2n根线;请求

通讯控制

一般完成一次总线操做的时间称为总线周期。能够分为4个阶段:im

  1. 申请分配阶段:由主设备提出申请,经仲裁机构决定下一传输周期总线的使用者;
  2. 寻址阶段:取得使用权的主设备经过总线发出本次要访问的从设备的地址和命令,启动从设备;
  3. 传数阶段:主设备和从设备进行数据交换,数据由源模块发出,经数据线流入目的从设备;
  4. 结束阶段:主设备有关信息从总线移除,让出总线使用权;

总线通讯控制主要解决通讯双方如何获知传输开始,传输结束及如何协调和配合;常见的通讯方式有:同步通讯,异步通讯,半同步通讯,分离式通讯;下面主要讲解同步和异步通讯。通信

同步通讯

通讯双方由统一时标控制数据传送称为同步通讯,时标一般由CPU的总线控制器发出,到总线上全部的部件,也能够由各部件各自的时序发生器发出,但必须总线控制器发出的时钟信号对其进行同步;

如如下为某输入设备向CPU传输的同步通讯过程:

输入同步通讯

CPU在T1上升沿发出地址信息,T2上升沿发出读命令,与地址信息相符合的输入设备按命令进行一系列内部操做,且在T3上升沿前将CPU所需数据送到数据总线上,CPU在T3时钟周期内将数据送到其寄存器,在T4上升沿撤销读命令,输入设备再也不向数据总线传输数据。

这种通讯方式有点在于规定明确,统一,模块间配合简单一致,缺点是从模块时间配合属于强制性“同步”,必须在限定时间内完成规定的要求。而且对全部从模块都用同一限时,这就形成对于不一样速度的部件而言,必须按照最慢速度部件来设计公共时钟,严重影响了工做效率; 同步通讯通常用于总线长度较短,各部件存取时间比较一致的场合,总线传输周期越短,数据位数越多,直接影响总线数据传输速率;

异步通讯

它没有公共的时钟标准,不要求全部部件严格的统一操做时间,而是采用应答的方式(握手),即主模块发出请求后,一直等待从模块反馈的响应信号后,才开始通讯,所以要求主从模块之间增长两条应答线。 异步通讯可分为:不互锁,半互锁,全互锁

不互锁

主模块发出请求信号后,没必要等到从模块的应答信号,而是通过一段时间后,确认从模块已收到请求信号后,撤销其请求信号。从模块接收到信号后,条件容许下发出应答信号,并通过一段时间确认主模块收到应答信号后,自动撤销回答信号,可见并没有互锁关系。例如:CPU向主存写信息,CPU先给地址信号,写命令和写入数据;

半互锁

主模块发出请求信号后,必须等待从模块的应答信号,再主动撤销其请求信号,有互锁关系,而从模块接收到请求信号后发出回答信号,可是没必要等到获知主模块的请求信号已经撤销,而是隔一段时间后,主动撤销其回答信号,无互锁关系。因为一方有互锁关系,一方没有互锁关系,因此称为半互锁。

全互锁

主模块发出请求信号,必须等待从模块回答后再撤销请求信号;从模块发出回答信号后,必须获知主模块请求信号撤销后,再撤销其回答信号,双方存在互锁关系。

相关文章
相关标签/搜索