总线是CPU与存储器和设备通信的机制,是计算机各部分之间传送数据、地址和控制信息的公共通道。
按照相对于CPU的位置来划分,总线可分为片内总线和片外总线。片内总线用来连接CPU内部各主要功能部件,而片外总线则用作CPU与存储器和I/O接口之间进行信息交换的通道。如果按照功能和信号类型划分,总线可分为数据总线、地址总线和控制总线。
在描述一种系统总线时,我们通常会用到下面三个重要的参数:
总线宽度:又称为总线位宽,指的是总线能同时传送数据的位数,如16位总线就是具有16位数据传送能力。
总线频率:总线工作速度的一个重要参数,工作频率越高,速度越快。通常以MHz来表示。
总线带宽:又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量。总线带宽越高,传输率越高。
总线带宽 = (总线宽度/8)*总线频率
带宽单位是MB/S;如总线宽度32位,频率66MHz,则总线带宽=(32/8)*66MHz = 264MB/S
如下图所示:一个微处理器系统可能含有多条总线,通常我们将高速设备连接到高速总线上,而将低速设备连接到低速总线上,两类总线之间再通过一种称为桥的互联电路进行连接。
对于ARM系列的处理器,通常会按照AMBA规范设计总线:
AHB:用于高性能系统模块连接,支持突发模式数据传输和事务分割;可以有效连接处理器、片上和片外存储器,支持流水线操作;
ASB:也用于高性能系统模块连接,逐渐被AHB总线取代;
APB:用于较低效能外设的简单连接,一般接在AHB或ASB系统总线的第二级总线;
另一种总线为我们熟知的PCI总线,PCI是微处理器与外围控制部件、外围附加板之间的互连机制,它规定了互连的协议,目前流行的PCI总线具备32位数据宽度和33MHz的总线速度。