ARM9側

このリストは、DS のエミュレータを作る人か、 1 クロック単位で最適化したい人用です。 普通にコードを書くときには使いません。

命令サイクル
ALU Rd (pc以外)1+1 レジスタ指定のシフトを使用する場合
ALU Rd (pcの場合)3+1 操作が論理演算であるか、シフトを使用する場合
B, BL, BX, BLX3
CDP1 + B
LDCB + N
LDRB/H/SB/SH1Rdは2サイクルの間利用できない +1 ロードのオフセットがシフトされる場合
LDR Rd (pc以外)1Rdは1サイクルの間利用できない +1 ロードのオフセットがシフトされる場合
LDR Rd (pcの場合)5+1 ロードのオフセットがシフトされる場合
LDRD2R(d+1)は1サイクルの間利用できない
LDM (pcをロードしない場合)N+1 N=1, または最後にロードされたレジスタを次のサイクルに使用する場合
LDM (pcをロードする場合)N + 4
MCR1+B
MCRR2+B
MRC Rd (pc以外)1 + BRdは1サイクルの間利用できない
MRC Rd (pcの場合)4 + B
MRRC2+BRnは1サイクルの間利用できない
MRS2
MSR1+2 csxフィールドのいずれかが更新される場合
MUL, MLA2積和命令の累算入力としての場合を除き、Rdは1サイクルの間利用できない
MULS, MLAS4
xMULL, xMLAL3積和命令の累算入力としての場合を除き、RdHiは1サイクルの間利用できない
xMULLS, xMLALS5
PLD1
QxADD, QxSUB1Rdは1サイクルの間利用できない
SMULxy, SMLAxy, SMULWx, SMLAWx1積和命令の累算入力としての場合を除き、Rdは1サイクルの間利用できない
SMLALxy2積和命令の累算入力としての場合を除き、RdHiは1サイクルの間利用できない
STCB+N
STR/B/H1+1 シフトされたオフセットを使用する場合
STRD2
STMN+1 N = 1 の場合
SWI3
SWP/B2Rdは1サイクルの間利用できない
略記意味
Bプロセッサによって発行されるビジー/待ちサイクル数。コプロセッサの設計によって変化する
M乗算の繰り返しサイクル数。レジスタRsの値によって変化する。各実装のセクションにはその実装についてRsからMを計算する方法を示す表が含まれている
N複数ロード/ストアで転送されるワード数。pcがレジスタリストに含まれている場合は、pcも数に含まれる。Nは最低でも1

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 17:45:18 (2408d)