2012-03-03 4 views

答えて

4

、単語のセクション4.1

4.1.1アライメント、ダブルワード、クワッドワード、およびダブルクワッドワード

ワード、ダブル、およびクワッドワードが整列する必要はありません。自然界にあるメモリ 単語、ダブルワード、 およびクォドワードの自然境界は、偶数番号のアドレスで、 を4で割り切れるアドレス、および8で割り切れるアドレスがそれぞれ均等に割り振られます。 しかし、プログラムのパフォーマンスを向上させるには、 が可能な場合は、データ構造体 (特にスタック)を自然境界で整列させる必要があります。これは、アライメントされていないメモリアクセスを行うにはプロセッサが2つのメモリアクセスを必要とするためです。 は、メモリアクセスを1回だけ必要とします。 が8バイト境界を越える4バイト境界またはクォドワードオペランドを横切るワードまたはダブルワードオペランドは、アライメントされていないと見なされ、アクセスのために2つの別個のメモリバス サイクルが必要です。

通常の状況では、未調整のmovsdは完了するのに2サイクル必要です。

EFLAGSでアライメントチェックをオンにすると、CPUはAC信号を発生します。これは主に、アラインされていないアクセスの検出を支援する方法としての意味です。

関連する問題