12.07.2015 Views

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

コーディング 慣 行5.5 デー タの 境 界 整 列使 用 可 能 な ス ト レージを 最 大 に し、 <strong>ARM</strong> 命 令 セ ッ ト に よ る 高 速 で 効 率 的 な メモ リ ア ク セス を 実 現 する ために、 さ ま ざ ま な C データ 型 が 特 定 のバイ ト 境 界で 整 列 されます。 例 えば、 4 の 倍 数 のア ド レ スにオブジェ ク ト が 保 存 されている 場 合 、 すなわち 4 バイトオブジェクトが 4 バイ ト 境 界 に 配 置 されている 場合 、 <strong>ARM</strong> アーキテクチャは 1 つの 命 令 を 使 用 するだけで 4 バイ ト 変 数 にアクセスできます。デフォル ト では、 表 5-9 に 示 すよ う に、 コ ンパイ ラがデータオブジェ ク ト を保 存 し ます。表 5-9 コ ンパイ ラがバイ ト 境 界 整 列 によ り 、 デー タ オブジ ェ ク ト を 保 存 し ます型 バイ ト 境 界 整 列char 1 任 意 のバイ ト ア ド レ スに 配 置 さ れます。short 2 2 の 倍 数 のア ド レ スに 配 置 されます。float, int,long,pointerlong longdouble4 4 の 倍 数 のア ド レ スに 配 置 されます。8 4 の 倍 数 のア ド レ スに 配 置 されます。データ の 境 界 整 列 は、 コ ンパ イ ラ が 変 数 を 物 理 メ モ リ ア ド レ スに 配 置 する 場合 に 関 係 し て き ます。 例 えば、 次 の 構 造 体 では、 bmem と cmem の 間 に 3 バイ トの間 隔 が 必 要 です。struct example_st {int amem;char bmem;int cmem;};<strong>ARM</strong> と Thumb の 処 理 では、 自 然 境 界 整 列 データ、 つま り 、 4 の 倍 数 と な る アドレス 上 に 存 在 するダブルワード、4 の 倍 数 と な る ア ド レ ス 上 に 存 在 するワード、 2 の 倍 数 と な る ア ド レ ス 上 に 存 在 するハーフ ワー ド 、 および 任 意 のバイ ト ア ド レ ス 上 に 存 在 するシングルバイ ト に 効 率 的 にア ク セスでき る よ うに 設 計 されています。 これら のデータは、 データ 自 身 と 同 じ サ イ ズの 境 界 上に 配 置 されます。<strong>ARM</strong> DUI 0205IJ Copyright © 2002-2010 <strong>ARM</strong> Limited. All rights reserved. 5-29ID 100419Non-Confidential,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!