目录
一、总线的基本概念
1.总线的定义
二、总线的分类
1.片内总线
2.系统总线
2.1数据总线
2.2地址总线
2.3控制总线
3.通信总线(通信总线)
三、总线特性及性能指标
1.总线特征
2.性能标准
2.1总线的传输周期(总线周期)
2.2总线时钟周期
2.3总线的工作频率
2.4总线的时钟频率
2.5总线宽度
2.6总线带宽(计算)
2.7总线复用
2.8信号线数
3.总线标准(易于实现系统的模块化设计)
四、总线结构
1.单总线结构
2.双总线结构
3.三总线结构
五、总线仲裁
1.基本概念
2.总线仲裁的定义
2.1集中仲裁
六、总线传输
1.四个阶段
2.总线定时
2.1同步通信
2.2异步通信
2.3半同步通信
2.4分离式通信
一、总线的基本概念
1.总线的定义
总线是一组能为多个部件分时共享的公共信息传送路线。
共享:指总线上可以挂接多个部件,各个部件之间互相交换信息都可以通过这组线路分时共享。
分时:在某个时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接受相同信息。
二、总线的分类
串行:只需一条传输线,适用于长距离传输。
并行:总线的逻辑时序比较简单,电路实现容易。
1.片内总线
片内总线是指芯片内部的总线,例CPU芯片内部,寄存器与寄存器之间的连接。
2.系统总线
系统总线是指CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输线。
2.1数据总线
数据总线用来传输各功能部件之间的数据信息(包括指令与操作数),它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位、32位。
2.2地址总线
地址总线主要用来指出数据总线上的源数据或目的数据在主存单元地址或I/O设备的地址。
2.3控制总线
控制总线是用来发出各种控制信号的传输线。
3.通信总线(通信总线)
通信总线用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信。
通信总线也称为外部总线。
三、总线特性及性能指标
1.总线特征
- 机械特征:指总线在机械连接方式上的一些性能,例尺寸、形状、管脚数、排列顺序。
- 电气特征:指总线上的每一根传输线上信号的传递方向和有效的电平范围。
- 功能特性:指总线中每根传输线的功能(地址、数据、控制)。
- 时间特性:指总线中的任一根线在什么时间内有效。
2.性能标准
2.1总线的传输周期(总线周期)
一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由若干个总线时钟周期构成。
2.2总线时钟周期
即机器的时钟周期。
2.3总线的工作频率
总线上各种操作的频率,为总线周期的倒数。
2.4总线的时钟频率
即机器的时钟频率,为时钟周期的倒数。
实际上指一秒内有多少个时钟周期。
2.5总线宽度
又称为总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数。
2.6总线带宽(计算)
可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位为字节/秒(B/s).
2.7总线复用
总线复用是指一种信号线在不同时间传输不同的信号。
一条信号线上分时传送两种信号。
2.8信号线数
地址总线、数据总线和控制总线三中总线书的总和。
带宽计算
注:总线带宽是指总线本身所能达到的最高传输速率
3.总线标准(易于实现系统的模块化设计)
总线标准可视为系统与各模块、模块与模块之间的互连的标准界面。
四、总线结构
1.单总线结构
2.双总线结构
3.三总线结构
五、总线仲裁
1.基本概念
同一时刻只能有一个设备控制总线传输操作,可以有一个或者多个设备从总线接收数据。
主设备:获得总线控制权的设备
从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令
2.总线仲裁的定义
多个主设备同时竞争主线控制权时,以某种方式选择一个主设备优先获得总线控制权
2.1集中仲裁
(1)链式查询方式
(2)计数器定时查询方式
(3)独立请求方式
六、总线传输
总线周期:完成一次总线操作的时间
1.四个阶段
(1)申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。
(2)寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
(3)传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
(4)结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
2.总线定时
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制。
2.1同步通信
通信双方由统一时标控制数据传送
2.2异步通信
采用应答方式,没有公共时钟标准,又分为不互锁、半互锁、全互锁三种类型。
2.3半同步通信
同步、异步相结合。
2.4分离式通信
- 主模块发地址、命令(使用总线)
- 从模块准备数据(不使用总线)
- 从模块向主模块发数据(使用总线)