Harvardarkitektur

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Harvard-arkitekturen är en datorarkitektur med fysiskt separata bussar för instruktioner och data. Termen kommer ursprungligen från Harvard Mark I, relä-baserad dator, som sparade instruktioner på hålremsa och data på elektromekaniska minnen.

Innehåll

Minnesdetaljer

I en Harvard-arkitektur finns det inget krav på att data- och instruktionsminnet skall vara likadant utformade, t.ex kan ordbredden, hastigheten, tekniken och adressrymden vara helt olika. Instruktionsminnet är ofta bredare än dataminnet. Ofta lagras instruktionerna i ett ROM och/eller flash-ROM, medan arbetsdatan lagras i ett RAM-minne.

Jämförelse med andra datorarkitekturer

I en dator med alternativa arkitekturen von Newman (och utan cache) ligger instruktionerna i samma minne som datan, varför CPUn inte kan läsa både instruktion och läsa/skriva data samtidigt. En Harvard-arkitektur kan därför bli snabbare än en von Neumann-arkitektur.

Den Modifierade Harvard-arkitekturen påminner mycket om Harvard-arkitekturen, men har en dataväg från instruktionsminnet till processorn, som tillåter instruktionsord att behandlas som data. Detta tillåter att konstant data, t.ex. textsträngar, kan hämtas utan att först behöva kopieras till dataminnet, varför mer minne kan användas till variabel data. De flesta processorer som uppges ha Harvard-arkitektur har egentligen Modifierad Harvard-arkitektur.

Hastighet

De senaste åren har hastigheten på processorer växt snabbare än hastigheten på externa dataminnet (t.ex. RAM). Därför bör antalet skrivningar/läsningar till/från externa dataminnet minimeras för att inte tappa prestanda. Om t.ex. alla instruktioner i ett program använder externt minne, tjänar man inget på att processorn behandlar instruktionerna snabbt, då den ändå måste vänta på externa minnet.

Det är möjligt att tillverka väldigt snabba minnen, men dessa görs ofta små av ekonomiska och arkitekturmässiga skäl. Främst används dessa som cache-minne, en kopia av en liten del av 'riktiga' minnet, som det går väldigt mycket snabbare att skriva till/läsa från. Sådant cache-minne används både till dataminnet och till programminnet.

Moderna högpresterande datorer har en kombination av Harward- och von Neumann-arkitekturen. Själva CPU'n är av Harvard-typ, med ett cachminne (i samma krets) till databussen, och ett till instruktionsbussen. Dessa två cacheminnen samarbetar om ett gemensamt externt minne, vilket gör att kretsen utåt ser ut som en ven Neumann-processor.

Se även

Personliga verktyg