1.总线概述

1.1.总线相关概念
1.1.1.总线的定义
总线:总线是一组能为多个部件分时共享的公共信息传送线路。为什么要采用总线呢?这是因为早期计算机的外部设备非常少,所以大多采用分散连接方式(也就是建立专门的数据传送线路),但是随着时代的发展,外部设备的数量越来越多,因此如果每增加一个外部设备就增加一个线路的话,显然是不合理的。所以为了更好地解决 I/O 设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为了总线连接。

1.1.2.总线的特点
共享:是指总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组线路分时共享。
。分时:是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息

1.1.3.总线的特性
设计总线时要考虑以下特性:
- 机械特性:尺寸、形状、管脚数、排列顺序。
- 电气特性:传输方向和有效地电平范围。
- 功能特性:每根传输线的功能(地址、数据、控制)。
- 时间特性:信号的时序关系。
1.2.总线的分类
1.2.1.按数据的传输格式分类
串行总线:一次只能发送一个 bit 的数据。
- 优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。
- 缺点:在数据发送和接受的时候,需要进行拆卸和装配,要考虑串行 - 并行转换的问题。

并行总线:一次可以并行发送多个 bit 的数据。
- 优点:总线的逻辑时序比较简单,电路实现起来比较容易。
- 缺点:信号线数量多,占用更多布线空间;远距离传输成本高昂;另外,在工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。

1.2.2.按总线功能(连接的部件)
1.2.2.1.片内总线
片内总线:是芯片内部的总线,它是 CPU 芯片内部寄存器与寄存器之间、寄存器与 ALU 之间的公共连接线。
1.2.2.2.系统总线
系统总线:是计算机系统内各功能部件(CPU、主存、I/O 接口)之间的相互连接的总线。按系统总线传输信息内容的不同,又可以分为 3 类:数据总线、地址总线和控制总线。
数据总线(DATA BUS):传输功能部件之间的数据信息,包括指令和操作数;其位数(根数)与机器字长、存储字长有关;双向传输。
地址总线(ADDRESS BUS):用于指出数据总线上的源数据或目的数据所在的主存单元或 I/O 端口的地址;它是单向传输总线;地址总线的位数与主存地址空间的大小有关。
控制总线(CONTROL BUS):传输控制信息;一根控制线传输一个信息;对于单个控制线它是单向的,但是对于整个控制总线来说它是 “双向” 的,也就是有出(指 CPU 发出的控制信号)和有入(主存或外设返回的反馈信号)。

注意区分数据通路和数据总线
- 数据通路:各个功能部件通过数据总线连接形成的数据传输路径,它表示的是数据流经的路径。
- 数据总线:是承载数据流动的媒介。
1.2.2.3.通信总线
通信总线:是在计算机系统之间或计算机系统与其他系统(比如远程设备,测试设备)之间传送信息的总线,也称为外部总线。
1.2.3.按时序控制方式分类
- 同步总线
- 异步总线
1.3.系统总线的结构
1.3.1.单总线结构
单总线结构:CPU、主存、I/O 设备都连接在一组总线上,允许 I/O 设备之间、I/O 设备和 CPU 之间或 I/O 设备与主存之间直接交换信息。
- 优点:结构简单、成本低、易于接入新的设备。
- 缺点:带宽低、负载重、多个部件只能争用唯一的总线,且不支持并行操作;另外像 CPU、主存它们的速度是很快的,但是像硬盘这些设备速度要很慢,所以这种方式也不科学。

1.3.2.双总线结构
双总线结构:具有两条总线,一条是主存总线,用于 CPU、主存和通道之间进行数据传送;另一条是 I/O 总线,用于多个外部设备与通道之间进行数据传送。
- 优点:将较低速的 I/O 设备从单总线上分离出来,实现存储器总线和 I/O 总线的分离。
- 缺点:需要增加通道等硬件设备。

其中通道是指具有特殊功能的处理器,能对 I/O 设备进行统一管理。通道程序放在主存中;另外双总线结构还支持突发(猝发)传送(送出一个地址,收到多个地址连续的数据)。
1.3.3.三总线结构
三总线结构:在计算机系统各部件之间采用 3 条各自独立的总线来构成信息通路,这三条总线分别为主存总线、I/O 总线和 DMA(直接内存访问)总线。
- 优点:提高了 I/O 设备的性能,使其能更快地响应命令,提高系统吞吐量。
- 缺点:系统工作效率较低。

- 主存总线:用于 CPU 和内存之间传送地址、数据和控制信息。
- I/O 总线:用于 CPU 和各类外设之间通信。
- DMA 总线:用于内存和高速外设之间直接传送数据。
1.2.4.四总线结构

1.4.总线性能指标
1.4.1.串行总线

- 优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。
- 缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行-并行转换的问题。
1.4.2.并行总线

- 优点:总线的逻辑时序比较简单,电路实现起来比较容易。
- 缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。
1.3.3.总结
- 工作频率相同时,串行总线传输速度比并行总线慢。
- 并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线。
①:总线传输周期(总线周期):一次总线操作所需要的时间,通常由若干个总线时钟周期构成。经过一个总线传输周期后就可以完成一组数据的传送
- 申请阶段:例如总线仲裁。
- 寻址阶段
- 传输阶段
- 结束阶段:释放总线使用权。
②:总线时钟周期:也即机器的时钟周期,我们知道计算机中会有一个统一的时钟,来控制整个计算机的各个部件,总线自然也要受到时钟的控制。
需要注意的是,总线周期与总线时钟周期的关系有时比较复杂。
- 大多数情况下,一个总线周期包含多个总线时钟周期。
- 有的时候,一个总线周期就是一个总线时钟周期。
- 还有的时候,一个总线时钟周期可以包含多个总线周期。
关于第三点大家可能会感觉到奇怪,其实有的时候当检测到一个时钟周期的 “上升沿” 和“下降沿”时会分别发出数据 。

③:总线工作频率:总线上各种操作的频率,它是总线周期的倒数。
若总线周期 = N 个时钟周期,则总线的工作频率为 = 时钟频率 / N,表示一秒内传送了几次数据。
④:总线时钟频率:即机器的时钟频率,是时钟周期的倒数。
若时钟周期为 T,则时钟频率为 1/T,表示一秒内有多少个时钟周期。
⑤:总线宽度:又称为总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数。 比如 32 根就称为 32bit 总线。
⑥:总线带宽:可以理解为总线的数据传输率,也即单位时间内总线上可以传输数据的位数。 通常用每秒钟传送信息的字节数来衡量,单位可以用字节 / 秒(B/s)表示。
因此有如下公式:
⑦:总线复用:是指一种信号线在不同的时间传输不同的信息,这样做可以使用较少的成本来传输更多得到信息,节省了成本,但是会使传输效率下降。

⑧:信号线数:是指地址总线、数据总线、控制总线 3 种总线线的根数之和。
1.5.相关计算
这一部分特别爱出有关总线性能的计算问题。
2.总线仲裁
2.1.总线仲裁基本概念
2.1.1.主设备和从设备
前面说过,同一时刻只能有一个设备控制总线进行传输,但可以有一个或多个设备从总线接受数据。因此,可以将总线上所连接的各类设备按其对总线有无控制功能分为:
- 主设备:获得总线控制权的设备。
- 从设备:被主设备访问的设备,只能响应从设备发来的各种总线命令。

2.1.2.总线仲裁的定义
总线仲裁:多个主设备同时竞争总线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。
2.1.3.为什么要进行总线仲裁
总线属于共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权的问题。为了解决这个问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权,只有获得了总线控制权的设备,才能传送数据。
2.1.4.总线仲裁分类
①:集中仲裁方式
- 链式查询方式
- 计数器定时查询方式
- 独立请求方式
②:分布仲裁方式
2.2.集中仲裁
集中仲裁的工作流程:
- 主设备发出请求信号。
- 。若多个主设备同时要求使用总线,则总线控制器判优,仲裁逻辑按照一定的优先级顺序确定哪个主设备能够使用总线
- 获得总线使用权的主设备开始传送数据。
2.2.1.链式查询方式
2.2.1.1.概述
链式查询方式:总线上所有的部件共用一根总线请求线(BR),当有部件请求使用总线时,需要经过此线发总线请求信号到总线控制器,由总线控制器检查总线是否忙?若总线不忙,则立即发出总线响应信号,经总线响应线(BG)串行地从一个部件传送到下一个部件,依次查询。
若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件。
若响应信号到达的部件有总线请求,则信号被拦截,不再传下去 。
注意:
- “总线忙” 信号的建立者是获得总线控制权的设备。
- 离总线控制器越近的部件优先级就越高;离总线控制器越远的部件优先级就越低。
2.2.1.2.例子
- 假设上图中的设备 1 和设备 n 同时想要使用总线,那么它们都会向 BR 发出总线请求信号。

- 当总线控制部件检测到请求信号时,它明白其中有设备想要获得总线控制权。
- 接着,总线控制部件会通过 BG 发出总线允许信号。该信号第一次会通过设备 0,但此时设备 0 并不想要使用总线,因此会让此信号继续往后传递;来到设备 1 后,设备 1 是想要使用总线的,所以它会接受信号,这也意味着总线控制部件允许它控制总线。
- 同时设备 1 会向 BS 发出总线忙信号,表明此时总线已经被自己占据。当控制部件检测到 BS 信号时,就明白了此时总线控制权已经分配给了某个设备,于是会撤销 BG 信号,看起来就好像 BG 信号被设备 1 截断了一样。

接下来设备 1 就可以使用总线与其他设备进行数据交互了。当设备 1 使用完总线时,它会撤销总线忙信号。

此时设备 n 还在请求总线,总线控制部件检测到请求信号之后,重复以上步骤即可 。

2.2.1.4.优缺点
其优缺点如下:
- 优点:链式查询方式优先级固定,只需要很少几根控制线就能按一定优先次序实现总线控制,结构简单,易于扩充。
- 缺点:对硬件电路的故障十分敏感,并且优先级不能更改。当优先级较高的部件频繁使用总线时,会使优先级较低的部件长期不能使用总线,产生 “饥饿” 现象。
2.2.2.计数器查询方式
2.2.2.1.概述
计数器查询方式:该方式采用了一个计数器来控制总线使用权,相比链式查询方式多了一组设备地址线,少了一根总线响应线 BG,仍共用一根总线请求线,当总线控制器收到总线请求信号并判断总线空闲时,计数器开始计数。计数值通过设备地址线发向各个部件。当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权,同时中止计数器的计数及查询。

2.2.2.2.例子
假设上图中的设备 1 和设备 n 通过 BR 发出总线请求信号。

当总线控制部件检测到请求信号时,它明白其中有设备想要获得总线控制权,此时计数器开始计数。比如从 0 开始,这意味着设备地址线上传过来的地址是 0,表示正在询问设备 0 是否想要控制权, 由于 0 号设备不想要使用,所以此时计数器变为 1。

接着设备 1 发现此时的地址信息是自己的编号,而它正好也想要控制权,因此它会发出总线忙信号,表示此时已经获得了总线控制权。

当控制部件检测到总线忙信号时,结束仲裁,同时计数器暂停。接着设备 1 就可以使用总线进行数据交互了。
使用完成之后,设备 1 会撤销 BS 信号,如果此时还有请求信号,那么计数器就可以接着计时,然后询问下一个设备是否需要控制总线。

2.2.2.3.优缺点
优点一:就是计数初始值可以改变优先次序。
- 如果计数每次从 0 开始,那么设备的优先级就按顺序排列,固定不变。
- 如果计数器从上一次终点开始接着计数,此时设备优先级平等。
- 计数器的初始值还可以使用程序控制。
优点二:就是对电路的故障没有敏感
缺点一:就是增加了控制总线。
- 若设备有 \(n\) 个,则需要 $log_{2}n $ 条控制线。
缺点二:就是查询较链式查询复杂。
2.2.3.独立请求方式
2.2.3.1.概述
计数器查询方式:该方式中,每个设备均有一对总线请求线 B R i BR_{i} BRi和总线允许线 B G i BG_{i} BGi。当总线上的部件需要使用总线时,经各自的总线请求线发出总线请求信号,在总线控制器中排队,当总线控制器按一定的优先次序决定批准每个部件的请求时,给该部件发送总线响应信号,该部件接到此信号后就获得了总线使用权,开始传送数据。

2.2.3.2.例子
总线控制部件中有一个排队器,如下,当设备 n
需要使用总线时会发出总线请求信号,轮到该设备使用总线时,该设备再给控制部件发送
BS 信号,告诉控制部件仲裁已经结束,当该设备使用完总线后,会撤销 BS
信号,排队继续进行 。
2.2.3.4.优缺点
优点
- 响应速度快,总线允许信号 BG 直接从控制器发送到有关设备,不必在设备之间传递或查询。
- 对优先次序的控制相当灵活。
缺点一:控制线数量多
- 若设备有 n 个,则需要 2n+1 条控制线。其中 + 1 为 BS 线,用于设备向总线控制部件反馈已经是否正在使用总线。
缺点二:控制逻辑更加复杂。
2.2.4.三种仲裁方式对比

2.3.分布仲裁
分布仲裁:不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用总线。
- 当设备有总线请求时,它们就各自把唯一的仲裁号发送到共享的仲裁总线上。
- 每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较。
- 如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。
- 最后,获胜者的仲裁号保留在仲裁总线上。
3.总线操作和定时

3.1.总线定时
3.1.1.总线周期
总线周期:一个总线周期通常会分为以下几个阶段:
申请分配阶段: 由需要使用总线的主模块(主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者,也可将此阶段细分为传输请求和总线仲裁两个阶段。
寻址阶段: 获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
传输阶段: 主模块和从模块进行数据交换,可单向或双向进行数据传送。
结束阶段: 主模块的有关信息均从系统总线上撤除,让出总线使用权。
3.1.2.总线定时
总线定时:是指双方在总线上交换数据时对时间关系的一种控制。本质是一种协议或规则,主要有以下几种:
- 同步通信(同步定时方式):由统一时钟控制数据传送。
- 异步通信(异步定时方式):采用应答方式,没有公共时钟标准。
- 半同步通信:同步、异步的结合。
- 分离式通信:充分挖掘系统总线每一瞬间的潜力。
3.2.同步定时方式
3.2.1.概述
同步定时:总线控制器采用一个统一的时钟信号来协调发送和接受双方的传送定时关系,有如下特点:
- 若干时钟周期产生相等的时间间隔,每个间隔构成一个总线周期。
- 在一个总线周期中,发送方和接受方可以进行一次数据传送。
- 采用统一的时钟,每个部件或设备发送或接受信息都在固定的传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。
例如下图,假设 CPU 作为主设备,某个输入设备作为从设备,那么整个传送过程如下:
- CPU 在 $ T_{1} $时刻的上升沿给出地址信息。
- 在 $T_{2} \(时刻的**上升沿给出读命令**(这里时低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且**必须在\) T_{3}$的上升沿来临之前**,将 CPU 所需要的数据送到数据总线上。
- CPU 在 $T_{3} $时钟周期内,将数据线上的信息传送到内部寄存器中。
- CPU 在 $ T_{4} $时刻的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。

3.2.2.优缺点
优点
- 传送速度快、传输速率高。
- 总线控制逻辑简单。
缺点
- 主从设备属于强制性同步。
- 不能及时进行数据通信的有效性检验,可靠性较差。
同步通信适用于总线长度较短以及总线所接部件的存取时间比较接近的系统,否则就会出现诸如 “主设备跟得上总线的速度,而从设备跟不上总线的速度” 这样的尴尬情况。
3.3.异步定时方式
异步定时:没有统一的时钟,也没有固定的时钟间隔,完全依靠传送双方相互制约的 “握手” 信号来实现定时控制。
- 主设备提出交换信息的 “请求” 信号,经接口传送到从设备。
- 从设备接到主设备的请求后,通过接口向主设备发出 “回答” 信号。
3.3.1.三种异步定时方式
由于没有统一的时钟信号,所以他们是根据 “请求” 和“回答”信号的撤销是否互锁,分为以下三种类型。可以结合网络中的三次握手理解。
- 不互锁方式
- 半互锁方式
- 全互锁方式
3.3.1.1.不互锁(速度最快但可靠性最差)
主设备发出 “请求” 信号后,不必等从设备的 “回答” 信号,而是经过一段时间,便撤销 “请求” 信号,双方不存在互锁关系。
从设备接到 “请求” 信号后,发出 “回答” 信号,并经过一段时间后,自动撤销 “回答” 信号,双方不存在互锁关系。

3.3.1.2.半互锁
主设备发出 “请求” 信号后,必须等到从设备的 “回答” 信号到来,才撤销 “请求” 信号,有互锁的关系。
从设备在接受到 “请求” 信号后,发出 “回答” 信号,但不需要等到获知主设备的 “请求” 信号已经撤销,而是隔一段时间后自动撤销 “回答” 信号,不存在依赖关系。

3.3.1.3.全互锁(可靠性最强但速度最慢)
主设备发出 “请求” 信号后,必须要等到从设备的 “回答” 信号到来,才撤销 “请求” 信号,双方存在互锁的关系
从设备发出“回答”信号,必须待获知主设备 “请求” 信号已经撤销后,再撤销其 “回答” 信号,双方存在互锁关系。

3.2.2优缺点
- 优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
- 缺点:同步控制方式复杂,速度慢于同步定时方式。
3.4.半同步通信
半同步通信:统一时钟的基础上,增加一个“等待”响应信号WATT
。

3.5.半分离通信
上述三种通信的共同点一个总线传输周期(以输入数据为例):
- 主模块发地址、命令 使用总线
- 从模块准备数据 不使用总线 总线空闲
- 从模块向主模块发数据 使用总线
分离式通信的一个总线传输周期:
- 子周期1:主模块申请占用总线,使用完后放弃总线的使用权。
- 子周期2:从模块申请占用总线,将各种信息送至总线上。
特点:
- 各模块均有权申请占用总线。
- 采用同步方式通信,不等对方回答。
- 各模块准备数据时,不占用总线。
- 总线利用率提高。
4.总线标准
4.1.总线标准是什么
总线标准:是国际上公布或推荐的互连各个模块的标准,是把各种不同的模块组成计算机系统时必须遵守的规范。按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需要根据总线标准的要求完成自方面的功能要求,而无需了解对方接口的要求 。

根据总线在计算机系统中的位置,总线可以分为:
- 系统总线:通常与 CPU 直接相连,用于连接 CPU 与北桥芯片,或 CPU 与主存。
- 局部总线:没有直接与 CPU 连接,通常是连接高速的北桥芯片,用于连接很多重要的硬件部件(比如显卡和声卡等)。
- 设备总线、通信总线:通常 ** 由南桥芯片控制,** 用于连接计算机与计算机,或连接计算机与外部 I/O 设备。
4.2.总线标准总结
总线标准总览如下,其中加粗部分为考试重点标准,各总线详细介绍请向下翻阅:
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
ISA | Industry Standard Architecture | 8MHz | 8/16 | 16MB/s | 系统总线 |
EISA | Extended ISA | 8MHz | 32 | 32MB/s | 系统总线 |
VISA | Video Industry Standard Architecture | 33MHz | 32 | 132MB/s | 局部总线 |
PCI | Peripheral Component Interconnect | 33/66MHz | 32/64 | 528MB/s | 局部总线 |
AGP | Accelerated Graphics Port | - | - | X1:266MB/s;X8:2.1GB/s | 局部总线 |
PCI-E | PCI-Express(3GIO) | - | - | 10GB/s 以上 | 串行 |
SCSI | Small Computer System Interface | - | - | 640MB/s | 智能通用接口 |
RS-232C | Recommended Standard | - | - | 20Kbps | 串行通信总线 |
PCMCIA | Personal Computer Memory Card International Association | - | - | 90MB/s | 便携通用接口 |
USB | Universal Serial Bus International Association | - | - | 1280MB/s | 设备总线、串行 |
IDE(ATA) | Integrated Drive Electronics | - | - | 100MB/s | 硬盘光驱接口 |
SATA | Serial Advanced Technology Attachment | - | - | 600MB/s | 串行硬盘接口 |
思维导图如下(发展趋势) :

4.3.总线标准详述
4.3.1.系统总线标准
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
ISA | Industry Standard Architecture | 8MHz | 8/16 | 16MB/s | 系统总线 |
EISA | Extended ISA | 8MHz | 32 | 32MB/s | 系统总线 |
最早的 PC 总线是 IBM 公司 1981 年在 PC/XT 电脑采用的系统总线,它基于 8bit 的 8088 处理器,被称为 PC 总线或者 PC/XT 总线。
1984 年,IBM 推出基于 16-bit Intel 80286 处理器的 PC/AT 电脑,系统总线也相应地扩展为 16bit,并被称呼为 PC/AT 总线。而为了开发与 IBM PC 兼容的外围设备,行业内便逐渐确立了以 IBM PC 总线规范为基础的 ISA (工业标准架构: Industry Standard Architecture ) 总线。
ISA 总线最大传输速率仅为 8MB/s,数据传送需要 CPU 或 DMA 接口来管理,传输速率过低、CPU 占用率高、占用硬件中断资源等,很快使 ISA 总线在飞速发展的计算机技术中成为瓶颈。不支持总线仲裁。
因此在 1988 年,康柏、惠普等 9 个厂商协同把 ISA 扩展到 32 -bit, 这就是著名的 EISA (Extended ISA,扩展 ISA) 总线。EISA 总线的工作频率仍旧仅有 8MHz,并且与 8/16bit 的 ISA 总线完全兼容,带宽提高了一 - 倍,达到了 32MB/s。从 CPU 中分离出了总线控制权,支持多个总线主控器和突发传送。可惜的是,EISA 仍旧由于速度有限,并且成本过高,在还没成为标准总线之前,在 20 世纪 90 年代初的时候,就给 PCI 总线给取代了。
4.3.2.局部总线标准
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
VISA | Video Industry Standard Architecture | 33MHz | 32 | 132MB/s | 局部总线 |
CPU 的主频提高,数据宽度增大及处理能力的增强使得系统的性能迅速提高。虽然系统总线在不断发展,仍然跟不上软件和 CPU 的发展速度,仍然不能充分利用 CPU 的强大处理能力。大部分时间内,CPU 都处于等待状态,特别是在日益强大的 CPU 处理能力和存储器容量的支持和激励下,操作系统和应用程度变得越来越复杂,而显示卡和硬盘控制器因位于 8 位或 16 位系统 I/0 总线上,相对极高的 CPU 的速度而言,传输数据的速度低的多,从而影响了系统的整体工作效率。
因此,为提高系统的整体性能,解决总线传输问题的一个办法是将外设直接挂在 CPU 局部总线上并以 CPU 速度运行,将外设挂到 CPU 局部总线能够极大地提高外设的运行速度,而成本只有轻微的上浮,这个性能 / 价格比为局部总线创造了一个巨大的市场潜力。
1991 年) 视频电子标准协会针对视频显示的高数据传输率要求而推出了 VESA 总线,又叫做视频局部总线 (VESA local bus), 简称 VL-BUS 总线, 由 CPU 总 线演化而来,是针对多媒体 PC 要求高速传送活动图像的大量数据应运而生的。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
PCI | Peripheral Component Interconnect | 33/66MHz | 32/64 | 528MB/s | 局部总线 |
由于 ISA/EISA 总线速度缓慢,造成硬盘、显示卡还有其它的外围设备只能通过慢速并且狭窄的瓶颈来发送和接受数据,使得整机的性能受到严重的影响。为了解决这个问题,1992 年 Intel 在发布 486 处理器的时候,也同时提出了 32 -bit 的 PCI (周边组件互连) 总线。 最早提出的 PCI 总线工作在 33MHz 频率之下,传输带宽达到了 133MB/s (33MHz X 32bit/8),比 ISA 总线有了极大的改善,基本上满足了当时处理器的发展需要。目前计算机上广泛采用的是这种 32-bit、33MHz 的 PCI 总线,可扩展到 64bit。
特点如下
- 高性能,不依附于某个具体的处理器,支持突发传送
- 良好的兼容性
- 支持即插即用
- 支持多主设备。
- 具有与处理器和存储器子系统完全并行操作的能力
- 提供数据和地址奇偶校验的能力
- 可扩充性好,可采用多层结构提高驱动能力
- 采用多路复用技术,减少了总线引脚个数
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
AGP | Accelerated Graphics Port | - | - | X1:266MB/s;X8:2.1GB/s | 局部总线 |
PCI 总线是独立于 CPU 的局部总线,可将显示卡、声卡、网卡、硬盘控制器等高速的外围设备直接挂在 CPU 总线上,打破了瓶颈,使得 CPU 的性能得到充分的发挥。可惜的是,由于 PCI 总线只有 133MB/s 的带宽,对付声卡、网卡、视频卡等绝大多数输入 / 输出设备也许显得绰绰有舍,但对于胃口越来越大的 3D 显卡却力不从心,并成为了制约显示子系统和整机性能的瓶颈。因此,PCI 总线的补充 ----AGP 总线就应运而生了。Intel 于 1996 年 7 月正式推出了 AGP (加速图形接口,Accelerated Graphics Port) 接口,这是显示卡专用的局部总线,是基于 PCI 2.1 版规范并进行扩充修改而成,工作频率为 66MHz,1X 模式下带宽为 266MB/S,是 PCI 总 线的两倍。后来依次又推出了 AGP 2X、AGP 4X,现在则是 AGP 8X,传输速度达到了 2. 1GB/S。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
PCI-E | PCI-Express(3GIO) | - | - | 10GB/s 以上 | 串行 |
Intel 在 2001 年春季的 IDF 上,正式公布了旨在取代 PCI 总线的第三代 I/0 技术,最后却被正式命名为 PCI-Express,Express 意思是高速、特别快的意思。PCI Express 总线 是一种完全不同于过去 PCI 总线的一种全新总线规范,与 PCI 总线共享并行架构相比,PCI Express 总线是一种点对点串行连接的设备连接方式,点对点意味着每 - 一个 PCI Express 设 备都拥有自己独立的数据连接,各个设备之间并发的数据传输互不影响,而对于过去 PCI 那种共享总线方式,PCI 总线上只能有一个设备进行通信,一旦 PCI 总线上挂接的设备增多,每个设备的实际传输速率就会下降,性能得不到保证。在传输速率方面,PCIExpress 总线利用串行的连接特点将能轻松将数据传输速度提到—个很高的频率,达到远超出 PCI 总线的传输速率。与此同时,PCI Express 总线支持双向传输模式,还可以运行全双工模式。支持热拔插。
4.3.3.设备总线标准
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
RS-232C | Recommended Standard | - | - | 20Kbps | 串行通信总线 |
RS-232C 是应用于串行二进制交换的数据终端设备 (DTE) 和数据通信设备 (DCE)之间的标准接口。RS- 232C 是美国电子工业协会 EIA (Electronic Industry Association) 联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的一. 种串行物理接口标准。RS 是英文 “推荐标准” 的缩写,232 为标识号,C 表示修改次数。RS- -232C 总线标准设有 25 条信号线,包括一个主通道和一一个辅助通道。该标准规定采用 - 一个 25 个脚的 DB–25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来 IBM 的 PC 机将 RS232 简化成了 DB-9 连接器,从而成为事实标准。而工业控制的 RS -232 口一般只使用 RXD、TXD、 GND 三 条线。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
SCSI | Small Computer System Interface | - | - | 640MB/s | 智能通用接口 |
SCSI (小型计算机系统接口) 是一种用于计算机和智能设备之间 (硬盘、软驱、光驱、打印机、扫描仪等) 系统级接口的独立处理器标准。SCSI 是一种智能的通用接口标准。IDE 的工作方式需要 CPU 的全程参与,CPU 读写数据的时候不能再进行其他操作,这种情况在 Windows 95/NT 的多 任务操作系统中,自然就会导致系统反应的大大减慢。而 SCSI 接口,则完全通过独立的高速的 SCSI 卡来控制数据的读写操作,CPU 就不必浪费时间进行等待,显然可以提高系统的整体性能。不过,IDE 接口为改善这个问题也做了很大改进,已经可以使用 DMA 模式而非 PI0 模式来读写,数据的交换由 DMA 通道负责,对 CPU 的占用可大大减小。尽管如此,比较 SCSI 和 IDE 在 CPU 的占用率,还是可以发现 SCSI 仍具有相当的优势。SCSI 的扩充性比 IDE 大,- - 般每个 IDE 系统可有 2 个 IDE 通道,总共连 4 个 IDE 设备,而 SCSI 接口可连接 7- -15 个设备,比 IDE 要多很多,而且连接的电缆也远长于 IDE. 虽然 SCSI 设备价格高些,与 IDE 相 比, SCSI 的性能更稳定、耐用,可靠性也更好。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
PCMCIA | Personal Computer Memory Card International Association | - | - | 90MB/s | 便携通用接口 |
由于可移动计算机 (笔记本) 用户对 PC 卡的需求变了,要求强度高,能耗低,尺寸小,而且对这几条性能的要求都很高。所以 PC 卡的标准也相应地变了。1991 年, PCMCIA 定 义了原本用于内存卡的 68 个脚的 I/0 连接线路标准。同时增加了插槽使用说明。生产商意识到软件需要提高兼容性,因而这项标准也就得到了相应的应用。 PCMCIA 总线分为两类,一类为 16 位的 PCMCIA,另一类为 32 位的 CardBus。CardBus 是 - 种用于笔记本计算机的新的高性能 PC 卡总线接口标准,就像广泛地应用在台式计算机中的 PCI 总线一样。该总线标准与原来的 PC 卡标准相比,具有以下的优势: 第一,是 32 位数据传输和 33MHz 操作。CardBus 快速以太网 PC 卡的最大吞吐量接近 90 Mbps,而 16 位快速以太网 PC 卡仅能达到 20-30 Mbps。 第二,总线自主。使 PC 卡可以独立于主 CPU,与计算机内存间直接交换数据,这样 CPU 就可以处理其它的任务。 第三,3. 3V 供电,低功耗。提高了电池的寿命,降低了计算机内部的热扩散,增强了系统的可靠性。第四,后向兼容 16 位的 PC 卡。老式以太网和 Modem 设备的 PC 卡仍然可以插在 CardBus 插槽_上使用。PCMCIA 支持即插即用。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
USB | Universal Serial Bus International Association | - | - | 1280MB/s | 设备总线、串行 |
USB 是在 1994 年底由英特尔等多家公司联合在 1996 年推出后,已成功替代串口和并口,已成为当今电脑与大量智能设备的必配接口。USB 属于设备总线,是设备和设备控制器之间的接口。USB 所有新版本都向下兼容,可以连接鼠标、键盘、打印机、扫描仪、摄像头、充电器、闪存盘、MP3 机、手机、数码相机、移动硬盘、外置光软驱、USB 网卡、ADSL Modem、Cable Modem 等几乎所有的外部设备。可以热插拔、即插即用。具有很强的连接能力和很好的可扩充性。采用菊花链形式将众多外设连接起来,可使用 USB 集线器链式连接 127 个外设。标准统一。以前大家常见的是 IDE 接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了 USB 之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了 USB 硬盘、USB 鼠标、USB 打印机等等。高速传输。连接电缆轻巧,可为低压 (5V) 外设供电。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
IDE(ATA) | Integrated Drive Electronics | - | - | 100MB/s | 硬盘光驱接口 |
Integrated Drive Electronics (电子集成驱动器)本意是指把 “硬盘控制器” 与“盘体”集成在一起的硬盘驱动器。用于 IDE 硬盘的接口最初被称为 IDE 接口,后来扩展为 CD-ROM、磁带机、可移动磁盘、LS-120 磁盘等设备的接口。硬盘和光驱通过 IDE 接口与主板连接。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
SATA | Serial Advanced Technology Attachment | - | - | 600MB/s | 串行硬盘接口 |
SerialATA 即串行高级技术附件,它是一种完全不同于并行 ATA 的新型硬盘接口类型,由于采用串行方式传输数据而知名。是由 APT Technologies、 DELL、IBM、 Intel、 Maxtor、Quantum, Seagate 等公 司合作开发用于取代并行ATA 接口技术。与并行 ATA 相比,SATA 具有比较大的优势。 首先,SerialATA 以连续串行的方式传送数据,可以在较少的位宽下使用较高的工作频率来提高数据传输的带宽, Serial ATA - 次只会传送 1 位数据,这样能减少 SATA 接口的针脚数目,使连接电缆数目变少,效率也会更高。同时还能降低系统能耗,减小系统复杂性。其次,Serial ATA 的起点更高、发展潜力更大,Serial ATA 1. 0 定义的数据传输率可达 150MB/sec,这比目前最块的并行 ATA(即 ATA/133) 所能达到 133MB/sec 的最高数据传输率还高,而在已经发布的 SerialATA2.0 的数据传输率将达到 300MB/sec,最终 Serial ATA 3. 0 将实现 600MB/ sec 的最高数据传输率。