z / Architecture


Z/Architecture
z / Architectureは、当初は簡単にESA Modal Extensions(ESAME)と呼ばれていましたが、メインフレームコンピューターによって実装されたIBMの64ビット CISC 命令セットアーキテクチャーです。IBMは、2000年後半に最初のz / Architectureベースのシステムであるz900を発表しました。その後のz / Architectureシステムには、IBM z800、z990、z890、System z9、System z10、zEnterprise 196、zEnterprise 114、zEC12、zBC12が含まれます。、z13、z14およびz15。
z / Architecture
デザイナー IBM ビット
64ビット
紹介された
2000 ; 21年前 (2000)
バージョン
ARCHLVL2およびARCHLVL3(2008)
デザイン CISC タイプ
レジスタ-レジスタレジスタ-メモリメモリ-メモリ
エンコーディング
変数(2、4、または6バイト長)
分岐
条件コード、インデックス作成、カウント
エンディアンネス 大 前任者
ESA / 390
レジスター
一般的用途
16×64ビット
浮動小数点
16×64ビット
ベクター
32×128ビット
z / Architectureは、以前の32ビットデータ/ 31ビットアドレス指定アーキテクチャーESA / 390およびその前身である32ビットデータ/ 24ビットアドレス指定システム/ 360との下位互換性を保持しています。IBM z13は、ESA / 390アーキテクチャーモードでのオペレーティングシステムの実行をサポートする最後のzSystemsサーバーです。ただし、元々ESA / 390アーキテクチャーで実行するように作成されたすべての24ビットおよび31ビットの問題状態のアプリケーション・プログラムは、この変更による影響を受けません。
64ビットアドレス空間と呼ばれる各z / OSアドレス空間のサイズは、16エクサバイトです。

コンテンツ
1 コード(または混合)スペース
2 データ専用スペース
2.1 データスペースとハイパースペース 2.2 IBMメインフレーム拡張ストレージ 2.3 MVPGとADMF
2.3.1 MVPG
2.3.2 ADMF
3 z / Architectureオペレーティングシステム
4 ノート
5 参考文献
6 参考文献

コード(または混合)スペース
z / OSを含むz / Architectureのほとんどの オペレーティングシステムは、効率と互換性の理由から、通常、コードの実行を各仮想アドレス空間の最初の2 GB(31アドレスビットまたは2 31アドレス可能バイト)に制限します。アーキテクチャ上の制限のためよりも。Javaプログラミング言語のz / OS実装は例外です。z / OSの仮想メモリーの実装は、複数の2 GBアドレス・スペースをサポートし、2GBを超える同時常駐プログラム・コードを許可します。Linux on IBM Zの64ビットバージョンでは、64ビットのアドレス範囲内でコードを実行できます。

データ専用スペース
大量のデータを格納する必要があるプログラマーの場合、通常は64ビットのアドレス空間で十分です。

データスペースとハイパースペース
16エクサバイトを超えるデータアドレス空間を必要とするアプリケーションは 、追加のアドレス空間またはデータのみの空間を使用して、拡張アドレス可能性技術を採用できます。ユーザー・プログラムで使用可能なデータ専用スペースは、次のように呼ばれます。
データスペース(時には「データ空間」と呼ぶ) と
ヒップスペース(高性能スペース)。
これらのスペースは、どちらもプログラムが作成できる仮想ストレージの領域であり、最大2ギガバイトになる可能性があるという点で類似しています 。アドレス空間とは異なり、データ空間またはハイパー空間にはユーザーデータのみが含まれます。システム制御ブロックや共通領域は含まれプログラムコードは、データスペースまたはハイパースペースでは実行できません。
データスペースはバイトアドレス可能であるのに対し、ハイパースペースはページアドレス可能であるという点で、データスペースはハイパースペースとは異なります。

IBMメインフレーム拡張ストレージ
従来、IBMメインフレームメモリはバイトアドレス可能でした。この種のメモリは「中央ストレージ」と呼ばれます。1980年代から1990年代にかけてのIBMメインフレーム・プロセッサーは、別の種類のメモリーである拡張ストレージをサポートしていました。
拡張ストレージは4KBページのアドレス指定が可能です。アプリケーションが拡張ストレージ内のデータにアクセスする場合は、最初に中央ストレージに移動する必要が同様に、中央ストレージから拡張ストレージへのデータ移動は、4KBページの倍数で行われます。当初、ページ移動は、サブシステムコードをページングすることにより、比較的高価な命令を使用して実行されていました。
中央ストレージと拡張ストレージの間で単一およびグループのページを移動するオーバーヘッドは、MVPG(ページの移動)命令とADMF(非同期データ移動機能)機能の導入により削減されました。
MVPG命令とADMFは、拡張ストレージ内のデータにアクセスするために、通常はz / OSまたはz / VM(およびACP?)のミドルウェアによって明示的に呼び出されます。いくつかの用途は次のとおりです。
MVPGは、VSAMローカル共有リソース(LSR)バッファー・プール管理によって、拡張ストレージのハイパースペース内のバッファーにアクセスするために使用されます。
DB2は、MVPGとADMFの両方を使用してハイパープールにアクセスします。ハイパープールは、ハイパースペースにあるバッファープールの一部です。
VMミニディスクキャッシング。
1990年代半ばまで、中央ストレージと拡張ストレージは、プロセッサ上のメモリの物理的に異なる領域でした。1990年代半ば以降、中央ストレージと拡張ストレージは、基盤となるプロセッサメモリの割り当ての選択肢にすぎませんでした。これらの選択は、特定の予想される用途に基づいて行われました。たとえば、Hiperbatch関数(MVPG命令を使用してそのハイパースペースにアクセスする)には拡張ストレージが必要です。
上記のハイパースペースとページングのケースに加えて、拡張ストレージには次のような他の用途が
拡張ストレージのシミュレートされたデバイスに一時データセットを格納した拡張ストレージへの仮想I / O(VIO)。(この機能は、中央ストレージのVIOに置き換えられました。)
VMミニディスクキャッシング。
z / OSは、拡張ストレージのサポートを削除しました。z / OSのすべてのメモリーが中央ストレージになりました。z / VM 6.4は、拡張ストレージのすべての使用のサポートを終了するという方向性のステートメントを満たしています。
MVPGとADMF編集

MVPG
IBMは、MVPGを「単一のページを移動し、中央処理装置はページの移動が完了するまで他の命令を実行できない」と説明しました。
MVPGメインフレーム命令(M o V e P a G e、オペコードX’B254 ‘)は、MVCL(M o V e C haracter L ong)命令と比較されており、どちらも256バイト以上移動できます。単一の命令を使用してメインメモリ内で。これらの命令は、アトミック性の定義に準拠していませんが、文書化されたタイミングおよび非重複制限内で単一の命令として使用できます。:注8、7–27ページ
メインメモリ内で256バイトを超える移動の必要性は、これまでソフトウェア(MVCループ)、1970年のSystem / 370の発表で導入されたMVCL 、および特許取得済みのMVPG で対処されてきました。 1989年にIBMによって発表されましたが、それぞれに利点が

ADMF
1992年に導入されたADMF(Asynchronous Data Mover Facility)は、単一ページに制限されているMVPG(Move Page)命令の機能を超えており、中央ストレージと拡張ストレージの間でページのグループを移動できます。
「ADMFの直接的な低レベルの使用」を回避するAPIとして説明されているIOSADMFという名前のマクロ命令 を使用して、の読み取りまたはハイパースペースとの間のデータの書き込みを行うことができます。ハイパースペースはDSPSERVCREATEを使用して作成されます。
再入可能性を提供するために、IOSADMFは「リストフォーム」および「実行フォーム」と一緒に使用されます。

z / Architectureオペレーティングシステム
z / VSEバージョン4、Z / TPFバージョン1とのz / VMバージョン5オペレーティング・システム、およびおそらくその後継は、Z /アーキテクチャを必要とします。
z / Architectureは、異なるアドレスサイズを使用している場合でも、複数の同時オペレーティングシステムおよびアプリケーションの実行をサポートします。これにより、ソフトウェア開発者は、アプリケーションとデータ構造に最も有利なアドレスサイズを選択できます。
Platform Solutions Inc.(PSI)は、以前はz / Architectureと互換性のあるItaniumベースのサーバーを販売していました。IBMは2008年7月にPSIを購入し、PSIシステムは使用できなくなりました。 FLEX-ES、zPDT、およびHerculesエミュレーターもz / Architectureを実装しています。VOS3オペレーティングシステムの新しいリリースを実行しているHitachiメインフレームは、ESA / 390に加えて、いくつかの64ビット命令を含むHitachi固有のCPU命令を実装しています。日立はおそらくz / Architectureに触発され、2002年に導入されたz900-G2 / z800 CPUでIBMと正式に協力しましたが、日立のマシンはz / Architectureと互換性がありません。
2009年7月7日、IBMは、オペレーティングシステムの1つの新しいバージョンを発表する際に、アーキテクチャレベルセット4(ALS 4)が存在し、Systemz10以降のマシンに実装されていることを暗黙的に表明しました。 ALS4はLOADxxでもARCHLVL3として指定されていますが、以前のz900、z800、z990、z890、Systemz9はARCHLVL2を指定していました。追加:50以上の新しいマシン命令、1 MBページフレーム、およびハードウェア10進浮動小数点ユニット(HDFU)。

ノート
^ AREAD-ハイパースペースからプログラムのプライマリアドレススペースにデータを転送します。

参考文献
^ z / Architectureの開発と属性、IBM Journal of Research and Development、2002年。
^ 将来のサーバーで廃止されるz13サーバーの機能に対応 ^ ホスキンズ、ジム; フランク、ボブ(2002)。IBM EserverZseriesおよびS / 390サーバーの探索。最大プレス。NS。26. ISBN 1885068913。VM Data Spacesアーキテクチャーは、すべてのSystem / 390プロセッサーに標準装備されています。
^ 「CAはVSEポリシーを守ります」。InformationWeek。1991年10月21日。p。15. Computer Associates Internationalは現在、VSE / ESAまたはSystem / 370ユーザーにデータスペーステクノロジーを提供しています。
^ 「メモリ内のデータの分析」。IBM(ロチェスター)。IBM。
^ Hemanth Nandas(2007年10月15日)。「hiperspaceとは何ですか?hiperspaceをサポートする最初のOSはどれですか?」。ニュースグループ:  ibmmainframes.com。
ハイパフォーマンススペースまたは「ハイパフォーマンスデータスペース」(著者アヌジダワン、同日)
^ http://idcp.marist.edu/pdfs/ztidbitz/54%20zTidBits%20(zOS%20ExtendedAddressability).pdf ^ US5442802 非同期コプロセッサーデータムーバーの方法と手段 ^ “HLASM –MVPG = MoVePaGe”。
^ MOVE LONG、注8。 「GA22-7000-10、IBM System / 370、動作原理」(PDF)。
^ 「処理はすぐに実行され、命令が半分完了したり、別の命令が散在したりする可能性はありません。特に、操作を中断できないことを伝えるために使用されます。」 「FOLDOCからのアトミック」。
^ 「$ MVCL–256バイトを超えるストレージを移動する」。
^ 「長く移動する」。
^ US 5237668 非特権命令で仮想アドレス指定を使用して、複数のメディア内または複数のメディア間でデータのページのコピーを制御するプロセス ^ 「整列されたページのMVPGはMVCLよりも高速ですか?」。IBM-MAIN(メーリングリスト)。
^ IBMの特許EP0549924A1は、MVPGを「単一ページを移動する」と説明しています。
^ 「admf」。IBM-MAIN(メーリングリスト)。
^ http://ppdbooks.pok.ibm.com:80/cgi-bin/bookmgr/bookmgr.cmd/BOOKS/DZ9AR003 ^ z / OS MVSプログラミング:拡張アドレス可能性ガイド-SA23-1394-00 ^ 「IOSADMF—ハイパースペースデータの転送」。
^ 「IBMがプラットフォームソリューションを買収」(プレスリリース)。IBM。2008-07-02 。
^ プレビュー:IBM z / VM V6.1-将来の仮想化の成長のための基盤、IBM United States Software Announcement 209-207、2009年7月7日付け ^ ALS1は9672G2でした。ALS2は9672G5でした。ALS 3は、元のz / Architectureである 「IBMCMOSプロセッサー・テーブル」でした。
^ 「IBMSystemz10ビジネスクラス(z10 BC)リファレンスガイド」(PDF)。2008年。
^ z / Architectureの動作原理

参考文献
プログラミングのプレッシング-不可分操作と非不可分操作
コンピュータ設計の原則-Atomicity