- Applikationer
- Oprindelse
- Model
- Ændret Harvard Architecture
- Hvordan fungerer Harvard-arkitektur?
- Tilføjelser i arkitektur
- Hukommelsesadresser
- Hukommelsessystem
- Fordel
- Beskyttelsesniveau
- Højere hastighed
- Ulemper
- Større kompleksitet og omkostninger
- Lille brug
- Misbrug af hukommelsesområdet
- Referencer
The Harvard arkitektur er en konfiguration af computeren, hvor data og instruktioner i et program er placeret i separate celler af hukommelse, som kan behandles uafhængigt.
Det vil sige, det er udtrykket, der bruges til et computersystem, der indeholder to separate områder: til kommandoer eller instruktioner og til data. Derfor er hovedfunktionen i denne arkitektur at lagre dataene fysisk adskilt og give forskellige signalstier til instruktioner og data.
Kilde: Fra Nessa los - Eget arbejde, CC BY-SA 3.0, commons.wikimedia
I denne arkitektur kan både formatet og medierne i disse to segmenter af systemet være ulige, da de to dele består af to separate strukturer.
Nogle eksempler på Harvard-arkitekturer involverer tidlige computersystemer, hvor programinstruktioner kan være på et medium, for eksempel på stempelkort, og lagrede data kunne være på et andet medium, for eksempel på magnetbånd.
Applikationer
Denne type arkitektur har bred anvendelse i video- og lydbehandlingsprodukter. Med hvert værktøj til at behandle video og lyd kan figuren af Harvard-arkitekturen ses.
Analoge enheder Blackfin-processorer er den bestemte enhed, hvor den har fundet sin vigtigste anvendelse. I andre elektroniske chip-baserede produkter er Harvard-arkitekturen også meget brugt.
De fleste computere bruger imidlertid von Neumann-arkitekturen og bruger CPU-cacher for at opnå en overlapning.
Oprindelse
Arbejde udført på Harvard University i 1940'erne under ledelse af Howard Aiken skabte en original relæbaseret computer, kaldet Harvard Mark I, som er det udtryk, hvorfra begrebet Harvard-arkitektur opstod.
Denne computer brugte separate hukommelsesenheder til at gemme data og instruktioner. Så har der været en betydelig udvikling med denne arkitektur.
Aiken opfordrede til brug af separate hukommelser til data og til instruktioner i programmet, med separate busser til hver.
Den originale Harvard-arkitektur lagrede typisk instruktioner på stansede bånd og data om elektromekaniske tællere.
Datalagring af disse tidlige maskiner lå helt inden for den centrale behandlingsenhed. På den anden side gav de ikke adgang til, at instruktionerne gemmes som data. En operatør måtte indlæse programmerne.
En Harvard-arkitektur kan behandle data og udføre instruktioner på samme tid, fordi hver af dem har sin egen adressebus.
Model
Denne model er kendetegnet ved, at informationsbusserne og opbevaringen er fysisk adskilt for dataene og programkoden.
Idet busserne kører autonomt, kan data- og programinstruktioner fås på samme tid, hvilket forbedrer hastigheden i forhold til den enkelte busdesign.
Derfor viser Harvard-modellen sig at være mere kompleks. At have busserne uafhængigt undgår imidlertid flaskehalsen, der er produceret af von Neumann-arkitekturen.
En computer kan være hurtigere for et kredsløb med en vis kompleksitet, fordi søgning efter instruktioner og adgang til data ikke behøver at kæmpe for en enkelt hukommelsesbus.
For at arbejde er der to hukommelsesadresser. Derfor er der et hukommelsesregister for maskininstruktioner og et andet hukommelsesregister for data.
I modsætning til von Neumann-arkitekturen, der bruger en bus til at flytte både instruktioner og data i hukommelsen, bruger Harvard-arkitekturen et hukommelsesområde til data og et andet til instruktioner.
Ændret Harvard Architecture
I dagens computere er der ingen fysisk opdeling af hukommelsesområderne, der bruges af programmer og data. Af denne grund kan det siges, at de teknologisk har en Von Neumann-arkitektur.
Imidlertid tjener den ændrede Harvard-arkitektur bedst til at repræsentere dagens computere.
Selvom nuværende behandlingsenheder deler hukommelse, har de visse elementer, såsom unikke instruktioner, der forhindrer data i at blive sammenfiltret med instruktioner. Dette kaldes modificeret Harvard-arkitektur.
Den ændrede Harvard-arkitektur har således to separate busser, en til kode og en til data, men hukommelsen i sig selv er et fysisk delt element.
Hukommelseskontrolleren er der, hvor ændringen sidder, fordi denne enhed er den, der håndterer hukommelsen, og hvordan den skal bruges.
Moderne computerdesign understøttes af den ændrede Harvard-arkitektur. De bruges i mikrokontrollere og til digital signalbehandling.
Hvordan fungerer Harvard-arkitektur?
Harvard-arkitekturen har forskellige hukommelsesadresseområder til programmet og for dataene.
Dette resulterer i evnen til at designe et kredsløb på en sådan måde, at en bus og et styrekredsløb kan bruges til at håndtere informationsstrømmen fra programhukommelsen og en separat til at håndtere informationsstrømmen til datahukommelsen.
Brug af separate busser betyder, at det er muligt for et program at blive hentet og udført uden at blive afbrudt af lejlighedsvis overførsel af data til datahukommelse.
For eksempel i en simpel version af denne arkitektur kunne programgendannelsesenheden være optaget af at hente den næste instruktion i programsekvensen og parallelt med at udføre en dataoverførselsoperation, der kunne have været en del af den forrige programinstruktion..
På dette niveau har Harvard-arkitekturen en begrænsning, da det generelt ikke er muligt at lægge programkode i datahukommelse og udføre den derfra.
Tilføjelser i arkitektur
Mange mere komplicerede eksisterende varianter kan føjes til den enkle form af Harvard-arkitektur.
En almindelig tilføjelse er at tilføje en instruktionscache til programmets databus, hvilket giver instruktionsudførelsesenheden hurtigere adgang til det næste trin i programmet uden at skulle gå til langsommere hukommelse for at komme til trinnet. af programmet hver gang det kræves.
Hukommelsesadresser
En Harvard-arkitekturcomputer har forskellige instruktions- og datadeadresseområder: instruktionsadresse en er ikke det samme område som datadresse en.
Instruktionsadresse en kunne indeholde en 24-bit-værdi, mens datadresse en kunne indikere en otte-bit-byte, som ikke er en del af denne 24-bit-værdi.
Hukommelsessystem
Da der er et separat hukommelsesområde til instruktioner og data, der adskiller både signalerne og hukommelseslageret af koden og dataene, gør dette det muligt at få adgang til hvert af hukommelsessystemerne samtidigt.
Fordel
- Der er mindre chance for korruption i transmission, da data og instruktioner overføres gennem forskellige busser.
- Data og instruktioner åbnes på samme måde.
- Tillader forskellige lagringsmedier for instruktioner og data. For eksempel kan du lægge instruktionerne i billig ROM og dataene i dyre RAM.
- De to minder kan bruge forskellige cellestørrelser og derved effektivisere ressourcerne.
- Den har en større hukommelsesbåndbredde, som er mere forudsigelig ved at have separate hukommelser til instruktioner og data.
Beskyttelsesniveau
På systemer, der ikke har en hukommelsesstyringsenhed, tilbyder den et ekstra beskyttelsesniveau, da data ikke kan startes som kode, hvilket udsætter systemet for adskillige problemer, såsom bufferoverløb.
Derfor er det populært med små indlejrede systemer, som mikrobølgeovn eller et ur.
Højere hastighed
Harvard-arkitektur kan læse en instruktion og også få adgang til datahukommelse samtidigt med hurtig hastighed.
Det giver større ydelse, da det gør det muligt at gemme data og instruktioner samtidig i separate hukommelser og rejse gennem forskellige busser.
En Harvard-arkitektur vil generelt hjælpe en computer med et vist niveau af kompleksitet til at køre hurtigere end en Von Neumann-arkitektur, så længe det ikke er nødvendigt at dele ressourcer mellem kode- og datahukommelser.
Hvis pin-begrænsninger eller andre faktorer tvinger brugen af en enkelt bus til at få adgang til begge hukommelsesrum, vil disse fordele sandsynligvis i vid udstrækning blive annulleret.
Ulemper
Større kompleksitet og omkostninger
Problemet med Harvard-arkitekturen er dets store kompleksitet og omkostninger, for i stedet for en databus er der nu behov for to.
At producere en to-bus-computer er meget dyrere og tager længere tid at fremstille. Det kræver en styreenhed til to busser, som er mere kompliceret og tidskrævende og dyre at udvikle.
Dette betyder en mere kompleks implementering for producenterne. Det kræver flere ben på CPU'en, et mere komplekst bundkort og det at skulle duplikere RAM-chips, samt et mere komplekst cache-design.
Lille brug
Harvard-arkitekturen bruges ikke i vid udstrækning, hvilket gør det vanskeligere at implementere. Derfor bruges det sjældent uden for CPU'en.
Imidlertid bruges denne arkitektur undertiden i CPU'en til at styre dens cacher.
Misbrug af hukommelsesområdet
Når der er ledig plads i datahukommelsen, kan den ikke bruges til at gemme instruktioner og vice versa.
Derfor skal de særlige minder, der er dedikeret til hver af dem, være nøje afbalanceret i deres fremstilling.
Referencer
- Listeforskelle (2019). Forskellen mellem Von Neumann og Harvard Architecture? Taget fra: listdifferences.com.
- PC Magazine (2019). Definition af: Harvard-arkitektur. Taget fra: pcmag.com.
- Techopedia (2019). Harvard Arkitektur. Taget fra: ceilingpedia.com.
- Scott Thornton (2018). Hvad er forskellen mellem Von-Neumann og Harvard-arkitekturer? Tips til mikrokontroller. Taget fra: microcontrollertips.com.
- Wikipedia, gratis encyklopædi (2019). Harvard-arkitektur. Taget fra: en.wikipedia.org.
- The Crazy Programmer (2019). Forskel mellem Von Neumann og Harvard Architecture. Taget fra: thecrazyprogrammer.com.