Von Neumann Architektur < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 14:20 Mo 24.03.2014 | Autor: | Mathics |
Aufgabe | Erklären Sie das Prinzip der Von Neumann Architektur. |
Hallo,
ich bin absoluter Anfänger in Wirtschaftsinformatik und wir haben heute in der Vorlesung die Von Neumann Architektur behandelt. Ich habe das Prinzip noch nicht so ganz verstanden.
Wir haben ja als Elemente: Eingabewerk, CPU (Rechenwerk, Steuerwerk) und RAM.
Ich würde das Prinzip gerne anhand eines Beispiel verstehen.
Was gebe ich in die Tastatur z.B. ein , damit dieser Prozess beginnt. Wenn ich ein Suchwort bei Google eingebe oder was in Word tippe? Wohin gelangt mein eingegebener Text und wie hängen CPU und RAM zusammen?
Ich verstehe zurzeit ziemlich wenig davon und habe etwas Aufklärungsbedarf.
Liebe Grüße
Mathics
|
|
|
|
Hallo!
Naja, wie so eine Google-Suche ansich abläuft, hat wenig mit der Rechnerarchitektur zu tun, denn das ist hochkomplex, und ist für die architektur eben nicht anschaulich.
Von Neumann Architektur bedeutet, daß sowohl die Daten als auch der Programmcode im RAM liegen. Das macht jeder PC so: Willst du ein Programm ausführen, wird es erst von der Festplatte in den RAM geladen, und der PC versucht das, was eben an der Stelle im RAM steht, als Befehlsanweisungen zu interpretieren und auszuführen.
Eine Gefahr der VNA ist, daß Daten fälschlicherweise als Programmcode interpretiert werden können. Beispiel: Ein Programm erwartet, daß 128Bytes von irgendwo (Tastatur, USB, Internet etc) empfangen werden, und sieht dafür 128Bytes im RAM vor. Der Speicherbereich, der genau hinter den 128 Bytes liegt,wird von Programmcode genutzt. Wenn nun der Sender MEHR als 128Bytes schickt, und das nicht überprüft wird, schreibt der Sender die Daten eben in den Bereich, in dem eigentlich Programmcode steht. Vielleicht schreibt der Sender sogar Daten, die vom Computer als sinnvolle Befehle erkannt werden, in den Bereich.
Ein typisches Beispiel für die Harvard-Architektur, die Daten und Code trennt, sind Microcontroller. Der Code liegt in einem EEPROM, also in einem Speicher, der beim Ausschalten nicht seinen Inhalt verliert. Für die Daten gibt es dann einen extra-RAM, dessen Inhalt aber beim Ausschalten verloren geht.
Ein Beispiel aus der PIC18-Familie von Microchip: 32KB EEPROM und 2KB RAM Man hat da nur wenig Speicher für Daten, aber viel Speicher für das Programm Der Nachteil, daß EEPROMs meist sehr langsam sind, spielt bei Microcontrollern, die oft auch nicht sonderlich schnell sind, keine Rolle.
(Das heißt aber nicht, daß alle Microcontroller nach der Harvard-Architektur arbeiten)
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:03 Mo 24.03.2014 | Autor: | Mathics |
Könnten wir vielleicht mal die einzelnen Schritte vereinfacht durchgehen.
Die Arbeitsweise eines Rechners kann man sich vereinfacht so vorstellen: Zunächst werden Daten eingegeben, z.B. über die Tastatur. Passiert jetzt folgendes?
In der Zentraleinheit bestehend aus CPU, dass sich aus Rechenwerk und Steuerwerk zusammensetzt sowie dem Hauptspeicher RAM, werden die Daten und die zugehörigen Befehle im Hauptspeicher geladen. (Ist das schon mal korrekt? Wenn ja wieso dahin und woher hat der RAM die Befehle). Das Steuerwerk holt sich mittels einer Speicheradresse den ersten Befehl, interpretiert ihn und veranlasst das Rechenwerk, ihn auszuführen. (Kann eine Ausführung sowas sein wie Änder den Namen Hans in Lutz?) Das Rechenwerk entnimmt die Daten aus dem Hauptspeicher, führt die Operation aus und legt das Ergebnis wieder im Hauptspeicher ab. Anschließend lädt das Steuerwerk den nächstfolgenden Befehl aus dem Hauptspeicher und so weiter. Nach Ablauf werden die bearbeiteten Daten auf einem Bildschirm angezeigt.
|
|
|
|
|
Hallo Mathics,
> Könnten wir vielleicht mal die einzelnen Schritte
> vereinfacht durchgehen.
Vereinfacht ist so eine Sache. Relevant dabei ist, wie tief Du dabei gehen willst (nur bei den groben Komponenten bleiben, doch noch einzelne Register dazu uvm).
> Die Arbeitsweise eines Rechners kann man sich vereinfacht
> so vorstellen: Zunächst werden Daten eingegeben, z.B.
> über die Tastatur. Passiert jetzt folgendes?
> In der Zentraleinheit bestehend aus CPU, dass sich aus
Die Zentraleinheit besteht nicht aus CPU, sondern es ist Zentraleinheit = CPU (Central Processing Unit)
> Rechenwerk und Steuerwerk zusammensetzt sowie dem
> Hauptspeicher RAM, werden die Daten und die zugehörigen
> Befehle im Hauptspeicher geladen. (Ist das schon mal
> korrekt? Wenn ja wieso dahin und woher hat der RAM die
Also, wir haben die Teilsysteme Eingabeeinheit, Zentraleinheit, Speichereinheit und Ausgabeeinheit. Die sind über Busse miteinander verbunden.
Es werden Daten über die Eingabeeinheit eingegeben. Diese werden in der Speichereinheit gespeichert.
> Befehle). Das Steuerwerk holt sich mittels einer
> Speicheradresse den ersten Befehl, interpretiert ihn und
> veranlasst das Rechenwerk, ihn auszuführen. (Kann eine
> Ausführung sowas sein wie Änder den Namen Hans in Lutz?)
Wenn Du Dir das binär codiert so vorstellen kannst... Ganz genau ist ja das
Rechenwerk die Komponente, in der arithmetische und logische Verknüpfungen durchgeführt werden (deshalb nennt man es ja auch ALU), das ist es, was es kann und macht.
> Das Rechenwerk entnimmt die Daten aus dem Hauptspeicher,
> führt die Operation aus und legt das Ergebnis wieder im
Die notwendigen Operanden werden dem Rechenwerk vom Steuerwerk zugeführt.
> Hauptspeicher ab. Anschließend lädt das Steuerwerk den
> nächstfolgenden Befehl aus dem Hauptspeicher und so
> weiter. Nach Ablauf werden die bearbeiteten Daten auf einem
> Bildschirm angezeigt.
Wie Event_Horizon schon sagte, ist das wichtigste Kriterium, was die von-Neumann-Architektur ausmacht, dass es ein Speicherwerk gibt mit gemeinsamen Speicher für Daten UND Programme und, dass es nur EINEN Bus für Befehle und Daten gibt (führt zum sog. von-Neumann-Flaschenhals).
Gruß
Anna
|
|
|
|