Abstract:文章内容来自于:哈工大计算机组成原理刘宏伟
总线的作用就是进行系统各部件的通信, 想要实现通信有两个必须要解决的问题:一个是当总线上有多个设备同时发出总线控制
请求时, 到底让哪个设备控制总线; 第二个是这对设备占用了总线之后, 如何进行通信过程, 保证通信的正确性呢?
我们将第一个问题称为:总线判优控制; 将第二个问题称为:总线通信控制。 总线的判优控制有两种方式:集中式和分布式。
此篇文章讲述的是总线控制方式中的集中式。
------------------------------------------------------------------
集中式:将总线的判优逻辑放在一个部件上(比如CPU)。 集中式有三种查询方式:第一种是链式查询; 第二种是计数器定时查询;第三种是独立请求查询。
首先介绍两个基本概念:
主设备(模块):对总线有控制权(可以请求控制总线)。
从设备(模块):相应主设备发出来的总线命令。
在计算机里面有些设备既可作主设备又可作从设备。
下面来具体谈谈这三种查询方式。
链式查询方式
当有设备向总线控制部件发出总线控制请求(通过BR)时, 总线控制部件收到请求后, 如果总线空闲 同意请求, 那么
从BG线确定到底是那个部件请求控制总线, 由于确定部件是通过BG线一个一个确定的, 所以如果有多个部件同时请求控制,
那么总线控制部件先允许距离它近的。 也就是说距离总线控制部件越近, 那么优先级越高。 当该主设备取得总线的控制权之
后, 由地址线确定从设备, 然后通过数据线传输数据, 由BS设置总线忙。
这种方式的优点是:构造简单, 部件易扩展(直接连在线上面就行); 缺点:速度慢, 对电路敏感(如果BG线某个地方
出了问题, 那么后面的主设备将不会取得总线控制权)。
计数器定时方式
这种方式在总线控制部件里面有一个计数器。 当有设备通过BR先向总线发出请求时, 如果总线空闲并且允许该部件控制
总线, 那么总线控制部件通过设备地址确定是哪一个主设备请求控制, 也是从距离近的开始; 假设现在计数器是0, 总线
控制部件通过设备地址线查看是不是 I/O接口0 请求控制, 如果不是, 计数器加一, 以此类推。 这种方式的好处是, 可以软件
控制计数器的值, 如果计数器是5, 那么总线控制部件优先检查是不是第五个部件请求控制。也就是可以设置部件的优先级。
其他的和前面那种类似。
独立请求方式
这种方式的总线控制部件里面有一个排队器, 可是先将各部件安照优先级排好队, 当有设备请求控制时, 首先查看优先级
高的。其他的和前面那种类似。
这种方式的缺点是:线太多了-_-。
总结:以上三种方式数据线和地址线的功能都是一样的(链式查询方式后面有介绍), 不同的是各部件的优先级不同。每种方 式都有其优点与缺点, 都有其适用的领域。