De von Neumann-arkitektur Det er en teoretisk utforming slik at en datamaskin kan ha et program lagret internt, og tjener som grunnlag for nesten alle datamaskiner som er laget for øyeblikket..
En von Neumann-maskin består av en sentral prosesseringsenhet, som inkluderer en aritmetisk logikkenhet og en kontrollenhet, pluss et hovedminne, sekundær lagring og inn / ut-enheter..
Denne arkitekturen forutsetter at hver beregning trekker ut data fra minnet, behandler det og deretter sender dem tilbake til minnet..
I en von Neumann-arkitektur brukes det samme minnet og den samme bussen til å lagre både dataene og instruksjonene som utfører et program.
Artikkelindeks
Fordi data og programminne ikke er tilgjengelig samtidig, er von Neumann-arkitekturen utsatt for flaskehalser og svekkelse av datamaskinens ytelse. Dette er det som kalles von Neumann-flaskehalsen, hvor kraft, ytelse og kostnader påvirkes..
En av endringene som ble gjort, innebar å revurdere mengden data som faktisk måtte sendes til minnet og mengden som kunne lagres lokalt.
På denne måten, i stedet for å måtte sende alt til minnet, kan flere cacher og proxy-cacher redusere datastrømmen fra prosessorbrikkene til de forskjellige enhetene..
I 1945, etter andre verdenskrig, reiste to forskere autonomt hvordan man skulle bygge en mer smidig datamaskin. En av dem var matematikeren Alan Turing og den andre var den like talentfulle forskeren John Von Neumann.
Britiske Alan Turing hadde vært involvert i å knekke Enigma-koden på Bletchley Park, ved hjelp av 'Colossus' datamaskinen. På den annen side hadde amerikaneren John Von Neumann jobbet med Manhattan-prosjektet for å bygge den første atombomben, som krevde mange manuelle beregninger..
Inntil da ble krigstidens datamaskiner mer eller mindre "programmert" ved å koble til hele maskinen på nytt for å utføre en annen oppgave. For eksempel tok den første datamaskinen ENIAC tre uker å koble til igjen for å gjøre en annen beregning..
Det nye konseptet besto i at ikke bare dataene måtte lagres i et minne, men også programmet som behandlet disse dataene skulle lagres i samme minne.
Denne internt lagrede programarkitekturen er ofte kjent som 'Von Neumann' -arkitekturen..
Denne nye ideen betydde at en datamaskin med denne arkitekturen ville være mye lettere å omprogrammere. Effektivt vil selve programmet bli behandlet det samme som dataene.
Hovedgrunnlaget for Von Neumann-modellen er tanken om at programmet lagres internt i en maskin. Minneenheten inneholder dataene og også programkoden. Arkitekturdesignet består av:
Det er den digitale kretsen som er ansvarlig for å utføre instruksjonene til et program. Det kalles også prosessor. CPU-en inneholder ALU, kontrollenheten og et sett med registre.
Denne delen av arkitekturen er bare involvert i å utføre aritmetiske og logiske operasjoner på dataene..
De vanlige beregningene for å legge til, multiplisere, dele og trekke fra vil være tilgjengelige, men datasammenligninger som 'større enn', 'mindre enn', 'lik' vil også være tilgjengelig.
Kontrollerer driften av datamaskinens ALU-, minne- og inngangs- / utdataenheter, og instruerer dem hvordan de skal følge instruksjonene til programmet du nettopp har lest fra minnet.
Kontrollenheten vil styre prosessen med å flytte data og programmer til og fra minnet. Det vil også ta seg av å utføre programinstruksjonene, en om gangen eller sekvensielt. Dette inkluderer ideen om et register for å holde mellomverdiene.
De er høyhastighets lagringsområder på CPUen. Alle data må lagres i et register før de kan behandles.
Minneadresseregisteret inneholder minneplasseringen til dataene som skal åpnes. Minnedataregisteret inneholder dataene som overføres til minnet.
Datamaskinen vil ha minne som kan inneholde data, samt programmet som behandler dataene. I moderne datamaskiner er dette minnet RAM eller hovedminne. Dette minnet er raskt og tilgjengelig direkte av CPUen.
RAM er delt inn i celler. Hver celle består av en adresse og dens innhold. Adressen vil identifisere hvert sted i minnet unikt.
Denne arkitekturen gjør det mulig å fange ideen om at en person trenger å samhandle med maskinen, gjennom inngangsutgangsenhetene.
Informasjon må strømme mellom de forskjellige delene av datamaskinen. I en datamaskin med von Neumann-arkitekturen overføres informasjon fra en enhet til en annen langs en buss, som kobler alle CPU-enhetene til hovedminnet..
Adressebussen bærer adressene til data, men ikke data, mellom prosessoren og minnet.
Databussen bærer data mellom prosessoren, minnet og inngangsutgangsenhetene.
Det relevante prinsippet for von Neumann-arkitekturen er at både data og instruksjoner lagres i minnet og behandles likt, noe som betyr at instruksjoner og data er retningsbestemte..
Det fungerer ved hjelp av fire enkle trinn: søk, dekode, kjør, lagre, kalt "Maskinsyklus".
Instruksjonene hentes av CPUen fra minnet. CPUen dekoder deretter og utfører disse instruksjonene. Resultatet lagres tilbake i minnet etter at instruksjonene er utført..
I dette trinnet blir instruksjonene hentet fra RAM og plassert i cachen for at kontrollenheten skal få tilgang til dem..
Kontrollenheten dekoder instruksjonene på en slik måte at den logiske aritmetiske enheten kan forstå dem, og deretter sender dem til den logiske aritmetiske enheten.
Den aritmetiske logiske enheten utfører instruksjonene og sender resultatet tilbake til hurtigbufferen.
Når programtelleren indikerer stopp, blir det endelige resultatet lastet ned til hovedminnet.
Hvis en von Neumann-maskin ønsker å utføre en operasjon med data i minnet, må den overføres via bussen til CPUen. Etter at du har utført beregningen, må du flytte resultatet til minnet gjennom den samme bussen.
Von Neumann-flaskehalsen oppstår når data som legges inn eller fjernes fra minnet må gå mens den gjeldende minnedriften er fullført..
Det vil si at hvis prosessoren nettopp har fullført en beregning og er klar til å utføre den neste, må den skrive den ferdige beregningen, som opptar bussen, i minnet før den kan hente nye data fra minnet, som også bruker det samme buss..
Denne flaskehalsen har blitt verre over tid, fordi mikroprosessorene har økt hastigheten, og på den annen side har ikke minnet gått så raskt.
- Kontrollenheten henter data og instruksjoner på samme måte fra minnet. Derfor er design og utvikling av kontrollenheten forenklet, den er billigere og raskere..
- Data fra inngangs- / utdataenheter og hovedminne hentes på samme måte.
- Minneorganisering gjøres av programmerere, slik at full minnekapasitet kan brukes.
- Det er enklere og lettere å oppnå en enkelt minneblokk.
- Mikrokontroller-brikkedesignen er mye enklere, da bare ett minne vil være tilgjengelig. Det viktigste med mikrokontrolleren er tilgang til RAM og i von Neumann-arkitekturen kan denne brukes både til å lagre data og til å lagre programinstruksjoner..
Den største fordelen med å ha samme minne for programmer og data er at programmer kan behandles som om de var data. Med andre ord kan du skrive programmer hvis data er andre programmer.
Et program hvis data er et annet program er ikke annet enn et operativsystem. Faktisk, hvis programmer og data ikke ble tillatt i samme minne, som det er tilfellet med von Neumann-arkitekturen, kunne operativsystemene aldri ha blitt utviklet.
Selv om fordelene langt oppveier ulempene, er problemet at det bare er en buss som kobler minnet til prosessoren, så bare en instruksjon eller ett dataelement kan hentes om gangen.
Dette betyr at prosessoren kanskje må vente lenger på data eller instruksjoner. Dette er kjent som flaskehalsen von Neumann. Siden CPU er mye raskere enn databussen, betyr dette at den ofte forblir inaktiv.
- På grunn av den sekvensielle behandlingen av instruksjonene, er ikke parallell implementering av programmet tillatt.
- Ved å dele minne er det en risiko for at en instruksjon blir skrevet over en annen på grunn av en feil i programmet, som får systemet til å krasje..
- Noen defekte programmer klarer ikke å frigjøre minne når de er ferdige med det, noe som kan føre til at datamaskinen henger på grunn av utilstrekkelig minne..
- Data og instruksjoner deler den samme databussen, selv om hastigheten som hver må hentes ofte er veldig forskjellig..
Ingen har kommentert denne artikkelen ennå.