__pld コンパイラ組み込み関数

このコンパイラ組み込み関数を使用して、コンパイラによって生成される命令ストリームに PLD などのデータプリフェッチを挿入します。これにより、アドレスからのデータのロードが実行されることを、C または C++ プログラムからメモリステムに事前に通知することができます。

Show/hide構文

void __pld(...)

各パラメータには以下の意味があります。

...

プリフェッチするメモリのアドレスを指定する、任意の数のポインタまたは整数引数を示します。

Show/hide制約条件

ターゲットアーキテクチャがデータのプリフェッチをサポートしない場合、コンパイラからは PLD 命令も NOP 命令も生成されず、このコンパイラ組み込み関数は無視されます。

Show/hide

extern int data1;
extern int data2;
volatile int *interrupt = (volatile int *)0x8000;
volatile int *uart = (volatile int *)0x9000;
void get(void)
{
    __pld(data1, data2);
    while (!*interrupt);
    *uart = data1;        // 割り込みが発生したらすぐに uart をトリガ
    *(uart+1) = data2;
}

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711