- Arkitekturförbättring
- Ursprung
- Modell
- - Central Processing Unit (CPU)
- Logisk aritmetisk enhet
- Styrenhet
- Uppgifter
- - Minne
- - Ingångsutgång
- - Buss
- Hur fungerar von Neumann-arkitekturen?
- Söka efter
- Avkoda
- Springa
- Lagra
- Flaskhals
- Fördel
- Utveckling av operativsystem
- nackdelar
- referenser
Den von Neumann arkitektur är en teoretisk konstruktion så att en dator kan ha ett program lagras internt, som ligger till grund för nästan alla datorer som för närvarande görs.
En von Neumann-maskin består av en central behandlingsenhet, som inkluderar en aritmetisk logikenhet och en styrenhet, liksom ett huvudminne, sekundär lagring och ingångs- / utgångsenheter.
Källa: David strigoi - Eget arbete, Public Domain, commons.wikimedia.org
Denna arkitektur antar att varje beräkning extraherar data från minnet, bearbetar den och sedan skickar tillbaka dem till minnet.
I en von Neumann-arkitektur används samma minne och samma buss för att lagra både data och instruktioner som kör ett program.
Arkitekturförbättring
Eftersom data och programminne inte kan nås samtidigt, är von Neumann-arkitekturen benägen för flaskhalsar och försvagar datorns prestanda. Detta är vad som kallas von Neumann-flaskhalsen, där kraft, prestanda och kostnader påverkas.
En av förändringarna gjorde att man tänkte om hur mycket data som faktiskt behövde skickas till minnet och hur mycket som kunde lagras lokalt.
På detta sätt, i stället för att behöva skicka allt till minnet, kan flera cachar och proxy-cachar minska flödet av data från processorchips till olika enheter.
Ursprung
1945, efter andra världskriget, tog två forskare oberoende upp hur man skulle bygga en mer formbar dator. En av dem var matematikern Alan Turing och den andra var den lika begåvade forskaren John Von Neumann.
Brittiska Alan Turing hade varit inblandad i att knäcka Enigma-koden i Bletchley Park med hjälp av "Colossus" -datorn. Å andra sidan hade amerikanen John Von Neumann arbetat med Manhattan-projektet för att bygga den första atombomben, vilket krävde en hel del manuella beräkningar.
Fram till dess programmerades krigsdatorer mer eller mindre genom att ansluta hela maskinen igen för att utföra en annan uppgift. Till exempel tog den första datorn som heter ENIAC tre veckor att ansluta igen för att göra en annan beräkning.
Det nya konceptet bestod i att i ett minne inte bara data måste lagras utan också programmet som bearbetade data skulle lagras i samma minne.
Denna internt lagrade programarkitektur är vanligtvis känd som 'Von Neumann' -arkitekturen.
Denna nya idé innebar att en dator med denna arkitektur skulle vara mycket lättare att omprogrammera. Programmet skulle i själva verket behandlas på samma sätt som uppgifterna.
Modell
Huvudfundamentet för Von Neumann-modellen är tanken på att programmet lagras internt i en maskin. Minnesenheten innehåller data och även programkoden. Arkitekturdesignen består av:
Källa: Från UserJaimeGallego - Den här filen är härledd från Von Neumann Architecture.svg, CC BY-SA 3.0, commons.wikimedia.org
- Central Processing Unit (CPU)
Det är den digitala kretsen som ansvarar för att utföra instruktionerna i ett program. Det kallas också en processor. CPU innehåller ALU, styrenheten och en uppsättning register.
Logisk aritmetisk enhet
Denna del av arkitekturen är bara involverad i att utföra aritmetiska och logiska operationer på data.
De vanliga beräkningarna för att lägga till, multiplicera, dela och subtrahera kommer att finnas tillgängliga, men datatjämförelser som 'större än', 'mindre än', 'lika med' kommer också att finnas tillgängliga.
Styrenhet
Den styr driften av datorns ALU-, minne- och ingångs- / utgångsenheter och instruerar dem hur de ska agera enligt instruktionerna i programmet du just har läst från minnet.
Kontrollenheten kommer att hantera processen för att flytta data och program till och från minnet. Den kommer också att ta hand om programmets instruktioner, en åt gången eller i följd. Detta inkluderar idén om ett register för att hålla mellanvärdena.
Uppgifter
Det är höghastighetslagringsområden på CPU. All information måste lagras i ett register innan den kan behandlas.
Minnesadressregistret innehåller minnesplatsen för de data som ska åtkomst. Minnesdataregistret innehåller data som överförs till minnet.
- Minne
Datorn har minne som kan innehålla data, såväl som det program som bearbetar dessa data. I moderna datorer är detta minne RAM eller huvudminne. Detta minne är snabbt och tillgängligt direkt av CPU.
RAM delas in i celler. Varje cell består av en adress och dess innehåll. Adressen kommer att identifiera varje plats i minnet på ett unikt sätt.
- Ingångsutgång
Denna arkitektur gör det möjligt att fånga idén som en person behöver för att interagera med maskinen, via input-output-enheterna.
- Buss
Information måste flyta mellan olika delar av datorn. I en dator med von Neumann-arkitekturen överförs information från en enhet till en annan längs en buss som förbinder alla CPU-enheter till huvudminnet.
Adressbussen bär adresserna för data, men inte data, mellan processorn och minnet.
Databussen bär data mellan processor-, minnes- och ingångsutmatningsenheter.
Hur fungerar von Neumann-arkitekturen?
Den relevanta principen i von Neumann-arkitekturen är att både data och instruktioner lagras i minnet och behandlas på samma sätt, vilket betyder att instruktioner och data är riktade.
Det fungerar med fyra enkla steg: hitta, avkoda, köra, lagra, kallad "maskincykel."
Instruktionerna erhålls av CPU från minnet. CPU avkodar sedan och kör dessa instruktioner. Resultatet lagras i minnet efter att instruktionens körningscykel har slutförts.
Söka efter
I detta steg erhålls instruktionerna från RAM och cache-lagras för åtkomst av styrenheten.
Avkoda
Styrenheten avkodar instruktionerna på ett sådant sätt att den logiska aritmetiska enheten kan förstå dem och skickar dem sedan till den logiska aritmetiska enheten.
Springa
Den aritmetiska logiska enheten utför instruktionerna och skickar resultatet tillbaka till cachen.
Lagra
När programräknaren indikerar stopp, laddas slutresultatet till huvudminnet.
Flaskhals
Om en Von Neumann-maskin vill utföra en operation med data i minnet måste den överföras via bussen till CPU. Efter beräkningen måste resultatet flyttas till minnet via samma buss.
Flaskhalsen Von Neumann uppstår när data som matas in eller tas bort från minnet måste hålla kvar medan den aktuella minnesoperationen är klar.
Det vill säga, om processorn just har slutfört en beräkning och är redo att utföra nästa, måste den skriva den färdiga beräkningen, som upptar bussen, i minnet innan den kan hämta nya data från minnet, som också använder samma buss.
Denna flaskhals har förvärrats med tiden, eftersom mikroprocessorerna har ökat hastigheten och å andra sidan har minnet inte avancerat så snabbt.
Fördel
- Styrenheten hämtar data och instruktioner på samma sätt från minnet. Därför förenklar designen och utvecklingen av styrenheten, eftersom den är billigare och snabbare.
- Data från ingångs- / utgångsenheter och huvudminne hämtas på samma sätt.
- Organiseringen av minnet utförs av programmerarna, som gör det möjligt att använda all minneskapacitet.
- Att hantera ett enda minnesblock är enklare och lättare att uppnå.
- Utformningen av mikrokontrollchipet är mycket enklare eftersom bara ett minne kommer åt. Det viktigaste med mikrokontrollern är åtkomst till RAM och i von Neumann-arkitekturen kan detta användas både för att lagra data och för att lagra programinstruktioner.
Utveckling av operativsystem
Den största fördelen med att ha samma minne för program och data är att program kan behandlas som om de var data. Med andra ord kan du skriva program vars data är andra program.
Ett program vars data är ett annat program är inget annat än ett operativsystem. Om program och data inte tilläts i samma minnesutrymme, som är fallet med von Neumann-arkitekturen, kunde operativsystem aldrig ha utvecklats.
nackdelar
Även om fördelarna långt uppväger nackdelarna är problemet att det bara finns en buss som ansluter minnet till processorn, så att endast en instruktion eller ett dataelement kan hämtas åt gången.
Detta innebär att processorn kan behöva vänta längre på att data eller instruktioner kommer fram. Detta kallas von Neumann-flaskhalsen. Eftersom CPU är mycket snabbare än databussen, betyder det att den ofta är inaktiv.
- På grund av sekventiell behandling av instruktionerna är det inte tillåtet att implementera programmet parallellt.
- Genom att dela minne finns det en risk att en instruktion skrivs över en annan på grund av ett fel i programmet, vilket orsakar att systemet kraschar.
- Vissa defekta program kan inte frigöra minne när de är klara med det, vilket kan leda till att datorn fryser på grund av otillräckligt minne.
- Data och instruktioner delar samma databuss, även om hastigheten med vilken man måste hämta vanligtvis är väldigt olika.
referenser
- Semiconductor Engineering (2019). Von Neumann Arkitektur. Hämtad från: semiengineering.com
- Scott Thornton (2018). Vad är skillnaden mellan Von-Neumann och Harvard-arkitekturer? Tips för mikrokontroller. Hämtad från: microcontrollertips.com.
- Lär IKT (2019). Von Neumann-maskinen. Hämtad från: teach-ict.com.
- Datavetenskap (2019). Von Neumann Arkitektur. Hämtad från: computerscience.gcse.guru.
- Lär dig IT med Mr C (2019). Von Neumann-maskinen. Hämtad från: learningitwithmrc.co.uk.
- Solid State Media (2017). Hur fungerar datorer? Von Neumann-arkitekturen. Hämtad från: solidstateblog.com.