Rechnerstrukturen 1: Der Sehr Einfache Computer

Größe: px
Ab Seite anzeigen:

Download "Rechnerstrukturen 1: Der Sehr Einfache Computer"

Transkript

1 Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten Arbeitsweise Instruktionen Beispielprogramm 1: Addition von 2 Zahlen Instruktionen und Daten im Speicher Maschinencode/Assembler-Code Beispielprogramm 2: Berechnung des Quadrats einer Eingabe Beispielprogramm 3: Berechnung des Durchschnitts beliebiger Eingaben : Der Sehr Einfache Computer Bevor wir uns abstrakt mit dem Thema befassen, werden wir einen sehr viel einfacheren Computer konkret kennen lernen, der nur über einen eingeschränkten Satz an Komponenten und Instruktionen verfügt. 1 Alle hier erwähnten Komponenten und Instruktionen kommen auch in echten Computern vor, sind dort aber wesentlich komplexer zusammengefügt. Komponenten Der Sehr Einfache Computer besitzt die folgenden Komponenten zum Vorhalten von Werten, sowie zu deren Ein- und Ausgabe: A (Accumulator): Ein 32-Bit-Register zum Laden von Speicherinhalt. IP (Instruction Pointer): Ein 28-Bit-Register, das die Speicheraddresse enthält, an der der nächste auszuführenden Befehl steht. M (Memory): Ausreichend Speicher für 2 28 Speicherworte von jeweils 32 Bit Länge. M[n] bezeichnet den Speicherinhalt an Adresse n. IN (Input): Eine Eingabewerk für beliebige 32-Bit-Worte OUT (Output): Eine Ausgabewerk für beliebige 32-Bit-Worte Er besitzt auÿerdem drei weitere Komponenten, die wir uns nicht im Detail anschauen werden: Ein Bus-System, das die übrigen Kompnenten verbindet und ansteuert sowie eine Arithmetical Logical Unit (ALU ), die genutzt wird, um Rechenoperationen oder bitweise logische Operationen durchzuführen. Auÿerdem kommt ein Decodierer/Steuerwerk zum Einsatz, um Instruktionen zu interpretieren. Arbeitsweise Der Sehr Einfache Computer führt immer wieder die folgenden Arbeitsschritte durch: 1. Fetch: Hole die Instruktion, die an der Speicheradresse steht, die in IP angegeben ist. 2. Execute: Führe die Instruktion aus und erhöhe IP um 1, wenn es sich bei der ausgeführten Instruktion nicht um eine der Jump-Anweisungen gehandelt haben sollte (s.u.). 1 Die Idee für den sehr einfachen Computer stammt aus dem Kurs Computer Systems Organization von Ray Toal: < Zugri: > 1

2 Instruktionen Instruktionen haben eine Länge von 32-Bit. Die höherwertigsten 4 Bit bilden den Operation Code (oder Opcode). Die restlichen 28 Bit bezeichnen meist eine Speicheradresse, auf die die Anweisung angewendet wird, sie können aber auch leer sein, bzw. werden bei bestimmten Anweisungen ignoriert. Mit 4 Bit lassen sich 2 4 = 16 verschiedene Anweisungen codieren. In der folgenden Tabelle bezeichnet n die 28-Bit-Adresse, die auf den Opcode folgt. Die Mnemonics stellen Kürzel für die Operationen dar, auf die wir später noch eingehen werden. Opcode Verhalten Mnemonic 0 A = M[n] load 1 M[n] = A store 2 A = A + M[n] add 3 A = A - M[n] sub 4 A = A * M[n] mul 5 A = A / M[n] div 6 A = A AND M[n] and 7 A = A OR M[n] or 8 A = A XOR M[n] xor 9 A = NOT A not A OUT = A write B A = IN read C IP = n jmp D IP = n, falls A = 0 jz E IP = n, falls A < 0 jlz F IP = n, falls A > 0 jgz Diese Instruktionen lassen sich wie folgt gruppieren: Speicherinstruktionen (load, store) Die ersten beiden Instruktionen holen Speicherinhalt von der Adresse n in den Akkumulator A, bzw. schreiben den Akkumulatorwert in den Speicher an die Adresse n. Arithmetische Instruktionen (add, sub, mul, div) Die nächsten vier Instruktionen holen einen Wert aus dem Speicher von Adresse n, führen eine einfache mathematische Operation mit dem Akkumulator und dem Speicherwert aus und schreiben das Ergebnis wieder in den Akkumulator. Logische Instruktionen (and, or, xor, not) Die ersten drei dieser vier Instruktionen führen eine bitweise logische Operation mit dem Akkumulator und einem Wert von Speicheradresse n durch und schreiben das Ergebnis wieder in den Akkumulator. Die not-instruktion negiert den Akkumulator und erwartet keinen Operanden. Eingabe/Ausgabe-Instruktionen (write, read) Zwei Instruktionen zum Ausgeben oder Einlesen eines 32-Bit-Wertes. Der Sehr Einfache Computer wartet bei der Instruktion read, bis ein Eingabewert vorliegt und fährt erst dann mit der nächsten Instruktion fort. 2

3 Jump-Instruktionen (jmp, jz, jlz, jgz) Diese Instruktionen setzen den Instruction Pointer IP auf eine neue Speicheradresse und bewirken damit, dass die Programmausführung an einem anderen Punkt fortgeführt wird. Drei von ihnen werden konditional ausgeführt. Der Sprung an eine andere Programmstelle wird nur vollzogen, wenn der Wert im Akkumulator A die Bedingung erfüllt. Ansonsten wird der Instruction Pointer IP schlicht um 1 erhöht Beispielprogramm 1: Addition von 2 Zahlen Mit den oben beschriebenen Instruktionen können wir nun ein kleines Programm schreiben. Die folgenden hexadezimal geschriebenen 32-Bit-Wörter setzen ein Programm um, das die Zahlen 23 und 42 addiert und das Ergebnis ausgibt. C A A Wir gehen davon aus, dass das Programm im Speicher an der Stelle 0x0 beginnt. Der Speicher M sieht dann wie in Abb. 1 beschrieben aus: Abbildung 1: Beispielprogramm 1 im Speicher Gehen wir zusätzlich davon aus, dass der Instruction Pointer IP zunächst den Wert 0 enthält, dann ist der Programmablauf wie folgt: (Auswirkungen einer Instruktion werden jeweils in der Zeile darunter sichtbar) Schritt IP A OUT IN Instruktion 1 0x C jmp 0x3 2 0x load 0x1 3 0x4 0x2A add 0x2 4 0x5 0x A write 5 0x6 0x41 0x41 -?? Oder ausführlicher: 1. Fetch: Instruktion C wird aus dem Speicher von Stelle M[0x0] geholt. Execute: C bezeichnet die jmp-instruktion, bezeichnet die Speicheradresse 0x3. Folglich wird der Instruction Pointer IP auf den Wert 0x3 gesetzt. 2. Fetch: Instruktion wird aus dem Speicher von Stelle M[0x3] geholt. 3

4 Execute: 0 bezeichnet die load-instruktion, bezeichnet die Speicheradresse 0x1. Folgich wird A auf den Wert von M[0x1] = 2A (dezimal: 42) gesetzt. IP wird wie bei jeder gewöhnlichen Anweisung um 1 erhöht auf 0x4. 3. Fetch: Instruktion wird aus dem Speicher von Stelle M[0x4] geholt. Execute: 2 bezeichnet die add-instruktion, bezeichnet die Speicheradresse 0x2. Folglich wird der Inhalt von M[0x2] = 0x17 auf den vorhandenen Akkumulatorwert addiert. A = 0x2A + 0x A = 0x41 Der Instruction Pointer IP wird wie bei jeder gewöhnlichen Anweisung um 1 erhöht auf 0x5. 4. Fetch: Instruktion A wird aus dem Speicher von Stelle M[0x5] geholt. Execute: A bezeichnet die write-instruktion. Folglich wird der Inhalt des Akkumulators A = 0x41 in das Ausgabewerk OUT geschrieben. Der Rest der Instuktion wird bei einer write-operation nicht benötigt und ignoriert. Der Instruction Pointer IP wird wie gewohnt um 1 erhöht. 5. (Der Sehr Einfache Computer würde jetzt fortfahren den Inhalt des IP = 0x6 als Speicheradresse einer Instruktion zu verstehen, würde diese vom Speicher holen und ausführen. Da wir nicht deniert haben, was an dieser Stelle steht, lässt sich der weitere Programmablauf nicht vorhersehen.) Instruktionen und Daten im Speicher Das Beispielprogramm 1 bestand einfach aus einer Reihe von Speicherwörtern. Diese wurden teilweise als Instruktionen verstanden, teilweise als Werte. Der Programmablauf legt fest, welche Speicherinhalte Instruktionen darstellen und welche Werte. (Prinzipiell würde nichts dagegen sprechen, dass ein Speicherwort ob durch einen Fehler oder mit Absicht in demselben Programmablauf einmal als Wert und einmal als Instruktion verstanden wird.) Abbildung 2: Beispielprogramm 1 im Speicher mit Instruktionen Maschinencode/Assembler-Code Das Beispielprogramm führt eigentlich eine sehr einfache Aufgabe aus. Der Maschinencode dafür ist aber nur mühsam zu verstehen. Statt die Speicherinhalte direkt auszuschreiben wäre es sehr viel einfacher, wenn wir zur Denition des Programms direkt die Mnemonics verwenden könnten: 4

5 0 jmp 0x3 1 0x2A 2 0x17 3 load 0x1 4 add 0x2 5 write Das ist schon etwas besser, aber die Adressierung der Speicherbereiche durch Zahlen ist immer noch schwer nachzuvollziehen. Schön wäre es, wenn wir für diese Speicherbereiche Bezeichnungen oder Label vergeben könnten, die man sich besser merken kann. Auÿerdem wäre es praktisch, wenn wir den Speicherinhalt auch in dezimaler Form angeben könnten. 0 jmp start 1 x: 42 2 y: 23 3 start: load x 4 add y 5 write Das obige Beispiel würde man als den Assembler-Code für das Beispielprogramm 1 bezeichnen. Assembler-Code verwendet typischerweise Merkwörter oder Mnemonics für die Angabe von Instruktionen und Label zur Bezeichnung von Speicherbereichen, die Instruktionen oder Werte enthalten, wobei in den meisten Fällen eine einzelne Zeile Assembler-Code direkt in einen Ausdruck Maschinencode übertragen werden kann. Es gibt verschiedene Arten von Programmen, die mit Maschinencode und Assembler- Code interagieren: Ein Assembler hat die Aufgabe, Assembler-Code in Maschinencode zu übersetzen. Ein Compiler hat die Aufgabe, den Code einer höheren Programmiersprache (wie etwa C oder Java) in Maschinencode zu übersetzen. Ein Disassembler hat die Aufgabe Maschinencode in Assembler-Code zu übersetzen (etwa um ihn lesbar zu machen) Im Folgenden werden wir Programme für den Sehr Einfachen Computer in Assembler- Code formulieren. Dessen Syntax lässt sich etwa wie folgt denieren: Zeilen haben die Struktur: [label:] Zahl mnemonic [label] [; Kommentar] Sie bestehen also aus: (optional) einem Label gefolgt von :, das den Speicherbereich der Zeile bezeichnet. verpichtend: entweder dem Merkwort einer einfachen Instruktion ohne Operand ( read, write, not) oder dem Merkwort einer der übrigen Instruktion gefolgt von einem Label als Operand oder einer einfachen Zahl, die den Inhalt des Speicherbereichs direkt angibt. (dezimal, z.b.:10 oder hexadezimal, z.b.: 0xA) (optional) einem beliebigen Kommentar zur Zeile, eingeleitet mit ;. 5

6 Beispielprogramm 2: Berechnung des Quadrats einer Eingabe Das nächste Beispielprogramm nimmt jeweils eine Zahl als Input entgegen, bildet das Quadrat und gibt dieses ans Ausgabewerk weiter. Auf eine Eingabe des Werts 2 sollte das Programm also reagieren mit 4, auf eine Eingabe von 3 mit 9, auf 4 mit 16, etc. Während das Verhalten von Beispielprogramm 1 nach Programmende nicht mehr beschreibbar war, soll Beispielprogramm 2 nach einmaligem Output erneut für seine Aufgabe bereitstehen. Das folgende Programm hat dieses Verhalten: 0 jmp start ; Überspringe den Datenbereich 1 input: 0 ; Speicherbereich für die eingegebene Zahl 2 start: read ; lies eine Eingabe nach A 3 store input ; speichere A im Speicherbereich input 4 mul input ; Multipliziere A mit Inhalt von input 5 write ; Schreibe das Ergebnis nach OUT 6 jmp start ; Beginne von vorn Betrachten wir wieder den Programmablauf Schritt für Schritt. Wir gehen dbaei davon aus, dass der Nutzer die folgenden Eingaben macht: 4, dann 13. M[input] bezeichnet den Speicherbereich, der mit dem Label input: versehen ist. Schritt IP A OUT IN M[input] Instruktion 1 0x x0 C jmp start 2 0x x4 0x0 B read 3 0x3 0x x store input 4 0x4 0x x mul input 5 0x5 0x x4 A write 6 0x6 0x10 0x10-0x4 C jmp start 7 0x2 0x10-0xD 0x4 B read 8 0x3 0xD - - 0x store input 9 0x4 0xD - - 0xD mul input 10 0x5 0xA xD A write 11 0x6 0xA9 0xA9-0xD C jmp start Das Programm läuft oenbar unendlich lange weiter (wenn man nicht den Stecker zieht.) Die folgenden Abbildungen zeigen, wie das Programm im Speicher aussieht und wie der Speicher (im Beispiel der Eingabe der Werte 4 und 13) durch die Instruktion store input geändert wird. Beispielprogramm 2 im Speicher: Beispielprogramm 2 im Speicher mit Instruktionen: 6

7 Beispielprogramm 2 nach Schritt 3: Beispielprogramm 2 nach Schritt 8: Beispielprogramm 3: Berechnung des Durchschnitts beliebiger Eingaben Zuletzt betrachten wir ein etwas komplexeres Programm, das je nach Eingabe verschiedene Aktionen durchführt. Das Programm soll sich wie folgt verhalten: Lese solange Zahlen aus dem Eingabewerk, bis eine Null gelesen wird. Wenn eine Null gelesen wurde, gib den Durchschnitt der bisher gelesenen Zahlen aus. Vorüberlegung: Der Durchschnitt von n Zahlen ist die Summe dieser Zahlen geteilt durch ihre Anzahl n. Um den Durchschnitt zu berechnen brauchen wir also einen Programmteil, der die Zahlen addiert und ihre Summe und Anzahl vorhält, solange keine 0 gelesen wird. einen Programmteil, der nur bei Einlesen einer Null aktiviert wird und dann die Summe durch die Anzahl dividiert und das Ergebnis ausgibt Implementierung: Das folgende Programm hat das beschriebene Verhalten: 0 jmp start ; Überspringe den Datenbereich 1 sum: 0 ; Speicher für die Summe der gelesenen Zahlen 2 number: 0 ; Speicher für die aktuell gelesene Zahl 3 count: 0 ; Speicher für die Anzahl der gelesenen Zahlen 4 incr: 1 ; Der Wert, um den count jeweils erhöht wird 5 null: 0 ; Ein Speicherbereich mit dem Wert 0 6 start: read ; Lese IN nach A ein 7 jz eval ; Wenn eine Null gelesen wurde, springe zum Label eval 8 store number ; Keine Null gelesen, schreibe A nach number 9 load sum ; Hole die bisherige Summe nach A 10 add number ; Addiere die gelesene Zahl auf A 11 store sum ; Schreibe die neue Summe von A nach sum 12 load count ; Hole die bisherige Anzahl von Elementen nach A 7

8 13 add incr ; erhöhe die Anzahl in A um 1 14 store count ; Schreibe die neue Anzahl von A nach count 15 jmp start ; Springe wieder zu start um die nächste Zahl einzulesen 16 eval: load sum ; Hole die bisherige Summe aus dem Speicher nach A 17 div count ; Dividiere A durch die Anzahl 18 write ; Schreibe das Ergebnis nach OUT 19 load null ; Hole den Wert 0 nach A 20 store sum ; Setze sum, number und count auf 0 zurück 21 store number 22 store count 23 jmp start ; beginne von vorn 8

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

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

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

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

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006 3AA Prof. Dr. Wolfgang P. Kowalk Universität Oldenburg WS 2005/2006 Version vom 24.10.2005 Übersicht Einführung in maschinennahe Programmierung Verständnis für grundlegende Vorgänge im Computer Jedes Programm

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Prozessor HC680 fiktiv

Prozessor HC680 fiktiv Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

Shangrila. One Instruction Set Computer

Shangrila. One Instruction Set Computer Shangrila One Instruction Set Computer Outline One Instruction Set Computer Die Idee Funktion Die Machine Shangrila VM Interfaces Tools Implementation Status & Zukunft OISC >> Die Idee CPU mit nur einer

Mehr

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

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

1. Inhaltsverzeichnis

1. Inhaltsverzeichnis Mikrocomputer Simulator Inhaltsverzeichnis _ 2 _ 1. Inhaltsverzeichnis 1. INHALTSVERZEICHNIS...2 2. AUFBAU UND BEDIENUNG...3 2.1. EINFÜHRUNG...3 2.1.1. TECHNISCHE DATEN... 3 2.1.2. VERWENDUNGSZWECK...

Mehr

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

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Lösungsvorschlag zu 1. Übung

Lösungsvorschlag zu 1. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zu 1. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der Aussagen treffen auf jeden

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven

Mehr

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

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Daniel Betz Wintersemester 2011/12

Daniel Betz Wintersemester 2011/12 Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register

Mehr

Schleifenanweisungen

Schleifenanweisungen Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Computer-Architektur Ein Überblick

Computer-Architektur Ein Überblick Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27

Mehr

Grundbegriffe der Informatik Tutorium 5

Grundbegriffe der Informatik Tutorium 5 Grundbegriffe der Informatik Tutorium 5 Tutorium Nr. 16 Philipp Oppermann 2. Dezember 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

5.BMaschinensprache und Assembler

5.BMaschinensprache und Assembler Die Maschinenprogrammebene eines Rechners Jörg Roth 268 5.BMaschinensprache und Assembler Die vom Prozessor ausführbaren Befehle liegen im Binärformat vor. Nur solche Befehle sind direkt ausführbar. So

Mehr

Microcomputertechnik

Microcomputertechnik Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g

Mehr

Zusammenfassung der Assemblerbefehle des 8051

Zusammenfassung der Assemblerbefehle des 8051 Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach

Mehr

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

Mehr

Inhaltsverzeichnis. Rechnerstrukturen 2 - Komponenten und Konzepte. Komponenten des Sehr einfachen Computers BIT I, WS 2016/17

Inhaltsverzeichnis. Rechnerstrukturen 2 - Komponenten und Konzepte. Komponenten des Sehr einfachen Computers BIT I, WS 2016/17 Inhaltsverzeichnis 2 - Komponenten und Konzepte 1 Komponenten des Sehr einfachen Computers.................. 1 CPU...................................... 1 Memory.................................... 3 Bus......................................

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

Mehr

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC) Übungen zu Architektur Eingebetteter Systeme Blatt 4 22.05.2009 Teil 1: Grundlagen 1.1: Grundlagen des Cyclic redundancy code (CRC) Im Gegensatz zum Parity-Check, der nur einfache Bit-Fehler erkennen kann,

Mehr

Rechnerarchitektur. M. Jakob. 1. Februar 2015. Gymnasium Pegnitz

Rechnerarchitektur. M. Jakob. 1. Februar 2015. Gymnasium Pegnitz Rechnerarchitektur M. Jakob Gymnasium Pegnitz 1. Februar 2015 Inhaltsverzeichnis 1 Aufbau eines Computersystems Praktische Grundlagen Von-Neumann-Rechner 2 Darstellung und Speicherung von Zahlen 3 Registermaschinen

Mehr

1 Random Access Maschine

1 Random Access Maschine 1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband,

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

SWE1 / Übung 2 (19.10.2011)

SWE1 / Übung 2 (19.10.2011) SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

Wie arbeiten Computer?

Wie arbeiten Computer? Autor: Ortmann, Jürgen. Titel: Wie arbeiten Computer? Quelle: Einführung in die PC-Grundlagen. München, 8. Auflage, 2003. S. 29-41. Verlag: Addison-Wesley Verlag. Die Veröffentlichung erfolgt mit freunlicher

Mehr

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

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

Sprachen und Automaten. Tino Hempel

Sprachen und Automaten. Tino Hempel Sprachen und Automaten 4 Tino Hempel Computer und Sprache Wie werden Informationen zu Daten kodiert? Welche Datenträger gibt es? Wie erfolgt die Verarbeitung der Daten? o o o Informationen werden im Computer

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Lektion 3: Was ist und was kann ein Computer?

Lektion 3: Was ist und was kann ein Computer? Lektion 3: Was ist und was kann ein Computer? Helmar Burkhart Informatik burkhart@ifi.unibas.ch EINFÜHRUNG IN DIE INFORMATIK I 3-0 Übersicht Lektion 3 Hardware Software Aufbau eines Computers Rechnerkern

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

10. Die Adressierungsarten des MSP 430

10. Die Adressierungsarten des MSP 430 10. Die Adressierungsarten 10.1 Übersicht über die Adressierungsarten 10.2 -Operanden 10.3 Indexregister mit Distanz 10.4 Symbolische (relativ zum ) 10.5 Absolute 10.6 Indirekte 10.7 Indirekte Adressierung

Mehr

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung

Mehr

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Programmieren in C Teil 3: Mikrocontrollerprogrammierung Programmieren in C Teil 3: Mikrocontrollerprogrammierung 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Tag 1 Hello World 08/30/10 Fachbereich Physik Institut für Kernphysik

Mehr

Dateiname Name(n) und Matrikelnr. des/der Bearbeiter Tel.-Nr. und E-Mail-Adresse für den Fall, dass die Diskette nicht lesbar ist.

Dateiname Name(n) und Matrikelnr. des/der Bearbeiter Tel.-Nr. und E-Mail-Adresse für den Fall, dass die Diskette nicht lesbar ist. Matrizenrechner Schreiben Sie ein CProgramm, das einen Matrizenrechner für quadratische Matrizen nachbildet. Der Matrizenrechner soll mindestens folgende Berechnungen beherrschen: Transponieren, Matrizenaddition,

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Von der Aussagenlogik zum Computer

Von der Aussagenlogik zum Computer Von der Aussagenlogik zum Computer Markus Koch Gymnasium in der Glemsaue Ditzingen Januar 2012 Inhaltsverzeichnis Einleitung...3 Der Computer...3 Grundlagen...4 Wahrheitstabellen...4 Aussagenlogik...4

Mehr

7 Ein einfacher CISC-Prozessor

7 Ein einfacher CISC-Prozessor 7 Ein einfacher CISC-Prozessor In diesem Kapitel wird ein einfacher Prozessor vorgestellt. Die Architektur, die wir implementieren, wurde von R. Bryant und D. O Hallaron entworfen und verwendet eine Untermenge

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Von-Neumann-Rechner (John von Neumann : 1903-1957) C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Quelle: http://www.cs.uakron.edu/~margush/465/01_intro.html Analytical Engine - Calculate

Mehr

Technische Informatik 2 Maschinenprogrammierungskonzepte

Technische Informatik 2 Maschinenprogrammierungskonzepte Technische Informatik 2 Maschinenprogrammierungskonzepte Prof Dr Miroslaw Malek Sommersemester 2005 wwwinformatikhu-berlinde/rok/ca Thema heute Ausführung von Befehlen Ein-/Ausgabeprogrammierung Architekturen

Mehr

Assembler - Adressierungsarten

Assembler - Adressierungsarten Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01

Mehr

Zwischencodeerzeugung Compiler II

Zwischencodeerzeugung Compiler II Zwishenodeerzeugung Compiler II Prof. Dr. Ursula Goltz 14.09.2012 Einleitung Front-End... Parser Sem. Analys Zwishenodegenerator Bak-End Codegenerator... Zwishendarstellung (Zwishenode) evtl. mashinennunabh.

Mehr

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Logische und mathematische Grundlagen Digitale Daten Computerprogramme als Binärdaten von Neumann-Rechnerarchitektur Einführung in Maschinen-Code Speicherorganisation Betriebssysteme

Mehr

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet.

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet. Übung Nr. 1b: MIKROPROZESSOR, Hewlett - Packard µ-lab en sind kleine Computer, die mit externen Geräten Daten austauschen können. Sie verfügen über Speicher, um Programme und Daten zu speichern und Eingangsund

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 3 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

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

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion) Auch hier wieder Aus voriger Wahrheitstabelle lässt sich mechanisch eine kombinatorische Schaltung generieren, die wir im Folgenden mit dem Control Symbol abstrakt darstellen. Instruction[31 26] (also:

Mehr

Versuch P1-63 Schaltlogik Vorbereitung

Versuch P1-63 Schaltlogik Vorbereitung Versuch P1-63 Schaltlogik Vorbereitung Gruppe Mo-19 Yannick Augenstein Versuchsdurchführung: 16. Januar 2012 1 Inhaltsverzeichnis Einführung 3 1 Grundschaltungen 3 1.1 AND.......................................

Mehr

Brainfuck Interpreter für ZX81

Brainfuck Interpreter für ZX81 Brainfuck Interpreter für ZX81 Sprache Befehle Die Programmiersprache Brainfuck hat wenige, einfache Regeln. Es gibt 8 Befehle + - > < [ ],. Jeder Befehl besteht aus einem einzelnen Zeichen. Es gibt keine

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken Im Folgenden finden Sie jeweils die korrekte Antwort zu den im Buch abgedruckten Prüfungsfragen, soweit die Antworten in Textform

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 1: Von der Maschinensprache zu C Prof. Dr. Maschinensprache: MIPS R2000 Was bewirkt folgendes Programm: 00100111101111011111111111100000 10101111101111110000000000010100

Mehr

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen

Mehr

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

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen 4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen Ein Rechner besteht aus den folgenden Bestandteilen: Rechenwerk Rechenoperationen wie z.b. Addition, Multiplikation logische Verknüpfungen

Mehr

einfache PIC-Übungsprogramme

einfache PIC-Übungsprogramme einfache PIC-Übungsprogramme Schreibe in MPLAB für das PIC-Übungsboard 01 mit dem PIC16F88 folgendes Programm, assembliere und dokumentiere dieses, schreibe es anschließend mittels dem Programmiergerät

Mehr

ZENTRALEINHEITEN GRUPPE

ZENTRALEINHEITEN GRUPPE 31. Oktober 2002 ZENTRALEINHEITEN GRUPPE 2 Rita Schleimer IT für Führungskräfte WS 2002/03 1 Rita Schleimer TEIL 1 - Inhalt Zentraleinheit - Überblick Architekturprinzipien Zentralspeicher IT für Führungskräfte

Mehr

Programmiertechnik. Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1

Programmiertechnik. Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1 Programmiertechnik Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150 Oliver Haase Hochschule Konstanz 1 Organisatorisches Vorlesung: montags, 8:00 9:30h, Raum C-109 freitags, 8:00

Mehr

Das erste C++ Programm

Das erste C++ Programm Das erste C++ Programm // Program: power8.c // Raise a number to the eighth power. #include int main() { // input std::cout > a; // computation int

Mehr

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Großübung 1: Zahlensysteme Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Lehrender: Dr. Klaus Richter, Institut für Informatik; E-Mail: richter@informatik.tu-freiberg.de

Mehr

Was ist die Performance Ratio?

Was ist die Performance Ratio? Was ist die Performance Ratio? Wie eben gezeigt wäre für k Pipeline Stufen und eine große Zahl an ausgeführten Instruktionen die Performance Ratio gleich k, wenn jede Pipeline Stufe dieselbe Zeit beanspruchen

Mehr

4.2 Universalrechner: Schaltung unabhängig vom Problem 185

4.2 Universalrechner: Schaltung unabhängig vom Problem 185 4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX

Mehr

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle

Mehr

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Tutorübung

Mehr

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

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Zahlensysteme. von Christian Bartl

Zahlensysteme. von Christian Bartl von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Umrechnungen... 3 2.1. Dezimalsystem Binärsystem... 3 2.2. Binärsystem Dezimalsystem... 3 2.3. Binärsystem Hexadezimalsystem... 3 2.4.

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 4 AM 21.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr