> 2005/03/21 (月) 01:33:05 ◆ ▼ ◇ [qwerty]> > 5.1.1. ワード、ダブルワード、クワッドワードのアライメント
> > ワード、ダブルワード、およびクワッドワードは、メモリ内では自然境界にアライメントを
> > 合わせる必要はない。(ワード、ダブルワード、およびクワッドワードの自然境界はそれぞ
> > れ、偶数のアドレス、4で割り切れるアドレス、8で割り切れるアドレスになる。)ただし、
> > プログラムの処理能力を向上させるためには、データ構造(特にスタック)においては可能
> > な限りこれらの自然境界にアライメントを合わせなければならない。その理由は、アライメ
> > ントが合っていないメモリにアクセスを1回行おうとすると、プロセッサは実際には2回のメ
> > モリ・アクセスを行う必要があるが、アライメントが合っているメモリにアクセスする場合
> > は、1回のメモリ・アクセスで済む。4バイト境界にまたがるワード・オペランドとダブル
> > ワード・オペランド、あるいは8バイト境界にまたがるクワッドワード・オペランドは、アラ
> > イメントが合っていないものと見なされ、アクセスには2回の別個のメモリ・バス・サイクル
> > が必要になる。奇数アドレスで始まるがワード境界にはまたがらないワードは、アライメン
> > トが合っているものと見なされ、1回のバス・サイクルでアクセスできる。
> > 建前上はこうなってるな
> 処理を単純化するためにRISKだとアライメントがあるんじゃないのかい?
NECのV810とかの単純なRISCチップだと32ビットの単一のデータに命令とデータが一まとめで入ってたな
参考:2005/03/21(月)01時31分30秒