日本-日本語
≫  お問い合わせ

製品とサービス >  ソフトウェアとOS >  OpenVMS >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:はじめに
第 2 章:基本的な相違点
第 3 章:ポーティングが必要なアプリケーションの調査
第 4 章:ソース・モジュールの移行
第 5 章:OpenVMS I64 開発環境
第 6 章:アプリケーションのポーティングの準備
第 7 章:その他の検討事項
付録 A :アプリケーション評価チェックリスト
付録 B :サポート対象外のレイヤード・プロダクト
付録 C :アプリケーション固有のスタック切り換えコードの I64 へのポーティング
用語集
索引
PDF
OpenVMS ホーム

HP OpenVMS
OpenVMS Alpha から OpenVMS I64 へのアプリケーション・ポーティング・ガイド


目次 索引

用語集


ABI: Application Binary Interface の略。プログラムが特定のオペレーティング・システムの下で動作するために従わなければならないすべてのルールや規則の総称。たとえば,OpenVMS I64 ABI には,呼び出し規則,レジスタの使用,割り込みの処理,その他の関連トピックが含まれています。

Intel から発行されている『Itanium Software Conventions and Run-Time Architecture Guide』には,「ABI は,API,システム固有の規則,ハードウェアに関する記述,実行時アーキテクチャで構成される」と記述されています。

ACPI: Advanced Configuration and Power Interface の略。 ACPI は電源状態管理,システム・デバイス識別,およびハードウェア構成のためのインタフェースを提供します。

  • ACPI 仕様:


    http://www.acpi.info/spec.htm 
    

  • Intel の ACPI に関する Web サイト:


    http://developer.intel.com/technology/iapc/acpi/ 
    


ALAT: Advanced Load Address Table の略。 Itanium プロセッサ上のルックアップ・テーブルであり,スペキュレーションによるメモリ・アクセスを追跡し, CPU が競合を取り扱うことができるようにします。

AML: ACPI Machine Language の略。 ACPI 互換のオペレーティング・システムでサポートされる仮想マシン用の擬似コードであり,ACPI 制御メソッドとオブジェクトはこの言語で書かれています。 ACPI も参照してください。

アプリケーション・レジスタ: さまざまな機能のために使用される 128 個の専用レジスタ。 ar0 〜 ar127 のラベルが付けられています。たとえば,ar17 はバッキング・ストア・ポインタというレジスタです。

Aries: HP Precision Architecture (PA) アプリケーション・コード向けの HP エミュレータ/トランスレータ。 VEST (VAX から Alpha へのトランスレータ) と異なり,Aries は実行時にだけエミュレーションを行い,変換されたイメージは生成しません。イメージの終了時に,変換されたコードはすべて破棄されるので,プログラムを実行するたびに再作成する必要があります。

ASL: ACPI Source Language の略。 AML 用のプログラミング言語。 ASL ソース・コードは AML イメージにコンパイルされます。

ASM: Address Space Match の略。仮想メモリ管理の一部です。

分岐レジスタ: Itanium の 64 ビット・レジスタで,br0 〜 br7 のラベルが付けられ,間接分岐でターゲット・アドレスを指定するために使用されます。分岐レジスタは呼び出し/戻り分岐を単純化します。

バンドル: Itanium アーキテクチャ用のインストラクションの基本的な形式。バンドルは 128 ビット構造であり, 3 つの 41 ビット・インストラクションおよび 5 ビットのテンプレートで構成されます。

CISC: Complex Instruction Set Computing の略。 RISC より複雑な,多くの可変長マシン・インストラクションが含まれます。 RISC および VLIW も参照してください。

COW: Copy-on-write の略。複数のプロセスによってマッピングされ,各プロセスが個別に書き込みを行わないメモリのことです。プロセスがあるページに書き込むと,そのページはプロセスのプライベート・ロケーションにコピーされ,再マッピングされます。元の共有ページは変更されません。 COW は一般に,メモリ・マッピングされた共有ライブラリのローダで使用されます。

CVF: Compaq Visual Fortran の略。

DSDT: Differentiated System Description Table の略。 ACPI サブシステムの一部。 DSDT には Differentiated Definition Block (差別化定義ブロック) が含まれています。このブロックは,ベース・システムに関するインプリメンテーションおよび構成情報を提供します。

DVD: Digital Versatile Disk の略。

DWARF: デバッグおよびトレースバック情報 (ELF に埋め込まれます)。

EFI: Extensible Firmware Interface の略。 EFI の目的は,ハードウェアを初期化し,オペレーティング・システムのブートを開始することです。

詳細については,Intel の EFI ページを参照してください。


http://developer.intel.com/technology/efi/index.htm 


ELF: ELF (Executable and Linkable Format) は, Itanium プロセッサでのオブジェクト・ファイル,共有ライブラリ,および実行イメージのファイル形式を定義します。 ELF は Itanium アーキテクチャ固有の形式ではなく,さまざまな UNIX システムで数年にわたって使用されています。

詳細については,以下の Web サイトで SCO が提供している ELF 仕様を参照してください。


http://stage.caldera.com/developer/gabi/ 


EPIC: Explicitly Parallel Instruction Computing の略。 CISCRISC と対比して, Itanium アーキテクチャを記述するために Intel が考案した用語。 EPIC は,CPU 内の並列処理へのアーキテクチャ上での目に見えるアクセスを可能にします。たとえば,データのスペキュレーションやレジスタ名の変更は,Alpha ではチップでインプリメンテーションされていて,ユーザには見えないようになっていますが, Intel Itanium プロセッサ・ファミリでは,これらの機能はアーキテクチャの一部として定義されています。 EPIC は VLIW (Very Long Instruction Word) コンピューティング・アーキテクチャに類似しています。

FADT: Fixed ACPI Description Table の略。このテーブルには, ACPI ハードウェア・レジスタ・ブロックのインプリメンテーションおよび構成の詳細情報や, DSDT の物理アドレスが格納されます。

FAT: File Allocation Table の略。 Microsoft のさまざまなオペレーティング・システムおよび Itanium EFI オペレーティング・システム・ローダで使用されるディスク・ボリューム構造。 FAT には,FAT8,FAT12,FAT16,FAT32 など,さまざまなバージョンがあります。各バージョンは,可能な合計ボリューム・サイズが異なり,その他にも違いがあります。

フィル: スピル・アンド・フィルを参照してください。

FIT: Firmware Interface Table の略。

GEM: 大部分の OpenVMS Alpha および I64 コンパイラで使用されるバックエンド・コード・ジェネレータ。

汎用レジスタ: Itanium プロセッサには 128 個の 64 ビット汎用レジスタがあり, r0 〜 r127 の番号が付けられています (gr0 〜 gr127 とも呼ばれます)。しかし,通常は 32 個のレジスタだけが直接使用されます。他の 96 個のレジスタは引数の受け渡しや,現在実行中のプロシージャのローカル変数を格納するために使用されます。レジスタ r0 〜 r31 は静的ですが,レジスタ r32 以上は一般に RSE (Register Stack Engine) で管理され,プロシージャ呼び出し間で名前が変更される可能性があります。

グローバル・ポインタ (GP): 現在のグローバル・データ・セグメントのベース・アドレス。ベース・アドレスが定義されていると,マシン・コードでコンパクトな GP 相対アドレスを使用できます。 Itanium インストラクションの最大即値は 22 ビットなので,グローバル・データ・セグメントの長さは 4 MB です。現在の GP は汎用レジスタ 1 に格納されます。

HP OpenVMS Migration Software for Alpha to Integrity Servers: Alpha 用の実行イメージを I64 用の実行イメージに変換するツール。

HWPCB: Hardware Process Control Block の略。プロセスが再スケジューリングされるときに,ハードウェアで格納および取得されるプロセス・コンテキストの部分。

HWRPB: Hardware Restart Parameter Block の略。これらのデータ構造は,システム起動時および再起動時に,コンソールと OpenVMS の間でシステム・レベルの構成情報を伝達するために使用されます。

IA: Intel Architecture の略。

IA-32: Intel の 32 ビット CISC マイクロプロセッサ・アーキテクチャ。たとえば,Pentium®, Xeontm,80386 などがインプリメントされています。

IA-64: Itanium プロセッサ・ファミリ・アーキテクチャの以前の名称。 IA-64 という名称は公式には使用されなくなりました。しかし,過去に発行されたドキュメントではこの名称が使用されており,一部のコードでも IA64 がまだ使用されています。

Integrity: Itanium アーキテクチャに基づく HP サーバ製品ラインの商標。たとえば,rx2600 サーバは HP Integrity rx2600 として販売されています。

ILP: Instruction Level Parallelism の略。同じサイクルで並列に複数のインストラクションを実行できる機能。

インストラクション・グループ: 明示的なストップまたは分岐によって区切られている,一連の 1 つ以上のインストラクション。インストラクション・グループ内のインストラクションには, RAW または WAW 依存関係があってはなりません。インストラクション・グループは, バンドル境界を越えてもかまいません。

Intel® Itanium®: 64 ビット・アーキテクチャ (Itanium プロセッサ・ファミリ),およびそのアーキテクチャをインプリメントした最初のチップ (Itanium プロセッサ) の両方の名前。

Intel® Itanium® 2: Itanium プロセッサ・ファミリの第 2 世代。 rx2600 は Itanium-2 システムです。

IPINT: Inter-Processor Interrupt の略。単に IPI とも呼ばれます。

IPF: Itanium Processor Family の略。

IPMI: Intelligent Platform Management Interface の略。サーバの管理に使用される API の集合。温度,電圧,ファン,シャーシ・スイッチなどの環境データの監視をはじめ,アラート,リモート・コンソールとコントロール,資産追跡などの機能があります。詳細については,次の Intel の Web サイトを参照してください。


http://www.intel.com/design/servers/ipmi/ 


IVT: interrupt vector table の略。

ジャケット・ルーチン: 引数を,ある呼び出し規則から別の呼び出し規則に変換するインタフェース・ルーチン。

MAS: Multiple Address Space の略。 MAS オペレーティング・システムでは,システム上のすべてのプロセスが少なくとも部分的にプライベートな仮想アドレス空間を保有します。 OpenVMS と Tru64 UNIX はどちらも MAS オペレーティング・システムです。 SAS も参照してください。

MBR: Master Boot Record の略。最初のディスク・ブロックの内容であり, FAT32 でパーティショニング可能なディスクのコア・データ構造。

NaT: Not a Thing の略。さまざまなレジスタに割り当てられる追加ビットであり,レジスタの内容が有効であるかどうかを示します。 投機的実行で使用されます。たとえば,存在しない仮想アドレスからの読み込みを行うと,結果は NaT になります。 NaT ビットは操作の実行とともに伝達されるので, NaT を含む操作の結果は NaT になります。

NMI: Non-Maskable Interrupt の略。

NUE: Linux Native User Environment の略。 Ski Itanium エミュレータと組み合わせて使用される開発ソフトウェアの集合。

PA: Hewlett-Packard (HP) Precision Architecture の略。 PA-RISC とも呼ばれるコンピュータ・アーキテクチャです。 HP は,自社の UNIX を PA から Itanium アーキテクチャへ移植しています。

PAL (Alpha): Privileged Architecture Library の略。 PAL は Alpha アーキテクチャの一部です。割り込みの処理や TLB 管理,不可分な操作など,VAX ではマイクロコードとしてインプリメントされていた下位レベルの操作をソフトウェアで実行するためのメカニズムです。 Itanium システムでは,同じ機能がオペレーティング・システムの一部として提供されます。可能な場合は,OpenVMS I64 用の BLISS,C,および Macro コンパイラは下位互換性を維持するために, CALL_PAL マクロを対応するオペレーティング・システム呼び出しに変換します。すべての Alpha PAL 操作が I64 でインプリメントされるわけではありません。場合によっては,PALcode を直接呼び出すプログラムを変更しなければならないこともあります。

PAL (Itanium): Processor Abstraction Layer の略。 Itanium アーキテクチャの中で,ファームウェアでインプリメントされている部分。ハードウェア・エラーやシステムの初期化など,プロセッサ固有の機能に対して,一貫性のあるインタフェースを提供します。一般的に言うと,SAL はオペレーティング・システムをプラットフォーム固有のインプリメンテーションの違いから分離するのに対し, PAL はオペレーティング・システム (および SAL) をプロセッサ固有の違いから分離します。

PIC: Position-independent code の略。相対アドレス参照だけを使用するマシン・コード。この方式を使用すると,コードは,変更せずにどのメモリ・ロケーションにもロードできます。

POSSE: Pre-Operating System Startup Environment の略。 POSSE は, Itanium® 2 サーバ上の標準的なファームウェア・ユーザ・インタフェースになります。 HP 独自の付加価値コンポーネントであり, HP システムでのみ使用できます。

PPN: Physical Page Number の略。

PTE: Page Table Entry の略。

プレディケーション: プレディケートと呼ばれる特殊な 1 ビット・レジスタ・セットの内容をもとに,条件に応じてインストラクションを実行する機能。大部分の I64 インストラクションには,プレディケートの番号が含まれています。対応するプレディケート・レジスタが真 (1) の場合は,そのインストラクションが実行されます。偽 (0) の場合は,インストラクションは "no-op" として取り扱われます。

RAW: Read-after-write 違反。 1 つのインストラクション・グループ内の 2 つのインストラクションの間のデータ依存性のタイプ。最初のインストラクションが書き込むレジスタと同じレジスタから,2 番目のインストラクションがデータを読み込むと,この状況が発生します。

RID: Region Identifier の略。

RISC: Reduced Instruction Set Computing の略。固定サイズのマシン・インストラクションであり, CISC より単純なマシン・インストラクションを目指して開発されました。 CISC および VLIW も参照してください。

RSE: Register Stack Engine の略。プロシージャ呼び出しの間で,レジスタの名前変更と スピル・アンド・フィルを取り扱うオンチップ機能。

rx2600: 最大 2 つの Itanium 2 CPU を搭載した HP サーバ。 rx2600 は,OpenVMS I64 が稼動する最初の Itanium プラットフォームです。

SAL: System Abstraction Layer の略。 Itanium アーキテクチャの中で,ファームウェアでインプリメントされている部分。ハードウェア・エラーやシステムの初期化など,プラットフォーム固有の機能に対して一貫性のあるインタフェースを提供します。一般的に言うと,SAL はオペレーティング・システムを プラットフォーム固有のインプリメンテーションの違いから分離するのに対し,PAL は SAL およびオペレーティング・システムを プロセッサ固有の違いから分離します。

SAS: Single Address Space の略。 SAS オペレーティング・システムでは,すべてのプロセスが同じアドレス空間を共有します。 MAS も参照してください。

SCI: System Control Interrupt の略。 ACPI イベントについてオペレーティング・システムに通知するために,ハードウェアで使用されるシステム割り込み。

Ski: Linux 用に無料で提供される Itanium エミュレータ。 Ski は Intel Itanium プロセッサ・ファミリ・アーキテクチャをエミュレートするものであり,特定のインプリメンテーションではありません。

スペキュレーション: メモリへのアクセス待ち時間をアプリケーションから見えないようにするために,メモリ・アクセスをコードの最初の方に移動する処理。メモリ・アクセスが無効または不要であることがわかった場合は,簡単に破棄することができます。 Itanium プロセッサのインストラクション ld.a,ld.s,chk.a,および chk.s はスペキュレーションのために使用されます。

スピル・アンド・フィル: Itanium レジスタ・ファイルの中で,スタックとして使用される回転する部分。オーバーフローすると,レジスタはレジスタ・バッキング・ストアというメモリ領域に保存されます。 スピルは,1 つ以上のレジスタをバッキング・ストアに保存します。 フィルは,レジスタをバッキング・ストアから復元します。スピル・アンド・フィルは, CPU の RSE (Register Stack Engine) によって自動的に処理されるため,プログラムの介入の必要はありません。

SRM コンソール: Alpha システムのファームウェアであり,ブートのサポート, PALcode,プラットフォーム固有の機能が含まれており, OpenVMS,UNIX,および Linux で使用されます。 Alpha システムに電源を投入したときに表示される山括弧プロンプト (>>>) は,SRM コンソールの一部です。コンソールの動作は,『Alpha System Reference Manual (SRM)』で定義されています。

Itanium アーキテクチャには SRM コンソールに相当するものがありません。 Itanium では,SRM の機能は, PAL/SAL ファームウェア, EFI ブート・ソフトウェア,およびオペレーティング・システムの間で分割されています。

ストップ: インストラクション・グループの末尾であり,アセンブリ・リストでは 2 つのセミコロン (;;) で示されます。

Superdome: ハイエンドの HP サーバ製品ライン。 Superdome サーバは PA-RISC または Itanium の約 64 の CPU をサポートします。最終的には,すべての新しい Superdome システムが Itanium ベースになります。

SWIS: SoftWare Interrupt Support の略。 OpenVMS で使用される割り込みモデルをインプリメントするサービスの集合。プロセッサ IPL,AST,モード変更,およびソフトウェア割り込みなどが含まれています。 Alpha では,このサポートは PALcode でインプリメントされていました。

テンプレート: Itanium プロセッサでは,テンプレートは, 1 つのバンドルに配置できるインストラクションの組み合わせを定義します。たとえば,MFI テンプレートで定義されるバンドルには,メモリ・インストラクション (M),浮動小数点インストラクション (F),および整数インストラクション (I) がこの順序で配置されている必要があります。テンプレートは,ストップの位置も定義します。 Itanium アーキテクチャでは 24 のテンプレートが定義されていますが,英字の組み合わせは 12 組しかありません。各組み合わせに対して, 2 つのテンプレート・バージョンがあります。それは,末尾にストップのあるバージョンと,ストップのないバージョンです。一部のテンプレートでは,バンドルの内部にもストップが含まれています。

TLB: Translation Lookaside Buffer の略。実メモリと仮想メモリの間の,最近使用されたマッピングを格納するオンチップ・キャッシュ。 Itanium アーキテクチャには,インストラクション用の TLB とデータ用の TLB があります。

USB: Universal Serial Bus の略。キーボード,マウス,プリンタ,カメラ,外部ディスクなどの I/O デバイス用のコネクタ。

VEST: VAX の実行イメージを Alpha の実行イメージに変換するツール。 DECmigrate とも呼ばれます。

VHPT: Virtual Hash Page Table の略。

VIAL: OpenVMS to Itanium Abstraction Layer の略。 VIAL は, OpenVMS の SRM コンソール PALcode レイヤに相当します。

VLIW: Very Long Instruction Word コンピューティング・アーキテクチャ。多くの VAX プロセッサの奥深くでインプリメントされていたマイクロコード・エンジンを連想させる非常に複雑なインストラクション。 CISCRISC,および EPIC も参照してください。

VPN: Virtual Page Number の略。

VRN: Virtual Region Number の略。

WAW: Write-after-write 違反。 1 つのインストラクション・グループ内の 2 つのインストラクション間のデータ依存性のタイプ。 2 つのインストラクションがどちらも同じレジスタに書き込むことによって発生する違反です。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡