系统总线和具有基本输入输出功能的总线接口实验_计算机组成原理学习笔记(二):系统总线...

第二章 系统总线

2.1 总线概述

2.1.1 总线的基本概念

采用总线的原因
  1. 用总线连接代替分散连接,线路更简单,成本更低
  2. 采用同一总线标准,使电路规模更易扩展
总线概念

总线是

equation?tex=key%5E%7B%281%29%7D连接多个部件的信息传输线,是各部件共享的传输介质。总线由
equation?tex=key%5E%7B%282%29%7D许多传输线或通道构成,每条线可以
equation?tex=key%5E%7B%283%29%7D传送一个二进制位。
总线特点

总线上有超过一个信息接收部件,且在任一时刻,只允许有一个部件向总线发送信息。

  • 一个人说多个人听
常见总线分类

片内总线、系统总线、通讯总线

2.1.2 系统总线

概念

系统总线主要指处理器与主存、I/O设备等部件之间的信息传输线

三总线结构

数据总线(DB)、地址总线(AB)、控制总线(CB)

f9c0ffafe8881b88849d596381e56852.png
数据总线
  • 数据总线的位数称为数据总线宽度,即为机器位数,与机器字长、计算机位数、数据总线宽度、存储字宽度、寄存器长度均相同。
  • 数据总线是双向传输的总线。可读可写。

ec233c2e4b1c9de3848c7b777eb46ac4.png
地址总线
  • 地址总线用来标识主存或 I/O 设备上存储单元的位置
  • 地址总线是单向总线。总是由 CPU 发出,标识存储器上的一个地址。

18757fc95fe9f3ad881c524a4a6be07e.png
  • 地址总线的位数与存储单元的个数有关,与存储单元的二进制位长度无关。如地址总线有
    equation?tex=n 条,则最多可以寻址到
    equation?tex=2%5En 个存储单元。
控制总线
  • 控制总线是用来发出各种控制信号的传输线。
  • 单一控制线通常是单向的,但控制总线总体来说是双向总线。
    • 写、读信号线均为单向,但组合成的控制线是双向的
  • 典型控制线有复位、时钟、中断相关、总线请求、存储器读写、I/O 读写、忙闲检测等。可以说,在计算机中,除了数据总线和地址总线之外的其他所有信号线均属于控制总线。

0b266555570160d366c7797d8f7da779.png
典型系统总线结构

DMA 总线:

  • 没有 DMA 总线时,设备向主存传输数据,需要通过 I/O 总线到CPU,再到达主存。这个过程中,CPU不得不停下来处理I/O,因此非常浪费资源。
  • 因此专门建立一条 DMA 总线(直接存储器存取),通过硬件方式进行数据块传输,不再需要 CPU 的过多干预。

DMA 控制器工作过程:

  • CPU 通知 DMA 控制器,你到哪一个外设的什么位置去取多长的一个数据块,然后把它送到内存的什么位置。

6d3fd28414b80ccab2abf1c22e89b4ea.png

2.2 总线结构

2.2.1 单总线结构

I/O设备与主存交换信息原则上不会影响CPU,便于提高CPU效率。但是,所有部件连到单一总线,提高冲突率,影响整机性能。(PDP-11、DJS183)

优缺点:结构简单、便于扩充、传输速率低、容易形成瓶颈。

ce5b017ff3cf8d4d09c61609d59a770a.png

2.2.2 双总线结构

双总线结构

将速度较低的设备从主存总线上分离出来,形成主存总线与I/O总线分开的结构。通道是一个具有特殊功能的处理器,负责对I/O统一管理。

09a4724cc6a20ab69d0c92ab20f9d2e8.png
面向 CPU 的双总线结构

M 总线:存储总线
I/O 总线:输入输出总线

d5e7e0e8963440ec1890e7dee7ceb166.png

优点:增加I/O设备方便
缺点:I/O设备与主存交换信息需要通过CPU,会影响CPU效率

面向存储器的双总线结构

增加CPU和主存之间专用的存储总线,提高传输速度,减轻系统总线负担,保留了主存与I/O直接交换信息的特点。

39b2de2c3498d975f7b0994f68795027.png

2.2.3 三总线结构

三总线结构 1

主存总线用于 CPU 和主存交换信息,I/O总线用于CPU和I/O设备间传送信息,DMA总线负责在主存和I/O设备间直接传递信息。

6384e499276fe8cf806e6722ab6287cd.png
三总线结构 2

处理器采用局部总线连到 cache,再利用系统总线连接主存,通过扩展总线接口连接其他接口。

d59ffefc32a049f7811c24970b6f65a3.png

2.2.4 四总线结构

系统把设备总线分成两个层次,高速设备连接高速总线,低速设备连接扩展总线,各总线直接由桥连接。

b2de9d2a2bcc64084e73d591976153a7.png

2.3 总线标准

2.3.1 概念

总线标准,即系统与模块、模块与模块之间的一个互连的标准界面,能够隐藏符合标准的部件内部的操作细节。

cc871a0fe9fb220292d7a54f2d03cef3.png

模块、系统之间无需知道对方的实现细节。

2.3.2 常见总线标准

  • ISA/AT 总线
  • EISA 总线
  • VESA(VL-BUS)总线
  • PCI 总线
  • AGP 总线
  • RS-232C 总线
  • USB 总线

2.4 总线分类

2.4.1 片内总线

芯片内部总线,例如运算器和 cache 之间的总线。

851071f170d28f2546809cbc9e70ae5c.png

2.4.2 系统总线

系统总线也称为板级总线。处理器与主存、I/O等部件之间的信息传输线。

系统总线中常见的==三总线结构==:数据总线、地址总线、控制总线

2.4.3 通信总线

概念

计算机系统之间,或计算机与其他设备之间的信息传输线。

特点

类别繁杂,连接规格、传输距离、速度、工作模式各不相同。传输速度和距离成反比。

串行通信
  • 数据在单条 1 位宽的传输线上一位一位按顺序依次传送。
  • 适宜远距离数据传送,可从几米到几千千米,成本低。
并行通信
  • 数据在多条 1 位宽的传输线上并行传送,同时由源传送到目的地。
  • 适宜近距离的数据传送,通常小于 30 米。
  • 短距离低时钟频率情况下,传输速度远快于串行方式。

2.5 总线特性及性能指标

2.5.1 总线物理实现

33b8407560db181161e0b618878f92f3.png

2.5.2 总线特性

机械特性

物理尺寸、插头形状、管脚数、排列顺序

电气特性

信号线的电平范围。逻辑 “1”,逻辑 “0”。

TTL电平、CMOS电平、RS-232C

功能特性

每根传输线的功能:数据、地址、控制

时间特性

信号的前后时序关系。

2.5.3 总线性能指标

  • 总线宽度:数据线宽度
  • 总线带宽:数据传输速率
  • 时钟同步方式:同步、异步
  • 总线复用:地址、数据、控制线复用
  • 信号线数:三总线所有信号线总数
  • 总线控制方式:突发工作、仲裁方式
  • 其他指标:带载能力、电源电压

2.6 总线判优逻辑

2.6.1 基础概念

总线事务

在总线上一对设备之间的一次信息交换过程,称为一个 “总线事务”。

总线事务一般包括地址阶段和数据阶段。

主设备

对总线有控制权,可以发起总线事务的设备。

从设备

只能响应总线上命令的设备。

典型的总线事务
  1. 存储器的读写
  2. I/O读写
  3. 中断响应
突发传送事务

一个地址阶段和多个数据阶段。

  • 给定 1 个地址,让 10 个元素从该地址往后依次排列,即可实现 1 个地址,存入 10 个数据。

2.6.2 总线判优

概念

当多个主设备同时申请使用总线时,总线判优逻辑电路按照一定的优先级顺序来确定哪个主设备可以使用总线。

总线判优的三个因素
  1. 等级性
  • 各设备应该有优先级

2. 公平性

  • 不能有设备饿死

3. 响应速度

  • 设备提出总线需求时,应尽快给予满足
判优逻辑分类
  1. 分布式
  • 总线判优逻辑分散在各个设备的接口电路中
  • 包括:自举分布式、冲突检测分布式、并行竞争分布式

2. 集中式

  • 总线判优逻辑是集中在一起的,一般在CPU内部
  • 包括:链式查询、计数器定时查询、独立请求方式

2.6.3 链式查询方式

  • 左边总线控制部件为总线判优逻辑
  • BS:总线忙
  • BR:总线请求
  • BG:总线同意

e3f708b40e2b0b1082307acb458b9ad9.png
工作流程

优先选择靠前的接口,优先级为距离。

  1. 申请总线,BR = 1
  2. 逻辑部件依次向后传递 BG 信号,若发现其中一个接口申请了总线,则令其获得总线
  3. 接口获取总线后不再向后传递BG信号,设置BS = 1
特点
  1. 自动支持优先级
  2. 连接简单,易于扩充设备
  3. 对电路故障非常敏感,优先级低的设备获得总线难度很大
  • 若0号设备故障,则BG信号无法向后传递

2.6.4 计数器定时查询方式

用计数器来进行挨个查询,放弃了原有的BG信号,但优先级仍为距离。

04d9064d1a8b1f3d1849858e1c3a6158.png
工作流程
  1. 申请总线,BR = 1
  2. 逻辑部件开启计数器,从0开始递增。例如当计数器数值为2时,就在总线上查询2号设备,如果2号设备发出了请求,则得到总线。
  3. 接口获取总线后将设置BS = 1,之后再次请求需要重新从0开始计数。
特点
  1. 对故障不敏感
  2. 增加了设备地址线,增加了控制的复杂性。设备地址线的数量为
    equation?tex=log_2n

2.6.5 独立请求方式

放弃 I/O 总线,将设备统一连到总线控制部件上。

2349d70540cd24de81f81e97c393e8ea.png
工作过程
  1. 申请总线,BR = 1
  2. 控制部件收到 BR 请求后,放入内部的排队器中进行排序,将优先级最高设备的 BG 设为 1。
特点
  1. 响应速度快
  2. 优先级次序控制灵活
  3. 控制线数目太多,达到了
    equation?tex=2%2An 条线。

2.7 总线的通信控制

2.7.1 总线四种通信方式

  1. 同步通信:发送时钟信号来同步数据传送
  • A把苹果给B,A拍一下B,B就拿走苹果,"拍一下" 就是一个时钟信号

2. 异步通信:没有时钟,采用握手信号同步

  • A把苹果给B,不断询问B是否可以拿苹果,是否吃完了苹果等问题

3. 半同步通信:同步、异步结合,插入等待周期

4. 分离式通信:传输周期划分为功能独立的子周期

2.7.2 同步通信

同步读

ea807d6164829a8b305a14849a7841cf.png

命令均在时钟周期上升沿发出。

  1. equation?tex=T_1 周期:CPU发出读地址。
  2. equation?tex=T_2 周期:CPU发出读命令。有了地址与读命令后,内存开始内部寻址找到数据。
  3. equation?tex=T_3 周期:内存将数据准备好放到了数据总线上。CPU到数据总线上读走数据。
  4. equation?tex=T_4 周期:内存撤销数据总线上信号,CPU撤销读信号,但为了保证数据传输过程准确无误,地址信息多保留一个周期。
同步写

e8260e1a56bd2074a13c100b2b55843d.png
  1. equation?tex=T_1 周期:上升沿CPU发出读地址,下降沿CPU将数据送到数据总线上。
  2. equation?tex=T_2 周期:上升沿CPU发出写命令。
  3. equation?tex=T_3 周期:在
    equation?tex=T_2
    equation?tex=T_3 周期,内存将数据写入内存单元。
  4. equation?tex=T_4 周期:上升沿撤销数据信号(数据总线)与写命令(控制总线)。为了保证数据能够完整写入内存中,地址总线上地址信号总要多保留一个时钟周期。

2.7.3 异步通信

56f636dc6544d9a2fdebb9204eecec6d.png
不互锁

过程:

  1. 主模块发出信号,经过一段时间即撤销,不等待接收从模块信号
  2. 从模块收到请求信号,向主模块发出应答信号,经过一段时间即撤销

特点:

  1. 双方均不存在互锁关系
  2. 适用于非常可靠的通信场合中,如 I/O 通信。
半互锁

过程:

  1. 主模块发出信号,必须等收到从模块应答后才撤销
  2. 从模块收到请求信号,向主模块发出应答信号,经过一段时间即撤销

特点:

  1. 主模块具有互锁关系,从模块不具有
  2. 适用于共享内存。
全互锁

过程:

  1. 主模块发出信号,必须等收到从模块应答后才撤销,并向从模块发出应答。
  2. 从模块收到请求信号,向主模块发出应答信号,必须等收到主模块的应答才撤销。

特点:

  1. 主、从模块均具有互锁关系
  2. 适用于网络中的数据传送。

2.7.4 半同步通信

  • 发送方仍然发送时钟。
  • 接收方根据自身情况反馈信息给发送方,使发送方进行响应调整,增加一条等待响应信号线(Wait)
  • “主体同步,细节异步”
  • 半同步通信允许不同速率的设备协调工作。

4472477ddb40cab4fd0dfe8ad57f8b77.png
工作过程
  1. equation?tex=T_1%3A 上升沿发出地址
  2. equation?tex=T_2%3A 上升沿发出读命令
  3. equation?tex=T_W%3A 内存没有准备好,WAIT=1
  4. equation?tex=T_3%3A 内存准备好了,CPU读取数据
  5. equation?tex=T_4%3A 上升沿释放数据与读命令,一个时钟周期后再释放地址
上述三种通信方式总结

以读命令为例,总线周期总是分成这三个过程,而第二个过程不占用总线却需要CPU等待,非常低效,因此我们可以进行改进。

22a31a35217fa8052e30127664f7d067.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统总线是计算机内部各个部件之间传输数据和控制信号的通道。它负责将各个模块的输入和输出信号进行传递和协调,使得各个模块能够相互通信和协作。系统总线一般包括地址总线、数据总线和控制总线。其中,地址总线用于传递访问内存或外设的地址信息,数据总线用于传输数据信息,控制总线用于进行各种控制信号的传输和控制。 而具有基本输入输出功能总线接口则是连接计算机与外部设备的重要接口。它一般包括了数据输入输出、中断控制、DMA控制等功能,可以让计算机与外部设备进行数据的交互。具体来说,总线接口可以将外部设备的输入信号转换为计算机可以处理的数字信号,并将计算机的数字信号转换为外部设备可以理解的信号。在系统中,总线接口扮演着“翻译官”的角色,使得计算机与外部设备之间能够进行有效的通信。 总线接口实验原理一般分为两个方面。一方面是硬件实验,主要是通过利用示波器、逻辑分析仪等工具对总线接口进行调试和测试。另一方面是软件实验,主要是通过编写程序对总线接口进行测试和控制。在实验过程中,需要注意各个信号之间的时序关系,以保证数据的正确传输和处理。同时,还需要对总线接口各个功能模块的工作原理进行深入理解,以便能够更好地进行实验和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值