计算机概论

《鸟哥的Linux私房菜 基础篇 第四版》
整理一些相关的知识点,方便以后查看。

计算机

所谓的计算机就是一种计算器。而计算器其实是:接受用户输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息。

计算机硬件的五大单元

计算机的硬件组成可分为三部分:
1.输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等等一堆。
2.主机部分:这个就是系统单元,被主机机壳保护住了,里面含有一堆板子、CPU与主存储器等。
3.输出单元:例如屏幕、打印机等等。

主机里面最重要的就是一片主板,上面主要是中央处理器(CPU)以及主存储器、硬盘还有一些适配卡装置。通常这些组件直接焊接在主板上面。
主存储器
简称主存,其作用是存放指令和数据。
也即通常说的内存,也就是RAM。
其实如果单单让电脑“运行”的话,硬盘是可有可无的,在安装系统的时候你可以选择光盘启动,不需要硬盘启动。而 RAM是主储存器,就是因为它是不可缺少的。电脑运算速度快是因为电脑的核心CPU运算速度快,CPU运算时需要读取大量的数据,硬盘的读取速度相对于CPU来说实在是太慢了,如果让硬盘来直接给CPU供应数据,那么CPU的运算速度将会下降几万倍,因为CPU需要等待硬盘。而RAM读取数据的速度是以纳秒计的,1秒=1000000000纳秒,能应付CPU需要的大量数据。所以RAM是主储存器。(摘自weiliqiao的百度回答)
RAM:这类的存储器一旦断电,数据就会丢失。
ROM:这类的存储器一旦断电,仍然可以存储数据。(例如硬盘)

中央处理器(Central Processing Unit,CPU)

整部主机的重点在于中央处理器。CPU为一个具有特定功能的芯片,里头含有微指令集。
由于CPU的主要工作在于 运算管理,因此在CPU内又可分为两个主要的单元: 算数逻辑单元控制单元
其中,
算数逻辑单元主要负责程序运算与逻辑判断。
控制单元主要协调各周边组件与各单元间的工作。

Note:
CPU的重点是进行运算与判断,那么要运算与判断的数据是从哪里来的?
CPU读取的数据都是从主存储器(内存)来的。
主存储器内的数据都是从输入单元所传输进来的。
而CPU处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。

因此:
我们常说,要加快系统效能,通常将内存容量加大就可以获得相当好的效果。
因为所有的数据都经过主存储器(内存)的传输,所以内存的容量如果太小,数据快取就不足。

综合上面所说,计算机的五大单元就被分为:
输入单元、输出单元、CPU内的算数逻辑单元、控制单元与主存储器。如下图:
计算机概论_第1张图片
上图的系统单元指的就是计算机机壳内的主要组件。而重点在于CPU与主存储器。
特别要看的是实线的传输方向,基本上数据都是流经过主存储器再转出去的。
至于数据流进/流出内存则是CPU所发布的控制命令!
而CPU实际要处理的资料则完全来自于主存储器。
由上图也可知道,所有的单元都是由CPU内部的控制单元来负责协调的。
因此,CPU是整个计算机系统最重要的部分。

CPU的架构

CPU内部含有一些微指令。我们所使用的软件都要经过CPU内部的微指令集来达成。
这些指令集的设计又被分为两种设计理念,也是目前常见的两种主要CPU架构,分别是:
精简指令集 (RISC) 与 复杂指令集(CISC) 系统。

精简指令集(Reduced Instruction Set Computer,RISC)

这种CPU的设计,微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳。
若要做复杂的事情,就要由多个指令来完成。

复杂指令集(Complex Instruction Set Computer,CISC)

与 RISC 不同,CISC在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多且复杂,每条指令的长度并不相同。指令执行较为复杂所以每条指令花费时间较长。

Tip:
32位CPU,64位CPU,所谓的位指的是CPU一次数据读取的最大量。
64位CPU代表CPU一次可以读写 64bits 这么多的数据。
32位CPU则是CPU一次只能读取32bits的意思。
因为CPU读取数据量的限制,因此能够从内存中读写的数据也就有所限制。

其它单元的设备

五大单元中的控制、算术逻辑被整合到CPU封装中。
其它三个重要的计算机单元通过 主板(main board) 连接在一块。
主板上面有个连接沟通所有设备的芯片组,这个芯片组可以将所有单元的设备连接起来,好让CPU可以对这些设备下达命令。

其他重要的单元:
1.系统单元
见上图。系统单元还包括CPU与内存及主板相关组件。而主板上头还有很多的连接界面与相关的适配卡。(各项接口设备)

2.记忆单元
包括主存储器(main memory,RAM) 与 辅助内存。
其中辅助内存就是常说的储存装置,包括硬盘,软盘,光盘,磁带等等。

3.输入、输出单元

计算机中的计算单位(容量、速度)

计算机的运算能力除了CPU微指令集设计的优劣之外,但主要还是由速度来决定的。
而存放在计算机存储设备当中的数据容量也是有单位的。

容量单位

1 Byte = 8 bits
1KB = 1024 B
1MB = 1024 KB

计算机概论_第2张图片
一般来说,
文件容量使用的是二进制的方式。所以 1G Bytes 实际大小是 : 1024 x 1024 x 1024 Bytes

例:
一个500GB的硬盘,格式化完毕后只剩下466GB左右的容量。
解释:
一般硬盘制造商使用十进制的单位。
所以,500GByte代表为 500 x 1000 x 1000 x 1000Bytes的意思。
转换成文件容量单位时,使用二进制。(1024为底)
所以
只有466GB左右的容量了。
计算过程为:
500 x 1000 x 1000 x 1000Bytes 除以 (1024 x 1024 x 1024) = 466GB

对于硬盘来说,最小的组成单位为扇区(sector),通常硬盘容量的计算采用【多少个sector】,所以才会使用十进制来处理。
比如500GByte,总计有976562500个扇区,乘以扇区大小512Bytes,总共500GBytes。

速度单位

速度单位使用十进制。例如 1GHz 就是 1000 x 1000 x 1000Hz 的意思。
CPU的指令周期常使用 MHz 或 GHz 的单位, 这个 Hz 就是秒分之一。
在网络传输方面,由于网络使用的是 bit 为单位。因此,网络常使用的单位为 Mbps 是 Mbits per second,亦即是每秒多少Mbit。
Mbps=Mbit/s即兆比特每秒(1,000,000bit/s)
MB/s的含义是兆字节每秒,指每秒传输的字节数量(大写B代表Byte)
换算:
1Mbps=1,000,000比特/秒=125,000字节/秒≈0.119MB/s
注意的是,一个使用兆比特每秒,这个值是用十进制换算。而当用到兆字节每秒的时候,是用二进制的。
个人感觉可以把值全部换算到bit,在根据对应的进制换算就行了。

Intel芯片架构

如下图:
计算机概论_第3张图片
主板上面有个连接沟通所有设备的芯片组,这个芯片组可以将所有单元的设备连接起来。因此这个芯片组设计的优劣,就会影响性能。
早期的芯片组通常分为两个网桥来控制各组件的沟通,分别是(1)北桥 :负责链接速度较快的CPU、主存储器与显示适配器界面等组件;(2)南桥:负责链接速度较慢的装置接口,包括硬盘、USB、网络卡等等。
由于北桥最重要的就是CPU与主存储器之间的桥接,因此目前的主流架构中,大多将北桥内存控制器整合到CPU封装当中了。所以上图只会看到CPU而没有看到以往的北桥芯片。

你可能感兴趣的:(Linux)