总线分类
根据所处层次
内部总线 (连接处理器内部不同的功能单元)
系统内部各外围芯片与处理器之间的总线,用于芯片一级的互连;
系统总线 (连接处理器、内存等系统核心组件)
系统中各插件板与系统板之间的总线,用于插件板一级的互连;
在微机系统中用来连接各功能部件而构成一个完整的微机系统。系统总线包含有三种不同功能的总线。
用于在CPU与RAM之间来回传送需要处理或是需要储存的数据。计算机地址总线(Address Bus)用来指定在RAM(Random Access Memory)之中储存的数据的地址。
计算机总线按功能和规范可分为数据总线、地址总线、控制总线等,有的系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信号表示数据而另一些时刻表示地址。
总线的数据传输类型分单周期方式和猝发(burst)方式。
单周期方式是指一个总线周期只传送一个数据。猝发(burst)方式是指取得总线控制权后进行多个数据的传输。寻址时给出目的地首地址,访问第一个数据,数据2、3到数据n的地址在首地址基础上按一定规则自动寻址(如自动加1)。
某同步总线的宽度为32位,传输128位数据需要128/32=4个时钟周期,由于采用burst方式,共需要5个时钟周期,在时钟频率为100MHz的情况下,即每个周期10ns,所需要的时间至少是5*10=50ns。
片内总线 (在处理器芯片内部连通各系统核心组件)
就是集成电路芯片内部各个功能之间的连接线,这类总线是由芯片设计者来实现的。
元件级总线(板内总线)元件级总线是片内总线的一部分。(处理器芯片内部连接外设、缓存等)
用于实现电路板内各个元器件的连接。
外部总线 (连接处理器安装在主板等晶元器件之外的其他设备,如硬盘、光驱等)
系统和外部设备之间的总线,系统作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备-级的互连;
根据功能
数据总线 (传输数据信号)
双向三态形式的总线,既可以把CPU的数据传送到存储器或I/O接口等其他部件,也可以将其他部件的数据传送到CPU。
数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以是指令代码或状态信息,有时甚至是一个控制信息。
数据总线的宽度
决定了通过它一次所能传递的二进制位数。显然,数据总线越宽,则每次传递的位数越多,因而,数据总线的宽度决定了在内存和CPU之间数据交换的效率。
虽然内存是按字节编址的,但可由内存一次传递多个连续单元里存储的信息,即可一次同时传递几个字节的数据。
对于CPU来说,最合适的数据总线宽度是与CPU的字长一致。这样,通过一次内存访问就可以传递足够的信息供计算处理使用。过去微机的数据总线宽度不够,影响了微机的处理能力,例如,20世纪80年代初推出的IBMPC所采用的Intel8088CPU的内部结构是16位,但数据总线宽度只有8位(称为准16位机),每次只能传送1个字节。
由于数据总线的宽度对整个计算机系统的效率具有重要的意义,因而常简单地据此将计算机分类,称为16位机、32位机和64位机等。
地址总线 (传输内存或 I/O 设备的地址信息)
专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与数据总线不同。
地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为216=64KB,16位微型机的地址总线为20位,其可寻址空间为220=1MB。一般来说,若地址总线为n位,则可寻址空间为2n字节。
所以,一个16K×32位的存储器,地址线的位数为14(214=16K),数据线的位数为32。
地址总线的宽度
影响整个计算机系统的另一个重要参数。在计算机里,所有信息都采用二进制编码来表示,地址也不例外。
原则上讲,总线宽度是由CPU芯片决定的。
CPU能够送出的地址宽度决定了它能直接访问的内存单元的个数。假定地址总线是20位,则能够访问22GB=1MB个内存单元。
20世纪80年代中期以后开发的新微处理器,地址总线达到了32位或更多,可直接访问的内存地址达到4000MB以上。
巨大的地址范围不仅是扩大内存容量所需要的,也为整个计算机系统(包括磁盘等外存储器在内),甚至还包括与外部的连接(如网络连接)而形成的整个存储体系提供了全局性的地址空间。
例如,如果地址总线的标准宽度进一步扩大到64位,则可以将内存地址和磁盘的文件地址统一管理,这对于提高信息资源的利用效率、在信息共享时避免不必要的信息复制、避免工作中的其他开销方面都起着重要作用,同时还有助于提高对整个系统保密安全的防护等。
对于各种外部设备的访问也要通过地址总线。由于设备的种类不可能像存储单元的个数那么多,故对输入输出端口寻址是通过地址总线的低位来进行的。例如,早期的IBMPC使用20位地址线的低16位来寻址I/O端口,可寻址216个端口。
内存容量为4GB,即内存单元的地址宽度为32位。字长为32位即要求数据总线的宽度为32位,因此地址总线和数据总线的宽度都为32。
控制总线 (传输控制信号)
DMA 总线 (用于直接内存访问,DMA总线是一种专门针对DMA传输而设计的总线。)
专门用于支持DMA传输的总线,如PCI、ISA等。这些总线都提供了DMA控制器所需的信号和接口,使得DMA控制器能够与外设和主存储器之间进行直接的数据传输。
根据传输方式
并行总线 (同时传输多条并列的数据信号)
并行接口与计算机设备之间传递数据的通道,同时并行传送的二进制位数就是数据宽度。
常见的并行总线有ISA、PCI和VME等。
ISA、EISA
ISA
是工业标准总线,它向下兼容PC/XT总线,在PC/XT总线的基础上扩充了36个信号线。它主要包括24条地址线、16条数据线,因此可以寻址到16MB。
ISA总线的性能不是很髙,总线的最高频率为8MHz,数据最高传输速率只16MB/S。
IBM公司1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。它是对XT总线的扩展,以适应8/16位数据总线要求。
EISA
它在ISA总线的基础上使用双层插座,在原来ISA总线的98条信号线上又增加了98条信号线,也就是在两条ISA信号线之间添加一条EISA信号线。在使用中,EISA总线完全兼容ISA总线信号。
PCI、PC/XT
PC/XT
是最早期的PC机的系统总线。它由62个插座信号构成。除了地址、数据、控制线外,还包括6个中断请求线,3个DMA请求信号,3个DMA响应信号,电源、地等其他信号。它是一条8位内总线,每次利用该总线进行读写内存接口时候,只能传送8位数据。
PCI
总线是一种不依赖于任何具体CPU的局部总线。
PCI局部总线不能兼容现有的ISA、EISA、MCA(micro channel architecture)总线,但它不受制于处理器,是基于奔腾等新一代微处理器而发展的总线。此标准允许在计PCI算机内安装多达10个遵从PCI标准的扩展卡。
PCI总线的时钟频率为33MHz/66MHz,在进行64位数据传输时候,数据传输速率可以达到528MB/s。
PCI总线支持即插即用。另外,PCI总线上的设备都可以提出总线请求,PCI管理器中的仲裁机构一旦允许该设备成为主控设备,就可以由它来控制PCI总线,实现主设备和从设备之间的点对点数据传输。
VME
SCSI
一种并行总线接口,常用于连接高速、复杂的外部设备,如硬盘、磁带机和CD/DVD驱动器等。
SCSI总线具有多路通道和传输控制功能,能够同时支持多个设备,并能够通过单个SCSI卡或接口来管理和控制这些设备,从而提高了数据传输效率和可靠性。由于其高效率的数据传输和广泛的应用领域,SCSI总线已成为计算机系统中最受欢迎的外围设备接口之一。
串行总线 (逐个传输每个数据位)
按位传输方式,收发各利用一条信号线进行传输,串行总线连接引脚数量少,连接简单,成本较低,系统可靠性髙。
常见的串行总线有RS232、I2C、IEEE1394和USB等。
外设和计算机间通过数据信号线、地线、控制线等,按位进行传输数据的一种通信方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本。
由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“发送移位寄存器”(并→串)和“接收移位寄存器”(昂→并)。
在数据输出过程中,CPU把要输出的字符(并行地)送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据1位1位地送到外设。
在数据输入过程中,数据1位1位地从外设进入接口的“接收移位寄存器”,当“接收移位寄存器”中已接收完1个字符的各位后,数据就从“接收移位寄存器”进入“数据输入寄存器”。CPU从“数据输入寄存器”中读取接收到的字符。
USB
一个外部总线标准,用于规范计算机与外部设备的连接和通讯,是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。
USB接口可用于连接多达127个外设,如鼠标、调制解调器和键盘等。
USB自从1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备的必配的接口之一。
IEEE1394
IEEE1394不分主设备和从设备,都是主导者和服务者,具有64位寻址空间
IEEE1394总线协议包括物理层、链路层、传输层、应用层以及串行总线管理器。
IEEE1394通信协议中定义了三个协议层:事务层、链路层和物理层,用于在请求和响应者之间的数据传输过程中完成相关服务。
事务层支持异步传输的读、写和锁定操作,遵循CSR结构的请求/响应协议;
链路层主要为事务层服务,它实现对等时和异步数据包的寻址、数据检验、分析等功能;物理层实现包括仲裁、同步、编码/解码等功能
在底板环境中定义了49.152Mb/s
在线缆环境下,具有三种传输速率:98.304Mb/s,196.608Mb/s和392.216Mb/s。
在底板环境中定义了49.152Mb/s的数据传速率;。
IEEE1394的两种传输方式
Backplane模式
最小的速率也比USB1.1最高速率高,分别为12.5Mbps、25Mbps、50Mbps,可以
Backplane模式
最小的速率也比USB1.1最高速率高,分别为12.5Mbps、25Mbps、50Mbps,可以用于多数的髙带宽应用。
Cable模式
速度非常快的模式,分为100Mbps、200Mbps和400Mbps几种,在200Mbps下可以传输不经压缩的高质量数据电影。
RS类
在数据通信、计算机网络以及分布式工业控制系统当中,经常需要使用串行通信来实现数据交换。目前,常用的有RS232、RS422和RS485。RS232是最早的串行接口标准,适用于短距离(<15m)、较低波特率的串行通信中。RS422接口标准和RS485接口标准是针对RS232接口标准的通信距离短、波特率比较低的缺陷提出的。
RS232
RS232采取不平衡传输方式,即单端通信。其收发端的数据信号都是相对于地信号的。所以其共模抑制能力差,再加上双绞线的分布电容,其传输距离最大约为15m,最高速率为20Kbps,且其只能支持点对点通信。
RS422
它的主要特点是采用单端发送器(非平衡发送器)和差动接收器,最少为4根数据信号线。
其接收器的输入有一端与发送器的地相连,且允许接收器与发送器接地端之间有电位差,这样可以提高传输速率。
虽然RS422的发送器与RS232标准相同,但由于接收器采用差动方式,所以传输距离和速度仍比RS232有较大的提高,在10m传输距离时传输速率可达100Kbps,距离增到100m时,速度仍有10Kbps。
RS485
当通信距离为几十米到上千米时,广泛采用RS485串行总线。最少为2根数据信号线。真正实现多点结构的总线
RS485采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号A、B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。
由于传输线通常使用双绞线,又是差分传输,所以有极强的抗共模干扰的能力,总线收发器灵敏度很高,可以检测到低至200mV电压。
故传输信号在千米之外都可以恢复。RS485最大的通信距离约为1219m,最大传输速率为10Mbps,传输速率与传输距离成反比,在100Kbps的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。
根据速度
前端总线 (连接 CPU 和主板上的北桥芯片,传输速度较快)
后端总线 (连接主板上的南桥芯片及其他外设,传输速度较慢)
根据同步性质
同步总线 (所有组件按照时钟信号同步工作)
异步总线 (组件间通讯无需时钟信号同步)
根据使用者
CPU总线 (连接处理器和各内部组件、内存)
前端总线 (连接处理器核心与北桥芯片,传输速度较高)
后端总线 (连接南桥芯片和其他外设,传输速度较低)
I/O总线 (连接各种输入输出设备,如硬盘、光驱、显示器等)
I/O控制器总线 (连接 I/O 控制器和外设,用于传输控制信息)
I/O数据总线 (连接 I/O 设备和内存,用于数据传输)
通信总线
局域网总线 (在局域网中传输的数据或信息)
广域网总线 (在广域网中传输的数据或信息)
存储区域网络总线 (连接多个存储设备以形成存储池)
根据拓扑结构
单总线结构
双总线结构
三总线结构
星型结构
环型结构