历史上的今天
返回首页

历史上的今天

今天是:2024年12月20日(星期五)

正在发生

2019年12月20日 | 痞子衡嵌入式:ARM Cortex-M内核那些事(1)- 内核架构编年史

2019-12-20 来源:eefocus

  众所周知,ARM公司是一家微处理器行业的知名企业,ARM公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架构授权给有兴趣的厂家。这些厂家基本涵盖了全球领先的知名半导体企业、软件和OEM厂商:TI, NXP, ST, Infineon, ADI, Cypress;Atollic,IAR system,FreeRTOS,SEGGER等。


1.ARM内核体系架构历史

  ARM是Advanced RISC Machines的缩写。ARM架构是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。


  迄今为止(2016年)ARM架构已经发展到了第八代ARMv8,在了解最新架构之前有必要重温一下ARM架构发展史:

  1985年,ARMv1架构诞生,该版架构只在原型机ARM1出现过,只有26位的寻址空间(64MB),没有用于商业产品。


  1986年,ARMv2架构诞生,首颗量产的ARM处理器ARM2就是基于该架构,包含了对32位乘法指令和协处理器指令的支持,但同样仍为26位寻址空间。其后还出现了变种ARMv2a,ARM3即采用了ARMv2a,是第一片采用片上Cache的ARM处理器。


  1990年,ARMv3架构诞生,第一个采用ARMv3架构的微处理器是ARM6(610)以及ARM7,其具有片上高速缓存、MMU和写缓冲,寻址空间增大到32位(4GB)。


  1993年,ARMv4架构诞生,这个架构被广泛使用,ARM7(7TDMI)、ARM8、ARM9(9TDMI)和StrongARM采用了该架构。ARM在这个系列中引入了T变种指令集,即处理器可工作在Thumb状态,增加了16位Thumb指令集。

arm-v5-v8

图1. ARM V5 to V8 Architecture

  1998年,ARMv5架构诞生,ARM7(EJ)、ARM9(E)、ARM10(E)和Xscale采用了该架构,这版架构改进了ARM/Thumb状态之间的切换效率。此外还引入了DSP指令和支持JAVA。


  2001年,ARMv6架构诞生,ARM11采用的是该架构,这版架构强化了图形处理性能。通过追加有效进行多媒体处理的SIMD将语音及图像的处理功能大大提高。此外ARM在这个系列中引入了混合16位/32位的Thumb-2指令集。

arm7-alternatives

图2. PD ARM7 CPU Alternativess

  2004年,ARMv7架构诞生,从这个时候开始ARM以Cortex来重新命名处理器,Cortex-M3/4/7,Cortex-R4/5/6/7,Cortex-A8/9/5/7/15/17都是基于该架构。该架构包括NEON™技术扩展,可将DSP和媒体处理吞吐量提升高达400%,并提供改进的浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。


  2007年,在ARMv6基础上衍生了ARMv6-M架构,该架构是专门为低成本、高性能设备而设计,向以前由8位设备占主导地位的市场提供32位功能强大的解决方案。Cortex-M0/1/0+即采用的该架构。


  2011年,ARMv8架构诞生,Cortex-A32/35/53/57/72/73采用的是该架构,这是ARM公司的首款支持64位指令集的处理器架构。


  2015年,在ARMv6-M基础上衍生了ARMv8-M baseline,在ARMv7-M基础上衍生了ARMv8-M mainline,Cortex-M23采用的是ARMv8-M baseline架构,Cortex-M33采用的是ARMv8-M mainline。这两款处理器加入了TrustZone支持,面向IoT物联网市场。

arm7-alternatives

图3. Performance and scalability for a diverse range of applications


推荐阅读

史海拾趣

CommScope Inc公司的发展小趣事

随着全球经济的不断发展,亚洲市场逐渐成为通信行业的重要增长点。康普公司敏锐地捕捉到了这一机遇,于1997年在苏州工业园区成立了康普通讯技术(中国)有限公司,这是康普在亚洲开设的第一家工厂。该工厂的成立不仅提高了康普在亚洲市场的生产效率,也为其进一步开拓亚洲市场提供了有力的支持。此后,康普在亚洲市场的业务逐渐扩大,为众多国内大型项目提供了网络解决方案。

Acmelux Taiwan Inc公司的发展小趣事

Acmelux Taiwan Inc公司深知人才是企业发展的根本。因此,公司高度重视人才培养和团队建设。通过设立完善的培训体系、提供广阔的发展平台以及实施激励机制,Acmelux吸引了大批优秀人才的加入。这些人才在公司的发展过程中发挥了重要作用,为公司创造了巨大的价值。同时,公司还注重团队建设,通过定期的团建活动、培训等方式,增强员工的凝聚力和向心力,为公司的发展提供了有力的保障。

ABB Group公司的发展小趣事

Acmelux Taiwan Inc公司自成立以来,一直致力于电子技术的研发与创新。早期,公司凭借一款具有独特功能的半导体产品,成功打破了市场的固有格局,赢得了众多客户的青睐。随着技术的不断迭代,Acmelux逐渐在芯片设计、封装测试等领域取得了突破,成为行业内的技术领军者。公司通过持续的研发投入,不仅巩固了现有市场地位,还积极拓展新的应用领域,为公司的长远发展奠定了坚实基础。

迦美信芯(CanaanTek)公司的发展小趣事

随着公司的发展壮大,迦美信芯不仅在上海设立了总部,还在杭州、北京、深圳等地设立了全资子公司和业务办事处。此外,公司还在欧洲比利时设立了研发中心,以进一步拓展全球市场。这些布局不仅增强了公司的研发实力,也为其在全球范围内的业务拓展提供了有力支持。

Gigavac LLC公司的发展小趣事

迦美信芯一直致力于技术创新和产品升级。公司推出的面向手机终端和物联网的2G/3G/4G/5G全系列的射频开关、天线调谐器、低噪声放大器等产品,在行业内具有较高的知名度和美誉度。特别是在天线调谐器领域,迦美信芯已成为国内设计出天线调谐器芯片并大量量产的厂家之一。

BusBoard公司的发展小趣事

在竞争激烈的电子行业,技术创新是企业生存发展的关键。BusBoard公司深知这一点,因此不断加大研发投入,引进高端人才,推动技术创新。一次偶然的机会,公司研发团队发现了一种新型材料,可以显著提高电路板的性能和稳定性。经过反复试验和优化,这一技术突破最终转化为实际产品,并成功推向市场。这一创新不仅提升了BusBoard公司的竞争力,也为客户带来了更优质的产品体验。

问答坊 | AI 解惑

串、并行口针脚的定义

并行口与串行口的区别是交换信息的方式不同,并行口能同时通过8条数据线传输信息,一次传输一个字节;而串行口只能用1条线传输一位数据,每次传输一个字节的一位。并行口由于同时传输更多的信息,速度明显高于串行... …

查看全部问答>

想去买个示波器,以及电源器

初学者, 想去 示波器,以及电源器 刚才淘宝上看到一处买示波器, 有几种价格,便宜的三四百, 不知道能不能用, 各价格有什么区别,懂的人看看 http://store.taobao.com/shop/xshop/wui_page-cat-35391858-36790672-ob7Eo8Tiyr6yqMb3ob8=.htm ...…

查看全部问答>

Matlab在Vista,AMD处理器的安装

视频叙述: 在vista系统下,AMD处理器上安装Matlab7.0, 7.04, 7.1 详见附件视频…

查看全部问答>

如何在一个task中terminate另一个task?

或者说在task A中让task B退出。 如果调用taskExit(), 该接口不带参数,无法指定到task B退出,只能使当前调用的task exit。 请问有没有方法让task B能退出?(注意不是删除task B) task B退出后的task status是什么?…

查看全部问答>

KernelRelocate函数的疑问

小弟我看EBOOT的相关内容,在BOOTLOADERMAIN()中有个KernelRelocate()函数。 static BOOL KernelRelocate (ROMHDR *const pTOC) {     ULONG loop;     COPYentry *cptr;     if (pTOC == (ROMHDR *const) ...…

查看全部问答>

驱动启动有时蓝屏

文件系统过滤驱动 不是以sfilter为模板 几乎全是自己编的 或者是从网上找代码做的函数(列进程,查文件路径,只有两个功能) 安装为驱动服务后,未重启机器前,用net start开启这个服务、或者调用startservice()开启这个服务 几乎不蓝屏 但只要把 ...…

查看全部问答>

移植2.6内核问题!Failed to execute /linuxrc

boot ram 0x30008000 Copy linux kernel from 0xea0000b1 to 0x30008000, size = 0xea0000b3 ... done zImage magic = 0x016f2818 Setup linux parameters at 0x30000100 linux command line is: \"noinitrd root=/dev/mtdblock3 init=/linuxrc ...…

查看全部问答>

EE组织的活动都很好,但这次的奖品太鸡肋

能用MSP430做东西的,肯定已经是入门的,肯定不需要开发板 …… 奖品到手了,还要考虑怎么处理掉 …… 不如弄点实在点奖品啊…

查看全部问答>