欢迎访问autooo.net
在RISC架构的类MID产品上,也可以考虑ARM最新的处理器架构,也就是Cortex-A8,该处理器基于最新的ARM v7体系,并且整合了1个64位DSP处理单元,对串流应用具备有极佳的加速能力,因此非常适用于类MID掌上型装置的多媒体、甚至是游戏应用。严格上来说,Cortex-A8也能算是多核心体系之一,但是其架构与MPCore之类的同质核心不同,而是采用1个通用处理器核心,并搭配个DSP核心而成的异质多核心处理器,相信这方面ARM向德州仪器公司借鉴了不少应用处理器的开发经验。

图说:Cortex-A8的结构示意图。
事实上,NOKIA的N770/N800便已经具备了MID的所有功能,而且更为轻薄短小,但遗憾的是,搭配原厂的1500mAh充电电池,其持续使用时间仅能达到3.5个小时,与一般市面上的UMPC产品相去不远,稍逊于Intel的MID产品,采用ARM体系处理器(N800采用基于ARM1136J(F)-S核心的i.MX31应用处理器)的省电优势在此并没有被凸显出来,不过待机时间比之MID要略长。
坚持路线的MIPS
或许可以视为意气之争,MIPS坚持与ARM实行不同的技术发展策略,ARM发展Multi Processor(MP,多处理器核 心),而MIPS则往Multi Thread(MT,多执行绪)发展,就应用概念上来看,MP与MT技术两者均致力于提高处理器的整体性能,两者都可以减少任何应用当前软件执行绪的处理时间。但这两种技术采用了不同的硬件结构来减少处理时间,因此对于任意的特定软件程序代码来说,MP与MT对处理器性能的提升着程度上的不同。
但是会造成这样的结果,其实2家IP厂商的研发概念上有很大的关连。由于MT技术着重于处理单元、内存控制器的有效利用,在最大程度上节省晶体管的使用,并且在此前提之下往上提升效能表现,这与MP架构中,系统效能需求有多少,就复制多少个核心塞进芯片中的浪费作法完全不同,MP可以取得较为全面的应用广度,但是稍嫌铺张浪费,相较之下,MT在成本与效能方面的平衡性表现要来得高明些。
许多人将MP与MT相提并论,而在某种程度上,这样的比较其实并没有太大意义,因为基本设计概念已经天差地远,架构上的采用自然无法一概而论。在技术上,为了实现硬件多重处理,两者对于软件最佳化的复杂度方面其实都同样比单核心架构要来得复杂许多,而为了要尽量避免处理单元与内存控制器在资源分配上的冲突,MT架构或许会来得更为复杂一些,但MP架构其实在某些程度上也会面临同样的问题(特别是共享高速缓存与内存控制器的多核心架构)。不论是在指令层级,或是执行绪层级的多任务,都与传统单核心单执行绪的程序写作方式与最佳化方法大异其趣。
一般的MT架构设计方面,单一处理器核心在运算的过程中,常会有内存存取速度跟不上处理器频率增加的问题,进而导致高速缓存错失(miss)时,形成执行管线长时间闲置的状况,我们都了解,1个系统中的储存单元,最快速的要属处理器中的缓存器,其次是L1高速缓存、L2快取记体,最后则是主存储器,其速度的差别可达数千倍以上,处理器要取得指令或数据时,必先从高速缓存中提取,储存于缓存器中进行运算,最终结果再回存到高速缓存,并在空闲时填回主存储器,当处理器向高速缓存发出存取需求,却发现所需要的数据不在高速缓存中,这是就必须花费大笔的时间前往主存储器寻找并读取,这其间所浪费的时间可能会高达数十个频率周期,处理管线在等待数据填补的时间,就形成了闲置状态。 如果利用处理概念,适时的将其它执行绪拉过来填补已经造成的闲置状态,其速度的增长甚至可以达到非常明显的地步,虽不至于倍增,但是由20%到40%都有可能。而要达成这样的目的,在晶体管数目方面只需增加约15%的程度即可,若以一般同样架构的单核心处理器在变更为双核心的效能增长程度约为40%到70%左右的程度,而晶体管数目几乎要倍增的情况,就可看出MIPS的MT技术的效率有多高了。但是MT技术有个严重的缺陷,那就是多执行绪工作处理过程中,过于频繁的上下文切换(context switch)将有可能会造成极大的效能耗损。

图说:MIPS 74K处理器结构示意图。
MIPS公司有大产品线,分别是单执行绪的24K与74K系列,以及多执行绪的34K系列。74K甫于今年六月发表,在65nm制程下,其运作频率已经超越1GHz,采用通用处理器搭配DSP核心的设计,不过总体效能与功耗表现略逊于类似架构的ARM Cortex-A8。多执行绪处理器的主角—34K系列,该处理器核心能设定1或2个虚拟处理组件(VPE)以及最多5个执行绪内容(TC),提供充分的可配置弹性。但是讲白了,其实两个VPE的作法就是将单颗核心模拟为2个核心,使34K核心能同时执行两个独立的操作系统,或是一个双路的对称式多重处理器操作系统。
欢迎访问autooo.net