DASK - en 1. generations computer

af

H. B. Hansen

2. Del

Den logiske struktur af Dask

Den logiske struktur af Dask kan i det store og hele aflæses ved at se på kontrolbordet.
 
 



 






De små cirkler er lamper, en for hver binær position i registrene, som er de lange rækker af lamper. De sorte klatter under lamperne og til højre og venstre er trykknapper, ved hjælp af hvilke man kunne ændre indholdet i visse af registrene. Hvis man trykkede på knapperne til højre eller venstre for et register, blev hele registeret nulstillet. Man kunne herefter trykke på knapperne under registeret, hvorved de positioner, knappen er under, bliver 1-stillet. Når en lampe lyste (med et mærkeligt blegrødt lys) betød det at indholdet i vedkommende position var 1. Når Dask kørte blinkede alle lamper lystigt, stundom i ejendommelige og fascinerende mønstrer der afspejlede løkkestrukturen i den algoritme der blev benyttet i programmet. Den store runde cirkel med lodrette riller i nederste, midterste del af billedet er en højttaler, der var koblet til nogle positioner i akkumulatorregisteret. Den gav lyd fra sig når maskinen kørte. Hvert program havde sin egen karakteristiske "melodi", som man lærte at kende i testfasen, og som kunne benyttes til at kontrollere om programmet kørte korrekt - fx hvis man blev træt af at sidde ved kontrolbordet i den lange nat, og tog sig et hvil på en divan der stod i dagligstuen.

Ferritlageret på Dask var på 1024 helceller (hec) med hver 40 binære positioner, men det kunne også anskues som 2048 halvceller (hac) med hver 20 positioner. Helcellerne havde de lige adresser, og halvcellerne var nummereret fra 0 til 2047; hveranden halvcelle havde således samme adresse som en helcelle. Ved hjælp af operationsangivelsen i en ordre kunne man bestemme om en lige adresse skulle forstås som en hec eller en hac. En ordre fyldte en hac, så der var to ordrer pr. hec.

Dask regnede med ægte brøker, dvs. alle maskintal opfattedes som liggende i intervallet -1 <= tal < 1, hvilket blev kaldt "Dask-intervallet". Position 0 (længst til venstre i en celle eller et register) var fortegnet, og resten var binalerne. Der anvendtes 2-komplementaritmetik. Et tal i en hac havde også sit fortegn længst til venstre, altså midt i en hec hvis hac'en havde ulige adresse. Et maskintal bestod således af et fortegn og 19 eller 39 binaler. Multiplikation og division var dog specielle, idet de kunne operere på hvad man kaldte "den lange akkumulator" som var to registre sat i forlængelse af hinanden (se nedenfor). Dette gav en præcision på 78 binaler (fortegnspositionen i det ene register blev ikke brugt). Dask var derfor, også efter moderne forhold, en maskine med meget stor præcision.

Der var ikke indbygget flydende regning i Dask, men et af de første biblioteksprogrammer der blev fremstillet, var programmeret flydende regning. Det gik jo lidt langsomt, og derfor gjorde man sig store anstrengelser for at holde sig indenfor Dask-intervallet i praktisk programmering. Udformning af programmer til Dask hed forøvrigt ikke "programmering" men "kodning".

Et register med tilhørende knapper på kontrolbordet, som det vises på ovenstående billede, vil jeg i det følgende kalde "en række".

Der var følgende registre i Dask:

De øvrige registre på billedet var til glæde for teknikerne, og sagde ikke koderne noget. Så vidt jeg ved kunne man her følge med i mikroprogrammerne på Dask, og se hvad der skete under afvikling af en enkelt ordre. Mikroprogrammerne var realiseret i hardware med logiske kredse, og Dask var altså hvad man senere kom til at kende som en RISC-computer. Disse tekniske registre vil jeg ikke omtale nærmere her, for det ved jeg ikke meget om.

Derimod kan der være god grund til at omtale det, der på billedet befinder sig under rækkerne med registre. Lige under registrene finder vi diverse omskiftere, og nederst på billedet er der nogle vippekontakter til venstre for højttaleren og nogle trykknapper til højre for højttaleren.

Længst til venstre i gruppen af omskiftere befinder sig et par knapper, der tilsammen udgør en slags speeder for Dask. Knap nr. to fra venstre har følgende indstillinger: GANG, TRIN og VARIABEL HASTIGHED, plus fem andre indstillinger. Hvis denne omskifter står på GANG når Dask startes, så spæner maskinen af sted så hurtigt den kan; hvis den står på TRIN bliver der kun udført én ordre, nemlig den der vises i ASOP-registeret; og hvis den står på VARIABEL HASTIGHED, så kan man benytte knappen længst til venstre til at få Dask til at køre langsommere (fra meget langsomt til fuld speed). For at få denne speeder aktiveret skulle man så vidt jeg husker hive den ud inden man indstillede hastigheden, og når man trykkede den ind stoppede maskinen igen. Meningen er at man så (måske) kan følge med i hvad der sker når lamperne på kontrolbordet blinker. De fem andre indstillingsmuligheder var til teknisk vedligeholdelse og fejlfinding; her kunne man følge de enkelte faser i mikroprogrammerne på en eller anden måde, som jeg ikke kender til.

Den tredie omskifter fra venstre på billedet af kontrolbordet hedder 56-HOP og har indstillingerne FRA og TIL. I ordrerepertoiret for Dask findes der en særlig ordre, 56-hoppet, der smager på indstillingen af denne omskifter. Hvis omskifteren står i positionen FRA virker 56-hoppet som en blindordre, men hvis omskifteren står i positionen TIL virker 56-hoppet som et sekvenshop (se senere). På denne måde kunne man på udvalgte steder i sit program indsætte 56-hop til fx fejludskrifter o.lign., som så kunne springes over ved blot at stille omskifteren på FRA. Nytten af denne omskifter var tvivlsom; den blev senere overflødiggjort af et meget udbygget kompleks af kontrolprogrammer (debuggere på nudansk). Som tidligere nævnt var der oprindeligt en omskifter til at slå indeksfunktionen til og fra, og uheldigvis sad den lige ved siden af 56-hop omskifteren. Jeg har ved flere lejligheder set febrilske kodere i kampens hede tage fejl af de to omskiftere, men højst overraskende kørselsresultater til følge.

De næste tre omskiftere på billedet af kontrolbordet vedrører valg af ydre enhed for trykning. De to store omskiftere er for hhv. 5-kanals og 8-kanals udskrift. Man kan vælge imellem at få output på det medium der fremgår af den aktuelle trykkeordre (stilling 0), eller på skrivemaskine (stilling S), eller på perforator (stilling P), eller på både skrivemaskine og perforator (stilling S+P). Den lille omskifter imellem de to store er til valg af om 8-kanals udskriften fremkommer på grundlag af 7-bit alfabetet (analogt til ASCII) eller et særligt 8-bit alfabet. Valg af inputmedium skete ved hjælp af en omskifter på strimmellæseren. Valg af linieskriver skete på den måde at hver af de store omskiftere faktisk er delt i to omskiftere oven på hinanden; den nederste (store) omskifter blev brugt til valg af linieskriver. Det var i det hele taget et meget kompliceret system der krævede en del indlæring af operatøren.

Endelig er der på billedet vist en lille omskifter øverst til venstre for højttaleren; det er højttalerens volumenkontrol.

I den nederste række på billedet af kontrolbordet ses nogle vippekontakter til venstre for højttaleren, og nogle trykknapper til højre for højttaleren.Vippekontakterne er, taget fra venste mod højre:

Trykknapperne til højre for højttaleren på billedet af kontrolbordet var til tænding og slukning af de to tromler, samt et par andre enheder jeg ikke kan huske hvad var.

Jeg håber at denne ret detaljerede beskrivelse af kontrolbordet har givet et indtryk af Dasks logiske struktur, samt kastet nogle strejflys over hvor primitivt det hele var.