Bonky
Neither believe nor reject anything, because any other person has rejected or believed it. Heaven has given you a mind for judging truth and error, Use it.
By Thomas Jefferson

计算机组成 – 总线

基本概念

总线结构的计算机

面向 CPU 的双总线结构

主存和 CPU 有一条单独的总线,然后其它 I/O 设备都连在同一根总线上。

image-20191203085952945

单总线结构

所有设备都连在同一根总线上。

image-20191203090140342

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

image-20191203090241331

总线

image-20191203091435255

分类

  • 片内总线:芯片内部的总线。
  • 系统总线:计算机各部件之间的信息传输线。包括 数据总线地址总线控制总线。(有些计算机数据线和地址线复用)
  • 通信总线:主要有分为串行和并行的总线。

性能指标

  • 总线宽度:也就是总线一次能传输的位数
  • 总线带宽: 单位时间总线传输的位数。计算方法:总线工作频率 x 总线的宽度
  • 总线复用
  • 信号线数:地址线、数据线和控制线的总和。

总线结构

单总线结构

所有设备都连在同一根总线上。

image-20191203093345464

双总线结构

就是所有的 I/O 设备都通过一个通道和主存的总线相连。通道可以理解为一个控制器。

image-20191203101047090

三总线结构

现在设备可以通过 DMA 直接与主存相连,而无需占用 CPU 和主存之间的数据传输总线。

image-20191203101656907

下面是三总线的另外一种形式,主存和CPU也没有直接的连接,而是通过 Cache 进行连接:

image-20191203101922959

四总线结构

将高速的拓展设备与低速的分开,减少了低速设备对资源的浪费。

image-20191203103358497

总线判优控制(总线仲裁)

基本概念

  • 主设备:对总线具有控制权的设备
  • 从设备:响应从主设备发来的总线命令
  • 总线仲裁:选择一个设备优先获得总线控制权。主要有两类总线仲裁方式:集中仲裁方式和分布仲裁方式。

集中仲裁方式

链式查询方式

在链式查询中,总线上的所有部件共用一根总线请求线,当需要使用总线时,发送请求到总线控制器。由总线控制器检查总线是否忙,若总线不忙,则立即发总线响应信号,经总线同意线(BG)串行地从一个部件送到下一个部件,依次查询。若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件:

image-20191203114225745

链式査询优先级判别方式:离总线控制器越近的部件,其优先级越高;离总线控制器越远的部件,其优先级越低

链式查询的优点:只需要 3 根控制线就能按一定的优先级实现总线控制,结构简单,易扩充。

链式査询的缺点:

  • 对硬件电路的故障敏感。如果一个设备的接口电路有故障,则在他后面的设备以后的设备都不能进行工作。
  • 当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。

计数器定时查询方式

在计数器查询优先级判别方式中,当总线控制器收到总线请求信号而总线不忙时,计数器开始计数,计数值通过一组地址线发向各个部件。当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权。同时,终止计数器的计数及查询工作。

计数器主要有两种计数方式:

  • 计数器每次判优都从0开始,这种其实和链式查询差不多(但不过避免了故障的影响)
  • 计数器也可以从上一次的终点开始计数,即是一种循环方法,此时所有设备使用总线的优先级相等。

image-20191203114830145

计数器查询方式的优点:各设备的优先级顺序可以改变,且对电路的故障不如链式查询方式敏感。

计数器査询方式的缺点:增加了控制线数,少了一根总线同意线,多了 logn 根设备地址线(因为要寻址 n 个设备要 logn 的线来编址),控制也比链式查询复杂。

独立请求方式

在独立请求优先级判别方式中,当需要使用总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队(总线控制部件中有一个排队器)。当总线控制器按一定的优先顺序决定批准某个部件的请求时,则给该部件发送总线响应信号,该部件接到此信号就获得了总线使用权,开始传输数据。

image-20191203115803997

独立请求方式的优点:响应时间很快(以增加控制线数为代价),对优先级顺序的控制相当灵活(也可通过程序来改变)。

独立请求方式的缺点:控制线数量多(n 个设备需要 2n 根控制线),总线控制更复杂。

分布仲裁方式

分布仲裁方式不需要中央仲裁器,每个主模块都有自己的仲裁号和仲裁器,多个仲裁器竞争使用总线。当它们有总线请求时,把它们各自唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较。若仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。

总线通信控制

总线通信控制的目的是为了解决通信双方协调配合问题(比如:什么时候开始,什么时候结束,如何配合)。

总线传输周期

  • 申请分配阶段:主模块申请,总线仲裁决定
  • 寻址阶段:主模块向从模块给出地址和命令
  • 传数阶段:主模块和从模块交换数据
  • 结朿阶段:主模块撤消有关信息

总线通信的方式

有同步通信,异步通信,半同步通信,分离式通信

同步通信

即系统采用一个统一的时钟信号来协调发送和接收双方的传送。

时钟信号通常由 CPU 的总线控制器部件发出,然后送到总线上的所有部件。注意:不管是输入还是输出,地址信号一定是全程陪伴。

下面的是读命令:

image-20191203135859718

下面的是写命令:

image-20191203144921274

异步通信

image-20191203150338822

  • 不互锁方式:其实就是想发就发,发完就释放。
  • 半互锁方式:发完之后还要确认对方收到了,自己才能释放。
  • 全互锁方式:发送方和接收方都需要互相确认才能释放。

总线标准

系统总线:ISA,EISA,VESA,PCI,PCIe

设备总线:IDE,AGP,USB,SATA

Share

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注