- applikasjoner
- Opprinnelse
- Modell
- Endret Harvard Architecture
- Hvordan fungerer Harvard-arkitektur?
- Tilsetninger i arkitektur
- Minne adresser
- Minnesystem
- Fordel
- Beskyttelsesnivå
- Høyere hastighet
- ulemper
- Større kompleksitet og kostnader
- Lite bruk
- Misbruk av minneplass
- referanser
Den Harvard arkitekturen er en konfigurasjon av datamaskinen hvor data og instruksjoner fra et program er plassert i separate celler av minne, som kan behandles uavhengig av hverandre.
Det vil si at det er betegnelsen som brukes om et datasystem som inneholder to separate områder: for kommandoer eller instruksjoner og for data. Derfor er hovedfunksjonen til denne arkitekturen å lagre dataene fysisk atskilt, og gi forskjellige signalveier for instruksjoner og data.

Kilde: Fra Nessa los - Eget arbeid, CC BY-SA 3.0, commons.wikimedia
I denne arkitekturen kan både formatet og mediene til disse to segmentene av systemet være ulikt, siden de to delene består av to separate strukturer.
Noen eksempler på Harvard-arkitekturer involverer tidlige datasystemer, der programinstruksjoner kan være på ett medium, for eksempel på hullkort, og lagrede data kan være på et annet medium, for eksempel på magnetbånd.
applikasjoner
Denne typen arkitektur har bred anvendelse i video- og lydbehandlingsprodukter. Med hvert verktøy for å behandle video og lyd, kan figuren av Harvard-arkitekturen sees.
Analoge enheter Blackfin-prosessorer er den spesielle enheten der den har funnet sin hovedbruk. I andre elektroniske brikkebaserte produkter er Harvard-arkitekturen også mye brukt.
Imidlertid bruker de fleste datamaskiner von Neumann-arkitekturen og bruker CPU-cacher for å oppnå en overlapping.
Opprinnelse
Arbeidet som ble utført ved Harvard University på 1940-tallet under ledelse av Howard Aiken skapte en original relébasert datamaskin, kalt Harvard Mark I, som er det begrepet Harvard-arkitekturen oppsto fra.
Denne datamaskinen brukte separate minneenheter for å lagre data og instruksjoner. Da har det skjedd en betydelig utvikling med denne arkitekturen.
Aiken oppfordret til bruk av separate minner for data og til instruksjoner for programmet, med separate busser for hver.
Den originale Harvard-arkitekturen lagret vanligvis instruksjoner på stansede bånd og data om elektromekaniske tellere.
Datalagring av disse tidlige maskinene var helt innenfor den sentrale behandlingsenheten. På den annen side ga de ikke tilgang til at instruksjonene kunne lagres som data. En operatør måtte laste programmene.
En Harvard-arkitektur kan behandle data og utføre instruksjoner samtidig, fordi hver av dem har sin egen adressebuss.
Modell
Denne modellen er karakterisert ved at informasjonsbussene og lagringen er fysisk atskilt for dataene og programkoden.
Ettersom bussene kjører autonomt, kan data og programinstruksjoner fås samtidig, og dermed forbedre hastigheten i forhold til den enkle bussdesignen.
Derfor viser Harvard-modellen seg å være mer sammensatt. Å ha bussene uavhengig unngår flaskehalsen produsert av von Neumann-arkitekturen.
En datamaskin kan være raskere for en krets med en viss kompleksitet, fordi det å søke etter instruksjoner og få tilgang til data ikke trenger å kjempe for en enkelt minnebuss.
For å jobbe er det to minneadresser. Derfor er det et minne-register for maskininstruksjoner og et annet minne-register for data.
I motsetning til von Neumann-arkitekturen, som bruker en buss for å flytte både instruksjoner og data i minnet, bruker Harvard-arkitekturen ett minneområde for data og et annet for instruksjoner.
Endret Harvard Architecture
I dagens datamaskiner er det ingen fysisk oppdeling av minneområdene som brukes av programmer og data. Av denne grunn kan det sies at de teknologisk har en Von Neumann-arkitektur.
Imidlertid tjener den endrede Harvard-arkitekturen best til å representere dagens datamaskiner.
Selv om nåværende behandlingsenheter deler minne, har de visse elementer, for eksempel unike instruksjoner, som forhindrer at data blir sammenfiltret med instruksjoner. Dette kalles modifisert Harvard-arkitektur.
Dermed har den endrede Harvard-arkitekturen to separate busser, en for kode og en for data, men minnet i seg selv er et fysisk delt element.
Minnekontrolleren er der endringen sitter, fordi denne enheten er den som håndterer minnet og hvordan den skal brukes.
Moderne datamaskindesign støttes av den endrede Harvard-arkitekturen. De brukes i mikrokontrollere og i digital signalbehandling.
Hvordan fungerer Harvard-arkitektur?
Harvard-arkitekturen har forskjellige minneadresseområder for programmet og for dataene.
Dette resulterer i muligheten til å designe en krets på en slik måte at en buss og en kontrollkrets kan brukes til å håndtere informasjonsstrømmen fra programminnet og en separat for å håndtere informasjonsstrømmen til dataminnet.
Bruken av separate busser betyr at det er mulig for et program å bli hentet og utført uten å bli avbrutt av sporadisk overføring av data til dataminne.
I en enkel versjon av denne arkitekturen kan for eksempel programgjenopprettingsenheten være opptatt med å hente den neste instruksjonen i programsekvensen og parallelt å utføre en dataoverføringsoperasjon som kunne ha vært en del av den forrige programinstruksen. .
På dette nivået har Harvard-arkitekturen en begrensning, siden det generelt ikke er mulig å legge programkode i dataminne og utføre den derfra.
Tilsetninger i arkitektur
Mange mer kompliserte eksisterende varianter kan legges til den enkle formen for Harvard-arkitektur.
Et vanlig tillegg er å legge til en instruksjonsbuffer til programmets databuss, slik at instruksjonsutføringsenheten får raskere tilgang til neste trinn i programmet, uten å måtte gå til tregere minne for å komme til trinnet. av programmet hver gang det kreves.
Minne adresser
En Harvard-arkitekturdatamaskin har forskjellige instruksjons- og dateadresseområder: instruksjonsadresse en er ikke det samme området som datadresse en.
Instruksjonsadresse en kunne inneholde en tjuefire-bit-verdi, mens datadresse en kunne indikere en åtte-bits byte, som ikke er en del av den tjuefire-bits verdien.
Minnesystem
Ettersom det er et eget minneområde for instruksjoner og data, som skiller både signaler og minne lagring av kode og data, gjør dette det mulig å få tilgang til hvert av minnesystemene samtidig.
Fordel
- Det er mindre sjanse for korrupsjon i overføringen, siden data og instruksjoner overføres gjennom forskjellige busser.
- Du får tilgang til data og instruksjoner på samme måte.
- Tillater forskjellige lagringsmedier for instruksjoner og data. For eksempel kan du legge instruksjonene i billig ROM og dataene i kostbart RAM.
- De to minnene kan bruke forskjellige cellestørrelser, og dermed effektivt utnytte ressursene.
- Den har større minnebåndbredde, som er mer forutsigbar ved å ha separate minner for instruksjoner og data.
Beskyttelsesnivå
I systemer som ikke har en minnehåndteringsenhet, tilbyr den et ekstra beskyttelsesnivå, siden data ikke kan startes som kode, noe som vil utsette systemet for mange problemer, for eksempel bufferoverløp.
Derfor er det populært med små innebygde systemer, som mikrobølgeovn eller en klokke.
Høyere hastighet
Harvard-arkitektur kan lese en instruksjon og også få tilgang til dataminne samtidig med rask hastighet.
Det gir større ytelse, siden det gjør det mulig å lagre data og instruksjoner samtidig i separate minner og reise gjennom forskjellige busser.
En Harvard-arkitektur vil vanligvis hjelpe en datamaskin med et visst nivå av kompleksitet til å løpe raskere enn en Von Neumann-arkitektur, så lenge det ikke er nødvendig å dele ressurser mellom kode- og dataminner.
Hvis pinnebegrensninger eller andre faktorer tvinger bruken av en enkelt buss til å få tilgang til begge minneplasser, vil disse fordelene sannsynligvis i stor grad bli ugyldig.
ulemper
Større kompleksitet og kostnader
Problemet med Harvard-arkitekturen er dets store kompleksitet og kostnader fordi i stedet for en databuss er det nå behov for to.
Å produsere en datamaskin med to busser er mye dyrere og tar lenger tid å produsere. Det krever en kontrollenhet for to busser, noe som er mer komplisert og tidkrevende og dyrt å utvikle.
Dette betyr en mer kompleks implementering for produsenter. Det krever flere pinner på CPU, et mer komplekst hovedkort og å måtte duplisere RAM-brikker, samt et mer komplekst cache-design.
Lite bruk
Harvard-arkitekturen er ikke mye brukt, noe som gjør det vanskeligere å implementere. Dette er grunnen til at den sjelden brukes utenfor CPU-en.
Imidlertid blir denne arkitekturen noen ganger brukt i CPUen til å administrere cache-ene.
Misbruk av minneplass
Når det er ledig plass i dataminnet, kan det ikke brukes til å lagre instruksjoner og omvendt.
Derfor må de spesielle minnene som er dedikert til hver av dem nøye balanseres når de produseres.
referanser
- List Differences (2019). Forskjellen mellom Von Neumann og Harvard Architecture? Hentet fra: listdifferences.com.
- PC Magazine (2019). Definisjon av: Harvard-arkitektur. Hentet fra: pcmag.com.
- Techopedia (2019). Harvard Architecture. Hentet fra: ceilingpedia.com.
- Scott Thornton (2018). Hva er forskjellen mellom Von-Neumann og Harvard-arkitekturer? Tips om mikrokontroller. Hentet fra: microcontrollertips.com.
- Wikipedia, gratis leksikon (2019). Harvard-arkitektur. Hentet fra: en.wikipedia.org.
- The Crazy Programmer (2019). Forskjell mellom Von Neumann og Harvard Architecture. Hentet fra: thecrazyprogrammer.com.
