Motivering van de keuze

0.  

Inleiding

De overwegingen zoals die in de “letter to the Manufacturers” tot uitdrukking zijn gekomen, zouden wij nu, na een half jaar, op drie punten willen aanvullen.

0.1.   Ten eerste is onze appreciatie van magnetische banden iets genuanceerder geworden. Wij schreven “The very limited accessibility of the information on magnetic tapes makes it very hard to use this medium efficiently as an automaticcally controlled backing store.” Wij zijn er op geattendeerd, dat er omstandigheden zijn, waaronder deze beperkte toegankelijkheid nauwelijks een bezwaar is, nl. als contact met deze informatie maar een voldoend exceptionele gebeurtenis is. (Wij noemen als voor de hand liggend voorbeeld van een dergelijke situatie het dumpen van diagnostische informatie.) Op het ogenblik zien wij daarom in de toekomst wel een mogelijk emplooi voor een of twee bandeenheden (die dan helemaal niet supersnel hoevan te zijn).

0.2.   Ten tweede zouden wij niet meer schrijven “Discs or drums or any alternative solution with comparable accessibility....” Uit de offertes is ons nl. gebleken dat het wel van enig optimisme ten aanzien van de snelheid van de schijvengeheugens getuigde om schijven en trommels in dit verband in èèn adem te noemen.

0.3.   Ten derde zouden wij de wenselijkheid van de mogelijkheid tot multiprogrammering met een extra toepassingsgebied onderstreept hebben, het belang waarvan wij steeds meer zijn gaan onderkennen: ook in een omgeving, waarin de machine hoofdzakelijk voor zg. “wetenschappelijk rekenwerk” gebruikt zal worden, is er een aanzienlijke behoefte aan tamelijk triviale informatie-bewerking (copiëren, modificeren, converteren, comprimeren, sorteren e.d.), die gedeeltelijk op off-line apparatuur gedaan zou kunnen worden, maar waarbij al gauw niet de capaciteit, maar wel de flexibiliteit van de general purpose computer vereist is. Om het economisch acceptabel te maken om de computer des gewenst tevens als “general purpose conversie-apparaat” te kunnen gebruiken, is het nodig, dat dit soort werkzaamheden, die slechts een fractie van de rekentijd en geheugencapaciteit opeisen, de rest voor andere processen ter beschikking laten. (De genoemde toepassing is een van de motiveringen voor de extra bandlezer en bandponser die in het uiteindelijke voorstel zijn opgenomen.)

1.  

Speciale criteria

1.1.  

Code-onafhankelijke communicatiemogelijkheden

De onder 0.3. genoemde toepassing alsmede het feit, dat de computer door automatische meetapparatuur geponste banden zal moeten kunnen verwerken en mogelijk ook banden voor bandgestuurde apparatuur zal moeten kunnen produceren (bv. een bandgestuurde plotter) diskwalificeert elke machine, waarin ponsbandcommunicatie niet code-onafhankelijk kan plaatsvinden.

1.2.  

Relatieve adressering

De behoefte aan relatieve adressering is — zelfs in een homogeen geheugen — in de laatste jaren steeds sterker op de voorgrond getreden. Automatische regeling van transporten tussen langzaam en snel geheugen zal het dynamisch karakter van de geheugentoewijzing in snel geheugen slechts onderstrepen.

1.3.  

Vermijding van (omvangrijke of “onvindbare”) positiegebonden status-informatie

1.3.1.  

Een machinestructuur, die impliceert dat de staat van vordering van een werkend programma onder andere wordt vastgelegd in variabele opdrachten tussen de constante opdrachten van het programma heeft twee ongewenste gevolgen:

a)   een stuk programma kan niet meer dan 1 activering kennen, wat in uniprogrammering door geneste activering of bij multiprogrammering door parallelle activering al heel gemakkelijk kan voorkomen;

b)  

als bij automatische transportregeling tussen langzaam en snel geheugen een stuk van het snelle geheugen, dat pro gramma bevat, moet worden vrijgemaakt, moet dit stuk pro gramma in het algemeen gered worden, omdat we er niet meer van kunnen uitgaan, dat de oorspronkelijke copie in het langzame geheugen nog up to date is.

Dit diskwalificeert bv. machines, waarbij de subroutinesprong het terugkeeradres èèn plaats voor het inspringpunt opbergt; het diskwalificeert tevens machines, waarbij de mogelijkheid tot dynamische adresmodificatie zo beperkt is, dat variabele opdrachten haast onvermijdelijk zijn.

1.3.2.   Een groot aantal “special purpose registers” kunnen de werking van een machine locaal versnellen; een feit, waardoor ontwerpers zich hebben laten verleiden; in groter verband blijken ze tot ernstige complicaties aanleiding te geven. De eis, dat een subroutine waarlijk een primitivum is, dat ongeacht zijn interne werking of formulering overal ter beschikking staat, impliceert in dit geval nl. uitgebreide red- en hersteloperaties; bij de nog drastischere “contextwisselingen” zoals die bij multiprogrammering optreden wordt men minstens zo uitgebreid met deze plicht geconfronteerd. Het is daarom hoogst gewenst, dat de omvang van deze informatie, het aantal van dergelijke registers, beperkt is.

1.4.  

Het interruptiesysteem

De hieraan gewijde alinea in de “Letter to the Manufacturers” is onverminderd van kracht gebleven.

1.5.  

Uitbreidbaarheid

1.5.1.   Speciaal wat betreft aan te koppelen communicatieapparatuur hebben we liever niet in zee willen gaan met een ontwerp, waarin aan het maximum aantal aankoppelbare of het maximum tegelijkertijd bedienbare apparaten een scherpe bovengrens gesteld was. Een relatief laag maximum aantal tegelijkertijd bedienbare apparaten is nl. slechts acceptabel als deze snel zijn: de mogelijkheid om de machine met een groot aantal op zich zelf langzamere apparaten samen te laten werken leek ons minstens zo essentieel.

1.5.2.   Indien de omvang van het snelle geheugen niet of slechts moeizaam uit te breiden is boven de primaire maximum omvang, zoals deze uit de adreslengte in de opdracht volgt, heeft dit de onderafdeling met enige reserve vervuld, ook wanneer deze primaire maximum omvang de behoeften van de THE voorlopig nog wel leek te kunnen dekken.

1.6.  

Een minimum aan anomalieën in de machinestructuur

Voorbeelden van dergelijke anomalieën zijn:

a)   een zodanige taakverdeling tussen centrale computer en randapparatuur, dat de centrale computer in een zg. “essentiële haast situatie” kan komen te verkeren;

b)   beperkingen ten aanzien van het even-onevenzijn van adressen, be trokken in dubbellengte operaties;

c)   transportopdrachten die bij gedeeltelijke overlapping van bron en bestemming in de helft van de gevallen niet correct werken;

d)   operaties werkend op syllabes (characters), waarbij de bits, die de syllabe in het woord aanwijzen, niet aan dynamische adrescor rectie onderworpen kunnen worden.

2.  

De offertes en de keuze

Geen van de aangeboden complete installaties (dwz. hardware plus software) beantwoordde aan de wensen, zoals deze in de “letter to the Manufacturers” zijn uiteengezet, zodat als enige mogelijkheid, die ons rest om het gestelde doel te bereiken, overblijft om de gewenste software zelf te ontwikkelen. Behalve dat de gekozen machine qua snelheid en geheugenomvang van de orde van grootte zoals de Onderafdeling der Wiskunde zich die voorstelde, zijn de onder 1. opgesomde speciale criteria een belangrijke maatstaf geworden, dit als uitwerking van de op pag. 5 van de “Letter to the Manufacturers” genoemde voorwaarde:

“To make this task of making software a worth-while occupation the structure of the machine should be such that the development of the more fundamental programming aids does not degenerate into the tricky exploitation of rather “ad hoc” hardware facilities.”

Naar deze maatstaven gemeten kwam de X8, aangeboden door de NV Electrologica, verreweg het allereerste in aanmerking.

Deze machine wordt per augustus 1965 aangeboden. De interne structuur van deze machine, waarvan het ontwerp zich in de eindfase bevindt, werd ons volledig beschreven; van de organisatie met de randapparatuur werd ons een beeld gegeven en werd de volledige specificatie spoedig toegezegd. Het ontwerp van de X8 is zichtbaar beinvloed door compatibiliteitsoverwegingen; er is echter niet gestreefd naar stricte compatibiliteit met de X1, zodat er een moderne machine is kunnen ontstaan, die voldoet aan alle onder 1. opgenoemde speciale criteria. Aan de arithmetiek met drijvende komme — vergeleken met de X1 een nieuw element — is bijzondere aandacht besteed. Doordat het kerngeheugen een cyclustijd van 2.5 mms heeft, ligt de snel heid gunstig; de geheugenomvang van de aan de THE geoffreerde installatie ligt iets onder de door ons opgegeven ondergrenzen (12 procent voor bet kerngeheugen en 32 procent voor het langzame geheugen, dat door een magnetische trommel gerealiseerd is). Aan de drie bijzondere voorwaarden, zoals die op pg. 5 van de “Letter to the Manufacturers” speciaal met het oog op “toekomstige machines” zijn opgenomen, is voldaan.

De andere offertes zijn gerangschikt onder het voornaamste criterium, waardoor ze minder in aanmerking kwamen.

a)   te duur en eventueel ook te groot:
CDC3600, Ferranti ATLAS II, Bendix G-20, Honeywell 800.

b)   te klein of te langzaam:
Philco 4000, Siemens 3003, Honeywell 400, Packard Bell PB 250, Ramo Wooldridge RW 530.

c)   structurele tekortkomingen:
IBM 7040, CDC 1604-A, Elliott 503, Univac 1107, Saab D21, Telefunken TR4, English Electric KDF9, Bull “Saturnus” (codenaam voor een vertrouwelijk aanbod).

 

4 juni 1963 E.W. Dijkstra.