近些年来ARM Cortex-M阵营各厂商(ST、NXP、ATMEL、Freescale……)发布新产品的节奏越来越快,以及微控制器应用普及程度的加深,越来越多的开发者把更多精力投注在应用层开发上,花在对底层技术上的时间越来越少。小编我希望借助我之前对底层的一些积累,可以帮到大家快速的建立对Cortex-M系列处理器(M0/M0+/M3/M4/M7以及新的M23/M33)的底层技术:芯片内核、编译器/开发环境底层、底层软件、调试技术等的快速积累,可以帮助大家更好、更快、更可靠的开发产品。
2、流水线由3级改成2级;3、在M0+芯片中,GPIO是直接挂在M0+内核上的,而M0内核的芯片中,GPIO是挂在APB总线上的;这是什么意思呢?简单来说,M0+芯片中GPIO翻转速率可以达到系统内核时钟的一半,而M0的GPIO要慢得多,因为M0+内核直接访问GPIO并予以控制,M0芯片则是M0内核要先访问AHB总线,再访问APB总线,再访问GPIO才能进行控制。
M4简述
现在主流的M4处理器基本都集中在90nm工艺的范畴上,内核动态功耗基本上是M0+的3倍多,晶元面积是M0+的4倍左右,同等主频下性能大概提升接近40%。考虑到具体应用,M0+的量产芯片大都主频较低,M4相对高不少,所以实际功耗以及性能差距会更大。随着M4的出现M3现在在市场上面的新的应用越来越少,这里就不单独介绍M3了。
现在新的M4微控制器呈现了以下几个发展方向,代表未来几年的微控制器发展方向:
1、高能效比:早期的M3/M4功耗大都在300+uA/MHz左右,现在新的90nmLP工艺下新的M4微控制器的功耗已经下降到100-200uA/MHz的水平,未来会更低,能效比会更高;
2、向着更高的工艺挺进:目前我了解到NXP已经开始着手设计40nm工艺的M4处理器,国内的GD也开始尝试用55nm甚至更高的工艺设计M3/M4微控制器,一旦这些更先进工艺处理器落地,M4微控制器的价格&功耗会被大幅度拉低,M4的能效比会比现在90nm工艺的M0+更高,这会是一个相当重要的改变;
3、安全:最近1-2年各个大的半导体厂商设计的新的微控制器很多都加入了安全单元,各种对称/非对称加密的协处理引擎被加入到新的M4控制器中,AES、SHA、3DES等,为了适应新的物联网应用,安全都是未来微控制器的设计重点,这点在新的ARMv8-M中体现尤为明显,安全特性功能是M33与M4最大的区别,以后我们找机会单独说M23与M33。
4、SOC/SIP化:这点体现的最早,基本上从M3时代,M0/M3就被大量SOC化,市面上大量的无线SOC都是M0/M3/M4内核,国内近1-2年大量厂商开始试水SIP,国内目前大量SIP芯片内部集成了M0/M3/M4裸片。
目前市面上量产的M7芯片并不多,只有ST、ATMEL、NXP有少数几个型号;
M7性能非常彪悍,几乎比同主频下的M4提升近50%(M7的六级超标量流水线真不是盖的~),NXP新量产的i.MXRT1050(据说是40nm工艺)系列M7处理器甚至飙到了3000+的CoreMark,以前的传统M3/M4的CoreMark超过300的都凤毛麟角,M7一下子把Cortex-M系列微控制器的性能提升了至少10倍,但目前从市场占有率来说,M7还比较新应用还偏狭窄,未来可以畅想的空间还很大。
这篇里面扯了比较多的废话,以后的文章会重点从技术底层细节着手,扯更多的蛋。