目录

总线

原文:https://blog.csdn.net/wuyongpeng0912/article/details/46634931

数字计算机是由若干系统功能部件构成的,这些系统功能部件只有连接在一起协调工作才能形成一个完整的计算机硬件系统.这个起到连接和信息传输的功能部件就是总线.各个功能部件只有通过总线进行有效连接后,才可能实现彼此之间的相互通信和资源共享.

总线的概念和结构形态

基本概念

总线的特点

  1. 共享性

    总线是供所有部件通信共享的,任何两个部件之间的数据传输都是通过共享的公共总线进行的.

  2. 独占性

    一旦有一个部件占用总线与另一个部件进行数据通信,其他部件就不能再占用总线,也就是说一个部件对总线的使用是独占的.

总线的分类

按照总线上传输信号的不同划分

  1. 地址总线(Adress Bus,AB)

    地址总线上传送的是从CPU等主设备发往从设备的地址信号.当CPU对存储器或I/O端口进行读/写时,必须首先经地址线送出所要访问的存储单元或I/O对口的地址,并在整个读写周期一直保持有效.

  2. 控制总线(Control Bus,CB)

    控制总线上传送的是一个部件对另一个部件的控制或状态信息,如CPU对存储器的读、写控制信号,外部设备向CPU发出的中断请求信号等.

  3. 数据总线(Data Bus, DB)

    数据总线上传送的是各部件之间交换的数据信息.数据总线通常是双向的,即数据可以由从设备发往主设备(称为读或输入),也可以由主设备发往从设备(称为写或输出)

总线的特性

  1. 物理特性:总线的物理连接方式
  2. 功能特性:总线中每根传输线的功能
  3. 电气特性:每一根线上信号的传递方向及有效电平范围
  4. 时间特性:定义每根线在什么时间有效

总线的标准化

总线的连接方式

单总线结构

许多单处理器的计算机中,使用单一的系统总线来连接CPU、主存和I/O设备,叫做单总线结构

https://gitee.com/lienhui68/picStore/raw/master/null/20200831112922.png

多总线结构

CPU和cache之间采用高速的CPU总线,主存连在系统总线上.通过桥,CPU总线、系统总线和高速总线彼此相连.桥实质上是一种具有缓冲、转换、控制功能的逻辑电路.

双总线

https://gitee.com/lienhui68/picStore/raw/master/null/20200831112956.png

三总线(1)

https://gitee.com/lienhui68/picStore/raw/master/null/20200831113003.png

三总线(2)

https://gitee.com/lienhui68/picStore/raw/master/null/20200831113020.png

四总线

https://gitee.com/lienhui68/picStore/raw/master/null/20200831113028.png

总线的内部结构

https://gitee.com/lienhui68/picStore/raw/master/null/20200831111038.png

  1. 数据传送总线:由地址线、数据线、控制线组成.为了减少布线,数据线常常和地址线采用多路复用方式
  2. 仲裁总线:包括总线请求线和总线授权线.
  3. 中断和同步总线:用于处理带优先级的中断操作,包括中断请求线和中断认可线.
  4. 公用线:包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等.

总线结构实例

CPU总线

也称CPU-存储器总线,它是一个64位数据线和32位地址线的同步总线.总线时钟频率为66.6MHz(或60MHz), CPU内部时钟是此时钟频率的倍频.此总线可连接主存.主存扩充容量是以内存条形式插入主板有关插座来实现的.CPU总线还接有L2级cache.主存控制器和cache控制器芯片用来管理CPU对主存和cache的存取操作. CPU是这条总线的主控者,但必要时可放弃总线控制权.从传统的观点看,可以把CPU总线看成是CPU引脚信号的延伸.

PCI总线

用于连接高速的I/O设备模块,如图形显示器适配器、网络接口控制器、硬盘控制器等.通过“桥”芯片,上面与更高速的CPU总线相连,下面与低速的ISA总线相接. PCI总线是一个32位(或64位)的同步总线,32位(或64位)数据/地址线是同一组线,分时复用.总线时钟频率为33.3MHz,总线带宽是132MB/s.PCI总线采用集中式仲裁方式,有专用的PCI总线仲裁器.主板上一般有3个PCI总线扩充槽.

IAS总线

Pentium机使用该总线与低速I/O设备连接.主板上一般留有3~4个ISA总线扩充槽,以便使用各种16位/8位适配器卡.该总线支持7个DMA通道和15级可屏蔽硬件中断.另外,ISA总线控制逻辑还通过主板上的片级总线与实时时钟/日历、ROM、键盘和鼠标控制器(8042微处理器)等芯片相连接.

们看到,CPU总线、PCI总线、ISA总线通过两个“桥”芯片连成整体.桥芯片在此起到了信号速度缓冲、电平转换和控制协议的转换作用.有的资料将CPU总线-PCI总线的桥称为北桥,将PCI总线-ISA总线的桥称为南桥.其中,北桥芯片(north bridge)是主板芯片组最重要的组成部分,它负责与CPU联系并控制内存、AGP等数据在北桥内的传输,它与CPU的联系更紧密,所以空间位置距离CPU也最近,以便缩短通信距离,提高传输效率.南桥芯片负责I/O总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等.通过桥将两类不同的总线“粘合”在一起的工作特别适合于系统的升级换代.这样,每当CPU芯片升级时只需改变CPU总线和北桥芯片,全部原有的外围设备可自动继续工作.

Pentium机总线系统中有一个核心逻辑芯片组,简称PCI芯片组,它包括主存控制器和cache控制器芯片、北桥芯片和南桥芯片.这个芯片组叫Intel 430系列、440系列,它们在系统中起着至关重要的作用.

总线接口

信息传送方式

串行传送

当信息以串行方式传送时,只有一条传输线,且采用脉冲传送.在串行传送时,按顺序来传送表示一个数码的所有二进制位(bit)的脉冲信号,每次一位,通常以第一个脉冲信号表示数码的最低有效位,最后一个脉冲信号表示数码的最高有效位.

并行传送

用并行方式传送二进制信息时,对每个数据位都需要单独一条传输线.信息有多少二进制位组成,就需要多少条传输线,从而使得二进制数“0”或“1”在不同的线上同时进行传送.

分时传送

分时传送有两种概念.一是采用总线复用方式,某个传输线上既传送地址信息,又传送数据信息.为此必须划分时间片,以便在不同的时间间隔中完成传送地址和传送数据的任务.分时传送的另一种概念是共享总线的部件分时使用总线.

总线接口的基本概念

I/O功能模块通常简称为I/O接口(DMA就是一个接口模块),也叫适配器.广义地讲,I/O接口是指CPU、主存和外围设备之间通过系统总线进行连接的标准化逻辑部件.I/O接口在它动态连接的两个部件之间起着“转换器”的作用,以便实现彼此之间的信息传送. 功能有

  1. 控制

    接口模块靠指令信息来控制外围设备的动作,如启动、关闭设备等.

  2. 缓冲

    接口模块在外围设备和计算机系统其他部件之间用作为一个缓冲器,以补偿各种设备在速度上的差异.

  3. 状态

    接口模块监视外围设备的工作状态并保存状态信息.状态信息包括数据“准备就绪”、“忙”、“错误”等等,供CPU询问外围设备时进行分析之用.

  4. 转换

    接口模块可以完成任何要求的数据转换,例如并一串转换或串一并转换,因此数据能在外围设备和CPU之间正确地进行传送.

  5. 整理

    接口模块可以完成一些特别的功能,例如在需要时可以修改字计数器或当前内存地址寄存器.

  6. 程序中断

    如果外设与CPU以中断控制的方式进行通信时,每当外围设备向CPU请求某种动作时,接口模块即发生一个中断请求信号到CPU.

总线的仲裁

主模块可以启动一个总线周期,而从模块只能响应主模块的请求.每次总线操作,只能有一个主模块占用总线控制权,但同一时间里可以有一个或多个从模块.

除CPU模块外,其他主模块也可提出总线请求.为了解决多个主模块同时竞争总线控制权的问题,必须具有总线仲裁部件,以某种方式选择其中一个模块作为总线的下一次主模块.一般采用优先级或公平策略进行仲裁.

集中式

集中式仲裁中每个功能模块有两条线连到总线控制器:一条是送往仲裁器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线BG.

链式查询方式

总线授权信号BG串行地从一个I/O接口传送到下一个I/O接口.假如BG到达的接口无总线请求,则继续往下传送有效信号;假如BG到达的接口有总线请求,BG信号便不再往下传送有效信号.这意味着该I/O接口就获得了总线控制权.

计时器定时查询方式

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

独立请求方式

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

分布式总裁

分布式仲裁不需要集中的总线仲裁器,每个潜在的主功能模块都有自己的仲裁号和仲裁器.当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较.如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号.最后,获胜者的仲裁号保留在仲裁总线上.显然,分布式仲裁是以优先级仲裁策略为基础.

总线的信号控制和数据传送

总线通信控制

通常完成一次总线操作的时间称为总线周期,可分为4个阶段.

  1. 申请分配阶段

    由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授予某一申请者.

  2. 寻址阶段

    取得了总线使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块.

  3. 传数阶段

    主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块.

  4. 结束阶段

    主模块的有关信息均从系统总线上撤除,让出总线使用权.

通信方式

  • 同步通信

    通信双方由统一时标控制数据的传送称为同步通信.时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步.

  • 异步通信

    当主模块发出“请求”信号时,一直等待从模块反馈回来“响应”信号后,才开始通信.当然,这就要求主、从模块之间增加两条应答线(握手交互信号线).

    • 不互锁方式

      主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号。

    • 半互锁方式

      主模块发出请求信号后,必须等接收到从模块发来的应答信号后才能撤销其请求信号,有互锁关系;而从模块在接收到请求信号后会发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,而无互锁关系.由于一方存在互锁关系,一方不存在互锁关系,故称半互锁方式.

    • 全互锁方式

      主模块发出请求信号后,必须等接收到从模块发来的回答信号后才能撤销其请求信号;从模块发出回答信号后,也必须等获知主模块请求信号已撤销后,再撤销其回答信号.双方存在互锁关系,故称为全互锁方式.

  • 半同步通信

    半同步通信既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行识别判断;同时又像异步通信那样,允许不同速度的模块和谐地工作。

  • 分离式通信

总线的数据传送模式

  1. 读、写操作
  2. 块传送操作
  3. 写后读、读后写操作
  4. 广播、广集操作

总线标准

总线标准,可视为系统与各模块、模块与模块之间的一个互连的标准界面.这个界面对它两端的模块都是透明的,即界面的任一方只需根据总线标准的要求完成自身一方接口的功能要求,而无需了解对方接口与总线的连接要求.

PC机的局部总线

  1. 局部总线ISA
  2. 局部总线EISA
  3. 局部总线VESA
  4. 局部总线PCI

外部总线

  1. 外部总线IDE和EIDE
  2. 外部总线SCSI
  3. 外部总线RS-232-C
  4. 串行总线IEEE1394
  5. 通用串行总线USB