【嵌入式系统】ARM Cortex-A8体系结构

2.1 ARM微处理器

RMAdvanced Risc Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。

ARM公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。

ARM微处理器及技术的应用几乎已经深入到各个领域:1)工业控制领域2)无线通信领域3)网络应用4)消费类电子产品5)成像和安全产品。

采用RISC架构的ARM微处理器一般具有以下特点:

体积小、低功耗、低成本、高性能;

支持Thumb16位)/ARM32位)双指令集,能很好的兼容8/16位器件;

大量使用寄存器,指令执行速度更快;

大多数数据操作都在寄存器中完成;

寻址方式灵活简单,执行效率高;

指令长度固定。

 

2.1.1ARM内核基本版本

ARM内核的体系架构到目前为止有V1~V77个版本。

1、V1版本

 该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为:

l     字节、字和半字加载/存储指令;

l     具有分支指令,包括在子程序调用中使用的分支和链接指令;

l     在操作系统调用中使用的软件中断指令;

寻址空间:64MB

l 基本的数据处理指令(不包括乘法);

 

   2V2版本

该版架构对V1版进行了扩展,例如ARM2ARM3V2a)架构。包含了对32位乘法指令和协处理器指令的支持。同样为26位寻址空间,现在已经废弃不再使用,它相对V1版本有以下改进:

l 具有乘法和乘加指令;

l 支持协处理器;

l 快速中断模式中的两个以上的分组寄存器;

具有原子性加载/存储指令SWPSWPB

l  寻址空间:64MB

 

3V3版本

RM作为独立的公司,在1990年设计的第一个微处理器采用的是版本3ARM6,其主要特点有:

寻址范围扩展到32位(4GB);

具有MMU、写缓冲;

分开的当前程序状态寄存器(CPSR)和备份的程序状态寄存器(SPSR);

增加了两种异常模式,可方便地使用数据访问中止异常、指令预取中止异常、未定义指令异常;

增加了MRS指令和MSR指令,用于完成对CPSRSPSR寄存器的读/写;

修改了原来从异常中返回的指令。

 

4V4版本

第一个具有全部正式定义的结构版本,版本4T,引入了Thumb压缩形式指令集,不再为了与以前的版本兼容而支持26位体系结构,并明确了哪些指令会引起未定义指令异常发生,它相对V3版本做可以下的改进:

符号化和非符号化半字及符号化字节的存/取指令;

处理器可工作在Thumb状态,增加了16Thumb指令集;

完善了软件中断SWI指令的功能;

处理器系统模式引进特权方式时使用用户寄存器操作;

把一些未使用的指令空间捕获为未定义指令。

 

5、 V5版本

    V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并增加了指令,具体如下:

改进了ARM/Thumb状态之间的切换效率;

允许非T变量和T变量一样,使用相同的代码生成技术;

l 增加计数前导零指令和软件断点指令;

l 对乘法指令如何设置标志作了严格的定义;

增加了数字信号处理指令(V5TE版);

降低耗电量、强化图形处理性能,支持多微处理器内核。

 

6、V6版本

V6ARM11支持

    V62001年发布的。新架构V6在降低耗电量的同时,还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD功能,将语音及图象的处理功能提高到了原机型的4倍。

    此架构在V5版基础上增加了以下功能:

Thumb 35%代码压缩;

DSP扩充:高性能定点DSP功能;

JazelleTMJava性能优化,可提高8倍;

Media扩充:音/视频性能优化,可提高4倍。

 

7、V7版本

  ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,它是在ARMThumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销。同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。

             Cortex-MCortex-RCortex-A

 

2.1.3ARM处理器系列 P21_24

 

2.1.4ARM微处理器系列

1RISC体系结构

RISC(精简指令集计算机)并非只是简单的减少指令,而是把着眼点放在如何使计算机的结构更加简单合理,从而提高运算速度上。RISC结构优先选取使用频率最高的简单指令,避免复杂指令,将指令长度固定,以控制逻辑为主,不用或少用微码控制,从而减少指令格式和寻址方式种类。

 

RISC体系结构特点 P25

尽管RISC有上述有点,但是不可以取代CISC

 

2、ARM微处理器的寄存器结构

ARM40个寄存器,被分为若干个,包括:

l 33个通用寄存器,包括程序计数器(PC指针),均为32位寄存器

l 7个状态寄存器,用以标识CPU的工作状态及程序运行状态,均为32

同时ARM又有8种不同的处理器模式, 在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理模式下,可访问的寄存器包括15个通用寄存器、1~2个状态寄存器和程序计数器。在所有寄存器中,有些是在8种处理器模式下共用的同一个物理寄存器,而有些寄存器是在不同的处理模式下有不同的物理寄存器。

 

3、ARM微处理器的指令结构

支持两种指令集:ARM指令集和Thumb指令集

ARM指令有32位长度,Thumb指令为16位长度。Thumb指令集是ARM指令集的功能子集,但可节省30%~40%的存储空间。

多处理器状态模式
      ARM可以支持用户、快中断、中断、管理、中止、系统和未定义等七种处理器模式,可以使用多种高端应用领域。
寄存器结构
      独有的分组寄存器结构。

4、ARM微处理器结构

嵌入式在线仿真调试
      ARM架构的处理器芯片都嵌入了在线仿真逻辑,便于通过了JTAG来仿真调试ARM架构芯片。
灵活和方便的接口
      ARM架构具有协处理器接口,这样,既可以使基本的ARM处理器内核尽可能小,又可能方便地扩充各种功能。
低电压低功耗的设计   
降低电源电压,时钟频率等


2.2 Cortex-A8内核结构

Cortex-A8是第一款基于ARMv7构架的应用处理器,主频为600MHz到1GHz,可以满足各种移动设备的需求,其功耗低于300毫瓦,而性能却高达2000MIPS。采用了专门针对多媒体和信号处理的NEON技术。同时,还采用了Jazelle RCT技术,可以支持JAVA程序的预编译与实时编译。针对Cortex-A8,ARM公司专门提供了新的函数库(Artisan Advantage-CE),可以有效的提高异常处理的速度并降低功耗。同时新库函数还提供了高级内存泄漏控制机制。Cortex-A8第一次为低费用、高容量的产品带来了台式机级别的性能。当前最新的IPHONE手机和ANDROID手机里的处理器就是基于Cortex-A8内核的芯片。


【嵌入式系统】ARM Cortex-A8体系结构_第1张图片


2.3 Samsung S5PV210微处理器简介


三星 S5PV210 芯片又名“蜂鸟”(Hummingbird),是三星推出的一款适用于智能手机和平板电脑等多媒体设备的应用处理器。 
    三星S5PV210 核心是在cortex-A8 基础上进行修改增强的一款核心处理器。 
    S5PV210 芯片包含很多强大的硬件编解码功能,内建 MFC,支持 MPEG-1/2/4、H.263、H.264 等格式视频的编解码,支持模拟/数字 TV 输出。

【嵌入式系统】ARM Cortex-A8体系结构_第2张图片


2.4 Samsung S5PV210开发环境

一、RVDS    
    常用的ARM 的开发环境有ADS1.2 、RVDS(RealView Developer Suite)、MDK、IAR、DS-5 和一些开源的开发环境。其中RVDS是ARM公司继SDT与ADS1.2之后主推的新一代开发工具。RVDS集成的RVCT是业内公认的能够支持所有ARM处理器,并提供最好的执行性能的编译器。
    RVDS向硬件设备的设计者提供多核调试、应用与所有的ARM处理器的代码产生和Cortex CPU的配置等功能,并提供了到达第三方元件的接口(如ARM ESL tools)。RVDS包含有四个模块:IDE、RVCT、RVD和RVISS。


1. IDE    
    RVDS中的Workbench IDE是一种集成开发环境,它将软件开发与 ARM  RealView 工具的编译和调试技术结合在一起。 它可以用作项目管理器,为 ARM 目标创建、生成、调试、监视和管理项目。 
2. RVCT
    RVCT是业界最优秀的编译器,支持全系列的ARM和XSCALE架构,支持汇编、C和C++。RVCT支持二次编译和代码数据压缩技术,能够生成更小的可执行文件,节省ROM空间。

3. RVD   
    RVD是RVDS中的调试软件,功能强大,支持Flash烧写和多核调试,支持多种调试手段,快速错误定位。 
4. RVISS
    RVISS是指令集仿真器,支持外设虚拟,可以使软件开发和硬件开发同步进行,同时可以分析代码性能,加快软件开发速度。
5. ARM Profiler
    ARM Profiler 是 ARM Workbench IDE 的一个插件。使用 ARM Profiler 可以通过以下两种方式查看代码在目标系统上的执行情况:使用 RealView ICE 和RealView Trace 2 在目标硬件上观察代码,或是针对 ARM 实时系统模型 (RTSM)测试代码。

二. Eclipse for ARM开发环境

Eclipse集成开发环境是一个开源的IDE平台,其以强大的可扩展性而著称,传统的IDE公司很多已转向Eclipse平台,在此平台上开发自己的插件,然后包装销售。Eclipse是基于Java的可扩展开发平台,在Eclipse上不仅可以开发Java项目,也可以开发C项目。Eclipse能够管理和编辑项目源代码和文档,并不提供编译和连接工具,但是却为编译和连接工具留有接口。


Eclipse for ARM  是借用开源软件的Eclipse的工程管理工具,嵌入GNU工具集,使之能够开发ARM 公司Cortex-A系列的CPU。YAGARTO(Yet another GNU ARM toolchain)是一个跨平台的GNU ARM开发工具链,可以作为 Eclipse 的插件使用。

你可能感兴趣的:(嵌入式系统)