计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线

第三章 系统总线

3.1 总线的基本概念

前面的博客计算机组成原理(唐朔飞)–第一篇 概论中,我们提到冯诺依曼体系结构的机器,它是由五大部件构成,五大部件需要通过互连,实现通信。互联方式一般有两种。

  1. 分散连接:各部件之间单独用线连接。
  2. 总线连接:将各部件连接到一组公共信息传输线上。
    随着计算机领域的不断扩大,I/O设备的种类和数量不断增多,人们希望能随时增减I/O设备,而分散连接无法解决I/O与主机之间连接的灵活性,因此出现了总线连接方式。

下面介绍部分总线结构
单总线结构
计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第1张图片
该结构存在的问题:当I/O设备与主存通信占用总线,此时CPU只能暂时停止执行程序,因为CPU的指令和数据都是需要在主存中取出,而此时总线已被占用,因此该结构效率不高。所有信息传输都要通过总线,总线负担重。

以CPU为中心的双总线结构

计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第2张图片
与上面的结构相比,该结构采用在CPU与主存之间加上一条M总线的方法,提高了主存与CPU的信息传输效率,又减轻了总线的负担,解决了上述问题。
该结构存在的问题:当I/O设备需要和主存通信时必须要经过CPU,这样会影响CPU的工作效率。

以存储器为中心的双总线结构
计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第3张图片
这种双线结构既提高了CPU与主存间的传输效率,又减轻了总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点。

3.2 总线的分类

要给总线进行分类,首先的又不同的分类标准,按数据传输方式可以分为并行传输总线和串行传输总线。按数据传输宽度可以分为8位、16位、32位、64位等传输总线。
下面按照连接部件不同,详细介绍三类总线

3.2.1 片内总线

片内总线是指在芯片内部的总线,如CPU内部寄存器与寄存器之间是使用片内总线连接的。

3.2.2 系统总线

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

  1. 数据总线:用于传输各部件之间的数据信息,双向传输,位数与机器字长、存储字长有关。
  2. 地址总线:用于指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。单向传输,位数与存储单元的个数有关。
  3. 控制总线:用于发出各种控制信号,由于数据总线和地址总线被挂在总线上的所有部件共享,如何能使各部件在不同时刻占有总线使用权,需要依靠控制总线完成。通常对于任一控制线而言,是单向传输的,例如存储器的读/写命令,但是由于控制总线还能够监视各部件的状态,并将各部件的状态返回,CPU有输入有输出,因此我们也可以认为控制总线是双向传输。

3.2.3 通信总线

这类总线用于计算机系统之间或计算机与其他系统之间的通信,按传输方式可分为两种:串行通信和并行通信。

3.3 总线特性及性能指标

3.3.1 总线特性

为确保机械上的可靠连接,我们需要规定其机械特性。为确保电气上的正确连接,必须规定其电气特性。为保证正确地连接不同部件,还需规定其功能特性和时间特性。
下面我们分别介绍这些特性:

  • 机械特性:指机械连接方式的特性,如插头与插座的使用标准,几何尺寸、形状、引脚个数、排列顺序。
  • 电气特性:指总线传输信号的传输方向和有效电平范围。如什么范围为高电平,高电平定义为1。输入CPU的为输入信号,输出CPU的为输出信号。
  • 功能特性:指每根传输线的功能。
  • 时间特性:总线中的任一根线在什么时间内有效。

3.3.2 总线性能指标

  1. 总线宽度:指数据总线的根数。
  2. 总线带宽:总线的数据传输速率。每秒传输的字节数,单位MBps兆字节每秒。
  3. 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的称为异步总线。
  4. 总线复用:一条信号线上分时传两种信号。
  5. 信号线数:地址、数据、控制总线三种总线数的总和。
  6. 总线控制方式:突发工作、自动配置、仲裁方式、逻辑方式、计数方式等。

3.3.3 总线标准

随着计算机领域的不断扩大,计算机系统中各类模块品种及其复杂,往往一种模块要配一种总线,很难在总线上更换、组合各类模块或设备。我们需要一个标准来解决系统、模块、总线、设备间不适应、不匹配、不通用的问题。
因此出现了总线标准,总线标准可视为系统与各模块之间的一个互连的标准界面。界面的任一方只需要根据总线标准完成自身一方接口的功能要求,无需了解对方接口与总线的连接要求。总线标准为计算机接口的软硬件设计提供方便,对硬件而言,各个模块的接口芯片设计相对独立;对软件设计而言,更有利于接口软件的模块化设计。

3.4 总线结构

总线结构分为单总线结构和多总线结构。

3.4.1 单总线结构

在前面总线的基本概念介绍过不再累述。只补充一点,单总线多数被用于小型计算机或微型计算机。

3.4.2 多总线结构

双总线结构:
计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第4张图片
特点是将速度较低的I/O设备从单总线上分离开,形成主存总线和I/O总线,其中,为实现I/O设备与CPU、主存的通信,使用了通道这一具有特殊功能的处理器,CPU将一部分功能下放给通道,使通道有自己的控制器有自己的指令系统,能执行自己的通道程序,使其对I/O设备有统一的管理。这种结构多用于大、中型计算机系统。

三总线结构:
计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第5张图片
主存总线用于CPU和主存之间的传输,I/O总线供CPU和各类I/O设备的传输,DMA总线用于主存和高速I/O设备的传输,任一时刻只能使用一种总线,主存总线和DMA总线不能同时对主存进行存取。

另一种三总线结构:
计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第6张图片
局部总线将CPU和Cache相连,Cache与主存通过系统总线相连,I/O设备与主存之间的传输不用通过CPU。还有一条扩展总线,上面连接着各种扩展接口,通过各种扩展接口又可与I/O设备连接在一起,系统总线又与扩展总线通过扩展总线接口相连,实现了两总线之间的信息交互。

四总线结构
计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第7张图片
相较于前面的三总线结构,这种结构从Cache中分离出了高速总线,将高速I/O设备与低速I/O设备分离开,高速I/O设备与CPU的联系更紧密,而较低速的I/O设备用扩展总线通过扩展总线接口与高速总线相连。

3.4.3 总线结构举例

  1. 传统微型计算机的总线结构
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第8张图片
    这种连接方式并没有把高速I/O设备和低速I/O设备分离开,会出现总线数据传输的瓶颈。只有将高速设备尽量靠近CPU本身的总线,并与CPU同步或者准同步,才可消除瓶颈问题。
  2. VL-BUS局部总线的结构
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第9张图片
    图中我们可以看到基本结构和传统微型计算机的总线结构相似,但它用VL-BUS总线连接了高速的I/O设备,再通过标准总线控制器连接低速I/O设备。
  3. PCI总线结构
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第10张图片
    因为VL-BUS很难支持功能更强的CPU,因此出现了PCI总线,该结构与VL-BUS局部总线的结构类似。
  4. 多层PCI总线结构
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第11张图片
    当PCI总线驱动能力不足时,可以采用多层结构。

3.5 总线控制

3.5.1 总线的判优控制

总线上连接的设备按照其对总线有无控制能力可以分为主设备和从设备。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令。如果多个主设备要使用总线,就由总线控制器的判优、仲裁逻辑按一定的优先顺序来确定哪个主设备来使用总线,获得总线使用权的主设备才能开始传送数据。
总线判优控制可分为集中式和分布式,前者将控制逻辑集中在一处,后者将控制逻辑分散在与总线连接的各个部件或设备上。
集中的仲裁方式有三种:

  1. 链式查询
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第12张图片
    总线同意信号BG是串行地从一个I/O接口送到下一个I/O接口,当BG到达的接口有总线请求BR,BG信号就不再往下传,意味着该接口获得了总线使用权,并建立总线忙的BR信号,表示它占用了总线。因此离总线近的设备具有较高的优先级。优点是只需要几根线就能按照优先次序实现总线控制,并且很容易扩充设备,缺点是对电路故障很敏感,且级别低的设备可能很难获得请求。

  2. 计数器定时查询
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第13张图片
    计数器定时查询的方式,与前面一种方式相比多了一组设备地址线,少了一条总线同意线BG。设备通过BR向总线控制部件发送请求,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号,当某个请求占用的地址与发送的地址信号相同时,该设备获得总线使用权,计数器停止计数。优点是,通过计数的方式确定优先级较为灵活。缺点是增加了控制线数,控制复杂。

  3. 独立请求方式
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第14张图片
    当设备要求使用总线时,便发出该设备的请求信号,总线控制部件内部有一排队电路,可根据优先次序确定响应哪一台设备的请求。优点是响应速度快,优先次序灵活。缺点是控制线数量多,总线控制复杂。

3.5.2 总线的通信控制

目的是解决通信双方协调配合问题

  • 申请分配阶段:主模块申请,总线进行仲裁决定。
  • 寻址阶段:主模块给出地址和命令,启动参与本次传输的从模块。
  • 传数阶段:主模块和从模块交换数据。
  • 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

总线通信的四种方式

  • 同步通信:由时标控制数据的传送,时标由CPU的总线控制部件发出,或由各部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号来对它们进行同步。
    同步式数据输入传输:
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第15张图片
    上图是同步式数据输入传输,CPU在T1上升沿发出地址信息,在T2上升沿发出读命令,与地址信号相符合的输入设备按命令进行一系列的内部操作,在T3上升沿之前将CPU所需数据送到数据总线上,CPU在T3时钟周期内,将数据线上的信息送到内部寄存器中,CPU在T4上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。
    同步式数据输出传输:
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第16张图片
    整理一下:
    对于读命令
    T1:主模块发地址。
    T2:主模块发送读命令。
    T3:从模块提供数据。
    T4:主模块撤销读命令,从模块撤销数据。
    对于写命令
    T1:主模块发地址。
    T1.5:主模块提供数据。
    T2:主模块发送写命令,从模块将数据总线上的数据写到地址总线指明的单元中。
    T4:主模块撤销写命令、数据。
    缺点:对于不同速度的部件而言,必须按最慢的部件来设计公共时钟,影响总线工作效率。
    优点:同步通信一般用于总线长度短、各部件存取时间较一致的场合。
  • 异步通信:没有公共的时钟标准,允许各模块速度不一致,采用应答方式通信。
    应答方式又分为不互锁、半互锁、全互锁
  1. 不互锁:主模块向从模块发送请求信号,一段时间后,不论是否接收到从模块的回答,自动撤销请求信号。从模块接收到请求信号后,执行操作,条件允许的情况下发出回答信号,一段时间后,不论从模块是否接收到主模块的回答,都会取消回答信号。
  2. 半互锁:主模块发送请求信号后,必须接收到从模块的回答信号后再撤销。而从模块在接收到请求信号后发送应答信号,不必知道主模块是否接收到应答信号,一段时间后自动撤销从模块的应答信号。
  3. 全互锁:主模块发出请求信号,必须接收到从模块的回答信号后再撤销,从模块在接收到请求信号后发送应答信号,必须获知主模块的请求信号已撤销,才会撤销应答信号。
  • 半同步通信:
    计算机组成原理(唐朔飞)--第二篇 计算机系统的硬件结构之系统总线_第17张图片
    以输入数据为例
    T1:主模块发送地址。
    T2:主模块发送读命令。
    Tw:WAIT为低电平时,等待一个T。
    T3:从模块提供数据。
    T4:主模块撤销读命令,从模块撤销数据。
  • 分离式通信:
    除了申请总线这一阶段外,总线使用的其余时间主要花费在三个方面
  1. 主模块通过传输总线向从模块发送地址和读写命令。
  2. 从模块准备数据。
  3. 从模块向数据总线提供数据。
    其中2是没有占用总线资源的,为了充分挖掘总线每个瞬间的潜力,我们把总线的传输周期变为两个子周期,子周期1:主模块申请占用总线,使用完后,放弃对总线的使用权。子周期2:从模块申请占用总线,向总线上传输数据。

你可能感兴趣的:(计算机组成原理,计算机组成原理,唐朔飞,系统总线)