Det von Neumann-arkitektur Det er et teoretisk design, så en computer kan have et program gemt internt, der tjener som basis for næsten alle computere, der i øjeblikket er lavet.
En von Neumann-maskine består af en central behandlingsenhed, der inkluderer en aritmetisk logikkenhed og en styreenhed plus en hovedhukommelse, sekundær lagring og input / output-enheder..
Denne arkitektur antager, at hver beregning ekstraherer data fra hukommelsen, behandler dem og derefter sender dem tilbage til hukommelsen..
I en von Neumann-arkitektur bruges den samme hukommelse og den samme bus til at gemme både dataene og instruktionerne, der udfører et program.
Artikelindeks
Da data og programhukommelse ikke kan tilgås på samme tid, er von Neumann-arkitekturen tilbøjelig til flaskehalse og en svækkelse af computerens ydeevne. Dette er det, der er kendt som von Neumann-flaskehalsen, hvor magt, ydelse og omkostninger påvirkes..
En af de foretagne ændringer involverede genovervejelse af mængden af data, der rent faktisk skulle sendes til hukommelsen, og den mængde, der kunne lagres lokalt.
På denne måde kan flere cacher og proxy-cacher i stedet for at skulle sende alt til hukommelsen reducere strømmen af data fra processorchips til de forskellige enheder..
I 1945, efter 2. verdenskrig, rejste to forskere autonomt, hvordan man bygger en mere smidig computer. En af dem var matematikeren Alan Turing, og den anden var den lige så talentfulde videnskabsmand John Von Neumann.
Britiske Alan Turing havde været involveret i at knække Enigma-koden på Bletchley Park ved hjælp af 'Colossus' -computeren. På den anden side havde amerikaneren John Von Neumann arbejdet på Manhattan-projektet for at bygge den første atombombe, som krævede mange manuelle beregninger..
Indtil da blev krigstidens computere mere eller mindre "programmeret" ved at forbinde hele maskinen igen for at udføre en anden opgave. For eksempel tog den første computer ved navn ENIAC tre uger at oprette forbindelse igen for at foretage en anden beregning..
Det nye koncept bestod i, at ikke kun dataene i en hukommelse skulle lagres, men også programmet, der behandlede disse data, skulle lagres i den samme hukommelse.
Denne internt gemte programarkitektur er almindeligt kendt som 'Von Neumann' -arkitekturen..
Denne nye idé betød, at en computer med denne arkitektur ville være meget lettere at omprogrammere. Effektivt vil selve programmet blive behandlet det samme som dataene.
Hovedgrundlaget for Von Neumann-modellen er tanken om, at programmet opbevares internt i en maskine. Hukommelsesenheden indeholder dataene og også programkoden. Arkitekturdesignet består af:
Det er det digitale kredsløb, der er ansvarligt for at udføre instruktionerne i et program. Det kaldes også en processor. CPU'en indeholder ALU, styreenheden og et sæt registre.
Denne del af arkitekturen er kun involveret i at udføre aritmetiske og logiske operationer på dataene..
De sædvanlige beregninger for at tilføje, multiplicere, dividere og trække vil være tilgængelige, men datasammenligninger som 'større end', 'mindre end', 'lig med' vil også være tilgængelige.
Styrer betjeningen af computerens ALU-, hukommelses- og input- / outputenheder og instruerer dem i, hvordan de handler i henhold til instruktionerne til det program, du lige har læst fra hukommelsen.
Kontrolenheden styrer processen med at flytte data og programmer til og fra hukommelsen. Det vil også tage sig af udførelsen af programmets instruktioner, en ad gangen eller sekventielt. Dette inkluderer ideen om et register til at indeholde de mellemliggende værdier.
De er højhastighedslagringsområder på CPU'en. Alle data skal opbevares i et register, før de kan behandles.
Hukommelsesadresseregistret indeholder hukommelsesplaceringen af de data, der skal tilgås. Hukommelsesdataregistret indeholder de data, der overføres til hukommelsen.
Computeren har hukommelse, der kan indeholde data, samt det program, der behandler disse data. På moderne computere er denne hukommelse RAM eller hovedhukommelse. Denne hukommelse er hurtig og tilgængelig direkte af CPU'en.
RAM er opdelt i celler. Hver celle består af en adresse og dens indhold. Adressen identificerer entydigt hvert sted i hukommelsen.
Denne arkitektur gør det muligt at fange ideen om, at en person har brug for at interagere med maskinen gennem input-output-enheder.
Oplysninger skal flyde mellem de forskellige dele af computeren. I en computer med von Neumann-arkitekturen transmitteres information fra en enhed til en anden langs en bus, der forbinder alle CPU-enhederne til hovedhukommelsen..
Adressebussen bærer adresserne på data, men ikke data, mellem processoren og hukommelsen.
Databussen bærer data mellem processoren, hukommelsen og input-output-enheder.
Det relevante princip i von Neumann-arkitekturen er, at både data og instruktioner lagres i hukommelsen og behandles ens, hvilket betyder, at instruktioner og data er retningsbestemte..
Det fungerer ved hjælp af fire enkle trin: søg, afkode, udføre, gemme, kaldet "maskincyklus".
Instruktionerne hentes af CPU'en fra hukommelsen. CPU'en afkoder derefter og udfører disse instruktioner. Resultatet gemmes tilbage i hukommelsen, når instruktionens udførelsescyklus er afsluttet..
I dette trin fås instruktionerne fra RAM og placeres i cachen for at styreenheden skal få adgang til dem..
Kontrolenheden afkoder instruktionerne på en sådan måde, at den logiske aritmetiske enhed kan forstå dem og derefter sender dem til den logiske aritmetiske enhed.
Den aritmetiske logiske enhed udfører instruktionerne og sender resultatet tilbage til cachen.
Når programtælleren indikerer stop, downloades det endelige resultat til hovedhukommelsen.
Hvis en von Neumann-maskine ønsker at udføre en operation med data i hukommelsen, skal den overføres via bussen til CPU'en. Når du har udført beregningen, skal du flytte resultatet til hukommelsen gennem den samme bus.
Von Neumann-flaskehalsen opstår, når data, der indtastes eller fjernes fra hukommelsen, skal løbe, mens den aktuelle hukommelseshandling er afsluttet..
Det vil sige, at hvis processoren lige har afsluttet en beregning og er klar til at udføre den næste, skal den skrive den færdige beregning, som optager bussen, i hukommelsen, før den er i stand til at hente nye data fra hukommelsen, som også bruger den samme bus..
Denne flaskehals er blevet værre over tid, fordi mikroprocessorerne har øget deres hastighed, og på den anden side er hukommelsen ikke kommet så hurtigt.
- Kontrolenheden henter data og instruktioner på samme måde fra hukommelsen. Derfor er design og udvikling af styreenheden forenklet, fordi den er billigere og hurtigere..
- Data fra input / output-enheder og hovedhukommelse hentes på samme måde.
- Hukommelsesorganisation udføres af programmører, så fuld hukommelseskapacitet kan bruges.
- Administration af en enkelt hukommelsesblok er enklere og lettere at opnå.
- Microcontroller-chipdesignet er meget enklere, da der kun er adgang til en hukommelse. Det vigtigste ved mikrocontrolleren er adgang til RAM, og i von Neumann-arkitekturen kan dette bruges både til at gemme data og til at gemme programinstruktioner..
Den største fordel ved at have den samme hukommelse til 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 andet program, er intet andet end et operativsystem. Faktisk, hvis programmer og data ikke var tilladt i det samme hukommelsesrum, som det er tilfældet med von Neumann-arkitekturen, kunne operativsystemer aldrig have været udviklet.
Selvom fordelene langt opvejer ulemperne, er problemet, at der kun er en bus, der forbinder hukommelsen til processoren, så kun en instruktion eller et dataelement kan hentes ad gangen.
Dette betyder, at processoren muligvis skal vente længere på, at data eller instruktioner ankommer. Dette er kendt som von Neumann flaskehals. Da CPU'en er meget hurtigere end databussen, betyder det, at den ofte forbliver inaktiv.
- På grund af den sekventielle behandling af instruktionerne er den parallelle implementering af programmet ikke tilladt.
- Ved at dele hukommelse er der en risiko for, at en instruktion skrives over en anden på grund af en fejl i programmet, der får systemet til at gå ned..
- Nogle defekte programmer kan ikke frigøre hukommelse, når de er færdige med det, hvilket kan få computeren til at hænge på grund af utilstrækkelig hukommelse.
- Data og instruktioner deler den samme databus, selvom den hastighed, hvormed hver skal hentes, ofte er meget forskellig..
Endnu ingen kommentarer