Project Whirlwind
Scriptie voor het vak Geschiedenis van de Informatica (2R930)
M. van Leeuwen (0518207) B. van Leur (0518210) M.J. van Roermund (0512692) 16 juli 2005
Inhoudsopgave 0 Inleiding
3
1 Aircraft Stability and Control Analyzer (ASCA)
4
1.1
Totstandkoming van het project
. . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2
Periode voorafgaand aan de goedkeuring . . . . . . . . . . . . . . . . . . . . .
5
1.3
De eerste complicaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4
Van analoog naar digitaal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2 Project Whirlwind (1946 - 1949)
11
2.1
Onderzoeksafdelingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2
Stopzetting cockpit-ontwikkeling . . . . . . . . . . . . . . . . . . . . . . . . .
13
3 Project Whirlwind (1949 - 1956)
15
3.1
Kritieken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.2
Betrokkenheid van de luchtmacht . . . . . . . . . . . . . . . . . . . . . . . . .
16
3.3
Air Defense System Engineering Commitee (ADSEC) . . . . . . . . . . . . .
16
3.4
Voortgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.5
Interne opslag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.6
De operationele Whirlwind I . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4 Operationele werking van de Whirlwind I 4.1
4.2
21
Standaard operatiemodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.1.1
24
Aanpassen van de program counter . . . . . . . . . . . . . . . . . . . .
Architectuur 4.2.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
Input en output (Invoer en uitvoer) . . . . . . . . . . . . . . . . . . .
24
1
INHOUDSOPGAVE 4.2.2
Arithmetic Element (Rekeneenheid) . . . . . . . . . . . . . . . . . . .
25
4.2.3
Storage (Geheugen) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.2.4
Control (Besturing) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
5 Specificaties van de Whirlwind I 5.1
2
Componenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Geheugentypen
29 31 33
6.1
Mercury delay lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
6.2
Electrostatic tubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
6.3
Magnetic core memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
A Biografi¨ en
37
A.1 Biografie van Jay W. Forrester . . . . . . . . . . . . . . . . . . . . . . . . . .
37
A.2 Biografie van Robert R. Everett . . . . . . . . . . . . . . . . . . . . . . . . . .
38
0
Inleiding
Project Whirlwind is het onderwerp van deze scriptie geschreven voor het vak Geschiedenis van de Informatica (2R930). Dit project heeft geresulteerd in de eerste multi-functionele digitale computer. Bij de aanvang van dit project kan niemand echter vermoeden dat het project deze kant op zou gaan. Het project is voortgekomen uit de gedachte van een medewerker van de Amerikaanse marine aan het einde van de Tweede Wereldoorlog. Deze medewerker ziet de noodzaak om een universele vliegtuigsimulator te bouwen, aangezien het in oorlogstijd te lang duurt om piloten goed te trainen en de nodige ervaring op te laten doen. Op dat moment bestaan er al vliegtuigsimulators, maar deze simulators zijn stuk voor stuk gebouwd voor ´e´en specifiek type vliegtuig en daardoor zijn deze simulators erg kostbaar en niet herbruikbaar. De marinemedewerker roept een project in het leven om deze universele vliegtuigsimulator te gaan bouwen. In dit project blijkt een grote rol weggelegd te zijn voor de onderzoekers van het Massachusetts Institute of Technology (MIT) en met name voor Jay W. Forrester die de leiding over het gehele project krijgt. Uiteindelijk wordt de vliegtuigsimulator nooit gebouwd, maar resulteert het project in de constructie van een computer die ingezet gaat worden in een groot luchtverdedigingsproject van de Amerikaanse luchtmacht: SAGE. Deze scriptie behandelt het volledige Whirlwind project, van de aanzet tot het ontwikkelen van een vliegtuigsimulator tot het inzetten van de eerste digitale computers in SAGE. Hoofdstuk 1 gaat over de te ontwikkelen vliegtuigsimulator en over het kiezen voor een digitale computer als het hart van deze simulator. Hoofdstuk 2 gaat over de manier waarop het project georganiseerd is in de periode 1946-1949, waarin beslist wordt om een digitale computer te ontwikkelen en om de cockpit van de simulator niet verder te ontwikkelen. Hoofdstuk 3 gaat over de manier waarop het project georganiseerd is in de periode 1949-1956, waarin de luchtmacht betrokken raakt bij het project. Hoofdstuk 4 en 5 gaan respectievelijk over de operationele werking en de specificaties van de Whirlwind I computer. Hoofdstuk 6 gaat over de geheugentypen die tijdens het project een rol hebben gespeeld. De scriptie wordt afgesloten met de biografi¨en van de twee hoofdrolspelers in het project: Jay W. Forrester en Robert R. Everett.
3
Aircraft Stability and Control Analyzer (ASCA)
1
Zoals verteld in de inleiding zou Project Whirlwind uiteindelijk leiden tot de ontwikkeling van (´e´en van) de eerste digitale computers die geschikt is voor allerlei toepassingen; een multifunctionele digitale computer. Het project is echter niet opgestart met de doelstelling om een dergelijke computer te ontwikkelen. In dit hoofdstuk wordt ingegaan op hoe het project tot stand is gekomen en hoe het project uiteindelijk heeft geleid tot de ontwikkeling van een multifunctionele digitale computer.
1.1
Totstandkoming van het project
Tijdens de Tweede Wereldoorlog – met name in de periode dat Amerika hierbij betrokken is – is er een enorme vraag naar goed opgeleide piloten met enige ervaring. Tegelijkertijd is er een grote vraag naar vliegtuigen die ingezet kunnen worden in de oorlog. Bovendien blijkt er een dringende behoefte te bestaan aan nieuwe, snellere en betere gevechtsvliegtuigen. Het ontwikkelen en testen van nieuwe vliegtuigen is echter een tijdrovende en ingewikkelde aangelegenheid.
Luiz de Florez Luiz de Florez begint in 1939 aan een succesvolle cari¨ ere bij de marine, waarin hij een goede reputatie op het gebied van a¨ eronautiek – luchtvaartkunde – opbouwt. Tot zijn vertrek bij de marine in 1946 richt hij zich op het cree¨ eren van militaire oefen- en leersystemen. In 1944 ontvangt hij de Robert J. Collier Trophy van de National Aeronautics Associ-
Om het ontwikkel- en testproces van nieuwe vliegtuigen te vereenvoudigen worden simulators van vliegtuigen gebouwd. Het nut van deze simulators bij technische en praktische training van (toekomstige) piloten is vanaf het begin duidelijk. Deze simulators reageren op actuele meterstanden in de cockpit en op acties van de piloten. De simulators worden doorgaans voor ´e´en specifiek vliegtuigtype gemaakt, waardoor de simulators niet herbruikbaar zijn. Aangezien de ontwikkeling van deze simulators erg tijdrovend is, ontstaat al snel de gedachte om een universele simulator te bouwen.
ation voor zijn bijdrage aan de training van gevechtspersoneel in de Tweede Wereldoorlog. In 1941 vertrekt Luiz de Florez naar Londen om te studeren, alwaar hij voor het eerst in contact komt met vliegtuiginstructeurs.
Na
zijn terugkeer uit Londen wordt hij in de gelegenheid gesteld om de Special Devices Division (SDD) op te richten. Binnen drie jaar groeit deze afdeling uit tot een volwaardige afdeling met 400 medewerkers.
In Amerika is het Kapitein Luiz de Florez (zie Luiz de Florez op deze pagina), directeur van de Special Devices Division (SDD) van het Bureau of Aeronautics, die het traject voor de ontwikkeling van een universele simulator in gang zet. Dit traject wordt al snel bekend als het Aircraft Stability and Control Analyzer (ASCA) project. Al in 1943 heeft de Florez gesprekken met Bell Telephone Laboratory (dit laboratorium is verantwoordelijk voor enkele 4
HOOFDSTUK 1. AIRCRAFT STABILITY AND CONTROL ANALYZER (ASCA)
5
dan al bestaande simulators) en Massachusetts Institute of Technology (MIT). De interesse van MIT voor dit onderwerp komt duidelijk naar voren in een brief die Nathaniel McLean Sage, het hoofd van de afdeling Industrial Cooperation binnen MIT, stuurt naar Luis de Florez. In deze brief geeft hij aan dat professor John R. Markham door MIT is aangesteld om onderzoek te verrichten voor het ASCA project. In januari 1944 wordt tijdens een conferentie beslist dat MIT onderzoek gaat verrichten naar de gewenste specificaties van de universele simulators die ontwikkeld worden in het ASCA project. De SDD wil met behulp van dit onderzoek beslissen hoe het ASCA project het beste kan worden voortgezet. In april 1944 rondt John Markham samen met enkele collega’s het onderzoek af en stuurt hij een rapport met de resultaten naar Luiz de Florez. Op basis van ondermeer dit rapport wordt in mei van dat jaar beslist dat MIT het project ASCA op zich gaat nemen. In de periode voorafgaand aan deze beslissing bestaat er binnen de marine behoorlijke weerstand tegen de gezamenlijke plannen van Luiz de Florez en MIT. De grootste tegenstander is kapitein Diehl. In zijn rapport over de haalbaarheid van het project omschrijft hij ASCA als: “in essentie de droom van een natuurkundige en de nachtmerrie van de machinebouwer” 1 . Hiermee geeft Diehl duidelijk aan dat hij het onmogelijk acht dat de gestelde doelen van het ASCA project gehaald worden. Tijdens het verloop van het ASCA project zal blijken dat Diehl bezwaren grotendeels gegrond zijn. De tegenargumenten van Luiz de Florez en MIT zijn op dat moment echter zo sterk dat op 28 november admiraal D.C. Ramsey, hoofd van het Bureau of Aeronautics, toestemming geeft om met het project aan te vangen.
1.2
Periode voorafgaand aan de goedkeuring
In de maanden voorafgaand aan de goedkeuring van het ASCA project vindt er veel overleg plaats tussen medewerkers van de Special Devices Division (SDD) en MIT. Onder de medewerkers van het MIT zijn onder andere Nathaniel Sage en Gordon S. Brown. Nathaniel Sage zou gedurende het Whirlwind project – de voortzetting van een onderdeel van het ASCA project – verantwoordelijk zijn voor het overleg over en de administratie van onderzoek dat deels betaald wordt door partijen (zoals SDD) buiten het MIT. De aanwezigheid van Gordon S. Brown is opvallend, aangezien dit de eerste keer is dat er een medewerker van het Servomechanics Lab (zie Servomechanics Laboratory op deze pagina) aanwezig is bij discussies over het Whirlwind project (toen nog het ASCA project). Dit zijn de eerste indicaties dat deze afdeling betrokken gaat worden in het ASCA project als het project doorgang vindt.
Servomechanics Laboratory In december 1940 wordt het Servomechanics Laboratory opgericht met aan het hoofd Professor Gordon S. Brown. Hij wordt hierbij geassisteerd door onder meer Jay W. Forrester. Gordon Brown laat onderzoekers erg vrij om zodoende een zo ideaal mogelijke werkomgeving te cre¨ eren. Tijdens de Tweede Wereldoorlog houdt deze afdeling zich vooral bezig met het ontwikkelen van op afstand bedienbare wapen- en verdedigingssystemen. In vier jaar tijd heeft de afdeling veel kennis op dit gebied verzameld. De hoop bestaat dat veel van deze kennis toegepast kan worden in het ASCA project.
Voorafgaand aan de goedkeuring van het ASCA project worden een aantal officieuze documenten opgesteld waarin de wederzijdse verwachtingen en een kostenraming van het ASCA project worden beschreven. Initi¨eel worden de kosten voor het ASCA project geraamd op $200.000, maar in november 1943 worden deze kosten al bijgesteld naar $75.000. 1
vrij vertaald naar Kaptitein W.S. Diehl, directeur van de Aerodynamics and Hydrodynamics Branch van het Bureau of Aeronautics
HOOFDSTUK 1. AIRCRAFT STABILITY AND CONTROL ANALYZER (ASCA)
6
In het najaar van 1944, voorafgaand aan de offici¨ele goedkeuring van het ASCA project, wordt Jay W. Forrester (voor een biografie zie A.1 op pagina 37) door Gordon Brown op het ASCA project gezet. Jay W. Forrester zou op deze plaats blijven tot 1956. Jay Forrester besluit al snel om Robert R. Everett (voor een biografie zie A.2 op pagina 38) toe te voegen aan het ASCA project. Jay Forrester start een haalbaarheidsonderzoek voordat het ASCA project officieel van start gaat. Begin november is Jay Forrester bekend genoeg met de verwachtingen omtrent het ASCA project om een eenvoudig plan van aanpak op te stellen. Hierin staat beschreven uit welke onderdelen de simulator opgebouwd zou moeten worden en welke onderzoeken er verricht moeten te worden om deze onderdelen daadwerkelijk te realiseren. Gezien de successen van de oude simulators zijn deze onderzoeken vanzelfsprekend hierop gebaseerd, ondanks dat deze oude simulators slechts van toepassing zijn op ´e´en type vliegtuig.
Figuur 1.1: Robert Everett achter een onderdeel van de cockpit2
De toestand van een vliegtuig is afhankelijk van vele constanten en variabelen. De huidige, vereenvoudigde toestand van een vliegtuig is te beschrijven met mathematische formules en vergelijkingen. Jay Forrester probeert deze formules en vergelijkingen te doorgronden om zodoende inzicht te krijgen in wat voor een machine er gemaakt moet worden. Deze formules zijn onderdeel van de conclusies getrokken door John Markham en collega’s, tijdens het on2
These photographs are copyrighted works of The MITRE Corporation. Copyright 1969-2005, The MITRE Corporation. All rights reserved. MITRE is a registered trademark of The MITRE Corporation.
HOOFDSTUK 1. AIRCRAFT STABILITY AND CONTROL ANALYZER (ASCA)
7
derzoek waarvan het rapport in april 1944 naar de Florez gestuurd is. Nadat Forrester zich bekend gemaakt heeft met deze formules is zijn eerste onderzoeksdoel het maken van ontwerpen die de oplossing van deze vergelijking konden laten zien en daarmee dus de toestand van het vliegtuig. Op 4 en 5 november demonstreert Forrester zijn eerste ontwerpen om de vergelijkingen op te lossen. Gezien de achtergrond van Forrester en het Servomechanics Laboratory is het niet vreemd dat bij deze ontwerpen uit wordt gegaan van een compleet analoge computer. De ontwerpen spraken al over 92 grootheden en 33 gelijktijdige vergelijkingen die nodig zijn om de toestand van een vliegtuig te bepalen, waardoor met gebruikmaking van de gangbare methoden een gigantische apparaat nodig is. Op basis van de onderzoeken die verricht zijn in deze periode en de overtuigende argumenten van Luiz de Florez volgt op 28 november de offici¨ele goedkeuring van het project.
1.3
De eerste complicaties
In december ondervindt Jay Forrester dat het moeilijk is om een tijdsschema op te stellen en om de juiste mensen te vinden die in staat zijn de lastige problemen op te lossen. In eerste instantie worden er nog drie mensen aan het ASCA project toegevoegd die al bekend zijn met de werkwijze binnen het Servomechanics Laboratory: Hugh Boyd, Stephen Dodd en George Schwartz. Vanaf dit moment komt het onderzoek echt op gang. Gedurende de eerste maanden van 1945 blijkt dat er bestaande componenten zijn die gebruikt kunnen worden in het ASCA project. Veel componenten zijn echter niet direct toepasbaar door vooral tekortkomingen op het gebied van precisie en flexibiliteit. Hierdoor moeten veel componenten aangepast worden of opnieuw ontwikkeld worden om alsnog aan de eisen te voldoen. In mei 1945 is het duidelijk voor Brown, Sage en Forrester dat de kosten en de moeilijkheidsgraad van het ASCA project onderschat zijn. Ze zijn er echter nog steeds van overtuigd dat de oorspronkelijke doelstellingen haalbaar zijn. Aangezien het duidelijk is dat het budget, zoals vastgesteld in het contract van december, niet toereikend is, wordt op 22 mei door MIT een nieuw voorstel ingediend. In dit voorstel wordt gesproken over een budget van $875.000 en een tijdsbestek van 18 maanden om het ASCA project af te ronden. Op 30 juni wordt dit voorstel goedgekeurd. Het nieuwe contract geeft aan dat de marine, ondanks het naderende einde van de oorlog, nog steeds vastberaden is om de universele simulator te ontwikkelen. Er van uitgaande dat de marine het voorstel goed zou keuren, is Forrester in de laatste week van juni hard op zoek naar extra onderzoekers. Ook wordt er een tijdschema voor het project opgesteld (zie figuur 1.2 op de volgende pagina). Jay Forrester krijgt naarmate het jaar vordert steeds meer twijfels of de methoden, waar hij en het Servomechanics Laboratory zo bekend mee zijn geworden, de juiste methoden zijn om de simulator mee te ontwikkelen. De onderdelen van een vliegtuigcockpit zijn uitstekend met de bekende methoden te ontwikkelen, maar de computer die ze aan moet sturen dreigt dermate complex te worden dat er misschien beter naar andere methoden gekeken kan worden. Forrester is van mening dat een computer die met de bekende methoden ontwikkeld wordt veel te afhankelijk is van de componenten die de cockpit representeren. Dit is zonde van de potenti¨ele kracht van de computer. De rekenkracht van de te ontwikkelen computer kan – op de momenten dat die niet voor simulaties gebruikt wordt – ook voor andere problemen ingezet worden. Een ander probleem is dat de computer inflexibel dreigt te worden. Aangezien
HOOFDSTUK 1. AIRCRAFT STABILITY AND CONTROL ANALYZER (ASCA)
8
Figuur 1.2: Tijdschema zoals opgesteld in juni 1945
het met de bekende methoden erg lastig is om een ander programma te laden, resulteert dit vaak in het vervangen van complete componenten. Het moet wel opgemerkt worden dat de onderzoekers vooruitgang boeken in het aanpassen van de bekende technieken en componenten om te voldoen aan de eisen van de simulator, maar desondanks blijft bij Forrester het gevoel bestaan dat deze technieken en componenten niet voldoende zullen blijken voor de te ontwikkelen computer.
1.4
Van analoog naar digitaal
Perry Crawford Perry Crawford is afgestudeerd als elektrotechnicus. Tijdens zijn studie heeft hij colleges gevolgd van Professor Caldwell en is hij in aanraking gekomen met zowel analoge als digitale berekeningsmethoden. De digitale berekeningsmethoden staan op dat moment nog grotendeels in de kinderschoenen. In 1942 rondt Perry Crawford zijn afstudeertraject af met het inleveren van zijn onderzoeksverslag: Automatic Control by Arithmetical Operations. In dit onderzoeksverslag beschrijft hij de toe-
Jay Forrester krijgt gedurende het hele jaar steeds meer het idee dat een analoge computer misschien niet de ideale oplossing is. Reeds in mei als hij voor de eerste keer zijn onderzoeksproblemen bespreekt met anderen doet Samual Caldwell (van de afdeling elektrotechniek van MIT) de suggestie om eens naar het werk van een aantal mensen bij Bell Telephone Laboratories te kijken. In dit laboratorium daar wordt gewerkt aan een digitale computer die met behulp van relais nummers opslaat en daar vervolgens berekeningen op uitvoert. Deze hint wordt door Forrester niet gevolgd, omdat hij waarschijnlijk in mei de problemen nog wel overkomelijk vindt.
passing van digitale technieken in de automa-
Tijdens de zomer neemt Jay Forrester de tijd om zich gaat Perry Crawford bij de SDD onder Luiz de te verdiepen in alternatieven voor de analoge berekeningstechnieken. Door gesprekken met Perry CrawFlorez werken. ford (zie Perry Crawford op deze pagina) raakt hij ge¨ınteresseerd in het gebruik van digitale technieken. De technieken en operaties die Crawford in zijn afstudeerwerk beschrijft, zijn volgens Forrester allemaal benodigd voor het ASCA project. Als aan het eind van de zomer blijkt dat het gebruik van een analoge computer als basis voor een universele simulator tot grote problemen leidt, besluit Forrester dat er een andere oplossing gezocht moet worden. tische besturing van wapens. In oktober 1945
Gedurende het jaar 1945 ontstaat zowel in Europa als in de Verenigde Staten een interes-
HOOFDSTUK 1. AIRCRAFT STABILITY AND CONTROL ANALYZER (ASCA)
9
se voor digitale berekeningstechnieken. Op 30 en 31 oktober van dat jaar vindt de eerste conferentie over digitale computertoepassingen plaats bij MIT. Op de conferentie zijn zowel Perry Crawford, als Jay Forrester aanwezig. Het doel van de conferentie is om de aanwezigen bekend te maken met de mogelijkheden in dit nieuwe gebied en om afspraken te maken over ontwikkelingsprojecten met betrekking tot deze nieuwe technieken. De informatie die Forrester op deze conferentie vergaart dragen bij aan een sterkere interesse naar dit nieuwe vakgebied. Op 9 november organiseert Forrester een interne mini-conferentie. Het doel van deze conferentie is om de medewerkers op de hoogte te brengen van de laatste ontwikkelingen op het gebied van berekeningstechnieken. Op de conferentie wordt besproken hoe digitale technieken gebruikt kunnen worden om het problemen in het ASCA project op te lossen. Een voorbeeld hiervan is het optellen met behulp van vacu¨ um buizen. Het is nodig om deze nieuwe technieken grondig te evalueren. Of zoals goed beschreven staat in [Redmond1980] (vrij vertaald): Eigenlijk is de evaluatie al begonnen in het Servomechanism Laboratory, want de technici zijn begonnen met het zich bekendmaken met de principes van dit boeiende nieuwe type machine. Deze machine zou bestaan uit vijf hoofd componenten die systematisch verbonden zijn om goed samen te werken: een invoer eenheid die de nummers om mee te werken ontvangt, een rekeneenheid die de benodigde berekeningen uitvoert, intern geheugen waarin data, instructies en resultaten opgeslagen kunnen worden, een uitvoer eenheid die de resultaten van berekeningen zal laten zien en een controle eenheid die de samenwerking van deze componenten in de computer verzorgt en reguleert Forrester en zijn medewerkers gaan zich nu vooral richten op de manier waarop deze onderdelen van de computer het beste ge¨ımplementeerd kunnen worden. Forrester concentreert zich vooral op de implicaties die het concept van de digitale computer zal hebben op het ASCA project. Op 12 november verzoekt Forrester het Pentagon om inzage van de technische rapporten van de EDVAC (zie EDVAC op deze pagina). Deze documenten zijn erg waardevol aangezien goed studiemateriaal met betrekking tot digitale computers in die tijd schaars is. Bovendien is de EDVAC de eerste binaire digitale computer, waardoor er helemaal weinig studiemateriaal beschikbaar is.
EDVAC De eerste decimale digitale computer is de Electronic Numberical Integrator and Computer (ENIAC). Deze computer wordt tijdens de Tweede Wereledoorlog onder strikte geheimhouding ontwikkeld aan de universiteit van Pennsylvania. De computer bevat 18 duizend vacu¨ umbuizen en 1500 elektronische relais. De opvolger van de ENIAC is de binaire Electronic Discrete Variable Automatic Computer (EDVAC). De ont-
Eind 1945 staat Jay Forrester aan het begin twee perioden: wikkeling van de EDVAC is al voltooid de eerste periode duurt slechts ongeveer 6 maanden en hierin voordat de ENIAC zelfs maar operatizal dieper ingegaan worden op de mogelijkheden die de nieu- oneel is. De EDVAC heeft nog maar 6 we digitale berekeningstechnieken bieden; de tweede periode duizend vacu¨umbuizen. duurt ongeveer 3 jaar en hierin zal de universele simulator ontworpen en ge¨ımplementeerd worden. In january 1946 hebben Forrester en zijn team voldoende informatie verzameld over de concepten van een digitale computer om de marine te adviseren over deze nieuwe technieken. Het advies dient als voorstel voor een nieuw contract voor de ontwikkeling van de universele simulator waarvoor een budget van $2.434.000 geraamd is. Na enkele aanpasssingen van het initi¨ele voorstel accepteert de marine in maart
HOOFDSTUK 1. AIRCRAFT STABILITY AND CONTROL ANALYZER (ASCA)
10
1946 het nieuwe voorstel. Door dit nieuwe contract worden de oude contracten ontbonden en gaat het project verder onder de naam: Whirlwind project. In het initi¨ele voorstel zijn vier projectfases beschreven, maar het uiteindelijke contract bevat slechts de eerste twee fases van de oorspronkelijke vier fasen: 1. Onderzoek, ontwikkeling en constructie om aan te tonen welke digitale technieken in de computer benodigd zijn 2. Het ontwerpen van een computer die voldoet aan de eisen van de ASCA 3. Het bouwen en integreren van de computer en de apparatuur die benodigd is voor de ASCA 4. Het gebruiken van de computer voor simulatiedoeleinden en voor andere wetenschappelijke berekeningen
Project Whirlwind 1946 - 1949
2
In januari 1946 heeft Forrester – voorafgaand aan de offici¨ele goedkeuring van het project in maart van dat jaar – in zijn laboratorium zeven onderzoeksafdelingen en drie ondersteunende afdelingen opgezet. In deze periode cre¨eert hij ook het nieuwe tijdsschema (zie figuur 2.1 op deze pagina).
Figuur 2.1: Tijdschema zoals opgesteld in februari 1946
2.1
Onderzoeksafdelingen
De volgende zeven onderzoeksafdelingen zijn door Forrester in maart 1946 in zijn laboratorium opgezet: Block Diagrams Deze afdeling wordt geleid door Robert Everett en heeft tot doel het ontwerpen van een volledig computersysteem met bijbehorende definities van componenten, de relaties tussen deze componenten en de mogelijke operaties. Computing Circuits Op deze afdeling wordt gewerkt aan de elektrische circuits die uiteindelijk de digitale berekeningen gaan uitvoeren. Aangezien het concept digitale computer nog erg nieuw is, wordt er op deze afdeling veel tijd aan onderzoek besteed. Mathematics Op deze afdeling wordt ondermeer gewerkt aan manieren om vergelijkingen op te stellen die de toestand van een vliegtuig representeren. Aan het hoofd van deze afdeling staat Hugh R. Boyd. Hij geeft in de volgende uitspraak aan welke aanpak gehanteerd wordt 11
HOOFDSTUK 2. PROJECT WHIRLWIND (1946 - 1949)
12
om deze doelen te bereiken: “We hebben besloten om aan redelijke kleine problemen te werken en zodoende voldoende data en ervaring met het gebruik van numerieke methoden op te bouwen waarmee het mogelijk wordt om het vliegtuig simulatie probleem effici¨ent op te lossen. Dit vooronderzoek zal ook onze kennis vergroten over welke types problemen de computer effici¨ent zal kunnen oplossen.” 1 Mechanical, ook de cockpit van de ASCA Deze afdeling houdt zich bezig met onderzoek naar en ontwikkeling van de apparatuur die benodigd is om bijvoorbeeld de acties van de piloot te vertalen naar de juiste digitale signalen. Mercury Delay Lines Op deze afdeling wordt onderzoek verricht naar het gebruik van Mercury Delay Lines als geheugencomponenten. Storage Tube Onderzoek Op deze afdeling wordt onderzoek verricht naar het gebruik van Storage Tubes als geheugencomponenten. Electronics Deze afdeling bestaat uit meerdere kleine afdelingen die elk onderzoek doen naar mogelijke oplossingen voor een specifieke probleem. De precieze taakverdeling op deze afdeling is in sterke mate afhankelijk van de Block Diagrams afdeling aangezien deze afdeling bedenkt welke elektrische componenten er in de computer moeten komen. Deze elektrische componenten worden op deze afdeling ontwikkeld. De onderzoeksafdelingen toont een duidelijke verschuiving van de prioriteiten binnen het project. De nadruk komt in Mercury delay lines toenemende mate op de ontwikkeling van een digitale com- Mercury delay line is de eerste geheuputer te liggen in plaats van op de ontwikkeling van een uni- genvorm die toegepast wordt in comversele simulator. Dit komt doordat de realisatie van een di- puters. Het idee is gebaseerd op het gitale computer van grote invloed is op de realisatie van een opslaan van informatie in de vorm van universele simulator. Alleen bij de Mechanical afdeling is de trillingen die zich traag voortplanten simulator nog duidelijk in beeld. De bedoeling van de hier- in een buis met kwik. Door deze trilboven beschreven indeling van afdelingen is om een hechte lingen continu te behouden in de buis samenwerking te realiseren tussen de verschillende afdelin- ontstaat er een geheugen. Voor details gen waarbij onderzoeksuitkomsten van de ene afdeling door zie sectie 6.1. andere afdelingen gebruikt kunnen worden om tot oplossingen voor specifieke problemen te komen of om nieuw onderzoek op te starten. Na verloop van tijd wordt duidelijk dat de Block Diagrams afdeling bepalend is in de besluitvorming en dat nieuwe onderzoeken voornamelijk worden gebaseerd op het werk van deze afdeling. De Block Diagrams afdeling begon met onderzoek naar de verschillende manieren om tot een oplossing te komen. Het volgende citaat geeft de toestand aan het begin van dit onderzoek aan: een groot aantal systemen is mogelijk; vanaf compleet seri¨ele of sequenti¨ele methoden zoals beschreven door Von Neumann, waar nooit twee operaties tegelijkertijd uitgevoerd worden, tot een compleet parallelle methode waar alle operaties ineens uitgevoerd worden, inclusief het 1
vrij vertaald naar Engineering Note E-14, subj.: “Mathematics Group,” Apr. 12, 1946
HOOFDSTUK 2. PROJECT WHIRLWIND (1946 - 1949)
13
digitaal versturen van data. 2 Everett geeft aan dat er drie afwegingen bepalend zijn voor te volgen strategie van de Block Diagrams afdeling: ([Redmond1980]): 1. De Mathematics afdeling moet de wiskundige procedures om de vergelijkingen op te lossen bepalen, om zodoende het aantal benodigde operaties per tijdseenheid te weten te komen. 2. De Electronics afdeling moet bepalen hoe lang ´e´en operatie duurt. 3. De Block Diagrams afdeling moet uitzoeken wat de optimale manier is om alle componenten parallel te plaatsen, zodat de requirements zoals gegeven bij de Mathematics en de Electronics afdeling te realiseren zijn.
Storage tubes Electrostatic storage tubes zijn gebaseerd op een principe dat ook in een televisie wordt toegepast. Een scherm is verdeeld in een aantal punten: het rooster. De intensiteit van de stroom die op punten in het rooster straalt bepaalt het beeld dat te zien is. Dit beeld representeert de huidige toestand van het geheugen. De grootte van het rooster bepaald is dus
Het jaar 1946 bestaat voor het grootste deel uit onderzoek naar de te gebruiken componenten en hoe die het beste ontwikkeld kunnen worden. E´en van de grootste onderzoeksgebieden, zoals ook zichtbaar is in de gecre¨eerde afdelingen, is het onderzoek naar welk soort geheugen het beste gebruikt kan worden: electrostatic storage tubes of mercury delay lines (zie Mercury delay lines op pagina 12). Ergens in het jaar 1946 besluit Forrester dat de mercury delay lines waarschijnlijk te traag zijn voor de te bouwen computer.
bepalend voor de hoeveelheid bits die in ´ e´ en
In het najaar wordt er een keuze gemaakt uit een aanvoorbeeld van een storage tube is te zien in tal, in ontwikkeling zijnde, storage tubes. Er wordt figuur 2.2. Voor details over de werking van gekozen voor de tube die op dat moment in een ander MIT laboratorium ontwikkeld wordt. Deze tube moet storage tubes zie sectie 6.2. aangepast worden om te voldoen aan de eisen die gesteld zijn aan de computer. In dezelfde periode wordt er door de Block Diagrams afdeling onder leiding van Robert Everett beslist om vanwege de snelheid de bits in de computer parallel te versturen. storage tube opgeslagen kunnen worden. Een
2.2
Stopzetting cockpit-ontwikkeling
In het contract dat afgesloten is met de marine staat dat er in juni 1947 een computer ontwikkeld moet zijn die minimaal de essenti¨ele besturingselementen kan tonen. Forrester noemt deze machine een pre-prototype. Het doel van deze machine is voornamelijk om de componenten te testen en om te kijken of de resultaten van het onderzoek daadwerkelijk toepasbaar zijn. Begin december wordt er besloten om met de ontwikkeling van deze preprototype computer aan te vangen. Al aan het eind van dezelfde maand blijkt dat de deadline van juni 1947 niet gehaald kan worden, omdat er nog meer onderzoek verricht moet worden om alle details uit te werken. 2
vrij vertaald naar Engineering Note E-13, subj. “Block Diagrams Group,” Apr. 3,1946, p.1.
HOOFDSTUK 2. PROJECT WHIRLWIND (1946 - 1949)
14
In het najaar van 1947 schrijven Forrester en Everett beide een rapport waarin ze beschrijven wat de mogelijkheden van de in ontwikkeling zijnde computer zijn als deze computer op dat moment ingezet zou worden bij de marine. Voor de onderzoekers van MIT en de onderzoekers van het SDD is het duidelijk dat er goede resultaten geboekt worden en dat de ontwikkeling van de computer gaat leiden tot een nieuw apparaat met ongekende mogelijkheden voor gebruik binnen de marine en ook binnen het gehele leger. De omvangrijke problemen die komen kijken bij het daadwerkelijk realisatie van de computer leiden er toe dat de ontwikkeling van de cockpit steeds verder naar de achtergrond verschuift. In juni 1948 wordt er beslist om de bouw van de cockpit helemaal te stoppen en om alleen nog de computer te ontwikkelen. Het voorstel om de ontwikkeling van de cockpit te stoppen wordt al in december Figuur 2.2: Storage tube3 1947 gedaan door Perry Crawford, die op dat moment werkzaam is bij het SDD. De offici¨ele redenen om de ontwikkeling te stoppen zijn ([Redmond1980]): • Het is duidelijk dat er meer onderzoek nodig is voor de ontwikkeling van de cockpit, maar de andere onderzoeksgebieden (die van de computer) hebben op dit moment echter prioriteit. • De ontwikkeling van de cockpit heeft niet echt prioriteit, omdat de ontwikkeling van de cockpit zo snel is gegaan dat de cockpit ruim klaar is voordat de computer volledig is ontwikkeld. De beslissing om de cockpit niet meer verder te ontwikkelen, wordt door velen die bij het project betrokken zijn als logisch en duidelijk ervaren. Vanzelfsprekend zijn er ook mensen die deze beslissing als onlogisch en onduidelijk ervaren, doordat het project begonnen is met de intentie om een vliegtuigsimulator te realiseren en daar nu volledig van afgeweken wordt. Zo is er in september 1948 een conferentie met de Office of Naval Research (ONR) waarop de vraag of “het project niet te veel van het initi¨ele doel afwijkt”centraal staat. Het antwoord van Forrester op deze vraag is ([Redmond1980], vrij vertaald): “de voorgestelde digitale computer is nooit bedoeld om de vliegtuig simulator te zijn, maar eerder om een werkend model van een computer te zijn die gebruikt kan worden als een vliegtuig simulator”. Doordat de beslissing om de cockpit niet verder te ontwikkelen veel discussie oplevert, wordt er aan externe onderzoekers gevraagd om onderzoek te verrichten naar de gang van zaken binnen het project Whirlwind. Hierin komen zowel negatieve als positieve punten naar voren. Er wordt bevestigd dat een analoge computer inderdaad niet aan de wensen kan voldoen, maar daarnaast wordt de vraag gesteld of de mathematische formuleringen van het simulatorprobleem niet te uitgebreid is waardoor het probleem onnodig moeilijk wordt gemaakt. Deze onderzoeken en de afgenomen noodzaak van een vliegtuigsimulator – doordat de oorlog is al lang afgelopen is – zorgen ervoor dat de budgetten keer op keer verkleind worden, waardoor de ontwikkeling van het gehele project in gevaar komt.
3
These photographs are copyrighted works of The MITRE Corporation. Copyright 1969-2005, The MITRE Corporation. All rights reserved. MITRE is a registered trademark of The MITRE Corporation.
Project Whirlwind 1949 - 1956
3
Terugkijkend op Project Whirlwind kan men concluderen dat het project rond 1949 een nieuwe fase is ingegaan. Het Office of Naval Research (ONR) besluit dan om het budget voor het komende jaar drastisch te beperken en pas op het moment dat de luchtmacht zich in het project mengt is er een nieuwe opleving. In dit hoofdstuk wordt getoond hoe Project Whirlwind zich voortzet onder invloed van nieuwe investeringen.
3.1
Kritieken
Nog voor de vaststelling van het beperkte budget voor het jaar 1950 wordt Forrester gevraagd om een kostenschatting te geven. Voor de komende jaren verwacht Forrester ieder jaar ongeveer 1 miljoen dollar nodig te hebben voor de verdere ontwikkeling van en aandacht naar toepassingen van de – volgens Forrester overschatte – digitale computer. Deze reactie stuit op kritieken vanuit verscheidene afdelingen binnen de ONR, waaronder de afdeling waar natuurkundige R.J. Bergemann werkt. Bergemann is van mening dat Project Whirlwind met meer geld minder produceert dan elders mogelijk is en hij wijst hiervoor oorzaken aan zoals de voortdurende anticipatie op de mogelijke toekomst van de digitale computer en de onervarenheid van het team dat werkt aan de Whirlwind. Bergemann refereert hierbij aan zijn eigen project, de Hurricane bij Raytheon, maar de ontwikkeling daarvan wordt nog binnen een jaar be¨eindigd. Ook het hoofd van de computerafdeling van het ONR C.V.L. Smith verwijt Forrester gebrek aan realiteitszin met betrekking tot het beschikbare budget. Forrester verdedigt zich door te voorspellen dat in de herfst van 1950 er een computer beschikbaar zal zijn die in staat is om onder andere logistieke studies te ondersteunen, wapens te evalueren of onderzoek te doen naar betere luchtvaartsystemen. Hiermee weet hij het ONR echter niet te overtuigen. De doorslaggevende kritiek komt van een panel dat gevormd wordt door leden van het Department of Defense (DoD), het Amerikaanse Ministerie van Defensie. Het rapport van dit panel concludeert, na een uitgebreide beschouwing van de behoefte aan een digitale computer, dat het ONR kritisch moet gaan kijken naar de alle lopende projecten die geen duidelijk doel en einddatum kennen. Forrester verwijt het panel onnauwkeurigheid bij het beschouwen van de lopende projecten en het ten onrechte schaden van het vertrouwen in het onderzoeksgebied. Dit alles leidt tot een gezamenlijke vergadering van het ONR en het MIT waarin nieuwe richtlijnen worden geformuleerd voor voortzetting van het project met een budget van $250,000. Bovendien beslist men dat er een geschikte leiding voor het project gezocht dient te worden.
15
HOOFDSTUK 3. PROJECT WHIRLWIND (1949 - 1956)
3.2
16
Betrokkenheid van de luchtmacht
De vergadering waarin het besluit wordt genomen om de koers van het Whirlwind project te wijzigen, wordt dezelfde dag nog opgevolgd door een overleg waarbij nu ook het hoofd van een speciale commissie van de luchtmacht aanwezig is. De luchtmacht voegt zich bij het project en investeert een half miljoen dollar. In combinatie met additionele projecten op het gebied van Air Traffic Control en Fire Control wordt het totale budget vastgesteld op $932.000. Deze vergadering speelt een cruciale rol in het project omdat de voortgang hier, ondanks tegengestelde voornemens van het ONR, wordt gered. Doordat de Koude Oorlog voor onzekerheid zorgt over de luchtafweer van Amerika, komt het be- Conclusies van het panel loofde budget slechts mondjesmaat vrij. Boven- De technische richting van Whirlwind heeft sterk gedien wordt het oorspronkelijke – al eerder af- leden onder de veelvuldig gewijzigde doelstellingen en geschreven – doel om een vliegtuigsimulator te verschuivingen van het project van de ene naar de anrealiseren vervangen door het doel om een cen- dere afdeling binnen het ONR. Hoewel de machine nu traal gestuurd luchtafweersysteem te realiseren een definitieve doelstelling heeft, welke ons gepast en met behulp van de Whirlwind computer. Dit belangrijk genoeg lijkt om de grootte van de uitgawordt gezien als een antwoord op de kritiek van ven te rechtvaardigen, zijn deze doelstellingen slechts het panel van het Ministerie van Defensie. De recent toegekend. Gedurende het merendeel van het definitieve versie van het rapport van dit panel bestaan van het project zijn deze uitgaven buitenproblijft echter kritisch (zie Conclusies van het pa- portioneel geweest in vergelijking tot andere projecten 1 nel), ondanks dat dit rapport pas verschijnt na- die een concretere doelstelling kennen. dat de luchtmacht zich heeft gemengd in het project. Dit benadrukt de over het algemeen negatieve houding van het panel.
3.3
Air Defense System Engineering Commitee (ADSEC)
Door de Koude Oorlog en de dreiging die ontstaat door Russische experimenten met atoombommen, begint de Amerikaanse overheid – en met name het Ministerie van Defensie – de noodzaak te zien van een luchtafweersysteem. Dit leidt tot de oprichting van het Air Defense System Engineering Commitee (ADSEC), dat onderzoek gaat verrichten naar oplossingen om de kwetsbaarheid van de natie te reduceren. De activiteiten van het ADSEC hebben directe gevolgen voor project Whirlwind: er wordt een strikter beleid ontwikkeld voor het gehele project en men krijgt wetenschappelijke, technische en militaire kennis aangeboden over wat daadwerkelijk nodig is om een werkend luchtafweersysteem te ontwikkelen. Aanbevelingen van het ADSEC omschrijven de noodzaak voor project whirlwind voor de natie naar analogie van een beest dat zich verdedigt: “Het heeft geen zin de spierkracht te vergroten als er geen brein is; en gegeven een brein, hebben we goed zicht nodig”2 . Deze krachtige taal leidt tot de oprichting van de Lincoln Laboratories en later tot het Semiautomatic Ground Environment (SAGE) systeem. 1 Vrij vertaald naar “Report on Electronic Digital Computers by the Consultants to the Chariman of the Research and Development Board, ” June 15, 1950 2 ADSEC Report, “Air Defense System,” Oct. 24, 1950
HOOFDSTUK 3. PROJECT WHIRLWIND (1949 - 1956)
17
ADSEC onderzoekt de toepasbaarheid van de Whirlwind door middel van diverse bezoeken welke volgens extreme tevredenheid verlopen. Men raakt overtuigd van de capaciteiten van het Whirlwind team door de vele problemen die men inmiddels opgelost heeft en acht de computer in staat tot het verwerken van gegevens van radarsystemen en het berekenen van onder andere interceptie routes. Forrester waarschuwt echter voor een situatie waarin er meer verlangt wordt dan er daadwerkelijk geleverd kan worden. De tevredenheid van ondermeer het ADSEC leidt tot het geruststellende gevolg dat de luchtmacht bereid is de volledige kosten van het Whirlwind project op zich te nemen, indien dit noodzakelijk blijkt te zijn.
3.4
Voortgang
Op het moment dat het ADSEC zich bij het project voegt, is de Whirlwind computer nog onvoltooid, ongetest en nog lang niet in staat om te voldoen aan alle gestelde kwaliteitseisen van het ADSEC. Alle betrokken partijen erkennen dit en accepteren dat er niets anders opzit dan de stand van zaken per dag te beschouwen, ondanks dat duidelijk wordt dat Jay Forrester inmiddels ook over zijn eigen lange termijnplanning heen gaat. Elke dag wordt de machine nog verder uitgebreid en op nagenoeg alle vlakken boekt men vooruitgang.
Figuur 3.1: Voortgang van het project
De voortgang van het Whirlwind project laat zich weergeven in figuur 3.1. De initi¨ele eisen met betrekking tot snelheid en prestatie leiden tot de keuzes voor een parallelle (gelijktijdige) verwerking van cijfers en tegen het einde van 1946 is het al duidelijk dat de computer tot meer in staat is dan alleen tot het uitvoeren van vliegtuig-gerelateerde berekeningen. In 1947 wordt de eerste 5-cijfer-vermenigvuldigingseenheid (zie figuur 3.2) als testcomponent verwezenlijkt. Eind 1948 is men in staat om de noodzakelijke elektronische componenten voor de rekenkundige berekeningen samen te stellen. Gedurende 1949 worden achtereenvolgens de centrale besturing en de basiscomponenten voor de in- en uitvoer verwezenlijkt. Door de geboekte resultaten kan in het derde kwartaal van 1949 de eerste mijlpaal worden bereikt: de computer is in staat om een vergelijking op te lossen en de uitkomst te tonen op een oscilloscoop waarbij de waarden voor x, x2 en x3 worden weergegeven 3 . 3
Vrij vertaald naar “Summary Report No. 20, Third Quarter, 1949,“ p. 9
HOOFDSTUK 3. PROJECT WHIRLWIND (1949 - 1956)
18
Figuur 3.2: Norman Taylor onderzoekt een vermenigvuldigingseenheid en lokaliseert problemen
3.5
Interne opslag
Het grootste resterende probleem bij de ontwikkeling van de Whirlwind heeft betrekking op de interne opslag, oftewel het geheugen. De real-time eisen aan de computer veroorzaken een behoefte aan snel reagerend geheugen. In de loop van de tijd worden de volgende alternatieven voor geheugens overwogen: Mercury delay lines Dit alternatief wordt ondermeer toegepast in de EDVAC, maar wordt uiteindelijk afgeschreven vanwege traagheid. Rotating magnetic drum Dit alternatief wordt ontwikkeld bij de Engineering Research Associates. Ook bij dit alternatief is de snelheid de belemmerende factor. De te hoge reactietijd voldoet niet aan de gestelde eisen zoals die geformuleerd zijn in de tijd van de ASCA. Williams storage tube Dit alternatief is gebaseerd op een tube die afkomstig is uit de Britse uitvinding van radar. Jay Forrester concludeert dat deze tubes een te lage signaal/ruis-verhouding hebben en dat een duidelijk signaal een vereiste is voor een betrouwbare toepassing in de Whirlwind 4 MIT Radiation Laboratory tube Dit alternatief is afkomstig van MIT en is gebaseerd op een tube waar Jay Forrester en 4
Vrij vertaald uit “JWF, Coincident-Current Magnetic Computer Memory Developments at MIT, ”, p. 2.
HOOFDSTUK 3. PROJECT WHIRLWIND (1949 - 1956)
19
zijn team verder onderzoek naar hebben verricht voor de ontwikkeling van de electrostatic tube. Magnetic core storage Dit alternatief komt tot stand doordat de interesse van Jay Forrester wordt gewekt door een reclame voor een magnetisch materiaal genaamd Deltamax. Forrester heeft vertrouwen in dit materiaal en verricht daarom veel onderzoek naar de ideale samenstelling van het materiaal voor toepassing als geheugenelement, zodat dit hieruit de magnetic cores kunnen onstaan die uiteindelijk kunnen dienen voor het geheugen van de Whirlwind. De magnetic cores zijn lange tijd nog te traag voor toepassing in de Whirlwind en de tijdlimiet voor het integreren van het geheugen in de machine begint te dringen. Daarom gaat men al die tijd door met de ontwikkeling van een geheugen gebaseerd op electrostatic tubes. De hoge kosten ($1.500 per tube), de onbetrouwbaarheid op de langere duur en de lage productiensnelheid (1 21 tube per week) van deze electrostatic tubes leiden echter tot irritaties. Jay Forrester blijft daarom werken – voornamelijk het testen van de betrouwbaarheid van het materiaal – aan de magnetic cores en zijn werkwijze is hierbij zeer typerend. In Juni 1949 omschrijft een leerling van Forrester zijn werkwijze als volgt: Jay nam wat spullen en ging in een hoek van lab aan het werken. Niemand wist wat hij aan het doen was en hij was niet geneigd om het te vertellen. We wisten niet beter dan dat hij gedurende 5 of 6 maanden veel tijd besteedde met het werken aan iets 5 .
3.6
De operationele Whirlwind I
Het ADSEC heeft de wens om de computer snel in gebruik te nemen, maar in het begin van 1950 is de ontwikkeling van de Whirlwind nog niet voldoende gevorderd. Om de toepasbaarheid van de Whirlwind te testen wordt er een experiment opgezet waarbij radargegevens van een Missile Early Warning radar worden gebruikt. Deze radar verstrekt de Whirlwind gegevens via een gewone telefoonlijn. Hierbij is voor het eerst sprake van digitale communicatie met een computer over een telefoonlijn. De Whirlwind is gedurende het experiment verantwoordelijk voor het berekenen van vluchtgegevens die gebruikt worden voor de interceptie van raketten die door de radar gedetecteerd worden. Het experiment mislukt in eerste instantie door de complexe opzet en door fouten aan de zijde van het radarsysteem. Het experiment wordt echter later herhaald in een eenvoudigere vorm en zorgt voor succesvolle intercepties. Daarmee wordt eindelijk bewezen dat de Whirlwind in staat is om te voldoen aan de verwachtingen van Crawford, Forrester en Everett, de Whirlwind is namelijk praktische inzetbaar voor real-time operaties en hierdoor kan de computer ook eindelijk als operationeel worden beschouwd. Ondanks het feit dat de Whirlwind al operationeel ingezet kan worden, gaat men door met het ontwikkeling van de machine. Er worden onder andere uitbreidingen gemaakt op het gebied 5
Vrij vertaald naar [Redmond1980], p. 183
HOOFDSTUK 3. PROJECT WHIRLWIND (1949 - 1956)
20
van in- en uitvoer. De tot dusver gebruikte terminals zijn onvoldoende, en daarom zijn derde partijen bezig met nieuwe ontwikkelingen zoals opnames op band. Na verloop van tijd worden ondermeer lees- en opname-eenheden voor fotografische film, een coded-paper-tape punching apparaat en een veelzijdig scherm voor een oscilloscoop ge¨ıntegreerd in de Whirlwind. Problemen tijdens de operatie zijn vooral aanwezig op het gebied van de interne opslag. De electrostatic tubes blijken in de praktijk erg onbetrouwbaar een storingsgevoelig te zijn. Het onderzoek is altijd de belangrijkste reden geweest om de computer tot stand te brengen, maar de Whirlwind wordt steeds meer een inzetbare machine. Er ontstaat druk om een waarschuwingssysteem voor het gehele continent op te zetten dat bescherming biedt tegen luchtaanvallen. Omdat dit meer naar routine werk neigt raken Forrester en Everett enigszins onge¨ınteresseerd in die toepassingen. Een aantal organisatorische wijzigingen worden doorgevoerd: het Whirlwind project verhuist van het Servomechanishms Laboratory ( Servomechanics Laboratory op pagina 5) naar het Digital Computer Laboratory en de toepassing in de luchtmacht wordt ondergebracht in Division VI als onderdeel van het Lincoln Laboratory. Forrester wordt aangesteld als directeur van beide onderdelen en ondanks de nauwere band met de luchtmacht weet hij de onafhankelijke en zelfstandige werkwijze voor het project te behouden. Het jaar 1951 staat in het teken van het organiseren van deze organisatorische wijziging, het vormen van een werkgroep en het maken van planningen. In 1952 wordt er gewerkt aan het volgen van vliegtuigen met behulp van een netwerk van radars met een overlappend dekkingsgebied en in 1953 wordt dit verder uitgebreid naar het aansturen van meerdere vliegtuigen in het complete gebied. Voor deze uitbreidingen moet de Whirlwind intensief gebruik maken van grote hoeveelheden geheugen, maar het onderzoek naar het magnetic core is echter geruime tijd nog niet ver genoeg gevorderd om de aldoor falende tubes te vervangen. In Mei 1952 wordt met de niet-metalen varianten van de magnetic cores eindelijk een reactietijd van minder dan een microseconde behaald en in augustus 1953 worden deze magnetic cores dan ook ingezet ter vervanging van de electrostatic tubes. Al vanaf 1951 wordt overwogen door planningsgroepen van Division VI om een nieuw project te starten onder de voorlopige naam Whirlwind II. Dit project evalueert tot de AN/FSQ-7, een computer die door IBM is ontwikkeld en een belangrijk onderdeel is geworden van het Semiautomatic Ground Environment. Veel ide¨een, ervaringen en onderzoeksresultaten van de Whirlwind I zijn hierbij gebruikt. In 1956 neemt Jay Forrester afscheid van het Whirlwind project en wordt zijn plaats ingenomen door Robert Everett. Oorspronkelijk wordt er verwacht dat de Whirlwind I op 27 Mei 1959 definitief zal worden afgesloten, maar William Wolf van Wolf R&D Coorporation huurt de machine vanaf dat moment voor het symbolische bedrag van $1 per jaar. Hij verplaatst de hele machine naar een eigen locatie en de Whirlwind blijft daar draaien totdat in 1970 het bedrijf wordt verkocht. Vermoedelijk is in deze periode vooral de terminalapparatuur van de Whirlwind computer gebruikt.
Operationele werking van de Whirlwind I
4
In dit hoofdstuk wordt beschreven hoe het uitvoeren van een programma op de Whirlwind I computer werkt. De inhoud van dit hoofdstuk is gebaseerd op enkele technische rapporten over de Whirlwind ([Mann1954] en [Everett1951]). In de uitleg die hierna volgt zijn een aantal figuren ingevoegd die gebaseerd zijn op de figuren in [Mann1954]. Het is belangrijk om bij deze figuren op te merken dat de getekende componenten aan de bus verbonden zijn met een zogenaamde gate tube (poorten die ge¨ımplementeerd zijn met behulp van buizen), maar dat deze gate tubes niet zijn weergegeven om de figuren overzichtelijk te houden.
4.1
Standaard operatiemodus
De huidige computers hebben in grote lijnen nog steeds dezelfde werking als de Whirlwind computer. De Whirlwind computer beschikt al over een program counter (‘programmateller’) die het adres bevat van het register waarin de volgende uit te voeren instructie staat. Vanzelfsprekend is er dan ook een lijst aanwezig waarin de (opeenvolgende) instructies staan die nodig zijn bij de uitvoer van een programma. Deze lijst van instructies staat opgeslagen in oplopend genummerde registers in het geheugen. Aangenomen dat er een geheugenadres in de program counter staat geeft figuur 4.1 op deze pagina weer hoe de storage switch (geheugen-schakelaar) in een toestand wordt gebracht waarin het register waarnaar de program counter verwijst, geselecteerd is. Het geheugenadres
Figuur 4.1: Het selecteren van een instructie
dat in de program counter staat, gaat via de bus – en dus via gate tubes – naar de storage switch die verbonden is met het geheugen waaruit de instructie opgehaald moet worden. In figuur 4.2 op de volgende pagina wordt weergeven hoe een instructie uit het geheugen opgehaald wordt. Het doel van deze operatie is dat de instructie terecht komt in het parity register 21
HOOFDSTUK 4. OPERATIONELE WERKING VAN DE WHIRLWIND I
22
Figuur 4.2: Het laden van een instructie uit het geheugen
(pariteitsregister). Als de te laden instructie uit het magnetic core memory (magnetisch kerngeheugen) moet komen, wordt de instructie door het storage (geheugen) op de bovenste bus geplaatst. Daarna gaat de instructie door het parity register om de pariteit te controleren en dan via de onderste bus weer terug het parity register in. Een instructie uit het test storage (te vergelijken met het hedendaagse RAM geheugen) kan direct het parity register in. Als de instructie in het parity register geladen is, kan er verder gegaan worden met de executie van de instructie. Een instructie bestaat uit 16 bits, waarvan 5 bits de uit te voeren operatie aangeven. De andere 11 bits representeren het geheugenadres van het register dat het getal bevat waarop de operatie uitgevoerd moet worden. Hetgeen er met de instructie in het parity register gebeurt, wordt weergegeven in figuur 4.3 op deze pagina. Het parity register zet de
Figuur 4.3: Het uitvoerbaar maken van de instructie
complete instructie op de bus, de storage switch gebruikt het 11-bits geheugenadres en de control switch (controle schakelaar) gebruikt de 5 bits die aangeven welke operatie er uitge-
HOOFDSTUK 4. OPERATIONELE WERKING VAN DE WHIRLWIND I
23
voerd moet worden. De uitvoer van de operatie wordt verzorgd door het operation control (operatie-controle) component. Dit component zorgt ervoor dat de operation control in de goede toestand is om deze operatie uit te voeren. De benodigde data om deze operatie uit te voeren staan in de arithmetic element (rekeneenheid). Dit laatste component staat onder supervisie van het operation control. In figuur 4.4 op deze pagina is de daadwerkelijke uitvoering van de instructie weergegeven. Ook hier geldt dat het getal waarop de operatie toegepast moet worden uit de test storage komt en dat dit nummer direct voor het arithmetic element beschikbaar wordt gemaakt. Op gegevens uit het magnetic storage wordt een parity check uitgevoerd alvorens de gegevens beschikbaar worden gemaakt voor het arithmetic element. Voor veel operaties (optellen, vermenigvuldigen, etc.) zijn twee getallen nodig. De operation control zorgt ervoor dat de eerstvolgende instructie die uitgevoerd wordt de instructie is die dit tweede getal uit het geheugen ophaalt. Zodra beide getallen in het arithmetic element aanwezig zijn, zorgt de operation control ervoor dat de operatie op deze twee getallen uitgevoerd wordt. Na het
Figuur 4.4: Het uitvoeren van de instructie
uitvoeren van de operatie dient het resultaat opgeslagen te worden. Dit proces verloopt analoog aan het laden van een getal uit het geheugen. Als het resultaat op magnetic storage opgeslagen moet worden, dan wordt er eerst pariteits-informatie aan toegevoegd. In alle andere gevallen wordt het getal direct in de test storage opgeslagen. Uiteraard zijn er operaties mogelijk waarbij de uitkomst naar een andere uitvoer wordt gestuurd dan naar een geheugen.
HOOFDSTUK 4. OPERATIONELE WERKING VAN DE WHIRLWIND I
4.1.1
24
Aanpassen van de program counter
Zoals gezegd bestaat een programma uit een serie opeenvolgende instructies. Het is echter niet meestal niet het geval dat al deze instructies ook in die volgorde uitgevoerd worden. Sterker nog, niet eens alle instructies hoeven uitgevoerd te worden. Het is namelijk mogelijk om de program counter zodanig aan te passen dat de executies op een ander adres hervat wordt (denk hierbij aan een goto of een if-then-else statement). Op de Whirlwind computer is hiervoor de sp operatie beschikbaar. De uitvoer van deze operatie werkt nagenoeg identiek aan de uitvoer van iedere andere operatie. Het enige verschil is dat bij deze operatie de 11 bits die normaal gebruikt worden om een getal in het arithmetic element te laden, nu gebruikt worden als nieuwe waarde voor de program counter. De volgende instructie – oftewel het corresponderende geheugenadres in de program counter – is nu dus veranderd waardoor de uitvoer op een ander punt doorgaat.
4.2
Architectuur
Het Whirlwind systeem is vrij eenvoudig en is weergegeven in figuur 4.5 op deze pagina. De vier componenten (input en output samengenomen) zullen in de volgende secties uitgebreider behandeld worden.
Figuur 4.5: Vereenvoudigde weergave van de computer
4.2.1
Input en output (Invoer en uitvoer)
De input en output van de Whirlwind kan uit verscheidene componenten bestaan. Een aantal van deze componenten zijn nodig om gebruikers de mogelijkheid te bieden om de computer instructies te geven om bepaalde programma’s uit te voeren. Daarnaast kan er ook andere apparatuur als input of output van de computer gebruikt worden. Ook zijn er een aantal componenten nodig om een computer specifieke taken in een systeem te laten vervullen. Hierbij kan bijvoorbeeld – in de context van SAGE en Whirlwind – gedacht worden aan radars.
HOOFDSTUK 4. OPERATIONELE WERKING VAN DE WHIRLWIND I
25
Output kan in allerlei vormen gegenereerd worden. Input wordt aan de computer gegeven door het genereren van pulsen met een frequentie van 0.1 microseconde in parallelle lijnen. Deze pulsen worden door de Whirlwind computer als een bepaalde binaire code ge¨ınterpreteerd.
4.2.2
Arithmetic Element (Rekeneenheid)
Het arithmetic element in de Whirlwind computer ontvangt doorgaans ´e´en nummer tegelijk en voert daar vervolgens een berekening op uit. In het geval van een berekening met twee getallen (bijvoorbeeld optellen) wordt het tweede nummer bij de volgende operatie van de bus gehaald. Het resultaat van een berekening blijft in het arithmetic element totdat er expliciet gevraagd wordt om het te verwijderen. Op deze manier kan een resultaat gemakkelijk hergebruikt worden in een volgende berekening. De volgende functies kunnen door het arithmetic element uitgevoerd worden: • • • • • • • •
Optellen Aftrekken Vermenigvuldigen Delen Shiften (verschuiven) en flippen (draaien) van bits Versturen naar en ontvangen van de bus Het teken van een getal in de accumulator of het A-register bepalen Complementeren van het getal in de accumulator of het A-register
Het arithmetic element bestaat uit drie registers: 1. Het A-register (AR) 2. De accumulator (AC) 3. Het B-register (BR) Van deze registers is het voldoende om te weten dat de accumulator wordt gebruikt om de resultaten van berekeningen in op te slaan. Het B-register zorgt voor de verschuif-operaties op een serie bits en de rest van de operaties worden verzorgd door het A-register.
4.2.3
Storage (Geheugen)
In deze sectie wordt niet uitgeweid over de hoeveelheid geheugen de Whirlwind computer bezit, aangezien deze hoeveelheid een aantal keer is aangepast. De Whirlwind computer heeft twee soorten geheugens: test storage en magnetic core storage. Deze twee geheugens zijn respectievelijk te vergelijken met het hedendaagse RAM geheugen en de harddisk. Het test storage is direct verbonden met de hoofdbus. Het magnetic core storage moet daarentegen benaderd worden via een apart systeem dat dit geheugen beheert en is daarom niet zo snel als het test storage. Zodra de Whirlwind computer data uit de magnetic core storage wil hebben, wordt de executie overgedragen aan dit systeem totdat de data beschikbaar is.
HOOFDSTUK 4. OPERATIONELE WERKING VAN DE WHIRLWIND I
4.2.4
26
Control (Besturing)
Het component control is een uitgebreid component dat uit meerdere onderdelen bestaat. Een overzicht van dit component is weergegeven in figuur 4.6. Van de componenten in het control
Figuur 4.6: Vereenvoudigde weergave van de computer
element zullen de program counter, de master clock en de operation control achtereenvolgens in deze sectie worden behandeld. De overige drie componenten zijn een soort interfaces naar de componenten die behandeld zijn in de voorgaande sectie, waarbij het component terminal equipment control de interface is voor de in- en uitvoer. Program Counter (Programmateller) De capaciteit van de program counter (PC) beslaat 2048 verschillende adressen (oftewel binaire getallen ter lengte 11). Dit is een logische ontwerpbeslissing aangezien er ook 2048 registers beschikbaar zijn om instructies in op te slaan. Verder is het uiteraard van belang dat de program counter van en naar de bus kan lezen. Master Clock (Hoofdklok) De taak van de master clock is om aan te geven wanneer een operatie uitgevoerd kan worden. Een component kan slechts met ´e´en operatie tegelijkertijd bezig zijn, en die operatie mag pas gestart worden op het moment dat het component een puls (signaal) van de klok heeft ontvangen. Ieder component moet dus een soort schakelaar hebben die sluit op het moment dat een operatie gestart wordt – bij het ontvangen van een puls – en die weer opent als de operatie volledig uitgevoerd is. De klok in de Whirlwind I computer heeft de aparte eigenschap dat er niet ´e´en puls gegenereerd wordt, maar meerdere pulsen op verschillende frequenties (afhankelijk van hoe lang een operatie minimaal duurt). Optellen kan bijvoorbeeld met een pulsfrequentie van 1 MHz uitgezonden. Voor vermenigvuldigen is de pulsfrequentie echter 2 MHz. Ook voor input en output worden verschillende frequenties gebruikt. Al deze pulsen
HOOFDSTUK 4. OPERATIONELE WERKING VAN DE WHIRLWIND I
27
worden gesynchroniseerd aan de hand van ´e´en van de hoofdfrequenties die binnen de computer gebruikt worden. Operation Control (Operatiebesturing) Dit component bepaalt de volgorde waarin operaties worden uitgevoerd. De uit te voeren operaties worden ´e´en voor ´e´en uit het geheugen gehaald (zoals beschreven staat in sectie 4.1 op pagina 21). Een schematische weergave van het operational control component is te zien in figuur 4.7. In dit figuur zijn een 32 position switch en een 8 position time-pulse distributor
Figuur 4.7: Operation control component
te zien. De 32 position switch heeft 32 uitgangen die de 32 operaties van de Whirlwind I computer representeren (in het figuur zijn operaties co, oo, cs en su zichtbaar). Elke operatie wordt uitgevoerd door ´e´en of meerder onderdelen van de Whirlwind computer. De uitgangen van het operation control component bestaan uit 120 gate tubes (voor de Whirlwind computer wordt dit voldoende geacht). Deze gate tubes zijn verbonden met de verschillende onderdelen van de Whirlwind computer. In het figuur zijn de onderdelen a, b, c, d en e zichtbaar. Zoals gezegd wordt een operatie uitgevoerd door een aantal onderdelen van de Whirlwind computer. De uit te voeren operatie wordt eerst door de switch van de bus gehaald. Deze switch bepaalt welke operatie het is en stuurt vervolgens een puls naar de uitgang die deze operatie representeert. Voor dit moment wordt aangenomen dat de operatie oo van de bus gehaald is. De puls die de switch dan naar de uitgang stuurt, zorgt ervoor dat onderdelen c, d en e in een standby toestand komen. Het is interessant om hier gedetailleerder op in te gaan. De mapping van een operatie op de onderdelen wordt gedaan met behulp van een grid. De kolommen van de grid stellen – bijvoorbeeld – de 32 lijnen van de computer voor en de rijen van de grid de 120 onderdelen van de computer. Door een kristal (in de Whirlwind computer worden kristallen als geleiders
HOOFDSTUK 4. OPERATIONELE WERKING VAN DE WHIRLWIND I
28
gebruikt) op een kruispunt te plaatsen, wordt een specifieke onderdeel van de computer verbonden met een specifieke operatie. Vanzelfsprekend kan een onderdeel in meerdere operaties gebruikt worden; in het figuur is bijvoorbeeld zichtbaar dat onderdeel e door operaties oo en su gebruikt wordt. Het is niet voldoende om te weten welke onderdelen benodigd zijn om een operatie uit te voeren. Doorgaans dienen deze onderdelen in een bepaalde volgorde benaderd te worden. De time-pulse distributor vervult deze functie. Zoals gezegd zet de control switch de benodigde onderdelen in de standby stand. Om de onderdelen daadwerkelijk uit te voeren, is een tweede puls van de time-pulse distributor nodig. De time-pulse distributor beschikt over 8 uitgangen waarover doorlopend om de beurt een puls gestuurd wordt. De pulsvolgorde is dus: 1,2,. . . ,8,1,2,. . . ,8,1. . . . Op deze manier wordt de uitvoervolgorde van de operaties aangegeven. In het voorbeeld waarin commando oo van de bus gehaald wordt, staan de onderdelen c, d en e op standby. Deze onderdelen krijgen een tweede puls op de uitgangen 2, 1 en 4. De uitvoer van de operatie verloopt nu als volgt. Bij de eerste puls wordt onderdeel d uitgevoerd, bij de tweede puls wordt onderdeel c uitgevoerd, bij de derde puls gebeurt er niets (er is een delay) en bij de vierde puls wordt onderdeel e uitgevoerd. De overige pulsen die gegenereerd worden door de time-pulse distributor worden genegeerd door de gate tubes, omdat er geen eerste puls van de switch ontvangen is.
Specificaties van de Whirlwind I
5
Project Whirlwind resulteert in November 1951 in de succesvol opererende digitale Whirlwind I computer. De componenten van deze immense computer nemen verscheidene kamers in beslag (zie figuur 5.1 op deze pagina).
Figuur 5.1: De Whirlwind I computer: bovenaan een overzicht van de gehele Whirlwind I computer; linksonder zijn Stephen Dodd, Jay Forrester, Robert Everett en Ramona Ferenz een aantal tests aan het uitvoeren; rechtsonder zijn Jay Forrester (links, staand) and Norman Taylor (links, wijzend) een deel van het circuit aan het testen.2
2
These photographs are copyrighted works of The MITRE Corporation. Copyright 1969-2005, The MITRE Corporation. All rights reserved. MITRE is a registered trademark of The MITRE Corporation.
29
HOOFDSTUK 5. SPECIFICATIES VAN DE WHIRLWIND I
30
De eerste logische ontwerpen voor de Whirlwind I computer worden al in 1947 gepubliceerd. In de tussenliggende jaren zijn de elektrische en mechanische details uitgewerkt en zijn de afzonderlijke componenten en basiscircuits van de Whirlwind I computer ontworpen en ge¨ımplementeerd. De Whirlwind I computer is een elektronische computer die wiskundige berekeningen uitvoert in het binaire talstelsel met behulp van basisregisters met een lengte van 16 bits. De computer is niet in staat om berekeningen uit te voeren die getallen bevatten waarvan de lengte een veelvoud van de standaard register lengte is. Instructies en gegevens worden door een Flexowriter omgezet in een punched paper tape (ponskaarten). Deze tape wordt vervolgens gelezen door een Ferranti photo-electric tape reader (foto-elektrische tape-lezer) en opgeslagen in het interne magnetic core storage (magnetisch kerngeheugen) (zie figuur 5.2 op deze pagina).
Figuur 5.2: Magnetic core storage: links een overzicht van het geheugen en rechts een detailopname waarop de indeling van 64x64 magnetische elementen te zien is.4
Elk binair getal wordt in een geheugenregister gerepresenteerd door een afzonderlijke magnetische kern. De richting van het magnetisch veld in een magnetische kern bepaalt of er een 0 of een 1 in het geheugenregister is opgeslagen. Het uitlezen van een geheugenregister heeft als gevolg dat het register wordt gewist. Hierdoor dient een leesoperatie gevolgd te worden door een herschrijfoperatie als de oude waarde aanwezig dient te blijven of een schrijfoperatie als er een nieuwe waarde in opgeslagen dient te worden. Als aanvulling op het interne geheugen heeft de Whirlwind I computer externe magnetic tapes (magnetische tapes) en magnetic drum systems (magnetische trommelsystemen). De Whirlwind I computer gebruikt parallelle transmissie van binaire getallen over een bus met een apart kanaal voor ieder bit van een 16-bits register. Een groot component van de computer is volledig gewijd aan het ontvangen en verzenden van getallen van en naar deze bus. Een central control element (centraal besturingselement) is verantwoordelijk voor het correct laten functioneren van de verschillende in- en uitvoerelementen tussen de bus en de 4
These photographs are copyrighted works of The MITRE Corporation. Copyright 1969-2005, The MITRE Corporation. All rights reserved. MITRE is a registered trademark of The MITRE Corporation.
HOOFDSTUK 5. SPECIFICATIES VAN DE WHIRLWIND I
31
andere eenheden van de computer. De basis pulse-repetition frequency (pulsfrequentie) van de Whirlwind I computer is 1 MHz met een pulsduur van 0,1 µsec. In de rekeneenheid is de pulse-repetition frequency voor onder andere vermenigvuldiging 2 MHz. De terminal van de Whirlwind I computer is uitgerust met Flexowriters om punched paper tapes te maken, foto-elektrische en mechanische apparaten om punched paper tapes te lezen, magnetic tapes, magnetic drums en oscilloscopen.
5.1
Componenten
In deze sectie wordt een overzicht van de component van de Whirlwind I computer gegeven.
Storage Magnetic core storage (Magnetisch kerngeheugen) 2 rijen met elk 1024 (64 ∗ 64) magnetische kernen per vierkant blok (zie figuur 5.2 op de vorige pagina). De toegangstijd van dit geheugen is 8 µsec. Auxiliary drum storage (Aanvullend trommelgeheugen) 12 groepen met elk 2048 registers op een magnetic drum met woord- of bloktransfers van en naar de magnetic drum. De toegangstijd van dit geheugen is 8,3 msec binnen een groep en 67 µsec om een groep te selecteren. De woord- of bloktransfersnelheid is 32 µsec/woord. Buffer drum storage (Buffer-trommelgeheugen) Het buffer drum storage wordt gebruikt voor auxiliary storage of als buffer voor speciale invoergegevens. De programmeur mag slechts 6 groepen van elk 2048 registers gebruiken voor auxiliary storage. Het buffer drum storage is qua fysieke structuur gelijk aan het auxiliary drum storage. Test storage (Testgeheugen) Dit geheugen bestaat uit 32 toggle-switch registers, en 5 flip-flop registers die onderling verwisselbaar zijn met elke combinatie van 5 toggle-switch registers.
Terminal equipment (Terminaluitrusting) Punched paper tape and typewriters (Ponskaarten en typemachines) Er wordt een 7-hole tape (tape met 7 gaatjes naast elkaar, waarvan er 6 voor informatie dienen en 1 voor een index) gebruikt met een 6-cijferige binaire codering voor letters en decimale getallen en met 10 lijnen per inch. Een mechanische tape reader (106 msec/lijn, 318 msec/woord) en een Ferranti photo electric tape reader (5 msec/lijn, 15 msec/woord) dienen voor de invoer naar de computer. Tape punch (93 msec/lijn, 279 msec/woord), printers (± 135 msec/karakter en tot 900 msec per regelovergang) voor de uitvoer van de computer.
HOOFDSTUK 5. SPECIFICATIES VAN DE WHIRLWIND I
32
Magnetic tape (Magnetische tape) Parallelle en seri¨ele opslag voor binaire getallen in 3 paren (2 informatieparen en 1 index-paar) van niet-aangrenzende kanalen over de breedte van de tape. De maximale dichtheid bedraagt 100 lijnen (200 binaire informatie-getallen) per inch en de snelheid bedraagt 30 inch/sec. Flexowriter: delayed output via magnetic tape (Vertraagde uitvoer via magnetische tape) Flexowriter karakters voor delayed output kunnen met een snelheid van 135 karakters/sec worden opgenomen. Een 1000-voet (± 300 meter) lange magnetische tape kan 53.000 characters bevatten, kan op zijn snelst in 6,7 minuten opgenomen worden en kan geprint worden in ongeveer 90 minuten of geponst worden in ongeveer 63 minuten. Ondanks dat de Whirlwind I computer gebruik maakt van 5 magnetic tape units, mogen er maar 4 tegelijkertijd gebruikt worden. Oscilloscope display (Oscilloscoopscherm) Twee 16-inch magnetically-deflected (‘magnetisch afgebogen’) CRT’s worden gebruikt als scherm. De X- en Y-assen hebben 2048 discrete posities en punten kunnen met een maximale snelheid van 6250 punten/sec worden geplot. Cijfers kunnen worden weergegeven als 3 ∗ 5 arrays in ongeveer 1.8 msec/cijfer. Door de instelling van de versterker van de oscilloscoop aan te passen is het mogelijk om vectoren en speciale characters weer te geven (197 µsec/vector). Buffer drum (Buffer-trommel) De buffer drum wordt gebruikt als tijdelijk geheugen voor in- en uitvoergegevens die bij de computer aankomen en vertrekken op een willekeurige en asynchrone manier vanuit meerder bronnen en naar meerdere uitvoerapparaten.
6
Geheugentypen
Zoals in sectie 3.5 beschreven staat, zijn er veel problemen met de interne opslag – tegenwoordig vaak aangeduid met werkgeheugen – van de Whirlwind I computer. Er is veel tijd besteed aan het onderzoeken en verbeteren van deze opslag. In dit hoofdstuk wordt nader ingegaan op de drie geheugentypen.
6.1
Mercury delay lines
Mercury delay lines (kwik-vertragingslijn) is het eerste geheugentype dat wordt geproduceerd. De behoefte aan geheugen komt voort uit het onderzoek naar radar in de Tweede Wereldoorlog, waarbij de weergegeven informatie moet worden ontdaan van niet-bewegende objecten. Dit wordt gerealiseerd door de gegevens van het vorige signaal vanuit dezelfde richting te vergelijken met het nieuwe signaal en vervolgens alle plekken uit te vlakken waarop hetzelfde signaal wordt gemeten. Om dit mogelijk te maken moet het oude signaal opgeslagen kunnen worden en daarom zijn de mercury delay lines ontwikkeld.
Figuur 6.1: Mercury geheugen van de UNIVAC I (1951)1
Het principe van mercury delay lines is gebaseerd op een dunne lijn van kwik met aan beide uiteinden een kwartskristal. Als een kwartskristal onder stroom wordt gezet, dan begint het te trillen. Andersom geldt ook dat een trillend kristal stroom opwekt. Een trilling kan als een geluidsgolf door kwik gestuurd worden. 1
Foto genomen door Ed Thelen
33
HOOFDSTUK 6. GEHEUGENTYPEN
34
Door een geluidsgolf (trilling) door het kwik te sturen, gaat het kristal aan de andere kant van het kwik – nadat de golf zich door het kwik heeft voortgeplant – trillen. Hierdoor wordt stroom opgewekt, die vervolgens versterkt wordt gebruikt om het kristal aan het begin van de buis opnieuw te laten trillen. Schrijven naar of lezen uit het geheugen kan nu plaatsvinden door het signaal aan te passen. Door dit te blijven herhalen is een geheugen gecre¨eerd. De lage voortplantingssnelheid2 van de trillingen in het kwik zorgt voor een vertraging ten opzichte van de andere logica, vandaar het woord delay (vertraging). Bij mercury delay lines is er sprake van de enkele specifieke ontwerpproblemen: • De lengte van de lijn moet erg nauwkeurig ontworpen en gefabriceerd worden om precies de gewenste vertraging te krijgen. Computers – en ook de Whirlwind – werken nagenoeg altijd met een klok waarbij precies op de kloktik het akoestische signaal aan het einde van de lijn moet zijn en niet nog onderweg. • De buis met kwik heeft invloed op het geluid doordat de wanden het geluid weerkaatsen en uiteinden van de buis echo’s veroorzaken. Deze effecten be¨ınvloeden het signaal negatief en moeten worden geminimaliseerd. – Een compacte straal van de geluidsgolf voorkomt weerkaatsing tegen de wand van de buis. Door de pi¨ezo-elektrische elementen die het signaal generen en opvangen zo recht mogelijk tegenover elkaar te plaatsen, kan de compactheid worden bewerkstelligd. – Een constante temperatuur zorgt voor een constante snelheid van het geluid en voorkomt daarmee wisselingen in de vertraging die de lijn veroorzaakt. Bij een temperatuur van 40◦ C gaat er een minimale hoeveelheid energie verloren en wordt er geen echo veroorzaakt door de overgang van de elementen aan de uiteinden van de buis naar het kwik.
6.2
Electrostatic tubes
Electrostatic tubes (elektrostatische buizen) zijn lange tijd de keuze van geheugenmedium geweest gedurende het Whirlwind project. De exacte combinatie van materialen, voltages en andere constructie parameters verschilt tussen de verschillende soorten tubes, maar allen zijn gebaseerd op het idee afkomstig van het onderzoek in 1946 van Dr. F.C. Williams en de later naar hem vernoemde Williams-tube. Een storage tube is opgebouwd rondom een cathode ray tube (CRT, kathode straalbuis), die in de huidige televisies en monitoren nog steeds gebruikt wordt. De CRT zendt een elektronenstraal naar vaste posities in een rooster op een ge¨ısoleerde plaat met fosfor. Vlak bij deze ge¨ısoleerde plaat bevindt zich een metalen plaat die door wisselingen van het onderlinge spanningsveld een elektrische stroom – de opgeslagen waarde – kan doorgeven die overeenkomt met de huidige energie die opgeslagen is in het fosfor. De elektronenstraal activeert (lees: “zet energie in”) het fosfor op de plaat. Een eigenschap van fosfor is dat het opgeslagen energie niet lang kan vasthouden, waardoor de informatie in het deeltje weer verloren gaat. Deze 2 Relatief ten opzichte van de elektronica die gebruik wil maken van het signaal in de delay line. De voortplantingssnelheid van geluid in kwik (1450 m/s) is namelijk hoger dan die van geluid in lucht
HOOFDSTUK 6. GEHEUGENTYPEN
35
informatie moet daarom herschreven worden voordat de informatie niet meer leesbaar is. Het belichten van de plaat is daarom een herhalend proces dat voorkomt opgeslagen informatie verloren gaat. Het meten, lezen, schrijven en aansturen van de elektronenstaal wordt verricht door elektronische logica die zich ook in de tube bevindt. Het geheel is afgeschermd in een metalen doos om interferentie van externe apparatuur te voorkomen.
Figuur 6.2: MIT Electrostatic storage tube3
Als de storage tube een bit met waarde 1 op wil slaan moet er op de juiste plaats in het rooster een punt op de ge¨ısoleerde plaat aangepast worden, zodat dit punt bij herbelichting een andere spanning veroorzaakt op de metalen plaat. De gemeten spanning op de metalen plaat geeft bij herbelichting de informatie die het bit representeerd. Een methode om dit te doen is de dot/dash (stip/streep) methode. Hierbij wordt bij het opslaan van een bit met waarde 1 de – zich langs de ge¨ısoleerde plaat bewegende – elektronenstraal langer geactiveerd, waardoor een streep geactiveerde fosfor op de plaat wordt achtergelaten in plaats van een stip geactiveerde fosfor bij een bit met waarde 0. Bij herbelichting van het punt wordt direct al een hogere spanning gemeten in de plaat door de nog deels geactiveerde omliggende fosfor van de streep. Hierdoor weet de elektronische logica in de tube dat voor het verversen van de informatie op deze plaats in het grid de straal wederom langer geactiveerd moet worden om de hele streep te belichten. Naast de dot/dash methode zijn nog andere methoden ontwikkelt, waaronder de focus/unfocus methode. Alle storage tubes gaan gebukt onder hoge productiekosten en onbetrouwbaarheid, maar de rubes zijn echter het enige alternatief voor de tragere delay lines totdat het magnetic core memory wordt uitgevonden.
6.3
Magnetic core memory
Magnetic core memory (magnetisch kerngeheugen) is opgebouwd uit ringvormige kernen van ferromagnetisch materiaal. Ferromagnetisch materiaal – zoals bijvoorbeeld ijzer of nikkel – bestaat uit elementaire deeltjes die allemaal hun spin (draairichting) dezelfde kant op kunnen richten door onderlinge wisselwerking. Als alle deeltjes zich evenwijdig richten – een gelijke 3
Foto copyright van het Computer History Museum, VirtualVisibleStorage/artifact_main.php?tax_id=02.03.02.00
http://www.computerhistory.org/
HOOFDSTUK 6. GEHEUGENTYPEN
36
spin hebben – is er sprake van een magnetisering van de gehele kern. Het magnetisch veld van de kern kan worden gericht met behulp van een extern magnetisch veld, waardoor de polariteit van de kern verandert. Het aanpassen van de richting van het magnetisch veld gaat echter alleen door middel van een hysterese. Hierbij wordt de richting van het magnetische veld van de kern bepaald door de sterkte van het externe magnetische veld boven een bepaald omslagpunt te brengen, en deze richting wordt slechts aangepast indien de sterkte van het externe magnetische veld ver beneden een bepaald omslagpunt wordt gebracht. Het externe magnetisch veld kan worden opgewekt door stroom in een bepaalde richting door een draad te laten lopen die dwars door de ringvormige kern heen gaat. Zodra er dusdanig veel stroom door de draad loopt dat het ge¨ınduceerde veld boven het omslagpunt van de kern ligt, kan hiermee de polariteit van de kern bepaald worden. Deze polariteit representeert de in de kern opgeslagen binaire informatie. Elk van de kernen laat zich eenvoudig in een 0 of een 1 toestand brengen, maar het uitlezen hiervan verloopt moeilijker. Uitlezen gaat alleen door de kern te voorzien van een specifieke polariteit. Als hierdoor de polariteit wisselt – van negatief naar positief, of andersom – dan kan dat op een andere lijn – die door de kern gaat – gemeten worden, doordat daar dan een kleine puls doorheen gaat. Uit het wel of niet meten van die puls kan men concluderen of de kern zich al in dezelfde polariteit bevond of niet. Na deze operatie heeft de kern hoe dan ook deze specifieke polariteit, waardoor de informatie in de kern verloren is gegaan. De oplossing voor dit probleem staat op naam van de Amerikaanse natuurkundige An Wang: het direct herschrijven van de zojuist uitgelezen waarde in de kern, zodat de informatie niet verloren gaat.
Figuur 6.3: Kernen in een grid van X, Y en aansturingslijnen.
In het bovenstaande mechanisme heeft elke kern zijn eigen aansturing nodig. Jay Forrester heeft hiervoor een oplossing bedacht. Hij plaatst de kernen in een roosterstructuur waarbij voor elke rij en en elke kolom een lijn wordt aangelegd, die verderop met X en Y lijnen worden aangeduid. Als een bepaalde kern in het rooster gemanipuleerd moet worden, zet men op de bijbehorende X en Y lijnen elk de helft van de spanning die nodig is om de hysterese te bewerkstelligen. Alleen op de plaats van de kruising van deze lijnen – precies daar waar de kern zit die aangestuurd dient worden – is dan voldoende spanning aanwezig om het gewenste effect te realiseren. Verder kan men van elke kern de eventuele puls bij een omslag van de polariteit meten met behulp van een aparte lijn.
A
Biografi¨ en
A.1
Biografie van Jay W. Forrester
Jay W. Forrester is geboren in Nebraska in 1918 en is opgegroeid op een veeboerderij zonder elektriciteitsvoorziening. Op de middelbare school is zijn interesse voor elektriciteit aan het licht gekomen. Hij heeft in die tijd zijn ouderlijke veeboerderij van elektriciteit voorzien door met onderdelen van afgedankte auto’s een door wind aangedreven elektrisch systeem te bouwen. Na de middelbare school is Jay Forrester naar de universiteit van Nebraska gegaan om vervolgens in 1939 af te studeren bij het MIT (Massachusetts Institute of Technology). Jay Forrester heeft een jaar lang als onderzoeksmedewerker in het High Voltage Laboratory van MIT gewerkt en is daarna overgeplaatst naar het Servomechanisms Laboratory om daar mee te helpen aan de ontwikkeling van elektrische en hydraulische servomechanismen – mechanismen die Figuur A.1: (op afstand) de besturing van een mechanisch apparaat verzorgen Jay W. Forrester door middel van terugkoppeling – voor onder andere radarinstallaties op schepen. In 1944 krijgt Jay Forrester de leiding over een door de marine gesubsidieerd project dat zich bezig houdt met de ontwikkeling van computers om nieuwe vliegtuigontwerpen te testen. Oorspronkelijk is de marine van plan om analoge computers te maken, maar nadat Jay Forrester de eerste volledig elektronische computer ENIAC (Electronic Numerical Integrator Analyzer and Computer ) ziet, weet hij de marine te overtuigen om over te stappen op digitale computers. Het project resulteert uiteindelijk in de Whirlwind I computers en in het luchtverdedigingssysteem SAGE (Semi Automatic Ground Environment) dat op deze computers is gebaseerd. Tijdens de ontwikkeling van de Whirlwind I computer ontwerpt Jay Forrester een revolutionaire nieuwe manier om geheugen op te slaan. Dit zogenaamde magnetic core memory is de voorloper van de huidige RAM computergeheugens. In 1956 wordt Jay Forrester professor aan de Sloan School of Management van MIT en geeft hij leiding aan de System Dynamics Group. Jay Forrester ontwikkelt in samenwerking met deze groep een methode om aan de hand van computersimulaties en dynamische modellen voorspellingen te doen over vraagstukken die de wereld bezighouden. Deze System Dynamics methode wordt onder andere gebruikt om voorspellingen te doen over sociale, economische, ecologische en bevolkingsvraagstukken. Jay Forrester is nog steeds verbonden aan de Sloan School of Management van MIT, maar nu als Germeshausen emeritus professor. 37
¨ BIJLAGE A. BIOGRAFIEN
A.2
38
Biografie van Robert R. Everett
Robert R. Everett is geboren in 1921. Hij heeft elektrotechniek gestudeerd aan de Duke University in Durham en is vervolgens in 1943 afgestudeerd bij het MIT (Massachusetts Institute of Technology) in het Servomechanisms Laboratory. Tijdens de Tweede Wereldoorlog gaat Robert Everett in het Servomechanisms Laboratory van MIT samenwerken met Jay W. Forrester aan de ontwikkeling van (uiteindelijk) elektronische digitale computers waarmee onder andere nieuwe vliegtuigontwerpen met behulp van simulaties getest kunnen worden. In 1951 verplaatst dit Whirlwind project zich naar het Digital Computer Laboratory van MIT met Robert Everett als projectmanager. Dit project resulteert in de eerste Whirlwind I computers en later ook in het luchtverde- Figuur A.2: digingssysteem SAGE (Semi Automatic Ground Environment) dat Robert R. Everett op deze computers is gebaseerd. In 1958 gaat Robert Everett werken bij MITRE (MIT Research and Engineering), een bedrijf dat technische serviceverlening biedt aan de federale overheid van Amerika bij het ontwerpen en implementeren van informatiesystemen. In 1959 wordt Robert Everett onderdirecteur van MITRE en van 1969 tot 1986 is hij directeur van dit bedrijf. In 1993 wordt Robert Everett benoemd tot erelid van de Raad van Bestuur van MITRE. Robert Everett is verbonden aan ondermeer IEEE (Institute of Electrical and Electronics Engineers), de National Academy of Engineering, de Association for Computing Machinery, en de American Association for the Advancement of Science. Daarnaast heeft Robert Everett zitting genomen in tal van andere raden, commissies en panels, waaronder van 1959 tot 1960 in het Air Defense Panel, van 1962 tot 1968 in de Air Force Systems Command Range Technical Advisory Group, van 1968 tot 1969 in het Department of Transportation Air Traffic Control Advisory Committee, het Defense Research and Engineering Systems Engineering Management Panel en wetenschappelijke taakgroep over Research and Development Management, van 1970 tot 1972 in adviescommissie van het Panel on Major Systems Acquisition of the Commission on Government Procurement, van 1971 tot 1972 in het National Aeronautics and Space Administration Tracking and Data Acquisition Advisory Panel en van 1987 tot 1993 in het Defense Science Board. Robert Everett heeft tal van technische publicaties in tijdschriften en verscheidene patenten op het gebied van computergeheugens en beeldschermen op zijn naam staan. Gedurende zijn loopbaan heeft Robert Everett een hele reeks prijzen in ontvangst mogen nemen, waaronder in 1978 de Duke University Distinguished Engineering Alumnus Award, in 1983 de Department of Defense Medal for Distinguished Public Service (de hoogste onderscheiding voor een Amerikaanse burger in vredestijd), in 1985 de eregraad Doctor of Engineering van de Northeastern University en de Armed Forces Communications and Electronics Association Gold Medal Award for Engineering, in 1989 de door president Bush uitgereikte National Medal of Technology voor zijn werk op het gebied van real-time computertechnologie en toepassingen (de hoogste onderscheiding in Amerika op dit gebied), in 1990 de Pioneer Award van de tot de IEEE behorende Aerospace Electronics Systems Society voor zijn bijdrage in de ontwikkeling
¨ BIJLAGE A. BIOGRAFIEN
39
van de Whirlwind computer, in 1992 de eregraad Doctor of Science van de Duke University en de Air Traffic Control Association’s George W. Kriske Memorial Award voor zijn bijdrage op gebied van luchtverkeerssystemen. Momenteel is Robert Everett wetenschappelijk hoofdmedewerker bij de Air Force Scientific Advisory Board en lid van het Ballistic Missile Defense Advisory Committee en het Federal Aviation Administration’s Research, Engineering and Development Committee.
Bibliografie [Augarten1985] Stan Augarten. BIT by BIT. George Allen & Unwin (Publishers) Ltd, 1985. [Edwards1996] Paul N. Edwards. The Closed World Computers and the Politics of Discourse in Cold War America. MIT Press, 1996. [Everett]
The MITRE Corporation. Mr. Robert R. Everett. http://www.mitre.org/ about/bot/everett.html.
[Everett1951] Robert R. Everett. The Whirlwind I Computer. Technical report, AIEE (now IEEE), December 1951. [Forrester] Jay Forrester. http://www.thocp.net/biographies/forrester_jay.html. [Mann1954] Robert R. Rathbone Margaret F. Mann and John B. Bennett. Whirlwind I Operation Logic. Technical report, Digital Computer Laboratory, Massachussets Institue of Technology, May 1954. [Redmond1980] Kent C. Redmond and Thomas M. Smith. Project Whirlwind : the history of a pioneer computer. Bedford : Digital Press, 1980. [Whirwind1955] The Whirlwind I computer. http://www.bitsavers.org/pdf/mit/ whirlwind/Whirlwind_I_descr_Apr1955.pdf, April 1955. [WikiCoreMem] the free encyclopedia Wikipedia. Magnetic Core Memory. http://en. wikipedia.org/wiki/Magnetic_core_memory. [WikiWhirlwind] the free encyclopedia Wikipedia. Whirlwind (computer). wikipedia.org/wiki/Whirlwind_%28computer%29.
40
http://en.