RH850系列芯片深度剖析 1.9-ghs编译器之特殊数据区域优化
一、简介
特殊数据区优化将某些数据放在一个特殊的内存块中,可以通过使用基地址的偏移来访问该内存块。在大多数情况下,访问该内存块中的数据比访问其他数据更有效率。这种优化不会改变程序的基本功能。
V850 和 RH850 支持小数据区 (SDA) 优化和一种称为零数据区 (ZDA) 优化的专门 SDA 版本。本章节将介绍这些优化,并说明如何将数据分配到特殊数据区。
二、小数据区(SDA)优化
小数据区 (SDA) 优化使用两个特殊数据区,即 RAM SDA 和 ROM SDA,每个数据区包含 64 KB 的数据。
一般来说,分配给 SDA 的数据段的总大小不能超过 128 KB。按照惯例,Green Hills 编译器使用寄存器 r4 作为 RAM SDA 的基寄存器,使用寄存器 r5 作为 ROM SDA 的基寄存器。由于 V850 和 RH850 处理器上基于偏移量的寻址是带符号的,因此 SDA 基寄存器指向 SDA 起始点后 32 KB 的位置,以