Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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/