spu_intrinsics.h

出典: CellFanWiki

spu_intrinsics.h はCell Broadband Engineアーキテクチャ用C/C++言語拡張の仕様によって定められたヘッダファイルであり、SPUの機能をC/C++言語から容易にアクセスするための関数や定数などの定義が記されている。

[編集] spu_intrinsics.h で定義されている内容

[編集] 単一トークンベクタデータ型

Cell Broadband Engineアーキテクチャ用C/C++言語拡張により、ベクタデータ型という型が導入されている。 spu_intrinsics.h には、このベクタデータ型に呼応する単一トークン型が定義されている。

ベクタデータ型 単一トークン型 内容
vector unsigned char vec_uchar16 16個の8ビット符号なしchar
vector signed char vec_char16 16個の8ビット符号付きchar
vector unsigned short vec_ushort8 8個の16ビット符号なしhalfword
vector signed short vec_short8 8個の16ビット符号付きhalfword
vector unsigned int vec_uint4 4個の32ビット符号なしword
vector signed int vec_int4 4個の32ビット符号付きword
vector unsigned long long vec_ullong2 2個の64ビット符号なしdoubleword
vector signed long long vec_llong2 2個の64ビット符号付きdoubleword
vector float vec_float4 4個の32ビット単精度float
vector double vec_double2 2個の64ビット倍精度float
qword (なし) quadword (16バイト) (注:個別組み込み関数の入出力専用)

[編集] SPUチャネル列挙子、MFCチャネル列挙子

チャネル操作に対応する組み込み関数はチャネル番号を引数にとる。チャネル番号は0から127までの範囲の符号無しリテラル値であり、 spu_intrinsics.h にて、以下の表に示すように列挙子が定義されている。

チャネル番号 SPUチャネル列挙子 説明
0 SPU_RdEventStat イベントステータスの読み込み
1 SPU_WrEventMask イベントステータスマスクの書き込み
2 SPU_WrEventAck イベント受け付けフラグの書き込み
3 SPU_RdSigNotify1 シグナル通知1の読み込み
4 SPU_RdSigNotify2 シグナル通知2の読み込み
7 SPU_WrDec デクリメンタのカウントの書き込み
8 SPU_RdDec デクリメンタのカウントの読み込み
11 SPU_RdEventMask イベントステータスマスクの読み込み
13 SPU_RdMachStat SPU実行ステータスの読み込み
14 SPU_WrSRR0 SPUマシン状態の保存/復元レジスタ0(SRR0)の書き込み
15 SPU_RdSRR0 SPUマシン状態の保存/復元レジスタ0(SRR0)の読み込み
28 SPU_WrOutMbox Outbound Mailbox の内容の書き込み
29 SPU_RdInMbox Inbound Mailbox の内容の書き込み
30 SPU_WrOutIntrMbox Outbound Interrupt Mailbox の内容の書き込み(PPUに対する割り込み)
チャネル番号 MFCチャネル列挙子 説明
9 MFC_WrMSSyncReq マルチソース同期リクエストの書き込み
12 MRC_RdTagMask タグマスクの読み込み
16 MFC_LSA ローカルメモリアドレスコマンドパラメータの書き込み
17 MFC_EAH 上位DMA実効アドレスコマンドパラメータの書き込み
18 MFC_EAL 下位DMA実効アドレスコマンドパラメータの書き込み
19 MFC_Size DMA転送サイズコマンドパラメータの書き込み
20 MFC_TagID タグ識別子コマンドパラメータの書き込み
21 MFC_Cmd DMA コマンドを関連するクラスIDと共に書き込み、キューに入れる
22 MFC_WrTagMask タグマスクの書き込み
23 MFC_WrTagUpdate 条件付きまたは無条件のタグステータス更新リクエストの書き込み
24 MFC_RdTagStat マスク適用後のタグステータスの読み込み
25 MFC_RdListStallStat DMAリストのストール通知ステータスの読み込み
26 MFC_WrListStallAck DMAリストのストール通知受領応答の書き込み
27 MFC_RdAtomicStat 最後に完了した即時実行するMFCアトミック更新コマンドの終了ステータスの読み込み

(以下、執筆中)