总线判优控制


参考:https://www.cnblogs.com/Wddpct/p/6663622.html


  1. 主设备:对总线有控制权
  2. 从设备:只能响应从主设备发来的总线命令,对总线没有控制权。

总线上的信息是由主设备启动的,若多个主设备同时要使用总线时,就由总线控制器的优判,仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。

总线判优方式:

  1. 集中式:总线控制逻辑集中的一处;
  2. 分布式:总线控制逻辑分布在连接总线的各部件或设备中.

集中控制的三种常见优先权仲裁方式:

1. 链式查询方式:

控制线:数据线、地址线、3条控制线进行控制(BS-总线忙、BR-总线请求、BG-总线允许)

方式:将BG串行地从某一部件(I/O接口)送到下一部件,直到到达有请求的部件为止

优先权位置:离总线控制器越近,优先权越高

特点:连线简单,易于扩充

缺点:对电路故障敏感,若某个接口电路发生故障,则无法进行下一次查询,导致后面的接口无法获得总线使用权

电路:链式查询靠接口的优先权排队电路实现

用途:微型机

2.计数器定时查询方式:

控制线:数据线、地址线、设备地址线、BS、BR

解释1:总线上的任一设备要求使用总线时,通过BR线发出总线请求,中央(总线)仲裁器收到请求信号,在BS线为“0”(可以设置初值)的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口有一个设备地址判别电路,当地址线上的计数值和请求总线的设备地址一致时,该设备置“1”BS线,且获得总线使用权,此时终止计数查询。

解释2:控制部件接收到BR送来的总线请求信号后,在总线未被占用BS=0,总线计数器开始计数,并通过设备地址线,向各设备发送一组地址信号。当某个请求占用总线的设备地址与计数器不一致时,一直往下查询,每次查询计数器+1;一致时,便获得总线控制权,终止计数。

其特点是:计数可以从0开始,此时如果设备优先级固定,设备优先级0,1,...n的顺序降序排列,且固定不变。计数器也可以从上次计数终点开始,是一种循环的方式,此时设备使用总线优先级一样,这种方式对电路故障敏感度不如链式查询,但增加了控制线,控制也较为复杂;

优先权位置:若计数器从0开始,设备号越小的优先级越高

优点:优先级设置较灵活

缺点:对电路故障不敏感,连线及控制过程较复杂

3.独立请求方式:

控制线:数据线、地址线、BG、BR

方式:每一个共享总线的设备均有一对总线请求线BR_i和总线授权线BG_i. 当设备要求使用总线时,便发出该设备的请求信号.总线控制器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BG_i。

优点:响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询;其次,对优先次序的控制相当灵活,可以预先固定也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求.

缺点:连线多,总线控制复杂

三种方法控制线数目的比较:

  1. 链式查询方式— —只用 2根线
  2. 计数器定时查询方式— —大致用 取整(㏒2n)根线,n是允许接纳的最大设备(部件)数
  3. 独立请求方式— —要用 2n根线

参考:https://www.imooc.com/article/13213

https://www.cnblogs.com/AI-me/p/11202798.html


总线通信控制

总线周期:完成一次完整总线操作的时间

可以分为4个阶段:

  1. 申请分配阶段:由主设备提出申请,经仲裁机构决定下一传输周期总线的使用者;
  2. 寻址阶段:取得使用权的主设备通过总线发出本次要访问的从设备的地址和命令,启动从设备;
  3. 传数阶段:主设备和从设备进行数据交换,数据由源模块发出,经数据线流入目的从设备;
  4. 结束阶段:主设备有关信息从总线移除,让出总线使用权;

总线通信控制:主要解决通信双方如何获知传输开始,传输结束及如何协调和配合;

常见的通信方式有:同步通信,异步通信,半同步通信,分离式通信;

 通信方式                                          特点
 同步通信 指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降

异步通信

指没有统一时钟控制的通信(不要求严格的同一操作时间),部件采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率
半同步通信 可以像同步通信一样由统一时钟控制,又可以像异步通信一样允许传输时间不一致,工作效率介于两者之间
分离式通信

1.各模块欲占用总线使用权必须提出申请

2.在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式,不再等待对方回答信号

3.各模块在准备数据的过程中都不占用总线,使总线可以接受其他模块的请求

4.总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分的利用了总线的有效占用,

从而实现了总线在多个主,从模块间进行交叉重叠并行传送。

通信方式                                   适用
同步通信 一般用于总线长度较短,各部件存取时间比较一致的场合,总线传输周期越短,数据位数越多,直接影响总线数据传输速率;
异步通信 又分为不互锁,半互锁,全互锁
半同步通信  
分离式通信 大型计算机系统

参考:https://www.cnblogs.com/AI-me/p/11202798.html

https://www.cnblogs.com/shinianhuanniyijuhaojiubujian/p/10886684.html


计算机组成原理学习--第一周--哈工大刘宏伟相关推荐

  1. 哈工大刘宏伟《计算机组成原理》课程框架总结

    哈工大刘宏伟老师的<计算机组成原理>采用自顶向下方法,系统介绍了计算机各个基本部件的体系结构.逻辑实现.控制方式.(一定数电基础是必要的,如果了解汇编更有助于理解部分内容) B站链接计算机 ...

  2. 前端学习第一周-计算机基础,html标签的介绍,其中包括列表,表格以及表单的使用

    前端学习第一周-HTML基础 文章目录 前端学习第一周-HTML基础 前言 DAY 1 计算机组成 计算机网络 DAY 2 vscode快捷方式 HTML骨架 DAY 3 HTML属性 HTML标签 ...

  3. 计算机组成原理学习笔记一

    计算机组成原理学习笔记一 计算机发展历程 一.计算机硬件发展 (1)计算机的四代变化 (2)计算机元件更新换代 二.计算机软件发展 三.计算机的分类 计算机系统层次结构 一.计算机系统的组成 二.计算 ...

  4. 201671010140. 2016-2017-2 《Java程序设计》java学习第一周

       java学习第一周        本周是新学期的开端,也是新的学习进程的开端,第一次接触java这门课程,首先书本的厚度就给我一种无形的压力,这注定了,这门课程不会是轻松的,同时一种全新的学习方 ...

  5. 评价微型计算机总线的性能指标,计算机组成原理学习笔记(3):总线

    文章目录 课程笔记导览 附录:英语解释 第三章 总线 3.1 总线的基本概念 使用总线的原因: 总线的定义 总线上信息的传送 总线结构举例 单总线结构 面向CPU的双总线结构 以存储器为中心的双总线结 ...

  6. 掉进悬崖的小白,捡到python基础秘籍,学习第一周——语法基础,小游戏,无脑循环

    掉进悬崖的小白,捡到python基础秘籍,学习第一周--语法基础,小游戏,无脑循环 人生苦短,我用python 语言的种类: 语言的发展: 什么是python 搭建 Python开发环境: 集成开发环 ...

  7. 计算机组成原理学习笔记(上)

    计算机系统概论 计算机发展历程 原始计算工具 中国人的智慧之光 机械式计算机 西方人的智慧 机电式计算机 电子计算机 1,最古老的计算工具:算筹 2,冈特计算尺 3,达芬奇机械式计算机 4,1642年 ...

  8. 计算机组成原理第一章课件,计算机组成原理ppt 第一章课件.ppt

    计算机组成原理ppt 第一章课件 计算机组成原理;教材白中英,计算机组成原理·网络版,科学出版社,2002参考书石磊,计算机组成原理·第2版, 清华大学出版社,2006钱晓捷,微型计算机原理及应用, ...

  9. 我的JAVA学习第一周知识总结,个人感受小结

    JAVA学习第一周 1,了解三种开发模型 2,建包.建类的规范格式 3,了解不同数据类型 4,JAVA环境搭建 5,JVM.JRE.JDK是什么 6,if/else if语句的使用 7,各个语句swi ...

最新文章

  1. Java:RMI远程调用
  2. 《深入浅出Nodejs》笔记——模块机制(2)
  3. hive表 合并字段_hive 两字段合并成 一个字段 例如:字段a和字段b合并成a-b,请问如何实现、...
  4. linux HZ Tick Jiffies
  5. torch.max()函数==》返回该维度的最大值以及该维度最大值对应的索引
  6. VS2012下基于Glut OpenGL GL_QUAD_STRIP示例程序:
  7. 中转换成list集合_Java集合、数组与泛型中的几个陷阱,你掉进了几个?
  8. 毕设题目:Matlab图像拼接
  9. JS校验上传图片类型
  10. linux在文件夹压缩,在linux下如何将文件夹压缩成.tgz文件
  11. 【发布】哔哩哔哩bilibili替换旧版播放(稍后再看)
  12. 超详细Centos7 安装MySQL 5.7
  13. 分区 与 bios 笔记本 tips
  14. 记--Python --日常练习的两种思考方法
  15. 从零基础如何自学 UI 设计?
  16. Airpods Pro闪红灯是什么意思?
  17. 全运会乒乓男团:樊振东逆转战胜马龙,广东时隔24年问鼎冠军
  18. 摄像机产品经理应该知道的那些光学知识(景深、光圈)——《工程光学》摘抄汇总版第二部分
  19. 判断一个整数是否为质数/素数
  20. 清晰架构(Clean Architecture)的Go微服务: 程序容器(Application Container)

热门文章

  1. 高级软件架构师实战培训阶二
  2. 无法启动计算机时该怎么办
  3. 10008美元换人民币
  4. AppHangB1引起的explorer进程停止与Windows交互解决方法
  5. 公众号菜单功能及其使用
  6. oracle 归档日志文件archieve log
  7. odata $expand的关联查询使用方法
  8. 真正意义上的数字零售,最为重要的一点就是要回归零售本身
  9. 2位数码管秒表c语言程序,实例19---开机次数记录仪 实例20---秒表计时器(4位数码管)...
  10. BadUSB制作教程_BadUSB简单示例(初学)_程序编写工具