Electrologica X1 - Electrologica X1

Paměť X1

Electrologica X1 byl digitální počítač navržený a vyrobený v Nizozemsku od roku 1958 do roku 1965. O třicet byly vyráběné a prodávané v Nizozemsku i v zahraničí.

Model X1 byl navržen Mathematical Center v Amsterdamu , akademickou organizací, která se zabývá počítačovým designem od roku 1947, a vyráběl jej Electrologica NV, společnost založená výslovně za účelem výroby stroje.

X1 byl polovodičový binární počítač („zcela tranzistorový“) s pamětí magnetického jádra . Délka slova byla 27 bitů a periferie zahrnuty děrovanou a magnetickou pásku. Byl to jeden z prvních evropských počítačů, který měl zařízení k přerušení .

Model X1 byl předmětem Ph.D. Edsgera Dijkstra disertační práce a terč prvního kompletního funkčního kompilátoru ALGOL 60 , dokončili Dijkstra a Jaap Zonneveld. V roce 1965 byla X1 nahrazena X8 . Společnost Electrologica převzala společnost Philips o několik let později.

Sada instrukcí

X1 umožňoval podmíněné provádění každé instrukce, nejen větví, jako je tomu ve většině počítačů. Podobná schopnost existovala v Zuse Z22 a ZEBRA a mnohem později v architektuře ARM . Přístup použitý v X1 je flexibilnější než tyto ostatní: provádění podmíní aktuální stav příznaku podmínky, který je nastaven předchozí instrukcí, pokud obsahuje modifikátor pro tento účel, ale jinak nedotčený. Výsledkem je, že podmíněné provedení může být založeno na testech provedených o několik řádků dříve, než aby bylo podmíněné pouze na základě výsledku nejnovější aritmetické operace. To umožnilo kompaktní vyjádření programů. Následující příklad ukazuje načtení hodnoty paměti v n do akumulátoru A , volání podprogramu (který pravděpodobně používá tuto hodnotu v A ) a nakonec nastavení A jako absolutní hodnoty přečteného čísla:

   2A n P   // copy [n] to A, set condition flag to "yes" if positive
   6T fn 0  // call the function at fn, which will return with the condition flag preserved
 N 5P AA    // if condition flag is "no", copy -A to A

Aritmetické operátory X1 používaly aritmetiku komplementu binárních .

Assembler

X1 zahrnoval jednoduchý assembler do své paměti jen pro čtení . Má spíše základní vlastnosti: lze definovat symbolické adresy, ale symboly jsou dlouhé pouze dvě písmena. Pokyny jsou pojmenovány kombinací číslice představující operaci a dopisu označujícího registr, který má být provozován, nebo jednoho nebo dvou písmen označujících třídu operace. Například „0A“ znamená „přidat obsah paměti do akumulátoru A“ a „5P“ znamená „nastavit akumulátor na zápornou hodnotu jiného akumulátoru“. Normální použití symbolických adres je pojmenování „odstavců“, tj. Souvisejících bloků kódu nebo dat. Symbolické adresy by byly upraveny pomocí „čísla řádku“ (číselný posun) a „čísla stránky“ (číslo v rozsahu 0 až 31). Například „3 FE 6“ je řádek číslo 3, stránka číslo 6, což představuje posun 195 (6 * 32 + 3) od začátku odstavce FE. Tento adresový zápis je zvláštností assembleru; hardwarové adresování jednoduše používá 15 bitové adresy.

Reference