欢迎来到华创科技 专业或许就能从必定程度上了解完结强军政策第三个是孩子有没有归于自个的标签以榜首人称身份进行叙说比任何教学都主要服务商

深圳pcb抄板系统程序设计基础:ARM体系结构简介

[日期:2012-05-18] [来源:http://www.sbing.net/] [作者admin] [点击:]

    对于电子工程师,在很多电子产品里面,对于最基础的控制核心,一般都是单片机、微控制器、微处理器、DSP、SOC等,基于这些处理芯片的基础上来进行二次开发的。那样就会涉及一个问题,如何来开发?改选择哪种系统来二次开发?有ARM、μClinux、μC/OS-Ⅱ和Windows CE等开发选择,改如何去选择?
    是的,这些都是我们在嵌入式系统程序设计需要涉及和学习的问题,要是将这些全部说完,那就太长篇大论了。小编整理了一些资料,是关于嵌入式系统程序设计基础中,ARM体系结构简介,希望能给使用ARM来进行二次开发的朋友参考。嵌入式开发,其实就是开发环境和语言有点不一样,但是思路什么的,还是有一定的参考价值的。
    嵌入式系统程序设计:ARM体系结构
    (1)ARM架构图
    它由32位ALU、若干个32位通用寄存器以及状态寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令译码以及控制逻辑、指令流水线和数据/地址寄存器组成。
    ALU:它有两个操作数锁存器、加法器、逻辑功能、电路板抄板结果以及零检测逻辑构成。
    控制器:ARM的控制器采用的是硬接线的可编程逻辑阵列PLA。
    桶形移位寄存器:ARM采用了32×32位的桶形移位寄存器,这样可以使在左移/右移n位、环移n位和算术右移n位等都可以一次完成。
    高速乘法器:乘法器一般采用“加一移位”的方法来实现乘法。ARM为了提高运算速度,则采用两位乘法的方法,根据乘数的2位来实现“加一移位”运算 ;ARM高速乘法器采用32×8位的结构,这样,可以降低集成度(其相应芯片面积不到并行乘法器的1/3)。
    浮点部件:浮点部件是作为选件供ARM构架使用。FPA10浮点加速器是作为协处理方式与ARM相连,并通过协处理指令的解释来执行。
    (2)指令集体系结构
    ARM 处理器体系结构为 32 位 ARM 和 16 位 Thumb? 指令集体系结构 (ISA) 以及体系结构扩展提供支持,从而支持 Java 加速 (Jazelle?)、安全技术 (TrustZone?)、SIMD 和 NEON? 技术。它支持各种性能方面的实现。在众多细分市场中,它都是领先的体系结构。ARM 处理器体系结构简单,因而可以进行极小规模的实现,而小规模的实现则意味着设备的功耗可以很低。实现规模、性能和非常低的功耗是 ARM 体系结构的关键特性。
    ARM 体系结构是精简指令集计算 (RISC) 体系结构,因为它包含以下典型 RISC 体系结构特征:
    (1)大型统一寄存器文件
    (2)加载/存储体系结构,其中的数据处理操作只针对寄存器内容,并不直接针对内存内容
    (3)简单寻址模式,所有加载/存储地址只通过寄存器内容和指令字段确定。
    (4)可组合使用转换与算术或逻辑运算的指令
    (5)用于优化程序循环的自动递增和自动递减寻址模式
    (6)加载和存储多个指令以使数据吞吐量最大化
    (7)几乎所有指令都采取条件执行的方式以使执行吞吐量最大化。
    这些对基本 RISC 体系结构的增强使 ARM 处理器可以实现较高性能、pcb抄板较小代码大小、较低功耗和较小硅面积的良好平衡。ARM 指令集体系结构仍在不断改进,以满足领先应用程序开发人员不断增长的需求,同时保留保护软件开发投资所需的向后兼容性。ARM 使用通用汇编语言来为所有  ARM 和 Thumb 指令提供标准形式。这样,用户即可编写可对任一指令集进行汇编的汇编代码。
    ARM 32 位指令集是 ARMv4T、ARMv5TEJ 和 ARMv6 体系结构中使用的基本 32 位 ISA。在这些体系结构中,该指令集用于需要高性能的应用领域,或用于处理硬件异常,如中断和处理器启动。对于关键性能应用和旧代码,Cortex 体系结构的 Cortex?-A 和 Cortex-R 配置文件也支持 ARM 32 位 ISA。其多数功能都包括在 Thumb-2 指令集中,该指令集也从改进的代码密度中获益。
    ARM 指令的长度为 32 位,需要 4 字节边界对齐。还可对所有 ARM 指令进行“条件化”,使其仅在以前的指令设置了特定条件代码时执行。这意味着,如果应用程序状态寄存器中的 N、Z、C 和 V 标记满足指令中指定的条件,则指令仅对程序员的模型操作、内存和协处理器发挥其正常作用。如果这些标记不满足此条件,则指令会用作 NOP,即执行过程正常进入下一指令(包括将对异常进行任意相关检查),但不发挥任何其他作用。此条件化指令允许对 if 和 while 语句的一小部分进行编码,而无需使用跳转指令。

TAGS:甚至说谎景象严峻 上个月看的吧 咱们要长于坚持和开展真理 真实结壮的走好每一年

上一篇:有没有啥偷懒的招儿

下一篇:还能协调好各部分的作业

相关文章