`
xieyaxiong
  • 浏览: 39047 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

系统总线

 
阅读更多

系统总线

 

总线的基本概念 

计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接。

 

早期的计算机大多数用分散连接方式,它是以运算器为中心的结构,其内部连接十分复杂,尤其是当I/O与存储器交换信息时,都需要经过运算器,致使运算器停止运算,严重影响了Cpu的工作效率。随着计算应用领域的不断扩大,I/O设备的种类和数量也越来越多,人们希望随时增添或减撤设备,用分散连接方式简直是一筹莫展,由此出现了总线连接方式。

总线是连接多个部件的信息传输线,是各部件共享的传输介质。当多个部件与总线相连时,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突,传输无效。因此,在某一时刻,只请允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

总线实际上是由许多传输线或通路组成,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码,例如,16条传输线组成的总线可同时传输16位二进制代码。

 

 

总线的分类

总线的应用很广泛,从不同角度可以有不同的分类方法。按数据传送方式可分为并行传输总线和串行传输总线。在并行传输总线中,又可按传输数据宽度分为8位、16位、32位、64位等传输总线。若按总线的使用范围划分,则又有计算机(包括外设)总线、测控总线、网络通信总线等。

1:片内总线

片内总线是指芯片内部的总线,如在cpu芯片内部,寄存器与寄存器这间,寄存器与算逻单元ALU之间都由片内总线连接。

2:系统总线

系统总线是指CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。

 

 

按系统总线传输信息的不同,又可分为三类:数据总线、地址总线和控制总线。

2.1:数据总线

        数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。如果数据总线的宽度为8位,指令字长为16位,那么,Cpu在取指阶段必须两次访问主存。

2.2:地址总线

        地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。例如,欲从存储器读出一个数据,则CPU要将此数据所在存储单元的地址送到地址线上。又如,欲将某数据经I/O设备输出,则CPU除了需将数据送到数据总线外,还需将该输出设备的地址(通常都经I/O接口)送到地址总线和上。可见,地址总线上的代码是用来指明CPU欲访问的存储单元或I/O端口的地址,由CPU输出,单向传输。地址线的位数与存储单元的个数有关。

2.3:控制总线

        由于数据总线、地址总线都是被挂在总线上的所有部件共享的,如何使各部件能在 同时刻占有总线使用权,需依靠控制总线来完成,因此控制总线是用来发出各种控制信号的传输线。通常对任一控制线而言,它的传输是单向的。例如,存储器读、写命令或I/O设备读、写命令都是由CPu发出的。但对于控制总线总体来说,又可认为是双向的。例如,当某设备准备就绪时,便向CPU发中断请求;当某部件(如DMA接口)需获得总线使用权时,也向CPU发出总线请求。此外,控制总线还起到监视各部件状态的作用。例如,查询该设备是处于“忙”还是“闲”,是否出错等。因此对CPU而言,控制信号既有输出,又有输入。

常见的控制信号如下。

1:时钟:用来同步各种操作。

2:复位:初始化所有部件 。

3:总线请求:表示某部件需获得总线使用权。

4:总线允许:表示需要获得总线使用权的部件已获得了控制权。

5:中断请求:表示某部件提出中断请求。

6:中断响应:表示中断请求已被接收。

7:存储器写:将数据总线上的数据写至存储器的指定地址单元内。

8:存储器读:将指定存储单元中的数据读到数据总线上。

9:I/O读:从指定的I/O商品将数据读到数据总线上。

10:I/O写:将数据总线上的数据输出到指定的I/O端口内。

11:传输响应:表示数据已被接收,或已将数据送至数据总线上。

 

 

总线性能指标

1:总线宽度:通常是指数据总线的根数,用bit(位)表示,如8位、16位、32位、64位(即8根、16根..)。

2:总线带宽:总线带宽可以理解为总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位要用MBps(兆字节每秒)表示。例如,总线工作频率为33MHz,总线宽度为32位(4B),则总线带宽为33*(32/8)=132MBps

3:时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。

4:总线复用:一条信号线上分时传送两种信号。例如,通常地址总线与数据总线在物理上是分开的两种总线,地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,优化设计,特将地址总线和数据总线共用一组物理线路,在这组物理线路上分时传输地址信号和数据信号,即为总线的多路复用。

5:信号线数:地址总线、数据总线和控制总线三种总线数的总和。

6:总线控制方式:包括突发工作、自动配置、仲裁方式、逻辑方式、计数方式等。

7:其他指标:如负载能力、电源电压、总线宽度能否扩展等。

 

 

总线结构

1:单总线结构

单总线结构是将CPU、主存、I/O设备(通过I/O)接口都挂在一组总线上,允许I/O设备之间、I/O设备与CPU之间或I/O设备与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高 。这类总线多数被小型计算机或微型计算机所采用。

 

多总线结构

双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。通道是一个具有特殊功能的处理器,CPu将一部分功能放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存储器之间的数据传送,其系统的吞吐能力可以相当大。这种结构大多用于大、中型计算机系统。

 

如果将速率不同的I/O设备进行分类,然后将它们连接在不同的通道上,那么计算机系统的工作效率将会更高,由此发展成多总线结构。

 

 

总线控制

 

由于总线上连接着多个部件,什么时候由哪个部件发送信息,如何给信息传送定时,如何防止信息丢失,如何避免多个部件同时发送,如何规定接收信息的部件等一系列问题都需要由总线控制器统一管理。它主要包括判优控制(或称仲裁逻辑)和通信控制。

 

总线判优控制

总线上所连接的各类设备,按其对总线有无控制功能可分为主设备(模块)和从设备(模块)两种。主设备对总线有控制权,从设备只能响应主设备发来的总线命令,对总线没有控制权。总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信息,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。

总线判优控制可分集中式和分布式两种,前者将控制逻辑集中在一处(如在CPU中),后者将控制逻辑分散在与总线连接的各个部件或设备上。

1:链式查询

链式查询,控制总线中有3根线用于总线控制 (BS总线忙、BR总线请求、BG总线同意),其中总线同意信号BG是串行地从一个I/O接口送到下一个I/O接口。如果BG到达的接口有总线请求,BG信号就不再往下传,意味着该接口获得了总线使用权,并建立总线忙BS座号,表示它占用了总线。可见在链式查询中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级别低的设备可能很难获得请求。

2:计数器定时查询

3:独立请求方式

 

 

总线通信控制

 

 

众多部件共享总线,在争夺总线使用权时,应按各部件的优先等级来解决。在通信时间上,则应按分时方式来处理,即以获得总线使用权的先后顺序分时占用总线,即哪一个部件获得使用权,此刻就由它传送,下一部件获得使用权,接着下一时刻传送。这样一个接一个轮流交替传送。

 

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

1:申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者。

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

3:传数阶段:主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块。

4:结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

 

总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。

通常用四种方式:同步通信、异步通信、半同步通信和分离式通信。

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics