ARM从基础到大师--序

晚上回来,决定同时开始写这个系列~。开始看这个系列的前提是看完我的上一个VLSI到计算机架构的系列,如果还没有做到,除非事先比较了解RISC架构CPU的设计可以挑战一下~!这样, 应该精通MIPS指令集和RISC的概念咯。这里讨论的是针对ARM的,比如ARM处理器的指令集设计哲学思想(虽然上一个系列讲的MIPS指令集设计的可圈可点,但是各有各的特色,估计看过我上一个系列的人心里都有谱--CPU无非如此嘛,别着急--依旧路漫漫,看完这个系列,你就会懂得),ARM的低耗电指令设计,高密度代码等等。。。

这里,就先浅浅的谈ARM的设计哲学吧。随着内容的深入,才会理解什么是设计哲学。ARM的定位一开始主要是嵌入式系统,比如说手机,PDA等用电池就可以操作的智能机器。我们从上一个系列的学习,就会发现,如果你想,只要带电的你都可以做成所谓的CPU。ARM最牛的地方,就是把RISC和CISC(或许我们可以自己起名叫M-CISC----中度复杂指令集,哈哈开玩笑的了)架构运用的恰到火候。既不离RISC的架构理念太远,当然也不是笨重的CISC了。这里就大家可以体会一下,需求促进市场的理念。ARM打得一场仗,虽然远没有Intel和AMD的CPU指令集那么精妙(与其说是精妙,不如说是复杂),MOS数量远没有他的对手那么叹为观止。但是ARM抓住了整体效果(能耗,热量,价格,内存相平衡)大于局部效果(追求CPU的性能)的应用市场(谁会把一块Intel的CPU放进照相机里呢。。估计发热量镜头用一会就报废了,不过现在CISC架构的CPU们也引入相应RISC架构,互相学习嘛)。

再看看现在ARM的市场,就连我旁边那个实验室给LHC(大型粒子对撞机,--就是发现上帝粒子那个机器)做解析芯片的时候都是用我们自己设计的几万块类似于“ARM”理念的CPU搭建的。这里主要应用了ARM处理器占的面积小,并且由于整合了硬件Debug功能,所以一但那一块发生了故障便于进行调试。(如果用CISC指令集的CPU。。。几万块中查硬件错误。。。很棒~~)。那个欧洲的LHC每秒产生的数据量高达1024TB。。。ARM能够应用在这种环境下,更不用说民用市场了.(其实大部分商家大批量生产的东西都是实验室的副产物)总之,一体化和提升一体化的效率是以后的趋势。

这里再回顾一下上个系列所讲的RISC架构设计哲学:

1.定常指令集

2.流水线设计

3.通用寄存器设计

4.负载存储设计(Load-Store)

而ARM的高明之除:

1.并不是所有的指令都是定常的,也就是并不是每个指令都是在一个周期内完事的(详细见以后介绍的Load-Store指令等)

2.多了一些硬件支持更复杂的指令

3.最明显的是THumb指令集,为了提高代码密度

4.条件分支预测功能

5.增加DSP(信号处理)指令等,面向一些特殊应用的指令集


好了就先介绍这么多了,下节引入一下外围架构然后计划正真进入ARM的底层实现块图~


你可能感兴趣的:(嵌入式,ARM,处理器,流水线,通用寄存器,负载存储)