完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
进入32位时代,谁能成为下一个8051? 嵌入式微处理器内核界的传奇老炮儿8051同志已经年届四十,其所代表的深嵌入式微处理器内核架构也正在从8位时代向着32位时代进行迁移。进入32位时代,谁能成为8051的接班人,在深嵌入式领域一统江湖?本文将与读者一起探讨这个有意思的话题。 1.1 深嵌入式领域背景简介 在传统的计算机体系结构分类中,处理器应用分为三个领域:服务器领域、PC领域、嵌入式领域。 · 服务器领域在早期还存在着多种不同的架构呈群雄分立之势,不过由于Intel公司商业策略上的成功,目前Intel的x86处理器芯片几乎成为了这个领域的霸主。 · 而PC领域本身的几乎是由Windows/Intel软硬件组合本身的发展而壮大,因此x86架构是目前PC领域毫无疑问的垄断者。 · 而传统的嵌入式领域所指范畴非常之广泛,所谓“嵌入式”,名如其文,指在很多芯片中,其所包含的处理器就像嵌入在里面不为人知一样,嵌入式领域的应用非常之广泛,是处理器除了服务器和PC领域之外的主要应用领域。 近年来随着各种新技术新领域的进一步发展,嵌入式领域本身也被发展成了几个不同的子领域而产生分化: · 首先随着智能手机(Mobile Smart Phone)和手持设备(Mobile Device)的大发展,移动(Mobile)领域逐渐发展成了规模匹敌甚至超过PC领域的一个独立领域,其主要由ARM的Cortex-A系列处理器架构所垄断。由于Mobile领域的处理器主要需要加载Linux操作系统,同时涉及到复杂的软件生态,因此其具有和PC领域一样对软件生态的严重依赖。目前既然ARM Cortex-A系列已经取得了绝对的统治地位,其他的处理器架构很难再进入该领域。 · 其次是实时(Real time)嵌入式领域,该领域相对而言没有那么严重的软件依赖性质,因此没有形成绝对的垄断,但是由于ARM处理器IP商业推广的成功,目前仍然以ARM的处理器架构占大多数市场份额,其他处理器架构譬如Synopsys ARC等也有不错的市场成绩。 · 最后是深嵌入式领域,该领域更加的像前面所指的传统嵌入式领域,该领域的需求量非常之大,这种深嵌入式领域往往注重低功耗、低成本和高能效比,无需加载像Linux这样的大型应用操作系统,软件往往是需要定制的裸机程序或者简单的实时操作系统,因此对软件生态的依赖性相对比较低。因此在该领域很难形成绝对的垄断,但是由于ARM处理器IP商业推广的成功,目前仍然以ARM的Cortex-M处理器占据多大数市场份额,其他的架构譬如Synopsys ARC、***Andes等也有非常不错的表现。 综上,由于移动(Mobile)领域崛起成为一个独立的分类领域,现在通常所指的嵌入式领域往往是指深嵌入式领域或者实时嵌入式领域。说到此处,我们就不得不提及一位前辈老炮儿:8051内核。 1.2 8位时代的传奇老炮儿——8051 说起8051内核,熟悉嵌入式领域的朋友,几乎无人不知无人不晓。8051作为一款诞生了数十年之久的微处理器内核,在8位嵌入式微处理器内核领域,它是当之无愧的传奇老炮儿。 自从Intel于1980年为嵌入式系统开发 Intel MCS-51 (通常简称 8051)单芯片微控制器(简称单片机)至今,8051内核架构已经走过将近40个年头。Intel还以专利转让的形式把8051内核转让给了许多其他半导体公司,这些公司进一步发展出不同型号基于8051内核的微控制器芯片,因此形成了一个庞大的8051家族。 由于几十年发展下来的庞大的用户群和生态环境,以及多年来众多备受肯定的成功产品,可以说8051内核几乎成为8位微处理器内核的业界标杆。8051内核架构在1998年失去专利保护,久经沙场的它再次迸发出强大的二次生命力,各种形式的8051架构MCU(微控制器MicrocontrollerUnit)进一步涌入市场,各种基于8051内核的芯片产品层出不穷,各种免费版本的8051内核IP也可以从各种渠道获取。 当然由于8051内核并没有一个统一的组织和标准进行管理,所以也存在着体系结构混乱,各种增强型复杂多样的问题,虽然时常也都自称为8051内核,但是其实各有差别,琳琅满目让人难以分辨。但是这丝毫无法影响8051内核的经典地位,时至今日,虽然目前微处理器内核正在经历着向32位架构迁移的大趋势,但是8051内核仍然有着举足轻重的地位,在大量的MCU,数模混合芯片,SoC芯片中仍能看到8051内核的身影,并且在相当长的时间内,在适合8位架构处理器内核的应用领域中都将继续使用8051内核,可以说是廉颇虽老,尚能饭也。 8051内核之所以能在嵌入式领域取得如此成功的地位,可以归功于如下几个方面的原因: · 广泛的被认知度,简单的体系结构。 · 没有知识产权的限制,免费和开源的版本众多,非常适合中小型芯片公司采用。 · 庞大的用户群以及相应的生态系统。 · 成熟且免费的软件工具链支持。 尽管如此,8051作为一款诞生了接近40年的8位CISC(复杂指令集)架构内核,虽然是老骥伏枥壮心不已,但是由于其性能低下,寻址范围局限,已经难以适应更多的新兴应用领域。随着IoT的发展和崛起,虽然嵌入式领域对于处理器内核的需求更加井喷,但是更多的是开始采用32位架构,且很多传统的8位应用领域也在开始向着32位架构迁移。 1.3 IoT的崛起——32位时代的到来 IoT(物联网)这个概念的提出和全面进入人们的视线其实并不久远,应该说IoT是时下最热点的技术应用领域之一。即便近一年来火爆的AI风头更劲一时无两,但是IoT也是AI的基础支撑技术,譬如以智能家居和智能城市为例,IoT终端设备支撑和AI的边缘智能计算便是很重要的两项技术基础设施,IoT与AI呈现出相辅相成进一步提速发展之势。根据麦肯锡全球机构的最新报告预测,全球物联网市场规模可望在2025年以前达到11兆美元,这意味着物联网将有潜力在2025年时达到约11%的全球经济占有率。 物联网的新兴应用需要使用到性能更高的32位架构微处理器内核。以MCU为例,工业物联网、可穿戴式装置和智能家居为目前MCU市场的主要驱动力,而32位架构更是当前驱动MCU成长的重要领域。譬如以智能家居为例,智能家居中的有些应用需要更精确的测量和控制、更好的能效,都需要有更复杂的数学模型和运算,这就要求MCU的运算速度大幅提升,以满足能耗和运算的需求。32位MCU执行效能更佳,能够满足众多物联网应用对数据处理能力要求, 能够兼顾物联网的低功耗和高性能要求。有分析称,以2015年统计数据来看,全年全球32位MCU的出货量,就已经超过4/8/16位MCU的总和。 谈及32位架构微处理器内核,就难以绕开该领域的学霸ARM Cortex-M同学了。 1.4 既生瑜何生亮——ARMCortex-M的独角戏 众所周知,ARM公司虽然设计开发基于ARM架构的处理器核,但是商业模式并不是直接生产处理器芯片,而是作为知识产权(IP:Intellectual Property)供应商,转让授权许可给其合作伙伴。ARM公司的强大之处便在于其与众多合作伙伴一起构建了强大的ARM阵营,全世界目前几乎大多数主流芯片公司都直接或者间接的在使用ARM架构处理器。 ARM Cortex-M内核是ARM公司推出的一组用于低功耗微控制器领域的32位RISC处理器系列IP,包括Cortex-M0, Cortex-M0+,Cortex-M1, Cortex-M3, Cortex-M4(F), Cortex-M7(F),Cortex-M23, Cortex-M33(F)。如果Cortex-M4 / M7 / M33处理器包含了硬件浮点运算单元(FPU),也称为Cortex-M4F / Cortex-M7F /Cortex-M33F。 Cortex-M的应用场景虽然不像Cortex-A系列(Mobile领域应用处理器)那样光芒四射,但是其应用的嵌入式领域如前文所述随着IoT的发展需求量巨大。2009年Cortex-M0这款超低功耗的32位处理器问世后,就成了各芯片制造商竞相争夺的香饽饽,仅仅9个月时间,就有15家厂商与ARM签约。至今Cortex-M3与Cortex-M0的合计出货量已经超过200亿,其中有一半的出货是在过去几年完成的,据称每30分钟的出货量就可以达到25万片。 Cortex-M的耀眼领域之一便是MCU。如前文所述,随着IoT的发展,MCU的需求也极大增长。在ARM推出Cortex-M之前,全球主要的几个MCU芯片公司大多采用8位、16位内核或者其自有的32位架构内核。ARM推出Cortex-M 之后,迅速受到市场青睐,至今,主要的MCU厂商中几乎都有使用ARM 的Cortex-M内核的产品线。MCU排名前十的厂商,虽然很多都曾用自有架构,但是这些采用自有架构处理器的MCU厂商都面临市场萎缩的问题,使其难以坚守自有架构处理器,譬如瑞萨,目前在工控领域已经推出了多款基于ARM Cortext-M内核的MCU。因此,有声音表示:“未来Cortex-M系列的MCU产品替代传统的8051或其它商业自有架构是大势所趋”。甚至有声音表示:“未来,MCU产品将不再按8位,16位和32位来分,而是会按照M0核,M3核以及M4核等ARM内核的种类来分。” 可以说,32位MCU领域目前几乎成为了ARM内核的独角戏,无敌是多么寂寞啊,笔者也不得不替非ARM架构的商业处理器厂商们拊膺长叹:既生瑜,何生亮啊。 2016年7月,日本软银集团以约243亿英镑(约合320亿美元)和高达43%的溢价收购ARM公司。软银之所以高价收购ARM也是因为ARM正在成为智能硬件和物联网设备的标配。在收购ARM公司时,软银CEO孙正义曾表示:“这是我们有史以来最重要的收购,软银集团正在捕捉物联网带来的每一个机遇,ARM则非常符合软银的这一战略,期待ARM成为软银物联网战略前进的重要支柱。”之后,孙正义更表示:“未来20年内,ARM架构芯片的年出货量将达到1万亿颗,ARM能够立刻收集所有实时数据”。 2017年6月,ARM宣布了Cortex-M3和Cortex-M0两款处理器的免前期授权费计划。意味着自此之后ARM Cortex M系列的两款处理器M0和M3均被免除了早期授权费(Up Front License Fee),不过这并不是意味着彻底的免费,使用M0和M3的芯片在量产后仍需向ARM逐片支付版税(Royalty)。 虽然32位MCU领域几乎成了ARM的独角戏,但是由于嵌入式市场的多样性,在32位嵌入式微处理器IP市场,也还有其他的处理器IP供应商表现不俗,譬如嵌入式处理器IP市场占有率排名第二Synopsys ARC处理器,也有着出色的表现。不过和ARM强大的生态系统比起来,所有其他非ARM的商业32位处理器都无法对ARM的垄断地位形成撼动。似乎ARM即将统治这个世界,毫无疑问地成为32位嵌入式处理器领域的下一个8051了。吃瓜群众们纷纷表示可以回家洗洗睡了。就在此时,RISC-V走向了台前。 1.5 初生牛犊——RISC-V RISC-V架构主要由伯克利大学的KrsteAsanovic教授等开发人员于2010年发明,并且得到了计算机体系结构领域的泰斗David Patterson的大力支持。伯克利的开发人员之所以发明一套新的指令集架构而不是使用成熟的x86或者ARM架构,是因为这些架构经过多年的发展变得极为的复杂和冗繁,并存在着高昂的专利和架构授权问题。并且修改ARM处理器的RTL代码是不被支持的,而x86处理器的源代码根本不可能获得到,而其他的开源架构(譬如SPARC,OpenRISC)均有着或多或少的问题。 有感于计算机体系结构和指令集架构已经经过数十年的发展非常成熟,但是像伯克利大学这样的研究机构竟然无米下锅(选择不出合适的指令集架构供其使用),伯克利大学的教授与研发人员决定发明一种全新的,简单且开放免费的指令集架构。于是RISC-V架构诞生了,RISC-V (英文读作“risk-five”),是一种全新的指令集架构,"V"包含两层意思,一是这是Berkeley从RISC I开始设计的第五代指令集架构,二是它代表了变化(Variation)和向量(Vectors)。 经过几年的开发,伯克利大学为RISC-V架构开发了完整的软件工具链以及若干开源的处理器实例,得到了越来越多人的关注。 2016年是RISC-V正式走向开放发展的元年,RISC-V基金会(Foundation)正式成立开始运作,RISC-V基金会是一个非盈利性的组织,负责维护标准的RISC-V指令集手册与架构文档,并推动RISC-V架构的发展,RISC-V架构的目标是: (1)成为一种完全开放的指令集,可以被任何学术机构或商业组织所自由使用。 (2)成为一种真正适合硬件实现且稳定的标准指令集。 RISC-V基金会负责维护标准的RISC-V架构文档和编译器等CPU所需的软件工具链,任何组织和个人可以随时在基金会网站(https://riscv.org)上免费下载(无需注册)。 RISC-V一经推出,便受到了学术界与工业界的巨大欢迎。开放而免费RISC-V的诞生,不仅对于高校与研究机构是个好消息;为前期资金缺乏的创业公司、或成本极其敏感的产品、或对现有软件生态依赖不大的领域,也提供了另外一种选择;而且得到了业界主要科技公司的拥戴,包括谷歌、惠普、Oracle、西部数据等硅谷巨头是RISC-V基金会的创始会员。众多的知名芯片公司已经开始使用(譬如英伟达等)或者计划使用RISC-V架构开发其自有的处理器内核用于其产品。 RISC-V基金会将组织每年两次的公开Workshop(专题讨论会),促进RISC-V阵营的交流与发展,任何组织和个人均可以从RISC-V基金会的网站上下载到每次Workshop上演示的PPT与文档。RISC-V第六次Workshop在2017年五月在中国的上海交大举办,吸引了大批的中国公司和爱好者参与。 由于许多现在主流的英文计算机体系教材(譬如,计算机体系结构量化研究方法、计算机组成与设计等)的作者本身也是RISC-V架构的发起者,因此这些英文教材都将相继推出以RISC-V架构为基础的新版本,全美的大多数高校都将开始采用RISC-V作为教学范例,也意味着若干年后的高校毕业生都将对RISC-V架构非常熟知。 必须强调的是,RISC-V是一种开放的指令集架构,而不是一款具体的处理器。任何组织与个人均可以依据RISC-V架构设计实现自己的处理器,可以是高性能处理器,亦或是低功耗处理器。只要是依据RISC-V架构而设计的处理器,都可以称为RISC-V架构处理器。 除了免费开放的特点,从技术的角度来讲RISC-V架构的最大特点便是简单,非常容易设计和使用。从RISC-V架构诞生至今很短的时间内,在全世界范围内已经出现了数十个版本的RISC-V架构处理器,有的是开源免费的,有的是商业公司私有开发用于内部项目的,还有的是商业IP公司开发的RISC-V处理器IP,其中有多款非常适用于深嵌入式的开源超低功耗处理器内核。同时,作为一种开放免费的架构,RISC-V的软件工具链由开源社区维护,所有的工具链源代码均公开,可以通过RISC-V基金会网站的链接进入RISC-V Tools页面下载。 1.6 结语:32位时代,谁能成为深嵌入式领域的下一个8051? 原本学霸ARM Cortex-M同学将毫无疑问地成为8051的接班人而掌管深嵌入式领域的32位时代。但是不期而至的新生RISC-V却自带光环,让这场游戏出现了一丝变数。 前文中总结了传奇老炮儿8051的先进事迹,分析了它的几个成功因素。在此,我们将其因素归纳为表格,并且将ARM Cortex-M与RISC-V进行横向对比,如表1所示。
表1 ARM Cortex-M和RISC-V对比8051的成功因素 熟悉计算机体系结构的读者都知道,一款处理器内核架构最终能否取得成功,很大程度上取决于用户群体和软件生态环境。目前此项ARM Cortex-M完胜,ARM经过多年的经营,构建了强大的联盟和城宽池阔的软件生态环境,可以说是兵精粮足,强大得武装到牙齿。 但是,前文中曾经探讨过,在深嵌入式领域,对于软件的依赖相对比较低。并且,虽然RISC-V资历非常之浅,但是其架构在开放至今很短的时间内取得了令人惊异的发展速度,越来越多的公司和项目开始采用RISC-V架构的处理器,相信RISC-V的软件生态也会逐步壮大起来。 而从另一方面来说,ARM作为商业架构下的处理器IP,具有如下缺点:其不能够进行差异化定制,不具备可扩展性,受私有知识产权保护,需要支付商业授权费用等。这些缺点在开放的RISC-V架构中都不存在,可谓是后生可畏。但是,毕竟罗马不是一天建成的,笔者认为RISC-V架构在短时间内还无法对ARM的地位形成撼动。 是商业巨擘ARM将彻底统治这个世界?还是自由战士RISC-V将别开生面?谁又能最终成为32位时代深嵌入式领域内的下一个8051?看来是胜负未可知也,吃瓜群众们也许还要再围观些时日了。 |
||
|