ARM体系结构与编程(篇一):ARM体系特点


一、一些概念

1、IO与内存统一编址

  1. ARM32位CPU支持少于4G内存,因为有一部分地址线分配给了外部设备。CPU通过地址总线访问内在。
  2. SOC(“System-on-a-Chip” ,即“片上系统 ”)中的各种内部外设通过地址操作外设中的特殊功能寄存器。也就是为每个外设中的特殊功能寄存器分配一个特定地址,然后像操作内存一样去操作来实现编程控制这些外部设备。
  3. SOC中的各种内部外设是通过各自的SFR编程访问,这些SFR的访问类似于访问普通内存,区别在于这个地址是内存还是寄存器,这叫IO与内存统一编址

2、CPU可编程原理

  1. CPU是有运算控制能力的芯片,没有预先制定功能,只设计了指令集,功能预留给编程人员改变的。
  2. 固定频率的时钟控制下有节奏运行,(通过总线读、解、执行)
  3. CPU可以通过总线读取外部存储器设备中的二进制指令集,然后解码执行。
  4. 这些可以被CPU解码执行的二进制指令集是CPU设计的时候确定的,是CPU设计者定义的。

3、指令集和CPU关系

  1. 汇编实质就是机器指令的助记符。
  2. 指令集是一款CPU的特征。
  3. 不同CPU指令集不同。
  4. 用汇编写代码可以充分发挥CPU效率。

4、哈佛结构与冯诺依曼结构

  1. 哈佛结构:程序的数据段与程序段分开存储。(安全)
    (1)哈佛结构特性保证了CPU运行稳定性和安全性。因此非常适合嵌入式、单片尤其是物联网领域。而服务器等高性能领域目前主导还是因特。
    (2)哈佛结构决定了裸机程序使用实地址即物理地址。因此链接比较麻烦,必须使用复杂的链接脚本告知链接器如何组织程序。对于OS上的应用是工作在虚似地址中,则不需要考虑这么多。

  2. 冯诺依曼结构:程序的数据段和程序段存在一起。(处理简单)

5、CISC与RISC

  1. CISC(“Complex Instruction Set Computer”,即“复杂指令集计算机”)用叠加内部电路的方式,让一条指令完成多个功能。功耗大。

  2. RISC(“Reduced Instruction Set Computer”,即“精简指令集计算机”)只提供简单的基本指令,目标功能留给编程人员来完成。灵活、功耗小。其主要特点如下:
    (1)指令集——RISC减少了指令集的种类,通常一个周期一条指令,采用固定长度的指令格式,编译器或程序员通过几条指令完成一个复杂的操作。而CISC指令集的指令长度通常不固定。
    (2)流水线——RISC采用单周期指令,且指令长度固定,便于流水线操作执行。
    (3)寄存器——RISC的处理器拥有更多的通用寄存器,寄存器操作较多。例如ARM处理器具有37个寄存器。
    (4)Load/Store结构——使用加载/存储指令批量从内存中读写数据,提高数据的传输效率。
    (5)寻址方式简化,指令长度固定,指令格式和寻址方式种类减少。

6、流水线

以3级流水线为例,指令分3个阶段执行:

  1. 取指(Fetch) 从存储器装载一条指令
  2. 译码(Decode) 识别将要被执行的指令
  3. 执行(Excute) 处理指令并将结果写会寄存器

  流水线是 RISC处理器执行指令时采用的机制,流水线处理时实际是这样的:ARM正在执行第1条指令的同时对第2条指令进行译码,并将第3条指令从存储器中取出。所以,只有在取第4条指令时,第1条指令才算完成执行。

7、统一编址和独立编址

  1. 统一编址:该情况下访问外部设备就像访问内存一样,不需要专门指令(RISC)去操作外部设备。
  2. 独立编址:访问外部设备要用专用指令来实现(CISC多一个设备增加一条指令)。

二、ARM体系特点介绍

1、ARM处理器简介

  ARM(Advanced RISC Machines)是一个32位RISC(精简指令集)处理器架构,ARM处理器则是ARM架构下的微处理器。ARM处理器广泛的使用在许多嵌入式系统。ARM处理器的特点有指令长度固定,执行效率高,低成本等。

2、ARM处理器特点

  1. ARM指令都是32位定长的;
  2. 寄存器数量丰富(37个寄存器);
  3. 普通的Load/Store指令;
  4. 多寄存器的Load/Store指令;
  5. 指令的条件执行;
  6. 单时钟周期中的单条指令完成数据移位操作和ALU(Arithmetic Logic Unit,算术逻辑单元)操作;
  7. 通过变种和协处理器来扩展ARM处理器的功能;
  8. 扩展了16位的Thumb指令来提高代码密度。

3、ARM芯片特点

ARM芯片具有RISC体系的一般特点,如:

  • 具有大量的寄存器;
  • 绝大多数操作都在寄存器中进行,通过Load/Store(基于字节、字和多字的读取和写入指令)的体系结构在内存和寄存器之间传递数据;
  • 寻址方式简单;
  • 采用固定长度的指令格式;

除此之外,ARM体系采用了一些特别的技术,在保证高性能的同时尽量减少芯片体积,减低芯片的功耗。这些技术包括:

  • 在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理;
  • 使用地址自动增加(减少)来优化程序中循环处理;
  • Load/Store指令可以批量传输数据,从而提高数据传输的效率;
  • 所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率。

4、ARM体系结构特点

  1. CPU采用RISC架构;
  2. 常用汇编指令二三十条;
  3. 功耗低;
  4. ARM实际上有一些ARM是哈佛结构,而另一些ARM是冯诺依曼结构(或者更准确说是混合结构)。

三、问题与解答

1、ARM处理器扩展了16位的Thumb指令来提⾼代码密度,代码密度怎么理解?

Thumb指令具有16位的代码宽度。与等价的32位代码相比较,thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。

2、对于ARM v6之前处理器的命名规则,有很多不好的地方,具体有哪些?

早期的处理器命名规则分为很多类,这样就导致了不同板子之间移植性比较差,在这块板子上能用的放到另一块板上很多功能就无法兼容,所以v6以后ARM采用新的命名方式。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ARM体系结构编程PDF是一本关于ARM架构和编程的电子书,它主要介绍了ARM处理器的体系结构和相关的编程知识。 首先,ARM体系结构编程PDF详细介绍了ARM架构的基本概念和特点ARM架构是一种常见的嵌入式处理器架构,广泛应用于移动设备、嵌入式系统、智能家居等领域。了解ARM架构的基本概念对于学习和理解如何正确地编写ARM程序至关重要。 其次,ARM体系结构编程PDF讲解了ARM指令集的设计和特点ARM指令集是用于编写ARM程序的一组指令,它包括了各种数据处理、控制流和存储操作等功能。学习ARM指令集的使用方法和特点,能够帮助我们编写高效、稳定的ARM程序。 此外,ARM体系结构编程PDF还介绍了ARM开发工具的使用。ARM开发工具是用于编写、编译和调试ARM程序的软件,例如ARM指令集模拟器、ARM汇编器和调试器等。学会使用ARM开发工具能够提高我们的ARM编程效率和调试能力。 最后,ARM体系结构编程PDF提供了一些ARM编程的示例和实践。通过这些实例和实践,我们可以深入了解如何在ARM处理器上编写各种应用程序,例如嵌入式系统的驱动程序、图像处理算法和网络通信等。这些实例和实践能够帮助我们加深对ARM编程的理解和掌握。 总的来说,ARM体系结构编程PDF是一本系统全面介绍ARM架构和编程的电子书。通过学习和掌握其中的知识,我们可以成为一名专业的ARM程序员,并能够在各种嵌入式系统和应用中灵活运用ARM处理器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值