ZEBRA (dator)

ZEBRA ( Zeer Eenvoudige Binaire Reken Automaat översatt Very Simple Binary Automatic Calculator) var en av de första datorerna som designades i Nederländerna ( den första var " ARRA ") och en av de första nederländska datorerna som var kommersiellt tillgängliga. Den designades av Willem van der Poel från Holland Post, Telegraph and Telephone och levererades först 1958. Produktionen bestod av femtiofem maskiner, tillverkade och marknadsförda av det brittiska företaget Standard Telephones and Cables , Ltd.

ZEBRA var en binär, två-adress maskin med en 33-bitars ordlängd. Lagring tillhandahölls av ett magnetiskt trumminne som innehöll 8K ord organiserade som 256 spår med 32 instruktioner; ackumulatorer implementerades också som recirkulerande trumspår på ett sätt som liknar det som används i Bendix G-15 . Kringutrustning inkluderade pappersbandläsare och stans, och en teleprinter.

1967 användes sex Zebra-datorer på brittiska universitet och tekniska högskolor.

Programmering

Stora delar av koden och operativsystemen för ZEBRA skrevs av dövblinde matematiker Gerrit van der Mey .

Till skillnad från de flesta processorer hade ZEBRA inte olika typer av instruktioner. Istället styrdes driften av en instruktion av femton bitar i operationsfältet . Dessutom hade den ingen programräknare i traditionell mening. ZEBRA-instruktionsordet är 33 bitar, bestående av en 13-bitars trumadress, som refererar till ett av de 256 spåren med 32 poster på minnestrumman, en fembitars register (eller I/O) adress och 15-bitars operationen fältet .

Varje bit av operationsfältet hade en distinkt betydelse och kunde användas i nästan vilken kombination som helst, vilket ledde till många eleganta trick som idag kan anses vara mikroprogrammeringsdomänen . Operationsbitarna bestämde saker som tecknet på data som skulle användas; om ackumulatorn tömdes (ändra ett tillägg till en last), om en rotation skulle appliceras, och så vidare. Det fanns också en operationsbit som bestämde om nästa instruktion skulle komma från register eller minne, eller summan av båda.

Vissa bitar gjorde en instruktion beroende av ackumulatortillståndet, som med Zuse Z22 eller Electrologica X1 . Multiplikation, division, kvadratrot, såväl som alla flyttalsoperationer, utfördes av subrutiner, med hjälp av de underliggande seriella datorernas ALU-primitiver addera, subtrahera, skifta åt höger, skifta vänster och inkrementera.

Tack vare en smart design behövde multiplikationsrutinen bara en instruktion per bit, och divisionsrutinen två instruktioner per bit, så att multiplikation och division gick relativt snabbt, med ett minimum av hårdvara. Programmeringshjälpmedel inkluderade Normal Code (assembler), spårningsverktyg, ett flyttaltolkningssystem, Simple Code, Matrix Interpretive Scheme och en Algol-kompilator.

Eftersom en magnettrumma inte stöder slumpmässig åtkomst går det lite tid att vänta på att en instruktion eller data blir tillgänglig. I ett dåligt skrivet program kunde den genomsnittliga väntetiden vara halva trumrotationstiden, men det fanns sätt att minska detta. En anmärkningsvärd egenskap hos ZEBRA var en mätare som mätte hur mycket av maskinens tid som spenderades i icke-väntelägen; detta kallades "effektivitetsmätaren". När man körde flyttalstolkningssystemet tenderade effektivitetsmätaren att visa runt 50 %, men om potentiella kunder var på besök kunde ett mer effektivt program laddas för demonstrationsändamål.

  1. ^ Roberts, Goronwy (1967-03-06). "Datorer" . Hansard . Storbritanniens parlament. HC . Hämtad 2017-07-08 .
  2. ^ "Willem L. van der Poel" . IEEE Computer Society . Hämtad 17 januari 2022 .
  3. ^ * De logiska principerna för några enkla datorer. Avhandling, Amsterdam (1956).
  4. ^ *   van der Poel, Willem Louis (1962). "Mikroprogrammering och trickologi" . Hoffmann W. (Eds) Digitale Informationswandler / Digitala informationsprocessorer / Dispositifs traitant des information numériques. Vieweg+Teubner Verlag, Wiesbaden. : 269–311. doi : 10.1007/978-3-322-96260-7_7 . ISBN 978-3-322-96126-6 .

externa länkar