Rechnerarchitektur computer - was steckt drin? · 2019. 2. 17. · • HP hat im Juni 2014 eine...
Transcript of Rechnerarchitektur computer - was steckt drin? · 2019. 2. 17. · • HP hat im Juni 2014 eine...
-
Rechnerarchitektur computer - was steckt drin?�1
-
Traditionelle Rechner
�2
-
Modernere Rechner
�3
-
Noch Modernere Rechner
�4
-
Ein Mac ist noch cooler...
�5
-
Rechner Vor 3 Jahren
�6
-
Rechner Heute
�7
-
Rechner Der Zukunft
�8
features Windows 7!!!
-
Aufbau eines Computersystems
�9
Hauptkomponenten eines Computers • Prozessor (Central Processing Unit, CPU) • Arbeitsspeicher (Hauptspeicher, RAM) • Peripheriegeräte
Eingabegeräte: Tastatur, Maus, Scanner, Digitalkamera, Sensoren Ausgabegeräte: Monitor, Lautsprecher, Drucker, Beamer Datenspeichergeräte: Festplatte, CD, DVD, Diskette, Magnetband Kommunikation: Netzwerkkarte, WLAN-Karte, DSL, ISDN
-
Anforderungen
• Machine soll rechnen können!
• Universell einsetzbar (keine spezielle Maschine!)
• Eingabemöglichkeiten
• Ausgabemöglichkeiten
• Soll unangenehme Arbeit abnehmen
�10
Wie baut man so eine Maschine?!
-
Mechanische Ansätze
�11
Arithmometer von 1820
-
Mechanische Ansätze
�12
Mechanischer Rechner von 1914 (bis 1970er im Gebrauch!)
-
Von-Neumann
• Schlägt theoretisches Modell einer universellen Maschine vor
• Erstmals umgesetzt von Konrad Zuse 1937/38 in der „Zuse Z1“
�13
-
Zuse Z1
�14
-
Zuse Z1
�15
-
Von-Neumann-Architektur
�16
Central Processing UnitOft auch ALU genannt (arithmetic logic unit)
-
Von-Neumann-Architektur
�17
-
Von-Neumann-Architektur
�18
-
�19
ArbeitsauftragErkunde im Internet die Bedeutung der unterschiedlichen von Neumann-Komponenten!
-
Von-Neumann-Architektur
�20
Arithmetic Logic Unit
-
Beispiel: Multiplikation zweier Variablen
�21
-
Von-Neumann-Architektur
�22
-
�23
ArbeitsauftragErkunde im Internet den feststehenden Begriff "von Neumann-Flaschenhals" und notiere die Bedeutung!
GANZ WICHTIGER BEGRIFF FÜR ABITUR!
-
Von-Neumann-Flaschenhals
�24
Programm und Daten liegen im gleichen Speicher und jeder Befehl muss Schritt für Schritt, nacheinander abgearbeitet werden (keine Parallelität vorhanden)
-
Neue Architektur
• HP hat im Juni 2014 eine neue Rechnerarchitektur vorgestellt - „The Machine“
• Keine Separaten Register-, RAM- und Longterm-Speicher sondern nur noch ein Speicher, der extrem schnell, extrem groß und extrem energiearm ist! --> REFERATTHEMA!!!
�25
-
Registermaschine
• Theoretische Umsetzung der Von-Neumann-Architektur
• Aktuelle Mikroprozessoren basieren auf dem Modell der Registermaschine
�26
-
Von-Neumann-Rechner sind Registermaschinen
• Arbeitsspeicher/Arbeitsregister enthält Programme
• Viele schnelle Speicher, die sog. Register:
➡ Der Befehlszähler (BZ)
➡ Das Befehlsregister (BR)
➡ Das Statusregister (SR)
➡ Die Datenregister (A, R1, R2, R3, ...)
‣ A ist der Akkumulator und hat eine besondere Bedeutung
�27
-
Wie programmiert man Registermaschinen?
• Mit Java?
• Mit C++?
• NEIN!
�28
-
Wie programmiert man Registermaschinen?
Assembler
�29
-
Assembler
�30
-
Assembler
• Elementare aber Turing-vollständige Sprache
• Maschinennah (auf Registern arbeitend)
• Nur Befehle sind verwendbar, welche die Maschine (der Prozessor) versteht
• Je nach Prozessor sieht der ASSEMBLER also unterschiedlich aus!
�31
-
Assembler-Befehle
• Transportbefehle
• Arithmetische Rechenbefehle
• Sprungbefehle
• Logische Befehle
• END-Befehl
�32
-
UNsere Registermaschine (Arbeitsspeicher-Bytes nennen sich hier Register)
�33
Minimaschine: http://schule.awiedemann.de/minimaschine.html
http://schule.awiedemann.de/minimaschine.html
-
Assembler-Befehle• Transportbefehle
• Arithmetische Rechenbefehle
• Sprungbefehle
• Logische Befehle
• END-Befehl
�34
-
Minimaschine
�35
CPU-Kontrolle Editor-Fenster
Speicheranzeige
-
Bedienung der Minimaschine
1.Code im Editorfenster schreiben & speichern
2.Code assemblieren - d.h. auf Maschinensprache (Einser&Nuller) übersetzen und in den Speicher laden Speicheranzeige wird sich verändern
3.Einzelschrittausführung im CPU-Fenster
�36
-
Beispiel: Quader-Volumen
�37
ASSEMBLIEREN...
-
Beispiel: Quader-Volumen
�38
laenge an Speicherzelle 10 mit Wert 2
Lade (Code 276) Wert aus Zelle 10
-
WICHTIG FÜR ABITUR: Begriff „Befehlszyklus“
�39
Vgl. Abituraufgabe 2018 (auf Webheft updaten!)
-
WICHTIG FÜR ABITUR: Begriff „Befehlszyklus“
�40
Vgl. Abituraufgabe 2018 (auf Webheft updaten!)
Begriff „Opcode“
-
�41
Erste einfache Programme:
- Addiere zwei Zahlen
- Addiere 32767 und 1 (Was geschieht?)
- Subtrahiere zwei Ganzzahlen (Werden negative Ergebnisse dargestellt?)
- Multipliziere zwei Brüche (Z1,N1,Z2,N2)
-
�42
Arbeitsauftrag
• Schreibe ein Assembler-Programm welches zu einem gegebenen Preis OHNE Mehrwertsteuer den Vollpreis inklusive MwSt. ermittelt!
• Es funktionieren nur Preise bis 2,75€ - Warum?
-
Vielleicht so?# Programmstart
LOAD preis
MUL steuerFaktor
STORE preis
DIVI 100
STORE ganzerAnt
LOADpreis
MODI100
STORE nachkomma
HOLD
# Datasegment
preis: WORD 275
steuerFaktor: WORD 119
ganzerAnt: WORD 0
nachkomma: WORD 0 �43
Warum sind nur Preise bis 2,75€ berechenbar?
-
Alternative Lösung - etwas besser?
# Programmstart
LOAD preis
MUL steuerFaktor
STORE preis
DIVI 10
STORE brutto
HOLD
# Datasegment
preis: WORD 275
steuerFaktor: WORD 19
brutto: WORD 0
�44
Mit dieser Lösung sind auch höhere Preise möglich (Erg hier nur in cent)
-
Algorithmische Strukturelemente
• Bisherige Aufgaben nur Sequenzen von Anweisungen
�45
umfang-berechnen
flaeche-berechnen
werte-ausgeben
neuen-x-wert-holen
HochspracheStruktogramm
-
Algorithmische Strukturelemente
Es fehlen Strukturelemente jeder höheren Programmiersprache:
• Einseitige / mehrseitige bedingte Anweisung
• Bedingte Wiederholung
• Zählende Wiederholung
�46
-
# Algorithmus um ein Produkt mittels wiederholter Addition zu berechen.
LOADI 0
STORE Produkt # Ergebnis vorbesetzen
Start: # Start der Wiederholung
LOAD Faktor1
JMPNP Ende # Zu "Ende" springen, falls der Zähler kleiner gleich 0 geworden ist
SUBI 1 # Zähler erniedrigen
STORE Faktor1
LOAD Produkt
ADD Faktor2
STORE Produkt # Ergebnis updaten
JMP Start
Ende:
HOLD # Maschine anhalten
# Datenteil
Faktor1: WORD 5
Faktor2: WORD 4 # Der zweite Faktor wird fortwährend addiert
Produkt: WORD 0 # Platz für das Ergebnis
Multiplikation durch Addition - komplexere Programme
�47
# Der erste Faktor dient als Zähler für die
# Wiederholung der Addition
-
�48
Abitur 2018: BEFEHLSZÄHLER
-
�49
Abitur 2018: BEFEHLSZÄHLER
-
�50
Arbeitsauftrag• Schreibe ein Assemblerprogramm zur Berechnung der
Potenz.
• Bsp: Drei hoch Fünf
-
�51
Arbeitsauftrag• Ergänze zunächst den
Java Code, um die Struktogramme zu verstehen!
• Probiere dann mit der Manual der Minimaschine eine Übersetzung in Assembler zu finden!
-
Kannst Du das Struktogramm lesen? Notiere den zugehörigen Algorithmus in Pseudocode!
�52
-
Arbeitsauftrag das Programm überschreibt sich selbst...Buch Seite 102 oben:
Passe die Assembler-Programme an die Minimaschine an!
Zeichne den Code als Struktogramm!
�53
Vorsicht: Programm 1 ist auf Speichereffizienz ausgerichtet. NACHDEM DLOAD 65 ausgeführt wurde, wird in Register 1 gespeichert und soweiter. Dadurch werden keine Register verschwendet. Das Programm überschreibt sicht mit Ergebnissen selbst, da es die Ergebnisse seiner Operationen auf die anfänglichen Speicherzellen schreibt, in denn OP-Codes standen
-
Wie oft hört man die Gläser klingen, wenn n Menschen miteinander anstoßen?
�54
1. Notiere auf einem Blatt den Assemblercode2. Notiere für die ersten 10 Arbeitsschritte die Belegung aller Register
Akkumulator BZ Var1 Var2...0 0 10 0
Achtung! Befehlszähler oder Programmzähler ist das Gleiche
-
War 2018 ein Schaltjahr?
�55
1. Notiere auf einem Blatt den Assemblercode2. Notiere für die ersten 10 Arbeitsschritte die Belegung aller Register
Akkumulator BZ Var1 Var2...0 0 10 0
-
Reale Maschinen
�56
-
Echte Prozessoren heute
• Ergebnisse von Rechnungen können in beliebige Register gespeichert werden
• Datentypen werden unterschieden: Byte (B, 8bit), Halbwort (H,16bit), Wort (W,32bit), Fließkomma (F, 32bit)
�57
ADD W R3, R8, R5
-
Referatthemen
• Maschinensprache zu Hochsprache (113-115)
• Darstellung von Datentypen (116+117)
• Geschichte des Computers (118-121)
• Die x86-Architektur (Realmode vs Protectedm)
• Binärarithmetik (mit meinem AB)
�58
Lewis maschinensprche zu Hochsprache
Roman Geschichte des Computers
Julian M x86 Architektur
Michael E Datentypen
-
Binärarithmetik
Gemeinsames Erarbeiten des Arbeitsblattes...
�59
-
�60
Wie macht das die Minimachine?
Überprüfe den Speicherin hexadezimal!
-
�61
Wie macht das die Minimachine?
Überprüfe den Speicherin hexadezimal!
-
Zum Üben von Umrechnungen:
�62
http://manderc.com/concepts/umrechner/