Přeskočit na obsah

z/Architecture

Z Wikipedie, otevřené encyklopedie

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ů

[editovat | editovat zdroj]

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]

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

Prostory pro kód

[editovat | editovat zdroj]

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

[editovat | editovat zdroj]

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
[editovat | editovat zdroj]

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

[editovat | editovat zdroj]

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

[editovat | editovat zdroj]

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]

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

[editovat | editovat zdroj]

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í.

  1. AREAD - transfer data from a hiperspace to the program's primary address space.

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

  1. Development and Attributes of z/Architecture Archivováno 5. 12. 2022 na Wayback Machine., IBM Journal of Research and Development, 2002.
  2. Accommodate functions for the z13 server to be discontinued on future servers [online]. IBM, 2015-06-25 [cit. 2017-09-18]. Dostupné v archivu pořízeném z originálu dne 2017-09-15. 
  3. Preview: IBM z/VM V6.1 - Foundation for future virtualization growth Archivováno 12. 5. 2023 na Wayback Machine., IBM United States Software Announcement 209-207, dated July 7, 2009
  4. ALS 1 was 9672 G2; ALS 2 was 9672 G5; ALS 3 was the original z/Architecture: IBM CMOS Processor Table [online]. 2008-11-18 [cit. 2012-10-18]. Dostupné v archivu pořízeném z originálu dne 2013-12-10. 
  5. , 2008. IBM System z10 Business Class (z10 BC) Reference Guide [online]. 2008 [cit. 2012-10-18]. Dostupné v archivu pořízeném z originálu dne 2011-03-04. 
  6. z/Architecture Principles of Operation [online]. [cit. 2016-01-15]. Dostupné v archivu pořízeném z originálu dne 2020-11-30. 
  7. HOSKINS, Jim; FRANK, Bob, 2002. Exploring IBM Eserver Zseries and S/390 Servers. [s.l.]: Maximum Press. Dostupné v archivu pořízeném z originálu dne 2021-04-27. ISBN 1885068913. S. 26. VM Data Prostory architecture je standardní na všechno Systém/390 procesory.. 
  8. CA Defends VSE Policy. InformationWeek. 1991-10-21, s. 15. Počítač Přiřazuje Mezinárodní je nyní poskytuje data prostor technologie na VSE/ESA nebo Systém/370 uživatelé.. 
  9. Analyzing data in memory [online]. IBM. Dostupné online. 
  10. Šablona:Cite newsgroup HIGH PERFORMANCE SPACE or "High Performance Dataspace" (author Anuj Dhawan, same date)
  11. CheatSheet #54 zTidBits z/OS Extended Addressing [online]. [cit. 2022-07-17]. Dostupné online. 
  12. SAKAKI, M.; SAMUKAWA, H.; HONJOU, N., 1988. Effective utilization of IBM 3090 large virtual storage in the numerically intensive computations of ab initio molecular orbitals. IBM Systems Journal. Roč. 27, čís. 4, s. 528–540. Dostupné online. ISSN 0018-8670. DOI 10.1147/sj.274.0528. 
  13. Šablona:Patent
  14. HLASM - MVPG = MoVe PaGe [online]. [cit. 2017-01-24]. Dostupné v archivu pořízeném z originálu dne 2013-10-06. 
  15. MOVE LONG, note 8. GA22-7000-10, IBM System/370, Principles of Operation [online]. [cit. 2021-10-11]. Dostupné v archivu pořízeném z originálu dne 2021-04-11. 
  16. "things are done immediately, and there is no chance of the instruction being half-completed or of another being interspersed. Used especially to convey that an operation cannot be interrupted." Atomic from FOLDOC [online]. Dostupné online. 
  17. $MVCL – Move more than 256 bytes of storage [online]. IBM, 2014-09-20 [cit. 2017-01-24]. Dostupné v archivu pořízeném z originálu dne 2017-02-02. 
  18. Move Long [online]. [cit. 2017-01-24]. Dostupné v archivu pořízeném z originálu dne 2017-04-27. 
  19. Šablona:Patent
  20. Šablona:Cite mailing list
  21. IBM's patent EP0549924A1 describes MVPG as "moves a single page."
  22. Šablona:Cite mailing list
  23. z/OS MVS Programming: Extended Addressability Guide - SA23-1394-00
  24. IOSADMF — Transfer hiperspace data [online]. IBM, 2015-02-07 [cit. 2017-01-24]. Dostupné v archivu pořízeném z originálu dne 2017-02-02. 
  25. IBM Acquires Platform Solutions [online]. IBM, 2008-07-02 [cit. 2008-09-06]. Dostupné v archivu pořízeném z originálu dne 2008-09-05. 

Literatura

[editovat | editovat zdroj]