De Harvard arkitektur är en datorkonfiguration där data och instruktioner för ett program finns i separata minnesceller, som kan adresseras oberoende.
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 denna arkitekturs huvudsakliga funktion att lagra data fysiskt separerade, vilket ger olika signalvägar för instruktionerna och data..
I denna arkitektur kan både formatet och media för dessa två segment av systemet vara ojämlika, eftersom de två delarna består av två separata strukturer..
Några exempel på Harvard-arkitekturer involverar tidiga datorsystem, där programinstruktioner kan finnas på ett medium, till exempel på stanskort, och lagrade data kan vara på ett annat medium, till exempel på magnetband..
Artikelindex
Denna typ av arkitektur har bred tillämpning inom video- och ljudbearbetningsprodukter. Med varje verktyg för att bearbeta video och ljud kommer du att kunna se figuren av Harvard-arkitekturen.
Analoga enheter Blackfin-processorer är den speciella enhet där den har hittat sin huvudsakliga användning. I andra elektroniska chipbaserade produkter används Harvard-arkitektur också i stor utsträckning.
De flesta datorer använder dock von Neumann-arkitekturen och använder CPU-cacher för att uppnå en överlappning.
Arbetet utfört vid Harvard University på 1940-talet under ledning av Howard Aiken skapade en original relebaserad dator, kallad Harvard Mark I, vilket är begreppet som begreppet Harvard-arkitektur uppstod från..
Den här datorn använde separata minnesenheter för att lagra data och instruktioner. Då har det skett en betydande utveckling med denna arkitektur.
Aiken uppmuntrade användningen av separata minnen för data och för programinstruktioner, med separata bussar för varje..
Den ursprungliga Harvard-arkitekturen lagrade vanligtvis instruktioner på stansade band och data på elektromekaniska räknare..
Datalagringen av dessa tidiga maskiner var helt inom den centrala bearbetningsenheten. Å andra sidan gav de inte åtkomst för 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.
Denna modell kännetecknas av att informationsbussarna och lagringen är fysiskt åtskilda för data och programkoden..
Eftersom bussarna arbetar autonomt kan data och programinstruktioner erhållas samtidigt, vilket förbättrar hastigheten jämfört med den enskilda bussdesignen..
Därför visar sig Harvard-modellen vara mer komplex. Att ha bussarna undviker emellertid den flaskhals som produceras av von Neumann-arkitekturen.
En dator kan vara snabbare för en krets av 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..
I dagens datorer finns det ingen fysisk upplösning av minnesområdena 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 dock bäst att representera dagens datorer..
Även om nuvarande bearbetningsenheter delar minne har de vissa element, till exempel unika instruktioner, som förhindrar att data trasslar samman 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..
Minneskontrollen är där förändringen sitter, eftersom den här enheten är den som hanterar minnet och hur det ska användas.
Moderna datordesigner stöds av den modifierade Harvard-arkitekturen. Används i mikrokontroller och digital signalbehandling.
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 exekveras utan att avbrytas av tillfällig överföring av data till dataminnet..
I en enkel version av denna arkitektur kan exempelvis programåterställningsenheten vara upptagen med att hämta nästa instruktion i programsekvensen och parallellt med att 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 placera programkoden i dataminnet och köra den därifrån..
Många mer komplicerade befintliga varianter kan läggas till i den enkla formen av Harvard-arkitekturen..
Ett vanligt tillägg är att lägga till en instruktionscache till programmets databuss, vilket möjliggör snabbare instruktion för exekveringsenheten 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 är nödvändig.
En Harvard-arkitekturdator har olika data- och instruktionsadressområden: instruktionsadress en är inte samma område som datadress en.
Instruktionsadress en kan innehålla ett tjugofyra-bitars värde, medan datadress en kan indikera en åtta-bitars byte, vilket inte är en del av det tjugofyra-bitars värdet..
Eftersom det finns ett separat minnesområde för instruktioner och data, som separerar både signalerna och minnets lagring av koden och data, gör det det möjligt att komma åt vart och ett av minnessystemen samtidigt..
- Det finns mindre risk för korruption i överföringen, eftersom data och instruktioner överförs via olika bussar.
- Data och instruktioner nås på samma sätt.
- Tillåter olika lagringsmedier för instruktioner och data. Till exempel kan du lägga instruktionerna i ett billigt ROM och data i ett dyrt RAM-minne..
- De två minnena kan använda olika cellstorlekar, vilket effektivt använder resurser.
- Den har en högre minnesbandbredd, vilket är mer förutsägbart genom att ha separata minnen för instruktioner och data..
I system som inte har en minneshanteringsenhet erbjuder den en extra skyddsnivå, eftersom det inte går att börja köra data som om det vore kod, vilket skulle utsätta systemet för många problem, såsom buffertöverflöd.
Det är därför det är populärt bland små inbäddade system, såsom en mikrovågsugn eller en klocka..
Harvard-arkitekturen kan läsa en instruktion och också utföra åtkomst till dataminne samtidigt med hög hastighet.
Det ger bättre prestanda eftersom det möjliggör samtidig erhållande av data och instruktioner genom att sparas i separata minnen och resa genom olika bussar.
En Harvard-arkitektur hjälper i allmänhet en dator med en viss nivå av komplexitet att springa snabbare än en Von Neumann-arkitektur, så länge det inte är nödvändigt att dela resurser mellan data och kodminnen..
Om stiftbegränsningar eller andra faktorer tvingar användningen av en enda buss för att komma åt båda minnesutrymmena kommer sannolikt sådana fördelar till stor del att upphävas.
Problemet med Harvard-arkitekturen är dess stora komplexitet och kostnad, för i stället för en databuss behövs nu två.
Att producera en tvåbussdator är mycket dyrare och tidskrävande att tillverka. Kräver en styrenhet för två bussar, vilket är mer komplicerat och tidskrävande och dyrare att utveckla.
Detta innebär en mer komplex implementering för tillverkare. Det kräver fler stift på processorn, ett mer komplext moderkort och att behöva duplicera RAM-chips, samt en mer komplex cache-design.
Harvard-arkitekturen används inte i stor utsträckning, vilket gör det svårare att genomföra. Det är därför det sällan används utanför CPU.
Denna arkitektur används emellertid ibland inom CPU: n för att hantera dess cachar..
När det finns ledigt utrymme i dataminnet kan det inte användas för att lagra instruktioner och tvärtom.
Därför måste de speciella minnen som är tillägnad var och en av dem balanseras noggrant i tillverkningen..
Ingen har kommenterat den här artikeln än.