linux学习笔记1——计算机概述:cpu指令集、什么是x86、32位与64位、超线程

找一本好书,是持续学习的基本动力哈。

鸟哥的私房菜写的不错,感觉得出来鸟哥是很喜欢计算机的人,说各方面知识的时候都如数家珍一样,是个老师吧?还很喜欢教人的老师。

打算重读跟鸟哥学linux 第4版做个笔记系列。

一、计算机概述

     计算机从外表来看,显示器+键盘+鼠标,构成了笔记本的形式,换成台式机,就有一个机箱,在机箱里又有cpu、主板、电源等,计算机从十多年前开始主要构成就差不多,只是性能好了很多。

     用鸟哥的话说,计算机就是:接受使用者输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后, 以产生或储存成有用的信息。

     按照这个概念,实际上,智能设备、手机都是计算机,是计算机就有操作系统,有操作系统也就会有应用程序,所以编程的工作会越来越多。:)

1,计算机的五大单元:(1)输入单元;(2)输出单元;(3)主机部分

将(2)拆分——(3)CPU的控制单元、(4)算数逻辑单元、(5)内存

中央处理器 ( Central Processing Unit, CPU)为一个具有特定功能的芯片, 里头含有微指令集。CPU 内又可分为两个主要的单元,分别是: 算数逻辑单元与控制单元。算数逻辑单元主要负责程序运算与逻辑判断,控制单元则主要在协调各周边元件与各单元间的工作。CPU能够接触的数据从内存来,处理完数据后又返回给内存。

因此,为什么我们都会说,要加快系统性能,通常将内存容量加大就可以获得相当好的成效?——因为所有的数据都要经过内存的传输, 所以内存的容量如果太小,数据高速缓存就不足~影响性能相当大啊!同理适用于智能手机。

2,CPU

CPU的微指令集合.我们用的软件需要通过CPU的微指令集来运行,这些指令又分为两种设计理念,精简指令集 ( RISC) 与复杂指令集 ( CISC)。

精简指令集 ( Reduced Instruction Set Computer, RISC)
这种 CPU 的设计中,微指令集较为精简,每个指令的执行时间都很短,完成的动作也很单纯,指令的执行性能较佳; 但是若要做复杂的事情,就要由多个指令来完成。

你常使用的各厂牌手机、PDA、导航系统、网络设备( 交换器、路由器等) 等,几乎都是使用 ARM架构的 CPU 喔! 老实说,目前世界上使用范围最广的 CPU 可能就是 ARM 这种架构的呢!
复杂指令集( Complex Instruction Set Computer, CISC)
与RISC不同的,CISC在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂, 每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长, 但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。
个人电脑常被称为x86架构的电脑!那为何称为x86架构呢

这是因为最早的那颗Intel发展出来的CPU代号称为8086,后来依此架构又开发出80286,80386..., 因此这种架构的CPU就被称为x86架构了。

在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位, 为了区别两者的差异,因此64位的个人电脑CPU又被统称为x86_64的架构喔!

所谓的位指的是CPU一次数据读取的最大量!64位CPU代表CPU一次可以读写64bits这么多的数据,32位CPU则是CPU一次只能读取32位的意思。一般32位的CPU所能读写的最大数据量,大概就是4GB左右。
3,其他设备(除cpu)

其他三个重要电脑单元的设备还有哪些呢? 其实在主机机箱内的设备大多是通过主板( main board) 连接在一块,主板上面有个链接沟通所有设备的芯片组。其他单元的重要设备主要有:
(1)系统单元。系统单元包括 CPU 与内存及主板相关元件。而主板上头其实还有很多的连接接口与相关的适配卡,包括鸟哥近期常使用的 PCI-E 10G 网卡、 磁盘阵列卡、还有显卡等等。

(2)存储单元:包括内存 ( main memory, RAM) 与辅助内存,其中辅助内存其实就是大家常听到的“储存设备”啰!

(3)输入、输出单元

4,电脑上面常用的计算单位

(1)容量单位
1 Byte = 8 bits
进位制 Kilo   Mega  Giga    Tera      Peta   Exa    Zetta
二进制 1024 1024K 1024M 1024G 1024T 1024P 1024E
十进制 1000 1000K 1000M 1000G 1000T 1000P 1000E

例题:假设你今天购买了500GB的硬盘一颗,但是格式化完毕后却只剩下460GB左右的容量,这是什么原因?答:因为一般硬盘制造商会使用十进制的单位,所以500GByte代表为50010001000*1000Byte之意。 转成文件的容量单位时使用二进制( 1024为底) ,所以就成
为466GB左右的容量了。
 

(2)速度单位

CPU的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一。而在网络传输方面,由于网络使用的是 bit 为单位,因此网络常使用的单位为 Mbps 是 Mbits persecond,亦即是每秒多少 Mbit。

5,个人电脑

5.1 Intel芯片架构、cpu性能

期的芯片组通常分为两个桥接器来控制各元件的沟通,分别是:( 1) 北桥:负责链接速度较快的CPU、内存与显卡接口等元件;( 2) 南桥:负责连接速度较慢的设备接口, 包括硬盘、USB、网卡等等。不过由于北桥最重要的就是 CPU 与内存之间的桥接,因此目前的主流架构中, 大多将北桥内存控制器整合到 CPU 封装当中了。
目前将内存控制器整合到 CPU 后,CPU与内存之间的沟通是直接交流,速度较快之外,也不会消耗更多的带宽!
CPU上头通常会安插一颗风扇来主动散热的。
原本的单核心CPU仅有一个运算单元,所谓的多核心则是在一颗CPU封装当中嵌入了两个以上的运算核心, 简单的说,就是一个实体的CPU外壳中,含有两个以上的CPU单元就是了。所谓多核指的是多运算核心。
不同的CPU型号大多具有不同的脚位( CPU上面的插脚) ,能够搭配的主板芯片组也不同,所以当你想要将你的主机升级时,不能只考虑CPU,你还得要留意你的主板上面所支持的CPU型号喔!

不同的微指令集会导致CPU工作效率的优劣。除了这点之外, CPU性能的比较还有什么呢?那就是CPU的频率了!什么是频率呢?简单的说, 频率就是CPU每秒钟可以进行的工作次数。频率目前仅能用来比较同款CPU的速度!

CPU 的运算速度比其他的设备都要来的快,又为了要满足FSB (前端总线)的频率,因此厂商就在 CPU 内部再进行加速, 于是就有所谓的外频与倍频了所谓的外频指的是CPU与外部元件进行数据传输时的速度,倍频则是 CPU 内部用来加速工作性能的一个倍数, 两者相乘才是CPU的频率速度。例如 Intel Core 2 E8400 的内频为 3.0GHz,而外频是333MHz,因此倍频就是9倍啰!( 3.0G=333Mx9, 其中1G=1000M)

如何知道内存能提供的数据量呢?此时还是得要借由 CPU 内的内存控制芯片与内存间的传输速度“前端总线速度(Front Side Bus, FSB) 来说明。例如,CPU可以从内存中取得的最快带宽就是 1600MHz 64bit = 1600MHz 8 Bytes = 12.8GByte/s。其中CPU 内置的内存控制芯片对内存的工作频率最高可达到1600MHz。这只是工作频率(每秒几次);每次频率能够传输的数据量,大多为64 位,这个 64 位就是所谓的“宽度”了!

与总线宽度相似的,CPU每次能够处理的数据量称为字组大小(word size), 字组大小依据CPU的设计而有32位与64位。我们现在所称的电脑是32或64位主要是依据这个 CPU解析的字组大小而来的!早期的32位CPU中,因为CPU每次能够解析的数据量有限, 因此由内存传来的数据量就有所限制了。这也导致32位的CPU最多只能支持最大到4GBytes的内存

超线程 (Hyper-Threading, HT)

我们知道现在的CPU 运算速度都太快了,因此运算核心经常处于闲置状态下。而我们也知道现在的系统大多都是多任务的系统, 同时间有很多的程序会让 CPU 来执行。因此,若 CPU 可以假象的同时执行两个程序,不就可以让系统性能增加了吗?反正 CPU 的运算能力还是没有用完啊!

此在鸟哥的实作过程中,这个 HT 确实提升相当多的性能!至少应该可以节省鸟哥大约30%~50%的等待时间喔!不过网络上大家的研究中, 大多说这个是 case by case,而且使用的软件影响很大!所以,在鸟哥的例子是启用 HT 帮助很大!您的案例就得要自行研究啰!

猜你喜欢

转载自blog.csdn.net/qq_22059611/article/details/76668278