Von Neumanns arkitektur: historiens ursprungsbeteckning
Arkitekturen hos von Neumann-maskinen, också kändsom en von Neumann-modell, eller Princeton-arkitekturen, bygger på en teknik som beskrivs 1945 av matematiker och fysiker John von Neumann som en del av rapporten "Första projektet" på EDVAC-datorn.
Arkitektur skiss
Von Neumann-rapporten beskrev ett arkitekturschema för en elektronisk digital dator med delar som består av bearbetningsenheter som innehåller:
- aritmetisk logisk enhet;
- processorregistren;
- en styrenhet som innehåller ett kommandoregister och en kommandotäknare;
- en lagringsenhet för lagring av data;
- extern lagringsenhet;
- inmatnings- och utgångsmekanismer.
Betydelsen av utvecklingen var att någonInformationen som lagras på datorn kan användas av programmet där de valda operationsdata inte kan spelas upp samtidigt, eftersom de delar den gemensamma bussen. Detta nämns i "Första Projektet", som beskriver forskarens tankar om vilken arkitektur som ska vara. Von Neumann kallade denna situation en "flaskhals", som ofta begränsar systemets prestanda.
Principer von von Neumann arkitektur
En digital dator är en dator som lagrar ett program,som innehåller programinstruktioner, data för läsning, skrivning, och innehåller även RAM (random access memory). Principerna för John von Neumanns arkitektur framgår också av hans arbete The First Project. Enligt honom var datorer med ett program lagrat i minnet en förbättring jämfört med hanteringen av datorer, som ENIAC. Den senare var programmerad genom att ställa in omkopplare och infoga en lapp som leder till dataredningar och styrsignaler mellan de olika funktionsblocken. I de allra flesta moderna datorer används minnet också på ett liknande sätt. Samtidigt skiljer sig arkitekturen från von Neumanns dator till exempel från Harvard, eftersom den inte använder huvud-, men cacheminnet.
förhistoria
De första datorerna hade förutbestämdafasta program. Vissa väldigt enkla datorer använder fortfarande denna design antingen för enkelhet eller för utbildningsändamål. En skrivbordsräknare är till exempel en dator med ett fast program. Det kan fungera med grunderna i matematik, men det kan inte användas som en ordbehandlare eller spelkonsol. Om du ändrar maskinens fasta program krävs ominstallation, omstrukturering eller omorganisation av maskinen. De tidigaste datorerna var inte så snävt fokuserade, eftersom de utvecklades för första gången och för vetenskapliga ändamål. Omprogrammering verkade långt senare och det var en mödosam process, eftersom blockdiagram och sedlar och slutar detaljerade mönster. Särskilt svårt var processen med fysisk modernisering av kanalerna för återvinning av maskinen. Det kan ta tre veckor att installera programmet på ENIAC och försöka få det att fungera.
En ny idé
Med erbjudandet om dator lagring av program iminne, allt har förändrats. Förvaras i minnet, de är en design med en uppsättning instruktioner. Så kan maskinen omedelbart få en uppsättning kommandon för att utföra beräkningar.
Utformningen av sådana program refererar tillsjälvmodifierande koder. En av de första installationerna för ett sådant objekt var behovet av en algoritm för att öka eller på annat sätt ändra adressdelen av kommandona. Det gjordes manuellt i tidiga mönster. Detta blev mindre viktigt när indexregister och indirekt adressering blev de vanliga egenskaperna som datorns arkitektur på John von Neumanns dator har. En annan användning är att infoga ofta använda data i grupptråden med en omedelbar lösning. Men självmodifierande kod har varit starkt kritiserad, eftersom det vanligtvis är svårt att förstå och felsöka. Dessutom var det också ineffektivt när det gällde uppspelnings- och cachningssystem för moderna processorer.
I stort sett förmågan att relatera tillinstruktioner om hur data - det är vad som gör montörer, kompilatorer, montörer, lastmaskiner och andra instrument med eventuella föremål automatiserad programmering. Så att säga, skriv program som skriver program. I mindre skala, återkommande intensiva in- och utgångsoperationer, såsom BitBlt-bildmanipulationer primitiva eller pixel och vertex shaders i moderna 3D-grafik, har har visat sig vara ineffektivt att köra utan användarutrustning.
Utveckling av begreppet ett program lagrat i minnet
Matematiker Alan Turing, som var intresseradtill problemet med matematisk logik efter föreläsningen av Max Newman vid University of Cambridge, skrev en artikel 1936, den publicerades i utgåvan av London Mathematical Society. I det beskrev han en hypotetisk maskin, som han kallade en "universell datormaskin", och som nu är känd som en universell Turing-maskin. Den hade ett oändligt lagerhus (i modern terminologi - minne), som innehöll både instruktioner och data, för vilka den givna arkitekturen skapades. Von Neumann träffade Turing vid den tidpunkt då han var gästprofessor i Cambridge 1935, och även under försvaret av hans doktorsavhandling Turing vid Institutet för avancerad studie i Princeton (NJ) 1936-1937.
Oavsett varandra, Ji Presper Eckert ochJohn Mauchly, som utvecklade ENIAC vid School of Electrical Engineering vid University of Pennsylvania, skrev om begreppet en maskin som lagrade programmet i minnet i december 1943. Vid planeringen av en ny maskin skrev EDVAC, Eckert i januari 1944 att hon skulle lagra data och program i en ny enhet med minnesadressering genom att fördröja metallisk kvicksilver. Det var första gången att konstruktionen av en maskin som lagrade ett program i minnet föreslogs. Samtidigt var han och Mauchly inte medvetna om Turings arbete (foto nedan).
Datorarkitektur: von Neumann-principen
Von Neumann var inblandad i Manhattan Project iNationella laboratoriet i Los Alamos, vilket krävde en stor mängd beräkningar. Detta lockade honom till ENIAC-projektet sommaren 1944. Där gick han med i diskussioner om utvecklingen av EDVAC-datorn. Inom ramen för denna grupp skrev han en tidning med titeln "Den första utkastet till rapport om EDVAC", baserat på Eckert och Mauchlys arbete. Det var ofullständigt när hans kollega Goldstein cirkulerade ett projekt med namnet von Neumann (förresten blev Eckert och Mauchly dumbfounded av sådana nyheter). Detta dokument läses av dussintals von Neumann-kollegor i Amerika och Europa och hade stor inverkan på nästa steg i datorutveckling.
Grundprinciperna för von Neumann-arkitekturen,beskrivet i "Första Projektet", fick stor popularitet, medan Turing täckte sin rapport på den elektroniska kalkylatorn, vilken beskrivs i detalj i teknik och programmering. Den innehöll författarens presentation av maskinen, som kallades den automatiska datormotorn (ACE). Han presenterade det för den brittiska nationella fysiska laboratoriums verkställande kommitté 1946. Efter ett tag gjordes även olika framgångsrika implementeringar av ACE-designen.
Början av projektets genomförande
Både von Neumann-utkastet och Turing-dokumentenbeskrivna datorer som lagrar ett visst program i minnet, men von Neumanns artikel nått större cirkulation i samhället, och datarkarkitektur blev känd som John von Neumanns arkitektur.
1945, professor Neumann, vem dåarbetat på en teknisk skola i Philadelphia, där den första ENIAC byggdes, släppte på uppdrag av en grupp av sina kollegor en rapport om den logiska designen av digitala datorer. Rapporten innehåller ett ganska detaljerat förslag till maskinens konstruktion, som sedan dess blivit känd som EDVAC. Det var först nyligen etablerat i Amerika, men rapporten inspirerade von Neumann att skapa EDSAC.
Maniacs och Joniacs
1947 Burks, Goldstein och von NeumannVi publicerade en annan rapport som omfattade byggandet av en annan typ av bil (denna gång parallell), som var tänkt att vara extremt snabb, kan kanske för att bära upp till 20.000 operationer per sekund. De noterade att ett oupplöst problem med att konstruera det var utvecklingen av lämpligt minne, vars innehåll borde vara omedelbart tillgängligt. Först föreslog de att man använde ett speciellt vakuumrör som heter Selectron, som uppfanns på Princeton Laboratory. Sådana rör var dyra och gjorde dem väldigt svåra, speciellt om denna arkitektur användes. Von Neumann bestämde sig därefter för att bygga en maskin baserad på Williams minnes minne. Denna maskin, som slutfördes i juni 1952 i Princeton, blev allmänt känd MANIAC (eller helt enkelt Maniacs). Dess design inspirerade skaparna att designa ett halvt dussin eller mer liknande enheter som nu byggs i Amerika och kallas comically Johniacs.
Skapelsens principer
En av de modernaste digitala datorerna,förkroppsligar utveckling och förbättring av tekniken med automatisk elektronisk beräkning har det visats vid National Physical Laboratory i Teddington, där den är konstruerad och byggd av en liten grupp av matematiker, ingenjörer och forskningsingenjörer, med hjälp av ett antal produktionsingenjörer från den engelska Electric Company Ltd. Utrustningen är fortfarande i laboratoriet, men bara som en prototyp av en mycket större anläggning, som är känd som den automatiska Computing Engine. Men trots den relativt liten vikt och innehåll av endast 800 Elektronrör ventiler, är det en extremt snabb och mångsidig räknar maskin.
Grundläggande begrepp och abstrakta beräkningsprinciper medMaskinerna formulerades av Dr. Turing på grundval av samma London Mathematical Society tillbaka 1936, men arbetet med sådana maskiner i Storbritannien försenades av kriget. År 1945 fortsatte behandlingen av problemen med att skapa sådana anordningar i National Physical Laboratory av Dr. Vormsley, superintendent för laboratoriet vid matematiska institutionen. Han gick med i Turing med sin lilla personal av specialister, och vid 1947 var den preliminära planeringen tillräckligt avancerad för att motivera skapandet av en särskild grupp.
De första datorerna på von Neumann-arkitekturen
Det första projektet beskriver ett system som många universitet och företag har använt för att bygga sina datorer. Bland dem hade endast ILLIAC och ORDVAC kompatibla instruktionsuppsättningar.
Den klassiska von Neumann-arkitekturen varär belägen i Manchester Small Experimental Machine (SSEM), smeknamnet Baby från University of Manchester, som gjorde sin första framgångsrika lansering som en enhet som lagrade programmet i minnet den 21 juni 1948.
EDSAC från Cambridge University, den första praktiska elektroniska datorn av denna typ, lanserades för första gången framgångsrikt i maj 1949.
Utveckling av skapade modeller
IBM SSEC kunde övervägainstruktioner som data och publicerades offentligt den 27 januari 1948. Denna förmåga godkändes i USA-patentet. Det var emellertid delvis en elektromekanisk maskin, och inte helt elektronisk. I praktiken läser instruktionerna från pappersbandet på grund av det begränsade minnet.
Baby var den första helt elektroniska datornför att starta lagrade program. Han sprang factoringprogrammet i 52 minuter den 21 juni 1948 efter att ha startat en enkel beräkning av division och beräkning, vilket visar att två siffror är relativt primära.
ENIAC har ändrats för att fungera som enprimitiv dator för skrivskyddad, men på samma arkitektur och har visat September 16, 1948, och lanseringen av Adele Goldstein som anordnas med hjälp av von Neumann.
BINAC genomförde flera testprogram iFebruari, Mars och April 1949, även om det inte slutfördes till september 1949. Dessutom fanns det testlanseringar (några framgångsrika) av andra elektroniska datorer för vilka denna arkitektur är inneboende. Von Neumann fortsatte förresten att arbeta på Manhattan-projektet. Det här är en sådan universell person.
Utveckling av bussarchitecturesystemet
Under årtiondena, redan på 60- och 70-talen,datorer i allmänhet blev mindre och snabbare, vilket ledde till en del av den utveckling som datorarkitekturen under von Neumann genomgick. Exempelvis kan displayen i ingångs- och utgångsminnet låta motsvarande enheter, data och instruktioner för integration i systemet som ska bearbetas förbli i minnet. Ett bussystem kan användas för att ge ett modulärt system med färre. Detta kallas ibland för "rationalisering" av arkitekturen. I efterföljande årtionden använder enkla mikrokontrollanter ibland inte några funktioner i en typisk modell för att minska kostnader och storlek. Men stora datorer följer den etablerade arkitekturen, eftersom de lagt till funktioner för att förbättra prestanda.