鸟哥的Linux私房菜学习笔记01-计算机概论
# 计算机硬件的五大单元
依据外观,计算机主要分为三部分:输入单元、中央处理器、输出单元
输入单元: 键盘、鼠标等
中央处理器(CPU): 算术逻辑、控制、记忆等单元
输出单元:屏幕、打印机等
整台主机的重点在于中央处理器(CPU),CPU为一个具备特定功能的芯片,里头含有微指令集。CPU的主要工作在于管理和运算,因此CPU内有可以细分为算术逻辑单元和控制单元,其中算术逻辑单元主要负责程序运算与逻辑判断,控制单元主要协调各组件与各单元间的工作。
CPU读取的数据都是从内存读取来的,内存内的数据则是从输入单元传输进来的,而CPU处理完的避暑也必须先写回内存中,最后数据才从内存传输到输出单元。
综上,计算机其实是由输入单元、输出单元、CPU内部的控制单元、算术逻辑单元与内存五大部分组成。
# CPU
CPU内部已经包含一些小指令集,这些指令集目前有两种设计理念,分别为:精简指令集(RISC)与复杂指令集(CISC)。
精简指令集(Reduced Instruction Set Computing, RISC): 指令集较为精简,每条指令执行时间短,指令的执行性能佳,但是要做复杂的事情,就要由多个指令来完成。常见的RISC指令集CPU主要为ARM系列,大量用于移动设备、导航系统、网络设备(交换机、路由器)等。
复杂指令集(Complex Instruction Set Computing, CISC):指令集多而且复杂,每条指令执行时间较长,单每个指令可以处理的工作较为丰富。常见的CISC指令集CPU有AMD、Intel等x86架构的CPU。
最早Intel发展出来的CPU代号8086,后面依此架构又开发出80286、80386等,因此这种架构的CPU成为x86架构。
x86架构的CPU被大量用于个人计算机。
主流x86开发商(AMD,Intel)的CPU架构并不兼容,所以两大主流CPU所需要的主板芯片组设计也不太相同。
整个主板上最重要的就是芯片组,芯片组又分为两个桥接器来控制各组件的通行。
北桥芯片: 负责连接速度较快的CPU、内存与显卡等组件; 南桥芯片: 负责连接速度较慢的周边接口,包括硬盘、USB、网卡等。
北桥的总线称为系统总线,因为是内存传输的主要信道,所以速度较快;南桥的总线被称为的输入输出(I/O)总线,主要用于“联系“硬盘,USB、网卡等接口设备。
AMD的芯片组架构有点不同,内存是直接和CPU通信而不通过北桥,这样理论上可以加速CPU与内存的传输速度。
CPU每次能够处理的数据量称为字组大小,字组大小依据CPU的设计分为32位和64位。我们现在所称的计算机是32位或64位主要是依据CPU解析的字组大小而来的。
# 存储器
内存分为RAM和ROM两种。RAM具体即为主板上插入的内存条,ROM具体为主板上一个内存芯片,BIOS就是被写死在ROM上的一套程序。
另外,因为内存和CPU的数据需要经过北桥传送,为了提高CPU运行性能,目前CPU内部都会集成第二层缓存(L2 Cache).
# 显卡
显卡主要也是通过北桥芯片与CPU、内存等同学,对于图形影像来说,显卡也是需要高速运算的一个组件,所以数据传输也是越快越好。
# 硬盘
硬盘主要由盘片、机械手臂、磁头和主轴马达所组成。实际运行时,主轴马达让盘片转动,然后机械手臂可伸展让读写头在盘片上进行读写操作,硬盘通过有多个盘片。
盘片抽象化为一个多个同心圆绘制出的饼形, 每一个圆称为磁道(Track),磁道是由N多个扇区(Sector)组成,扇区是磁盘存储的最小单位。在所有盘片上的同一个磁道可以组成一个柱面(Cylinder), 柱面是分割磁盘的最小单位。
根据接口不同,硬盘传输接口分两种:IDE接口和SATA接口。(IDE接口基本被淘汰)。
硬盘上含有一个缓冲存储器,这个内存主要是将硬盘内常用的数据缓存起来,加速读取性能。主流的硬盘可达16M左右的内存大小。
# 文字编码
常用的英文编码表为ASCII系统,这个编码系统中,每个符号(英文、数字或符号等)都会占用1B的记录,因此,总共会有2>8=256中变化。而中文的编码系统,目前最常用的big5(简体中文是gb2312)这个编码表,每个中文字会占用2B,理论上最多可以有2>16=65536,即最多可达6万多个中文字。
为了兼容各种编码,国际组织ISO/IEC制定了Unicode编码系统,即UTF8码。