总线是一组能为多个部件分时共享的公共信息传送线路
早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。为了更好地解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。
片内总线是芯片内部的总线
它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线
ALU:算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路,简称ALU。
系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。
按系统总线传输信息内容的不同,又分为三类:数据总线、地址总线和控制总线
通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备,测试设备)之间信息传送的总线,通信总线也称为外部总线
单总线结构:
双总线结构:
主存总线:支持突发(猝发)。传送:送出一个地址,收到多个地址连续的数据;
三总线结构
补充知识:四总线结构
1.总线的传输周期(总线周期)
一次总线操作所需要的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由若干个总线时钟周期构成。
2.总线时钟周期
即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。
3.总线的工作频率
总线上各种操作的频率,为总线周期的倒数。若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。实际上指一秒内传送几次数据。
4.总线的时钟频率
即机器的时钟频率,为时钟周期的倒数。若时钟周期为T,则时钟频率为1/T。实际上指一秒内有多少个时钟周期。
5.总线宽度
又称总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数,如32根称为32位(bit)总线。
6.总线带宽
可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。
总线带宽 = 总线工作频率 x 总线宽度(bit/s)= 总线工作频率 x (总线宽度/8)(B/s)**
=总线宽度 / 总线周期 (bit/s)= (总线宽度/8) / (总线周期)(B/s)
注:总线带宽是指总线本身所能达到的最高传输频率。
在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时。
总线带宽 = 总线工作频率 x 总线宽度(bit/s)
1.工作频率相同时,串行总线传输速度比并行总线慢。
2.并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线。
7.总线复用(了解)
总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。
8.信号线数(了解)
地址总线、数据总线和控制总线3种总线数的总和成为信号线数。
同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据。
将总线上所连接的各类设备按其对总线有无控制功能分为:
主设备:获得总线控制权的设备;
从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。
为什么要仲裁?
总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权的问题。
总线仲裁的定义:
多个主设备同时竞争总线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。
总线仲裁的分类:
集中仲裁方式:
分为链式查询方式、计数器定时查询方式、独立请求方式
分布仲裁方式:
定义:不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用总线。
当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁线上;
每个仲裁器将从仲裁线总线上得到的仲裁号与自己的仲裁号进行比较;
如果仲裁总线上的号优先级越高,则它的总线请求不予响应,并撤销它的仲裁号;
最后,获胜者的仲裁号保留在仲裁总线上。
1)申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。
2)寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
3)传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
4)结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则。
在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
根据“请求”和“回答”信号的撤销是否互锁,分为以下3种类型。
1)不互锁方式
2)半互锁方式
3)全互锁方式
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢
1)不互锁方式:速度最快 可靠性最差
主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。
而从设备在接到“请求”信号后,发出“回答”信号,并经过一段时间,自动撤销“回答”信号。双方不存在互锁关系。
2)半互锁方式:
主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。
而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系。
3)全互锁方式:最可靠 速度最慢
主设备发出“请求”信号后,必须待从设备“回答”后,才撤销“请求”信号;
注:此处的比特率仅为粗略定义,更为通用的定义以计算机网络为准。
同步:发送方用系统时钟前沿发信号
接收方用系统时钟后沿判断、识别
异步:允许不同速度的模块和谐工作
半同步通信:统一时钟的基础 上,增加一个“等待”响应信号WAIT
一个总线传输周期(以输入数据为例)
主模块发地址、命令 | 使用总线 |
---|---|
从模块准备数据 | 不使用总线 总线空闲 |
从模块向主模块发数据 | 使用总线 |
分离式通信的一个总线传输周期
子周期1 主模块申请占用总线,使用完后放弃总线的使用权
子周期2 从模块申请占用总线,将各种信息送至总线上
特点:1.各模块均有权申请占用总线
2.采用同步方式通信,不等对方回答
3.各模块准备数据时,不占用总线
4.总线利用率提高
总线标准是国际上公布或推荐的互连各个模块的标准,它是把各种不同的模块组成计算机系统时必须遵守的规范。按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无须了解对方接口的要求。
即插即用( Plug-and-Play)的作用是自动配置(低层)计算机中的板卡和其他设备,然后告诉对应的设备都做了什么。把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。
热插拔(hot- plugging或 Hot Swap)即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等,例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。