Architektura IBM System/360 definuje vlastnosti společné sálovým počítačům IBM řady S/360 včetně instrukční sady. Prvky architektury jsou zdokumentované v příručkách IBM System/360 Principles of Operation a IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information.

Vlastnosti Registry IBM S/360 63 … 47 … 31 … 15 … 00 (číslo bitu)* Registry pro obecné použití 0 R0 1 R1 2 R2 3 R3 4 R4 5 R5 6 R6 7 R7 8 R8 9 R9 10 R10 11 R11 12 R12 13 R13 14 R14 15 R15 Registry pro hodnoty s pohyblivou řádovou čárkou FP0 FP0 FP2 FP2 FP4 FP4 FP6 FP6 Stavové slovo programu / Adresa instrukce PSW (40 bitů) IA (24 bitů) Stavové slovo programu  * V dokumentaci IBM jsou bity číslovány v opačném pořadí než zde    tj. nejvýznamnější bit (zcela vlevo) se označuje jako bit číslo 0.

Počítače řady System/360 mají následující vlastnosti: 16 32bitových registrů pro obecné použití 64bitový registr stavu procesoru (PSW), který obsahuje 24bitový čítač instrukcí () 24bitové adresy umožňují adresovat až 16 MB vnitřní paměti tvořené osmibitovými bajty volitelné 4 64bitové registry pro čísla s pohyblivou řádovou čárkou Byty a slova se ukládají do paměti v pořadí big endian Standardní instrukční sada zahrnující aritmetické operace s 32bitovými celými čísly a logické instrukce, je k dispozici na všech modelech System/360 (s výjimkou modelu 20, viz níže). Komerční instrukční sada přidává instrukce pro aritmetiku s desítkovými čísly s pevnou řádovou čárkou v kódování BCD; na některých modelech je volitelně, stejně jako vědecká instrukční sada, která přidává instrukce pro práci s čísly s pohyblivou řádovou čárkou. Univerzální instrukční sada zahrnuje obě výše uvedená rozšíření spolu s instrukcemi pro ochranu paměti a je na některých modelech standardem. Model 20 má zjednodušenou verzí standardní instrukční sady a pouze osm registrů pro obecné použití a s instrukcemi o délce půlslova (16 bitů), s komerční instrukční sadou a zvláštními instrukcemi pro vstup/výstup. Model 44 poskytuje několik speciálních instrukcí pro získávání dat a zpracování v reálném čase, a neobsahuje instrukce s dvěma paměťovými operandy. Firma IBM nabízela pro tento stroj emulátor Komerční instrukční sady“, který se zavedl do paměti a simuloval chybějící instrukce. Model 67 zahrnuje instrukce pro zpracovávání 32bitových adres a „dynamický překlad adres“ s přidanou privilegovanou instrukcí pro práci s virtuální pamětí.

Vnitřní paměť Vnitřní paměť (v terminologii IBM ) počítačů System/360 sestává z 8bitových bytů. Některé instrukce pracují s většími jednotkami nazývanými půlslovo ( – 2 byty), slovo ( – 4 byty), dvojslovo ( – 8 bytů), čtyřslovo'' ( – 16 bytů) a s bloky o velikosti 2048 bytů. Tato data jsou ukládána do paměti tak, že významnější byty jsou na nižších adresách (tzv. big-endian). Při použití datových jednotek větších než jeden byte je zpravidla nutné, aby byly umístěny na adrese, která je násobkem jejich velikosti (tzv. zarovnání).

Původní architektura System/360 umožňovala adresovat maximálně 224 = 16 777 216 bytů paměti. Pozdější rozšíření architektury modelu 67 umožňovalo adresovat až 232 = 4 294 967 296Dvojnásobek velikosti dostupné u pozdějšího System/370 bytů virtuální paměti.

Adresování Podobně jako u počítače UNIVAC III neobsahují instrukce, které se odkazují na data ve vnitřní paměti, kompletní 24bitovou adresu; adresa je složena ze dvou složek: z tak zvané báze, uložené v bázovacím registru, a posunutí o velikosti 0 až 2047, které je uvedeno přímo v instrukci. Jako bázovací registr se mohou používat registry 1-15.Při uvedení čísla registru 0 se místo obsahu registru 0 použije jako bázová adresa hodnota nula. V některých instrukcích, například posunech, se stejné výpočty provádějí pro 32bitové hodnoty, které nejsou adresami.

Datové formáty Architektura S/360 definuje formát několika typů dat:

Znaky () se ukládají jako 8bitové byty. Binární celá čísla () jsou zobrazena v doplňkovém kódu a mají velikost 16 bitů (půlslovo) nebo 32 bitů (slovo). Desítková čísla s pevnou řádovou čárkou jsou ukládána ve dvou formátech: BCD čísla ve zhuštěném () tvaru se ukládají jako 1-16 8bitových bytů obsahujících lichý počet desítkových číslic následovaný 4bitovým znaměnkem. Hodnoty A, C, E a F znamenají kladné znaménko a hodnoty B a D záporné znaménko. Hodnoty číslic A-F a hodnoty znaménka 0-9 nejsou platné, ale instrukce PACK a UNPK jejich validitu netestují. BCD čísla v zónovém tvaru () se ukládají jako 1-16 8bitových bytů, z nichž každý obsahuje zónu v bitech 4-7 a číslici v bitech 0-3. Zóna posledního bytu je interpretována jako znaménko čísla. Čísla s pohyblivou řádovou čárkou () jsou na starších modelech uložena jako slova (32 bitů) nebo dvojslova (64 bitů). Na 360/85 a 360/195 existují také čísla s pohyblivou řádovou čárkou s rozšířenou přesností, která zabírají jedno čtyřslovo (16 bytů). Ve všech třech formátech obsahuje nejvyšší bit znaménko čísla, dalších 7 bitů obsahuje charakteristiku čísla (šestnáctkový exponent zvětšený o 64). Zbývající 3 byty nebo 7 bytů je mantisa. Kvůli použití šestnáctkového exponentu mohou být u nenulového čísla první tři bity mantisy nulové. Hodnoty s rozšířenou přesností mají v nižším dvojslově vlastní znaménko čísla a charakteristiky, které jsou na vstupu ignorována a na výstupu generována.

Instrukce pro práci se znaky a celými čísly jsou k dispozici na všech počítačích řady, instrukce pro práci s desítkovými čísly a čísly s pohyblivou řádovou čárkou jsou rozšiřující vlastnosti.

Formát instrukcí Strojové instrukce pro S/360 mají délku dva, čtyři nebo šest bytů, přičemž kód operace () je vždy v první bytu (číslovaném jako byte 0). Instrukce mají jeden z následujících formátů: RR (dvoubytové). Byte 1 obvykle obsahuje dvě 4bitová čísla registrů, v některých případech, například u instrukce SVC, však tento byte obsahuje jediné 8bitové bezprostřední pole. RS (čtyřbytové). Byte 1 obsahuje dvě 4bitová čísla registrů; byty 2-3 udávají bázi a posunutí. RX (čtyřbytové). Bity 0-3 bytu 1 obsahují buď číslo registru nebo modifikátor; bity 4-7 téhož bytu obsahují číslo obecného registru, který slouží jako index; byty 2-3 udávají bázi a posunutí. SI (čtyřbytové). Byte 1 určuje bezprostřední pole; byty 2-3 udávají bázi a posunutí. SS (šestibytové). Byte 1 obsahuje dvě 4bitová pole nebo jedno 8bitové pole; každá dvojice bytů 2-3 a 4-5 udává bázi a posunutí. Kódování délky pole je délka-1.

Instrukce musí být v paměti uloženy vždy na sudé adrese; nejméně významný bit adresy instrukce je tedy vždy 0.

Stavové slovo programu (PSW) Stavové slovo programu''' () obsahuje množství příznaků pro řízení aktuálně běžícího programu. 64bitové PSW obsahuje (mimo jiné) adresu právě prováděné instrukce, podmínkový kód a masky přerušení.

Odchylky a rozšíření System/360 Model 20 se natolik odlišuje od ostatních počítačů řady, že by neměl být pokládán za stroj s architekturou S/360.

System/360 Model 44 postrádá některé instrukce, ale bylo možné dokoupit programové vybavení, které chybějící instrukce simulovalo, což dovolovalo používat na těchto strojích standardní operační systémy a aplikace pro S/360.

Některé modely mají vlastnosti, které rozšiřují architekturu, například emulaci instrukcí nebo stránkování. Některé modely mají menší odchylky od architektury, jako např. Multisystémová podpora na S/360-65, která mění chování přímého ovládání a instrukci Set System Mask (SSM). System/360 Model 67-2 měl podobné, ale nekompatibilní změny.

Některé odchylky sloužily jako prototypy vlastností architektury S/370.

Odkazy Poznámky

Reference

Revised by a

Literatura Kapitola 3 (s. 41-110) popisuje architekturu System/360.

Související články Ochrana paměti

Externí odkazy Introduction to IBM System/360 Architecture (Student Text) Úvod do architektury IBM System/360 (studijní text)

Kategorie:Architektura počítače Kategorie:Počítačové platformy Kategorie:Instrukční sady Kategorie:IBM System/360