Harvard vs. Von Neumann-Architektur

Harvard vs. Von Neumann-Architektur

Unser Lehrer sagte uns, dass die Harvard-Architektur heute und in Zukunft die am weitesten entwickelte und produzierte Architektur ist. Aber ich denke, dass aufgrund des enormen Overheads von x86- und Von-Neumann-basierten ARM-Systemen Von-Neumann heute tatsächlich die am häufigsten verwendete Architektur ist.

Ja, MCUs mit Harvard werden sogar noch häufiger produziert, aber da sie alle nur einen untergeordneten Zweck erfüllen (im Vergleich zu x86- und ARM-basierten), ist Von Neumann tatsächlich der Richtige. Oder ist es doch Harvard?

Und zweitens, ich weiß, das ist eine seltsame Frage, aber gibt es eine Architektur, die beides kombiniert? So dass man einen separaten Speicher für Daten und Programme hat und dadurch schneller Befehle verarbeitet, aber trotzdem mit diesen als Von Neumann arbeiten kann? So dass man Programme im laufenden Betrieb in den Programmspeicher laden und daraus entladen kann? Ist das nicht die Art, wie es bei x86 hätte laufen sollen? Oder gäbe es da einen Engpass, den reine Von Neumann-Architektur löst? Danke.

Antwort1

x86 ist die Kombination aus beidem. Wenn Sie sich den L1-Cache moderner Prozessoren ansehen, werden Sie feststellen, dass es einen separaten Cache für Daten und Anweisungen gibt. Stöbern Sie auch ein wenig auf Wikipedia über x86. Sie werden sehen, dass moderne x86-Prozessoren nicht wirklich x86 sind. Sie emulieren stattdessen x86-Prozessoren, indem sie x86-Anweisungen in ihren eigenen internen Mikrocode übersetzen. Tatsächlich kann bei einigen Intel-Prozessoren der Mikrocode geändert werden, während das System läuft.

Was die häufigere Produktion angeht, würde ich sagen, es ist Harvard, hauptsächlich wegen PICs und ähnlichen Mikrocontrollern. Soweit ich sehe, ist Von Neumann einfacher zu programmieren, daher ist es nicht ungewöhnlich, dass sich Harvard-Prozessoren (wie x86 und einige PICs) intern der Welt als Von Neumann präsentieren.

verwandte Informationen