计算机组成原理(六)总线
6.1 总线概述
6.1.1 总线的基本概念
总线是一组能为多个部件分时共享的公共信息传送线路。
共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。
分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。
总线的特性
- 机械特性:尺寸、形状、管脚数、排列顺序
- 电气特性:传输方向和有效的电平范围
- 功能特性:每根传输线的功能(地址、数据、控制)
- 时间特性:信号的时序关系
6.1.2 总线的分类
总线的分类.png6.1.2.1 按数据传输格式分类
- 串行总线
优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。
缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行-并行转换的问题。
- 并行
优点:总线的逻辑时序比较简单,电路实现起来比较容易。
缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。
1.工作频率相同时,串行总线传输速度比并行总线慢。
2.并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线。
6.1.2.2 按总线功能分类
- 片内总线
片内总线是芯片内部的总线。它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。
- 系统总线
系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。
系统总线.png- 数据总线:数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关。
- 地址总线:地址总线用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关。
- 控制总线:控制总线传输的是控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。
- 通信总线
通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。
6.1.3 系统总线的结构
总线结构分为单总线结构、双总线结构和三总线结构等
6.1.3.1 单总线结构
结构:CPU、主存、I/O设备(通过I/O接口)都连接在一组总线上,允许I/O设备之间、I/O设备和CPU之间或I/O设备与主存之间直接交换信息。
-
优点:结构简单,成本低,易于接入新的设备。
-
缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。
单总线并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。
6.1.3.2 双总线结构
结构:双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;另一条是I/O总线,用于多个外部设备与通道之间进行数据传送。
-
优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离。
-
缺点:需要增加通道等硬件设备。
6.1.3.3 三总线结构
结构:三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别为主存总线、I/O总线和直接内存访问DMA总线。
- 优点:提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量。
- 缺点:系统工作效率较低。
直接内存访问(Direct Memory Access,DMA)
6.1.4 总线的性能指标
- 总线的传输周期(总线周期)
一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由若干个总线时钟周期构成。
- 总线时钟周期
即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。
大多数情况下,一个总线周期包含多个总线时钟周期
有的时候,一个总线周期就是一个总线时钟周期
有的时候,一个总线时钟周期可包含多个总线周期
- 总线的工作频率
总线上各种操作的频率,为总线周期的倒数。若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。实际上指一秒内传送几次数据。
- 总线的时钟频率
即机器的时钟频率,为时钟周期的倒数。若时钟周期为T,则时钟频率为1/T。实际上指一秒内有多少个时钟周期。
- 总线宽度
又称为总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数,如32根称为32位(bit)总线。
- 总线带宽
可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。
总线带宽是指总线本身所能达到的最高传输速率。在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时。
例. 某同步总线采用数据线和地址线复用方式,其中地址/数据线有32根,总线时钟频率为66MHz,每个时钟周期传送两次数据(上升沿和下降沿各传送一次数据)。
- 该总线的最大数据传输率(总线带宽)是多少?
- 若该总线支持突发(猝发)传输方式,传输一个地址占用一个时钟周期,则一次“主存写”总线事务传输128位数据所需要的时间至少是多少?
1)每个时钟周期传送两次数据→总线工作频率是时钟频率的两倍
总线工作频率= 2 × 66MHz =132MHz
总线宽度= 32bit = 4B
总线带宽=总线工作频率×总线宽度= 132 × 4 MB/s = 528 MB/s2)发送首地址占用1个时钟周期,128位数据需传输4次,占用2个时钟周期
一个时钟周期= 1/66MHz ≈ 15ns
总耗时= (1+2) × 15ns =45ns
突发(猝发)传输方式:一次总线事务中,主设备只需给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入多个数据。
- 总线复用
总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本
- 信号线数
地址总线、数据总线和控制总线3种总线数的总和称为信号线数。
6.2 总线操作和定时
操作和定时主要解决占用总线的一对设备如何进行数据传输这个问题
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则
6.2.1 总线传输的四个阶段
- 申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。
- 寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
- 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
- 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
6.2.2 同步定时方式
同步定时方式是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。若干个时钟产生相等的时间间隔,每个间隔构成一个总线周期。在一个总线周期中,发送方和接收方可进行一次数据传送。因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。
优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。
缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。
同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。
6.2.3 异步定时方式
在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
- 优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
- 缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。
根据“请求”和“回答”信号的撤销是否互锁,分为以下3种类型。
- 不互锁方式
主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。而从设备在接到“请求”信号后,发出“回答”信号,并经过一段时间,自动撤销“回答”信号。双方不存在互锁关系。
- 半互锁方式
主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系。
- 全互锁方式
主设备发出“请求”信号后,必须待从设备“回答”后,才撤销“请求”信号;从设备发出“回答”信号,必须待获知主设备“请求”信号已撤销后,再撤销其“回答”信号。双方存在互锁关系。
不互锁方式速度最快,可靠性最差
全互锁方式最可靠,速度最慢
6.3 总线标准
根据总线在计算机系统中的位置,可分为
-
系统总线:通常与CPU直接相连,用于连接CPU与北桥芯片、或CPU与主存等
-
局部总线:没有直接与CPU连接,通常是连接高速的北桥芯片,用于连接了很多重要的硬件部件(如显卡、声卡等)
-
设备总线、通信总线:通常由南桥芯片控制,用于连接计算机与计算机,或连接计算机与外部I/O设备
总线标准 | 全称 | 特点 |
---|---|---|
ISA | 工业标准体系结构 | 系统总线 |
EISA | 扩展ISA | 系统总线 |
VESA | 视频局部总线 | 局部总线 |
PCI | 周边组件互连总线 | 局部总线 |
PCI-E | PCI-Express | 串行 |
AGP | 加速图形接口 | 局部总线 |
RS-232C | Recommended Standard | 串行通信总线 |
SCSI | 小型计算机系统接口 | 智能通用接口 |
PCMCIA | Personal Computer Memory CardInternational Association | 便携设备接口 |
USB | Universal Serial Bus | 设备总线、串行 |
IDE(ATA) | Integrated Drive Electronics电子集成驱动器 | 硬盘光驱接口 |
SATA | Serial Advanced Technology Attachment | 串行硬盘接口 |