Rechnerstrukturen 1: Der Sehr Einfache Computer
|
|
- Andrea Baumann
- vor 6 Jahren
- Abrufe
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 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
MehrRandom 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,
MehrDatenpfad 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:
MehrMikroprozessor 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.
MehrTECHNISCHE 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
MehrIm 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
MehrL3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
Mehr3AA. 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
MehrDie 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.
MehrProzessor 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
MehrDas 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
MehrVorlesung 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
MehrShangrila. 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
Mehr2. 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
MehrINFORMATIK 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
Mehr1. 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...
MehrName: 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
Mehr3 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
MehrLö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
MehrKap 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.).
MehrMikroprozessor 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
Mehr68000 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
MehrRechnerorganisation 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
Mehr1. Ü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
MehrInstruktionssatz-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
MehrDaniel 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
MehrSchleifenanweisungen
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
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
MehrComputer-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
MehrGrundbegriffe 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
Mehr5.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
MehrMicrocomputertechnik
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
MehrZusammenfassung 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
MehrBrainfuck. 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
MehrInhaltsverzeichnis. 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......................................
MehrBeim 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
MehrTechnische 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 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,
MehrRechnerarchitektur. 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
Mehr1 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,
Mehra. 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
MehrSWE1 / Ü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
MehrMikrocomputertechnik. 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
MehrTechnische 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
MehrWie 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
MehrProzessorarchitektur. 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
MehrSprachen 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
MehrJavaScript. 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
MehrLektion 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
MehrAlgorithmen 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.
MehrRechner 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
MehrTeil 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
MehrTIn 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
Mehr10. 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
MehrSteuerwerk 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
MehrProgrammieren 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
MehrDateiname 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,
MehrPhilipp Grasl PROZESSOREN
1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION
Mehr2.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
MehrMikrocomputertechnik. 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
MehrIntegrierte 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
MehrVon 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
Mehr7 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
MehrName: 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
MehrC. 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
MehrTechnische 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
MehrAssembler - 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
MehrZwischencodeerzeugung 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.
MehrCPU. 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
MehrGrundlagen 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
MehrDie 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
MehrTutoraufgabe 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
MehrTutorium 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
MehrEinfü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
MehrDer 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.
MehrAuch 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:
MehrVersuch 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.......................................
MehrBrainfuck 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
MehrKapitel 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
MehrIT- 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
MehrProgrammiersprachen 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
MehrCompiler: 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
Mehr4 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
Mehreinfache 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
MehrZENTRALEINHEITEN 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
MehrProgrammiertechnik. 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
MehrDas 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
MehrReprä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
MehrWas 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
Mehr4.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
Mehrx86 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
MehrMusterlö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
MehrEntwurf 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
MehrFAKULTÄ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
MehrEinfü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
MehrZahlensysteme. 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.
Mehr3.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
MehrEinfü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
MehrRO-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
MehrGrundlagen 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