ITPub博客

首页 > 数据库 > 数据库开发技术 > 每日阅读之计算机系统总线

每日阅读之计算机系统总线

原创 数据库开发技术 作者:DevXTalk 时间:2020-03-16 20:04:19 0 删除 编辑


总线的基本概念


总线是连接各个部件的信息传输线, 是各个部件共享的传输介质。计算机中的各个设备都可以连接在总线上。如果所有的设备都连接在一条总线上,那么就会导致总线非常繁忙。在任何一个时刻只能有一对设备使用总线。

总线上信息的传输方式有串行和并行。

串行,数据是一位一位的发送和接收。  


并行,多位数据同时传输和接收。需要多条数据线进行传输,如果传输距离过长数据线平行在线和线之间会产生干扰,导致数据出错,所以并行方式适用于短距离。串行传输不存在这个问题。



单总线结构计算机

计算机中所有的设备都被连接在这一条总线上,但是同一时刻只能有一对设备使用总线进行通信,这就导致其他需要使用总线的设备必须等待。这种结构对总线的争用频繁,这时候总线成了计算机性能瓶颈。

面向 CPU 的双总线结构

M 总线专门为 CPU 和 内存提供服务。因为 CPU 和内存之间存在这频繁的数据交换。但是这种结构的问题在于内存和其他设备之间是没有总线可以使用的,只能是通过 CPU 进行信息传输。这样就影响了 CPU 的执行。

以内存为中心的双总线结构




总线的分类

根据总线位置进行分类:
1.片内总线 —— 芯片内部的总线。
2.系统总线 —— 计算机各个部件之间的信息传输。

根据传输数据类型进行分类:

1.数据总线 —— 双向 ,于机器字长、存储字长有关。
2.地址总线 —— 单向, 于存储地址,I/O 地址有关。
3.控制总线 —— 有出,有入。

通信总线 —— 用于计算机之间或者和其他设备之间进行通信。传输方式有串行和并行。



总线的特性和性能指标



总线是印刷在计算机主板上的,总线会预留出接口让其他设备接入总线。
总线的特性:

1.机械特性:尺寸、形状、管脚数、排列顺序。

2.电气特性:传输方向、有效的电平范围(比如高电平表示1,低电平表示0 ,那么什么样的电压范围是高电平,低电平)。

3.功能特性:每根线上传输的信号是什么信号,数据信号、地址信号、控制信号、状态反馈信号。

4.时间特性:信号的时序关系。

总线的性能指标:

1. 总线的宽度:数据线的根数,也就是同时可以传输多少位数据。
2. 标准传输率:每秒传输的最大字节数(MBps)
3 .时钟同步/异步:同步、不同步。
4. 总线复用: 地址总线和数据总线共用。
5. 信号线数:    地址线、数据线、控制线的总和。
6. 总线控制方式:    突发、自动、仲裁、逻辑、计数。
7. 其他指标:    负载能力(这条总线上可以挂载多少个设备)。




总线的标准

以 ISA 举例, 8MHz 表示每秒钟可以传输 8M 次,每次可以传输 2-byte ,这样就可以计算出带宽为 16MBps 。




总线结构



DMA (Direct Memory Access)三总线结构

局部总线三总线结构: CPU 运行速度很快,但是内存速度很慢,所以把内存中的数据放在 Cache 中,对 Cache 进行读写。

4 总线结构:高速设备和低速设备分别使用不同的总线。

总线结构举例:



VL-BUS 局部总线结构:


PCI 总线结构:


多层 PCI 总线结构:




总线的控制

总线的判优控制:

主设备:对总线有控制权力,可以提出总线的占用申请。
从设备:本身不能提出总线的占用申请,响应从主设备发来的总线指令。

集中式:将总线的判优逻辑做在一个部件上,比如说 CPU。
分布式:将判优逻辑分布在各个设备上。



链式查询方式

链式查询方式的特点在 BG 这条线上。从图中可以看出,BG 线是一个设备一个设备的挨个进行查询。假设现在由接口 n 发起了总线占用请求,由于总线占用请求是都是通过 BR 线传送到总线控制部件,所以总线控制部件不知道是哪一个设备要占用总线,于是就通过 BG 线逐个查询。顺序查询到排在前面的申请占用总线设备就停止继续查找,也就是上图中的接口 1 。设备占用总线的优先级是由 BG 的查询顺序决定的。这种方式的缺点是对电路故障十分敏感,如果某一个设备的电路出现故障导致查询信号无法继续向下传递。优点是结构简单,增加减少设备比较容易。


 计数器定时查询方式

这种方式中是通过设备地址线来查询设备是否发起了总线占用请求。总线判优部件中有一个计数器,如果有一个设备想要占用总线,首先通过 BR 发送总线占用请求。总线控制器接收到占用请求后,在能够响应的情况下,可以让出总线使用权的情况下,就会启动这个计数器,将计数器的值通过设备地址这条线向外输出。假设计数器的值是0,那么就对接口 0 进行查询,看看该设备是否提出了总线占用请求,如果没有就将计数器加1,然后对接口1的设备进行判断。这种方式的优点是非常灵活,通过操纵计数器就可以很灵活的指定优先级。缺点是设备地址线的宽度和设备数量有关,设备越多线的宽度就需要越大。

独立请求方式


这种方式确定那个设备可以占用总线的速度更快。每个设备都增加了自己独立的 BR 和 BG 线。优先级的排队是在总线控制部件内部的排队器进行的。


总线的通信控制:总线的通信控制解决了通信双方的协调配合问题。
总线的传输周期: 指的占用总线的主设备和从设备完成一次完整的可靠的通信所占用的时间。


总线通信的 4 种方式:


同步式数据输入,这种方式的特点在定宽定距的时钟来控制整个数据传输过程,在固定的时间点上要完成相对应的操作。

T1 时钟的上升沿 —— 必须要给出地址(从设备的地址)信号,这个地址信号是主设备给出的。
T2 时钟周期上升沿 —— 必须给出读指令信号,告诉从设备 CPU 要从从设备读取数据。
T3 时钟周期上升沿到达之前 —— 从设备必须要给出数据信号。
T4 时钟周期上升沿 —— 数据信号和控制信号撤销。
T4 时钟周期结束 —— 地址信号撤销。

同步式数据输出与同步式数据输入过程类似。
 

异步通信

不互锁。这种方式是没有保障的,接收方和发送方都不对通信的可靠性做保障。

半互锁。主设备发出请求,送设备接受到请求后发出应答信号,主设备接受到应答信号后再撤销这个请求。如果接收不到这个请求会保持。这种方式中对于应答信号是没有保障的。这种方式有可能会造成请求信号一直保持高电平。

全互锁。这种方式对消息的可靠性是有保障的。


半同步通信(同步,异步结合)

同步: 有一个定宽定距的时钟来管理整个通信过程。发送方用时钟前沿来发送信号,接收方用时钟后沿判断识别信号。

异步: 并不要求两个设备要以相同的速度进行工作,允许不同速度的设备之间进行工作,为了调节两个设备之间的速度差异,增加了一条等待信号(WAIT)。 WAIT 信号由从设备给出。


以输入数据为例的半同步通信时序



上述三种通信的共同点,以一个总线传输周期(输入数据为例):
主模块发地址,指令,占用总线。
从模块准备数据,不占用总线,此时总线空闲。(造成了资源浪费)
从模块向主模块发送数据,占用总线。


分离式通信。这种方式可以充分挖掘总线在每个瞬间的能力。

谁发起了总线占用请求谁就是主模块。分离式通信的特点是:
  1. 各模块都有申请占用总线的权力。
  2. 采用同步方式通信,不等对方回答。
  3. 各模块准备数据时,不占用总线。
  4. 总线被占用时无空闲。






原文作者:DevXTalk;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-03-23

  • 博文量
    178
  • 访问量
    82581