Computerhardware: Architektur
Aus Wikibooks
Inhaltsverzeichnis |
Es gibt zwei wesentlich verschiedene Arten, wie der Arbeitsspeicher eines Computers genutzt werden kann.
[Bearbeiten] Von-Neumann-Architektur
Die Computer vor 1945 hatten zumeist ein Programm, dass über Lochstreifen oder Steckfelder eingegeben wurde. Ein solches Programm war nur mühsam zu ändern. Der Mathematiker John von Neumann veröffentlichte 1945 das nach ihm benannte Konzept, nach dem die meisten heutigen Computer arbeiten. Die Grundidee ist, Daten und Programme in einem gemeinsamen Speicher unterzubringen. Das (damals) revolutionäre war, dass der Computer bei Bedarf sein eigenes Programm verändern konnte.
[Bearbeiten] Harvard-Architektur
Die Grundidee besteht darin, für Daten und für Programme strikt getrennte Speicher vorzusehen.
Die Harvard-Architektur ist aufwändiger, denn die Speichersteuerung ist doppelt vorhanden. Andererseits kann der Zugriff auf Befehle und Daten gleichzeitig erfolgen, was bei der von-Neumann-Architektur stets nacheinander erfolgt.
Nachteilig ist, dass nicht benötigter Programmspeicher nicht als Datenspeicher genutzt werden kann und umgekehrt. Deshalb müssen beide Speicher großzügiger bemessen werden. Insgesamt sind Computer mit Harvard-Architektur nicht unwesentlich teurer.
[Bearbeiten] Sicherheit
In Von-Neumann-Computern sind Code-Abschnitte zwischen den Daten eingestreut. Wenn sich ein Programm in der Länge eines Datenabschnitts irrt, kann der davor oder dahinter befindliche Code überschrieben werden. Die Code-Abschnitte lassen sich nicht schützen, und Programmfehler sind leider die Regel. Darüber hinaus bemühen sich zahllose Hacker darum, unter Ausnutzung von Programmfehlern im Betriebssystem die Programme böswillig zu manipulieren. Bei der Harvard-Architektur sind solche Manipulationen ausgeschlossen.
Etwa seit 2008 verfügen neuere intel-CPUs über ein „Executable Flag“. Das ist ein rudimentärer Schutz, um das Überschreiben von Programmteilen zu verhindern.