2011年2月16日水曜日

ARMv7アーキテクチャ リファレンス マニュアル読むよ〜第1回

前に呼んでて途中で投げたので、もう一回最初から読むよ(´・ω・`)
大事なところだけ、ここにメモっておく。
ページ番号は太字。

A2-11:
R0〜R12は自由に使える汎用レジスタ。32bit
R13〜R15は使用目的の決まっているレジスタ。32bit
R13はスタックポインタ用。別名SP。
R14はリンクレジスタ。別名LR。
R15はプログラムカウンタ。別名PC。
R15は、
ARMモードの時は実行している命令のアドレス+8
Thumbモードの時は実行している命令のアドレス+4
を指す。

A2-14:
APSRってレジスタがある。
アプリケーションプログラム ステータスレジスタらしい。
CPSRとは違うものなのか?何が違うんだ???
と思ったら同ページ最後3行に書いてあった。
”ARMv7A/RではAPSRとCPSRは同じレジスタ。でもアクセスできる情報がAPSRの方が少ない”とか。

A2-15:
実行状態レジスタ。
CPUが解釈する命令の種別を設定する。ARM命令、Thumb命令、ThumbEE命令、JAVAバイトコード。
曰く、”ARMv7A/RではCPSRレジスタの一部だぜ!!(キリッ”
ISETSTATE・・・なんなんだぜ
実行状態レジスタの設定のことみたいだけど・・・。

A2-17:
ITSTATE・・・スルー!!!
わからないと思ったところは飛ばしたっていいんだぜ。
逃げてもいいんだ、逃げてもいいんだ、逃げてもいいんだ。

A2-20:
ARMv7のVFP実装はVFPv3。
へー(棒

A2-21:
アドバンストSIMDとVFPは同じレジスタを使用する。
このレジスタは拡張機能レジスタと呼ぶ。
MMXがFPUのレジスタを使うようなもんか(´・ω・`)
ところでアドバンストSIMDって何・・・NEONのこと???

アドバンストSIMDビューでは拡張機能レジスタは、
16個の128bitレジスタまたは32個の64bitレジスタとして扱うことができる。
この2つのモードは同時に扱うことができる。

〜A2-67:
丸っとスルー!!!
だってSIMDとFPUの動作の説明だし。

A2-69:
Ahead-Of-Time(AOT)ってなんじゃらほい。

〜A2-80:
スルー!!!
JazelleとかThumbとかの説明だし。

A2-81:
ARMアーキテクチャでいう例外とは以下のものだ。
・リセット
・割込み
・メモリシステムアボート
・未定義命令
・スーパバイザコール(SVC)
浮動小数点例外とJazelle例外条件は含まれないよ。

A2-82:
Yield命令ってのがあって、マルチプロセッサとかマルチスレッド環境下では有効らしいよ。
今やってること重要じゃないんだよねーというヒンティングをCPUに対して行うものらしい。ふーん(´・ω・`)

第A2章まで超スピードでおしまい。

む〜ん、ARM自体の話があんまりでて来なかった(´・ω・`)

――――――――
今日や明日のことでは無く、もっと未来の方へ向かう。そう、明後日の方向へ!!

0 件のコメント: