Informatik I Aufbau und Funktionsweise eines Computers, abstrakte Maschinenmodelle

Ähnliche Dokumente
Informatik I Aufbau und Funktionsweise eines Computers, abstrakte Maschinenmodelle

Informatik I Aufbau und Funktionsweise eines Computers, abstrakte Maschinenmodelle

Aufbau von modernen Computersystemen

L3. Datenmanipulation

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2.2 Rechnerorganisation: Aufbau und Funktionsweise


Prinzipieller Aufbau und Funktionsweise eines Prozessors

Die Mikroprogrammebene eines Rechners

Computer-Architektur Ein Überblick

Grundlagen der Rechnerarchitektur. Einführung

Aufbau und Funktionsweise eines Computers

Rechner Architektur. Martin Gülck

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at

Mikroprozessor als universeller digitaler Baustein

Grundlagen der Rechnerarchitektur

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Kap 4. 4 Die Mikroprogrammebene eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU

Teil VIII Von Neumann Rechner 1

Der Toy Rechner Ein einfacher Mikrorechner

Angewandte Informatik

Vorlesung Rechnerarchitektur. Einführung

Technische Informatik - Eine Einführung

Grundlagen der Rechnerarchitektur

Im Original veränderbare Word-Dateien

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Arithmetische und Logische Einheit (ALU)

Von-Neumann-Architektur

Rechner- organisa-on 2 TOY. Karl C. Posch.

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Technische Informatik 1

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Philipp Grasl PROZESSOREN

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

1. Übung - Einführung/Rechnerarchitektur

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Rechnerstrukturen 1: Der Sehr Einfache Computer

Instruktionssatz-Architektur

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Neue Prozessor-Architekturen für Desktop-PC

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

Aufbau und Funktionsweise eines Computers

Teil 1: Prozessorstrukturen

C. BABBAGE ( ): Programmgesteuerter (mechanischer) Rechner

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen

Ein kleines Computer-Lexikon

Rechnerorganisation. 1. Juni 201 KC Posch

B Einführung. 1 Historische Entwicklung. 1 Historische Entwicklung (3) 1 Historische Entwicklung (2)

Arbeitsfolien - Teil 4 CISC und RISC

3. Rechnerarchitektur

Aufbau und Funktionsweise eines Computers

FAKULTÄT FÜR INFORMATIK

Datenpfad einer einfachen MIPS CPU

Das Prinzip an einem alltäglichen Beispiel

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

DIGITALE SCHALTUNGEN II

"Organisation und Technologie von Rechensystemen 4"

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Aufbau und Funktionsweise eines Computers

Fragenkatalog Computersysteme Test 25. April 2008

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Vorlesung 3: Verschiedenes

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

ZENTRALEINHEITEN GRUPPE

Brückenkurs / Computer

Was ist die Performance Ratio?

H E F B G D. C. DLX Rechnerkern

Johann Wolfgang Goethe-Universität

Informatikgrundlagen I Grundlagen der Informatik I

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Grundlagen: Algorithmen und Datenstrukturen

Einführung in die Informatik

Rechnerorganisation. Einleitung. Karl C. Posch. co1.ro_

Rechnergrundlagen. Vom Rechenwerk zum Universalrechner

Mikroprozessortechnik Grundlagen 1

Teil 1: Prozessorstrukturen

Grundlagen der Informatik

Technische Informatik I, SS 2001

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Beschaffung vom Informationssystemen Datenorganisation Kommunikation

Teil 2: Rechnerorganisation

, 2014W Übungsgruppen: Mo., Mi.,

Vorlesung Programmieren

Vorlesung Programmieren. Inhalt. Funktionsweise von Computern. Ein Blick zurück. 1. Ein Blick zurück. 2.

Betriebssysteme Vorstellung

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981

Fachbereich Medienproduktion

Grundlagen der Informatik für Ingenieure. 3. Grundlagen der Rechnerarchitektur

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Technische Informatik 1 - HS 2016

Grundlagen der Rechnerarchitektur. Einführung

Transkript:

// Arbeitsweise eines Computers Informatik I Aufbau und Funktionsweise eines Computers, abstrakte Maschinenmodelle Eingabe (Input) Computer Programm Ausgabe (Output) G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Computer Programm legt die Bearbeitung der Eingaben fest kann fast beliebige Aufgaben übernehmen Universalrechner G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers Internet Zwischen Hardware und User weltweite Vernetzung praktisch aller Computer ("Das Internet ist der Computer") ist in Wahrheit ein Netz von Netzen ISP Internet Service Provider (ISP) ISP ISP ISP Weiter Weg von der Hardware bis zum User Hardwareebene CPU (Central Processing Unit) kann nicht viel mehr als - Speicherinhalte in Register auf der CPU laden - Registerinhalte in den Speicher ablegen - Registerinhalte logisch oder arithmetisch verknüpfen - Registerinhalte mit Peripheriegeräten austauschen Benutzerebene User möchte z.b. - Briefe editieren und drucken - Photos bearbeiten - Computerspiele ausführen G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4

// Hardware Anwendungsprogramme Speicher Kleinste Speichereinheit hat Zustände Anforderungen Anwendungsprogramm z.b. Word, Excel, Netscape, Photoshop, Schach,... Graphisches User-Interface (GUI) Verwaltung von Fenstern, Menüs, Maus, Ereignissen,... Betriebssystem (operating system) Dateisystem, Speicherverwaltung, Prozeßsystem,... Hardware Prozessor, Speicher, Laufwerke, Bildschirm,... Bereitstellung von Diensten Bit Zustände werden i.a. mit und bezeichnet Mit Speichereinheiten =4 Zustände darstellbar Mit Bit sind = Zustände darstellbar Bit = Byte Heutzutage sind Bytes die kleinsten adressierbaren Speichereinheiten - Kleinere Einheiten müssen aus einem Byte extrahiert werden Viele Daten benötigen 4 Byte = Wort Bit Bit Zustand Zustand Zustand Zustand 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers Kilo, Mega, Giga In der Informatik wird mit kilo meist 4= gemeint kbyte = 4 Byte Mit Mega 4 4= - MByte = 4 kbyte Mit Giga 4 4 4= 3 - GByte = 4 MByte Entsprechend kbit, MBit - Manchmal auch kb für kbyte und kb für kbit (entsprechend MB, Mb, GB, Gb) Widerspricht eigentlich dem normierten Sprachgebrauch, in dem k immer, und M immer bezeichnen muß Festplattenhersteller benutzen diesen normierten Sprachgebrauch Damit scheint die Speicherkapazität etwa höher Weitere Einheiten: Wort (word) = 4 Byte Heutige Rechner können meist 3 Bit oder 4 Bit auf einmal verarbeiten Pentium noch 3 Bit Itanium- Prozessor schon mit 4 Bit Spiele-Konsolen schon ab 4-Bit CPUs G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers

// Adressen Famous last words Jedes Byte im Speicher hat eine Nummer = Adresse Mit Speicheradressen von 3 Bit können 3 Byte = 4 3 Byte = 4 Gbyte = 4 MByte adressiert werden 4 Bit ergeben 4 Byte = 34 Gbyte Gbyte adressiert werden Wenn ein Wort aus den Bytes mit den Adressen n, n+, n+, n+3 besteht, dann ist n die Adresse des Worts In einem Speichermodul sind die Werte von n, die durch 4 teilbar sind, die natürlichen Grenzen für Worte An solchen Stellen beginnende Worte sind an den Wortgrenzen (word boundary) ausgerichtet (aligned) Adresse RAM Datum Bill Gates in : 4 K ought to be enough for anybody, Thomas Watson, chairman of IBM in 43: I think there is a world market for five computers only. G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers Big endian, Little endian Ein Wort fängt immer mit dem am weitesten links stehenden Byte an in dem die Bits mit den höchsten Nummern (=Wertigkeiten) stehen Es endet mit dem am weitesten rechts stehenden in dem die niederwertigsten Bits stehen Frage: Beginnt die Zählung n, n+, n+, n+3 der Bytes links oder rechts? Auf diese Frage gibt es beide Antworten! Sowohl Big Endian als auch Little Endian werden benutzt SUN SPARC, IBM Mainframes, und SGI sind Big Endian Die Intel Familie ist Little Endian Dieser Unterschied macht dann große Probleme, wenn ein Wort byteweise zwischen verschiedenen Computern übermittelt wird Das "NUXI"-Problem Little Endian n+3 n+ n+ n Beispiel: Repräsentation von 3..4 3...... Big Endian n n+ n+ n+3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3

// Organisation der Hardware Architektur eines einfachen Computersystems mit Bus Architektur eines PC Systems mit mehreren Bussen an Brücken CPU L Cache Level Cache System-Bus 33 MHz PCI Brücke Hauptspeicher PCI Bus, 33 MHz, 33 MB/s freier PCI Steckplatz USB Grafik Adapter SCS Bildschirm ISA Brücke ATA IDE Platte Maus Tastatur ISA Bus,,33 MHz,, MB/s CPU = Central Processing Unit freier ISA Steckplatz Modem Soundkarte Drucker G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4 Prozessor und Programmausführung Chip Technik CPU = Steuerwerk + ALU + FPU + Register + Cache Steuerwerk = holt aus Speicher Befehle und interpretiert sie, sorgt für den richtigen Datenfluß in der CPU, ALU (arithmetic-logic unit) = "einfache" Operationen (+) FPU (floating-point unit) = Operationen auf reellen Zahlen Register = "Variablen" (typ. ca. 4 Stück) Cache = sehr schneller Zwischenspeicher Befehle sind in Maschinensprache CISC = complex instruction set computer RISC = reduced instruction set computer CPU in VLSI Technik VLSI=very large scale integration Transistoren als Grundstruktur Größenordnung - nm (Nanometer) Moore's Law: Anzahl Transistoren/Chip verdoppelt sich in jeweils Monaten (eigtl. Jahre) D.h., exponentielles Wachstum! Pentium II: Mill. Transistoren Itanium-: Mill. Transistoren Phys. Grenze ( Transistor besteht aus wenigen Atome) um - Was kommt dann???? G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4

// Ein paar Takte zur Geschwindigkeit... Leistungssteigerung der CPUs Chips sind getaktet : Pro Takt wird eine einfache Operation ausgeführt heute 4 GHz: Takt =. ns Lichtstrecke bei. ns =, cm Im Abstand von cm beobachten (z.b. per Radio) wir am Chip also die vergangenen Zustände von vor Takten! Komplexe Operationen brauchen mehrere Takte (z.b. Mult, externe Operanden holen) Partielle Lösung: pipelining Neues Problem: bei Sprüngen alles umsonst (pipeline invalidation) Lösung hierzu: viele Register, schnelle Zwischenspeicher (Caches) MFLOPS = Million Floating Point Operations Per Second MFLOP = Gleitkommaoperationen pro Sekunde MFLOPS,, > Transistoren/Chip - > NB: TeraFLOP-Rennen (früher GFLOP-Rennen) im Super- Computer-Bereich Siehe top.org BlueGene (IBM), Altix (SGI), EarthSimulator (NEC), G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers Trend Itanium- (): Mio Transistoren 3MB L3-Cache.4 GByte/sec IO Dallas Morning News, Nov Mehrere "Cores" um Cache herum anordnen G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers

// Von Neumann Architektur 3, MHz : Pentium IV, 3 GHz Daten und Programm gemeinsam im Hauptspeicher Mbyte RAM 4 MB Platte 4 bit/sec (Baud) DOS VGA (4x4) 4: : 4: ca. 4: Gbyte RAM GB Platte Mbit/sec (DSL) DOS / WinNT x4 "Moore's Wall" Fundamentaler Instruktionszyklus Spezielles Register mit Befehlszähler (program counter = PC) enthält Adresse des aktuellen Maschinenbefehls 3 - Programm Central Processing Unit Arithmetic Logic Unit ALU FPU Reg. Speicher CPU Daten Cache (Vorratslager) Eingabegeräte Ausgabegeräte Floating Point Unit G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers Fundamentaler Instruktionszyklus Beispiel: Der TOY-Computer Fetch: Hole den Befehl, dessen Adresse im Befehlszähler steht, aus dem Speicher in das Befehlsregister Increment: Inkrementiere den Befehlszähler, damit er auf die nächste auszuführende Instruktion weist Decode: Dekodiere die Instruktion, damit klar wird, was zu tun ist Fetch operands: Falls nötig, hole die Operanden aus den im Befehl bezeichneten Stellen im Speicher Execute: Führe die Instruktion aus, ggf. durch die ALU. (Bei einem Sprung wird neuer Wert in das Befehlsregister geschrieben.) Loop: Gehe zum ersten Schritt (Fetch) Quelle: http://www.cs.princeton.edu/introcs/machine/ (courtesy Robert Sedgewick and Kevin Wayne. ) G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4

// Was ist TOY? Eine gedachte Maschine ähnlich zu alten Computern heutigen Mikroprozessoren Warum beschäftigt man sich damit? Maschinensprache - Jedes Programm wird früher oder später in irgend einer Form in Maschinensprache übersetzt - in manchen Bereichen/Situationen heute noch notwendig Computerarchitektur - wie ist ein Computer aufgebaut? - wie funktioniert er? vereinfachte Maschine - beinhaltet das Wesentliche eines echten Computers Pentium Celeron G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers Was ist in der Box Daten und Programme sind binär codiert Schalter Eingabe der Daten und Programme Lämpchen Zeigen Daten an Register schnellste Form des Speichers Verwendung als Variablen während der Berechnung Register, jedes speichert Bit Register ist immer Program counter (PC) ein extra -Bit Register behält nächste auszuführende Anweisung im Auge Datenspeicher speichert Daten und Programme Wörter" - ein TOY-Wort hat Bit Adresse (= FF) für I/O Arithmetic-logic unit (ALU) verarbeitet Daten Jedes Bit hat Zustände: Der Schalter ist ON oder OFF. Spannung oder keine Spannung. oder. Wahr oder falsch. Wie stellt man Zahlen dar? Verwendung binärer Codierung. Bsp: 3 = 4 3 = 3 4 3 + + + + + + + + Dec 3 4 Bin Dec 3 4 Bin 3 = 4 +4 + +4 +3 +4 + + G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers

// Shorthand-Notation Der Core-Dump Verwendung hexadezimaler (Basis ) Zahlendarstellung. Binärer Code, 4 Bits auf einmal. Bsp: 3 = = E 4 3 3 = 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4 3? E = 4 + + 4 Dec 3 4 Bin Hex + 4 + 4 3 4 Dec 3 4 Bin + + + + Hex A B C D E F Kompletter Inhalt der Maschine (Speicher + Register) zu bestimmter Zeit. R Aufzeichung was das Programm getan hat. Legt komplett fest, was Maschine tun wird. Registers R4 R R R R3 RC R R RD R RA RE R RB RF PC Nächste Anweisung Daten Programm Variablen : : : A B CAB C : : :.. Main Memory E: F: F: G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 Warum heißt es core? Eins dieser berühmten Zitate ( Er könnte nicht mehr daneben liegen") von : Howard Aiken, leitender Designer des Mark I, während einer Unterhaltung mit John Curtiss, vom National Council of Investigation of the USA: Wir werden niemals genug Probleme haben, um genug Arbeit zu haben, damit Computer daran arbeiten könnten." G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3

// Ein Beispielprogramm Load Ein Beispielprogramm. Addition + = D (hex) RA RB RC PC : : : : A add.toy RA mem[] Opcode [opcode = operation code] Lade Inhalt einer Speicherstelle in ein Register. A = Lade Inhalt von Zelle in Register A. RA RB RC pc : : : add.toy Register : : 3: 4: B RB mem[] CAB RC RA + RB C mem[] RC halt Datenspeicher Register : : : 3: 4: A B CAB C RA mem[] RB mem[] RC RA + RB mem[] RC halt 4 3 4 3 Wegen PC =, interpretiert die Maschine A als einen Maschinenbefehl.? A opcode dest d addr G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 33 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 34 Add B = Lade Inhalt von Zelle in Register B. Opcode Addiere Inhalt von Registern und speichere in Ziel-Register RA RB RC pc : : : add.toy CAB = Addiere Inhalt von A und B und gebe Ergebnis in Register C. RA RB RC PC : : : add.toy Register : : : 3: 4: A B CAB C RA mem[] RB mem[] RC RA + RB mem[] RC halt Register : : : 3: 4: A B CAB C RA mem[] RB mem[] RC RA + RB mem[] RC halt 4 3 4 3 4 3 4 3?? B opcode dest d addr C opcode dest d A B source s source t G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3

// Store Halt opcode Opcode Speichere Inhalt eines Registers in einer Speicherzelle. Maschine anhalten. C = Speichere Inhalt von Register A in Speicherzelle. RA RB RC PC : : : add.toy RA RB RC pc : : : add.toy Register D 3 : : : 3: 4: A B CAB C RA mem[] RB mem[] RC RA + RB mem[] RC halt Register D 4 : : : 3: 4: A B CAB C RA mem[] RB mem[] RC RA + RB mem[] RC halt 4 3 4 3? C opcode dest d addr G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 Programm und Daten TOY Instruction Set Architecture Programm: Sequenz von Anweisungen. Anweisungstypen: -Bit Wort (interpretiert auf eine Weise). Ändert den Inhalt von Registern, Datenspeicher und PC in spezifischer, wohl-definierter Weise. Daten: -Bit Wort (interpretiert auf eine andere Weise). Program counter (PC): speichert Addressen der "nächsten Anweisung." Instructions : halt : add : subtract 3: and 4: xor : shift left : shift right : load address : load : store A: load indirect B: store indirect C: branch zero D: branch positive E: jump register F: jump and link TOY instruction set architecture (ISA). Definiert Aufbau und genaues Verhalten jeder Instruktion Register, Wörter des Hauptspeichers, -Bit Wörter. Anweisungen. Jede Anweisung besteht aus Bits. Bits - codieren einen von Anweisungsarten oder opcodes. Bits - codieren Zielregister d. Bits - codieren, ja nach Opcode: - Format : Quellenregister s und t - Format : -Bit Speicheradresse oder Konstante Format Format 4 3 4 3? opcode dest d source s source t opcode dest d addr G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 3 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4

// Bedienung des TOY-Computers Benutzung der TOY Maschine: Run Wie man ein Programm eingibt:. Setze Speicheradressenschalter.. Setze Datenschalter. 3. Drücke LOAD. Um das Programm zu starten: Setze Speicheradressenschalter auf die Adresse der ersten Anweisung Drücke LOOK um den PC auf erste Anweisung zu setzen. Drücke RUN Button - führt Fetch-Execute-Zyklus bis zum halt opcode durch Wie man das Resultat abruft: Setze Speicheradressenschalter. Drücke LOOK: Inhalt des adressierten Wortes erscheint an Lämpchen Fetch-Execute-Zyklus FETCH: Anweisung vom Speicher holen. EXECUTE: PC erhöhen, Daten zu oder aus Speicher und Registern bewegen, Berechnungen durchführen. Fetch Execute G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4 Programmieren der TOY-Maschine Beispiel: Multiplikation Um die volle Mächtigkeit zu haben, brauchen wir Schleifen und Bedingungen in der TOY-Maschine Idee: PC benutzen, um Programmfluß zu kontrollieren. Ändere PC abhängig von Bedingung in einem Register Springen wenn. (opcode C) ändert PC, abhängig vom Wert einiger Register. zum Implementieren benutzt: for, while, if-else. Springen wenn positiv. (opcode D) Analog. keine direkte Unterstützung in der TOY Hardware. Lade Zahlen a und b, und speicher c = a b. Brute-force Algorithmus: Initialisierung c = b zu c addieren, a mal int a = 3; int b = ; int c = ; while ( a!= ) { c = c + b; a = a - ; } Java ingorierte Probleme: Overflow, langsam, negative Zahlen. G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 43 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 44

// Multiplizieren Step-By-Step Trace R RA RB RC A: 3 3 B: C: Eingabe Ausgabe multiply.toy : AA RA mem[a] : BB RB mem[b] : CD RC mem[d] 3: E R mem[e] 3 D: E: Konstanten 4: CA if (RA == ) pc : CCB RC RC + RB : AA RA RA R : AA RA mem[a] a : BB RB mem[b] b : CD RC mem[d] c = : C4 pc 4 4: CA if (RA == ) pc : CCB RC RC + RB : AA RA RA R 3: E R mem[e] always : C4 pc 4 loop 4: CA if (RA == ) PC while (a!= ) { : CCB RC RC + RB c = c + b : AA RA RA - R a = a - : C4 PC 4 } : CC mem[c] RC : halt 4: CA if (RA == ) pc : CCB RC RC + RB : AA RA RA R : C4 pc 4 4: CA if (RA == ) pc : CC mem[c] RC : halt B G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4 G. Zachmann Informatik - WS / Aufbau und Funktionsweise eines Computers 4