计算机组成原理——系统总线

一、总线的基本概念

1.1什么是总线

总线是连接各个部件的信息传输线,是各个部件共享的传输介质
在任意时刻,只能有一对设备/部件使用总线

1.2总线上信息的传送

串行:一次传送一位数据。一般用于长距传输,如机器之间
并行:一次传送多位数据。多根线并列传输,线路过长时容易产生干扰导致接收方所得信号变形,因此一般用于短距传输,如机箱内部;可采用特殊措施实现长距传输

1.3总线结构的计算机举例

1、单总线结构框图
m6hCQA.jpg
缺点:主存与 I/O接口连接时,CPU会停止工作,极大地降低了工作效率
2、面向 CPU的双总线结构框图
m6hZFS.jpg
优点:CPU的指令和数据都来自主存,单独一根总线连接可提高效率
缺点:主存和 I/O设备间没有直接通路,通过 CPU中转时会导致 CPU停止工作从而降低工作效率
3、以存储器为中心的双总线结构框图
m6hnzj.jpg
缺点:两条总线无法同时进行工作

二、总线的分类

2.1片内总线

芯片内部的总线

2.2系统总线

1、数据总线:双向;与机器字长、存储字长有关,总线宽度一般小于等于机器字长或存储字长
2、地址总线:单向:与存储地址、I/O地址有关
3、控制总线:有出(CPU发出的;存储器读/写,总线允许,中断确认),有入(发给 CPU的;中断请求,总线请求)

2.3通信总线

用于计算机系统之间计算机系统与其它系统(如控制仪表,移动通信等)之间的通信
传输方式:串行通信总线,并行通信总线

三、总线特性及性能指标

3.1总线特性

1、机械特性:尺寸形状、管脚数、排列顺序
2、电气特性:传输方向、有效的电平范围
3、功能特性:每根传输线的功能:地址、数据、控制
4、时间特性:信号的时序关系(数字逻辑课程)

3.2总线的性能指标

1、总线宽度:数据线的根数
2、标准传输率:每秒传输的最大字节数(MBps)
3、时钟同步/异步:同步不同步
4、总线复用:地址线数据线复用(就是共用)——8086的例子 "复用的目的是减少芯片的管脚数,从而减小芯片的体积"
5、信号线数:地址线、数据线、控制线的总和
6、总线的控制方式:突发、自动、仲裁、逻辑、计数
7、其他指标:负载能力(能连接几个 I/O设备)

3.3总线标准

m6HAje.jpg

四、总线控制

4.1总线判优控制

4.1.1基本概念

1、主设备/模块:对总线有控制权
2、从设备/模块:相应从主设备发来的总线命令
有的总线只允许有一个主设备,有的允许多个
3、总线仲裁决定
分为集中式分布式,集中式下分链式查询、计数器定时查询、独立请求方式

4.1.2链式查询方式

BS-总线忙,BR-总线请求,BG-总线同意
m6h50P.jpg
假设接口1和 n同时发送总线占用请求,两个请求通过 BR线传入总线控制部件。控制部件确定同意后,从 BG线发出响应。响应先到接口0,发现它没有发送请求,于是向下查询,到接口1发现是它发送的请求,于是把控制权交给接口1,接口1得到控制权后后通过 BS线发送总线忙的消息
特点:优先级与 BG线的查询顺序有直接关系,即各个 I/O设备占用总线的优先权的先后顺序。优先权由连接方式事先确定(若某设备优先级太低,发出的请求可能永远得不到回答)
缺点:对电路故障特别敏感。尤其是 BG线,如果某接口电路出现线路故障,该信号无法向下传,后面的设备永远无法获得总线使用权
优点:结构简单,增删设备容易,进行可靠性设计容易实现(比如 BS、BG设置成2根线,避免一根线断了无法继续工作)

4.1.3计数器定时查询

BS-总线忙,BR-总线请求
m64pkT.jpg
请求方式和链式查询方式差不多,但是少了条 BG线,多了条设备地址线
假设计数器初值设为0,接口1和 n同时发送总线占用请求,两个请求通过 BR线传入总线控制部件。控制部件确定同意后,从设备地址线发出响应。计数器目前是0,因此先检查接口0是否发送请求,发现没有,计数器加1变成1,于是检查接口1发现是它发送的请求,于是把控制权交给接口1,接口1得到控制权后后通过 BS线发送总线忙的消息
特点:优先级的设置取决于控制部件内的计数器;计数器的初值可自行设定,从而确定优先级

4.1.4独立请求方式

前两种都是按顺序查找,速度较慢
BR-总线请求,BG-总线同意
m64F1J.jpg
特点:优先级的设置取决于控制部件内的排队器;可以事先确定优先级,也可以通过自适应算法建立

4.2总线通信控制

4.2.1目的

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

4.2.2总线传输周期

主设备和从设备之间完成一次完整且可靠的通信所需时间
1、申请分配阶段:主模块申请,总线仲裁决定
2、寻址阶段:主模块向从模块给出地址命令
3、传输阶段:主模块和从模块交换数据
4、结束阶段:主模块撤销有关信息

4.2.3总线通信的四种方式

1、同步通信:由统一时标控制数据传送
2、异步通信:采用应答方式,没有公共时钟标准
3、半同步通信:同步、异步结合
4、分离式通信:充分挖掘系统总线每个瞬间潜力

详细讲解
假设 CPU从某一外部设备进行数据输入

同步通信

特征

  1. 有一个定宽、定距的时标控制整个数据的传输过程
  2. 在固定的时间点上要给出固定的操作
  3. 所有从模块用同一个时标控制
  4. 主从模块强制同步;对速度不同的从模块,选择最慢的作为统一的时标
  5. 通常应用在总线长度较短,各个模块存取时间比较一致的情况
  • 总线传输周期由四个时钟周期组成
  • 除了时钟信号,CPU要完成数据输入(输出)的话,还需要地址信号、读(写)信号
  • 从模块在给定时间点上给出数据的输出(输入),对 CPU来说是数据的输入(输出)

1)同步式数据输入
m64Vn1.jpg
过程

  1. 在第一个时钟周期的上升沿,给出地址信号,该地址信号是主模块给出的(该例中是 CPU给出的)
  2. 在第二个时钟周期的上升沿,给出读信号,告诉从模块 CPU要从从模块读入数据
  3. 在第三个时钟周期的上升沿,从模块必须给出数据信号,并通过数据总线传输
  4. 在第四个时钟周期的上升沿,数据信号和控制信号撤销
  5. 在第四个时钟周期结束的时候,地址信号撤销

2)同步式数据输出
m64e76.jpg
过程

  1. 在第一个时钟周期的上升沿,给出地址信号
  2. 在第一个时钟周期的下降沿,给出数据信号
  3. 在第二个时钟周期的上升沿,给出写信号,向从模块进行数据写入
  4. 在第三个时钟周期的上升沿,作写入操作
  5. 在第四个时钟周期的上升沿,数据信号和控制信号撤销
  6. 在第四个时钟周期结束的时候,地址信号撤销
异步通信

特征

  1. 没有定宽、定距的时钟周期,但增加了两条线:请求线(主模块发出请求信号),应答线(从模块回应主设备发送的请求)
  2. 通过请求、回答两个控制信号完成联络

m64Djs.jpg
不互锁
主模块发出通信请求,从模块接收后进行应答。之后主模块撤销请求信号,从模块也撤销应答信号
主模块不管是否收到应答信号,经过一定的时延后都会撤销请求信号
从模块不管主模块是否收到应答信号,经过一定的时延后都会撤销应答信号
半互锁
主模块发出通信请求,从模块接收后进行应答,主模块接收应答信号后撤销请求信号;如果接收不到,请求会一直保持
后果:可能造成请求信号一直高电平
全互锁
主模块发出通信请求,从模块接收后进行应答,主模块接收应答信号后撤销请求信号,只有主模块撤销请求后,从模块才会撤销应答信号
如果传输过程中发现数据出错,半互锁、全互锁可以请求从模块重新发送和接收数据

转载于:https://www.cnblogs.com/xxwang1018/p/11546715.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值