7.2-总线性能和总线事务
总线的性能参数
- 总线频率:反映总线工作速率(f),通常单位是MHz,类比于车速
- 总线宽度:数据总线的位数,类似于告诉路有几条车道,单位是b是微型计算机的重要指标,通常与处理器的字长有关系,如果处理器是32位,总线的位数也是32位
- 总线传输速率:总线上可以传输的数据总量(BW),单位是MB/s。总线的传输速率=(总线宽度/8位)*总线频率即 BW = (w / 8)* f。由于速率的单位是M,位宽是b所以要除以8
总线的其他参数指标
- 同步方式:同步还是异步
- 多路复用:地址线和数据线能否共用一条物理线,如果是共用一条,地址信息和数据信息不能同时传输需要分开传输,可以减少总线数量,降低成本
- 信号线数量:数据线,控制线和地址线的总和。信号线数量越多,总线相对来说比较复杂成本越高
- 总线的控制方式:传输方式,配置方式,中断分配,仲裁方式
总线事务
- 总线事务:从请求总线到完成总线使用的操作序列称为总线事务Bus transaction,它是在一个总线中期中发生的一系列活动
- 包括:请求操作,裁决操作,地址传输,数据传输,总线释放
主设备和从设备
- 主设备(master):能够提出申请并获得总线控制权的设备
- 从设备(slave):只能被动接收总线控制传送数据的设备
总线的传输操作过程
- 总线的传输:在主设备(如CPU,DMA控制器)控制下通过总线进行的信息传送(读写操作)
- 总线完成一次数据传输操作,一般经过如下四个阶段:
- 申请和仲裁阶段:包含两个总线事务请求和裁决事务
- 寻址阶段:地址传输总线事务
- 传输阶段:数据传输事务
- 结束阶段:总线释放事务
常见的总线操作
- read:主设备从从设备读取数据
- write:主设备通过总线将数据写到从设备
- read-modify-write:就是做了两次数据传输,第一次将数据从从设备读到主设备,主设备修改数据之后再将数据写回从设备,这样可以省掉一次总线的请求地址的传输和总线的释放过程解决总线传输速率问题
- read-after-write:主设备首先向从设备写数据然后再将该数据从从设备读到主设备跟第三个类似同样做了两次数据传输但是只有一次总线的请求地址的寻找以及总线释放过程减少总线事务的开销
- 块操作block(burst transfer):指的是一次总线请求以后不是传输一个总线宽度的数据而是传送一块数据与3,4相比可以省去更多的总线请求,总线的地址寻找以及总线的释放的开销,使得总线的速率更高