Rechnerarchitektur computer - was steckt drin? · 2019. 2. 17. · • HP hat im Juni 2014 eine...

62
Rechnerarchitektur computer - was steckt drin? 1

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/