Tip:本文参考鸟哥linux的私房菜(yyds),写文目的是为了选取这本书的重要部分,方便自我学习和刚开始学习的小白更容易入门。
一、一切设计的起点:CPU架构
CPU内部含有一部分微指令集,我们所使用的软件必须要经过CPU内部的微指令集来达成才可行
设计上面所说的指令集分为两种设计理念,这就是目前世界上常见的两种主要CPU架构
CPU架构:精简指令集(RISC,Reduced Instruction Set Computer)
复杂指令集(CISC,Complex Instruction Set Computer)
精简指令集:这种CPU设计中,微指令集比较精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是如果做复杂的事情,就需要由多个指令完成
常见的精简指令集CPU:甲骨文(Oracle)公司的SPARC系列,IBM公司的Power Architecture(包括 PowerPC)系列,与安某公司(ARM Holdings)的ARM CPU系列等
SPARC :SPARC CPU的计算机常用于学术领域的大型工作站中,包括银行金融体系的主服务器
PowerPC:例如新力(Sony)公司出产的Play Station3(PS3)就是使用的PowerPC架构的Cell处理器
ARM :各厂牌手机、PDA、导航系统、网络设备(交换器,路由器)等,几乎都是使用ARM架构的CPU哦!
Tip:目前世界上使用最广泛的CPU可能就是ARM架构
复杂指令集:与精简指令集不同,复杂指令集在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同,因为指令执行较为复杂,所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。
常见的复杂微指令集CPU:AMD、Intel、VIA等的X86架构的CPU
因为AMD,Intel,VIA等X86架构的CPU被大量使用于个人计算机(Personal computer)用途上面,因此,个人计算机也叫做X86架构的计算机
X86架构的由来:最早的那颗Intel发展出来的CPU代号叫做8086,后来依次架构有开发出80286,80386......,因此这种架构的CPU就被成为X86架构了
小知识:在2003年以前由Intel所开发的X86架构CPU由8位升级到16位、32位,后来AMD依此架构修改新一代的CPU为64位,为了区别两者的差异,64位的个人计算机CPU又被统称为x86_64的架构
Tips:
位的概念:指的时CPU一次数据读取的最大量
64位CPU:CPU一次可以读取64bits这么多的数据
32位CPU:CPU一次可以读取32bits这么多的数据
因为CPU读取数据量有限制,所以能够从内存中读取的数据量也是有限制的
所以一般32位的CPU所能读取的最大数据量大概为4GB左右
上述所说的4GB来源:2的32次方:2^32 = 4,294,967,296 = 4* 1024 *1024 *1024 = 4GB
不同的X86架构的CPU有哪些差异呢?
1.CPU整体架构不同(第二层快取,每次运作可执行的指令数)
2.微指令集不同
新的X86架构的CPU大多含有很先进的微指令集,这些微指令集可以加速多媒体指令的运作,也能够加强虚拟化的效能,而且某些微指令集更能够增加能源效率,让CPU耗电率降低,由于电费越来越高,购买计算机时,除了整体的效能外,节能省电的CPU特色也可以考虑
随缘一问:
最新的Intel/AMD的x86架构中,请查询出多媒体,虚拟化,省电功能各有哪些重要的微指令集?
1.多媒体微指令集:MMX,SSE,SSE2.SSE3.SSE4,AMD-3DNow!
2.虚拟化微指令集:Intel-VT,AMD-SVM
3.省电功能:Intel-SpeedStep,AMD-PowerNow!
4.64/32位兼容技术:AMD-AMD64,Intel-EM64T