- tillämpningar
- Ursprung
- Modell
- Modifierad Harvard Architecture
- Hur fungerar Harvard-arkitekturen?
- Tillägg i arkitektur
- Minne adresser
- Memory system
- Fördel
- Skyddsnivå
- Högre hastighet
- nackdelar
- Större komplexitet och kostnad
- Liten användning
- Missbruk av minnesutrymme
- referenser
Den Harvard-arkitektur är en datorkonfiguration, i vilken data och instruktioner för ett program är inrymda i separata celler av minne, som kan adresseras oberoende av varandra.
Det vill säga det är termen som används för ett datorsystem som innehåller två separata områden: för kommandon eller instruktioner och för data. Därför är huvudfunktionen för denna arkitektur att lagra data fysiskt separerade, tillhandahålla olika signalvägar för instruktioner och data.
Källa: Från Nessa los - Eget arbete, CC BY-SA 3.0, commons.wikimedia
I denna arkitektur kan både formatet och medierna för dessa två segment av systemet vara ojämna, eftersom de två delarna består av två separata strukturer.
Några exempel på Harvard-arkitekturer innefattar tidiga datorsystem, där programinstruktioner kan finnas på ett medium, till exempel på stanskort, och lagrade data kan finnas på ett annat medium, till exempel på magnetband.
tillämpningar
Denna typ av arkitektur har bred applikation inom video- och ljudbehandlingsprodukter. Med varje verktyg för att bearbeta video och ljud kan man se figuren i Harvard-arkitekturen.
Analoga enheter Blackfin-processorer är den speciella enheten där den har hittat sin huvudsakliga användning. I andra elektroniska chipbaserade produkter används Harvard-arkitekturen också mycket.
De flesta datorer använder dock von Neumann-arkitekturen och använder CPU-cachar för att uppnå en överlappning.
Ursprung
Arbetet vid Harvard University på 1940-talet under ledning av Howard Aiken skapade en original reläbaserad dator, kallad Harvard Mark I, vilket är termen från vilken konceptet för Harvard-arkitektur uppstod.
Den här datorn använde separata minnesenheter för att lagra data och instruktioner. Sedan har det skett en betydande utveckling med denna arkitektur.
Aiken uppmuntrade till användning av separata minnen för data och för instruktioner, med separata bussar för varje.
Den ursprungliga Harvard-arkitekturen lagrade vanligtvis instruktioner på stansade band och data om elektromekaniska räknare.
Datalagring av dessa tidiga maskiner fanns helt och hållet inom den centrala behandlingsenheten. Å andra sidan gav de inte åtkomst till att instruktionerna skulle lagras som data. En operatör var tvungen att ladda programmen.
En Harvard-arkitektur kan behandla data och utföra instruktioner samtidigt, eftersom var och en av dem har sin egen adressbuss.
Modell
Denna modell kännetecknas av att informationsbussarna och lagringen fysiskt separeras för data och programkod.
Eftersom bussarna kör autonomt kan data- och programinstruktioner erhållas på samma gång, vilket förbättrar hastigheten jämfört med den enda bussdesignen.
Därför visar sig att Harvard-modellen är mer komplex. Att ha bussarna oberoende undviker dock flaskhalsen som produceras av von Neumann-arkitekturen.
En dator kan vara snabbare för en krets med en viss komplexitet, eftersom sökning efter instruktioner och åtkomst till data inte behöver kämpa för en enda minnesbuss.
För att arbeta finns det två minnesadresser. Därför finns det ett minnesregister för maskininstruktioner och ett annat minnesregister för data.
Till skillnad från von Neumann-arkitekturen, som använder en buss för att flytta både instruktioner och data i minnet, använder Harvard-arkitekturen ett minnesområde för data och ett annat för instruktioner.
Modifierad Harvard Architecture
I dagens datorer finns det ingen fysisk uppdelning av minnesområden som används av program och data. Av denna anledning kan man säga att de tekniskt sett har en Von Neumann-arkitektur.
Den modifierade Harvard-arkitekturen tjänar emellertid till att bäst representera dagens datorer.
Även om nuvarande behandlingsenheter delar minne har de vissa element, till exempel unika instruktioner, som förhindrar att data trasslar in med instruktioner. Detta kallas modifierad Harvard-arkitektur.
Således har den modifierade Harvard-arkitekturen två separata bussar, en för kod och en för data, men minnet i sig är ett fysiskt delat element.
Minneskontrollern är där ändringen sitter, eftersom den här enheten är den som hanterar minnet och hur den ska användas.
Moderna datorkonstruktioner stöds av den modifierade Harvard-arkitekturen. De används i mikrokontroller och i digital signalbehandling.
Hur fungerar Harvard-arkitekturen?
Harvard-arkitekturen har olika minnesadressområden för programmet och för data.
Detta resulterar i förmågan att utforma en krets på ett sådant sätt att en buss och en styrkrets kan användas för att hantera informationsflödet från programminnet och en separat för att hantera informationsflödet till dataminnet.
Användningen av separata bussar innebär att det är möjligt för ett program att hämtas och köras utan att avbrytas av enstaka överföring av data till dataminnet.
Till exempel i en enkel version av denna arkitektur kan programåterställningsenheten vara upptagen med att hämta nästa instruktion i programsekvensen och parallellt utföra en dataöverföringsoperation som kunde ha varit en del av den tidigare programinstruktionen. .
På denna nivå har Harvard-arkitekturen en begränsning, eftersom det i allmänhet inte är möjligt att lägga programkod i dataminne och köra den därifrån.
Tillägg i arkitektur
Många mer komplicerade befintliga varianter kan läggas till den enkla formen av Harvard-arkitektur.
Ett vanligt tillägg är att lägga till en instruktionscache till programmets databuss, vilket gör att instruktionsutförande-enheten får snabbare åtkomst till nästa steg i programmet utan att behöva gå till långsammare minne för att komma till steget. av programmet varje gång det krävs.
Minne adresser
En Harvard-arkitekturdator har olika instruktions- och datadressområden: instruktionsadress en är inte samma område som datadress en.
Instruktionsadress en skulle kunna innehålla ett tjugofyra-bitarsvärde, medan datainadress en skulle kunna indikera en åtta-bitarsbyte, som inte är en del av det tjugofyra-bitarsvärdet.
Memory system
Eftersom det finns ett separat minnesområde för instruktioner och data, som separerar både signalerna och minneslagring av koden och datan, gör detta det möjligt att komma åt vart och ett av minnessystemen samtidigt.
Fördel
- Det finns mindre risk för korruption vid överföringen, eftersom data och instruktioner överförs genom olika bussar.
- Data och instruktioner öppnas på samma sätt.
- Tillåter olika lagringsmedier för instruktioner och data. Till exempel kan du lägga instruktionerna i billig ROM och data i dyrt RAM.
- De två minnen kan använda olika cellstorlekar och därmed utnyttja resurserna effektivt.
- Den har en större bandbredd för minnet, vilket är mer förutsägbart genom att ha separata minnen för instruktioner och data.
Skyddsnivå
På system som inte har en minneshanteringsenhet erbjuder den en ytterligare skyddsnivå, eftersom data inte kan startas som kod, vilket utsätter systemet för många problem, såsom buffertöverskridning.
Det är därför det är populärt med små inbäddade system, som mikrovågsugn eller en klocka.
Högre hastighet
Harvard-arkitekturen kan läsa en instruktion och även komma åt dataminnet samtidigt med snabb hastighet.
Det ger större prestanda eftersom det gör det möjligt att lagra data och instruktioner samtidigt i separata minnen och resa genom olika bussar.
En Harvard-arkitektur hjälper generellt en dator med en viss komplexitetsnivå snabbare än en Von Neumann-arkitektur, så länge det inte är nödvändigt att dela resurser mellan kod- och dataminnen.
Om stiftbegränsningar eller andra faktorer tvingar användningen av en enda buss för att komma åt båda minnesutrymmena, kommer dessa fördelar troligen att i stort sett upphöra.
nackdelar
Större komplexitet och kostnad
Problemet med Harvard-arkitekturen är dess stora komplexitet och kostnad eftersom två istället för en databuss behövs.
Att producera en tvåbussdator är mycket dyrare och det tar längre tid att tillverka. Det kräver en styrenhet för två bussar, vilket är mer komplicerat och tidskrävande och dyrt att utveckla.
Detta innebär en mer komplex implementering för tillverkare. Det kräver fler stift på CPU: n, ett mer komplext moderkort, och att man måste duplicera RAM-chips, liksom en mer komplex cache-layout.
Liten användning
Harvard-arkitekturen används inte ofta, vilket gör det svårare att implementera. Det är därför det sällan används utanför CPU: n.
Emellertid används denna arkitektur ibland inom CPU för att hantera sina cachar.
Missbruk av minnesutrymme
När det finns ledigt utrymme i dataminnet kan det inte användas för att lagra instruktioner och vice versa.
Därför måste de speciella minnen som ägnas åt var och en av dem vara noggrant balanserade vid tillverkningen.
referenser
- Lista skillnader (2019). Skillnaden mellan Von Neumann och Harvard Architecture? Hämtad från: listdifferences.com.
- PC Magazine (2019). Definition av: Harvard-arkitektur. Hämtad från: pcmag.com.
- Techopedia (2019). Harvard Architecture. Hämtad från: ceilingpedia.com.
- Scott Thornton (2018). Vad är skillnaden mellan Von-Neumann och Harvard-arkitekturer? Tips för mikrokontroller. Hämtad från: microcontrollertips.com.
- Wikipedia, gratis encyklopedi (2019). Harvard-arkitektur. Hämtad från: en.wikipedia.org.
- The Crazy Programmer (2019). Skillnaden mellan Von Neumann och Harvard Architecture. Hämtad från: thecrazyprogrammer.com.