计算机的总线
总线的概述
总线解决不同设备之间的通信问题。
USB(通用串行总线)
- 提供了对外连接的接口
- 不同设备可以通过USB接口进行连接
- 连接的标准,促使外围设备接口的统一
- PCI总线
- ISA总线
- Thunderbolt总线
片内总线
- 芯片内部的总线
- 寄存器与寄存器之间
- 寄存器与控制器、运算器之间
系统总线
数据总线
- 一般与CPU位数相同
- 双向传输各个部件的数据信息
- 数据总线的位数(总线宽度)是数据总线的重要参数
地址总线
- 地址总线位数=n,寻址范围:$0\sim2^n$
- 地址总线的位数与存储单元有关系
控制总线
- 控制总线是用来发初各种控制信号的传输线
- 控制信号经由控制总线从一个组件发给另一个组件
- 控制总线可以监视不同组件之间的状态(就绪/未就绪)
总线的仲裁
为什么需要总线的仲裁
总线的仲裁是为了解决总线使用权冲突的问题。
总线仲裁的方法
链式查询
好处:电路复杂度低,仲裁方式简单
坏处:优先级低的设备难以获得总线的使用权、对电路故障敏感
计时器定时查询
仲裁控制器对设备编号并使用计时器累计计数,接收到仲裁信号后,往所有设备发出计数值,计数值与设备编号一致则获得总线使用权。
独立请求
每个设备均有总线独立连接仲裁器,设备可单独向仲裁器发送请求和接收请求,当同时收到多个请求信号,仲裁器有权按优先级分配使用权。
好处:响应速度快,优先顺序可动态改变
坏处:设备连线多,总线控制复杂
计算机的输入输出设备
常见的输入设备有字符输入设备和图像输入设备,常见的输出设备有图像输出设备。
输入输出设备的通用设计
数据线
- 是I/O设备与主机之间进行数据交换的传送线
- 单向传输数据线/双向传输数据线
状态线
- I/O设备状态向主机报告的信号线
- 查询设备是否已经正常连接并就绪
- 查询设备是否已经被占用
命令线
- CPU向设备发送命令的信号线
- 发送读写信号
- 发送启动停止信号
设备选择线
- 主机选择与I/O设备进行操作的信号线
- 对连在总线上的设备进行选择
CPU与IO设备的通信
程序中断
- 当外围I/O设备准备就绪时,向CPU发出中断信号
CPU有专门的电路响应中断信号
程序中断提供低速设备通知CPU的一种异步的方式,CPU可以高速运转同时兼顾低速设备的响应。
DMA(直接存储器访问)
- DMA直接连接主存与I/O设备
DMA工作时不需要CPU参与