z/Architektura - z/Architecture

z/Architektura
Projektant IBM
Bity 64-bitowy
Wprowadzono 2000 ; 21 lat temu ( 2000 )
Wersja ARCHLVL 2 i ARCHLVL 3 (2008)
Projekt CISC
Rodzaj Rejestr – Rejestr
Rejestr – Pamięć
Pamięć – Pamięć
Kodowanie Zmienna (2, 4 lub 6 bajtów długości)
Rozgałęzienia Kod warunku , indeksowanie, liczenie
Endianizm Duża
Poprzednik ESA/390
Rejestry
Ogólny cel 16× 64-bitowy
zmiennoprzecinkowy 16× 64-bitowy
Wektor 32× 128-bitowy

z / Architecture , początkowo nazywany skrótowo i ESA Modal Extensions ( esame ), jest IBM „s 64-bitowy CISC (CISC) zestaw instrukcji architektury , zrealizowaną przez jej komputerach mainframe . IBM wprowadził swój pierwszy system oparty na architekturze z/Architecture, z900 , pod koniec 2000 roku. Późniejsze systemy z/Architecture obejmują IBM z800, z990, z890, System z9 , System z10 , zEnterprise 196 , zEnterprise 114 , zEC12 , zBC12 , z13 , z14 i z15 .

z / Architecture zachowuje wsteczną kompatybilność z poprzednimi 32 bitów danych / 31-bitowe adresowanie architektura ESA / 390 i jego poprzednicy przez całą drogę z powrotem do 32 bitów danych / 24-bitowe adresowanie System / 360 . IBM z13 jest ostatnim serwerem z Systems obsługującym uruchamianie systemu operacyjnego w trybie architektury ESA/390. Zmiana ta nie ma jednak wpływu na wszystkie 24-bitowe i 31-bitowe programy aplikacyjne stanu problemu, które pierwotnie zostały napisane do pracy w architekturze ESA/390.

Każda przestrzeń adresowa systemu z/OS , zwana 64-bitową przestrzenią adresową, ma rozmiar 16 eksabajtów .

Spacje kodowe (lub mieszane)

Większość systemów operacyjnych dla architektury z/Architecture, w tym z/OS , zazwyczaj ogranicza wykonywanie kodu do pierwszych 2 GB (31 bitów adresu lub 2 31 bajtów adresowalnych) każdej wirtualnej przestrzeni adresowej ze względu na wydajność i kompatybilność, a nie ze względu na architekturę. granice. Wyjątkiem jest implementacja w systemie z/OS języka programowania Java . Implementacja pamięci wirtualnej systemu z/OS obsługuje wiele przestrzeni adresowych o wielkości 2 GB, co pozwala na więcej niż 2 GB współbieżnie rezydującego kodu programu. 64-bitowa wersja systemu Linux na platformie IBM Z umożliwia wykonywanie kodu w 64-bitowych zakresach adresów.

Spacje tylko na dane

Dla programistów, którzy muszą przechowywać duże ilości danych, zwykle wystarcza 64-bitowa przestrzeń adresowa.

Przestrzenie danych i hiperprzestrzenie

Aplikacje, które wymagają więcej niż 16  eksabajtów przestrzeni adresowej danych, mogą wykorzystywać rozszerzone techniki adresowania , wykorzystując dodatkowe przestrzenie adresowe lub przestrzenie tylko do danych. Przestrzenie tylko do danych, które są dostępne dla programów użytkownika, nazywają się:

  • przestrzenie danych (czasami określane jako "przestrzenie danych") i
  • hiperspaces (przestrzeń o wysokiej wydajności).

Przestrzenie te są podobne pod tym względem, że oba są obszarami pamięci wirtualnej, które może tworzyć program, i mogą mieć do 2  gigabajtów . W przeciwieństwie do przestrzeni adresowej, przestrzeń danych lub hiperprzestrzeń zawiera tylko dane użytkownika; nie zawiera bloków sterowania systemem ani obszarów wspólnych. Kod programu nie może działać w przestrzeni danych lub hiperprzestrzeni.

Przestrzeń danych różni się od hiperprzestrzeni tym, że przestrzenie danych są adresowalne bajtowo, podczas gdy hiperprzestrzenie są adresowalne przez strony.

Rozszerzona pamięć masowa IBM mainframe

Tradycyjnie pamięć IBM Mainframe była adresowana bajtowo . Ten rodzaj pamięci nazywa się „magazynem centralnym”. Procesory IBM Mainframe przez większość lat 80. i 90. obsługiwały inny rodzaj pamięci: Rozszerzoną pamięć masową.

Rozszerzona pamięć masowa jest adresowana do 4 KB stron. Gdy aplikacja chce uzyskać dostęp do danych w rozszerzonej pamięci masowej, musi najpierw zostać przeniesiona do pamięci centralnej. Podobnie przenoszenie danych z magazynu centralnego do magazynu rozszerzonego odbywa się w wielokrotnościach stron 4KB. Początkowo ruch stron był wykonywany przy użyciu stosunkowo drogich instrukcji, poprzez kod podsystemu stronicowania.

Narzut związany z przenoszeniem pojedynczych stron i grup stron między pamięcią centralną a rozszerzoną zmniejszono dzięki wprowadzeniu instrukcji MVPG (Move Page) oraz funkcji ADMF (Asynchronous Data Mover Facility).

Instrukcja MVPG i ADMF są jawnie wywoływane — zazwyczaj przez oprogramowanie pośredniczące w systemie z/OS lub z/VM (i ACP?) — w celu uzyskania dostępu do danych w rozszerzonej pamięci masowej. Niektóre zastosowania to:

  • MVPG jest używany przez zarządzanie pulą buforów VSAM Local Shared Resources (LSR) w celu uzyskania dostępu do buforów w hiperprzestrzeni w rozszerzonej pamięci masowej.
  • Zarówno MVPG, jak i ADMF są używane przez DB2 do uzyskiwania dostępu do hiperpul. Hiperpoole to części puli buforów znajdujące się w hiperprzestrzeni.
  • Buforowanie minidysku maszyny wirtualnej.

Do połowy lat 90. pamięć centralna i pamięć rozszerzona były fizycznie różnymi obszarami pamięci w procesorze. Od połowy lat 90. centralna i rozszerzona pamięć masowa były jedynie wyborem przypisania do podstawowej pamięci procesora. Wybory te zostały dokonane w oparciu o konkretne oczekiwane zastosowania: Na przykład funkcja Rozszerzona pamięć jest wymagana dla funkcji Hiperbatch (która używa instrukcji MVPG, aby uzyskać dostęp do hiperprzestrzeni).

Oprócz wspomnianych powyżej hiperprzestrzeni i stronicowania istnieją inne zastosowania rozszerzonej pamięci masowej, w tym:

  • Wirtualne we/wy (VIO) do rozszerzonej pamięci masowej, które przechowuje tymczasowe zestawy danych w symulowanych urządzeniach w rozszerzonej pamięci masowej. (Ta funkcja została zastąpiona przez VIO w Central Storage.)
  • Buforowanie minidysku maszyny wirtualnej.

System z/OS usunął obsługę rozszerzonej pamięci masowej. Cała pamięć w systemie z/OS to teraz pamięć centralna. z/VM 6.4 spełnia Deklarację o kierunku, aby zrezygnować z obsługi wszystkich zastosowań rozszerzonej pamięci masowej.

MVPG i ADMF

MVPG

IBM opisał MVPG jako „przenosi pojedynczą stronę, a centralny procesor nie może wykonać żadnych innych instrukcji, dopóki przenoszenie strony nie zostanie zakończone”.

Instrukcja MVPG mainframe ( M O V e P do G, E, kod operacji X'B254' ) porównano z MVCL ( M o V e C haracter L Ong) instrukcji, z których oba mogą przemieszczać się ponad 256 bajtów z pamięci głównej za pomocą jednej instrukcji. Instrukcje te nie są zgodne z definicjami niepodzielności , chociaż mogą być używane jako pojedyncza instrukcja w ramach udokumentowanych ograniczeń czasowych i braku nakładania się.

Potrzeba przeniesienia więcej niż 256 bajtów w pamięci głównej była historycznie rozwiązywana za pomocą oprogramowania (pętli MVC), MVCL, który został wprowadzony wraz z ogłoszeniem Systemu/370 w 1970 roku , oraz MVPG, opatentowanego i ogłoszonego przez IBM w 1989 roku. Zalety.

ADMF

ADMF (Asynchronous Data Mover Facility), który został wprowadzony w 1992 roku, wykracza poza możliwości instrukcji MVPG (Move Page), która jest ograniczona do jednej strony i może przenosić grupy stron między pamięcią centralną a rozszerzoną.

Makroinstrukcja nazwie IOSADMF, który został opisany jako API , że „zastosowanie bezpośrednie, niskiego poziomu ADMF” Unika może być używany do odczytu lub zapisu danych do lub z hiperspace. Hiperprzestrzenie są tworzone za pomocą DSPSERV CREATE.

Aby zapewnić ponowne wejścia , IOSADMF stosowany jest razem z „postaci listy” i „Execute formę.”

Systemy operacyjne z/Architecture

Z / VSE wersja 4, z / TPF Wersja 1 oraz z / VM wersja 5 Systemy operacyjne i przypuszczalnie ich następcy, wymagają z / Architecture.

z/Architecture obsługuje uruchamianie wielu równoczesnych systemów operacyjnych i aplikacji, nawet jeśli używają one różnych rozmiarów adresów. Dzięki temu twórcy oprogramowania mogą wybrać rozmiar adresu, który jest najkorzystniejszy dla ich aplikacji i struktur danych.

Platform Solutions Inc. (PSI) wcześniej sprzedawała serwery oparte na procesorach Itanium , które były kompatybilne z z/Architecture. IBM kupił PSI w lipcu 2008 roku i systemy PSI nie są już dostępne. FLEX-ES , zPDT i emulator Hercules również implementują z/Architecture. Komputery główne Hitachi z nowszymi wersjami systemu operacyjnego VOS3 implementują unikalne instrukcje dla procesorów ESA/390 plus Hitachi, w tym kilka instrukcji 64-bitowych. Chociaż firma Hitachi była prawdopodobnie zainspirowana przez architekturę z/Architecture i formalnie współpracowała z IBM przy procesorach z900-G2/z800 wprowadzonych w 2002 roku, maszyny Hitachi nie są kompatybilne z architekturą z/Architecture.

7 lipca 2009 r. firma IBM, ogłaszając nową wersję jednego ze swoich systemów operacyjnych, domyślnie stwierdziła, że istnieje zestaw Architecture Level Set 4 ( ALS 4 ), który jest zaimplementowany w systemie System z10 i kolejnych komputerach. ALS 4 jest również określony w LOADxx jako ARCHLVL 3 , podczas gdy wcześniejszy z900, z800, z990, z890, System z9 określał ARCHLVL 2. Wcześniejsze zapowiedzi Systemu z10 po prostu określały, że implementuje on z/Architecture z pewnymi dodatkami: ponad 50 nowych maszyn instrukcje, ramki strony 1 MB i sprzętowa jednostka zmiennoprzecinkowa dziesiętna (HDFU).

Uwagi

Bibliografia

Dalsza lektura