24 KiB
总线
总线概述
总线基本定义
- 总线是一组能为多个部件分时共享的公共信息传送线路。是总线复用方式。
- 共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。
- 分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。
- 早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。为了更好地解决$I/O$设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。
- 总线特性:
- 机械特性:尺寸、形状、管脚数、排列顺序。
- 电气特性:传输方向和有效的电平范围。
- 功能特性:每根传输线的功能(地址、数据、控制)。
- 时间特性:信号的时序关系
总线分类
- 数据传输格式:
- 串行总线:
- 优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。
- 缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行并行转换的问题。
- 并行总线:
- 优点:总线的逻辑时序比较简单,电路实现起来比较容易。
- 缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重电磁影响导致无法使用,对每条线等长的要求也越来越高,所以无法持续提升工作频率。
- 串行总线:
- 总线功能(连接部件):
- 片内总线:片内总线是芯片内部的总线。 它是$CPU$芯片内部寄存器与寄存器之间、寄存器与$ALU$之间的公共连接线。
- 系统总线:系统总线是计算机系统内各功能部件($CPU$、主存、$I/O$接口)之间相互连接的总线。按系统总线传输信息内容的不同,又可分为:
- 数据总线$DB$:传输各功能部件之间的数据信息,包括指令和操作数;位数(根数)与机器字长、存储字长有关;双向。
- 地址总线$AB$:传输地址信息,包括主存单元或$I/O$端口的地址;位数(根数与主存地址大小及设备数量有关);单向。
- 控制总线$CB$:传输控制信息;一根控制线传输一个信号;有出:$CPU$送出的控制命令;有入:主存(或外设)返回$CPU$的反馈信号。
- 通信总线:通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。
- 时序控制方式:
- 同步总线。
- 异步总线。
总线结构
- 单总线结构:
- $CPU$、主存、$I/O$设备(通过$I/O$接口)都连接在一组总线上,允许$I/O$设备之间、$I/O$设备和$CPU$之间或$I/O$设备与主存之间直接交换信息。
- 单总线并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。
- 优点:结构简单,成本低,易于接入新的设备。
- 缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。
- 双总线结构:
- 双总线结构有两条总线,一条是主存总线,用于$CPU$、主存和通道之间进行数据传送;另一条是$I/O$总线(因为$I/O$速度较慢),用于多个外部设备与通道之间进行数据传送。
- 通道是具有特殊功能的处理器,能对$I/O$设备进行统一管理。通道程序放在主存中。
- 支持突发(猝发)传送:送出一个地址,收到多个地址连续的数据。
- 优点:将较低速的$I/O$设备从单总线上分离出来,实现存储器总线和$I/O$总线分离。
- 缺点:需要增加通道等硬件设备。
- 三总线结构:
- 三总线结构是在计算机系统各部件之间采用三条各自独立的总线来构成信息通路,分别为:
- 主存总线:$CPU$和主存之间的连接。
- $I/O$总线:$CPU$和$I/O$接口之间连接。
- $DMA$总线:$Direct,Memory,Access$,直接内存访问,连接外设与主存。能直接连接主存的就是高速外设,如磁盘机,而无法直接连接主存的就是低速外设,如打印机和显示器。
- 优点:提高了$I/O$设备的性能,使其更快地响应命令,提高系统吞吐量。
- 缺点:系统工作效率较低。
- 三总线结构是在计算机系统各部件之间采用三条各自独立的总线来构成信息通路,分别为:
- 四总线结构:
- 四总线结构一共四条总线:
- $CPU$总线(局部总线):$CPU$与$Cache$。
- 系统总线:$CPU$和主存。
- 高速总线:连接$SCSI$、图形、多媒体、局域网。
- 扩充总线(扩展总线型):连接传真机、扩展总线接口、调制解调器、串行接口。
- 桥接器:用于连接不同的总线,具有数据缓冲、转换和控制功能。
- 越靠近$CPU$总线速度越快,$CPU$总线>系统总线>高速总线>扩充总线。
- 每级总线的设计遵循总线标准。
- 四总线结构一共四条总线:
性能指标
传输周期
也称为总线周期。一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由若干个总线时钟周期构成。
时钟周期
即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。
工作频率
总线上各种操作的频率,为总线周期的倒数。
若总线周期=$N$个时钟周期,则总线的工作频率=时钟频率$\div N$。
时钟频率
即机器的时钟频率,为时钟周期的倒数。若时钟周期为$T$,则时钟频率为$1/T$。
实际上指一秒内有多少个时钟周期。
总线宽度
又称为总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数,如$32$根称为$32$位($bit$)总线。
总线带宽
可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒($B/s$)表示。
总线带宽=总线工作频率×总线宽度($bit/s$)=总线工作频率×(总线宽度\div8)($B/s$)=总线宽度÷总线周期($bit/s$)=总线宽度$\div8\div$总线周期($B/s$)。
总线带宽是指总线本身所能达到的最高传输速率。
在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时。
总线复用
总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。
信号线数
地址总线、数据总线和控制总线三种总线数的总和称为信号线数。
总线仲裁
总线仲裁基本概念
- 解决多个设备争用总线的问题。
- 同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据
- 将总线上所连接的各类设备按其对总线有无控制功能分为:
- 主设备:获得总线控制权的设备。
- 从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。
- 总线仲裁原因:
- 总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权的问题。
- 总线仲裁的定义:多个主设备同时竞争总线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。
总线控制流程
- 在总线控制中,申请使用总线的设备向总线控制器发出总线请求,由总线控制器进行裁决。
- 若经裁决允许该设备使用总线,就由总线控制器向该设备发出总线允许信号。
- 该设备收到信号后发出总线忙信号,通知其他设备总线已被占用。
- 该设备使用完总线时,将总线忙信号撤销,释放总线。
总线仲裁分类
- 集中仲裁方式:
- “总线忙”信号的建立者是获得总线控制权的设备。
- 工作流程:
- 主设备发出请求信号。
- 若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。
- 获得总线使用权的主设备开始传送数据。
- 链式查询方式。
- 计数器定时查询方式。
- 独立请求方式。
- 分布仲裁方式
链式查询方式
- 总线与控制线:
- 数据线。
- 地址线。
- 控制线:
- $BG$:总线允许(响应),$1$条。
- $BR$:总线请求,$1$条。
- $BS$:总线忙,$1$条。
- 流程:
- 总线上所有的部件共用一根总线请求线,当有部件请求使用总线时,需经此线发总线请求信号到总线控制器。
- 由总线控制器检查总线是否忙,若总线不忙,则立即发总线响应信号,经总线响应线$BG$串行地从一个部件传送到下一个部件,依次查询。
- 若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件;若响应信号到达的部件有总线请求,则信号被截住,不再传下去。
- 优先级:离总线控制器越近的部件,其优先级越高,离总线控制器越远的部件,其优先级越低。
- 优点:链式查询方式优先级固定。只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。
- 缺点:
- 对硬件电路的故障敏感。
- 优先级不能改变。
- 容易发生饥饿,当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。
计数器定时查询方式
- 总线与控制线:
- 数据线。
- 地址线。
- 设备地址线。
- 控制线:
- 设备地址线:传输设备地址,$\lceil\log_2n\rceil$条。
- $BR$:总线请求,$1$条。
- $BS$:总线忙,$1$条。
- 若设备有$n$个,则需要$\lceil\log_2n\rceil+2$条控制线。(还有$BS$、$BR$)
- 结构特点:用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线$BG$;它仍共用一根总线请求线。不需要总线允许信号。
- 过程:
- 当总线控制器收到总线请求信号,判断总线空闲时,计数器开始计数,计数值通过设备地址线发向各个部件。
- 当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权。
- 同时,中止计数器的计数及查询。
- 优点:
- 计数初始值可以改变优次序:
- 计数每次从“$0$”开始,设各的优先级就按顺序排列,固定不变。
- 计数从上一次的终点开始,此时设备使用总线的优先级相等。
- 计数器的初值还可以由程序设置。
- 对电路的故障没有链式敏感。
- 计数初始值可以改变优次序:
- 缺点:
- 增加了控制线数。
- 控制相对比链式查询相对复杂。
独立请求方式
- 总线与控制线:
- 数据线。
- 地址线。
- 控制线:
- $BG$:总线允许,$n$条。
- $BR$:总线请求,$n$条。
- $BS$:总线忙,$1$条。
- 若设备有$n$个,则需要$2n+1$条控制线。其中$+1$为$BS$线,用于设备向总线控制部件反馈已经使用完毕总线。
- 结构特点:每一个设备均有一对总线请求线$BR_i$和总线允许线$BG_i$。由排队器控制优先级。
- 过程:
- 当总线上的部件需要使用总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队。
- 当总线控制器按一定的优先次序决定批准某个部件的请求时,则给该部件发送总线响应信号。
- 优点:
- 响应速度快,总线允许信号$BG$直接从控制器发送到有关设备,不必在设备间传递或者查询。
- 对优先次序的控制相当灵活。
- 缺点:
- 控制线数量多。
- 总线的控制逻辑更加复杂。
分布仲裁方式
- 特点:不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用总线。
- 过程:
- 当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上。
- 每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较。
- 如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。
- 最后,获胜者的仲裁号保留在仲裁总线上。
总线操作与定时
占用总线的一对设备进行数据传输的方法。
总线传输阶段
- 中请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。
- 寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
- 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
- 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线定时
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则。
同步定时方式
- 也称为同步通信。
- 系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。
- 时钟产生相等的时间间隔,每个间隔构成一个总线周期。
- 在一个总线周期中,发送方和接收方可进行一次数据传送。
- 因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。
- 上升沿:数字电平从$0$变为$1$的一瞬间。
- 下升沿:数字电平从$1$变为$0$的一瞬间。
- 读命令过程:
- 取指:$CPU$在$T_1$时刻的上升沿给出地址信息。
- 间址:在$T_2$的上升沿给出读命令(低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且必须在$T_3$的上升沿来之前将$CPU$所需的数据送到数据总线上。
- 执行:$CPU$在$T_3$时钟周期内,将数据线上的信息传送到其内部寄存器电中。
- 撤销:$CPU$在$T_4$的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。
- 优点:
- 传送速度快,具有较高的传输速率。
- 总线控制逻辑简单。
- 缺点:
- 主从设备属于强制性同步。
- 不能及时进行数据通信的有效性检验,可靠性较差。
- 同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。
异步定时方式
- 也称为异步通信。
- 在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
- 主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
- 根据“请求”和“回答”信号的撤销足否互锁,分为:
- 不互锁方式:
- 主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。
- 而从设备在接到“请求”信号后,发出“回答”信号,并经过段时间,自动撤销“回答”信号。
- 双方的不存在互锁关系。
- 速度快。
- 可靠性低。
- 半互锁方式:
- 主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。
- 而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系。
- 若从设备故障,则会一直停留。
- 全互锁方式:
- 主设备发出“请求”信号后,必须待从设备“回答”后,才撤销“请求”信号。
- 从设备发出“回答”信号,必须待获知主设备“请求”货报销后,再撤销其“回答”信号。
- 双方存在互锁关系。
- 不互锁方式:
- 优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
- 缺点:
- 比同步控制方式稍复杂。
- 速度比同步定时方式慢。
半同步通信
同步与异步的混合,统一时钟的基础上,增加一个“等待”响应信号$\overline{WAIT}$。
分离式通信
即分离事务通信:
- 上述三种通信的共同点:一个总线传输周期(以输入数据为例):
- 主模块发地址、命令,使用总线。
- 从模块准备数据,不使用总线,总线空闲。
- 从模块向主模块发数据,使用总线。
- 分离式通信的一个总线传输周期:
- 子周期一:主模块申请占用总线,使用完后后放弃总线的使用权。
- 子周期二:从模块申请占用总线,将各种信息发送至总线上。
- 特点:
- 各模块均有权申请占用总线。
- 采用同步方式通信,不等对方回答。
- 各模块准备数据时,不占用总线。
- 总线利用率提高。
总线标准
总线标准概念
- 总线标准是国际上公布或推荐的互连各个模块的标准,它是把各种不同的模块组成计算机系统时必须遵守的规范。
- 按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无须了解对方接口的要求。
- 系统总线标准:$ISA$、$EISA$、$VESA$、$PCI$、$PCI-Express$等。
- 设备总线标准:$IDE$、$AGP$、$RS-232C$、$USB$、$SATA$、$SCSI$、$PCMCIA$等。
- 局部总线标准:在$ISA$总线和$CPU$总线之间增加的一级总线或管理层,如$PCI$、$PCI-E$、$VESA$、$AGP$等,可以节省系统的总带宽。
- 即插即用($Plug-and-Play$)的作用是自动配置(低层)计算机中的板卡和其他设备,然后告诉对应的设备都做了什么。把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。
- 热插拔($hot-plugging$或$Hot,Swap$)即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等,例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。
标准总览
这是重点,下面的具体介绍可以随便看看:
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| ISA | Industry Standard Architecture | 8MHz | 8/16 | 8MB/s | 系统总线 |
| EISA | Extended ISA | 8MHz | 32 | 32MB/s | 系统总线 |
| PCI | Peripheral Component Interconnect | 33/66MHz | 32/64 | 133/528MB/s | 局部总线 |
| AGP | Accelerated Graphics Port | X1:266MB/s X8:2.1GB/s | 局部总线 | ||
| VESA | Video Electronics Standard Architecture | 33MHz | 32 | 132MB/s | 局部总线 |
| PCI-E | PCI-Express (3GI0) | 10GB/s以上 | 串行 | ||
| USB | Universal Serial Bus | 1280MB/s | 设备总线、串行 | ||
| RS-232C | Recommended Standard | 20Kbps | 串行通信总线 | ||
| IDE(ATA) | Integrated Drive Electronics | 100MB/s | 硬盘光驱接口 | ||
| SATA | Serial Advanced Technology Attachment | 600MB/s | 串行硬盘接口 | ||
| PCMCIA | Personal Computer Memory Card International Association | 90Mbps | 便携设备接口 | ||
| SCSI | Small Computer System Interface | 640MB/s | 智能通用接口 |
系统总线标准
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| ISA | Industry Standard Architecture | 8MHz | 8/16 | 8MB/s | 系统总线 |
| EISA | Extended ISA | 8MHz | 32 | 32MB/s | 系统总线 |
- $ISA$和$EISA$都是并行系统总线。
- $ISA$数据传送需要$CPU$或$DMA$接口来管理,传输速率过低、$CPU$占用率高、占用硬件中断资源,不支持总线仲裁。
- $EISA$从$CPU$中分离出了总线控制权,支持多个总线主控器和突发传送。
- 被$PCI$淘汰了。
局部总线标准
PCI
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| PCI | Peripheral Component Interconnect | 33/66MHz | 32/64 | 133/528MB/s | 局部总线 |
$PCI$也是并行局部总线,可以将高速外部设备直接挂到$CPU$总线上。
特点:
- 高性能:不依附于某个具体的处理器,支持突发传送。
- 良好的兼容性。
- 支持即插即用。
- 支持多主设备。
- 具有与处理器和存储器子系统完全并行操作的能力。
- 提供数据和地址奇偶校验的能力。
- 可扩充性好,可采用多层结构提高驱动能力。
- 采用多路复用技术,减少了总线引脚个数。
AGP
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| AGP | Accelerated Graphics Port | X1:266MB/s X8:2.1GB/s | 局部总线 |
$AGP$即加速图形接口,是并行局部总线,是显卡专用的局部总线。
PCI-E
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| PCI-E | PCI-Express (3GI0) | 10GB/s以上 | 串行 |
- 点对点串行。
- 支持双向传输模式,可以运行全双工模式。
- 支持热插拔。
VESA
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| VESA | Video Electronics Standard Architecture | 33MHz | 32 | 132MB/s | 局部总线 |
即视频局部总线,为了传输活动图形。
设备总线标准
USB
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| USB | Universal Serial Bus | 1280MB/s | 设备总线、串行 |
$USB$属于设备总线,是设备和设备控制器之间的接口。
特点:
- 可以热插拔、即插即用。
- 具有很强的连接能力和很好的可扩充性。采用菊花链形式将众多外设连接起来,可使用$USB$集线器链式连接$127$个外设。
- 标准统一。以前大家常见的是$IDE$接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了$USB$之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了$USB$硬盘、$USB$鼠标、$USB$打印机等等。
- 高速传输。
- 连接电缆轻巧,可为低压($5V$)外设供电。
IS-232C
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| RS-232C | Recommended Standard | 20Kbps | 串行通信总线 |
应用于串行二进制交换的数据终端设备($DTE$)和数据通信设备($DCE$)。
IDE(ATA)
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| IDE(ATA) | Integrated Drive Electronics | 100MB/s | 硬盘光驱接口 |
硬盘、光驱都通过$IDE$接口与主板连接。
SATA
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| SATA | Serial Advanced Technology Attachment | 600MB/s | 串行硬盘接口 |
PCMCIA
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| PCMCIA | Personal Computer Memory Card International Association | 90Mbps | 便携设备接口 |
SCSI
| 总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
|---|---|---|---|---|---|
| SCSI | Small Computer System Interface | 640MB/s | 智能通用接口 |
- $IDE$工作需要$CPU$参与,而$SCSI$通过独立高速$SCSI$卡控制读写,$CPU$就不需要等待。
- $SCSI$扩充性高。
视频线标准
VGA
即$Video,Graphics,Array$,也称为$D-sub$端口,传输模拟信号,所以要先将数字信号转换为模拟信号。
DIV
即$Digital,Visual,Interface$,传输数字信号,但是在分辨率$1024\times768$以下时与$VGA$差别不大。
HDML
即$High,Definition,Multimedia,Interface$,可以传输音讯,源于$DVI$技术,分为三种类型:
- $A$型:高清电视,投影仪等。
- $C$型:平板电脑,$MP4$等。
- $D$型:智能手机,平板电脑等。