跳到主要内容

总线

总线判优(总线仲裁) 总线上连接的各种设备,一些是对总线有控制权的,称为 主设备(主模块);另一类则对总线没有控制权,只能响应从主设备发来的命令,称为 从设备(从模块)。 总线上信息的传递都是由主设备发起的;当某个主设备需要占用总线向另一个设备发送信息时,首先需要发出 总线请求信号。如果多个主设备同时发出请求、希望占用总线,就需要一个专门的 总线控制器 来做出判断, 按照一定的优先级确定哪个主设备可以使用总线。这个过程就称为 总线判优,或者 总线仲裁。 总线判优的实现可以分为两种形式:

  • 集中式:将控制逻辑集中在一处(比如 CPU 中);
  • 分布式:将控制逻辑分散在与总线连接的各个部件或者设备上。 以集中式为例,常见的总线判优方式有以下三种。 (1)链式查询 顾名思义,链式查询的硬件连接方式就是将设备接口电路排成一条链,依次进行查询。原理跟中断判优的 ”链式排队器“ 类似。

上图中,控制总线中有 3 根线专门用于总线的控制:

  • BS(Bus State,总线状态):为 1 时表示 ”总线忙“,即总线已被占用;为 0 时表示 ”总线空闲“;
  • BR(Bus Request,总线请求):传递各设备接口电路发来的总线请求信号;
  • BG(Bus Grant,总线同意):由总线控制器经过总线判优之后、发出的允许某个设备使用总线的信号。

(2)计数器定时查询

(3)独立请求方式


总线事务和总线周期 从一个设备发出总线请求、获取到总线使用权,到使用完成、将总线释放,这个完整的过程就是一次 总线操作,一般称为 总线事务。完成一次总线事务的时间,就称为 总线周期。 总线事务中包括一些具体操作,对应着总线周期中的不同阶段:

  • 申请分配阶段:主设备发出 总线请求,经过总线控制器中总线仲裁机构的 判优,决定将总线使用权交给某个设备(申请者);
  • 寻址阶段:取得使用权的主设备,通过总线发出要访问的从设备地址和有关命令,启动从设备;
  • 传输阶段:主设备和从设备进行数据交换,数据从源模块发出,经数据总线流入目的模块;
  • 结束阶段:系统总线上撤除主设备的有关信息,让出总线的使用权。

总线通信控制(总线定时) 在总线周期中,核心阶段是数据的传输。由于涉及到两个不同模块,因此双方在交换数据时什么时候传输开始、什么时候传输结束,以及如何进行协调配合,应该有一个统一的规则。这被称为 总线通信控制;因为主要涉及的是时间上的控制协调,所以也叫 总线定时。 总线通信控制通常有四种方式:同步通信、异步通信、半同步通信 和 分离式通信。


I/O 系统

(1)I/O 系统发展

(2)I/O 系统组成

I/O 软件

生活中常见的计算机一般采用接口模块方式,指令系统中需要设置专门的 I/O 指令;调用 I/O 指令并配合系统软件中的管理程序,就可以实现 I/O 设备与主机的协调工作。 如果采用通道管理方式,除 I/O 指令外,还需要有 通道指令 和相应的操作系统。

I/O 指令

通道指令

IO 硬件

(3)I/O 设备