Harvardská architektura
Harvardská architektura je počítačová architektura, která fyzicky odděluje paměť programu a dat a jejich spojovací obvody. 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é).
Paměť
U harvardské architektury není potřeba mít paměť stejných parametrů a vlastností pro data a pro program. Paměti můžou 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).
Ostatní modely
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.
Rychlost
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.
Použití
Harvardská architektura se také často používá v:
- Specializovaných DSP (digital signal processor) procesorech, obvykle v audio/video technice. Například procesor Blackfin od společnosti Analog Devices, Inc.
- Převážně malé jednoúčelové mikrokontroléry, používané v mnoha běžných aplikacích, jako je například PIC od firmy Microchip Technology, Inc., a AVR společnosti Atmel Corp. Tyto procesory jsou charakteristické svojí malou kapacitou pamětí, ale především těží z výhod harvardské architektury a redukované instrukční sady (RISC), které zajišťují, že většina instrukcí může být vykonána během jednoho strojového cyklu. Výhoda rozdělené paměti spočívá v možnosti použití různých typů pamětí, především[zdroj?] však různé bitové šířky obou pamětí.