ef:vonneumann

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ef:vonneumann [2023/05/09 11:51] lehmannref:vonneumann [2025/05/06 13:09] (aktuell) – [Komponenten der Von Neumann Architektur] lehmannr
Zeile 3: Zeile 3:
  
 ===== Grundlagen ===== ===== Grundlagen =====
-Die Von-Neumann-Architektur bildet die Grundlage für die Arbeitsweise der meisten heute bekannten Computer. Sie ist benannt nach dem österreichisch-ungarischen, später in den USA tätigen Mathematiker John von Neumann, dessen wesentliche Arbeit zum Thema 1945 veröffentlicht wurde. Sie wird manchmal auch Princeton-Architektur genannt (nach der Princeton University).+Die Von-Neumann-Architektur bildet die Grundlage für die Arbeitsweise der meisten heute bekannten Computer. Sie ist benannt nach dem österreichisch-ungarischen, später in den USA tätigen Mathematikers John von Neumann, dessen wesentliche Arbeit zu diesem Thema 1945 veröffentlicht wurde. Sie wird manchmal auch Princeton-Architektur genannt (nach der Princeton University).
  
 Kernidee ist die Tatsache, dass die Daten und die Programme im selben Speicher abgelegt werden. Zuvor entwickelte Rechner waren an ein festes Programm gebunden, das entweder hardwaremäßig verschaltet war oder über Lochkarten eingelesen werden musste. Mit der Von-Neumann-Architektur war es nun möglich, Änderungen an Programmen sehr schnell und ohne Änderungen an der Hardware durchzuführen oder in kurzer Folge verschiedene Programme ablaufen zu lassen. Kernidee ist die Tatsache, dass die Daten und die Programme im selben Speicher abgelegt werden. Zuvor entwickelte Rechner waren an ein festes Programm gebunden, das entweder hardwaremäßig verschaltet war oder über Lochkarten eingelesen werden musste. Mit der Von-Neumann-Architektur war es nun möglich, Änderungen an Programmen sehr schnell und ohne Änderungen an der Hardware durchzuführen oder in kurzer Folge verschiedene Programme ablaufen zu lassen.
Zeile 12: Zeile 12:
  
 |< 1000px 170px 830px >| |< 1000px 170px 830px >|
-| **ALU/Rechenwerk:** | Die Arithmetic Logic Unit ist die Zentraleinheit, welche logische Verknüpfungen und Rechnungen durchführen kann. |+| **ALU/Rechenwerk:** | Die **A**rithmetic **L**ogic **U**nit ist die Zentraleinheit, welche logische Verknüpfungen und Rechnungen durchführen kann. |
 | **Control Unit/Steuerwerk:** | Interpretiert die Programmanweisungen und regelt die Befehlsabfolge. | | **Control Unit/Steuerwerk:** | Interpretiert die Programmanweisungen und regelt die Befehlsabfolge. |
 | **BUS/Bus System:**  | Dient zur Kommunikation zwischen den einzelnen Komponenten (Daten-, Steuer-, Adressbus) | | **BUS/Bus System:**  | Dient zur Kommunikation zwischen den einzelnen Komponenten (Daten-, Steuer-, Adressbus) |
Zeile 25: Zeile 25:
 |**2.DECODE** | Der Befehl wird durch das Steuerwerk "verstanden" (dekodiert) und in Schaltinstruktionen für das Rechenwerk aufgelöst | |**2.DECODE** | Der Befehl wird durch das Steuerwerk "verstanden" (dekodiert) und in Schaltinstruktionen für das Rechenwerk aufgelöst |
 |**3. FETCH OPERANDS**| Die Operanden werden aus dem Speicher geholt. Dies sind die Werte, die verändert werden oder für die Operation verwendet werden (Parameter) | |**3. FETCH OPERANDS**| Die Operanden werden aus dem Speicher geholt. Dies sind die Werte, die verändert werden oder für die Operation verwendet werden (Parameter) |
-|**4. EXECUTE**| Eine Rechung wird durch das Rechenwerk (ALU) ausgeführt. Bei Sprungbefehlen wird der Befehlszähler verändert |+|**4. EXECUTE**| Eine Rechnung wird durch das Rechenwerk (ALU) ausgeführt. Bei Sprungbefehlen wird der Befehlszähler verändert |
 |**5. WRITE BACK**| Falls nötig, wird das Ergebnis der Berechnung in den Speicher geschrieben |  |**5. WRITE BACK**| Falls nötig, wird das Ergebnis der Berechnung in den Speicher geschrieben | 
  
Zeile 32: Zeile 32:
 Die Webbasierte Version von Johnny findest du [[https://dev.inf-schule.de/content/12_rechner/4_johnny/johnny3/|hier]] Die Webbasierte Version von Johnny findest du [[https://dev.inf-schule.de/content/12_rechner/4_johnny/johnny3/|hier]]
  
 +{{ :ef:johnny_skript.pdf | PDF-Skript zum Johnny-Simulator}}
 +
 +<WRAP nicebox green>
 +** Aufgaben **
 +  - Was machen die Makrobefehle konkret: TAKE, ADD, SUB, SAVE, JMP, TST, INC, DEC, HALT
 +  - Beschreibe, was konkret passiert auf Makroebene, wenn das unten abgebildete Programm ausgeführt wird.
 +  - Beschreibe, was konkret auf Mikroebene passiert, wenn das Programm abgearbeitet wird.
 +    {{:ef:johnnyprogram.png?300|}}
 +  - Warum enden die Mikrobefehlsfolgen für die Makrobefehle mit pc++ und mc:=0? 
 +</WRAP>
 +
 +
 +<WRAP nicebox red>
 +** Lernziele ** 
 +  - Grundprinzip der Von Neumann-Architektur verstehen (nur ein Speicher für Daten und Programme, Befehle werden sequenziell abgearbeitet nach dem Von Neumann-Zyklus.
 +  - Was sind Hauptunterschiede zwischen dem Johnny-Simulator und einem "wirklichen" Computer (z.B. bezüglich den verarbeiteten Daten, dem Bus-System, dem ALU)
 +  - Grundkomponenten verstehen und Abkürzungen kennen: db, ab, ram, ins, pc, mc, acc 
 +  - Verstehen, dass die Daten bzw. Programme im RAM "zweiteilig" gespeichert sind (2 Ziffern für den Befehl und 3 für die Daten).
 +  - Unterschied zwischen Makro- und Mikro-Befehlen verstehen.
 +  - Die Makrobefehle verstehen. 
 +  - Mikrobefehle zu den entsprechenden Makrobefehlen zuordnen können.
 +  - Ein in Makrobefehlen gegebenes Programm erklären können, d.h. angeben können, was im Speicher/Akkumulator passiert. 
 +</WRAP>
  
  • ef/vonneumann.1683625908.txt.gz
  • Zuletzt geändert: 2023/05/09 11:51
  • von lehmannr