目录
1. 集中式仲裁(Centralized Arbitration)
2. 分布式仲裁(Distributed Arbitration)
3. 链式仲裁(Daisy Chain Arbitration)
4. 时钟同步仲裁(Time-Sliced Arbitration)
(1) PCI(Peripheral Component Interconnect)
(2) ISA(Industry Standard Architecture)
(3) AGP(Accelerated Graphics Port)
一、概述
(1)总线的定义
总线是一组能为多个部件分时共享的公共信息传送线路。
共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。
分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息
为什么要用总线?
早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。为了更好地解决IO设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。
(2)总线的特性
1.机械特性:
尺寸、形状、管脚数、排列顺序
2.电气特性:
传输方向和有效的电平范围
3.功能特性:
每根传输线的功能(地址、数据、控制)
4.时间特性:
信号的时序关系
(3)总线的分类
1.按传输方式分类
①串行
优点 | 只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。 |
缺点 | 在数据发送和接收的时候要进行拆卸和装配,要考虑串行并行转换的问题。 |
②并行
优点 | 总线的逻辑时序比较简单,电路实现起来比较容易。 |
缺点 | 信号线数量多,占用更多的布线空间: 远距离传输成本高昂; 由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。 |
2.按总线功能(连接的部件分类)
①片内总线
片内总线是芯片内部的总线。
它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线
②系统总线
系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。
按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。
数据总线 | 传输各功能部件之间的数据信息,包括指令和操作数;位数(根数)与机器字长、存储字长有关;双向。 |
地址总线 | 传输地址信息,包括主存单元或I/0端口的地址;位数(根数)与主存地址空间大小及设备数量有关;单向。 |
控制总线 | 传输控制信息;一根控制线传输一个信号;有出:CPU送出的控制命令:有入:主存(或外设)返回CPU的反馈信号。双向。 |
控制总线是双向的,但控制信息和反馈信息是单向的。 |
系统总线的经典结构
单总线
注:单总线并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。
结构 | CPU、主存、IO设备(通过I0接口)都连接在一组总线上,允许I0设备之间IO设备和CPU之间或IO设备与主存之间直接交换信息。 |
优点 | 结构简单,成本低,易于接入新的设备。 |
缺点 | 带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。 |
双总线
支持突发(猝发)传送:送出一个地址,收到多个地址连续的数据
通道是具有特殊功能的处理器,能对I/O设备进行统一管理。通道程序放在主存中。
结构 | 双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;另一条是I/0总线,用于多个外部设备与通道之间进行数据传送。 |
优点 | 将较低速的I0设备从单总线上分离出来,实现存储器总线和I0总线分离。 |
缺点 | 需要增加通道等硬件设备。 |
三总线
DMA: Direct Memory Access,直接内存访问。
结构 | 三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别为主存总线、I/O总线和直接内存访问DMA总线。 |
优点 | 提高了I0设备的性能,使其更快地响应命令,提高系统吞量。 |
缺点 | 系统工作效率较低。 |
三根总线同一时刻只能有一条总线在工作,所以导致系统工作效率低。CPU通过DMA总线快速访问磁盘机,通过I/O总线访问其他外设。 |
四总线
1.桥接器:用于连接不同的总线,具有数据缓冲、转换和控制功能。
2.靠近CPU的总线速度较快,
3.每级总线的设计遵循总线标准。
③通信总线
通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。
3.按时序控制方式分类
①同步总线
②异步总线
(4)总线的性能指标
1.总线的传输周期(总线周期)
一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由若干个总线时钟周期构成。
2.总线时钟周期
即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制
3.总线的工作频率
总线上各种操作的频率,为总线周期的倒数。
若总线周期=N各时钟周期,则总线的工作频率=时钟频率/N。实际上指一秒内传送几次数据。
4.总线的时钟频率
即机器的时钟频率,为时钟周期的倒数
若时钟周期为T,则时钟频率为1/T。实际上指一秒内有多少个时钟周期。
5.总线宽度
又称为总线位宽,它是总线上同时能够传输的数据位数,通常时指数据总线的根数,如32根称为32位(bit)总线。
6.总线带宽
可理解为总线的数据传输率,即单位时间内总线上可传输数据的尾数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。
总线带宽=总线工作频率 x 总线宽度(bit/s)=总线宽度/总线周期(bit/s)
注:总线带宽是指总线本身所能达到的最高传输速率。在计算实际有效数据传输率时,要用实际传输的数据量除以耗时。
7.总线复用
总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。会使速度下降
8.信号线数
地址总线、数据总线和控制总线3种总线数的总和称为信号线数。
二、仲裁(如何解决多个设备争用总线得问题?)
总线仲裁(Bus Arbitration)是指在计算机系统中,当多个设备需要访问共享总线(如数据总线、地址总线或控制总线)时,确定哪个设备能够优先使用总线的过程。由于总线是共享资源,同时只能有一个设备访问,因此需要一个仲裁机制来避免冲突。
总线仲裁的常见方式有四种:集中式仲裁、分布式仲裁、链式仲裁(菊花链仲裁)、时钟同步仲裁。每种方式都有各自的特点和应用场景。
1. 集中式仲裁(Centralized Arbitration)
步骤:
- 仲裁器(Arbiter)是系统中一个专门的硬件模块,负责管理总线的分配。
- 各个设备通过一个请求信号(Bus Request, BR)向仲裁器发出总线请求。
- 仲裁器根据某种策略(如优先级)选择一个设备授予总线控制权,并发送一个允许信号(Bus Grant, BG)给该设备。
- 获得控制权的设备使用总线传输数据。
- 数据传输完成后,设备释放总线,仲裁器可以继续处理下一个请求。
特点:
- 优点:实现简单,控制集中,易于管理设备优先级。
- 缺点:仲裁器是单点故障,如果仲裁器失效,整个系统的总线访问将无法进行。
2. 分布式仲裁(Distributed Arbitration)
步骤:
- 各个设备都有一个仲裁逻辑,不需要集中式仲裁器。
- 当设备需要访问总线时,它会发送自己的仲裁信号。
- 所有设备根据某种预定的规则(如设备ID)来确定哪个设备可以使用总线。
- 胜出的设备获得总线控制权,其他设备放弃请求。
- 传输完成后,总线重新进入空闲状态。
特点:
- 优点:没有单点故障问题,系统可靠性更高。
- 缺点:实现复杂,难以管理设备优先级,并且仲裁的时间可能较长。
3. 链式仲裁(Daisy Chain Arbitration)
步骤:
- 所有设备按某种顺序连接成链,每个设备都有一个仲裁逻辑。
- 总线请求按顺序通过链条传递,如果一个设备不需要总线,它就会将请求传递给下一个设备。
- 当一个设备需要总线时,它截断请求链并获得总线控制权。
- 设备使用总线后,释放总线,并允许链条继续传递请求信号。
特点:
- 优点:实现简单,成本低。
- 缺点:链条中靠前的设备有较高的优先级,可能导致链条末端设备长时间无法获得总线。
4. 时钟同步仲裁(Time-Sliced Arbitration)
步骤:
- 总线的使用按时间片(Time Slice)划分,每个设备在分配的时间片内使用总线。
- 设备按顺序轮流获得总线控制权。
- 在一个设备使用完时间片后,下一个设备获得控制权,直到所有设备轮询完毕,再从第一个设备开始。
特点:
- 优点:每个设备都有机会使用总线,避免了饥饿现象。
- 缺点:不适用于有严格实时要求的场景,因为设备可能需要等待较长时间才能获得总线。
总结
总线仲裁的目的是合理分配共享总线的使用权,防止多个设备同时访问总线导致冲突。每种仲裁方式有不同的适用场景和权衡:
- 集中式仲裁适用于需要简单且有效的系统,但存在单点故障的风险。
- 分布式仲裁更加灵活和可靠,但实现难度较大。
- 链式仲裁适用于低成本应用,但存在优先级不公平问题。
- 时钟同步仲裁适用于需要公平调度的系统,但实时性较差。
这些仲裁机制通常根据系统的需求、设备的数量和总线的负载来选择和设计。
三、操作和定时(占用总线的设备如何进行数据传输?)
(1)总线传输周期
①申请分配阶段
主模块申请,总线仲裁决定 |
由需要使用总线的主模块(或主设备)提出申请,经过总线仲裁机构决定将下一个周期的总线使用权授予某一个申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。 |
②寻址阶段
主模块向从模块给出地址和命令 |
获得使用权的主模块通过总线发出本次要访问的从模块的地址及相关命令,启动参与本次传输的从模块。 |
③传数阶段
主模块和从模块交换数据 |
主模块和从模块进行数据交换,可单向或双向进行数据传送。 |
④结束阶段
主从模块撤销有关信息 |
主模块的有关信息均从系统总线上撤除,让出总线使用权。 |
(2)总线定时
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则。
例如:
同步通信 | 由统一时钟控制数据传送 |
异步通信 | 采用应答方式,没有公共时钟标准 |
半同步通信 | 同步,异步的结合 |
分离式通信 | 充分挖掘系统总线每瞬间的潜力 |
就是几种总线定时的方案。
(3)同步通信
总线控制器采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。 | ||
假设 | CPU作为主设备,某个输入设备作为从设备 | |
(1) | CPU在T1时刻的上升沿给出地址信息 | |
(2) | 在T2的上升沿给出读命令(低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且必须在T3的上升沿来之前将CPU所需的数据送到数据总线上。 | 如果从设备跟不上节奏就会出错。 |
(3) | CPU在T3时钟周期内,将数据线上的信息传送到其内部寄存器中。 | |
(4) | CPU在T4的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。 |
同步定时方式是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。 若干个时钟产生相等的时间间隔,每个间隔构成一个总线周期。 在一个总线周期中,发送方和接收方可进行一次数据传送, 因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。 | |
优点 | 传送速度快,具有较高的传输速率;总线控制逻辑简单。 |
缺点 | 主从设备属于强制性同步; 不能及时进行数据通信的有效性检验,可靠性较差。 |
适用 | 同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。 |
(4)异步通信
采用应答方式,没有公共时钟标准
在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。 主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。 | |
根据“请求”和“回答”信号的撤销是否互锁,分为以下3种类型 3)全互锁方式 | |
优点 | 总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。 |
缺点 | 比同步控制方式稍复杂一些,速度比同步定时方式慢。 |
分为
1.不互锁 速度最快 可靠性最差
主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。而从设备在接到“请求”信号后,发出“回”信号,并经过一段时间,自动撤销“回答”信号。双方不存在互锁关系。
2.半互锁
主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系。
3.全互锁 最可靠速度最慢
主设备发出“请求”信号后,必须待从设备“回答”后,才撤销请求”信号;
从设备发出“回答”信号,必须待获知主设备“请求”信号已撤销后,再撤销其“回答”信号。双方存在互锁关系。
等控制方式
区别在于是否等待回答以及请求信号以及在什么时候撤销信号。
(5)半同步通信
同步 | 发送方 用系统 时钟前沿发信号 接收方 用系统 时钟后沿判断、识别 |
异步 | 允许不同速度的模块和谐工作 |
半同步通信 | 统一时钟的基础上,增加一个“等待”响应信号WAIT |
为了防止同步时出错,在准备数据间加了等待时间周期T来以该信号电平的高低是否继续进行数据传输,以免发生错误。
(6)分离式通信
上述三种通信的共同点
一个总线传输周期(以输入数据为例)
主模块发地址、命令 | 使用总线 |
从模块准备数据 | 不使用总线,总线空闲 |
从模块向主模块发数据 | 使用总线 |
分离式通信的一个总线传输周期
子周期1 | 主模块申请占用总线,使用完后放弃总线的使用权 |
子周期2 | 从模块申请占用总线,将各种信息送至总线上 |
特点:
1.各模块均有权申请占用总线
2.采用同步方式通信,不等对方回答
3.各模块准备数据时,不占用总线
4.总线利用率提高
(7)突发和非突发传送
突发 | 每个传送周期内能够连续的进行数据传送,其寻址阶段发送的是连续的数据单元的地址,在传输阶段传送的是多个连续单元的数据,每个时钟周期可以传送一个字长的信息,但是不释放总线,直到一组数据全部传送完毕后,再释放总线。 |
非突发 | 每个传送周期内都先传送地址,再传送数据。 |
四、标准化(易于实现模块化设计。)
计算机总线的标准化是指为确保不同厂商的设备和组件能够兼容和互操作,制定统一的技术规范和标准的过程。这些标准化的总线允许各种硬件组件(如CPU、内存、存储设备、外设等)在同一系统中协同工作。总线标准化是计算机体系结构发展的重要环节,促进了计算机技术的普及和发展。
1. 标准化的必要性
- 互操作性:标准化确保不同厂商的硬件组件可以无缝连接和通信,避免了由于不兼容而导致的设备无法使用的问题。
- 扩展性:标准化使得系统可以灵活扩展,通过添加新的组件或升级现有组件来提升性能或增加功能。
- 降低成本:标准化减少了定制解决方案的需求,制造商可以专注于生产符合标准的产品,从而降低研发和生产成本。
- 市场竞争:标准化为更多厂商参与市场竞争提供了公平的机会,促进了技术创新和价格竞争。
2. 常见的计算机总线标准
以下是一些重要的计算机总线标准,它们各自定义了不同类型的总线,适用于不同的设备和用途:
(1) PCI(Peripheral Component Interconnect)
- 简介:PCI是一种用于连接计算机主板和外部设备的高速并行总线标准,由Intel在1992年推出。
- 特点:支持即插即用(Plug and Play)、设备自动配置。PCI总线广泛用于连接网卡、声卡、硬盘控制器等外部设备。
- 发展:PCI的继任者包括PCI-X和PCI Express(PCIe),后者是目前广泛使用的标准,支持更高的数据传输速率和点对点通信。
(2) ISA(Industry Standard Architecture)
- 简介:ISA是IBM在1981年为其PC产品推出的16位总线标准。
- 特点:数据传输速率较低(8.33 MHz),最初是为8位计算机设计,后扩展到16位。ISA曾是PC市场的主要总线标准。
- 发展:随着更高速总线(如PCI)的出现,ISA逐渐被淘汰。
(3) AGP(Accelerated Graphics Port)
- 简介:AGP是Intel在1996年推出的专用于显卡的总线标准,旨在提高3D图形处理性能。
- 特点:AGP提供了更快的内存访问速度和更大的带宽,专用于图形数据的传输。
- 发展:AGP被PCI Express逐渐取代,但在早期的3D图形应用中发挥了重要作用。
(4) USB(Universal Serial Bus)
- 简介:USB是一种用于连接计算机与外部设备的串行总线标准,由多个厂商联合开发,并在1996年发布。
- 特点:支持热插拔、即插即用、多设备连接。USB已经成为连接外部设备(如键盘、鼠标、打印机、存储设备等)的主要接口标准。
- 发展:USB标准经过多次更新,最新的版本如USB 3.0、USB 3.1、USB 3.2和USB 4.0,提供了更高的传输速度和更强的功能。
(5) SATA(Serial ATA)
- 简介:SATA是一种用于连接硬盘驱动器和主板的串行总线标准,由Serial ATA国际组织(SATA-IO)于2003年发布。
- 特点:SATA替代了并行ATA(PATA)接口,提供了更高的数据传输速率和更简化的电缆设计。
- 发展:SATA标准多次更新,最新版本如SATA 3.0,支持高达6 Gb/s的数据传输速率。
(6) IEEE 1394(FireWire)
- 简介:IEEE 1394是一种由IEEE制定的串行总线标准,也称为FireWire,由Apple开发。
- 特点:支持高速数据传输,多用于视频摄像机、外置硬盘等设备。
- 发展:虽然曾在一些多媒体设备中流行,但FireWire逐渐被USB和Thunderbolt等标准取代。
(7)PCIE
PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。
3. 标准化组织
- ISO(International Organization for Standardization):负责制定和发布国际标准,涉及计算机和通信的多个领域。
- IEEE(Institute of Electrical and Electronics Engineers):制定了许多广泛使用的计算机和通信标准,如IEEE 802系列(以太网、Wi-Fi等)。
- PCI-SIG(PCI Special Interest Group):负责制定和维护PCI、PCIe等总线标准。
- USB-IF(USB Implementers Forum):负责USB标准的开发、推广和认证。
4. 总线标准化的趋势
随着技术的进步和需求的变化,总线标准不断发展。当前的趋势包括:
- 更高的传输速率:如PCIe 5.0、USB 4.0等标准提高了带宽,满足高速数据传输的需求。
- 多功能集成:如USB标准不仅支持数据传输,还支持供电和视频输出。
- 低功耗设计:特别是在移动设备领域,总线标准朝着降低功耗的方向发展,以延长电池寿命。
总结
总线的标准化对计算机系统的互操作性、扩展性和成本控制起到了关键作用。标准化过程通过制定统一的技术规范,使得不同厂商的设备能够兼容并共同工作,从而推动了计算机技术的快速发展和普及。