z/Architecture

z/Architecture nazývaná zpočátku ESA Modal Extension (ESAME) je 64bitová architektura počítačů s úplnou instrukční sadou (CISC) společnosti IBM, která je implementována sálovými počítači IBM. Svůj první systém založený na této architektuře, z900, IBM představila na konci roku 2000.[1] K novějším systémům založeným na z/Architecture patří IBM z800, z990, z890, System z9, System z10, zEnterprise 196, zEnterprise 114, zEC12, zBC12, z13, z14, z15 a z16.

z/Architecture zachovává zpětnou kompatibilitu s předchozí architekturou ESA/390 s 32bitovými daty a 31bitovými adresami a s jejími předchůdci až po System/360 s 32bitovými daty a 24bitovými adresami. Přechod na novou architekturu neovlivní žádné 24bitové a 31bitové aplikační programy původně napsané pro architekturu ESA/390. Posledním ze z/Systems serverů, který podporuje běh operačního systému v režimu architektury ESA/390, je IBM z13.[2]

Podpora operačních systémů

Operační systémy z/OS, z/VSE, z/TPF a z/VM jsou verzemi MVS, VSE, Transaction Processing Facility (TPF) a VM pro z/Architecture. Zatímco starší verze z/OS, z/VSE a z/VM podporovaly i 32bitový hardware, z/OS od verze 1.6, z/VSE od verze 4 a z/VM od verze 5 již vyžadují z/Architecture.

z/Architecture podporuje také Linux jako Linux on IBM Z.

z/Architecture podporuje současný běh několika operačních systémů a aplikací, i když používají různé délky adres. To vývojářům umožňuje vybrat si délku adres, která je nejvýhodnější pro aplikaci a její datové struktury.

Při příležitosti oznámení nové verze jednoho ze svých operačních systémů 7. července 2009 společnost IBM nepřímo uvedla, že existuje Architecture Level Set 4 (ALS 4) implementovaný v System z10 a novějších strojích.[3][4] V LOADxx je ALS 4 také specifikován jako ARCHLVL 3, zatímco dřívější z900, z800, z990, z890, Systém z9 specifikovaly ARCHLVL 2. Přitom dřívější oznámení Systemu z10 pouze uváděly, že implementuje z/Architecture s některými doplňky: více než 50 nových strojových instrukcí, rámce stránek o velikosti 1 MB a hardwarovou jednotku pro výpočty v desítkové soustavě s pohyblivou řádovou čárkou (hardware decimal floating point unit, HDFU).[5][6]

z/OS

Adresní prostor procesu v z/OS je 64bitový o velikosti 16 exabytů.

Prostory pro kód

Většina[zdroj?] operačních systémů pro z/Architecture, včetně operačního systému z/OS z důvodu efektivity a kompatibility omezuje provádění kódu na prvních 2 GB (31bitová adresa nebo 231 adresovatelných bytů) každého virtuálního adresního prostoru. Toto omezení však není hardwarovým omezením; Linux na IBM Z umožňuje provádět kód v celém 64bitovém adresním prostoru.Implementace programovacího jazyka Java pro z/OS je výjimkou – implementace virtuální paměti v z/OS podporuje několik adresních prostorů o velikosti 2 GB, což umožňuje více než 2 GB programového kódu.

Prostory pouze pro data

Paměťové prostory pouze pro data lze číst i zapisovat, ale nelze v nich provádět programový kód – fungují podobně jako NX bit (not execute) moderních procesorů.

Paměťový prostor v z/Architecture je implicitně adresován 64bitovými ukazateli, které poskytují prostor pro 16 exabytů paměti.

Dataspaces a hiperspaces

Aplikace, které potřebují více než 16 exabyte datového adresní prostor mohou využívat techniky rozšířeného adresování a používat další adresní prostory nebo data-pouze prostory. Data-pouze prostory, které jsou dostupný pro uživatel programy se nazývají:

  • dataspaces (někdy označovaná jako „datové prostory“)[7][8] a
  • hiperspaces (Vysoký výkonnost prostor).[9][10]

Tyto prostory se podobají tím, že oba jsou oblasti virtuálního úložného prostoru, které program může vytvořit a mohou být velké až 2 gigabytů. Na rozdíl od adresního prostoru dataspace nebo hiperspace obsahuje pouze uživatelská data; neobsahuje řídicí bloky systému nebo běžné oblasti. Programový kód nemůže běžet v datovém prostoru nebo v hiperspace.[11]

Datové prostory jsou adresovatelné po bytech, zatímco hiperspaces po stránkách.

Rozšířený úložný prostor sálových počítačů IBM

Paměť sálových počítačů IBM nazývaná Central Storage (centrální paměť) byla tradičně adresovatelná po bytech. V roce 1985 IBM představila na špičkových typech sálových počítačů řady IBM 3090 jiný druh paměti, nazývaný Expanded Storage (rozšířená paměť), který byl dostupný na většině počítačů IBM i v 90. letech.[12]

Rozšířená paměť je adresovatelná po stránkách o velikosti 4KB. Aby bylo možné data v rozšířené paměti používat, je nutné je zkopírovat do centrální paměti. Změněná data pak musí být zkopírována do rozšířené paměti. Tyto přesuny bloků dat o velikosti celistvého násobku 4 KB byly zpočátku realizovány poměrně nákladnou instrukcí stránkovacího subsystému.

Režie přesunu stránek mezi centrální a rozšířenou pamětí byla snížena zavedením instrukce MVPG (Move Page) a funkčnosti ADMF (Asynchronous Data Mover Facility).

Instrukce MVPG a ADMF jsou explicitně vyvolávány middlewarem v operačním systému z/OS nebo z/VM (a ACP?) např. pro

  • MVPG používá správa fondu vyrovnávacích pamětí VSAM Local Shared Resources (LSR) pro přístup k bufferům v hiperspace v rozšířeném úložném prostoru.
  • MVPG i ADMF používá IBM DB2 pro přístup k hiperpools, což jsou části fondu vyrovnávacích pamětí umístěných v hiperspace.
  • Kešování dat pro VM Minidisky.

Do poloviny 90. let 20. století byly centrální a rozšířená paměť realizovány pro procesor fyzicky odlišnými oblastmi paměti. Od té doby se odlišují pouze pouze přiřazením volby podkladové paměti procesoru.Tyto volby byly nastavovány na základě očekávaného použití:Rozšířená paměť je požadována pro funkci Hiperbatch (která pro přístup k hiperspaces používá instrukce MVPG).

Kromě výše zmíněných případů hiperspace a stránkování existují i jiná použití rozšířeného úložného prostoru, např.:

  • Virtuální I/O (VIO) pro rozšířenou paměť, který ukládá dočasné datové soubory v simulovaném zařízení v rozšířené paměti. (Tato funkce byla nahrazena VIO v centrálním úložném prostoru.)
  • Kešování dat pro VM Minidisky.

z/OS odstranil podporu pro rozšířenou paměť. Nyní je veškerá paměť v z/OS centrální pamětí. Také z/VM 6.4 splnil deklaraci o vývoji odstraněním podpory pro použití rozšířené paměti.

MVPG a ADMF

MVPG

IBM popisuje instrukci MVPG jako „přesun jedné stránky, po dobu jehož provádění nemůže centrální procesor provádět jinou instrukci.“[13]

Instrukce MVPG[14] (MoVe PaGe, operační kód X'B254') se podobá instrukci MVCL (MoVe Character Long) tím, že obě mohou přesunout více než 256 bytů dat. Tyto instrukce nesplňují definici atomicity, i když je lze používat v rámci dokumentovaných časových a nepřekryvných omezení.[15]:s.Note 8, page 7–27[16]

Potřeba přesouvat více než 256 bytů v hlavní paměti byla historicky řešena softwarově[17] (MVC smyčkou), instrukcí MVCL,[18] který byla představena s 1970 oznámení of System/370 a patentovanou[19] instrukcí MVPG, kterou IBM ohlásila v roce 1989. Každá z řešení má své výhody.[20]

ADMF

Funkčnost ADMF (Asynchronous Data Mover Facility) představená v roce 1992 umožňuje na rozdíl od instrukce MVPG přesouvat mezi centrální a rozšířenou pamětí skupiny stránek.[21]

Pro přesun dat mezi centrální a rozšířenou byla navržena makroinstrukce IOSADMF, která představuje API, které umožňuje vyhnout se „přímému, nízkoúrovňovému použití ADMF“,[22] lze použít pro read[Pozn 1] nebo píší/psát data na nebo z hiperspace.[23] Hiperspaces se vytvářejí pomocí DSPSERV CREATE.

Pro umožnění reentrance se IOSADMF používá spolu s „List form“ a „Execute form“.[24]

Implementace mimo IBM

Servery kompatibilní s z/Architecture s procesory Itanium dříve prodávala společnost Platform Solution Inc. (PSI). Ale IBM ji v červenci 2008 koupila a už je klid, protože systémy PSI už nejsou dostupné.[25] Architektura z/Architecture je také implementována FLEX-ES, zPDT a emulátorem Hercules. Sálové počítače společnosti Hitachi s novějšími verzemi operačního systému VOS3 implementovaly ESA/390 a některé instrukce specifické pro Hitachi CPU, včetně několika 64bitových instrukcí. Přestože společnost Hitachi formálně spolupracovala s IBM na procesorech z900-G2/z800 uvedených v roce 2002, stroje společnosti Hitachi nejsou se z/Architecture kompatibilní.

Odkazy

Poznámky

Reference

V tomto článku byl použit překlad textu z článku z/Architecture na anglické Wikipedii.

Literatura