GIER simulator DASKs fdselsdag 13 feb2002 Mogens Kjr
GIER simulator DASKs fødselsdag, 13 -feb-2002 Mogens Kjær
Min historie b 14 -jun-1969: APL360 i Forum b Kort tid efter: GIER hos Haldor Topsøe • GIER nr. 2 med disk, plotter, intet bufferlager • Solgt ca. 1972 b Cand. Scient i biokemi ved Københavns Universitet 1986. b Lokal computerguru på Carlsberg Laboratorium siden 1983.
Ideen til simulatoren b b b Posting i nyhedsgruppe 25 -aug-2000. Mail fra Mads Frellsen 30 -maj-2001. Brev til Henning Isaksson juni 2001. Mail til Jørgen O. Bjerregaard The rest is history. . .
Man tager. . . b Beskrivelse af mikrokode b Lærebog i kodning for GIER 1&2 b Kasser med hulstrimler b Strimmellæsere (først en Teletype, derefter lån af 500 tegn/sek. læser fra Polyteknisk Radiogruppe) Interface til pc. b RC 2000 interface?
Opbygning af GIER
Mikrokode b Trin-for-trin beskrivelse af alle GIERs instruktioner b Adresseberegning b Specielle instruktioner: UD
Implementering b Først skrevet i C under Linux med Motif som brugergrænseflade b Senere en version til Windows 95 - mit første Windows program. b Open Source, dvs. folk får kildeteksten med.
Mikrokoden i C - 1 case 4: Gs_SR; Gs_o 20_41; Gm_AD 2; Gm_OR 30_39; MA=5; break; case 5: if(!IF_LI 40) { Gs_LI 0_9; Gs_LI 10_19; Gs_LI 20_41; Gs_0 h; Gm_H 00_9; Gm_TD; Gm_OR 20_41; Gm_tael_i_OT; MA=8; } else if(IF_LI 40 && !IF_h) {. . .
Mikrokoden i C - 2 b b 64 bit aritmetik, hvoraf der bruges 43 bits Bussen er en variable, der før hvert mikrotrin sættes til lutter 1 -taller Hvert Gs_ trin and’er noget til bussen Hvert Gm_ trin piller nogle bits ud af bussen og gemmer dem i et register b Betingelser også lavet som makroer b I alt 327 makroer Plus ekstra kode til smertensbarnet: b
Indikatoren b Ikke beskrevet i mikrokoden b Kompliceret b Diagram b Fejl i Lærebog i kodning for GIER ! b Fejlen rettet med hjælp fra Henrik Jacobsen, PRG.
Brugerinterface b b b Der skal være noget grafik Blinkende lamper Noget man kan trykke på Skannet billede fra Lærebog i kodning for GIER, bind 2. Lamperne tegnes ovenpå billedet med tykke streger Strimmellæser, perforator og skrivemaskine
Højttaleren b Forbundet til fortegnet i resultatregisteret, R 00 b Lydkortet sættes til at køre 45 KHz, der samples hver 10’ende GIER klokimpuls. Det matcher GIER’ens klokfrekvens på 450 KHz b Får simulatoren til at køre med GIER hastighed b Kan slås fra
Software b Help 3 b GIER ALGOL 4 b Demonstrationsprogrammer • ALGOL • Maskinkode b HJÆLP b GIER ALGOL III (og II? )
Help 3 b b b Alle 17 strimler Kommenteret kildetekst til nogle af hjælpeprogrammerne A Manual of Help 3 b b b 1, 2 eller 3 tromler Disk (30 tromler) Ingen ydre enheder på bufferen (magnetbånd, karrusel eller diske) endnu
GIER ALGOL 4 b b b Alle 10 strimler Kommenteret kildetekst til hele oversætteren og running system A Manual of GIER ALGOL 4 b Bufferen kan benyttes til talsæt: begin array A[1: 1000]; . . . b b Integreret med Help 3 Utestet: • SAMBA record handling • KINGMATIC plotproc
Demonstrationsprogrammer b b 20 spørgsmål Musikprogrammer b Min fars demonstrations -programmer: • • Demon 1 E, 1 D: GA II Demon 3: Tændstikspil Demon 5: Store tal Demon 7: Primtal • Computer Methods. . .
Et lille Algol program. . . algol< Program d-MK-6. Sum begin real sum; integer i, antal; real procedure SUM(x, i, første, sidste); value første, sidste; real x; integer i, første, sidste; begin real sum; sum : = 0; for i : = første step 1 until sidste do sum : = sum + x; SUM : = sum end SUM; select(16); antal : = read integer; begin array A[1: antal]; for i : = 1 step 1 until antal do A[i] : = read real; sum : = SUM(A[i], i, 1, antal); writecr; writetext(|<<Sum: |>); write(|<-d. ddddd'-dd|>, sum) end indre blok end run< 10 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Hvorfor? b Dansk EDB historie ikke kun hardware b Lidt som Jurassic Park b GIER ALGOL - et mesterværk!
Hvor? b http: //www. gier. dk b. zip ! filer til Windows, og. tar. gz filer til Linux. b Tutorial: Beskrivelse af, hvordan man starter med en tom GIER maskine, indlæser Help 3, GIER ALGOL 4 og oversætter et ALGOL program.
Tak b Dataarkæologerne b Polyteknisk Radiogruppe
- Slides: 20