总线
总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
双总线
CPU处理的数据和指令都是来自于主存的,所以单独设置一条总线来进行CPU和主存之间的数据传输。
但是这样,当主存和IO设备进行数据传输的时候需要以CPU作为媒介,这样也会打断CPU的服务运行。
改进:以存储器为中心的双总线
从主存发出两组总线,一组是系统总线,另一组是存储总线。
将CPU分别挂载到系统总线和存储总线上,将IO设备挂载到系统总线上。
总线的分类
1,片内总线:芯片内部的总线。
2,系统总线:计算机各部件之间的信息传输线。
数据总线:是双向的,与机器字长和存储字长相关。通常情况下,总线的宽度是小于等于机器字长或者存储字长的。一台64位机器的数据总线的宽度可以做成8位,如果要完成一次64位的运算(传输64位的数据到CPU中),需要8次。存在从外部设备或存储器到CPU的数据,也存在从CPU到外部设备或存储器的数据,所以数据总线是双向的 。
地址总线:是单向的(由CPU发出到其他设备),与存储地址,I/O地址有关(因为但对存储单元进行寻址,对I/O进行寻址)。通常情况下地址总线的条数和地址单元的个数是相关的。地址总线的宽度和MAR寄存器的宽度是一样的。
控制总线:是有出,有入的(cpu发出信号:存储器的读和写,中断请求的确认。cpu接收信号:I/O端口送给cpu的中断请求信号)。向系统的各个部件来传输控制信号(或者传输自己的状态信号)。
3,通信总线:用于计算机与计算机(或者其他系统如移动通信)之间的通信。
传输方式有两种:串行通信总线,并行通信总线。
总线控制
总线判优控制
主设备:对总线有控制权(可以发送控制总线请求)
从设备:相应从主设备发来的总线命令。
总线判优控制的分类:集中式和分布式
集中式分为三种:链式查询,计数器定时查询,独立请求方式
链式查询
接口1通过BR线路向总线控制部件发送总线占用请求,然后总线控制部件通过BG线路从接口0开始逐个查询,一直到发现接口1发送的占用请求。然后接口1获得总线的控制权。然后通过BS建立总线忙。总线控制的优先级是由BG控制的,BG线路是事先依照接口连接方式的顺序决定好的。缺点:对线路问题十分明显,如果某个接口出现问题,那么此接口后的接口都会判优失败。优点:简单。
计数器定时查询
接口1通过BR线路向总线控制部件发送总线占用请求,然后总线控制部件通过设备地址线进行逐个查询,计数器从0开始计数,对应的设备也是从接口0开始向后排序。直到发现接口1发送的占用请求。然后接口1获得总线的控制权。然后通过BS建立总线忙。优点:选取设备比较灵活,在使用计数器选择设备接口的时候可以调整计数器的初始值,可以通过软件调整设备接口的优先级。设备地址线的宽度与设备的总数有关。(如果有n个设备,那么需要的线:以2为底n的对数条+BS+BR)
独立请求查询
不同接口通过BR来向总线控制部件发送占用总线请求,然后总线控制部件通过BG线来做回复。优点:总线控制部件中有个排队器,排队方式由自己控制设定,十分灵活。缺点:需要的线太多,如果有n个设备,那么就需要2n条线。
总线通信控制
目的
解决通信双方协调配合问题。
总线传输的周期
总线通信的四种方式
同步通信:由统一时标控制数据传送(在固定的时间点给出固定的操作)
异步通信:采用应答方式,没有公共时钟标准(全互锁:主设备发出请求信号,在从设备应答后撤销。从设备在主设备撤销后也撤销自己的应答信号。)
半同步通信:同步,异步相结合(同步:发送方和接收方分别通过时钟前沿和时钟后沿发信号和判断识别信号。异步:允许不同设备和谐工作:增加等待相应信号。)
以上三种通信的共同点(以输入数据为例):主模块给从模块发送地址,主模块发送命令(占用总线),从模块准备数据(不占用总线),从模块向主模块发数据(占用总线)。中间有空闲时间。
分离式通信:充分挖掘系统总线每个瞬间的潜力。(一个总线传输周期:分为两个子周期, 主模块申请占用总线,使用后放弃总线使用权。然后从模块申请占用总线(变成主模块),将信息传送至总线上。节省了中间的从模块的准备信息时间。特点:各个模块都有权利申请占用总线;采用同步方式通信(主模块向从模块发送地址和命令时),不用等待对方回应;模块准备数据的时候不占用总线;总线一直被占用,无空闲。)
|