总线和IO设备

7/15/2022 可恶的408

总线概述

  • 定义,是一组能为多个部件分时共享的公共信息传输线路。

总线上的设备分为主设备和从设备,主设备获得总线的控制权;从设备是被访问的设备,只能响应主设备发来的各种总线命令。

总线特性:机械特性(尺寸、形状);电气特性(传输方向、有效电平);功能特性(每根传输线的功能);时间特性(信号、时序关系)

总线分类

  1. 片内总线,是CPU芯片内部寄存器与寄存器、寄存器与ALU
  2. 系统总线,数据总线(双向)、地址总线(单向)、控制总线(双向)
  3. I/O总线,连接中低速IO设备,目的将低速设备与高速总线分类,常见USB,PCI
  4. 通信总线,计算机系统之间,计算机与其他系统之间

架构

  1. 单总线架构,系统总线
  2. 双总线架构,主存总线、IO总线
  3. 三总线架构,主存总线、IO总线、DMA总线

性能指标

  1. 总线传输周期,一次总线操作所需的时间,包括申请阶段、寻址阶段、传输阶段、结束阶段
  2. 总线时钟周期,机器时钟周期
  3. 总线工作频率,总线周期倒数
  4. 总线时钟频率,时钟周期倒数
  5. 总线宽度,同时能传输的数据位数
  6. 总线带宽,最大数据传输率
  7. 总线复用,一种信号线,不同时间传输不同的信息
  8. 信号线数,

总线事务和定时

事务

从请求总线到完成总线使用的操作序列称为总线事务。

  1. 请求阶段
  2. 仲裁阶段
  3. 寻址阶段
  4. 传输阶段
  5. 释放阶段

突发(猝发)传送方式,给首地址连续传传传,不释放

同步定时方式

系统采用一个统一的时钟信号来协调发送和接受双方的传送定时关系

异步定时方式

没有统一时钟,没有固定的时间间隔。采用握手信号

不互锁、半互锁、全互锁。

I/O系统的基本概念

将信息从外部设备传送到主机称为输入,反之称为输出

  1. 外部设备,包括IO设备及IO接口才能访问的外存储设备
  2. 接口,在各个外设和主机之间传输数据时进行各种协调工作的逻辑部件。包括速度匹配、电平和格式转换
  3. 输入设备,向计算机输入的设备
  4. 输出设备,计算机信息输出的设备
  5. 外存设备,除内存和CPU缓存的存储器
  6. IO软件,包括驱动程序、用户程序、管理程序、升级补丁。
  7. IO硬件,包括外部设备、设备控制器和接口、IO总线等。

控制方式

  1. 程序查询方式(轮询)
  2. 程序中断方式
  3. DMA方式,主存和IO有一条直接数据通路
  4. 通道方式,专门的通道控制部件,每个通道将挂接若干外设,IO命令时启动有关通道,执行通道程序,完成IO

IO接口

IO接口是主机和外设之间的变接界面,通过接口实现主机和外设之间的数据交换。

功能

  1. 地址译码和设备选择
  2. 主机和外设的通信联络控制
  3. 数据缓冲
  4. 信号格式的转换
  5. 传输控制命令和状态信息

基本结构

看书

类型

  1. 并行接口(一个字节或一个字所有位传),串行接口(一位一位传)
  2. 按主机访问IO设备方式分为程序查询接口、中断接口和DMA接口
  3. 可编程接口和不可编程接口

端口和编址

IO端口是指接口电路中可被CPU直接访问的寄存器,数据端口读写操作,状态端口读操作、控制端口写操作

  1. 统一编制,不需要专门的输入输出指令
  2. 独立编址,IO映射方式,无法从地址码形式上区分,要新的指令

IO方式

程序查询方式

信息交换的控制完全由CPU执行程序实现,接口中设置一个数据缓存寄存器(数据端口)和设备状态寄存器(状态端口)。

IO操作时,先发出询问信号,读取的设备状态,并根据设备的状态决定下一步操作是传输还是等待

工作流程

  1. CPU执行初始化程序,并预置传送参数
  2. 向IO接口发出命令字,启动IO设备
  3. 从外设接口读取状态信息
  4. CPU不断查询外设状态,直到外设就绪
  5. 传一次数据
  6. 修改地址和计数器参数
  7. 判断是否结束,回到3

程序中断方式

  1. 实现CPU和IO的并行工作
  2. 处理硬件故障和软件错误
  3. 实现人机交互,系统调用也是一种中断
  4. 多道程序、分时操作,切换要借助于中断系统
  5. 实时处理
  6. 应用程序和管态切换
  7. 信息交流和任务切换
  • 中断请求

  • 判优

  1. 不可屏蔽>内部异常(硬件故障>软件中断)>可屏蔽
  2. DMA中断>IO中断
  3. 高速>低速,输入>输出,实时>普通
  • 条件
  1. 有中断请求
  2. CPU允许中断,开中断
  3. 一条指令执行完毕
  • 响应过程

硬件完成:

  1. 关中断
  2. 保存断点,把原程序的PC和PSW保存到栈或者特定的寄存器中,指令无法直接读出来
  3. 中断服务程序寻址,找到中断服务程序的入口地址,即中断向量(程序入口,存在中断向量表里,送入PC)或者软件查询(一个异常状态寄存器,按优先级匹配)

中断程序完成: 4. 保存现场和屏蔽字(中断屏蔽技术) 5. 开中断(多重中断) 6. 执行中断服务程序 7. 关中断 8. 回复现场和屏蔽字 9. 开中断 10. 中断返回

  • 多重中断,中断中断
  • 中断屏蔽技术,1表示屏蔽中断源,0表示可以正常申请

DMA

完全硬件组成信息传送的控制方式,在外设和内存之间开辟了一条“直接数据通道”,适用于磁盘,显卡,声卡,网卡等高速设备大批数据的传送。

特点

  1. 主存与CPU脱钩,主存既可以被CPU访问,也可以被外设访问
  2. 在数据块传送时,主存地址的确定、传输数据的计数都由硬件电路直接实现
  3. 主存开辟专门缓冲区
  4. 快!
  5. 开始前要通过程序预处理,结束后要通过中断做后处理

DMA控制器和传送方式

复杂,看书