computer-architektur – ein Überblick · computer-architektur – ein Überblick johann...
Post on 24-Aug-2019
220 Views
Preview:
TRANSCRIPT
Computer-Architektur – Ein Überblick
Johann Blieberger
Institut für Rechnergestützte Automation
Computer-Architektur – Ein Uberblick – p.1/27
Computer-Aufbau: Motherboard
Computer-Architektur – Ein Uberblick – p.2/27
Computer-Aufbau: Prozessorkuhler
Computer-Architektur – Ein Uberblick – p.3/27
Computer-Aufbau: Central Processing Unit (CPU)
Computer-Architektur – Ein Uberblick – p.4/27
Computer-Aufbau: Speicher
Computer-Architektur – Ein Uberblick – p.5/27
Computer-Aufbau: Tastatur
Computer-Architektur – Ein Uberblick – p.6/27
Computer-Aufbau: Maus
Computer-Architektur – Ein Uberblick – p.7/27
Computer-Aufbau: Festplattenbestandteile
Computer-Architektur – Ein Uberblick – p.8/27
Computer-Aufbau: Festplattenskizze
Computer-Architektur – Ein Uberblick – p.9/27
Computer-Aufbau
Bussystem
WerkEin/Ausgabe
EinheitenSteuer−
Speicher Prozessor
Computer-Architektur – Ein Uberblick – p.10/27
Speicher (Memory)
InstruktionBefehl
Adresse Inhalt
0815 add +1
4711 25 Datum
Computer-Architektur – Ein Uberblick – p.11/27
Speicher-Operationen
• Welche?
Computer-Architektur – Ein Uberblick – p.12/27
Speicher-Operationen
• Welche?
• Lies den Inhalt der Speicherzelle mit der Adresse adr
Computer-Architektur – Ein Uberblick – 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 Uberblick – 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 Uberblick – 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, diesich im MAR (Memory Address Register) befindet, in das MBR(Memory Buffer Register)
Computer-Architektur – Ein Uberblick – 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, diesich im MAR (Memory Address Register) befindet, in das MBR(Memory Buffer Register)
• Schreib ein Datum (MBR) in die Speicherzelle mit derAdresse adr (MAR)
Computer-Architektur – Ein Uberblick – p.12/27
Prozessor (CPU)
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
Computer-Architektur – Ein Uberblick – p.13/27
Prozessor - Befehle
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Welche?
Computer-Architektur – Ein Uberblick – p.14/27
Prozessor - Befehle
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Welche?
• Inhalt B → MAR
Computer-Architektur – Ein Uberblick – p.14/27
Prozessor - Befehle
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Welche?
• Inhalt B → MAR
• Inhalt MBR → A
Computer-Architektur – Ein Uberblick – p.14/27
Prozessor - Befehle
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Welche?
• Inhalt B → MAR
• Inhalt MBR → A
• Ergebnis → MBR
Computer-Architektur – Ein Uberblick – p.14/27
Prozessor - Befehle
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Welche?
• Inhalt B → MAR
• Inhalt MBR → A
• Ergebnis → MBR
• Lies!
Computer-Architektur – Ein Uberblick – p.14/27
Prozessor - Befehle
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Welche?
• Inhalt B → MAR
• Inhalt MBR → A
• Ergebnis → MBR
• Lies!• Schreib!
Computer-Architektur – Ein Uberblick – p.14/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
• B→MAR
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
• B→MAR
• Lies!
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
• B→MAR
• Lies!• MBR → A
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
• B→MAR
• Lies!• MBR → A• Store (Schreiben)
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
• B→MAR
• Lies!• MBR → A• Store (Schreiben)
• B→MAR
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
• B→MAR
• Lies!• MBR → A• Store (Schreiben)
• B→MAR
• Ergebnis → MBR
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Micro-Code
A
R Ergebnis
ALU
B Register
MBR
MAR
A−Bus B−Bus
Arithmetic Logic Unit
R−Bus
• Load (Lesen)
• B→MAR
• Lies!• MBR → A• Store (Schreiben)
• B→MAR
• Ergebnis → MBR
• Schreib!
Computer-Architektur – Ein Uberblick – p.15/27
Prozessor - Befehle
• Transfer-Operationen (Load, Store)
Computer-Architektur – Ein Uberblick – p.16/27
Prozessor - Befehle
• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store
Computer-Architektur – Ein Uberblick – p.16/27
Prozessor - Befehle
• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store• Arithmetische Operationen
Computer-Architektur – Ein Uberblick – p.16/27
Prozessor - Befehle
• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store• Arithmetische Operationen• Logische Operationen
Computer-Architektur – Ein Uberblick – 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 Uberblick – 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 Uberblick – p.16/27
Beispielprogramm
• Voraussetzungen:
Computer-Architektur – Ein Uberblick – p.17/27
Beispielprogramm
• Voraussetzungen:
• Speicheraddresse 0815: 25
Computer-Architektur – Ein Uberblick – p.17/27
Beispielprogramm
• Voraussetzungen:
• Speicheraddresse 0815: 25• Speicheraddresse 4711: 19
Computer-Architektur – Ein Uberblick – p.17/27
Beispielprogramm
• Programm:
Computer-Architektur – Ein Uberblick – p.18/27
Beispielprogramm
• Programm:
• Load(0815)
Computer-Architektur – Ein Uberblick – p.18/27
Beispielprogramm
• Programm:
• Load(0815)• A → R
Computer-Architektur – Ein Uberblick – p.18/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)
Computer-Architektur – Ein Uberblick – p.18/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A
Computer-Architektur – Ein Uberblick – p.18/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)
Computer-Architektur – Ein Uberblick – p.18/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)
Computer-Architektur – Ein Uberblick – p.18/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A
Computer-Architektur – Ein Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – p.18/27
Frage
• Programm-Code
Computer-Architektur – Ein Uberblick – p.19/27
Frage
• Programm-Code• Wo ist das Programm gespeichert?
Computer-Architektur – Ein Uberblick – p.19/27
Frage
• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!
Computer-Architektur – Ein Uberblick – p.19/27
Frage
• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!• von Neumann-Architektur
Computer-Architektur – Ein Uberblick – p.19/27
Frage
• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!• von Neumann-Architektur• John von Neumann (1903–1957)
Computer-Architektur – Ein Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – p.19/27
Instruction Register
• zusätzliches Register (IR)
Computer-Architektur – Ein Uberblick – p.20/27
Instruction Register
• zusätzliches Register (IR)• beinhaltet den Befehl
Computer-Architektur – Ein Uberblick – p.20/27
Programm Counter
• zusätzliches Register (PC)
Computer-Architektur – Ein Uberblick – p.21/27
Programm Counter
• zusätzliches Register (PC)• beinhaltet die Adresse, wo Befehl gespeichert ist
Computer-Architektur – Ein Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – p.21/27
Programm-Codierung
• Platzersparnis
Computer-Architektur – Ein Uberblick – p.22/27
Programm-Codierung
• Platzersparnis• Codierung als 0/1-Folgen
Computer-Architektur – Ein Uberblick – p.22/27
Beispielprogramm (noch einmal. . . )
• Voraussetzungen:
Computer-Architektur – Ein Uberblick – p.23/27
Beispielprogramm (noch einmal. . . )
• Voraussetzungen:
• Speicheradresse 0815: 25
Computer-Architektur – Ein Uberblick – p.23/27
Beispielprogramm (noch einmal. . . )
• Voraussetzungen:
• Speicheradresse 0815: 25• Speicheradresse 4711: 19
Computer-Architektur – Ein Uberblick – p.23/27
Beispielprogramm (noch einmal. . . )
• Voraussetzungen:
• Speicheradresse 0815: 25• Speicheradresse 4711: 19• Programm gespeichert ab Adresse: 1704
Computer-Architektur – Ein Uberblick – p.23/27
Beispielprogramm (noch einmal. . . )
• Voraussetzungen:
• Speicheradresse 0815: 25• Speicheradresse 4711: 19• Programm gespeichert ab Adresse: 1704• PC = 1704
Computer-Architektur – Ein Uberblick – p.23/27
Beispielprogramm
• Programm:
Computer-Architektur – Ein Uberblick – p.24/27
Beispielprogramm
• Programm:
• Load(0815)
Computer-Architektur – Ein Uberblick – p.24/27
Beispielprogramm
• Programm:
• Load(0815)• A → R
Computer-Architektur – Ein Uberblick – p.24/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)
Computer-Architektur – Ein Uberblick – p.24/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A
Computer-Architektur – Ein Uberblick – p.24/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)
Computer-Architektur – Ein Uberblick – p.24/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)
Computer-Architektur – Ein Uberblick – p.24/27
Beispielprogramm
• Programm:
• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A
Computer-Architektur – Ein Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – p.24/27
Performance
• MIPS (Million Instructions per Second)
Computer-Architektur – Ein Uberblick – p.25/27
Performance
• MIPS (Million Instructions per Second)
•
Intel 8080 0,640 MIPS bei 2 MHz 1974Motorola 68000 1 MIPS bei 8 MHz 1979ARM 7500FE 35,9 MIPS bei 40 MHz 1996Intel 486DX 54 MIPS bei 66 MHz 1992Zilog eZ80 80 MIPS bei 50 MHz 1998ARM10 400 MIPS bei 300 MHz 1999Athlon 64 8400 MIPS bei 2,8 GHz 2005
Computer-Architektur – Ein Uberblick – p.25/27
Frage
• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?
Computer-Architektur – Ein Uberblick – p.26/27
Frage
• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?
• Das Programm ändert seinen eigenen Programm-Code!
Computer-Architektur – Ein Uberblick – p.26/27
Frage
• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?
• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm
Computer-Architektur – Ein Uberblick – p.26/27
Frage
• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?
• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm• nicht erwünscht
Computer-Architektur – Ein Uberblick – p.26/27
Frage
• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?
• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm• nicht erwünscht• Wer überprüft das?
Computer-Architektur – Ein Uberblick – p.26/27
Frage
• Was wäre, wenn Datum statt unter 0815unter 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 Uberblick – p.26/27
Frage
• Was wäre, wenn Datum statt unter 0815unter 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 Uberblick – p.26/27
Noch ein Beispiel
• Load(0815)
Computer-Architektur – Ein Uberblick – p.27/27
Noch ein Beispiel
• Load(0815)• A → R
Computer-Architektur – Ein Uberblick – p.27/27
Noch ein Beispiel
• Load(0815)• A → R• Load(4711)
Computer-Architektur – Ein Uberblick – p.27/27
Noch ein Beispiel
• Load(0815)• A → R• Load(4711)• if A < R goto 1715
Computer-Architektur – Ein Uberblick – p.27/27
Noch ein Beispiel
• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)
Computer-Architektur – Ein Uberblick – p.27/27
Noch ein Beispiel
• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)
Computer-Architektur – Ein Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – 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 Uberblick – p.27/27
top related