CPU框架的选择——X86和ARM

观感更好的是在公众号的排版:https://mp.weixin.qq.com/s/LR7XfsygFc3pzPfowvIsSg
《电子产品开发产品流程》

1.1、ARM和X86的选择
一般我们设计一个产品,从拿到需求开始,第一步往往是市场性,再到可实现性分析,所以这里我们可以看出产品往往是市场所导向的,见过太多的工程师说我只要弄好技术就可以了,不理什么市场不市场的,除非你做的一些演练类的技术沉淀(比如公司的未来技术储备,学校实验室)。
好了,市场性的东西。我们不多讲,只要你知道做技术的人有时候需要考虑市场性即可

好了以上都是废话,下面进入正文

CPU框架的选择——X86和ARM_第1张图片
两个原则
市场、技术

01
我们分析技术可实现性,往往第一步是考虑硬件平台,即我们文章的题目,框架的选择。
目前来说市面上最多的是X86和ARM,少量的其他的,市面上98%以上的公司选用框架基本都往这两者靠(截止今日)。
一般我们选用平台基于两点:
1、非技术方面:公司旧产品框架,这里会涉及到一些以往的软件开发,供应价格,和供应商能提供的资源;
2、技术方面:选用的框架所支撑的材料是否足够,我们不用重新制造一个轮子,我们只需要复制轮子即可。

02
下面我们以技术方面去分析下两者的区别
X86和ARM其实分别代表着两个指令集CISC复杂指令集与RISC精简指令集
属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同,前者更加专注于高性能但同时高功耗的实现,而后者则专注于小尺寸低功耗领域。
这里我们不好去判断它们之间到底谁好谁坏,因为目前他们两种指令集都在蓬勃发展,而且都很成功。

03
什么是框架
首先我们要明白CPU是一个执行部件,它之所以能执行,也是因为人们在里面制作了执行各种功能的硬件电路,然后再用一定的逻辑让它按照一定的顺序工作,这样就能完成人们给它的任务。也就是说,如果把CPU看作一个人,首先它要有正常的工作能力(既执行能力),然后又有足够的逻辑能力(能明白做事的顺序),最后还要听的懂别人的话(既指令集),才能正常工作。而这些集中在一起就构成了所谓的“架构”
04
再简单聊下CPU
我们都知道CPU的根本任务就是执行指令,对计算机来说最终都是一串由“0”和“1”组成的序列。CPU从逻辑上可以划分成3个模块,分别是控制单元、运算单元和存储单元,这三部分由CPU内部总线连接起来。
如下所示:

然后三者的功能具体如下:
控制单元:控制单元是整个CPU的指挥控制中心,由程序计数器PC(Program Counter), 指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

运算单元:是运算器的核心。可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。

存储单元:包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途,通用寄存器的数目因微处理器而异。这个是我们以后要介绍这个重点,这里先提一下。

【下一集再见】

电子工程师的自我修炼
一个专注技术的笔者
欢迎关注我的公众号
CPU框架的选择——X86和ARM_第2张图片

你可能感兴趣的:(硬件设计)