ARM的A/R/M设计目标:适合的处理器来执行对应的任务
*Cortex-A73是继今年Cortex-A72之后的ARM旗舰级的产品,之前旗舰级从Cortex-A15到Cortex-A57到Cortex-A72都是Austin(奥斯汀)架构,Cortex-A73是采用了和Cortex-A12、Cortex-A17一样的Sofia(索非亚)架构,这是为什么,是否意味着Austin到了性能极限?
本文引用地址:https://www.eepw.com.cn/article/201607/294692.htm其实,ARM有很多设计中心,比如在奥斯汀、索非亚,还有剑桥,还有法国,还有其他地方很多的设计中心。处理器这块我们确实是有一些分工的,所有的小核都是在剑桥设计的,在大核这边,我们是由奥斯汀和索非亚两个团队分别设计的,他们之间有很多共享的团队交流,所以不存在极限这一说法。
* 未来Cortex-A73在10nm的工艺下会突破3GHz吗?
理论上是没有问题的。但是我们现在看到客户做到2G,至于客户会不会从2G一直往上提升到3G,甚至超过3G,还是要看客户的设计。
* 对于数据中心,ARM如何看待的?
实际上一直有在做,海思、NXP等有非常多基于Cortex-A72的产品出来。在数据中心这块更多地是看计算密度。在服务器里,在流水线的升级里面,能够放更多处理能力的核。此外,数据中心考虑更多的是功耗,在同样的功耗范围内ARM有更多的核和更好的处理能力。在数据中心,现在可以做到48核左右。
以前在数据中心有准入门槛,或者是很困难的,主要困难在软件即生态系统这部分。现在ARM在服务器、软件上的生产已经非常成熟了,现在这个限制已经不存在了。
* 对于数据中心,现在Cortex-A72比Cortex-A73更有优势?
答案是肯定的。因为首先Cortex-A73没有AMBA5 CHI,不支持更多的Cluster。还有一点是Cortex-A73里面不支持ECC,ECC在服务器的标准里面,在可靠性方面也是非常重要的。
Cortex-R关注实时
Cortex-R处理器从架构上看也有非常丰富的指令集的,包括处理器浮点运算SIMD(NEON)。Cortex-R处理器现在只是支持AArch32,并没有支持AArch64。Cortex-R处理器和Cortex-A处理器不一样,并没有极致地追求单线程性能,而是关注实时性,以及能够执行、完成安全性的一些特定功能。
Cortex-R处理器主要集中在代码密度的优化上。在Cortex-R里有很大一部分性能跟I/O以及flash相关,在这方面也是做了很多的优化。同时,Cortex-R也支持紧耦合的缓存,这对实时性也非常有帮助。
跟Cortex-A处理器的很多应用不一样,Cortex-R处理器侧重于实时性以及安全性,更多地应用在IoT、基带的调制解码器、存储、汽车以及工业控制等方面。Cortex-R的确定性执行、实时性以及安全性的特征,都非常适合这些领域。
Cortex-R8是今年(2016年)发布的一款处理器R8(图5),相信不久之后会看到基于Cortex-R8的基带芯片。
跟Cortex-A系列不同的是,Cortex-R有很多针对存储的优化。比如TCM的,在外设接口这边,有AXI-S和AXI-M接口以及低延迟外设接口,以及低延时的内存接口。
Cortex-R8还支持紧耦合缓存。TCM对确定性的执行有非常大的帮助的,也保证了实时性。
Cortex-R8可以支持到4核的,它是超标量乱序执行的处理器,它有11阶流水线,并且有浮点运算单元,支持单精度和双精度的浮点。和Cortex-A不太一样的是,Cortex-R集中在确定性的执行以及实时性方面。
Cortex-M及热门问题
跟Cortex-A和R不一样的是,M系列主要是面向代码密度以及低功耗的微控制器市场(如图7),所以并没有像Cortex-A和R那样有丰富的指令集。所有Cortex-M系列的处理器都是面向最低功耗的,都是按序完成的流水线。Cortex-M处理器也有非常丰富的可配置性,有些处理器可选浮点运算单元。作为可选,能够达到好的功耗以及好的面积。
Cortex-M系列的处理器可以实现超高的能效比,应用于超低功耗的IoT的MCU,也可以用于移动市场sensor hub这样需要很高性能的市场。
以Cortex-M7为例,Cortex-M7甚至比Cortex-R有更丰富的接口,所有刚才指的这些都是可配置的。如果你需要,就可以把它放到那里,不需要就可以把它移掉,像一些TCM等配件。也可以根据需求做到最优化的Cortex-M的处理器。
Cortex-M7是M系列里性能最高的处理器(如图7),也支持缓存的TCM等。当然也可以把这些去掉,得到更好的面积和功耗。Cortex-M系列也支持比较高的安全性功能,这边可以看到ECC就是来支持安全性功能。
一些热点问题如下。
* Cortex-M7比Cortex-M4功能强多少?
实际上,Cortex-M7比Cortex-M4的性能有大概40%的提升。DSP是双倍的性能提升。
* 很多MCU厂商认为今年的市场Cortex-M4会是主流,从ARM角度看,Cortex-M7什么时候会成熟?
ARM认为现在Cortex-M主要还是在中低端的市场,但我们看到市场会对DSP有很高的需求,当有高性能需求的时候,Cortex-M7市场会有一个比较大的增长,比如高频音频和视频市场的增长。
A/R/M热门问题
*A系列(SW managed interrupts)和R系列(Determinisitic SW managed)是属于软件的关联的部分,M系列(HW managed interrupt)是面向硬件的管理,为什么会有这样的差别?
因为Cortex-A的软件管理意味着你在操作系统的层面上更好的管理,你可以管理这些终端的硬件,Cortex-M系列所有这些事情都是自动完成的。
*经过这么多年,ARM架构一直在提升性能,降低功耗,架构的每次创新功能都持续的改进,未来持续的创新最高级别能到什么程度?可能需要几年?这个架构会有什么新的改变?
目前还没有看到这样一个极限。从生产工厂这块来看,在未来5年还是在不断演进的,它的工艺目前也是从10nm到7nm不断的演进。借助这样的工艺条件,我们的处理器也可以有更多的空间提升它的性能,做更多的优化。从另外一个角度来讲,我们也可以看到会有一些新的功能、新的要求在里面,前面已经讲到了,在架构这方面,我们从ARMv8.0到8.1以及8.2,以及还会看到更多的架构上的演进。另外还有系统上的优化,其实ARM有很多系统级的优化,所以多方面综合来看,还有很多事情可以做,我们也会一直持续地做创新以及优化。
*ARM有很多产品,定义一个IP的时候是基于什么考虑?
一个原因是市场扩展的需求,例如以前看到了64位市场是很大;另外面向新市场,比如网络市场、企业级市场。再有,从功能角度也会有一些提升,要看这个提升是较大还是较小,会据此决定是否需要新的设计。还有一个原因是在性能方面的提升,根据这个市场上的用户体验是否对这个性能有较大的需求,会在性能上做一些优化。还有就是在新特性上,如果有比较多的新特征,ARM会针对新特性做新的处理器,举个例子,面向ADAS市场,它对安全性的需求非常高,需要满足ASL标准,为了支持更多核的方式,ARM也会有一些新的设计。
小结
ARM处理器的主要目的就是对正确的任务设计正确的处理器,在每个架构里面都有一些独特的处理器来覆盖这样的一些市场。(注:本文根据ARM Tech Day上录音整理,未经讲演者确认。该活动由ARM公司主办,2016年6月16日,北京)
本文来源于中国科技期刊《电子产品世界》2016年第7期第30页,欢迎您写论文时引用,并注明出处。
评论