Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
|
|
- Susanne Peters
- vor 7 Jahren
- Abrufe
Transkript
1 Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg li $v0,4 syscall jr $ra 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 1
2 Inhalt 1. Literatur 2. Klassifikation von Programmiersprachen 3. Programmiermodell 4. Programmiermodell der Intel IA32-Architektur 5. Befehlssatz der Intel IA32-Architektur 6. Zusammenfassung und Ausblick 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 2
3 Literatur [BO10] Bryant, Randal E. und David R. O Hallaron: Computer Systems - A Programmer s Perspective. Prentice Hall, Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 3
4 Programmiersprachen - Begriffsdefinition Allgemeine Definition einer Programmiersprache Sprache zur Formulierung von Rechenvorschriften, die direkt oder indirekt von einem Rechner ausgeführt werden kann. Hinweis: indirekt soll in diesem Zusammenhang bedeuten, dass vor einer Ausführung die Rechenvorschrift noch in ein für den Rechner verständliches Format umgesetzt werden muß. wichtige Eigenschaften einer Programmiersprache eindeutige Syntax - Festlegung, welche Zeichenfolgen als Programme zugelassen sind eindeutige Semantik - Festlegung, welche Auswirkung die Ausführung des Programms auf einem Rechner hat 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 4
5 Klassifikation von Programmiersprachen Höhere, problemorientierte Sprachen Hardware-Unabhängigkeit Plattformunabhängigkeit (z. B. Betriebssystem) Orientierung an den zu bearbeitenden Problemfeldern Abbildung in eine Maschinensprache Verwendung eines Übersetzers (Compiler) direkte Ausführung unter Verwendung eines Interpreters 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 5
6 Klassifikation von Programmiersprachen Maschinensprache direkte Programmierung der Hardware Maschinensprache Formulierung eines Maschinenprogramms durch eine Folge von elementaren, im Binärcode dargestellten Befehlen Maschinenprogramme sind direkt auf der Hardware ausführbar Maschinenprogramme sind für den Anwender und den Entwickler nur sehr schwer zu verstehen (Wartbarkeit). niedere, maschinenorientierte Programmiersprachen - Assembler-Sprachen Programmierung der Hardware unter Verwendung symbolischer Namen für Maschinenbefehle und Adressen das für die Umsetzung eines Assembler-Programms in ein Maschinenprogramm zuständige Programm wird Assemblierer (Assembler) genannt. 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 6
7 Programmierparadigmen Der Begriff des Paradigma Synonyme Begriffe sind: Denkmuster, Musterbeispiel Verwendung des Paradigma-Begriffes in der Informatik ein Paradigma bezeichnet ein übergeordnetes Prinzip dieses Prinzip ist für eine ganze Teildisziplin typisch es ist jedoch nicht klar ausformulierbar, sondern manifestiert sich in Beispielen Maschinensprache (bzw. Assembler) ist ein primitives Paradigma 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 7
8 Programmiermodell Programmiermodell ist ein Begriff, der häufig in unterschiedlichen Definitionen verwendet wird. Bei höheren Programmiersprachen Grundlegende Eigenschaften einer Programmiersprache (Programmiermodell dieser Hochsprache) Unterschied: Programmiermodell und Programmierparadigma? Und es gibt noch viel andere Begriffe: Verarbeitungsmodell, Modellierungsmodell... In der maschinennahen Programmierung bezeichnet das Programmiermodell Registersatz eines Prozessors Genauer: Register die durch Programme angesprochen werden können Register die prozessorintern verwendet werden (z. B. IP) zählen nicht zum Registersatz des Prozessors 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 8
9 Programmiermodell der Intel IA32-Architektur Für die Programmierung ist eine Übersicht der Register wichtig Nun das Programmiermodell für die IA32-Architektur (Erweiterung der 8086-Architektur) Abbildung: Quelle: [BO10, S. 202] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 9
10 Speicherorganisationsformen I Modell für den Hauptspeicher: Jede Zelle besteht aus einem Byte und jedes Byte ist einzeln adressierbar. Die Adressen umfassen 16 Bit. Speicher ist byteadressierbar. Kapazität 2 16 = Bytes. An Adresse 4 steht die Zahl 161 (Hexadezimaldarstellung A1). 7 A Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 10
11 Speicherorganisationsformen II Beispiel: Modell eines byteadressierbaren Speichers für einen 16 Bit Prozessor. Bei Prozessoren gibt es zwei Möglichkeiten des Zugriffs, nämlich Bytezugriff und Wortzugriff. Wortzugriff bedeutet, dass ab der angegebenen Adresse zwei hintereinander folgende Bytes in ein Prozessorregister geholt werden können. Vorteil: Beim Zugriff auf den Speicher wird Zeit gespart. Aber wie fast immer: es gibt verschiedene Freiheitsgrade 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 11
12 Speicherorganisationsformen III Little endian Adresse 4 ist die Zahl 161 (Hexadezimaldarstellung A1) Ab Adresse 4 ist zuerst das nullte Byte und dann das erste Byte angegeben. Interpretation: Niedrigwertiges Byte und dann das höherwertige Byte entsprechend der Bedeutung der Bytes, wenn das Wort als 16 Bit Dualzahl aufgefasst wird INTEL-Familie T S I G A1 7 A R N Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 12
13 Speicherorganisationsformen IV Big endian Reihenfolge der Bytes innerhalb eines Wortes (16 Bit Dualzahl) umgekehrt. MOTOROLA-Familie A S T R I N G Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 13
14 Speicherorganisationsformen V Zusammenfassung Manche Prozessoren verlangen, dass für den Wortzugriff die Adresse durch die Anzahl der Bytes pro Wort teilbar ist. Worte können dann nur an solchen Adressen beginnen. Man sagt dann, dass sie ausgerichtet sein müssen. Die ab Adresse 7 beginnende Zahl 162 (Hexadezimaldarstellung A2) ist nicht ausgerichtet (vgl. Bild Little endian). Prozessoren, wie z. B. INTEL 8086, erlauben auch Zugriff auf nicht ausgerichtete Worte, allerdings mit dem Nachteil, dass zwei Speicherzugriffe benötigt werden. Damit kann sich die Laufzeit eines Programms stark erhöhen, falls häufig Wortzugriffe auf ungerade Adressen auftreten. 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 14
15 Befehlssatz der Intel IA32-Architektur Einleitung Welche Befehle sind in einer IA32 Intel-Architektur vorhanden? Befehle werden in Klassen eingeteilt: Addition, Subtraktion usw. Logische Befehle (AND, OR usw.) Transportbefehle zum Transport zwischen Registern und dem Speicher Sprungbefehle unbedingte Sprünge (GOTO) bedingte Sprünge 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 15
16 Befehlssatz der Intel IA32-Architektur Datenformate Wie in höheren Programmiersprachen gibt es bei Assemblerprogrammierung auch Datenformate (hier der Vergleich C und Assembler) Abbildung: Quelle: [BO10, S. 201] Die IA32-Architektur unterstützt hardwaremäßig keine 64-Bit Integer Arithmetik. 64-Bit Operationen werden zu zwei 32-Bit Operationen. 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 16
17 Befehlssatz der Intel IA32-Architektur Operanden der Befehle Die im Weiteren vorgestellten Befehle können verschiedene Operanden enthalten. Direkter Wert, Register und Speicher Abbildung: Quelle: [BO10, S. 203] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 17
18 Befehlssatz der Intel IA32-Architektur Transportbefehle Transportbefehle dienen dem Transport zwischen Registern und Speicher Abbildung: Quelle: [BO10, S. 205] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 18
19 Befehlssatz der Intel IA32-Architektur Transportbefehle Beispiele 1 movl $0,%eax : N u l l wird i n %eax geschrieben 2 movl $0x4050,%eax : 4050 ( Hexadezimaldarstellung ) wird 3 i n %eax geschrieben ( 4 Bytes ) 4 5 movw %bp,%sp : Register sp wird mit dem I n h a l t 6 von bp überschrieben (2 Bytes ) Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 19
20 Die Datenstruktur Stack Der Stack (Stapel, Stapelspeicher, Keller) ist eine Datenstruktur Die Idee ist Mitte der 50er Jahre aufgekommen Die Benutzung des Stacks erfolgt in der Regel automatisch In Hochsprachen ist der Stack nicht sichtbar... Fibonacci-Zahlen in Java 1 p u b l i c s t a t i c long f i b ( i n t a ) { 2 i f ( a = = 1 a==2) r e t u r n 1; 3 else r e t u r n f i b ( a 1)+ f i b ( a 2); 4 } Zwischenergebnisse werden auf dem Stack gespeichert. 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 20
21 Befehlssatz der Intel IA32-Architektur Die Datenstruktur Stack Um die Datenstruktur Stack zu unterstützen gibt es eigene Befehle Zwei Darstellung des Stacks möglich Initially pushl %eax popl %edx %eax %edx %esp 0x x108 %eax %edx %esp 0x x104 %eax %edx %esp 0x123 0x123 0x108 Stack bottom Stack bottom Stack bottom Increasing address 0x108 Stack top 0x108 0x104 0x123 Stack top 0x108 0x123 Stack top Abbildung: Quelle: [BO10, S. 207] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 21
22 Befehlssatz der Intel IA32-Architektur Arithmetische und Logische Operationen I Abbildung: Quelle: [BO10, S. 212] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 22
23 Befehlssatz der Intel IA32-Architektur Arithmetische und Logische Operationen II Abbildung: Quelle: [BO10, S. 216] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 23
24 Befehlssatz der Intel IA32-Architektur Arithmetische und Logische Operationen Beispiele 1 addl $5,%eax : Fünf wird zu %eax a d d i e r t 2 subl %edx,%eax : %eax = %eax %edx 3 4 s hl $1,%eax : S h i f t um eine S t e l l e 5 nach l i n k s 6 shr $1,%eax : S h i f t um eine S t e l l e 7 nach r echts 8 9 sar $1,%eax : S h i f t um eine S t e l l e 10 nach r echts ( a r i t h m e t i s c h ) Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 24
25 Befehlssatz der Intel IA32-Architektur Kontrolloperationen I Wiederholung: Statusflags Statusflags (die wichtigsten) sind: CF Übertragsflag (Carryflag) ZF Nullflag (Zeroflag) SF Vorzeichenflag (Signflag) OF Überlaufflag (Overflowflag) Für was werden diese Flags verwendet? ZF: Hochsprache (t == 0) SF: Hochsprache (t < 0) 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 25
26 Befehlssatz der Intel IA32-Architektur Kontrolloperationen II Vergleichsbefehle setzen die Statusflags Abbildung: Quelle: [BO10, S. 220] Statusflags werden aber auch von mov, add usw. gesetzt. 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 26
27 Befehlssatz der Intel IA32-Architektur Sprungbefehle Man beachte die Bedingungen (Jump condition) Abbildung: Quelle: [BO10, S. 224] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 27
28 Befehlssatz der Intel IA32-Architektur Kontrolloperationen und Sprungbefehle Beispiele 1 2 V ariable a i s t i n %edx, b i s t i n %eax 3 4 cmpl %eax,%edx : v e r g l e i c h t a und b movl $0,%eax : s c h r e i b t eine N u l l i n Register %eax 7 jmp. L1 : Sprung zu Label L1 : : Label. L1 11 popl %edx Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 28
29 Befehlssatz der Intel IA32-Architektur Konditionale Transportbefehle Abbildung: Quelle: [BO10, S. 244] 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 29
30 Befehlssatz der Intel IA32-Architektur Assemblersyntax Syntax der Assemblerbefehle nicht einheitlich Kodierung der Maschinenbefehle ist (natürlich) identisch Zwei verschiedene Formate gebräuchlich ATT (benannt nach AT & T) Format Intel Format Im Prinzip nur kleine Abweichungen, aber ein wesentlicher Unterschied: ATT: Befehl Quelle, Ziel (movl %edx,%eax) Intel: Befehl Ziel, Quelle (mov eax,edx) 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 30
31 Befehlssatz der Intel IA32-Architektur Assemblersyntax Weitere Unterschiede: Bei ATT muss vor den Registern ein % stehen Beim Intel spart man sich die Angaben, ob es ein Byte, Word, Double Word usw. ist Indirekte Adressierung: ATT: movl 8(%ebp),%edx Intel: mov edx, DWORD PTR [ebp+8] Der zu benutzende Assembler (YASM) beherscht beide Formate. 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 31
32 Zusammenfassung und Ausblick Klassifikation von Programmiersprachen Programmiermodell Befehlssatz der IA32 Intel-Architektur Nächste Vorlesung behandelt Kontrollstrukturen in Assembler 27. Oktober 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 32
Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 5. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 7. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
MehrÜbersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz
Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax Autoren: Wolfgang Heenes, Patrik Schmittat Version: 0.4 Datum: 26. März 2011 Operanden, Statusflags und Registersatz Die vier Operanden sind: Direkter
MehrAssembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
MehrERA-Zentralübung Maschinenprogrammierung
ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 27.10.2017 Arithmetik mit 80386 Inhalt Rechenmodell Register Befehle Beispiele 80386-Rechenmodell Typisches Zwei-Address-Format Ziel :=
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
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 20. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
MehrKodieren von Anweisungen im Binärformat für Maschinen quasi natürlich, zumindest effizient. Für Menschen hingegen ist Binärformat schwierig
2.1 Einleitung Kodieren von Anweisungen im Binärformat für Maschinen quasi natürlich, zumindest effizient Hinsichtlich Zuverlässigkeit (digital vorteilhafter als analog) Für Menschen hingegen ist Binärformat
Mehr"Organisation und Technologie von Rechensystemen 4"
Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation
Mehr6. Grundlagen der Programmierung
Computeranwendung in der Chemie Informatik für Chemiker(innen) 6. Grundlagen der Programmierung Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL6 Folie 1 Dr. Jens Döbler Grundlagen
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
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 15. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
MehrKap.2 Befehlsschnittstelle. Prozessoren, externe Sicht
Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen
MehrAssembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache
Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell
MehrRechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden
Rechnerstrukturen 7. Assembler Assemblerprogrammierung SML-CPU Inhalt SML-Assembler Adressierungsarten Instruktionssatz Assembler-Direktiven Binden 7.2 1 Maschinensprache Instruktion = Bitkombination Für
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 3. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
MehrÜbungsblatt 10 (Block C 2) (16 Punkte)
georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16
MehrLegen Sie den Ausweis (mit Lichtbild!) griffbereit auf den Platz! Dieses Aufgabenheft umfasst 24 Seiten. Überprüfen Sie die Vollständigkeit!
Department Informatik Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.09.2013 Klausur zu Grundlagen der Rechnerarchitektur
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 22: Mima-X Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
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
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
MehrAssembler - Variablen
Assembler - Variablen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Variablen 1/30 2008-04-21 Variablen Variablen
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
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) 4. Übung http://ess.cs.tu-dortmund.de/de/teaching/ws2012/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 2. Aufgabenblatt mit Lösungsvorschlag 08.11.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
MehrDer von Neumann Computer
Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) 4. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Aufgabe
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrRechnerstrukturen Wintersemester 2002/03. Maschinensprache Opcode, Operanden, Adressierung Für Menschen schwer verdauliche Folgen von 0 und 1
(c) Peter Sturm, Universität Trier 1 Rechnerstrukturen 8. Assembler Für Hartgesottene Maschinensprache Opcode, Operanden, Adressierung Für Menschen schwer verdauliche Folgen von 0 und 1 Assembler Symbolische
MehrAssembler Integer-Arithmetik
Assembler Integer-Arithmetik Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Integer-Arithmetik 1/23 2008-04-01 Arithmetik
MehrRechnernetze und -Organisation. Teil B 2012 Tomislav Nad Karl C. Posch
Rechnernetze und -Organisation Teil B 2012 Tomislav Nad Karl C. Posch www.iaik.tugraz.at/content/teaching/bachelor_courses/rechnernetze_und_organisation/ 1 Two different assemblers GNU Assembler as : Uses
MehrMotivation und Überblick
Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ
MehrPC/XT/AT ASSEMBLER-BUCH
PC/XT/AT ASSEMBLER-BUCH Alle Befehle + Makro-Assembler KLAUS-DIETER THIES t
MehrGrundlagen der Rechnerarchitektur. Einführung
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrRechnernetze und -Organisation. Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch
Rechnernetz R Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch www.iaik.tugraz.at/content/teaching/bachelor_courses/rechnernetze_und_organisation/ 1 Zeitplan für Teil B Mittwoch 23. März 2011 Mittwoch
MehrOffenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...
0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement
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
MehrAufbau und Funktionsweise eines Computers
Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Praktische Informatik
Mehr3. Grundlagen der Rechnerarchitektur
3. Grundlagen der Rechnerarchitektur 3.1 Architektur des von-neumann-rechners 3.2 Maschinentypen: Einadressmaschine, Zweiadressmaschine 3.3 Befehlsformate und Adressierungstechniken 3.4 Beispiel: der Prozessor
MehrÜbung 1 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits
MehrEinführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31
Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31 Einführung Die folgenden Folien geben einen Überblick über die weit verbreitet x86 Architektur
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
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) 4. Übung http://ess.cs.tu-dortmund.de/de/teaching/ws2015/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik
MehrU23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
MehrRechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09
Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: : BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau
MehrHinweise 80x86-Architektur
Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur
Mehr6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten
6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten 6.1 Gegenstand der Vorlesung Interne Organisation - Architektur - Register - Statusbits - Speicherstruktur Basis-Adressierungsarten - direct - absolute
Mehr1 Maschinenunabhängige Optimierungen. Maschinenunabhängige Optimierungen Wintersemester 2008/09 1 / 17
1 Maschinenunabhängige Optimierungen Maschinenunabhängige Optimierungen Wintersemester 2008/09 1 / 17 Optimierungen Automatische Optimierungen sind nötig, weil unoptimierter Code meist besser lesbar ist.
MehrDer Intel 8086 Reto Gurtner 2005
Der Intel 8086 Reto Gurtner 2005 1 1. DIE INTERNEN REGISTER... 3 1.1 ALLGEMEINE REGISTER AX, BX, CX UND DX... 3 DAS AX-REGISTER... 4 DAS BX-REGISTER... 4 DAS CX-REGISTER... 5 DAS DX-REGISTER... 5 1.2 DIE
MehrRechnerne etze und -O Organisatio on
Rechnernetze und -Organisation Rechnerne etze und -O Organisatio on Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch www.iaik.tugraz.at/content/teaching/bachelor_courses/rechnernetze_und_organisation/
MehrEinführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26
Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26 1 Geschichte 2 Programmiermodell 3 Befehlssatz 4 Konventionen 5 Beispiele 6 SSE 7 Literatur Einführung
MehrU23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
Mehr3.1 Architektur des von-neumann-rechners. 3. Grundlagen der Rechnerarchitektur
3. Grundlagen der Rechnerarchitektur 3.1 Architektur des von-neumann-rechners 3.1 Architektur des von - Neumann - Rechners 3.2 Maschinentypen: Einadressmaschine, Zweiadressmaschine 3.3 Befehlsformate und
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme Inhaltsverzeichnis 7. Computerarchitektur........................182 Grundlagen.............................182
MehrJust-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler
MehrAssembler Unterprogramme
Assembler Unterprogramme Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Unterprogramme 1/43 2008-06-03 Unterprogramme
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
Mehr... Adressierung und Befehlsfolgen (1) Speicherbelegung. Hauptspeicheradressen. Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle
Adressierung und Befehlsfolgen (1) Speicherbelegung Hauptspeicheradressen Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle Address 0 1 i k 2-1 n bits...... word 0 word 1 b n-1 b 1 b
MehrJust-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler
MehrOrganisatorisches. PDV und Robotik Fakultät 4 TUB 1 INFO4 Übung Assembler 1
Organisatorisches Die Großübung findet zweimal mit gleichen Inhalt statt: Montag 16-18 und Mittwoch 14-16 jeweils im MA001. Betreute Rechnerzeit: Donnerstag 10-18 und Freitag 10-16 jeweils FR2516 Code:
MehrGrundlagen der Rechnerarchitektur. MIPS Assembler
Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32
MehrVon-Neumann-Architektur
Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..
MehrArithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9
Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere
MehrARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen
ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen Aufgabenstellung: - das beigefügte Assembler-Programm schrittweise ausführen - sich mit der Handhabung der Entwicklungswerkzeuge
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 Zentralübung
MehrStackmaschine; Speicheradressierung
Stackmaschine; Speicheradressierung Erweiterung um globalen Speicher (Heap, Halde) pro Speicherplatz eine Zahl. Notation ist als Array SP [0..]. Zugriff mittels Adresse (Index): eine Zahl i.a.: Zahlen
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrERA-Zentralübung Maschinenprogrammierung
Marcel Meyer LRR TU München 04.11.2016 Inhalt Aufgabe 1.1 Aufgabe 1.2 Speicherzugriffe Unbedingte Sprünge Stapelspeicher Unterprogramme Aufgabe 1.1 Quellregister AX, BX, CX Konstante deklarieren Werte
MehrMaschinensprache. 2.5 x86 Speicherzugriff. Universität Mannheim
Maschinensprache 2.5 x86 Speicherzugriff Hauptspeicher Speicheraufbau Linearer, zusammenhängender Adressraum Kleinste adressierbare Einheit: 1 Byte Unterteilung in physikalischen, linearen und virtuellen
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
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
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 Zentralübung
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 5. Aufgabenblatt mit Lösungsvorschlag 29.11.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
Mehr05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur
0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf
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
Mehr4. Mikroprogrammierung (Firmware)
4. Mikroprogrammierung (Firmware) 4. Ein Mikroprogramm-gesteuerter Computer 4.2 Mikroprogramm-Beispiel: Multiplikation 4.3 Interpretation von Maschinenbefehlen durch ein Mikroprogramm 4. Mikroprogrammierung
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.).
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrAssembler Kontrollstrukturen
Assembler Kontrollstrukturen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Kontrollstrukturen 1/21 2008-04-03 Kontrollstrukturen
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
MehrOrganisatorisches (1)
Organisatorisches (1) Abteilung Echtzeitsysteme und Kommunikation Prof. Dr. Nett nett@ivs.cs.uni-magdeburg.de Sekretariat: Frau Duckstein, Tel. 67-18345 pduckste@ivs.cs.uni-magdeburg.de Gebäude 29/ Etage
MehrZusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]
2.1.2 Behandlung von Unterbrechungen (Interrupts) Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S. 582-585] t 1 : MAR (PC) t 2 : MBR Memory[MAR] PC
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
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrProf. Dr. Sven-Hendrik Voß Sommersemester 2017 Technische Informatik (Bachelor), Semester 2 Termin 2, Maschinenorientierte Programmierung
Prof. Dr. Sven-Hendrik Voß Sommersemester 2017 Technische Informatik (Bachelor), Semester 2 Termin 2, 24.04.2017 Maschinenorientierte Programmierung Seite 2 Organisationsprinzipien und Adressierung Maschinenorientierte
MehrHeute nur MIPS-Praxis (4 Aufgaben)
Themen heute Heute nur MIPS-Praxis (4 Aufgaben) Hinweis: Diese Aufgaben findet ihr auf den Übungsblättern zu den Tutorien (bei Aufgabe 4 wurde eine Teilaufgabe und im Tutorium #6 bereits geklärte Wissensfragen
MehrTechnische Informatik I - HS 18
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das
MehrTechnische Informatik - Eine Einführung
Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Rechnerarchitektur Aufgabe
Mehr