Harvardská architektura je počítačová architektura, která fyzicky odděluje paměť programu a dat a jejich spojovací obvody. Byla navržena ve 30. letech 20. století Howardem Aikenem.[1] Název pochází z elektromechanického počítače Harvard Mark I – zástupce 0. generace, který implementoval tuto architekturu. Mark I měl strojové instrukce uloženy na děrované pásce (o šířce 24 bitů) a data na elektromechanických deskách (23 číslic široké).
U harvardské architektury není potřeba mít paměť stejných parametrů a vlastností pro data a pro program. Paměti mohou být naprosto odlišné, mohou mít různou délku slova, časování, technologii a způsob adresování. V některých systémech se pro paměť programu používá typ paměti ROM (read only memory), přičemž paměť dat vyžaduje typ paměti RWM (Read-Write Memory).
Dvojí paměť umožňuje paralelní přístup k oběma pamětím, což zvyšuje rychlost zpracování. Umístění programu v paměti ROM může významně přispět k bezpečnosti systému (program nelze modifikovat).
U počítačů s odlišnou von Neumannovou architekturou, může procesor najednou pouze číst resp. zapisovat data nebo instrukce. To je způsobeno tím, že u této architektury je pro data a program (instrukce) vyhrazena společná paměť a propojovací obvody. Jde tedy o sekvenční zpracování, z kterého vyplývá i nižší rychlost.
Pro velmi rychlé zpracování velkého toku dat se čím dál více používají počítače s paralelním zpracováním, tedy postavené na Harvardské architektuře. U této architektury, díky odděleným propojovacím obvodům a separátní paměti programu a dat, může procesor zároveň číst/zapisovat z/do paměti programu a paměti dat najednou.
V posledních letech se rychlost procesorů zněkolikanásobila v poměru k rychlosti přístupové doby hlavní paměti. Je tedy tendence zredukovat počet přístupů do hlavní paměti. Například, pokud by každá instrukce běžící v procesoru vyžadovala přístup do paměti, zrychlení procesoru by nemělo žádný přínos pro výkon počítače, kvůli dlouhé přístupové době k paměti.
Paměť může být mnohem rychlejší, ovšem za mnohem vyšší cenu. Řešením je paměť známá jako cache, která je velmi rychlá, ale je jí také mnohem méně, než hlavní paměti. Velikost vyrovnávací paměti (cache) je jeden z hlavních aspektů při určování rychlosti procesoru.
Rychlé moderní procesory spojují obě architektury. Uvnitř procesoru je použita harvardská architektura, kde se paměť cache dělí na paměť instrukcí a paměť pro data. Ovšem celý procesor se „zvenku“ chová jako procesor s architekturou von Neumannovou, protože načítá data i program z hlavní paměti najednou.
Harvardská architektura se také často používá v: