• 検索結果がありません。

IA-32

プロセッサ上で動作するプログラムやタスクには、命令の実行や、コード、デー

タ、ならびにステート情報を格納するためのリソースが与えられる。これらのリソー ス(以下に簡単に説明する。図

3-1.

を参照)は、

IA-32

プロセッサの基本実行環境を構 成する。この基本実行環境は、プロセッサ上で実行されるアプリケーション・プログ ラムとオペレーティング・システムまたはエグゼクティブによって共同で使用される。

アドレス空間:

IA-32

プロセッサ上で実行されるタスクまたはプログラムは、最大

4G

バイト(

2

32バイト)のリニアアドレス空間と、最大

64G

バイト(

2

36バイト)

の物理アドレス空間をアドレス指定することができる。

4G

バイトを超えるアドレ ス空間のアドレス指定についての詳細は、

3.3.3.

項「拡張された物理アドレス指定」

を参照のこと。

基本プログラム実行レジスタ:8個の汎用レジスタ、6個のセグメント・レジスタ、

EFLAGS

レジスタ、および

EIP(命令ポインタ)レジスタが、一連の汎用命令を実

行するための基本実行環境を構成する。これらの命令は、バイト整数、ワード整 数、ダブルワード整数の整数演算、プログラム・フロー制御、ビット・ストリン グとバイト・ストリングの処理、メモリのアドレス指定を実行する。これらのレ ジスタについての詳細は、3.4.節「基本プログラム実行レジスタ」を参照のこと。

x87 FPUレジスタ:

8

個の

x87 FPU

データレジスタ、

x87 FPU

コントロール・レジ スタ、ステータス・レジスタ、

x87 FPU

命令ポインタレジスタ、

x87 FPU

オペラン ド(データ)ポインタ・レジスタ、

x87 FPU

タグレジスタ、

x87 FPU

オペコード・

レジスタが、単精度

/

倍精度

/

拡張倍精度の浮動小数点値、ワード

/

ダブルワード

/

クワッドワード整数、2進化

10

進数(BCD)の演算用の実行環境となる。これら のレジスタについての詳細は、

8.1.

節「

x87 FPU

の実行環境」を参照のこと。

MMX® テクノロジ・レジスタ:

8

個の

MMX

テクノロジ・レジスタは、

64

ビット のパックドバイト

/

ワード

/

ダブルワード整数の

SIMD

Single Instruction, Multiple Data

)演算の実行をサポートする。これらのレジスタについての詳細は、

9.2.

MMX®

テクノロジのプログラミング環境」を参照のこと。

XMMレジスタ:8個の

XMM

データレジスタと

MXCSR

レジスタは、128ビットの パックド単精度

/

倍精度浮動小数点値の

SIMD

演算と、128ビットのパックドバイ ト

/

ワード

/

ダブルワード

/

クワッドワード整数の

SIMD

演算をサポートする。これ らのレジスタについての詳細は、10.2.節「SSEのプログラミング環境」を参照の こと。

IA-32基本実行環境

3

スタック:プロシージャまたはサブルーチンの呼び出しと、プロシージャまたは サブルーチン間でのパラメータの受け渡しをサポートするために、実行環境にス タックとスタック管理リソースが含まれている。スタック(図

3-1.

には示されてい ない)はメモリ内に置かれる。スタックの構造についての詳細は、

6.2.

節「スタッ ク」を参照のこと。

図3-1. IA-32の基本実行環境 0 232 -1 8個の32ビット・

32ビット 32ビット

汎用レジスタ

セグメント・レジスタ

EFLAGSレジスタ

EIP(命令ポインタレジスタ)

アドレス空間*

*アドレス空間は、フラット 6個の

浮動小数点データ・

8個の64ビット・

MMXテクノロジ・レジスタ

XMMレジスタ 8個の128ビット・レジスタ

16ビット コントロール・レジスタ 16ビット ステータス・レジスタ

48ビット FPU命令ポインタレジスタ

48ビット FPUオペランド(データ)ポインタ・レジスタ FPUレジスタ

MMXテクノロジ・レジスタ

XMM レジスタ

32ビット MXCSRレジスタ

オペコード・レジスタ 基本プログラム実行レジスタ

16ビット タグレジスタ 8個の80ビット・

16ビット・

レジスタ レジスタ

レジスタ レジスタ

11ビット)

レジスタ

モデルでもセグメント化 モデルでもかまわない。物理 アドレス拡張機構を使用して、

236-1の物理アドレス空間を アドレス指定することが できる。

IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル 上巻:基本アーキテクチャ

3-4

IA-32

アーキテクチャは、基本実行環境のリソース以外に、システムレベル・アーキ

テクチャの一部として、次のようなシステムリソースを備えている。これらのリソー スは、オペレーティング・システムとシステム開発ソフトウェアを広範囲にわたって サポートする。

I/O

ポート以外のシステムリソースについての詳細は、『

IA-32

インテル®アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル、下巻

:

シ ステム・プログラミング・ガイド』を参照のこと。

I/Oポート:

IA-32

アーキテクチャは、入力

/

出力(

I/O

)ポートとの間のデータ転 送をサポートしている。本巻の第

13

章「入出力」を参照のこと。

コントロール・レジスタ:5個のコントロール・レジスタ(CR0~

CR5)は、プロ

セッサの動作モードと、現在実行中のタスクの特性を指定する。『IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル、下巻』の「コント ロール・レジスタ」の項を参照のこと。

メモリ管理レジスタ:

GDTR

IDTR

、タスクレジスタ、

LDTR

は、プロテクト・モー ドのメモリ管理に使用されるデータ構造の位置を指定する。『

IA-32

インテル®アー キテクチャ・ソフトウェア・デベロッパーズ・マニュアル、下巻』の第

2

章の「メ モリ管理レジスタ」の項を参照のこと。

デバッグレジスタ:デバッグレジスタ(

DR0

DR7

)は、プロセッサのデバッグ 動作の監視機能を制御する。『

IA-32

インテル®アーキテクチャ・ソフトウェア・デ ベロッパーズ・マニュアル、下巻』の第

15

章の「デバッグレジスタ」の項を参照 のこと。

メモリタイプ範囲レジスタ(MTRR):MTRR を使用して、メモリタイプをメモリ の領域に割り当てることができる。『IA-32 インテル®

アーキテクチャ・ソフトウェ

ア・デベロッパーズ・マニュアル、下巻』の第

10

章の「メモリタイプ範囲レジス タ [MTRR]」の項を参照のこと。

マシン固有レジスタ(MSR):プロセッサは、プロセッサのパフォーマンスの制御 とレポートに使用される各種のマシン固有レジスタを搭載している。事実上すべ ての

MSR

は、システム関連機能を処理するためにあり、アプリケーション・プロ グラムは

MSR

にアクセスできない。ただし、タイムスタンプ・カウンタは例外で ある。

MSR

については、『

IA-32

インテル®アーキテクチャ・ソフトウェア・デベ ロッパーズ・マニュアル、下巻』の付録

B

「モデル固有レジスタ(

MSR

)」を参照 のこと。

マシン・チェック・レジスタ:マシン・チェック・レジスタは、ハードウェア(マ シン)エラーの検出と報告に使用される、一連のコントロール・レジスタ、ステー タス・レジスタ、エラー報告

MSR

で構成される。『

IA-32

インテル®アーキテク チャ・ソフトウェア・デベロッパーズ・マニュアル、下巻』の第

14

章の「マシン チェック

MSR

」の項を参照のこと。

IA-32基本実行環境

3

パフォーマンス監視カウンタ:パフォーマンス監視カウンタは、監視対象となるプロ セッサ・パフォーマンス・イベントの中に含まれるものである。『

IA-32

インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル、下巻』の第

15

章の

「パフォーマンス監視の概要」の項を参照のこと。

本章の後半では、メモリの構成とアドレス空間、基本プログラム実行レジスタ、アド レス指定モードについて説明する。図

3-1.

に記載されている、その他のプログラム実 行リソースについては、本巻の以下の章を参照のこと。

・ x87 FPU

レジスタ - 第

8

章「x87 FPUによる プログラミング」を参照。

・ MMX

テクノロジ・レジスタ - 第

9

章「インテル

® MMX®

テクノロジによるプロ グラミング」を参照。

・ XMM

レジスタ-第

10

章「ストリーミング

SIMD

拡張命令(

SSE

)によるプログ ラミング」、第

11

章「ストリーミング

SIMD

拡張命令

2

SSE2

)によるプログラミ ング」、第

12

章「ストリーミング

SIMD

拡張命令

3

SSE3

)によるプログラミン グ」を参照。

スタックの実装とプロシージャ・コール - 第

6

章「プロシージャ・コール、

割り

込み、例外」を参照。