# Processorarchitectuur

De processorarchitectuur is bepalend voor hoe de centrale verwerkingseenheid binnen een processor met zijn werkgeheugen en randapparatuur binnen een computerarchitectuur kan communiceren. Er bestaan drie basisarchitecturen, en of het nu een digitale signaal processor (DSP), een microcontroller (MCU) of microprocessor (MPU) is welke toegepast wordt, allen zijn ze volgens een van deze drie basisarchitecturen ontworpen.

## De architecturen

1. De Von Neumann-architectuur.
* Ontwikkeld door John von Neumann.
* Veelal toegepast in MCU en MPU.
2. De Harvard-architectuur.
* Ontwikkeld aan de Harvard Universiteit.
* Met mate nog toegepast in DSP's.
3. De gemodificeerde Harvard-architectuur.
* Doorontwikkeld aan de Harvard Universiteit.
* Veelal toegepast in DSP en hybride.

## Architectuurvergelijking

Het kenmerkende verschil tussen de Von Neumann- en de Harvard-architectuur is dat de Harvard-variant een volledig gescheiden instructie- en datageheugen heeft. Meer precies: alle instructies worden volledig gescheiden gehouden van de data waarop deze instructies worden uitgevoerd. Hierdoor kan de inhoud van het datageheugen nooit als instructie worden uitgevoerd wanneer er fouten ('bugs') in het programma voorkomen. De Harvard architectuur geeft dus een verregaande veiligheid aan de applicatie, wat vereist is in bijvoorbeeld militaire, ruimtevaart en medische toepassingen.
Deze ingebakken veiligheid heeft echter ook zijn nadeel. Doordat instructies en data zo strikt gescheiden zijn, zijn bepaalde computeralgoritmes eenvoudigweg niet te implementeren. Een zichzelf-modificerende-code is bijvoorbeeld een onmogelijkheid in een Harvard architectuur. Dergelijke specifieke algoritmes kunnen alleen functioneren op een Von Neumann-architectuur. Deze zichzelf-modificerende-code wordt vaak toegepast in beveiligings- en/of versleutelings- (encryptie)algoritmen, maar kent ook andere toepassingsgebieden.
Vanwege het genoemde feit dat zowel de Harvard- als de Von Neumann-architectuur bepaalde karakteristieke voordelen ten opzichte van elkaar hebben, is de gemodificeerde Harvard architectuur ontworpen. Deze architectuur is een logische combinatie van de twee. In de basis is het gemodificeerde model gelijk aan een Harvard-architectuur, maar zeer beperkte geheugengebieden zijn in zowel instructie- als datageheugen specifieke gebieden gedefinieerd, en binnen de processor worden deze speciale geheugenblokken in elkaar gespiegeld. Dus het schrijven in het speciale datageheugenblok heeft als gevolg dat die data niet alleen op die plaats in het datageheugen terug te vinden zijn, maar ook direct terug te vinden zijn in het instructiegeheugen, alwaar het dan weer als processorinstructie kan worden uitgevoerd. Deze gespiegelde blokken kan men zien als een efficiënt doorgeefluik van het data- naar het instructiegeheugen en vice versa.
Het is nooit te zeggen of de ene architectuur beter is dan de andere. Iedere architectuur heeft zijn eigen karakteristieke sterke en zwakke kanten en dus specifieke toepassingsgebieden. En alhoewel alle architecturen niet in gelijke mate vertegenwoordigd zijn bij de verkrijgbare processoren, heeft toch ieder van deze architecturen een volledig bestaansrecht.

## Architectuurvoorbeelden

Omdat in MPU en MCU de flexibiliteit van de architectuur tezamen met het gebruikersgemak de meest belangrijke parameters zijn, is de Von Neumann-architectuur het meest toegepaste model. Het gemis aan de maximaal haalbare veiligheid door het combineren van instructies en data wordt veelal goedgemaakt met andere hardwarevoorzieningen zoals geheugenbeheer (MMU) en waakhonden (hardware- en softwarematige). Daarnaast is het geringere-kostenaspect van een uniforme externegeheugenarchitectuur ook zeker van belang.
Pas wanneer de processor wat meer applicatiespecifiek wordt, zoals een DSP, dan geeft de gemodificeerde Harvard-architectuur vaak de beste resultaten. Vreemd genoeg is dan niet eens het veiligheidsaspect van gescheiden data en instructies doorslaggevend, maar eerder het feit dat deze scheiding het mogelijk maakt om parallellisme in het laden van instructie en data te kunnen realiseren. Hier haalt de DSP zijn grote snelheid uit. De architectuur staat simultaan werken over verschillende bussen toe.
Er bestaan inmiddels ook hybride processoren, waarin DSP- en MCU-functionaliteit zijn samengevoegd. Iedere processorfabrikant heeft echter een geheel eigen definitie van hoe de hybride nu eigenlijk zou moeten worden samengesteld. De vorming van een hybride zou gezien kunnen worden als een bundeling van verschillende processorarchitecturen, vele jaren nadat deze allen ontstaan zijn uit een basisarchitectuur. De hybrides zijn veelal het gemodificeerde Harvard-architectuur-model trouw.