Datorhistoria

John von Neumanns arbete

John von Neumanns arbete

John von Neumann

John von Neumann föddes i Budapest den 28 december 1903 i en rik bankfamilj som hade höjts till den ungerska adeln. Från en tidig ålder visade han stort intellekt och märktes ett underbarn. Vid 6 års ålder kunde von Neumann prata forntida grekiska och dela ett par åtta siffror i hans huvud, och med 8 hade han lärt sig differentiell och integrerad beräkning. När von Neumann var 15, ordnade hans far att Gábor Szegő skulle fungera som hans privata matematiklärare. Vid sin första lektion fördes den berömda matematikern Szegő till tårar efter att ha sett den unga von Neumanns hastighet och förmåga. Förutom dessa otroliga bedrifter hade von Neumann ett fotografiskt minne och kunde recitera hela romaner ord för ord.

Von Neumann avslutade ett tvåårigt certifikat i kemi vid universitetet i Berlin och doktorsexamen i matematik vid Pázmány Péter University. Efter avslutad doktorsexamen gick von Neumann till universitetet i Göttingen för att studera under David Hilbert, en av en viktig matematiker vars arbete hjälpte till att utveckla datorn. Därefter gick von Neumann till Princeton University för att acceptera en livstidsbokning till Institute of Advanced Study. Hans kontor var flera dörrar från Albert Einsteins kontor, och Einstein klagade på att von Neumann spelade tysk marschmusik på hans kontofonograf för högt.

Medan han var i Princeton fördes von Neumann in för att arbeta på Manhattan-projektet. Han tog många resor till Los Alamos-laboratoriet för att övervaka utvecklingen av atomvapen, och han var avgörande i många steg av utformningen och konstruktionen av de två kärnvapen som släpptes på Japan. Han var ett ögonvittne till det första testet av en atombomb den 16 juli 1945 och han tjänstgjorde i kommittén som hade till uppgift att avgöra vilka två japanska städer som skulle vara mål för bomben. För sitt engagemang i Manhattan-projektet blev von Neumann kanske den största inspirationen för karaktären Dr. Strangelove i Stanley Kubricks homonyma film.

Dr. Konstig kärlek

Runt den tid då han arbetade med atombomben började von Neumann arbeta med idéer som skulle ligga till grund för datavetenskap. Von Neumann hade träffat Alan Turing år tidigare, och rapporter tyder på att von Neumann påverkades av Turings tidning "On Computable Numbers".”Visst, på grund av hans tidigare arbete med Hilbert, von Neumann var i en stor position för att erkänna betydelsen av Turing arbete.

1945, medan han var i slutskedet av sitt arbete med Manhattanprojektet, berättade von Neumann för vänner och kollegor att han funderade på ännu mer konsekvent arbete. Under ett tåg till Los Alamos skrev von Neumann ett dokument som heter "First Draft of a Report on the EDVAC". Detta dokument på 101 sidor innehåller designen av von Neumann-arkitekturen, som har varit det dominerande paradigmet inom datorarkitektur sedan introduktionen. Von Neumann-arkitekturen är vanligtvis förknippad med datorkonceptet för det lagrade programmet, men det innehåller också en 4-delad design som skiljer sig från andra lagrade programkoncept.

Viktigast är att von Neumann-arkitekturen är en lagrad programdator. Lagrade programdatorer använder en minnesenhet för att lagra både datorprogrammen och de data som datorprogrammen tar som inmatning. Den lagrade programdesignen är vanligtvis kontrasterad med Harvard-arkitekturen, som använder separata minnesenheter för att lagra datorprogrammet och programmets data.

Idén om en lagrad programarkitektur tystes tyst av Turings arbete med universella Turing-maskiner, eftersom dessa maskiner är teoretiska versioner av lagrade programdatorer. Men von Neumann insåg värdet av att uttryckligen konstruera den här egenskapen i datorer. De alternativa metoderna för programmering av datorer krävde manuell ledning eller omkoppling av datorns kretsar, en process som var så arbetskrävande att datorer ofta byggdes för en funktion och aldrig omprogrammerades. Med den nya designen blev datorerna omprogrammerbara och kunde implementera många olika program; åtkomstkontroller måste dock aktiveras för att förhindra att vissa typer av program, såsom virus, omprogrammerar viktig programvara som operativsystemet.

Den mest kända designbegränsningen i von Neumann-arkitekturen kallas "von Neumanns flaskhals". Von Neumann-flaskhalsen orsakas av den lagrade programarkitekturen, eftersom data och programmet delar samma buss till centralbehandlingsenheten. Överföringen av information från minne till CPU är vanligtvis mycket långsammare än den faktiska behandlingen i CPU: n. Von Neumann-designen ökar mängden informationsöverföring som krävs eftersom både datorprogrammet och programmets data måste överföras till CPU: n. En av de bästa metoderna för att förbättra detta problem har varit användningen av CPU-cachar. CPU-cachar fungerar som mellanhänder mellan huvudminnet och CPU: n. Dessa CPU-cachar ger små mängder snabbt åtkomstminne nära processorkärnan.

Von Neumann-arkitekturen består av fyra delar: styrenheten, bearbetningsenheten (inklusive aritmetik- och logikenheten (ALU)), minnesenheten och in- / utmatningsmekanismerna. Ingångs- / utgångsmekanismerna inkluderar standardenheter som är associerade med datorer, inklusive tangentbord som ingångar och skärmar som utgångar. Ingångsmekanismerna skriver till minnesenheten som lagrar datorprogrammen och programmets data. Styrenheten och behandlingsenheten innefattar den centrala processorn. Styrenheten styr central bearbetning enligt instruktionerna den får. Bearbetningsenheten innehåller en ALU som utför en grundläggande aritmetisk eller bitvis operation på en bitsträng. ALU kan utföra många olika funktioner; därför är det styrenhetens funktion att styra ALU så att den utför rätt funktion på rätt sträng.

Von Neumann-arkitekturen

Efter introduktionen blev von Neumann-arkitekturen den vanliga datorarkitekturen och Harvard-arkitekturen förflyttades till mikrokontroller och signalbehandling. Von Neumann-arkitekturen används fortfarande idag, men nyare och mer komplicerade mönster inspirerade av von Neumann-arkitekturen har förmörkat den ursprungliga arkitekturen när det gäller popularitet.

HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...
Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktional...
Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...