六、总线系统

两个重点:

  1. 总线的概念和结构形态
  2. 总线的仲裁

image

⭐总线的概念和结构形态

为什么要用总线?

  • 早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备
  • 为了更好地解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。

定义:
总线是构成计算机系统的互联机构,是多个系统功能部件之间进行分时共享公共信息的传送线路

  • 借助于总线连接,计算机在各系统功能部件之间实现 \(地址、数据和控制信息\) 的交换,并在争用资源的基础上进行工作。

总线的特性:

  • 物理特性:总线的物理连接方式(根数、插头、插座形状,引脚排列方式)
  • 功能特性:每根线的功能(地址,数据,控制)
  • 电气特性:每根线上信号的传递方向及有效电平范围。
  • 时间特性:信号的时序关系(规定了每根总线在什么时间有效)。

分类(根据所在位置/功能):
image

  1. 内部总线/片内总线CPU内部连接各寄存器及运算器部件之间的总线.

  2. 系统总线/外部总线:系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。
    按系统总线传输信息内容的不同,又可分为3类:\(数据总线、地址总线和控制总线\)

  3. I/O总线中低速I/O设备相互连接的总线。

系统总线

  1. 数据总线:传输各功能部件之间的数据信息,包括指令和操作数;位数(根数)与机器字长、存储字长有关;
    双向。

  2. 地址总线:传输地址信息,包括主存单元或I/O端口的地址; 位数(根数)与主存地址空间大小及设备数量有关;
    单向。

  3. 控制总线:传输控制信息;一根控制线传输一个信号;
    有出:CPU送出的控制命令;
    有入:主存(或外设)返回CPU的反馈信号。

总线标准化和总线带宽

相同的指令系统,相同的功能,不同厂家生产的各功能部件在实现方法上几乎没有相同的。

目的:
为了使不同厂家生产的相同功能部件可以互换使用,就需要进行系统总线的标准化工作。

标准化的优点

  1. 简化系统设计
  2. 简化系统结构,提高系统可靠性
  3. 便于系统的扩充和更新

区分不同标准的最重要的特征就是总线带宽。
总线带宽是指 总线本身所能达到的最高传输速率,单位为mBps

\[总线带宽 = 总线时钟频率×总线宽度(bit/s)=\frac{总线数据量}{总线周期} \]

(总线宽度又称为总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数,如32根称为32位(bit)总线。)
等价于以下几个说法:

  • 每秒可以传输信息的位数
  • 一次可传递的信息量。
  • 一次操作可以传输的数据位数。
  • 一次操作所花费的时间。时间越短带宽越高。

注:

  • 总线宽度不会超过微处理器外部数据总线的宽度。
  • 在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时。

(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,总线带宽是多少?
(2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,总线带宽是多少?
解:
(1)设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示,根据定义可得
Dr=D/T=D×(1/T)=D×f=4B×33=132MB/s
(2)64位=8B
Dr=D×f=8B×66=528MB/s

常见总线标准

名称 作用 带宽和速度 备注
ISA 16位,8MB/S (已经淘汰)
EISA(Extended ISA) 32位,100MB/S (已经淘汰)
PCI 常用/通用扩展 PCI-2可达64位 “万能” 可插接显卡,声卡,网卡 现在最常用
PCI Express 通用 10GB/S以上 下一代标准
AGP GPU显卡专用
USB I/O外设 设备和设备控制器之间
STD
VESA 针对视频

总线的连接方式

适配器(接口)
实现高速CPU与低速外设之间工作速度上的匹配和同步,并完成计算机和外设之间的所有数据传送和控制的电路。

单机系统中总线结构的两种基本类型: 1.单总线;2.多总线

(一)单总线: 使用一组单一的系统总线来连接CPU、内存和I/O设备。
image
优点:结构简单,成本低,易于接入新的设备。
缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。

设计要求/特点:

  • 连接到总线上的逻辑部件必须高速运行。
    以便在某些设备需要使用总线时,能迅速获得总线控制权;
  • 而当不再使用总线时,能迅速放弃总线控制权。
    否则,由于一条总线由多种功能部件共用,可能导致很大的时间延迟。

:单总线并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。

(二)多总线 :在CPU、主存、I/O之间互联采用多条总线。
image

  1. CPU总线:CPU和cache之间采用
  2. 系统总线:连接主存
  3. 高速总线: 连接高速LAN(100Mb/s局域网)、视频接口、图形接口、SCSI接口(支持本地磁盘驱动器和其他外设)、Firewire接口(支持大容量I/O设备)。
  4. 扩充总线: 连接串行方式工作的I/O设备。 高速总线通过扩充总线接口与扩充总线相连

设计思路:靠近CPU的总线速度较快。

桥: 适配器(接口)的作用
用于连接不同的总线,是一种具有缓冲、转换、控制功能的逻辑电路。

优点/特点:
多总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。

总线的内部结构

早期总线

image
早期总线 实际上是处理器芯片引脚的延伸,是处理器与I/O设备适配器的通道。

这种简单的总线一般由50~100条线组成,
总线分类(按功能)

  1. 地址线(单向)
    用来传送主存与设备的地址;

  2. 数据线(双向)
    用来传送数据;

  3. 控制线(单向\(\to\)双向)
    一般而言对每一根线是单向的(CPU 发向接口,或接口发向 CPU)
    用来指明数据传送的方向(存储器读、存储器写、I/O 读、I/O 写)、中断控制(请求、识别)和定时控制等。

缺点:

  1. CPU是总线上惟一的主控者。

  2. 即使后来增加了具有简单仲裁逻辑的DMA控制器以支持DMA传送,但仍不能满足多CPU环境的要求。

  3. 总线信号是CPU引脚信号的延伸,故总线结构紧密与CPU相关,通用性较差。

当代总线

内部结构
image
分类:

  1. 数据传送总线
  2. 仲裁总线
  3. 中断和同步总线
  4. 公用线

数据传送总线
地址线、数据线、控制线组成。其结构与简单总线相似,但一般是32条地址线,32或64条数据线。为了减少布线,64位数据的低32位数据线常常和地址线采用多路复用方式。

仲裁总线
包括总线请求线和总线授权线。

中断和同步总线
用于处理带优先级的中断操作,包括中断请求线和中断认可线。

公用线
包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等。

分层次的多总线结构

大多数计算机采用了分层次的多总线结构(采用多总线连接的当代总线)

实例:Pentium机
image
总线层次:

  1. CPU总线
  2. PCI总线
  3. ISA总线。

image

总线接口

三种信息的传送方式

计算机系统中,传输信息基本有三种方式:
1.串行传送; 2.并行传送; 3.分时传送
出于速度和效率上的考虑,系统总线上传送的信息必须采用并行传送方式。

串行传送
使用一条传输线,采用脉冲传送。
主要优点是只需要一条传输线,这一点对长距离传输显得特别重要,不管传送的数据量有多少,只需要一条传输线,成本比较低廉。
缺点 就是速度慢。

并行传送
每一数据位需要一条传输线,一般采用电位传送。
使用电缆多,成本高,速度快,适合短距离传输。

分时传送 , 有两种方式:

  1. 总线复用(某个传输线上既传送地址又传送数据信息,分时输出)
  2. 共享总线的部件分时使用总线。

I/O接口

image

接口(=I/O接口=总线接口): CPU和主存、外设(=外围设备=I/O设备)之间通过总线进行连接的中间逻辑部件。

典型功能: 控制、缓冲、状态、转换、整理、程序中断。

一个适配器的两个接口:

  • 一个同系统总线相连,采用并行方式,
  • 一个同设备相连,可能采用并行方式也可以采用串行方式。

端口(I/O端口): 接口电路中能被CPU直接访问的寄存器的地址。

被CPU访问的寄存器的地址分为输入端口和输出端口,故称为I/O端口。

波特率

每秒钟传送的比特(bit)位数常称为波特率(b/s 、bit/s、bps)。1bps=1bits/s
每个比特位占用的时间Td是波特率的倒数。

常见利用串行方式传送字符格式如图:
image
上面的每位是指 比特位,因此该字符=15比特位

假设数据传送速率是120个字符/秒,每一个字符格式规定包含10个比特位(起始位、停止位、8个数据位),问传送的波特率是多少?每个比特位占用的时间是多少?
波特率为:10位×120/秒=1200波特
每个比特位占用的时间Td是波特率的倒数:
\(Td=1/1200=0.833×10^{-3}s=0.833ms\)

⭐总线的仲裁

为什么要仲裁?
总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权的问题。

总线特点: 同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据。

将总线上所连接的各类设备按其对总线有无控制功能分为

  • 主设备:获得总线控制权的设备。
  • 从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。

总线占用期:主方持续控制总线的时间。

总线仲裁的定义: 多个主设备同时竞争主线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。

总线仲裁的基本工作流程:

  • 主设备发出请求信号;
  • 若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线;
  • 获得总线使用权的主设备开始传送数据。

总线仲裁分类:

  • 集中仲裁方式: 链式查询方式、计数器定时查询方式、独立请求方式
  • 分布仲裁方式

集中式仲裁

集中式仲裁中每个功能模块有两条线连到总线控制器:

  • 一条是送往总线控制器的总线请求信号线BR(bus request)
  • 一条是仲裁器送出的总线授权信号线BG(Bus grant )。

注:“总线忙”BS信号 的建立者是获得总线控制权的设备

集中式仲裁有三种: 1. 链式查询方式;2. 计数器定时查询方式;3. 独立请求方式
image

链式查询方式

BG串行的从一个I/O接口传送到另一个I/O接口。假如BG到达的接口无总线请求,则继续往下查询,否则不再查询。
image

特点: 离中央仲裁器最近的设备具有最高优先权,离总线控制器越远,优先权越低。

优点: 只用很少几根线就能按照一定优先次序实现总线控制,并且这种链式结构很容易扩充设备。

缺点: 对询问链的电路故障很敏感,优先级固定。

计数器定时查询方式

用一个计数器控制总线使用权。相对链式查询方式多了一组设备地址线,少了一根总线响应线BG;它仍共用一根总线请求线。
image
过程:

  1. 总线上的任一设备要求使用总线时,通过BR线发出总线请求。
  2. 中央仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。
  3. 每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置“1”BS线,获得了总线使用权,此时中止计数查询。
  4. 每次计数可以从“0”开始,也可以从中止点开发始。

优点:

  • 通过修改计数初始值,可以改变优先次序
    1)如果从“0”开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。
    2)如果从中止点开始,则每个设备使用总线的优先级相等。
    3)计数器的初值也可用程序来设置,这可以方便地改变优先次序。

  • 对电路的故障没有链式敏感

缺点:

  • 增加了控制线数
  • 控制相对比链式查询相对复杂

独立请求方式▲

当代总线标准普遍采用独立请求方式。
在独立请求方式中,每一个共享总线的主设备均有一对总线请求线BRi和总线授权线BGi。
image
当设备要求使用总线时,便发出该设备的请求信号。总线仲裁器中有一个排队电路,它根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号BGi。

优点:

  1. 响应时间最快,即确定优先响应的设备所花费的时间少。不用一个设备接一个设备地查询。

  2. 对优先次序的控制相当灵活。可以预先固定;也可以通过程序来改变优先次序。

  3. 可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。

缺点: 设计复杂

分布式仲裁

不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用总线。
image

  • 当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。
  • 如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。
  • 最后,获胜者的仲裁号保留在仲裁总线上。

显然,分布式仲裁是以 优先级仲裁策略 为基础的。

总线的定时和数据传送模式

总线定时

总线的信息传送过程:请求总线、总线仲裁、寻址、信息传送、状态返回。

为什么需要总线定时?
信息传送过程有先后顺序,因此必须有设备控制时序关系

总线定时是指总线在双方交换数据的过程中时序的控制,这种控制称为总线定时,它的实质是一种协议或规则。

分类:

  1. 同步定时:由统一时钟控制数据传送
  2. 异步定时:采用应答方式,没有公共时钟标准

同步定时

系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。
image

一个总线周期进行一次完整的数据传送。一个周期结束另一个即开始
特点:

  • 时钟产生相等的时间间隔,每个间隔构成一个总线周期。在一个总线周期中,发送方和接收方可进行一次数据传送。
  • 因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。

优点速度快,由于采用公共时钟,有较高的传输频率。

缺点主从设备强制性同步,速度不匹配;无法检验数据有效性。

适用场景: 适用于总线长度短;各部件存取时间接近的系统

异步定时

在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,用 应答信号 对传输过程进行控制。(通过询问看对方是否释放。)
image
建立在 应答式或互锁机制 基础上,有确认信号,不需要公共时钟信号。

优点: 周期长度可变,适合速度差较大的设备
缺点: 控制复杂,速度较慢。

例: 某CPU采用集中式仲裁方式,使用独立请求与菊花链查询相结合的二维总线控制结构。每一对请求线BRi和授权线BGi组成一对菊花链查询电路。每一根请求线可以被若干个传输速率接近的设备共享。当这些设备要求传送时通过BRi线向仲裁器发出请求,对应的BGi线则串行查询每个设备,从而确定哪个设备享有总线控制权。请分析说明图6.14所示的总线仲裁时序图。
image
解:从时序图看出,该总线采用异步定时协议。
1.当某个设备请求使用总线时,在该设备所属的请求线上发出申请信号BRi(1)。
2.CPU按优先原则同意后给出授权信号BGi作为回答(2)。
3.BGi链式查询各设备,并上升从设备回答SACK信号证实已收到BGi信号(3)。
4.CPU接到SACK信号后下降BG作为回答(4)。
5.在总线“忙”标志BBSY为“0”情况该设备上升BBSY,表示该设备获得了总线控制权,成为控制总线的主设备(5)。
6.在设备用完总线后,下降BBSY和SACK(6)释放总线。
7.在上述选择主设备过程中,可能现行的主从设备正在进行传送。此时需等待现行传送结束,即现行主设备下降BBSY信号后(7),新的主设备才能上升BBSY,获得总线控制权。

总线数据传送模式

当代主线大豆支持以下四类模式的数据传送:
image

读、写操作

读操作是由从方到主方的数据传送;写操作是由主方到从方的数据传送。

一般,主方先以一个总线周期发出命令和从方地址,经过一定的延时再开始数据传送总线周期。为了提高总线利用率,减少延时损失,主方完成寻址总线周期后可让出总线控制权,以使其他主方完成更紧迫的操作。然后再重新竞争总线,完成数据传送总线周期。

块传送操作

块传送不节省时间
只需给出块的起始地址,然后对固定块长度的数据一个接一个地读出或写入。

对于CPU(主方)存储器(从方)而言的块传送,常称为猝发式传送

块长一般固定为数据线宽度(存储器字长)的4倍。

例如一个64位数据线的总线,一次猝发式传送可达256位。

这在超标量流水中十分有用。

写后读、读修改写操作

这是两种组合操作。只给出地址一次(表示同一地址),或进行先写后读操作,或进行先读后写操作。前者用于校验目的,后者用于多道程序系统中对共享存储资源的保护。这两种操作和猝发式操作一样,主方掌管总线直到整个操作完成。

广播、广集操作

一个主方对多个从方进行写操作,这种操作称为广播
与广播相反的操作称为广集,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源。

HOST总线和PCI总线

多总线结构

如图,典型的多总线结构框图。实际上,这也是高档PC机和服务器的主板总线框图。
image

HOST总线

该总线有CPU总线、系统总线、主存总线、前端总线等多种名称,各自反映了总线功能的一个方面。

这里称“宿主”总线,也许更全面,因为HOST总线不仅连接主存,还可以连接多个CPU。

它是 连接“北桥”芯片与CPU之间的信息通路,它是一个64位数据线和32位地址线的同步总线。32位的地址线可支持处理器4GB的存储寻址空间。

总线上还接有L2级cache,主存与cache控制器芯片。后者用来管理CPU对主存和cache的存取操作。CPU拥有HOST总线的控制权,但在必要情况下可放弃总线控制权。

PCI总线

作用: 连接各种高速的PCI设备。

PCI是一个与处理器无关的高速外围总线,又是至关重要的层间总线。它采用同步时序协议和集中式仲裁策略,并具有自动配置能力。

PCI设备可以是主设备,也可以是从设备,或兼而有之。

在PCI设备中不存在DMA(直接存储器传送)的概念,这是因为PCI总线支持无限的猝发式传送。

这样,传统总线上用DMA方式工作的设备移植到PCI总线上时,采用主设备工作方式即可。

系统中允许有多条PCI总线,它们可以使用HOST桥与HOST总线相连,也可使用PCI/PCI桥与已和HOST总线相连的PCI总线相连,从而得以扩充PCI总线负载能力。

本 章 小 结

总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通道,并在争用资源的基础上进行工作。
总线有物理特性、功能特性、电气特性、机械特性,因此必须标准化
微型计算机系统的标准总线从ISA总线(16位,带宽8MB/s)发展到EISA总线(32位,带宽33.3MB/s)和VESA总线(32位,带宽132MB/s),又进一步发展到PCI总线(64位,带宽264MB/s)。
衡量总线性能的重要指标是总线带宽,它定义为总线本身所能达到的最高传输速率。
当代流行的标准总线追求与结构、CPU、技术无关的开发标准。其总线内部结构包含:
①数据传送总线(由地址线、数据线、控制线组成);
②仲裁总线;
③中断和同步总线;
④公用线(电源、地线、时钟、复位等信号线)。
计算机系统中,根据应用条件和硬件资源不同,信息的传输方式可采用:
①并行传送;
②串行传送;
③ 复用传送。
各种外围设备必须通过I/O接口与总线相连。I/O接口是指CPU、主存、外围设备之间通过总线进行连接的逻辑部件。接口部件在它动态联结的两个功能部件间起着缓冲器和转换器的作用,以便实现彼此之间的信息传送。
总线仲裁是总线系统的核心问题之一。为了解决多个主设备同时竞争总线控制权的问题,必须具有总线仲裁部件。它通过采用优先级策略或公平策略,选择其中一个主设备作为总线的下一次主方,接管总线控制权。按照总线仲裁电路的位置不同:

  • 集中式仲裁:仲裁方式必有一个中央仲裁器,它受理所有功能模块的总线请求,按优先原则或公平原则。
  • 分布式仲裁。分布式仲裁不需要中央仲裁器,每个功能模块都有自己的仲裁号和仲裁器。

总线定时是总线系统的又一核心问题之一。为了同步主方、从方的操作,必须制订定时协议,通常采用同步定时与异步定时两种方式

  • 在同步定时协议中,事件出现在总线上的时刻由总线时钟信号来确定,总线周期的长度是固定的。
  • 在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现,即建立在应答式或互锁机制基础上,不需要统一的公共时钟信号。
    在异步定时中,总线周期的长度是可变的。

当代的总线标准大都能支持以下数据传送模式: ①读/写操作;②块传送操作;③写后读、读修改写操作;④广播、广集操作。

PCI总线是当前实用的总线,是一个高带宽且与处理器无关的标准总线,又是重要的层次总线。它采用同步定时协议和集中式仲裁策略,并具有自动配置能力。PCI适合于低成本的小系统,因此在微型机系统中得到了广泛的应用。

InfiniBand标准,瞄准了高端服务器市场的最新I/O规范,它是一种基于开关的体系结构,可连接多达64000个服务器、存储系统、网络设备,能替代当前服务器中的PCI总线,数据传输率高达30GB/s。因此适合于高成本的较大规模计算机系统。

posted @ 2022-11-15 11:07  kingwzun  阅读(318)  评论(0编辑  收藏  举报