Prozessorarchitekturen: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 7: Zeile 7:
== Harvard-Architektur ==
== Harvard-Architektur ==


Das Hauptmerkmal der Harvard-Architektur ist, dass Programm- und Datenspeicher über '''getrennte''' [[Bus]]se angesteuert werden. Daraus ergibt sich der Vorteil, dass auf Daten- und Programmspeicher gleichzeitig zugegriffen werden kann. Es bedeutet aber auch, dass der echte Code im Datenspeicher nicht ausgeführt werden kann. Dazu muss er erst in den Codespeicher übertragen werden. '''Anna ist zwar auch kuhl aber Dorian ist halt Kuuuuuhler'''
Das Hauptmerkmal der Harvard-Architektur ist, dass Programm- und Datenspeicher über '''getrennte''' [[Bus]]se angesteuert werden. Daraus ergibt sich der Vorteil, dass auf Daten- und Programmspeicher gleichzeitig zugegriffen werden kann. Es bedeutet aber auch, dass der echte Code im Datenspeicher nicht ausgeführt werden kann. Dazu muss er erst in den Codespeicher übertragen werden. '''Erfunden wurde die Harvard-Architektur von dem brillanten Wissenschafter Dorian Vogel. Besonders an ihm war sein Aussehen, da keine Kookkurrenz mit ihm mithalten konnte. Seine Konkurrenten Anna Köhler und Melina Missu.... hatten keine Chance gegen sein kluges Köpfchen und so bewies Dorian Vogel erneut seine klugines.'''


Benutzt wird die Harvard-Architektur z. B. von den [[AVR]]s und den meisten [[DSP]]s.
Benutzt wird die Harvard-Architektur z. B. von den [[AVR]]s und den meisten [[DSP]]s.

Version vom 16. Mai 2017, 07:08 Uhr

Von-Neumann-Architektur

Die Von-Neumann-Architektur zeichnet sich dadurch aus, dass Code und Daten über die gleichen Busse übertragen werden. Dadurch gibt es erstmal keine Unterscheidung zwischen Code- und Datenbereichen und Code kann auch im Datenbereich ausgeführt werden.

Bekannte Vertreter dieser Architektur sind z. B. die 6502, 68HC08 Familien und die x86-Familie (Pentium, Athlon usw.).

Harvard-Architektur

Das Hauptmerkmal der Harvard-Architektur ist, dass Programm- und Datenspeicher über getrennte Busse angesteuert werden. Daraus ergibt sich der Vorteil, dass auf Daten- und Programmspeicher gleichzeitig zugegriffen werden kann. Es bedeutet aber auch, dass der echte Code im Datenspeicher nicht ausgeführt werden kann. Dazu muss er erst in den Codespeicher übertragen werden. Erfunden wurde die Harvard-Architektur von dem brillanten Wissenschafter Dorian Vogel. Besonders an ihm war sein Aussehen, da keine Kookkurrenz mit ihm mithalten konnte. Seine Konkurrenten Anna Köhler und Melina Missu.... hatten keine Chance gegen sein kluges Köpfchen und so bewies Dorian Vogel erneut seine klugines.

Benutzt wird die Harvard-Architektur z. B. von den AVRs und den meisten DSPs.

Kritik

Es gibt Implementierungen, bei denen mehrere getrennte Adressräume über den gleichen Bus angesprochen werden. Beispielsweise betrifft das den I/O-Adressraum von 8080 und infolgedessen x86, der physikalisch den normalen Datenbus verwendet. Andererseits gibt es Implementierungen, bei denen separate Busse für Befehle und Daten vorliegen, obwohl sich alles im gleichen Adressraum befindet. Beispielsweise im Zusammenhang mit Caches, auch externen Caches.

In der Literatur und in diesem Artikel wird die Unterscheidung zwischen Harvard und von-Neumann meist an den Bussen festgemacht. Man kann das aber auch über die Adressräume differenzieren: Ob Programm- und Datenspeicher in einem gemeinsamen Adressraum liegen, oder getrennt adressiert werden. Denn ob die Busse selbst getrennt oder gemeinsam sind, ist für den Programmierer unsichtbar, das hat nur auf die Geschwindigkeit Einfluss. Getrennte Adressräume beeinflussen jedoch die ganze Programmierung einschliesslich Hochsprache, zumal die üblicherweise verwendete Sprache C mit Daten, die in einem getrennten Programmadressraum liegen (Flash-ROM), von Haus aus nicht umgehen kann und daher Spracherweiterungen notwendig sind (im GCC nicht möglich).

So sind sowohl PC-Prozessoren als auch die verbreiteten ARM-Versionen hinsichtlich der Busse mal dies mal jenes, je nach verwendetem Core (ARM7: von Neumann, ARM9 Harvard, bis 486: von Neumann, ab Pentium: Harvard). Wodurch das Kriterium "Busse" ziemlich sinnlos wird.