Harvard arkitektura

thumb|329x329px|Harvardeko arkitektura
**Harvardeko arkitektura**, konputagailuen arkitektura mota bat da. Bertan, programa bateko aginduak eta datuak memoriako zati desberdinetan metatzen dira. Hori ez ezik, datuak eta aginduak bereiz lantzeko aukera ematen du, hau da, komandoetarako memoria bat eta datuetarako beste memoria bat du.

Lehenengo sistema informatikoak, Harvardeko arkitekturaren adibide batzuk dira, non programaren aginduak ingurune batean egon zitezketen, adibidez, txartel zulatuetan; eta gordetako datuak beste leku batean egon zitezketen, esaterako, zinta magnetikoetan.

Honako arkitektura, normalean, ez da helburu orokorreko ordenagailuetan erabiltzen, baizik eta aplikazio orokorreko konputagailuetan; hala nola, mikrokontrolatzaileetan edo DSPetan (seinale digitalen prozesadorea).

## Jatorria 
*Harvard arkitektura* terminoa 1940ko hamarkadan sortu zen, Harvardeko Unibertsitatean egindako lan batean. Howard Aikenen gidaritzapean, Harvard Mark I izeneko konputagailua sortu zen; erreleetan oinarritutakoa.

Konputagailu horrek, memoria-unitate bereiziez baliatuz, datuak etengailu elektromekanikoetan gordetzen zituen, eta komandoak, paperezko zinta zulatuetan. Gainera, memoria bakoitzerako, bus independenteak erabiltzen zituen.

Jatorrizko Harvardeko arkitekturan, datuen biltegiratzea, prozesatzeko unitate zentralaren (PUZ) barruan zegoen erabat; beraz, ez zuen aginduak datu gisa gordetzeko sarbiderik ematen. Hori dela eta, operadore batek programak kargatu behar zituen, prozesadorea bere kabuz abiarazteko gai ez baitzen.

## Eredua 
Eredu honen ezaugarri nagusia, bai informazio-busak bai biltegiratze-gailuak programaren datuetarako eta koderako fisikoki bereizita daudela da. Ezaugarri horri esker, prozesadorea aldi berean eta modu independentean sar daiteke bi memorietara, bus bakarreko diseinuaren abiadura hobetuz.

Harvard eredua konplexuagoa izan arren, busak modu independentean mantentzen direnez, Von Neumannen arkitekturan sortzen den botila-lepoa ekiditen da; aginduak bilatzerakoan eta datuak eskuratzerakoan ez baitute zertan lehiatu behar memoria-bus bera erabiltzeko.

Arkitektura honek, bi memoria erabiltzen dituenez, bi memoria-erregistro  ere erabili behar ditu, bata makinaren aginduetarako eta bestea datuetarako.

### Harvardeko arkitektura aldatua 
Harvardeko arkitektura aldatua, Harvardeko ereduaren aldaera bat da. Aukera honek, agindu-memoriaren edukietara datuak balira bezala sartzea baimentzen du.

Horretarako, uneko prozesatze-unitateek memoria partekatzen duten arren, zenbait elementu dauzkate. Horietako bat, agindu esklusiboak dira, datuak kodearekin bat etortzea eragozten dutenak.

Laburbilduz, Harvardeko arkitektura aldatua, memoria partekatu bakarra du, baina bi bus bereiziekin; bata komandoetarako eta bestea datuetarako.

## Abantailak 
* Datuak eta instrukzioak busen bidez transferitzen direnez, transmisioan ustelkeria-aukera gutxiago dago.
* Errendimendu eta abiadura handiagoa eskaintzen du, datuetara eta aginduetara aldi berean sarteko aukera ematen baitu.
* Kodea eta datuak biltegiratzeko baliabide ezberdinak erabiltzea baimentzen du.
* Babes-maila handiagoa eskaintzen du, datuak kode gisa exekutatu ezin baitira.
* Aginduen tamaina ez dago datuen tamainarekin lotuta, hortaz, edozein instrukziok programa-memoriaren posizio bakarra har dezan optimizatu daiteke; hala nola, programa abiadura handiagoa eta luzera txikiagoa izan dadila.

## Desabantailak 
* Arkitektura konplexua da eta bi datu-bus erabiltzen dituenez, baita garestia ere.
* Gutxi erabiltzen denez, inplementatzea zailagoa da.
* Memoria-espazioa gaizki erabiltzen du. Datuen memorian leku librea dagoenean ezin baita kodea gordetzeko erabili, eta alderantziz.

## Erreferentziak 
## Kanpo estekak