总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。
工作原理
当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。
总线的分类
总线按功能和规范可分为三大类型:[1]
(1) 片总线(Chip Bus, C-Bus) 又称元件级总线,是把各种不同的芯片连接在一起构成特定功能模块(如CPU模块)的信息传输通路。
(2) 内总线(Internal Bus, I-Bus)
又称系统总线或板级总线,是微机系统中各插件(模块)之间的信息传输通路。例如CPU模块和存储器模块或I/O接口模块之间的传输通路。
(3) 外总线(External Bus, E-Bus)
又称通信总线,是微机系统之间或微机系统与其他系统(仪器、仪表、控制装置等)之间信息传输的通路,如EIA RS-232C、IEEE-488等。
其中的系统总线,即通常意义上所说的总线,一般又含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。
有的系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信号表示数据而另一些时刻表示地址;而有的系统是分开的。51系列单片机的地址总线和数据总线是复用的,而一般PC中的总线则是分开的。
“数据总线DB”用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以是指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。
“地址总线AB”是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为2^16=64KB,16位微型机(个人觉得很有必要解释下x位处理器的意思:一个时钟周期内微处理器能处理的位数(1 、0)多少,即字长大小)的地址总线为20位,其可寻址空间为2^20=1MB。一般来说,若地址总线为n位,则可寻址空间为2^n字节。
“控制总线CB”用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和I/O接口电路的,如读/写信号,片选信号、中断响应信号等;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、设备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。
按照传输数据的方式划分,可以分为串行总线和并行总线。串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线的数据线通常超过2根。常见的串行总线有SPI、I2C、USB及RS232等。
按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C是同步串行总线,RS232采用异步串行总线。
计算机中的总线
a.主板的总线
在计算机科学技术中,人们常常以MHz表示的速度来描述总线频率。计算机总线的种类很多,前端总线的英文名字是Front Side Bus,通常用FSB表示,是将CPU连接到北桥芯片的总线。计算机的前端总线频率是由CPU和北桥芯片共同决定的。
b.硬盘的总线
一般有SCSI、ATA、SATA等几种。SATA是串行ATA的缩写,为什么要使用串行ATA就要从PATA——并行ATA的缺点说起。我们知道ATA或者说普通IDE硬盘的数据线最初就是40根的排线,这40根线里面有数据线、时钟线、控制线、地线,其中32根数据线是并行传输的(一个时钟周期可以同时传输4个字节的数据),因此对同步性的要求很高。这就是为什么从PATA-66(就是常说的DMA66)接口开始必须使用80根的硬盘数据线,其实增加的这40根全是屏蔽用的地线,而且只在主板一边接地(千万不要接反了,反了的话屏蔽作用大大降低),有了良好的屏蔽硬盘的传输速度才能达到66MB/s、100MB/s和最高的133MB/s。但是在PATA-133之后,并行传输速度已经到了极限,而且PATA的三大缺点暴露无遗:信号线长度无法延长、信号同步性难以保持、5V信号线耗电较大。那为什么SCSI-320接口的数据线能达到320MB/s的高速、而且线缆可以很长呢?你有没有注意到SCSI的高速数据线是“花线”?这可不是为了好看,那“花”的部分实际上就是一组组的差分信号线两两扭合而成,这成本可不是普通电脑系统愿意承担的。
c.其他的总线
计算机中其他的总线还有:通用串行总线USB(Universal Serial Bus)、IEEE1394、PCI等等。
总线的主要技术指标
1、总线的带宽(总线数据传输速率)
总线的带宽指的是单位时间内总线上传送的数据量,即每钞钟传送MB的最大稳态数据传输率。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:
总线的带宽=总线的工作频率*总线的位宽/8
或者 总线的带宽=(总线的位宽/8 )/总线周期
2、总线的位宽
总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。
3、总线的工作频率
总线的工作时钟频率以MHZ为单位,工作频率越高,总线工作速度越快,总线带宽越宽。
总线的合理搭配
主板北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)&pide;8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。
总线的操作
总线一个操作过程是完成两个模块之间传送信息,启动操作过程的是主模块,另外一个是从模块。某一时刻总线上只能有一个主模块占用总线。
总线的操作步骤:
主模块申请总线控制权,总线控制器进行裁决。
总线的操作步骤:
主模块得到总线控制权后寻址从模块,从模块确认后进行数据传送。
数据传送的错误检查。
总线定时协议:定时协议可保证数据传输的双方操作同步,传输正确。定时协议有三种类型:
同步总线定时:总线上的所有模块共用同一时钟脉冲进行操作过程的控制。各模块的所有动作的产生均在时钟周期的开始,多数动作在一个时钟周期中完成。
异步总线定时:操作的发生由源或目的模块的特定信号来确定。总线上一个事件发生取决前一事件的发生,双方相互提供联络信号。
总线定时协议
半同步总线定时:总线上各操作的时间间隔可以不同,但必须是时钟周期的整数倍,信号的出现,采样与结束仍以公共时钟为基准。ISA总线采用此定时方法。
数据传输类型:分单周方式和突发(burst)方式。
单周期方式:一个总线周期只传送一个数据。
数据传输类型:
突发方式:取得主线控制权后进行多个数据的传输。寻址时给出目的地首地址,访问第一个数据,数据2、3到数据n的地址在首地址基础上按一定规则自动寻址(如自动加1)。
总线的标准
总线是一类信号线的集合是模块间传输信息的公共通道,通过它,计算机各部件间可进行各种数据和命令的传送。
为使不同供应商的产品间能够互换,给用户更多的选择,总线的技术规范要标准化。
总线的标准制定要经周密考虑,要有严格的规定。
总线标准(技术规范)包括以下几部分:
机械结构规范:模块尺寸、总线插头、总线接插件以及安装尺寸均有统一规定。
功能规范:总线每条信号线(引脚的名称)、功能以及工作过程要有统一规定。
电气规范:总线每条信号线的有效电平、动态转换时间、负载能力等。
总线的优缺点
采用总线结构的主要优点
1、简化了硬件的设计。便于采用模块化结构设计方法,面向总线的微型计算机设计只要按照这些规定制作cpu插件、存储器插件以及I/O插件等,将它们连入总线就可工作,而不必考虑总线的详细操作。
2、简化了系统结构。整个系统结构清晰。连线少,底板连线可以印制化。
3、系统扩充性好。一是规模扩充,规模扩充仅仅需要多插一些同类型的插件。二是功能扩充,功能扩充仅仅需要按照总线标准设计新插件,插件插入机器的位置往往没有严格的限制。
4、系统更新性能好。因为cpu、存储器、I/O借口等都是按总线规约挂到总线上的,因而只要总线设计恰当,可以随时随着处理器的芯片以及其他有关芯片的进展设计新的插件,新的插件插到底板上对系统进行更新,其他插件和底板连线一般不需要改。
5、便于故障诊断和维修。用主板测试卡可以很方便找到出现故障的部位,以及总线类型。
采用总线结构的缺点
1、利用总线传送具有分时性。当有多个主设备同时申请总线的使用是必须进行总线的仲裁。
2、总线的带宽有限,如果连接到总线上的个硬件设备没有资源调控机制容易造成信息的延时(这在某些即时性强的地方是致命的)。
3、连到总线上的设备必须有信息的筛选机制,要判断该信息是否是传给自己的。