笔记综合工程.docVIP

  • 3
  • 0
  • 约2.22万字
  • 约 22页
  • 2016-10-10 发布于江苏
  • 举报
ARM体系中存储系统非对齐的存储访问操作 ARM系列处理器是RISC (Reducded Instruction Set Computing)处理器。很多基于ARM的高效代码的程序设计策略都源于RISC处理器。和很多RISC处理器一样,ARM系列处理器的内存访问,也要求数据对齐,即存取“字(Word)”数据时要求四字节对齐,地址的bits[1:0]==0b00;存取“半字(Halfwords)”时要求两字节对齐,地址的bit[0]==0b0;存取“字节(Byte)”数据时要求该数据按其自然尺寸边界(Natural Size Boundary)定位。   ARM编译程序通常将全局变量对齐到自然尺寸边界上,以便通过使用LDR和STR指令有效地存取这些变量。这种内存访问方式与多数CISC (Complex Instruction Set Computing)体系结构不同,在CISC体系结构下,指令直接存取未对齐的数据。因而,当需要将代码从CISC体系结构向ARM处理器移植时,内存访问的地址对齐问题必须予以注意。在RISC体系结构下,存取未对齐数据无论在代码尺寸或是程序执行效率上,都将付出非常大的代价。   本文将从以下几个方面讨论在ARM体系结构下的程序设计问题。   未对齐的数据指针   C和C++编程标准规定,指向某一数据类型的指针,必须和该类型的数据地址对齐方式一致,所以ARM编译

文档评论(0)

1亿VIP精品文档

相关文档