[第2世代(1982年〜)=ハードウェア・アシスト機構によるVM高速化]
この世代では、ハードウェアにより、各種アシスト機構をサポートし、VMの高速化を図っている。
(1)命令シミュレーション <VMA(VM Assist)>
この時期には、ハードウェアによるアシスト機構(VMA)がサポートされるようになった。このVMAは、マイクロプログラムと呼ばれるハードウェア制御コードにより、VMCPに制御を渡すことなく、ハードウェアがシミュレーション動作を行う機構である。
入出力命令以外の特権命令や、シャドーテーブルの更新などがアシストの対象となり、これにより、シミュレーションによるオーバーヘッドを約40%程度に短縮している。
(2)アドレス管理 <PMA(Preferred Machine Assist)>
VM実アドレスと実計算機の実アドレスが一致するように、実計算機の実アドレス0番地から連続したアドレスを割り当てている(図3)。このPreferred仮想計算機は、1つのVMだけにしか適応できないが、アドレス管理の処理が大幅に簡素化でき、VMAと合わせて使用すると約10%程度までオーバーヘッドが短縮され、実用にも耐えうる仮想計算機となっている。
[第3世代(1985年〜)=仮想計算機アーキテクチャによるVM高速化]
この世代では、仮想計算機を実現するため、ハードウェアによる高速化機構を前提とした基本アーキテクチャを定義している。第2世代に比べ、さらに多くの部分がハードウェアで実行され、高速化している。
(1)命令シミュレーション
入出力命令、一部のタイマ制御命令、マルチプロセッシング用命令、診断などRAS機能用命令を除いた、ほぼすべての命令がVMCPに制御が渡ることなく直接実行できるようになっている。
(2)アドレス管理
・2段階アドレス変換
V=V仮想計算機用に、ハードウェアによる2段階のアドレス変換がサポートされ、シャドーテーブルの作成・メンテナンスが不要となった。
・常駐仮想計算機高速化機構 <V=Resi(Residence)仮想計算機>
Preferred仮想計算機が1つのVMしか定義できないのに対し、V=Resi仮想計算機は複数のVMを定義できる。
具体的には、VM実アドレス+α番地=実計算機上の実アドレスとし、“+α番地”(通称「下駄をはかせる」と言う)をハードウェアによって、各々の命令処理の中で自動的に行う(図4)。
オーバーヘッドはPreferred仮想計算機と同様に約10%程度だが、複数のVMがこの性能を享受できるようになっている。
[第4世代(1988年〜)=入出力命令処理の高速化]
第4世代では、第3世代の仮想計算機アーキテクチャに、入出力命令がVMCPのシミュレーションなしでも直接実行できる機能を追加している。これにより、オーバーヘッドは数%程度となり、性能面でもほぼ実計算機を使用している感覚でVMを使用できる。メインフレームやUNIXサーバで広く知られているLPAR(Logical PARtition)は、この世代の技術が基本となっている。