Architektura 36-bitowa
Architektura 36-bitowa – architektura komputera, w której słowa, adresy i inne dane mieszczą się w najwyżej 36 bitach pamięci.
Wiele wczesnych komputerów kierowanych na rynek naukowy było przystosowanych do obliczeń o 36-bitowej dokładności. Taka długość słowa była akurat odpowiednia, by reprezentować dane liczbowe w dokładności odpowiadającej 10 cyfrom dziesiętnym (ścisłe minimum to 35). Możliwe było również używanie sześciu znaków alfanumerycznych dzięki 6-bitowemu kodowaniu.
Przed wprowadzeniem komputerów taka 10-cyfrowa dokładność była szczytem możliwości technicznych jeśli chodzi o obliczenia naukowe i inżynierskie: tyle oferowały mechaniczne i elektromechaniczne kalkulatory oferowane przez takie firmy jak Friden, Marchant i Monroe. Kalkulatory te miały rzędy przycisków odpowiadających poszczególnym cyfrom, a ich operatorzy byli wyszkoleni w używaniu wszystkich palców przy wprowadzaniu danych. Cała 10 cyfrowa liczba była wprowadzana przez jednoczesne (równoległe) wciśnięcie wszystkich przycisków, więc konstruowanie kalkulatora bardziej dokładnego było niecelowe[1].
Komputery dwójkowe, jako nowy rywal owych kalkulatorów, musiały im dorównać dokładnością. Dziesiętne komputery sprzedawane, takie jak IBM 650 i 7070 w tej epoce również miały dokładność 10 cyfr. Podobnie ENIAC, jeden z pierwszych komputerów, używał liczb 10-cyfrowych.
Wśród komputerów 36-bitowych wymienić można:
- polskie: XYZ i ZAM-2
- MIT Lincoln Laboratory TX-2
- IBM serii 700 i 7000
- UNIVAKI 1103, 1103A, 1105 i 1100/2200
- General ElectricGE serii 600 i Honeywell serii 6000
- Digitale PDP-6/10 (użyte w zestawach DECsystem-10/DECSYSTEM-20)
- Symbolics serii 3600
Mniejsze komputery takie jak PDP-1, 9 i 15 używały słowa 18-bitowego, tak, aby dwukrotność długości słowa dawała 36 bitów.
Opisane tu komputery typowo korzystały z 18-bitowej przestrzeni adresowej, ale z dokładnością do słów nie (co w dzisiejszych komputerach jest normą) bajtów. Efektywnie umożliwiało to zaadresowanie do 218 słów 36-bitowych, co odpowiada liczbie 9 437 184 bitów (około 1 MB). Wiele z tych maszyn było też fizycznie ograniczonych do tej wielkości pamięci. Te architektury, które przetrwały, wypracowały sposób obsługi większych pamięci dzięki technikom takim jak segmentacja.
Typowe formaty zapisu danych znakowych w jednym 36-bitowym słowie obejmowały:
- 6 znaków formatu Fielddata lub IBM-owego BCD
- 5 znaków 7-bitowych i jeden bit nieużywany (konwencja PDP 6/10)
- 4 znaki 8-bitowe (ASCII lub EBCDIC) i 4 bity wolne
- 4 znaki 9-bitowe (konwencja Multicsa)[2]
Znaki te odczytywane były z 36-bitowych ciągów przy użyciu standardowych technik mask bitowych i operacji przesuwania bitów, albo przy użyciu specjalizowanych funkcjonalności sprzętowych. UNIVAC 1100/2200 używał w tym celu wskaźnika części słowa lub rejestru „J”. GE-600 dysponował możliwością wyłuskiwania znaków 6- lub 9- bitowych. PDP 6/10 miał specjalne instrukcje do obsługi pól bitowych dowolnej długości (od 1 bitu do 36 włącznie). Język C wymaga możliwości adresowania całej pamięci z dokładnością do bajtu, więc implementacje tego języka na opisanych komputerach zakładają bajt 9-bitowy.
Z chwilą wprowadzenia przez IBM Systemu/360 w obliczeniach naukowych spopularyzowana została notacja zmiennoprzecinkowa i mechaniczne kalkulatory przestały się liczyć jako konkurencja dla komputerów. 360 wprowadziło także obliczenia dziesiętne zmiennej dokładności dla aplikacji biznesowych. W wyniku tego używanie długości słowa będącej potęgą dwójki szybko się upowszechniło i stało się standardem.
Zobacz też
Przypisy
- ↑ Kalkulator mechaniczny w wirtualnym muzeum kalkulatorów. [dostęp 2010-08-17]. (ang.).
- ↑ DPS / level 68 & DPS 8M Multics processor manual. Honeywell Information Systems, Inc., s. 233–242.
Linki zewnętrzne
- Eric Smith: 36bit.org. 1999. [dostęp 2009-06-17]. (ang.).