精华内容
下载资源
问答
  • 中大型计算机系统中采用总线结构:系统总线、内存总线、I/O总线 信息传送方式有四种: 串行传送用一根数据线按从低到高的顺序逐位传送数据(外总线通常采用串行传送方式); 并行传送:用多要数据线同时传送一...
  • 计算机系统总线

    千次阅读 多人点赞 2016-11-08 11:56:05
    申明:这篇文章是我学习了哈尔滨工业大学计算机科学与技术系刘宏伟老师的mooc课程(参考教材为高教出版社出版的唐朔飞老师编写的《计算机组成原理(第二版)》)的课堂笔记整理,其中的截图来自刘宏伟老师上课的PPT...

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    申明:这篇文章是我学习了哈尔滨工业大学计算机科学与技术系刘宏伟老师的mooc课程(参考教材为高教出版社出版的唐朔飞老师编写的《计算机组成原理(第二版)》)的课堂笔记整理(系统总线部分),其中的截图来自刘宏伟老师上课的PPT,版权归刘宏伟老师所有。
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    什么是总线?

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

    为什么需要总线?

    如果各个部件之间使用分散连接的话,那么计算机系统必然会因为众多的设备而导致拥有大量的数据导线,从而使得系统变得异常复杂,如果需要动态添加一个新的设备的话,会比较麻烦。

    总线上信息传输的方式

    总体来说,有两种方式:串行和并行。
    串行:数据一位一位地传递,只有上一位传送完毕之后下一位才能传递,通常由一根导线设计。如下图:
    这里写图片描述
    并行:数据中的很多位可以同时传输,使用多根导线制造设计。如下图:
    这里写图片描述
    两种方式比较如下:
    串行:优点:硬件设计简单,占用引脚较少,有利于集成。缺点:数据传输效率较低。
    并行:优点:数据传输效率较高,吞吐量大。缺点:硬件设计复杂,占用较多引脚,集成复杂。

    常见总线结构

    单总线结构

    这里写图片描述
    这种结构是最经典,也是最简单的结构。所有的设备,包括CPU,主存,各种I/O设备全部挂接在一条总线上。但是这种方式的效率底下,因为同时只能有一对设备使用总线进行数据传输,如果这对设备传输时间很长的话(比如CPU和主存之间的数据传输)那么这段时间内别的设备只能等待;另外多个设备之间可能存在严重资源使用冲突的问题。

    面向CPU的双总线结构

    这里写图片描述
    这种结构以CPU为中心,和上面的结构不同的是,这里主存不在挂在单一总线上了,而是设计了两个总线:I/O总线和M总线(Memory)。这样一来就把专门用于I/O设备数据传输的总线和存储总线分开了,解决了单一总线中因为CPU访问内存而导致系统总线负载较重的问题。
    但是这种结构也是有问题的,比如所有的I/O设备如果需要和主存交互的话,那么效率是比较低的,因为每次都需要CPU实际参与。

    以存储器为中心的双总线结构

    这里写图片描述
    还有一种以存储器为中心的双总线结构,如上图所示。它是在单总线的基础上又开辟一条CPU和主存之间的总线,称之为存储总线。这组总线速度高,只供主存和CPU之间传输信息。这样既提高了传输效率,有减轻了系统总线的负担,还保留了I/O设备与存储器之间交换信息时不经过CPU的特点。

    总线的分类

    总线应用广泛,从不同的角度可以有很多种分类方式。下面我们按照连接部件的不同,分为三类。

    片内总线

    片内总线是指芯片内部的总线,如在CPU芯片的内部,寄存器和寄存器之间,寄存器和运算逻辑单元ALU之间的都是由片内总线连接而成的。

    系统总线

    系统总线是指CPU,主存,I/O设备各大部件之间的信息传输线。由于这些部件通常安放在主板的各个插件板上,因此又称为板级总线或板间总线。按照系统总线传输的信息的不同,又可以分为三类:数据总线,地址总线,控制总线。

    数据总线

    数据总线用来传输各功能部件之间的数据信息,他是一个双向的传输总线,其位数与机器字长,存储字长有关,一般为8位,16位或者32位。数据总线的位数成为数据总线的宽度,他是衡量系统性能的一个重要参数。

    地址总线

    地址总线主要用来指出数据总线上的源数据或者目的数据在主存储单元的地址或者I/O设备的地址。地址总线的数据用来指明CPU想要访问的存储单元或者I/O端口的地址,由CPU输出,单向传输。数据线的位数代表着系统能够寻址的空间大小,比如地址线宽为20那么地址空间为2的20次方。

    控制总线

    我们知道,数据总线和地址总线是被挂在总线上的所有设备所共享的,那么这些设备之间怎么协调使用呢?答案就是控制总线,依靠控制总线来完成共享总线的占用申请。控制总线是发出各种控制信号的,因此它的传输方向就是单向的。但是,通常对于CPU而言的话,控制总线是既有输入,又有输出的。常见的控制信号有:时钟,复位,总线占用请求等等。

    通讯总线

    这类总线用于计算机系统之间或计算机系统与其他系统之间的通讯,比如网络连接。这类通讯涉及许多方面,因此互相之间差别极大,传输的类别很多,但是总体可以分为两种:串行和并行。

    总线性能及指标

    总线的物理实现

    从物理角度看,总线有许多导线直接印在电路板上,延伸到各个部件,如下图显示了各个部件与总线之间的物理摆放位置:
    这里写图片描述
    图中的CPU,主存,I/O这些插板通过插头与水平方向总线插槽连接。因此,为了保证机械上的可靠连接,必须规定其机械特性;为了保证电气上的正确连接,必须规定其电气特性;为了保证正确地连接到不同部件,还需要规定其功能特性和时间特性。

    总线的特性

    机械特性

    指总线在机械连接方式的一些性能,如插头与插座的尺寸,形状,引脚个数以及排列方式等等。

    电气特性

    指总线的每一根传输线上的信号的传递方向和有效的电平范围。

    功能特性

    指总线中每个传输线的功能,确定其地址线,数据线,控制线。

    时间特性

    指总线中任何一根导线在什么时间内有效。每条总线上的各种信号互相存在一种有效的时序关系,因此时间特效一般可以使用信号时序图表示。

    总线性能指标

    总体上,衡量总线的性能指标如下:
    这里写图片描述

    总线标准

    总线式在计算机系统模块化的发展过程中产生的,随着计算机应用领域的不断扩大,计算机系统中的各类模块品种极其复杂,往往每一个模块都要配置一种总线。为了使系统设计简化,模块生成批量化,人们发明了很多总线的标准,只要计算机系统厂商和模块生产厂商统一遵守这些标准那么系统集成是很容易的。目前主要的总线标准,数据宽度,时钟,带宽如下:
    这里写图片描述

    总线结构

    总线结构整体可以分为单总线结构和多总线结构。

    单总线结构

    整体结构如下图:
    这里写图片描述
    这是最简单的一种结构,计算机的各个部件均系统总线相连,所以它又称为面向系统的单总线结构。在单总线结构中,CPU与主存之间、CPU与I/O设备之间、I/O设备与主存之间、各种设备之间都通过系统总线交换信息。单总线结构的优点是控制简单方便,扩充方便。但由于所有设备部件均挂在单一总线上,使这种结构只能分时工作,即同一时刻只能在两个设备之间传送数据,这就使系统总体数据传输的效率和速度受到限制,这是单总线结构的主要缺点。

    多总线结构

    双总线结构

    整体结构如下图:
    这里写图片描述
    这种结构的特点就是将速度较低的I/O设备从单总线上分离出来,形成主存总线和I/O总线分来的结构。图中的通道是一个具有特殊功能的处理器,CPU将一部分的功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存之间的数据传送,增大系统性能。但是这种结构的问题是:不是所有的I/O设备的工作速度都是一样的,不同速度的I/O放在一个总线工作会大大影响效率。

    三总线结构

    整体结构如下图:
    这里写图片描述
    这个结构为高速I/O设备建立了一个到达主存的高速通道,称为DMA(直接存储访问)总线。这个结构中同时只能有一个总线在使用,主存总线与DMA总线不能同时访问主存,I/O总线只有在CPU执行I/O指令时才能用到。

    三总线加强版

    下面是另外一种总线形式:
    这里写图片描述
    由图可见,处理器与cache之间有一个局部总线,它将CPU和cache或者更多地局部设备连接起来。Cache控制结构不仅将cache连接到局部总线上,而且还直接连接到系统总线上,这样cache就可以通过系统总线和主存交互,而且I/O设备与主存之间的交互也不必通过CPU。还有一条扩展总线,它将局域网,SCSI等接口连接起来,并且通过这些接口又可以与各类I/O设备连接,因此可以支持很多的外接设备。

    四总线结构

    为了进一步提高I/O设备的性能,使其更快地响应命令,又出现了四总线的结构,如下图:
    这里写图片描述
    这里又增加了一条与系统相连的高速总线,高速总线上挂了很多高速的I/O设备,他们通过cache控制机构中的高速总线桥或者高速缓冲器与系统总线和局部总线连接,使得这些高速设备和CPU更加密切。而一些较低速度的设备则放在了扩展总线上。这种结构对于高速设备而言,自身的工作可以很少依赖CPU,同时他们又比扩展总线上的设备更加靠近CPU,可见对于高性能设备与CPU来说,各自的效率将获得很大的提高。在这种结构中,CPU,高速总线的速度以及各自的信号线的定义可以完全不同,以至于各自改变结构也不会影响高速总线的正常工作。

    总线结构的几个例子

    传统微机总线结构

    这里写图片描述

    VL-BUS局部总线结构

    这里写图片描述

    PCI总线结构

    这里写图片描述

    多层PCI总线结构

    这里写图片描述

    总线控制

    由于总线上有很多的设备,什么时候由哪个设备占用总线发送信息,如何给信息发送定时,如何防止信息丢失,如何避免多个设备同时发送等等问题都需要总线控制器统一管理。它主要包括判优控制(或仲裁逻辑)和通讯控制。

    判优控制

    总线上的各类设备,按照其对总线有无控制权分为主设备和从设备。主设备有控制权,从设备没有,从设备只能响应从主设备发过来的命令。总线上的信息传送是由主设备发起的,如果某个主设备想和另一个从设备通讯时,首先由主设备发出总线控制请求,然后才能通讯。假如同时有多个主设备发起了总线控制请求,那么总线控制器就要按照一定的逻辑按照某个优先级顺序确定哪个主设备能够使用总线。
    常见的判优控制可以分类为:集中式和分布式,前者将控制逻辑集中在一起(比如在CPU中),后者将控制逻辑分散在与总线连接的各个部分或者设备上。下面我们简要介一下集中式的控制逻辑,通常来讲集控制逻辑分为以下三种。

    链式查询

    用3条控制线进行控制:
    BS(总线忙); BR(总线讲求); BG(总线允许).
    特征:将BG串行地从一部件(I/O接口)送到下一个部件,直到到达有请求的部件为止.
    优先权位置:离总线控制器最近的部件具有最高使用权,离它越远,优先权越低.
    电路:链式查询靠接口的优先权排队电路实现.
    逻辑如下图:
    这里写图片描述

    计数器定时查询

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

    独立请求方式

    每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi. 当设备要求使用总线时,便发出该设备的请求信号.总线控制器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BGi。它的优点是:响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询.
    其次,对优先次序的控制相当灵活,可以预先固定也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求.
    逻辑如下图:
    这里写图片描述

    三种方式的控制线数目比较

    链式查询方式——只用二根线.
    计数器定时查询方式——大致用㏒2n根线,n是允许接纳的最大部件数.
    独立请求方式——要用2n根线. ..

    通讯控制

    总线完成一次传输,分四个阶段:
    1. 总线裁决:决定哪个主控设备使用总线
    2. 寻址阶段:主控设备送出要访问的主存或设备的地址,同时送出有关命令(读或写等),启动从设备
    3. 数据传输阶段:主、从设备间进行数据交换
    4. 结束阶段:有关信息在总线上撤销,让出总线使用权
    总线通信控制的目的:
    解决主、从设备如何获知传输开始和传输结束,以及通信双方如何协调进行数据通信。
    有四种通信方式:
    这里写图片描述

    同步通讯

    控制线中有一个时钟信号线,挂接在总线上的所有设备都从这个公共的时钟线上获得定时信号,一定频率的时钟信号定义了等间隔的时间段,这个固定的时间段为一个时钟周期,也称总线周期。
    每种总线操作都有一个确定的通信协议(规定在每个时钟周期内交换哪些信息)。
    例如,在处理器-主存总线上执行存储器读操作,其协议为:在第1个时钟周期发送地址和存储器读命令,然后存储器被要求在第5个时钟将数据放到总线上。
    优点:速度快,并且接口逻辑很少(因为协议简单)。
    缺点:
    1. 总线上的每个设备必须以同样的时钟速率进行工作。
    2. 由于时钟偏移问题,同步总线不能很长.
    操作逻辑如下(读操作):
    这里写图片描述

    异步通讯

    非时钟定时,没有一个公共的时钟标准。因此,能够连接带宽范围很大的各种设备。总线能够加长而不用担心时钟偏移问题。
    采用握手协议(应答方式)。由一系列步骤组成,只有当双方都同意时,发送者或接收者才会进入到下一步,协议通过一对附加的“握手”信号线(Ready、Ack)来实现。
    异步通信有非互锁、半互锁和全互锁三种方式:
    这里写图片描述
    优点:灵活,可挂接各种具有不同工作速度的设备。
    缺点:
    1. 对噪声较敏感。
    2. 接口逻辑较复杂。

    半同步通讯

    为解决异步通信方式对噪声敏感的问题,一般在异步总线中引入时钟信号,就绪和应答等定时信号都在时钟的上升沿有效,这样信号的有效时间限制在时钟到达的时刻,而不受其他时间的信号干扰。这种通信方式称为半同步通信方式。(例如:Wait信号、TRDY和IRDY信号等)
    半同步方式结合了同步和异步的优点。既保持了“所有信号都由时钟定时”的特点,又允许“不同速度设备共存于总线“:
    这里写图片描述
    操作时序如下:
    这里写图片描述
    操作流程(读操作):
    这里写图片描述

    分离式通讯

    上面三个通讯方式的共同点是:
    这里写图片描述
    这里发现从设备准备数据的过程中总线式等待状态的,这个时候就是一种资源的浪费。因此我们要想办法把这部分利用起来。解决的办法就是分离式通讯:
    这里写图片描述
    •基本思想:将一个传输操作事务分成两个子过程。在第一个子过程中,主控设备A在获得总线使用权后,将请求的事务类型(即总线命令)、地址以及其他有关信息(如标识主控设备身份的编号等)发送到总线上,从设备B记录下这些信息。主控设备发完这些信息后便立即释放总线,这样其他设备便可使用总线。在第二个子过程中,从设备B收到主控设备A发来的信息后,就按照其请求的命令进行相应的操作,当准备好主控设备所需的数据后,从设备B便请求使用总线,一旦获得使用权,则从设备B就将主控设备A的编号及所需的数据等送到总线上,这样主控设备A便可接收数据。
    • 优点:提高整个系统的总有效带宽。
    缺点:控制相当复杂,开销大。
    分离式通讯的基本特点:
    这里写图片描述

    教材中的截图

    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

    展开全文
  • 计算机系统总线结构

    千次阅读 2019-09-08 15:35:28
    系统总线介绍 系统总线就是把计算机中多个组件连接到一起的传输介质,负责设备间通信。...本文,可能会有很多不同名称的系统总线,它们的功能都一样,只不过连接的设备不同而名称不同。 计算机中总线...

    系统总线介绍

    系统总线就是把计算机中多个组件连接到一起的传输介质,负责设备间通信。系统总线上传送的信息包括数据信息、地址信息、控制信息,因此,系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。在本文中,可能会有很多不同名称的系统总线,它们的功能都一样,只不过连接的设备不同而名称不同。

    计算机中的总线架构

    单总线结构

    最初的单总线结构只有一条总线叫做系统总线,把各个部分连接起来,所有设备间的通信都要经过系统总线,单总线结构就会显得负载比较重,同时只能有两个设备进行通信,其他设备间想要通信就必须等待。
    在这里插入图片描述

    双总线结构

    由于单总线结构中,CPU和内存的通信比较频繁,且数据量传输相对来说比较大,所以就把内存和CPU之前的通信用单独的总线连接起来叫做M(Memory)总线,也就是内存总线,CPU和其他设备间的通信通过I/O总线连接起来。
    在这里插入图片描述
    上面的双总线结构中,如果主存要和其他设备通信,都必须经过CPU,这样也会让占用CPU的资源,增加CPU的负载,叫做面向CPU的双总线结构,还有一种叫做面向存储器的双总线结构。面向存储器的双总线结构中,主存一边通过存储总线和CPU连接进行通信,一边也连接在系统总线上和其他设备进行通信。如果主存支持同时有两个源写入或者读取数据,那么当CPU和主存通信时,其他IO设备还可以和主存进行通信;如果主存不支持同时操作两组数据,那么当其他设备和主存通信时,CPU也还可以和其他设备进行通信,前提是不需要主存。
    在这里插入图片描述
    除了上面的两种双总线结构外,还有一种总线结构,IO设备统一通过通道来管理,通道是一种特殊的处理器,负责IO设备和其他设备的通信。
    在这里插入图片描述

    三总线结构

    三总线结构中,新增了一条DMA(直接存储访问)总线,可以让高速IO设备和主存进行通信,但是在这种总线结构下,那些低速的IO设备要想和主存进行通信还是要经过CPU,占用CPU资源。
    在这里插入图片描述
    三总线的另一种结构,新增了一条扩展总线和局部总线,局部总线把CPU和Cache相连,Cache又通过系统总线和主存连接到一起,这样CPU只和速度比较高的Cache进行通信,当Cache中的数据没有时,Cache和主存进行通信,把数据从主存中取出来放入Cache中。所有的IO设备通过扩展总线和系统总线与主存进行通信,但是扩展总线上也没法区分高速的IO设备和低速的IO设备。
    在这里插入图片描述

    四总线结构

    在四总线结构中,新增了一条高速总线,负责连接一些高速的IO设备,距离CPU和主存都比较近,通信比较块,扩展总线上连接一些低速的IO设备。
    在这里插入图片描述

    PCI总线结构

    PCI总线结构是现代计算机上使用的总线结构,CPU通过系统总线和存储器连接,同时系统总线上连接了一个PCI桥,通过PCI桥可以连接PCI总线,PCI总线下也可以连接符合PCI接口的IO设备,同时PCI总线下又可以连接PCI桥,PCI桥下再连接PCI总线,就可以一直向下扩展,不过也是有一些数量限制的。
    在这里插入图片描述

    PCI多层总线结构

    在这里插入图片描述
    在Linux系统下,可以通过lspci命令查看PCI结构下的设备
    在这里插入图片描述
    声明:文章图片来自哈工大刘宏伟老师的计算机组成原理,如有侵权,请联系删除。

    展开全文
  • 计算机系统总线基础

    2010-11-11 23:44:00
    在计算机系统中,不同的子系统必须具有连接彼此的接口,比如,内存和处理器需要通信,处理器和I/O设备也需要通信。这些工作都是由总线来完成的。总线就是一条共享的通信链路,它用一套线路来连接多个子系统。下图是...

    作者:杨硕,华清远见嵌入式学院讲师。

    一. 总线的概念

    在计算机系统中,不同的子系统必须具有连接彼此的接口,比如,内存和处理器需要通信,处理器和I/O设备也需要通信。这些工作都是由总线来完成的。总线就是一条共享的通信链路,它用一套线路来连接多个子系统。下图是一个典型的计算机总线示意图:

    总线结构的两个主要优点是功能多和成本低。通过定义一种连接方案,就能够方便的添加新设备,比如我们可以轻松的为自己的笔记本扩展内存条,或者外扩一块硬盘。外围设备也可以在使用同类总线的计算机系统之间移动。而且,因为同一套线路被多个路径共享,所以总线具有较好的成本效益。
    总线的主要缺点在于它会产生通信瓶颈,这可能会限制I/O的最大吞吐量。当I/O数据传输必须通过单个总线的时候,这条总线的带宽就会限制I/O的最大吞吐量。如何设计总线系统,使之能够满足处理器的要求并能够接纳大量的I/O设备,使我们面临的一大挑战。

    二. 控制线路和数据线路

    总线通常包括一套控制线路和一套数据线路。控制线路用来传输请求和确认信号,并指出数据线上的信息类型。总线的数据线在源和目的之间传递信息。这种信息可能包括数据、复杂指令或者地址。比如,如果磁盘要把磁盘扇区中的数据写入内存,内存的地址和磁盘的实际数据都会通过数据线来传输。控制总线则指明了在传输过程中每一刻数据线包含的信息种类。一些总线使用两套信号线在一次总线传输中分别传送数据和地址。不管哪种情况下,控制总线都要遵循总线协议,并指出总线传输的内容。由于总线的共享的,所以我们还需要一个协议来决定谁下一个使用。

    三. 处理器-内存总线和I/O总线

    对于传统的PC机,总线可以分为处理器-内存总线和I/O总线。处理器内存总线长度短,速度通常很高,而且配合内存系统使内存-处理器的带宽达到最大。与之形成对比的I/O总线,它可以很长,可以连接很多类型的设备,并且经常要连接多种具有不同数据带宽的设备。I/O总线一般不和内存直接连接而是通过处理器-内存总线或者背板总线连接到内存上。

    I/O总线被用作扩展机器和连接新外设的手段。主流的I/O总线标准有1394和USB等。他们可以把各种外设连接到台式机,从键盘、相机到磁盘。

    下图为早期的I/O总线示意图:

    四. 总线通信的两种方式:同步和异步

    总线的通信的两种基本方式是同步和异步。如果总线是同步的,控制线上就有一个时钟以及一个与该时钟相关的固定的通信协议。比如,为了使处理器-内存总线执行一个从内存总线执行一个读操作。我们需要一个协议能够在第一个时钟周期传输地址和读操作命令,并使用控制线来指明请求的类型。内存可能被要求在第五个时钟周期做出响应,提供数据字。

    同步总线主要有两个缺点。第一,总线上的每个设备必须运行在同一个时钟频率下。其次,由于时钟偏差问题,速度很快的同步总线,长度不能太大。处理器-内存总线通常是同步的,因为设备间通信的距离短,数量少,而且准备在快的时钟频率下工作。

    异步总线不需要时钟。正因为不需要时钟,所以异步总线可以适应很多不同的设备,异步总线可以延长而不用担心时钟偏差或其他同步问题。1394和USB都是异步总线。为了协调发送者和接受者之间的数据传输,异步总线采用握手协议。握手协议由一系列步骤组成,只有当发送者和接收者达成一致时,才能进行下一步工作。这种协议通过一套附加的控制线路实现的。

    展开全文
  • 计算机组成原理-计算机系统总线

    千次阅读 2020-08-26 14:03:25
    计算机系统总线 createchance ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 申明:这篇文章是我学习了哈尔滨工业大学计算机科学与技术系刘宏伟老师的mooc课程(参考教材为高教出版社出版...

    计算机系统总线

    createchance

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    申明:这篇文章是我学习了哈尔滨工业大学计算机科学与技术系刘宏伟老师的mooc课程(参考教材为高教出版社出版的唐朔飞老师编写的《计算机组成原理(第二版)》)的课堂笔记整理(系统总线部分),其中的截图来自刘宏伟老师上课的PPT,版权归刘宏伟老师所有。
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    什么是总线?

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

    为什么需要总线?

    如果各个部件之间使用分散连接的话,那么计算机系统必然会因为众多的设备而导致拥有大量的数据导线,从而使得系统变得异常复杂,如果需要动态添加一个新的设备的话,会比较麻烦。

    总线上信息传输的方式

    总体来说,有两种方式:串行和并行。
    串行:数据一位一位地传递,只有上一位传送完毕之后下一位才能传递,通常由一根导线设计。如下图:
    这里写图片描述
    并行:数据中的很多位可以同时传输,使用多根导线制造设计。如下图:
    这里写图片描述
    两种方式比较如下:
    串行:优点:硬件设计简单,占用引脚较少,有利于集成。缺点:数据传输效率较低。
    并行:优点:数据传输效率较高,吞吐量大。缺点:硬件设计复杂,占用较多引脚,集成复杂。

    常见总线结构

    单总线结构

    这里写图片描述
    这种结构是最经典,也是最简单的结构。所有的设备,包括CPU,主存,各种I/O设备全部挂接在一条总线上。但是这种方式的效率底下,因为同时只能有一对设备使用总线进行数据传输,如果这对设备传输时间很长的话(比如CPU和主存之间的数据传输)那么这段时间内别的设备只能等待;另外多个设备之间可能存在严重资源使用冲突的问题。

    面向CPU的双总线结构

    这里写图片描述
    这种结构以CPU为中心,和上面的结构不同的是,这里主存不在挂在单一总线上了,而是设计了两个总线:I/O总线和M总线(Memory)。这样一来就把专门用于I/O设备数据传输的总线和存储总线分开了,解决了单一总线中因为CPU访问内存而导致系统总线负载较重的问题。
    但是这种结构也是有问题的,比如所有的I/O设备如果需要和主存交互的话,那么效率是比较低的,因为每次都需要CPU实际参与。

    以存储器为中心的双总线结构

    这里写图片描述
    还有一种以存储器为中心的双总线结构,如上图所示。它是在单总线的基础上又开辟一条CPU和主存之间的总线,称之为存储总线。这组总线速度高,只供主存和CPU之间传输信息。这样既提高了传输效率,有减轻了系统总线的负担,还保留了I/O设备与存储器之间交换信息时不经过CPU的特点。

    总线的分类

    总线应用广泛,从不同的角度可以有很多种分类方式。下面我们按照连接部件的不同,分为三类。

    片内总线

    片内总线是指芯片内部的总线,如在CPU芯片的内部,寄存器和寄存器之间,寄存器和运算逻辑单元ALU之间的都是由片内总线连接而成的。

    系统总线

    系统总线是指CPU,主存,I/O设备各大部件之间的信息传输线。由于这些部件通常安放在主板的各个插件板上,因此又称为板级总线或板间总线。按照系统总线传输的信息的不同,又可以分为三类:数据总线,地址总线,控制总线。

    数据总线

    数据总线用来传输各功能部件之间的数据信息,他是一个双向的传输总线,其位数与机器字长,存储字长有关,一般为8位,16位或者32位。数据总线的位数成为数据总线的宽度,他是衡量系统性能的一个重要参数。

    地址总线

    地址总线主要用来指出数据总线上的源数据或者目的数据在主存储单元的地址或者I/O设备的地址。地址总线的数据用来指明CPU想要访问的存储单元或者I/O端口的地址,由CPU输出,单向传输。数据线的位数代表着系统能够寻址的空间大小,比如地址线宽为20那么地址空间为2的20次方。

    控制总线

    我们知道,数据总线和地址总线是被挂在总线上的所有设备所共享的,那么这些设备之间怎么协调使用呢?答案就是控制总线,依靠控制总线来完成共享总线的占用申请。控制总线是发出各种控制信号的,因此它的传输方向就是单向的。但是,通常对于CPU而言的话,控制总线是既有输入,又有输出的。常见的控制信号有:时钟,复位,总线占用请求等等。

    通讯总线

    这类总线用于计算机系统之间或计算机系统与其他系统之间的通讯,比如网络连接。这类通讯涉及许多方面,因此互相之间差别极大,传输的类别很多,但是总体可以分为两种:串行和并行。

    总线性能及指标

    总线的物理实现

    从物理角度看,总线有许多导线直接印在电路板上,延伸到各个部件,如下图显示了各个部件与总线之间的物理摆放位置:
    这里写图片描述
    图中的CPU,主存,I/O这些插板通过插头与水平方向总线插槽连接。因此,为了保证机械上的可靠连接,必须规定其机械特性;为了保证电气上的正确连接,必须规定其电气特性;为了保证正确地连接到不同部件,还需要规定其功能特性和时间特性。

    总线的特性

    机械特性

    指总线在机械连接方式的一些性能,如插头与插座的尺寸,形状,引脚个数以及排列方式等等。

    电气特性

    指总线的每一根传输线上的信号的传递方向和有效的电平范围。

    功能特性

    指总线中每个传输线的功能,确定其地址线,数据线,控制线。

    时间特性

    指总线中任何一根导线在什么时间内有效。每条总线上的各种信号互相存在一种有效的时序关系,因此时间特效一般可以使用信号时序图表示。

    总线性能指标

    总体上,衡量总线的性能指标如下:
    这里写图片描述

    总线标准

    总线式在计算机系统模块化的发展过程中产生的,随着计算机应用领域的不断扩大,计算机系统中的各类模块品种极其复杂,往往每一个模块都要配置一种总线。为了使系统设计简化,模块生成批量化,人们发明了很多总线的标准,只要计算机系统厂商和模块生产厂商统一遵守这些标准那么系统集成是很容易的。目前主要的总线标准,数据宽度,时钟,带宽如下:
    这里写图片描述

    总线结构

    总线结构整体可以分为单总线结构和多总线结构。

    单总线结构

    整体结构如下图:
    这里写图片描述
    这是最简单的一种结构,计算机的各个部件均系统总线相连,所以它又称为面向系统的单总线结构。在单总线结构中,CPU与主存之间、CPU与I/O设备之间、I/O设备与主存之间、各种设备之间都通过系统总线交换信息。单总线结构的优点是控制简单方便,扩充方便。但由于所有设备部件均挂在单一总线上,使这种结构只能分时工作,即同一时刻只能在两个设备之间传送数据,这就使系统总体数据传输的效率和速度受到限制,这是单总线结构的主要缺点。

    多总线结构

    双总线结构

    整体结构如下图:
    这里写图片描述
    这种结构的特点就是将速度较低的I/O设备从单总线上分离出来,形成主存总线和I/O总线分来的结构。图中的通道是一个具有特殊功能的处理器,CPU将一部分的功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存之间的数据传送,增大系统性能。但是这种结构的问题是:不是所有的I/O设备的工作速度都是一样的,不同速度的I/O放在一个总线工作会大大影响效率。

    三总线结构

    整体结构如下图:
    这里写图片描述
    这个结构为高速I/O设备建立了一个到达主存的高速通道,称为DMA(直接存储访问)总线。这个结构中同时只能有一个总线在使用,主存总线与DMA总线不能同时访问主存,I/O总线只有在CPU执行I/O指令时才能用到。

    三总线加强版

    下面是另外一种总线形式:
    这里写图片描述
    由图可见,处理器与cache之间有一个局部总线,它将CPU和cache或者更多地局部设备连接起来。Cache控制结构不仅将cache连接到局部总线上,而且还直接连接到系统总线上,这样cache就可以通过系统总线和主存交互,而且I/O设备与主存之间的交互也不必通过CPU。还有一条扩展总线,它将局域网,SCSI等接口连接起来,并且通过这些接口又可以与各类I/O设备连接,因此可以支持很多的外接设备。

    四总线结构

    为了进一步提高I/O设备的性能,使其更快地响应命令,又出现了四总线的结构,如下图:
    这里写图片描述
    这里又增加了一条与系统相连的高速总线,高速总线上挂了很多高速的I/O设备,他们通过cache控制机构中的高速总线桥或者高速缓冲器与系统总线和局部总线连接,使得这些高速设备和CPU更加密切。而一些较低速度的设备则放在了扩展总线上。这种结构对于高速设备而言,自身的工作可以很少依赖CPU,同时他们又比扩展总线上的设备更加靠近CPU,可见对于高性能设备与CPU来说,各自的效率将获得很大的提高。在这种结构中,CPU,高速总线的速度以及各自的信号线的定义可以完全不同,以至于各自改变结构也不会影响高速总线的正常工作。

    总线结构的几个例子

    传统微机总线结构

    这里写图片描述

    VL-BUS局部总线结构

    这里写图片描述

    PCI总线结构

    这里写图片描述

    多层PCI总线结构

    这里写图片描述

    总线控制

    由于总线上有很多的设备,什么时候由哪个设备占用总线发送信息,如何给信息发送定时,如何防止信息丢失,如何避免多个设备同时发送等等问题都需要总线控制器统一管理。它主要包括判优控制(或仲裁逻辑)和通讯控制。

    判优控制

    总线上的各类设备,按照其对总线有无控制权分为主设备和从设备。主设备有控制权,从设备没有,从设备只能响应从主设备发过来的命令。总线上的信息传送是由主设备发起的,如果某个主设备想和另一个从设备通讯时,首先由主设备发出总线控制请求,然后才能通讯。假如同时有多个主设备发起了总线控制请求,那么总线控制器就要按照一定的逻辑按照某个优先级顺序确定哪个主设备能够使用总线。
    常见的判优控制可以分类为:集中式和分布式,前者将控制逻辑集中在一起(比如在CPU中),后者将控制逻辑分散在与总线连接的各个部分或者设备上。下面我们简要介一下集中式的控制逻辑,通常来讲集控制逻辑分为以下三种。

    链式查询

    用3条控制线进行控制:
    BS(总线忙); BR(总线讲求); BG(总线允许).
    特征:将BG串行地从一部件(I/O接口)送到下一个部件,直到到达有请求的部件为止.
    优先权位置:离总线控制器最近的部件具有最高使用权,离它越远,优先权越低.
    电路:链式查询靠接口的优先权排队电路实现.
    逻辑如下图:
    这里写图片描述

    计数器定时查询

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

    独立请求方式

    每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi. 当设备要求使用总线时,便发出该设备的请求信号.总线控制器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BGi。它的优点是:响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询.
    其次,对优先次序的控制相当灵活,可以预先固定也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求.
    逻辑如下图:
    这里写图片描述

    三种方式的控制线数目比较

    链式查询方式——只用二根线.
    计数器定时查询方式——大致用㏒2n根线,n是允许接纳的最大部件数.
    独立请求方式——要用2n根线. ..

    通讯控制

    总线完成一次传输,分四个阶段:
    1. 总线裁决:决定哪个主控设备使用总线
    2. 寻址阶段:主控设备送出要访问的主存或设备的地址,同时送出有关命令(读或写等),启动从设备
    3. 数据传输阶段:主、从设备间进行数据交换
    4. 结束阶段:有关信息在总线上撤销,让出总线使用权
    总线通信控制的目的:
    解决主、从设备如何获知传输开始和传输结束,以及通信双方如何协调进行数据通信。
    有四种通信方式:
    这里写图片描述

    同步通讯

    控制线中有一个时钟信号线,挂接在总线上的所有设备都从这个公共的时钟线上获得定时信号,一定频率的时钟信号定义了等间隔的时间段,这个固定的时间段为一个时钟周期,也称总线周期。
    每种总线操作都有一个确定的通信协议(规定在每个时钟周期内交换哪些信息)。
    例如,在处理器-主存总线上执行存储器读操作,其协议为:在第1个时钟周期发送地址和存储器读命令,然后存储器被要求在第5个时钟将数据放到总线上。
    优点:速度快,并且接口逻辑很少(因为协议简单)。
    缺点:
    1. 总线上的每个设备必须以同样的时钟速率进行工作。
    2. 由于时钟偏移问题,同步总线不能很长.
    操作逻辑如下(读操作):
    这里写图片描述

    异步通讯

    非时钟定时,没有一个公共的时钟标准。因此,能够连接带宽范围很大的各种设备。总线能够加长而不用担心时钟偏移问题。
    采用握手协议(应答方式)。由一系列步骤组成,只有当双方都同意时,发送者或接收者才会进入到下一步,协议通过一对附加的“握手”信号线(Ready、Ack)来实现。
    异步通信有非互锁、半互锁和全互锁三种方式:
    这里写图片描述
    优点:灵活,可挂接各种具有不同工作速度的设备。
    缺点:
    1. 对噪声较敏感。
    2. 接口逻辑较复杂。

    半同步通讯

    为解决异步通信方式对噪声敏感的问题,一般在异步总线中引入时钟信号,就绪和应答等定时信号都在时钟的上升沿有效,这样信号的有效时间限制在时钟到达的时刻,而不受其他时间的信号干扰。这种通信方式称为半同步通信方式。(例如:Wait信号、TRDY和IRDY信号等)
    半同步方式结合了同步和异步的优点。既保持了“所有信号都由时钟定时”的特点,又允许“不同速度设备共存于总线“:
    这里写图片描述
    操作时序如下:
    这里写图片描述
    操作流程(读操作):
    这里写图片描述

    分离式通讯

    上面三个通讯方式的共同点是:
    这里写图片描述
    这里发现从设备准备数据的过程中总线式等待状态的,这个时候就是一种资源的浪费。因此我们要想办法把这部分利用起来。解决的办法就是分离式通讯:
    这里写图片描述
    •基本思想:将一个传输操作事务分成两个子过程。在第一个子过程中,主控设备A在获得总线使用权后,将请求的事务类型(即总线命令)、地址以及其他有关信息(如标识主控设备身份的编号等)发送到总线上,从设备B记录下这些信息。主控设备发完这些信息后便立即释放总线,这样其他设备便可使用总线。在第二个子过程中,从设备B收到主控设备A发来的信息后,就按照其请求的命令进行相应的操作,当准备好主控设备所需的数据后,从设备B便请求使用总线,一旦获得使用权,则从设备B就将主控设备A的编号及所需的数据等送到总线上,这样主控设备A便可接收数据。
    • 优点:提高整个系统的总有效带宽。
    缺点:控制相当复杂,开销大。
    分离式通讯的基本特点:
    这里写图片描述

    教材中的截图

    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

    展开全文
  • 现场总线技术与计算机控制 1 引言 在计算机控制系统出现以后,工程实践广泛使用模拟仪表系统中的传感器、变送器和执行机构。其信号传送一般采用4-20mA的电流信号形式,一个变送器或执行机构需要一对传输线来单向...
  • 本文采用计算机ISA、PCI总线和打印机接口设计加密电路。利用CPLD设计电路,具有加密性能好的特点。通过串行EEPROM AT93C46设计一个并行加密电路,密码存储电路器件。ISA总线直接对CPLD进行读取密码。PCI总线可以...
  • 计算机组成原理 系统总线

    千次阅读 多人点赞 2019-01-07 20:21:53
    文章目录1 总线的基本概念1.1 总线1.2 单总线结构1.3 面向CPU的双总线结构1.4 以存储器为中心的双总线结构2 总线的分类2.1 片内总线2.2 系统总线2.2.1 数据总线2.2.2 地址总线2.2.3 控制总线2.3 通信总线2.3.1 串行...
  • 目前计算机采用总线结构: 局部总线:连接CPU与Cache/桥。 系统总线:连接Cache/桥与主存。 高速总线:连接Cache/桥与高速设备。 扩展总线:连接扩展总线接口与低速设备,其中扩展总线接口连接高速总线上。 ...
  • I²c总线 I²c(Inter-IC)总线10多年前由Philips公司推出,是近年来微电子通信控制领域广泛采用的一种新型总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等...
  • 地址总线用来指定RAM之储存的数据的地址;数据总线用于CPU与RAM之间来回传送需要处理或是需要储存的数据。总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机...
  • 对系统总线在计算机硬件结构的地位和作用有所了解。 总线的基本概念 计算机系统的五大部件(运算器、存储器、控制器、输入、输出设备(I/O)之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一...
  • 计算机组成原理——总线系统 一、总线的概念: 总线是构成计算机系统放入互联机构,是多个...系统总线(板级总线):CPU同计算机系统的其他高速功能部件(如存储器、通道、cache)相互连接的总线。 I/O总线低速I/
  • 摘 要: 为了提高远程抄表系统数据传输速率,克服系统使用RS232给系统带来的速度瓶颈,引入usb总线,使用485/usb模块...一般抄表系统采用RS485总线,然后通过485/232模块与监控计算机连接,计算机通过串口轮巡采集电
  • 引言 目前,计算机机房的配电系统大都使用UPS,...本系统采用CAN总线进行数据的交互传递,很好地满足了系统可靠性、实时性及成本方面的要求。系统设计 本智能系统对机房内各路电源的电流、漏电流、零地电压、自动空气
  •  现代工业,PLC 之间或PLC 与计算机之间的通信联网应用日益广泛。PLC 的联网功能越来越强。以欧姆龙CP1、CJ1 和CS1 系列PLC 为例,配合使用各种模块,可以支持工业以太网、Controller Link 等现场总线通信联网...
  • 鉴于电子化计算机联锁系统运行状况必须满足安全、可靠以及具有较强的实时性能和纠错能力的要求,所以,本设计,我们采用CAN总线代替RS-485总线,从而使车站信号系统能满足国家铁路技术各项指标。  1、CAN总线...
  • 计算机组成原理 — 总线系统

    千次阅读 2019-07-25 19:27:08
    文章目录目录前文列表总线系统总线的分类总线的功能总线判优控制总线通信出错处理总线类型系统总线ISA、EISA 和 VESA 总线PCI 和 PCI-E 总线主板接口插槽示意图 前文列表 《计算机组成的基本硬件设备》 《计算机组成...
  •  目前,USB端口已成为微机主板的标准端口,利用USB总线技术,开发适用于科学研究和工业生产的各种仪器仪表设备,借以取代传统计算机测 控系统中采用的串行RS232、并行接口以及ISA或PCI总线的仪器仪表设备,不仅可使...
  • 鉴于电子化计算机联锁系统运行状况必须满足安全、可靠以及具有较强的实时性能和纠错能力的要求,所以,本设计,我们采用CAN总线代替RS-485总线,从而使车站信号系统能满足国家铁路技术各项指标。  1、CAN总线...
  • 引言  现代工业控制领域通常要测量很多信号,将其转化为计算机可以识别的二进制信号,并利用计算机监视和... 系统总体框图如图1所示,本系统采用主站+从站的结构,CAN主站主要实现温度数据的存储以及CAN总线协议和
  • 摘要:一种基于PCI总线的高速数据采集传输系统的实现,讨论了PCI总线控制器9054的性能及三种传输模式,提供了该系统的硬件实现和采用DMA传输方式实现数据传输的设计。  关键词:PCI总线 PCI 9054总线控制器 DMA  ...
  • 基于CPLD的机载计算机VME总线从方控制器设计 中国航空计算机技术研究所一室 阎稳 王东国 姜运生 机载计算机的几何结构一般采用高强度机箱和底板来连接各功能模块。底板总线类型大部分采用VME总线规范。VME总线是...
  • 引言  现代工业控制领域通常要测量很多信号,将其转化为计算机可以识别的二进制信号,并利用计算机监视和记录... 系统总体框图如图1所示,本系统采用主站+从站的结构,CAN主站主要实现温度数据的存储以及CAN总线协议
  • 作者:杨硕,华清远见... PCI提供了一组完整的总线接口规范,其目的是描述如何将计算机系统中的外围设备以一种结构化和可控化的方式连接一起,同时它还刻画了外围设备连接时的电气特性和行为规约,并且详细定义
  • 计算机组成原理》— 系统总线

    千次阅读 2017-05-29 10:43:03
    基本知识点:总线的基本概念;总线的分类;总线的组成及性能指标;总线的结构;总线的裁决(仲裁)方式,包括三种集中裁决方式;总线通信控制,包括同步通信、异步通信、半同步通信和分离式通信。 重 点:总线的...
  • 计算机组成原理之总线设计

    千次阅读 多人点赞 2021-05-26 11:07:49
    文章来源 cxuan 的自己公众号:计算机组成原理之总线设计 公众号很多硬核文章,跪求大家关注~~~ 下面开始正题。 我们知道,计算机是由五大部件组成的:运算器、...总线是将两个计算机或者多个功能单元连接一起并
  • 计算机总线

    千次阅读 2013-07-28 14:39:42
    总线是电脑传输数据的公共通道。 当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到
  • 计算机组成原理 第六章 总线系统

    千次阅读 2019-06-02 22:19:30
    第六章 总线系统 PS:这些是我自己的期末复习笔记,如果能帮到大家就很开心啦(〜㉨)〜。我要是有写的不对的,希望大家多...(2) 系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线。 (3...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,501
精华内容 23,800
关键字:

在计算机系统中采用总线