zoukankan      html  css  js  c++  java
  • ARM的体系结构与编程系列博客——ARM体系版本

    ARM体系版本前言

    很多人都知道,ARM有许多版本,口中最长说的就是ARM7ARM9ARM11,诚然,这个的确是ARM处理器的版本,但绝对不是ARM的版本,其实ARM到迄今为止经历了6代版本,随着时代的变化,ARM也随之变化,版本的不同其实也造就ARM的各种变种!

    ARM处理器系列的各种处理器,其采用的技术各不相同,性能差异很大,应用的场合也不相同,但只要它是同一个ARM体系版本,那么基于它们的应用软件是兼容的!

    不难看出ARM的版本关系到了ARM的兼容性,如果你在开发过程中不了解版本的话,以为一切ARM的程序均在ARM处理器上可用的话,那么就大错特错了!

    ARM体系版本介绍

    下面将为大家详细的介绍ARM体系结构的各类版本,给大家一个非常直观的了解,知道ARM不同版本之间有什么样的区别。

    ARM的版本为:版本1、版本2、版本3、版本4、版本5、版本6

    版本1

    • 乘法指令以外的基本数据处理指令
    • 字节、字和多字的读取写入指令
    • 包括子程序调用指令BL在内的跳转指令
    • 供操作系统使用的软件中断指令SWI

    这个版本的地址空间是26位的,目前已经不在使用了!

    版本2

    与版本1相比,版本2添加了下列指令:

    • 乘法指令和乘加法指令(这2个指令在下篇博客中会解释一下)
    • 支持协处理器的指令
    • 支持FIQ模式,提供额外的两个备份寄存器
    • SWP指令及SWPB指令(各类指令都不要着急去了解,后面的几篇博客都将详细进行介绍)

    该版本的地址空间是26位,目前也不使用了!

    版本3

    自这个版本开始,ARM出现了各种变种,是ARM质一般的飞跃了!

    • 地址空间扩展到了32位(除了版本3G以为)
    • CPSR(当前程序状态寄存器)出现,传说中的R15消失
    • 增加了SPSR(备份程序状态寄存器),可以保存被中断程序的状态了!
    • 添加了两种处理器模式(方便操作系统使用各类异常)
    • 增加了指令MRS与MSR(用来访问新增的两个寄存器)
    • 修改了原来从异常返回的指令

    版本4

    在版本3的基础上,版本4可谓是真正地得到了推广,值得一提的是Thumb指令集就是在这个版本上成立的!

    • 半字读写指令出现
    • 出现读取带符号的字节和半字数据指令
    • 有了T变种,即Thumb指令集
    • 增加处理器的特权模式

    值得一提的是ARM公司终于不再要求支持26位的地址空间兼容(如此反我程序员的指令终于可以消失了,ARM公司,你造吗?不是2的幂次方,我们程序员对它都是无爱的!)

    版本5

    • 提高了ARM/Thumb混合使用的效率(这一点太赞了,16位、32位的使用减少了很多的指令浪费)
    • 整合了非T变种的指令代码生成技术,让代码生成得到了统一
    • 增加了CLZ前导零计数指令
    • 增加了BRK软件断点指令
    • 增强型DSP指令集,包括全部算法操作和16位乘法操作
    • 支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能

    版本6

    这个版本其实是2002年发布的ARM11处理器中使用的,主要是添加了SIMD功能扩展,优化视频/音频处理技术!版本6的到来也使android的系统更加火爆!

    • Thumb:35%代码压缩
    • DSP扩充:高性能定点DSP功能
    • JazelleTM:Java性能优化,可提高8倍
    • Media扩充:音/视频性能优化,可提高4倍

    我们可以从整个ARM体系版本的发展看出ARM技术的进步,同时也需要我们对ARM有更加深入的了解,跟着ARM走,做逍遥的嵌入式开发工程师!

    求关注,求鲜花~~~~

  • 相关阅读:
    jQuery EasyUI 详解
    The Google Test and Development Environment (持续更新)
    MTSC 2019 深圳站精彩议题第一波更新! | 七五折门票火热售票中
    MTSC2019-深圳站 议题征集
    [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖
    MTSC2018 | 确认过眼神,在这里能遇见Google、阿里、百度......
    四岁啦 | 第四届中国移动互联网测试大会期待您的光临
    聊聊优酷上的那些车评
    聊聊Google DSM产品的发布
    尝试 Markdown 写测试用例
  • 原文地址:https://www.cnblogs.com/samuelwnb/p/4287711.html
Copyright © 2011-2022 走看看