想要真真学好我们的操作系统,我们还需要对我们的计算机硬件建立一个基本的了解。
我将我们的计算机硬件划分为三个类型。
下面我将对我个人认为重要的硬件进行分析讲解。
CPU 中央处理器
中央处理器的核心在于执行我们的指令,它依靠总线协调操作各个硬件,同时依靠内部的寄存器进行快速数据读写(尽管我们的寄存器容量很小),进而完成我们的工作。
寄存器
寄存器是 CPU 的内置组件,它的存在在于帮助我们的CPU 存储指令设置与自身数据。
流水线机制
与计算机网络中将许多数据包一并发送的差不多,只不过这里集中处理的不是网络数据包,是 CPU 中的指令。
(这样,性能就得到了提升)
超标量 CPU
有的计算机不止只有一个 CPU,在这种情况下,具备执行指令能力的硬件就变为了许多个,好处就是指令执行效率提升,坏处就是容易造成相关联指令的冲突,进而引发矛盾(实现顺序指令执行的难度大大上升)
寄存器
寄存器是 CPU 的组成部分之一,它的数据访问不存在任何的数据延迟,但是缺点在于容量过小(不到 1KB)
缓存
由于我们的寄存器容量过小,而我们的 CPU 数据访问需求又非常迫切,因此依托 SRAR(静态储存芯片)的缓存方案也被提出。
一、将使用频率高的数据(热数据)调入缓冲区中
二、将使用频率低的数据(冷数据)移出缓冲区
由此,形成了一种分层的缓冲区架构,视情况又分为一级、二级、三级缓存。
缓存相较于寄存器,存在一定的时间延迟,但是它的容量可以达到数 MB
主存
主存就是我们熟悉的内存,它是一种容量可观(相较于缓存,它的容量是 GB 级别的)的储存硬件,速度也不赖(尽管又慢于缓存,但是仍然可以接受)的储存硬件。
缺点在于它是一种易失性的储存硬件,一旦电源切断,所有的内容就会丢失。
磁盘
相较于我们的主存,磁盘更加注重储存容量(相较于只有几个GB的内存,我们的磁盘可以达到几个TB),但是代价就是数据的读写速度下降了数个数量级。
I/O 设备
这就是对数据输入输出设备的通用称呼,它们的种类多样,提供的数据也不一样,比如我们的键盘提供我们输入的字符,我们的鼠标则提供了一些坐标信息。