目录
前提与背景 :
什么是CPU?
CPU 主要 的功能:
CPU 运行过程:
什么是X86 ,X86的CPU类型有哪些
什么是ARM ,CPU类型有那些
复杂指令集(CISC)与 精简指令集(RISC)之争
鲲鹏云是什么 ?
前提与背景 :
偶然机会在某链接看到华为云,有个活动,奖品有机械键盘、手机等。哇,白来的怎么不会做,
通过了解是华为要推广鲲鹏云生态链而举办的活动,对于cpu框架 一无所知的小白 ,很难理解ARM
之类的关键词,自此就开始了解CPU框架,通过学习,下面对CPU 主流框架ARM和X86 进行一次简单总结。
为不知道ARM和X86 cpu框架小伙伴做一些帮助,各位海涵,有问题指出,共同学习进步。
什么是CPU?
说到CPU框架 ,不得不对CPU进行一个简单的介绍,1971年11月15日,这一天被当作全球IT界具有里程碑意义的日子而被写入许多计算机专业教科书。Intel公司的工程师特德·霍夫发明了世界上第一个微处理器—4004,这款4位微处理器虽然只有45条指令,而且每秒只能执行5万条指令。甚至比不上1946年由美国陆军宾夕法尼亚大学研制的世界第一台计算机ENIAC。但它的集成度却要高很多,一块4004的重量还不到一盅司。标志着CPU的诞生。
CPU 工作原理 图,这个图引用于 :http://blog.chinaunix.net/uid-23069658-id-3563960.html
CPU 主要 的功能:
处理指令、执行操作、控制时间、处理数据。
CPU 运行过程:
大家可以对应图看,有助于理解。
取指令(IF,instruction fetch),将一条指令从内存中取到指令寄存器的过程。程序计数器中的数值,用来指示当前指令在主存中的位置。当 一条指令被取出后,PC中的数值将根据指令字长度自动递增
指令译码阶段(ID,instruction decode),取出指令后,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类 别以及各种获取操作数的方法。
执行指令阶段(EX,execute),具体实现指令的功能。CPU的不同部分被连接起来,以执行所需的操作。
访存取数阶段(MEM,memory),根据指令需要访问主存、读取操作数,CPU得到操作数在主存中的地址,并从主存中读取该操作数用于运算。部分指令不需要访问主存,则可以跳过该阶段
结果写回阶段(WB,write back),作为最后一个阶段,结果写回阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。结果数据一般会被写到CPU的内部寄存器中,以便被后续的指令快速地存取;许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作
CPU通过这几个阶段完成一个指令的执行,如果没有什么意外,溢出,错误之类的,CPU会周而复始不断的去反复这个过程.。
什么是X86 ,X86的CPU类型有哪些
1978年6月8日,Intel发布了新款16位微处理器“8086”,也同时开创了一个新时代:x86架构诞生了。依次x86 又叫 IA32,即 Intel Architecture 32(Intel32位架构),不管是Intel生产的 x86 CPU,还是AMD或者VIA生产的,都是 IA32。2003年,AMD推出了业界首款64位处理器Athlon 64,也带来了x86-64,即x86指令集的64位扩展超集,具备向下兼容的特点。为了和AMD展开竞争,Intel也在2004年推出了自己的64位版x86,也就是EM64T。
在X86架构中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。
IA-32、x86-32、x86-64要清楚,其实它们都是一类型的,都属于x86架构的。如Intel的32位服务器Xeon(至强)处理器系列、AMD的全系列,还有VIA的全系列处理器产品都属于x86架构的。
什么是ARM ,CPU类型有那些
ARM架构过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。
ARM处理器的主要特点是:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定;Load_store结构;流水线处理方式。
复杂指令集(CISC)与 精简指令集(RISC)之争
CISC复杂指令系统就是为了增强原有指令的功能,设置更为复杂的新指令实现部分大量重复的软件功能的硬件化。由于早期的电脑主频低、运行速度慢,为了提高运算速度,不得已将更多的复杂指令加入到指令系统中来提高电脑的处理效率,慢慢形成以桌面电脑为首的复杂指令系统计算机。其指令集也是在不断更新增加当中,如Intel为X299平台上的处理器增加了AVX 512指令集,目的就是为了提高某一方面的性能。
虽然CISC可以实现高性能CPU设计,但是设计起来就相当麻烦了,要保持庞大硬件设计正确是一件不容易的事情,还要确保性能有所提升,不能开倒车,因此桌面CPU研发时间也慢慢地变长。这时候,以ARM为首的一些RISC精简指令系统计算机开始崭露头角了。
RISC可以说是从CISC中取其精华去其糟粕,简化指令功能,让指令的平均执行周期减少,达到提升计算机工作主频的目的,同时引入大量通用寄存器减少不必要的读写过程,提高子程序执行速度,这样一来程序运行时间缩短并且减少了寻址,提高了编译效率,最终达到高性能目的。
功耗方面 因为俩者面向的对象不同,CISC、RISC设计思路来看,大家不难发现,他们走的路根本不一样,前者专注于高性能方向,但带来高功耗,而后者专注于做低功耗的嵌入式,对于性能的最强不是太过强劲。因此我们也看到Intel、AMD他们擅长于设计性能超高的X86处理器,而高通、苹果依靠ARM IP授权设计出注重效能的SoC芯片。
就像我们以前所举的例子,Core i7-8086K可以轻易跑出95W功耗,但像高通骁龙845这种最顶级的SoC也不过是5W,只有其1/19,主要是手机尺寸越来越小,电池容量、能量密度发展跟不上,手机所用ARM内核只能是低功耗。
一般来说,处理器的功耗可以随着制造工艺的进步而降低,但近些年来,移动设备所采用的的SoC往往率先使用更小的纳米工艺制程,比方说骁龙845的10nm,虽然里面有取巧成分,但推进速度远远快于Intel的10nm工艺,加之SoC还会有对应的低功耗版本工艺,所以无论是设计上、还是工艺上的差别,都导致了ARM、X86功耗差异非常大。
大小核架构
从前的X86传统CPU,如果是四核或者是双核,内部的四个、两个个核心都是一模一样的,这样的话,由于一旦软件只能调度一个核心,处于高频工作,但由于架构限制,其余核心也要保持同样的高频率和高电压状态,这样就浪费了大量的能量在做无用功。后来就发展出了异步多核,允许不同核心工作在不同频率上,以此换来更低功耗。
由于移动设备更加在意功耗,所以ARM采用了更加激进的做法,八个核里面允许有不同Cortex-A架构核心,那就是著名的ARM bigLITTLE。这样的大小核设计目的很明确,就是在有限的电池容量中,兼顾性能、续航的需求,因此SoC内部的CPU是采用异构计算,既有高性能大核心,也有低功耗小核心。
bigLITTLE架构框架,图片来自ARM官网
芯片设计厂商可以根据自己的需求,设计出有针对性的产品,比方说目前高通骁龙845、华为的麒麟970、联发科Helio X30都是bigLITTLE架构,这样的话如果你只是刷刷微博、朋友圈,那么只需要动用小核心就能完成任务,玩《绝地求生》吃鸡游戏就可能大小核全开,从而保证性能、续航的平衡。
因此ARM的bigLITTLE异步多核架构非常值得参考,甚至传闻称英特尔将在第10代酷睿处理器Lakefield上使用这种技术,高性能大核是Ice lake(下一代Core),低功耗小核心则是Tremont(下一代Atom),因此在整体功耗上控制在35W以内,用于二合一笔记本上。
鲲鹏云是什么 ?
以这一张图为中行,介绍鲲鹏云 ,鲲鹏云是以 鲲鹏920 处理器为核心的云服务器 ,鲲鹏920处理器兼容ARM架构,采用7nm工艺制造,可以支持32/48/64个内核,主频可达2.6GHz,支持8通道DDR4、PCIe 4.0和100G RoCE网络。
相比于 传统X86 服务器,高性能和低功耗成为他突出的特点。
目前鲲鹏云社区处于一个发展阶段,鲲鹏云支持多个操作系统,目前不支持Windows操作系。
支持各种应用,一些跨平台语言无需编译可直接在 ,鲲鹏运行,
但是像c 、c++ 需要编译的语言,安装时需要编译后安装。
部分参考 :http://m.elecfans.com/article/711805.html (写的很棒)