[智能手机][硬件系统]智能手机的CPU系统

标 题: 【原创】[智能手机][硬件系统]智能手机的CPU系统(含学习资料)[MASSADA0015]
作 者: 加百力
时 间: 2009-03-08,19:51
链 接: http://bbs.pediy.com/showthread.php?t=83459

随着移动智能设备如智能手机、PDA、导航仪等的普及,越来越多核心业务如手机银行、手机炒股、电子商务、位置服务等快速向这个平台转移。人们的日常生活越来越离不开手机,很多朋友也开始关注这个方向的研发。本人是2007年开始进入这个领域学习研发,对ARM体系结构和Windows CE/Android系统有一些了解。由于本人长期得到kanxue前辈和看雪论坛朋友的帮助,得知论坛要开辟“嵌入式平台安全”板块,于是准备写一些简单文章介绍一下自己的一点心得,希望各位朋友多多批评指教。

由于智能手机领域还很新,相关资料远远比不上PC平台,所以从2007年进入这个领域以来我一直坚持的研究原则就是:

类比PC平台确立学习方向,打好基础,深入研究!

我个人认为要想深入研究智能手机平台需要至少两个重要基础:CPU架构及其汇编语言和嵌入式操作系统(如CE/Android/塞班等)

文本主要讨论智能手机的CPU系统。

在PC平台要想深入研究逆向工程,加密解密必须熟悉X86汇编。因为很多时候我们都需要分析反汇编后的本地代码程序。在智能手机平台也是一样。嵌入式平台的CPU主要是精简指令集(RISC)架构的CPU。这种架构的CPU和我们常见的PC平台的复杂指令集(CISC)架构的CPU有很大区别。比如:RISC架构的CPU,功耗很低,寄存器多,指令操作数多,指令执行可以直接取决于标志寄存器的标志位状态,CPU存在多种工作模式,指令长度固定,指令编码简单等等。

常见的RISC架构的CPU有:ARM架构、MIPS架构、Power PC架构和SH架构。其中尤其以ARM架构的CPU使用比例最大。下面就以ARM架构CPU为例详细介绍这类CPU的特点。


ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。

1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。

ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。


ARM CPU特点介绍:

1、体积小、低功耗、低成本、高性能
   ARM体系结构简单因此设计实现都更容易,这样可以大大降低了成本和功耗。


2、寄存器多
   同X86 CPU相比,ARM处理器的寄存器非常多。ARM共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:
   - 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
   - 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位。
   所以绝大多数运算操作都可以在寄存器中完成,这样可以大大提高运算速度。


3、操作数多
   一般X86指令都只有两个操作数如mov,add,sub等指令。而ARM的同类指令常常有3个操作数,这样常可以把多种操作放在一条指令中一次完成提高了运算效率。比如将mov指令除了传送数据还可以和移位指令混合,先移位后传送。

4、指令是否运行可以取决于标志寄存器的对应位
   我们知道在X86架构中我们可以通过cmp指令做出条件判断改变程序的运行流程。这样做的一个缺点是很容易切断指令流水线,继续运行必须重建指令流水线,这会导致运行效率降低。但是多数ARM指令都有一个标志位可以设置不同的条件,当运行该指令时会根据状态寄存器对应信息来决定是否运行该指令。这也是RISC架构CPU的一大特点。英特尔公司著名的安腾体系结构芯片也吸收了
这种设计理念。我在用ARM汇编写程序时也经常使用这项技术感觉非常灵活方便。

5、寻址方式灵活简单,执行效率高
   ARM的寻址方式同X86相比简单很多,绝大多数指令都是和寄存器打交道。只有很少的指令允许访问内存。由于在寄存器中处理数据效率远远高于在内存中处理,这种设计可以大大提高运行效率。

6、指令长度固定
   这是RISC架构CPU的又一个特点。X86指令从1B-13B不等情况很复杂。而ARM体系结构的指令一般都是16位或者32位指令长度固定。这样的设计结构简单,有利于降低电路系统的复杂性从而降低设计实现难度和功耗。

7、ARM体系结构有7种工作模式。
   用户模式(usr):ARM处理器正常的程序执行状态。 
   快速中断模式(fiq):用于高速数据传输或通道处理。 
   外部中断模式(irq):用于通用的中断处理。 
   管理模式(svc):操作系统使用的保护模式。 
   数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 
   系统模式(sys):运行具有特权的操作系统任务。 
   定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。 
   ARM处理器的多种工作模式可以根据使用需要切换提高了面对复杂环境的处理能力。并且在不同模式下可以使用不同的寄存器,从而
   减少了不同模式切换时保存数据的开销,提高了工作效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值