Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27
Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
Computer-Aufbau: Prozessorkühler Computer-Architektur Ein Überblick p.3/27
Computer-Aufbau: Central Processing Unit (CPU) Computer-Architektur Ein Überblick p.4/27
Computer-Aufbau: Speicher Computer-Architektur Ein Überblick p.5/27
Computer-Aufbau: Tastatur Computer-Architektur Ein Überblick p.6/27
Computer-Aufbau: Maus Computer-Architektur Ein Überblick p.7/27
Computer-Aufbau: Festplattenbestandteile Computer-Architektur Ein Überblick p.8/27
Computer-Aufbau: Festplattenskizze Computer-Architektur Ein Überblick p.9/27
Computer-Aufbau Speicher Prozessor Bussystem Steuer Werk Ein/Ausgabe Einheiten Computer-Architektur Ein Überblick p.10/27
Speicher (Memory) Adresse Inhalt 0815 add +1 Instruktion Befehl 4711 25 Datum Computer-Architektur Ein Überblick p.11/27
Speicher-Operationen Welche? Computer-Architektur Ein Überblick p.12/27
Speicher-Operationen Welche? Lies den Inhalt der Speicherzelle mit der Adresse adr Computer-Architektur Ein Überblick p.12/27
Speicher-Operationen Welche? Lies den Inhalt der Speicherzelle mit der Adresse adr Schreib ein Datum in die Speicherzelle mit der Adresse adr Computer-Architektur Ein Überblick p.12/27
Speicher-Operationen Welche? Lies den Inhalt der Speicherzelle mit der Adresse adr Schreib ein Datum in die Speicherzelle mit der Adresse adr Woher lesen und wohin schreiben? Computer-Architektur Ein Überblick p.12/27
Speicher-Operationen Welche? Lies den Inhalt der Speicherzelle mit der Adresse adr Schreib ein Datum in die Speicherzelle mit der Adresse adr Woher lesen und wohin schreiben? Lies den Inhalt der Speicherzelle mit der Adresse adr, die sich im MAR (Memory Address Register) befindet, in das MBR (Memory Buffer Register) Computer-Architektur Ein Überblick p.12/27
Speicher-Operationen Welche? Lies den Inhalt der Speicherzelle mit der Adresse adr Schreib ein Datum in die Speicherzelle mit der Adresse adr Woher lesen und wohin schreiben? Lies den Inhalt der Speicherzelle mit der Adresse adr, die sich im MAR (Memory Address Register) befindet, in das MBR (Memory Buffer Register) Schreib ein Datum (MBR) in die Speicherzelle mit der Adresse adr (MAR) Computer-Architektur Ein Überblick p.12/27
Prozessor (CPU) A Bus B Bus MAR MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.13/27
Prozessor - Befehle Welche? A Bus B Bus MAR MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.14/27
Prozessor - Befehle Welche? A Bus B Bus Inhalt B MAR MAR MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.14/27
Prozessor - Befehle Welche? A Bus B Bus Inhalt B MAR Inhalt MBR A MAR MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.14/27
Prozessor - Befehle Welche? A Bus B Bus Inhalt B MAR Inhalt MBR A MAR MBR Ergebnis MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.14/27
Prozessor - Befehle Welche? A Bus B Bus Inhalt B MAR Inhalt MBR A MAR MBR Ergebnis MBR A B Register Lies! ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.14/27
Prozessor - Befehle Welche? A Bus B Bus Inhalt B MAR Inhalt MBR A MAR MBR Ergebnis MBR A B Register Lies! Schreib! ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.14/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus MAR MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus B MAR MAR MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus B MAR Lies! MAR MBR A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus B MAR Lies! MAR MBR MBR A A B Register ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus B MAR Lies! MAR MBR MBR A A B Register Store (Schreiben) ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus B MAR Lies! MAR MBR MBR A A B Register Store (Schreiben) B MAR ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus B MAR Lies! MAR MBR MBR A A B Register Store (Schreiben) B MAR Ergebnis MBR ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Micro-Code Load (Lesen) A Bus B Bus B MAR Lies! MAR MBR MBR A A B Register Store (Schreiben) B MAR Ergebnis MBR Schreib! ALU Arithmetic Logic Unit R Ergebnis R Bus Computer-Architektur Ein Überblick p.15/27
Prozessor - Befehle Transfer-Operationen (Load, Store) Computer-Architektur Ein Überblick p.16/27
Prozessor - Befehle Transfer-Operationen (Load, Store) I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store Computer-Architektur Ein Überblick p.16/27
Prozessor - Befehle Transfer-Operationen (Load, Store) I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store Arithmetische Operationen Computer-Architektur Ein Überblick p.16/27
Prozessor - Befehle Transfer-Operationen (Load, Store) I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store Arithmetische Operationen Logische Operationen Computer-Architektur Ein Überblick p.16/27
Prozessor - Befehle Transfer-Operationen (Load, Store) I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store Arithmetische Operationen Logische Operationen unbedingte Sprünge Computer-Architektur Ein Überblick p.16/27
Prozessor - Befehle Transfer-Operationen (Load, Store) I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store Arithmetische Operationen Logische Operationen unbedingte Sprünge bedingte Sprünge Computer-Architektur Ein Überblick p.16/27
Beispielprogramm Voraussetzungen: Computer-Architektur Ein Überblick p.17/27
Beispielprogramm Voraussetzungen: Speicheraddresse 0815: 25 Computer-Architektur Ein Überblick p.17/27
Beispielprogramm Voraussetzungen: Speicheraddresse 0815: 25 Speicheraddresse 4711: 19 Computer-Architektur Ein Überblick p.17/27
Beispielprogramm Programm: Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Load(0815) Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Load(0815) R := R - A Computer-Architektur Ein Überblick p.18/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Load(0815) R := R - A Store(0815) Computer-Architektur Ein Überblick p.18/27
Frage Programm-Code Computer-Architektur Ein Überblick p.19/27
Frage Programm-Code Wo ist das Programm gespeichert? Computer-Architektur Ein Überblick p.19/27
Frage Programm-Code Wo ist das Programm gespeichert? Im Speicher! Computer-Architektur Ein Überblick p.19/27
Frage Programm-Code Wo ist das Programm gespeichert? Im Speicher! von Neumann-Architektur Computer-Architektur Ein Überblick p.19/27
Frage Programm-Code Wo ist das Programm gespeichert? Im Speicher! von Neumann-Architektur John von Neumann (1903 1957) Computer-Architektur Ein Überblick p.19/27
Frage Programm-Code Wo ist das Programm gespeichert? Im Speicher! von Neumann-Architektur John von Neumann (1903 1957) Programm und Daten im selben Speicher Computer-Architektur Ein Überblick p.19/27
Frage Programm-Code Wo ist das Programm gespeichert? Im Speicher! von Neumann-Architektur John von Neumann (1903 1957) Programm und Daten im selben Speicher Speicher ist langsam Computer-Architektur Ein Überblick p.19/27
Frage Programm-Code Wo ist das Programm gespeichert? Im Speicher! von Neumann-Architektur John von Neumann (1903 1957) Programm und Daten im selben Speicher Speicher ist langsam von Neumannscher Flaschenhals Computer-Architektur Ein Überblick p.19/27
Instruction Register zusätzliches Register (IR) Computer-Architektur Ein Überblick p.20/27
Instruction Register zusätzliches Register (IR) beinhaltet den Befehl Computer-Architektur Ein Überblick p.20/27
Programm Counter zusätzliches Register (PC) Computer-Architektur Ein Überblick p.21/27
Programm Counter zusätzliches Register (PC) beinhaltet die Adresse, wo Befehl gespeichert ist Computer-Architektur Ein Überblick p.21/27
Programm Counter zusätzliches Register (PC) beinhaltet die Adresse, wo Befehl gespeichert ist PC wird nach Abarbeitung des Befehls um eins erhöht Computer-Architektur Ein Überblick p.21/27
Programm Counter zusätzliches Register (PC) beinhaltet die Adresse, wo Befehl gespeichert ist PC wird nach Abarbeitung des Befehls um eins erhöht Immer? Computer-Architektur Ein Überblick p.21/27
Programm Counter zusätzliches Register (PC) beinhaltet die Adresse, wo Befehl gespeichert ist PC wird nach Abarbeitung des Befehls um eins erhöht Immer? Nein! Computer-Architektur Ein Überblick p.21/27
Programm Counter zusätzliches Register (PC) beinhaltet die Adresse, wo Befehl gespeichert ist PC wird nach Abarbeitung des Befehls um eins erhöht Immer? Nein! Sprung-Befehle Computer-Architektur Ein Überblick p.21/27
Programm-Codierung Platzersparnis Computer-Architektur Ein Überblick p.22/27
Programm-Codierung Platzersparnis Codierung als 0/1-Folgen Computer-Architektur Ein Überblick p.22/27
Beispielprogramm (noch einmal... ) Voraussetzungen: Computer-Architektur Ein Überblick p.23/27
Beispielprogramm (noch einmal... ) Voraussetzungen: Speicheradresse 0815: 25 Computer-Architektur Ein Überblick p.23/27
Beispielprogramm (noch einmal... ) Voraussetzungen: Speicheradresse 0815: 25 Speicheradresse 4711: 19 Computer-Architektur Ein Überblick p.23/27
Beispielprogramm (noch einmal... ) Voraussetzungen: Speicheradresse 0815: 25 Speicheradresse 4711: 19 Programm gespeichert ab Adresse: 1704 Computer-Architektur Ein Überblick p.23/27
Beispielprogramm (noch einmal... ) Voraussetzungen: Speicheradresse 0815: 25 Speicheradresse 4711: 19 Programm gespeichert ab Adresse: 1704 PC = 1704 Computer-Architektur Ein Überblick p.23/27
Beispielprogramm Programm: Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Load(0815) Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Load(0815) R := R - A Computer-Architektur Ein Überblick p.24/27
Beispielprogramm Programm: Load(0815) A R Load(4711) R := R - A Store(0815) Load(4711) R := R + A Store(4711) Load(0815) R := R - A Store(0815) Computer-Architektur Ein Überblick p.24/27
Performance MIPS (Million Instructions per Second) Computer-Architektur Ein Überblick p.25/27
Performance MIPS (Million Instructions per Second) Intel 8080 0,640 MIPS bei 2 MHz 1974 Motorola 68000 1 MIPS bei 8 MHz 1979 ARM 7500FE 35,9 MIPS bei 40 MHz 1996 Intel 486DX 54 MIPS bei 66 MHz 1992 Zilog ez80 80 MIPS bei 50 MHz 1998 ARM10 400 MIPS bei 300 MHz 1999 Athlon 64 8400 MIPS bei 2,8 GHz 2005 Computer-Architektur Ein Überblick p.25/27
Frage Was wäre, wenn Datum statt unter 0815 unter Adresse 1709 stehen würde? Computer-Architektur Ein Überblick p.26/27
Frage Was wäre, wenn Datum statt unter 0815 unter Adresse 1709 stehen würde? Das Programm ändert seinen eigenen Programm-Code! Computer-Architektur Ein Überblick p.26/27
Frage Was wäre, wenn Datum statt unter 0815 unter Adresse 1709 stehen würde? Das Programm ändert seinen eigenen Programm-Code! selbstmodifizierendes Programm Computer-Architektur Ein Überblick p.26/27
Frage Was wäre, wenn Datum statt unter 0815 unter Adresse 1709 stehen würde? Das Programm ändert seinen eigenen Programm-Code! selbstmodifizierendes Programm nicht erwünscht Computer-Architektur Ein Überblick p.26/27
Frage Was wäre, wenn Datum statt unter 0815 unter Adresse 1709 stehen würde? Das Programm ändert seinen eigenen Programm-Code! selbstmodifizierendes Programm nicht erwünscht Wer überprüft das? Computer-Architektur Ein Überblick p.26/27
Frage Was wäre, wenn Datum statt unter 0815 unter Adresse 1709 stehen würde? Das Programm ändert seinen eigenen Programm-Code! selbstmodifizierendes Programm nicht erwünscht Wer überprüft das? Hardware (Prozessor)? Computer-Architektur Ein Überblick p.26/27
Frage Was wäre, wenn Datum statt unter 0815 unter Adresse 1709 stehen würde? Das Programm ändert seinen eigenen Programm-Code! selbstmodifizierendes Programm nicht erwünscht Wer überprüft das? Hardware (Prozessor)? Betriebssystem Computer-Architektur Ein Überblick p.26/27
Noch ein Beispiel Load(0815) Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Load(4711) Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Load(4711) R := R + A Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Load(4711) R := R + A Store(4711) Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Load(4711) R := R + A Store(4711) Load(0815) Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Load(4711) R := R + A Store(4711) Load(0815) R := R - A Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Load(4711) R := R + A Store(4711) Load(0815) R := R - A Store(0815) Computer-Architektur Ein Überblick p.27/27
Noch ein Beispiel Load(0815) A R Load(4711) if A < R goto 1715 Store(0815) Load(4711) R := R + A Store(4711) Load(0815) R := R - A Store(0815) NOP Computer-Architektur Ein Überblick p.27/27