计算机的总线
总线的概述
举个栗子:
USB-> Universal Serial Bus(通用串行总线)
- 提供了对外连接的接口
- 不同设备可以通过USB接口进行连接
- 连接的标准,促使外围设备接口的统一
总线除了上面的USB,还有PCI总线,ISA总线,THunderbolt总线等等
在没有总线时候,每个设备之间要互相连接,非常复杂
出现总线之后:
总线的分类
片内总线
高集成度芯片内部的信息传输线
- 芯片内部的总线
- 寄存器与寄存器之间
- 寄存器与控制器、运算器之间
系统总线
CPU、主内存、IO设备、各组件之间的信息传输线
数据总线
一般与CPU位数相同(32位,64位)
- 双向传输各个部件的数据信息
- 数据总线的位数(总线宽度)是数据总线的重要参数
地址总线
地址总线位数=n,寻址范围:0~2�
- 指定源数据或目的数据在内存中的地址
- 地址总线的位数与存储单元有关
控制总线
- 控制总线是用来发出各种控制信号的传输线
- 控制信号经由控制总线从一个组件发给另外一个组件
- 比如从CPU发送到键盘
- 控制总线可以监视不同组件之间的状态(就绪/未就绪)
总线的仲裁
仲裁就是为了解决不同设备使用总线的先后冲突问题
我们有以下几种方法:
链式查询
假设设备2需要使用总线,就像仲裁控制器发送请求,得到请求后,会先发给设备1,看他用不用,他不用,就到接下来给设备2,发现设备2使用。同理,设备1和2同时发送,设备1先获取资格。
好处: 电路复杂度低,仲裁方式简单(串联的方式)
坏处: 优先级低的设备难以获得总线使用权
计时器定时查询
- 仲裁控制器对设备编号并使用计数器累计计数
- 接收到仲裁信号后,往所有设备发出计数值
- 计数值与设备编号一致则获得总线使用权
设备3要使用,顺着仲裁控制线请求,控制器收到后同时给3个设备发1,设备1没有使用,继续+1,设备2没有使用,继续+1,设备3使用,获得总线的使用权,(每次+1,都给这几个设备发送)
独立请求
- 每个设备均有总线独立连接仲裁器
- 设备可单独向仲裁器发送请求和接收请求
- 当同时收到多个请求信号,仲裁器有权按优先级分配使用权
好处:响应速度快,优先顺序可动态改变
坏处:设备连线多,总线控制复杂
计算机的输入输出设备
常见的输入输出设备
字符输入设备
键盘
薄膜键盘
机械键盘
黑轴
红轴
青轴
茶轴
图像输入设备
鼠标
数位板
扫描仪
图像输出设备
显示器
打印机
投影仪
输入输出接口的通用设计
数据线
是I/O设备与主机之间进行数据交换的传送线
单向传输数据线
双向传输数据线
状态线
- IO设备状态向主机报告的信号线
- 查询设备是否已经正常连接并就绪
- 查询设备是否已经被占用
命令线
- CPU向设备发送命令的信号线
- 发送读写信号
- 发送启动停止信号
设备选择线
- 主机选择l/O设备进行操作的信号线
- 对连在总线上的设备进行选择
例如对U盘进行操作
CPU与IO设备的通信
CPU速度与IO设备速度不一致
程序中断
提供低速设备通知CPU的一种异步的方式CPU可以高速运转同时兼顾低速设备的响应
- 当外围IO设备就绪时,向CPU发出中断信号
- CPU有专门的电路响应中断信号
注意:响应中断不一定是及时的。
DMA(直接存储器访问)
DMA直接连接主存与lO设备DMA工作时不需要CPU的参与
当主存与IO设备交换信息时,不需要中断CPU,可以提高CPU的效率
硬盘,显卡都使用
计算机存储器
存储器的分类
按存储介质分类:
半导体存储器
内存,U盘,固态硬盘
磁存储器
磁带,磁盘
_
按存取方式分类:
随机存储器(RAM)
随机读取
与位置无关
串行存储器
与位置有关
按顺序查找
只读存储器(ROM)
只读不写
存储器的层次结构
读写速度↑,存储容量↑,价格↓
容量+价格 => 位价:每比特位价格
容量从上到下增加
主存是上面提到的RAM与ROM
缓存-主存层次
原理:局部性原理实现:在CPU与主存之间增加一层速度快(容量小)的Cache 目的:解决主存速度不足的问题
局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
计算机原理组成篇(1): https://developer.aliyun.com/article/1387186