GCSE Von Neumann-arkitektur (14-16 år)

  • En redigerbar PowerPoint-lektionspresentation
  • Redigerbara repetitionshandouts
  • En ordlista som täcker de viktigaste terminologierna i modulen
  • Topic mindmaps för att visualisera nyckelbegreppen
  • Utskrivbara flashcards för att hjälpa eleverna att aktivt minnas och känna sig säkra.upprepning
  • En frågesport med tillhörande svarsnyckel för att testa kunskap och förståelse av modulen

A-Level Contemporary processors (16-18 years)

  • En redigerbar PowerPoint-lektionspresentation
  • Redigerbara repetitionshandouts
  • En ordlista som täcker de viktigaste terminologierna i modulen
  • Topic mindmaps för att visualisera nyckelbegreppen
  • Utskrivbara flashcards för att hjälpa eleverna att aktivt minnas och ha självförtroende-baserad repetition
  • En frågesport med tillhörande svarsnyckel för att testa kunskap och förståelse av modulen

Termen Datorarkitekturer hänvisar till en uppsättning regler som anger hur datormjukvara och hårdvara kombineras tillsammans och hur de interagerar för att göra en dator funktionell, Vidare anger datorarkitekturen också vilken teknik datorn kan hantera.

Datorarkitektur är en specifikation, som beskriver hur mjukvara och hårdvara samverkar för att åstadkomma en fungerande plattform.

När en person tänker på ordet ”arkitektur” kommer den mänskliga hjärnan troligen att tänka på monteringen av byggnader eller hus, dessutom, med samma princip i åtanke, innebär datorarkitektur konstruktionen av ett datorsystem internt och externt.

Det finns tre huvudkategorier inom datorarkitektur:

  • Systemkonstruktion:
    • Systemkonstruktionen är hårdvarudelarna, vilket inkluderar multiprocessorer, minneskontroller, CPU, dataprocessorer och direkt minnesåtkomst. Systemkonstruktionen kan anses vara det faktiska datorsystemet.
  • Instruktionssatsarkitektur:
    • Detta kretsar kring processorn. Den omfattar CPU:ns kapacitet och funktioner, dessutom omfattar den också CPU:ns dataformat, programmeringsspråk och processorregistertyper och instruktioner, som används av datorprogrammerare.
    • CUP:n är den del i en dator som får ett program att köras, oavsett om det var operativsystemet eller ett program som Photoshop.
  • Mikroarkitektur:
    • Mikroarkitekturen i ett system definierar lagringselement/datavägar och hur de ska implementeras i instruktionsuppsättningsarkitekturen, mikroarkitekturen ansvarar också för databehandlingen.

Alla dessa kommer att samverka i en viss ordning för att systemet ska fungera.

Vad är von Neumann-arkitekturen?

1945 hade John von Neumann, som då var matematiker, fördjupat sig i studien att en dator skulle kunna ha en fast enkel struktur och ändå kunna utföra alla typer av beräkningar utan att modifiera hårdvaran. Detta under förutsättning att datorn är korrekt programmerad med korrekta instruktioner som den kan utföra.

Von Neumanns främsta framsteg kallades ”conditional control transfer”, vilket gjorde det möjligt att avbryta en programsekvens och sedan återuppta den vid vilken tidpunkt som helst, och dessutom gjorde detta framsteg det möjligt att lagra data tillsammans med instruktioner i samma minnesenhet.

Detta var fördelaktigt, eftersom om man ville ha instruktioner, så kunde man modifiera dem aritmetiskt på samma sätt som datan.

Von Neumann-arkitekturen beskriver en konstruktionsmodell för en digital dator med lagrade program som innehåller endast en enda bearbetningsenhet och en enda separat lagringsstruktur, som kommer att innehålla både instruktioner och data.

Von Neumann-arkitekturen avser en arkitektur som håller såväl data som de programmerade instruktionerna i skriv- och läsbara RAM-minnen (Random Access Memory).

Kännetecken för von Neumann-arkitekturen

Som nämnts ovan bygger von Neumann-arkitekturen på det faktum att programdata och instruktionsdata lagras i samma minnesenhet. Detta kan också kallas ”konceptet med lagrade program”.

Denna konstruktion används fortfarande i de datorer som tillverkas nuförtiden:

Von-Neumann vs Harvard-arkitektur Bild 1

Centralprocessor (CPU):

  • CPU:n är en elektronisk krets, som utför instruktionerna i datorprogrammet.
  • CPU:n kan också kallas mikroprocessor eller processor.

I CPU:n finns en ALU, CU och register, som beskrivs närmare nedan:

Control Unit:

  • Kontrollerar ALU:ns, minnets och in- och utmatningsenhetens funktion och instruerar dem hur de ska reagera på instruktionerna från det program som den just hade läst och tolkat från minnesenheten. Kontrollenheten styr processorns verksamhet genom att utföra följande uppgifter:
    • Koordinera och styra CPU:s aktiviteter
    • Hantera dataflödet mellan andra komponenter och CPU:n
    • Bekräfta och acceptera nästa instruktion
    • Avkodning av instruktioner
    • Lagra de resulterande uppgifterna tillbaka till en minnesenhet

Aritmetisk och logisk enhet (ALU):

  • Gör det möjligt att utföra logiska och aritmetiska operationer som addition och subtraktion.
  • (Logiska operatorer är: AND, OR, NOT, XOR)

Minnesenhet:

  • Konstitueras av RAM, som är uppdelat och består av en adress och dess innehåll, som är i binär form.
  • RAM (Random Access Memory) är en snabb typ av minne till skillnad från hårddiskar, det är också direkt åtkomligt för CPU:n.
  • Förekomsten av RAM i en CPU gör att den kan fungera mycket snabbare och därmed effektivare.

Register:

  • Små block i CPU:n som består av minnesceller för höghastighetslagring som lagrar data innan de bearbetas, alla logiska, aritmetiska och skiftoperationer sker här.
  • Registret består av 5 komponenter
    • Programräknare (PC): Innehåller adressen till nästa instruktion som ska exekveras
    • Ackumulator (AC): Innehåller adressen till nästa instruktion som ska exekveras
    • Ackumulator (AC): Innehåller adressen till nästa instruktion som ska exekveras
    • : Lagringsområde där logiska och aritmetiska resultat lagras
    • Memory Address Register (MAR): Innehåller adressen till en plats för data som ska läsas från eller skrivas till
    • Memory Data Register (MDR): Temporär lagringsplats som lagrar data som har lästs eller data som fortfarande måste skrivas
    • Current Instruction Register (CIR): Område där den aktuella instruktionen utförs. Operationen är uppdelad i operand och opcode.
      • Operand: Innehåller data eller adressen till data (där operationen ska utföras)
      • Opkod: Anger typ av instruktion som ska utföras

Bussar:

  • Dessa är en uppsättning parallella ledningar som förbinder komponenter (två eller flera) i CPU:n. Inom CPU:n finns det tre typer av bussar, och dessa hänvisas alla till en systembuss. De olika typerna av bussar är: Databuss, styrbuss och adressbuss.
  • Databuss: Denna buss kallas en dubbelriktad buss, vilket innebär att ”bitar” kan transporteras i båda riktningarna. Denna buss används för att transportera data och instruktioner mellan processorn, minnesenheten och in-/utgången.
  • Adressbuss: Överför minnesadressen som anger varifrån relevanta data ska skickas eller hämtas. (Adressbussen överför inte data, endast adressen)
  • Kontrollbuss: Detta är också en dubbelriktad buss som används för att överföra ”styrsignaler”/kommandon från CPU:n (och statussignaler från andra komponenter) för att styra och samordna alla aktiviteter inom datorn.

Input/Output:

  • Information som överförs från användaren/information som tas emot av användaren.

Fördelar och nackdelar med von Neumann-arkitektur

Fördelar Nackdelar
Kontrollenheten hämtar instruktion och data på samma sätt från en minnesenhet. Detta förenklar utvecklingen och konstruktionen av kontrollenheten Parallell exekvering av program tillåts inte på grund av den seriella instruktionsbehandlingen
Den ovan nämnda fördelen skulle också innebära att data från minnet och från enheter hämtas på samma sätt. Därför ökar effektiviteten Endast en ”buss” kan nås åt gången. Detta resulterar i att CPU:n är inaktiv (eftersom den är snabbare än en databuss) Detta anses vara von Neumanns flaskhals
En fördelaktig egenskap är att programmerare har kontroll över minnesorganisationen Och att både instruktioner och data lagras på samma ställe kan ses som en fördel i sin helhet. Detta kan dock leda till att man skriver om över det, vilket resulterar i dataförlust, på grund av ett fel i ett program
Om ett defekt program misslyckas med att frigöra minnet när de inte behöver det (eller slutar med det), kan det leda till att datorn kraschar, till följd av otillräckligt minne

Von Neumann-flaskhals

Då processorerna och datorerna under årens lopp har ökat sin bearbetningshastighet och minnesförbättringarna har ökat i kapacitet, snarare än i hastighet, har detta resulterat i begreppet ”von Neumann-flaskhals”. Detta beror på att processorn tillbringar mycket tid på tomgång (gör ingenting) i väntan på att data skall hämtas från minnet. Oavsett hur snabb processorn är beror detta i slutändan på överföringshastigheten, faktum är att om processorn är snabbare innebär detta bara att den får en större ”tomgångstid”.

Angreppssätt för att övervinna denna flaskhals är bland annat:

  • Caching:
    • Data som är mer lättillgängliga i RAM-minnet, i stället för att lagras i huvudminnet. Den typ av data som lagras här kommer att vara den typ av data som används ofta.
  • Prefetching:
    • Transport av vissa data till cacheminnet innan de begärs. Detta påskyndar åtkomsten om data begärs.
  • Multithreading:
    • Hantering av många förfrågningar samtidigt i separata trådar.
  • Nya typer av RAM:
    • Som till exempel DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
    • Denna typ av RAM aktiverar utgången på både den fallande och den stigande kanten av systemklockan, i stället för bara den stigande kanten.
    • Detta kan potentiellt fördubbla utgången.
  • RAMBUS:
    • Ett delsystem som förbinder RAM-kontroller, RAM och den buss (väg) som förbinder RAM med mikroprocessorn och de enheter i datorn som utnyttjar det.
  • Processing in Memory (PIM):
    • PIM:
      • PIM integrerar en processor och ett minne i ett enda mikrochip.

    Vad är Harvard-arkitektur?

    Harvard-arkitekturen är uppkallad efter den reläbaserade datorn ”Harvard Mark I”, som var en IBM-dator vid Harvard-universitetet.

    Den här datorn lagrade instruktionerna på ”perforerat band” (24 bitar brett), och data lagrades dessutom i elektromekaniska räknare. Processorn i dessa tidiga datorsystem innehöll datalagret helt och hållet och gav ingen tillgång till instruktionslagret som data.

    Harvardarkitektur är en typ av arkitektur som lagrar data och instruktioner separat, och som därför delar upp minnesenheten.

    Cenheten i ett system med Harvardarkitektur har möjlighet att hämta data och instruktioner samtidigt, eftersom arkitekturen har separata bussar för dataöverföringar och hämtar instruktioner.

    Kännetecken för Harvardarkitektur

    Båda typerna av arkitekturer innehåller samma komponenter, men den största skillnaden är att i en Harvardarkitektur kan hämta instruktioner och dataöverföringar utföras samtidigt (samtidigt) (eftersom systemet har två bussar, en för dataöverföringar och en för hämta instruktioner).

    Von-Neumann vs Harvard-arkitektur Bild 2

    Fördelar och nackdelar med Harvard-arkitektur

    Fördelar Nackdelar
    På grund av att instruktioner och data överförs i olika bussar, Detta innebär att risken för datakorruption är mindre Det minne som är avsett för var och en (data och instruktioner) måste balanseras av tillverkaren. För om det finns ledigt dataminne kan det inte användas för instruktioner och vice versa
    Instruktioner och data kan nås på samma sätt Men denna fördel (till vänster) resulterar dock i en mer komplex arkitektur, eftersom den kräver två bussar. Detta innebär att det tar längre tid att tillverka och gör dessa system dyrare
    Harvard-arkitekturen ger en hög prestanda, eftersom denna arkitektur tillåter ett samtidigt flöde av data och instruktioner. Dessa hålls i separata minnen och transporteras via separata bussar Denna arkitektur är dock, trots den höga prestandan, mycket komplex, särskilt för tillverkare av huvudkort att implementera
    Det finns en större minnesbandbredd som är mer förutsägbar på grund av att arkitekturen har separata minnen för instruktioner och data Det krävs dock, som nämnts ovan, att Harvardarkitekturen, för att uppnå fördelen till vänster, kräver en kontrollenhet för två bussar. Vilket ökar komplexiteten och gör utvecklingen svårare. Allt detta ökar priset på systemet

    Modifierad Harvardarkitektur

    Von Neumann arkitektur vs Harvardarkitektur:

    Von Neumann-arkitektur Harvard-arkitektur
    Baserad på konceptet dator med lagrade program Baserad på den Harvard Mark I reläbaserade datormodellen
    Använder samma fysiska minnesadress för instruktioner och data Den använder separata minnesadresser för instruktioner och data
    Processorerna kräver två klockcykler för att utföra en instruktion Processorn kräver endast en cykel för att slutföra en instruktion
    Von Neumann-arkitekturen består av en enklare utformning av kontrollenheten, vilket innebär att det krävs mindre komplicerad utveckling. Detta innebär att systemet blir mindre kostsamt Harvardarkitekturens kontrollenhet består av två bussar, vilket resulterar i ett mer komplicerat system. Detta ökar utvecklingskostnaden, vilket resulterar i ett dyrare system
    Instruktionshämtningar och dataöverföringar kan inte utföras samtidigt Instruktionshämtningar och dataöverföringar kan utföras samtidigt
    Används i bärbara datorer, persondatorer och arbetsstationer Används i signalbehandling och mikrokontroller

    Modifierad Harvard-arkitektur:

    En ren Harvard-arkitektur har den nackdelen att det måste finnas en mekanism för att separera laddningen från det program som skall exekveras i instruktionsminnet och därmed lämna alla data som skall bearbetas i dataminnet.

    Hursomhelst använder moderna system numera en read only-teknik för instruktionsminnet och read/write-teknik för samma minne.

    Detta gör det möjligt för ett system att låta ett förinläst program utföras så snart strömmen sätts på.

    Däremot kommer data att befinna sig i ett okänt tillstånd och kan därför inte ge några fördefinierade värden till programmet.

    Lösningen på detta är att tillhandahålla maskinspråksinstruktioner så att innehållet i instruktionsminnet kan läsas som om det vore data, samt att tillhandahålla en hårdvarusökväg.

    De flesta adoptioner av Harvard-arkitekturen nuförtiden är en modifierad form, detta för att luckra upp den strikta separationen mellan data och kod, samtidigt som den ursprungliga Harvard-arkitekturens högpresterande samtidiga data- och instruktionsåtkomst bibehålls.

    Den modifierade Harvard-arkitekturen är en variation av den ursprungliga Harvard-arkitekturen. Skillnaden mellan de två är dock att den modifierade arkitekturen tillåter att innehållet i instruktionsminnet nås som data.

    De tre huvudsakliga modifieringar som tillämpas på en modifierad Harvard-arkitektur är:

    • Split-cache-arkitektur:
      • Som liknar von Neumann-arkitekturen bygger denna modifiering upp en minneshierarki med CPU-cacher för instruktioner och data på lägre nivåer i hierarkin.
    • Arkitektur för instruktionsminne som data:
      • Denna ändring gör det möjligt att komma åt innehållet i instruktionsminnet som data. Detta kan ske eftersom data inte direkt kan exekveras som instruktioner.
      • (Det finns dock en debatt om huruvida detta faktiskt kan kallas ”modifierad” Harvard-arkitektur)
    • Data-memory-as-instruction-arkitektur:
      • Exekverar instruktioner som hämtas från vilket minnessegment som helst, till skillnad från Harvard-arkitekturen, som endast kan exekvera instruktioner som hämtas från programminnessegmentet.

    Sammanfattning och fakta

    Von Neumann-arkitekturen var ett stort framsteg från de programstyrda datorer som användes på 1940-talet. Sådana datorer programmerades genom att man ställde in lappledningar och strömbrytare för att dirigera data- och styrsignaler mellan olika funktionsuppsättningar.

    Det är numera så att majoriteten av datorsystemen delar samma minne för både data och programinstruktioner.

    CPU:n i ett system med Harvard-arkitektur har möjlighet att hämta data och instruktioner samtidigt, tack vare att arkitekturen har separata bussar för dataöverföringar och hämta instruktioner.

    Vad är von Neumann-arkitekturen?

    Von Neumann-arkitekturen avser en arkitektur där både data och programmerade instruktioner förvaras i skriv- och läsbara RAM-minnen (Random Access Memory).

    Kännetecken för von Neumann-arkitekturen:

    • Centralprocessor (CPU)
    • Kontrollenhet
    • Aritmetisk och logisk enhet (ALU)
    • Minnesenhet
    • Register:
      • Program Counter (PC)
      • Accumulator (AC)
      • Memory Address Register (MAR)
      • Memory Data Register (MDR)
      • Current Instruction Register (CIR)
    • Bussar:
      • Databuss
      • Adressbuss
      • Kontrollbuss
    • Input/Outputs

    Fördelar:

    • Mindre dyrt/komplicerat jämfört med Harvard-arkitektur
    • Effektivt

    Nackdelar:

    • Von Neumann Flaskhals
    • Större risk för dataförlust

    Vad är Harvard-arkitektur?

    • Harvardarkitekturen är ett datorsystem som innehåller två separata områden för data och kommandon/instruktioner.
    • Harvardarkitektur är en typ av arkitektur som lagrar data och instruktioner separat och därför delar upp minnesenheten.

    Fördelar:

    • Mindre risk för datakorruption
    • Hög prestanda
    • Större minnesbandbredd

    Nackdelar:

    • Komplex
    • Dyrt

    Modifierad Harvardarkitektur:

    Den modifierade Harvardarkitekturen är en variant av den ursprungliga Harvardarkitekturen. Skillnaden mellan de två är dock att den modifierade arkitekturen gör det möjligt att komma åt innehållet i instruktionsminnet som data.

    De tre huvudsakliga modifieringar som tillämpas på en modifierad Harvardarkitektur är:

    • Split-cache-arkitektur
    • Instruktionsminne som data-arkitektur
    • Dataminne som-instruktionsarkitektur
    1. https://www.techopedia.com/definition/19737/harvard-architecture
    2. https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
    3. https://getrevising.co.uk/grids/von-neumann-architecture
    4. http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
    5. http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
    6. https://en.wikipedia.org/wiki/Von_Neumann_architecture
    7. https://www.geeksforgeeks.org/computer-organization-von-neumann-architecture/
    8. https://www.techopedia.com/definition/32480/von-neumann-architecture
    9. http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
    10. https://www.computerscience.gcse.guru/theory/von-neumann-architecture
    11. https://en.wikipedia.org/wiki/Modified_Harvard_architecture
    12. https://www.edaboard.com/threads/harvard-vs-modified-harvard-architechture.111764/

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras.