003 计算机组成原理
计算机分为五大组成部分,分别为:控制器、运算器、存储器、输入设备和输出设备。其中控制器+运算器是计算机的中央处理器(CPU),相当于人类的大脑。
一、控制器(一)
计算机的指挥系统。大脑指挥全身的器官运作,但是大脑不会随意的指挥身体行动,大脑只有在接受指令后才会控制身体行动(如果你患有急性注意缺陷多动障碍(多动症),你可以找Doctor Nick)。
二、运算器(二)
运算器是计算机的运算系统。大脑除了指挥,无时无刻还在运算。即实现算术运算和逻辑运算。
- 算术运算:1+1=2
- 逻辑运算:碰到疯狗,表白?
三、控制器+运算器(计算机的中央处理器CPU)
吃饭流程示例。
- 当你吃饭的时候,大脑会接受吃饭的指令,之后把指令翻译成你身体需要进行的动作(控制器)
- 如果吃的是西餐,则使用勺子;如果吃的是中餐,则使用筷子(运算器)。
四、存储器(三)
计算机的存储系统。需要注意的是:无论是内存还是外存,计算机存储的数据格式都是01,01的形式,0和1由电压的电频控制(了解知识点)。计算机的存储的一个二进制单位称为1bit,8bit=1Bytes称为一个字节,1024Bytes=1KB,1024KB=1MB,1024MB=1GB,1024GB=1TB,1024TB=1PB。
下图展示了目前市面上常用的存储器,从图中可以看出存储器的速度、容量和价格是相互矛盾的。
4.1 内存(主存)
内存是计算机内临时存储数据的硬件设备。由于内存读取数据速度较快内存,CPU下达的指令会直接传输给内存,即CPU会与内存直接交互。常见的内存有内存条。
- 优点(较于外存):
- 存取速度快。
- 缺点(较于外存):
- 容量小。
- 由于内存基于电存储数据,因此断电数据马上会消失。
4.2 外存
外存是计算机内永久存储数据的硬件设备,由于外存容量大,所以外存主要用于存储软件等占用量大的数据。当需要使用外存上的某个软件时,CPU下达的指令需要传输给内存后,内存再从外存中读取软件信息,即CPU不与外存直接交互。常见的外存有磁带、磁盘和u盘等。
- 优点(较于内存):
- 容量大
- 可以永久存储数据。
- 缺点(较于内存):
- 存取速度慢。
五、CPU+内存+外存(计算机的三大核心组件)
电脑打开QQ流程示例。
- 双击QQ图标,CPU先向内存发出取指的命令(CPU+内存)
- 内存从硬盘中取出 运行QQ 的指令(硬盘)
- 控制器分析 运行QQ 的指令并告知运算器工作(控制器)
- 运算器进行一系列的算术运算和逻辑运算打开QQ,并从硬盘从读取QQ的代码至内存(运算器+内存+硬盘)
- 计算机在内存中运行QQ的代码(内存)
- 如果此时从QQ好友接受一个文件并下载,该文件将会永久保存在硬盘中(硬盘)
- 关闭QQ时CPU向内存发出关闭QQ的指令,内存关闭QQ并清理内存中QQ的代码(内存)
六、输入设备(四)
计算机输入信息(程序、数据、声音、文字、图形、图像等)的设备。
常见的输入设备有:键盘、鼠标、图形扫描仪、触摸屏、条形码输入器、光笔等。外存储器(U盘等)也是一种输入设备。
七、输出设备(五)
计算机输出信息的设备。
常见的输出设备有:显示器、打印机和绘图仪等。外存储器也是一种输出设备。
注意:由于外存储器即是一种输入设备,也是一种输出设备,因此外存储器也被称为IO设备,其中I为Input(输入);O为Output(输出)。
八、计算机五大组成部分补充
补充部分作为选看部分,主要是为了介绍计算机的启动流程。
8.1 CPU相关
多核CPU:多个CPU,电脑可以同时干多件事,如4核CPU的电脑可以同时干四件事。
X86-64位:X86是CPU的一种型号,64表示CPU每次能取64位二进制数。X86-32表示CPU每次取32位二进制数。CPU具有向下兼容性,即64位电脑能下载32位的软件,而32位的软件下载64位的软件会丢失数据。
8.2 存储器相关(了解)
ROM存储器:ROM只读存储器(不可写)在工厂中就被编程完毕,然后再也不能修改。它一般存放BIOS(Basic input output system)程序,该程序一般用于启动计算机,或用于处理底层设备的控制。
CMOS存储器:CMOS存储器由一块电脑内置的电池驱动供电,它一般用来保持当前时间和日期的更新,也就是说,即使计算机没有充电,时间也会持续更新;同时它也可以存储启动磁盘的路径。(装机的时候一般会告诉计算机操作系统在计算机中的位置,如C:/)
8.3 总线
总线相当于人类的神经、血管,连接计算机的所有硬件设备。
8.4 启动计算机的流程(了解)
- 计算机加电。
- BIOS开始运行,检测硬件:CPU、内存、硬盘灯。
- BIOS读取CMOS存储器中的参数,选择启动设备等。
- 从启动设备上读取第一个扇区的内容。
- 根据分区信息读入bootloader启动装载模块,启动操作系统。
- 操作系统询问BIOS,获得配置信息。对于每种设备,系统会检查其设备驱动是否存在,如果没有,系统则会要求用户按照设备驱动程序,一旦有了全部的设备驱动程序,操作系统则会将它们调入内核,然后初始有关的表格(如进程表)。
8.5 硬盘工作原理
如今市场上的硬盘分为机械硬盘和固态硬盘两大类,我们将从这两大类出发和同学们介绍硬盘的工作原理
8.6 机械硬盘
机械硬盘主要由机械手臂、磁道和扇区组成,接下来我们将从这三个方面展开介绍机械硬盘的工作原理。
-
机械手臂:机械硬盘通过机械手臂读取数据,机械手臂的末端是磁头。
-
磁道:磁道是机械硬盘的磁面中的一个一个圈,磁道用于存储数据。
-
扇区:扇区的最小单位通常为512KB(由于磁盘大小不断增大,也有部分厂商设定每个扇区的大小是4096字节)。为了减小IO操作,机械硬盘也会将多个相邻的扇区组合在一起,形成一个块,这个块便就是我们在Windows系统中看到的C、D分区。
-
平均寻道时间:由于数据存放在磁道上,因此机械手臂需要读取数据首先要找到磁道。受限于工业水平的限制,目前机械手臂找到磁道的时间为5ms,这个时间被称为平均寻道时间。
-
平均延迟时间:机械手臂寻道之后,需要寻找数据。由于数据的位置是不确定的,而目前的机械硬盘寻找数据会从硬盘的头部扫描到尾部。以7200r/min的硬盘为例,如果碰巧在硬盘头部找到数据,时间约为0ms;如果在硬盘尾部找到数据,时间约为8.3ms,因此我们采用一个平均时间4.15ms作为机械手臂在磁道找到数据的时间,这个时间被称为平均延迟时间。
从上述描述可以得出:
8.7 固态硬盘
随着人们对数据需求增多,存储系统的瓶颈越来越明显。而在嵌入式领域移动设备和工业自动化控制等恶劣环境下,传统硬盘机械结构已经无法满足要求,而所有这一切随着固态存储(SSD)的到来而发生了改变。
传统的机械硬盘(HDD)运行主要是靠机械驱动头,包括马达、盘片、磁头摇臂等必需的机械部件,它必须在快速旋转的磁盘上移动至访问位置,至少95%的时间都消耗在机械部件的动作上。SSD却不同机械构造,无需移动的部件,主要由主控与闪存芯片组成的SSD可以以更快速度和准确性访问驱动器到任何位置。传统机械硬盘必须得依靠主轴主机、磁头和磁头臂来找到位置,而SSD用集成的电路代替了物理旋转磁盘,访问数据的时间及延迟远远超过了机械硬盘。SSD有如此的“神速”,完全得益于内部的组成部件:主控--闪存--固件算法。SSD通过这套组成部件,让数据以电荷的方式存储在每个NAND存储单元内。
上面讲了这么多,牢记一点:固态硬盘是基于固态电子(SSD,断电数据也会保留)和算法实现数据存储的。