cache

C に適用 C++ に適用

目的

-qcache オプションは、特定の実行マシンのキャッシュ構成を指定する。プログラムの実行システムの型がわかっていて、システムにデフォルトのケースとは異なる構成の命令またはデータ・キャッシュがある場合は、このオプションを使用して、正確なキャッシュ特性を指定します。コンパイラーは、この情報を使用して、キャッシュに関連する最適化の利点を計算します。

構文


構文図

ここで、使用可能なキャッシュ・オプションは、以下のとおりです。


assoc=number キャッシュの設定の結合順序を指定します。この場合、number は、以下のいずれかです。

0
直接マップされたキャッシュ

1
完全結合のキャッシュ

N>1
n 通りの集合の結合キャッシュ
auto コンパイル・マシンの特定のキャッシュ構成を自動的に検出します。これは、実行環境がコンパイル環境と同じであることを前提としています。
cost=cycles キャッシュ・ミスの結果生ずるパフォーマンス・ペナルティーを指定します。
level=level 影響されるキャッシュのレベルを指定します。この場合、level は、以下のいずれかです。

1
基本キャッシュ

2
レベル 2 のキャッシュ、または、レベル 2 のキャッシュがない場合は、テーブル・ルックアサイド・バッファー (TLB)

3
TLB

マシンに複数のレベルのキャッシュがある場合は、別々の -qcache オプションを使用します。

line=bytes キャッシュの行サイズを指定します。
size=Kbytes キャッシュの合計サイズを指定します。
type=cache_type 指定した型のキャッシュに、設定を適用します。この場合、cache_type は、以下のいずれかです。

C または c
データおよび命令キャッシュの結合

D または d
データ・キャッシュ

I または i
命令キャッシュ

-qtune 設定は、最も一般的なコンパイル用の、最適なデフォルト -qcache 設定を判別します。これらのデフォルト設定は、-qcache を使用してオーバーライドすることができます。しかし、間違った値をキャッシュ構成に指定したり、異なる構成のマシン上でプログラムを実行した場合、そのプログラムは正常に稼働しますが、若干遅くなる可能性があります。

-qcache オプションで -O4-O5、または -qipa を指定しなければなりません。

-qcache サブオプションを指定するときには、以下のガイドラインを使用してください。

結合された命令およびデータ・レベル 1 のキャッシュ (2 つの方法で結合されており、サイズが 8 KB で、64 バイトのキャッシュ行を持っているキャッシュ) でシステムのパフォーマンスを調整するには、以下を入力します。

xlc++ -O4 -qcache=type=c:level=1:size=8:line=64:assoc=2 file.C

関連参照

コンパイラーのコマンド行オプション
ipa
O、optimize IBM Copyright 2003