メモリーモデル
読み:メモリーモデル
外語:memory model

 x86シリーズの16ビットモード(リアルモード)に存在する、メモリーの使い方に応じたプログラミングモデル。
目次

概要
 x86は、従来の8ビットプログラミングとの互換性や効率などを配慮し、セグメント:オフセットという特殊なアドレッシング方式が採用された。
 このため、他のプロセッサーでは必要ない様々な技術が必要となり、C/C++では、メモリーの使い方に応じたプログラミングモデルも用意された。これをメモリーモデルという。

特徴

一覧
 規模順に、次のようなモデルに分けられる。どれに対応するかはコンパイラー次第である。
モデルポインターセグメントレジスター最大サイズ
コードデータ
タイニーモデルnearCS=DS=SS=ESCS+DS+SS≦64Ki
スモールモデルnearnearCS≠DS、DS=SSCS≦64Ki、DS+SS≦64Ki
ミディアムモデルnearfarCS≠DS、DS≠SSCS≦64Ki、DS≦1Mi、SS≦64Ki
コンパクトモデルfarnearCS≠DS、DS=SSCS≦1Mi、DS+SS≦64Ki
ラージモデルfarfarCS≠DS、DS≠SSCS≦1Mi、DS≦1Mi、SS≦64Ki
ヒュージモデルhugehuge

仕様

再検索