エンディアンというと,ほとんどの場合ビッグエンディアンとリトルエンディアンのどちらかだが,これら以外のエンディアンも存在する.(していた,というべきか?) バイト列 0x01,0x02,0x03,0x04 を4バイト整数として解釈する時に, 0x01020304 となるのがビッグエンディアン, 0x04030201 となるのがリトルエンディアンだが,これら以外に 0x03040102 や 0x02010403 となるものも存在する.以前から,これらを何エンディアンと呼ぶのか疑問に思っていた. Wikipedia の「エンディアン」の項目 によると,このようなエンディアンは DEC の PDP-11 や VAX シリーズで使われていたことから「PDP エンディアン」というらしい.エンディアンの異なるマシン間でバイナリデータを交換すると, "UNIX" という文字列が "NUXI" に化けたと
気が向いたら書く. 特定のメモリアドレス範囲にマップされたデバイスのエンディアン判定. デバイス (アドレス) が異なればエンディアンも異なる可能性がある. (実際にそういうデバイスを使ったことがあるわけではなく, 可能性として考えてみているだけ.) レジスタ演算だけでエンディアン変換ができ,メモリアクセス不要. (バイト単位の) シフトが高速に行える CPU,あるいは (シフトに比べて) メモリアクセスが遅い CPU 向き. (バイト単位の) シフトが高速に行えない CPU では, 任意エンディアン変換はエンディアン反転以上に効率が悪い. データ長が長いと,それだけレジスタを多く使用する. ⇒ 同時進行中の,レジスタを使う別の処理の速度を低下させる場合がある. レジスタ長より長いデータは効率良く扱えない. 符号付整数型にトラップ表現が存在する処理系では, エンディアン変換の途中結果がトラ
本書は,ARMベースの組み込み機器設計をする人のための,システム開発とソフトウェア開発に直接対応した解説書です.この本の目標は,ARMコアの動作を製品開発者の視点から解説することです.読者ができるだけ早くARMでの実際の開発作業を行えるように,ソフトウェア記述例を多く紹介しています.これらの例は,ARMベースの組み込みシステムをより効率的に開発したいと考えている技術者にとっても役に立つものです. 目次 第1章 ARM組み込みシステム 1.1 RISCの設計理念 1.2 ARMの設計理念 1.3 組み込みシステムのハードウェア 1.4 組み込みシステムのソフトウェア 1.5 まとめ 第2章 ARMプロセッサの基礎知識 2.1 レジスタ 2.2 カレント・プログラム・ステータス・レジスタ 2.3 パイプライン 2.4 例外,割り込み,ベクタ・テーブル 2.5 コア拡張 2.6 アーキテクチャの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く