6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten
|
|
- Uwe Breiner
- vor 6 Jahren
- Abrufe
Transkript
1 6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten 6.1 Gegenstand der Vorlesung Interne Organisation - Architektur - Register - Statusbits - Speicherstruktur Basis-Adressierungsarten - direct - absolute - immediate - indirect Meisel 1
2 6.2 Entwicklungsgeschichte der INTEL IA-32-Prozessorfamilie Prozessor Einf. Takt. (MHz) Transist. (x 1000) Register Daten -bus Adressraum GP 16 1 MB GP MB GP 32 4 GB GP, 80 FPU 32 4 GB Pentium GP, 80 FPU 64 4 GB Pentium Pro GP, 80 FPU GB Pentium III Pentium Pentium 4 (HT) GP, 80 FPU 64 MMX 32 GP, 80 FPU 64 MMX, XXM GP, 80 FPU 64 MMX, XXM GB GB GB Meisel 2
3 Moore s Law Gordon Moore (Intel Mitgründer) hat 1965 die These aufgestellt, dass sich für einige Jahrzehnte die Transitordichte (Transistoren pro Flächeneinheit) etwa pro Jahr verdoppeln wird. Zur Zeit gilt etwa eine Verdoppelung der Transistordichte pro 18 Monate Meisel 3
4 6.3 Allgemeine Daten in Überblick Byte-Maschine : Little Endian : Non-aligned : Speicher ist eine Sequenz von Bytes. Jedes Byte hat eine eigene Adresse Das LSB (least significant byte) eines Datenwortes beginnt mit der kleinsten Adresse, das MSB (most significant Byte) des Datenwortes endet auf der größten Adresse. Datenworte können auf beliebigen geraden oder ungeraden Adressen beginnen. In dieser Vorlesung/Praktikum beschränken wir uns auf die Betriebsart Protected-mode & Flat-model : Der Speicher erscheint aus Programmsicht als ein kontinuierlicher (linearer) Adressraum. (z.b. verwendet in Windows oder Linux) Meisel 4
5 6.4 Allzweck-Register der IA bit - Register 32- bit - Register AH AL AX EAX BH BL BX EBX CH CL CX ECX DH DL DX EDX BP EBP Framepointer SI ESI DI EDI SP ESP Stackpointer SP ist der Stackpointer und darf nicht für andere Zwecke verwendet werden. Die anderen Register (EAX, EBX, ECX, EDX, EBP, ESI, EDI) können beliebig verwendet werden aber viele Befehle verwenden ganz bestimmte Register für die beteiligten Operanden Meisel 5
6 Spezielle Bedeutungen der IA-32-Register EAX EBX ECX EDX EBP EDI ESI Akkumulator für Operanden und Ergebnisse von Rechenoperationen, Rückgaberegister bei Funktionsaufrufen enthält häufig die Startadresse von Arrays Zählerregister (Counter) für Schleifenoperationen Allzweck-Register Adressregister für Stackoperationen (Framepointer) Adressregister für indizierte Zugriffe (Zielzeiger - Destination) Adressregister für indizierte Zugriffe (Quellzeiger - Source) Meisel 6
7 6.5 Statusregister (EFLAGS) der IA-32-Prozessorfamilie Übersicht V S Z C C (Carry-Flag) Z (Zero-Flag) S (Sign-Flag) V (Overflow-Flag) : Übertrag arith. Operationen : wird gesetzt, wenn das Ergebnis 0 ist. : enthält das MSB eines Ergebnisses, d.h. 0=pos. 1=neg. : zeigt einen Overflow bei signed-integer-operationen an. Alle anderen Flags spielen in dieser Vorlesung/Praktikum keine Rolle Meisel 7
8 ÜBUNG: Flags Das eflags-register habe folgende Werte: a) 0x1216 b) 0x1a16 c) 0x1287 d) 0x1a56 Geben Sie an welche Flags (c,z,s,v) gesetzt sind Meisel 8
9 6.6 Die Basis-Adressierungsarten der IA-32-Prozessorfamilie Anmerkung zur verwendeten Notation Für die mnemonische Beschreibung von IA-32-Maschinenprogrammen gibt es verschiedene Notationen, die sich zum Teil erheblich voneinander unterscheiden. Am gebräuchlichsten sind - Intel-Notation, - AT&T-Notation. Beispiele: Intel-Notation AT&T-Notation Bedeutung mov eax, 1 mov $1, %eax [eax] 1 mov ebx, f123h mov $0xf123, %ebx [ebx] f mov ebx, [eax] mov (%eax), %ebx [ebx] [M([eax])] Im Rahmen dieser Vorlesung wird die AT&T-Notation verwendet!! Meisel 9
10 Anmerkungen zur AT&T-Notation (Fortsetzung) Bezeichnung von Registern: Syntax: %{ Registername } Beispiele: %eax, %ax, %al, %ecx, %cx, %esp, %ebp Bezeichnung von Hexadezimalkonstanten: Syntax: 0x { hexadezimale Ziffer } Beipiel: 0x47B11 Befehlsaufbau bei 2-Operanden-Befehlen: Syntax: Operator Quelle, Ziel Beispiel: mov %eax, %ebx Meisel 10
11 Anmerkungen zur AT&T-Notation (Fortsetzung) Befehlserweiterung: An die Befehle kann eine Befehlserweiterung (b,w,l,q) angehängt werden, die anzeigt, ob der Befehl sich auf ein Byte, Word, Longword oder Quadrupelword bezieht. Je nach Operator, Befehlstyp (b,w,l,q) und Operandentyp (Quelle, Ziel) kann es Einschränkungen bezüglich der erlaubten Adressierungsarten geben. Beispiele: movb %eax,%ebx [ebx(0:7)] [eax(0:7)] oder besser mov %al,%bl [ebx(0:7)] [eax(0:7)] movw %eax,%ebx [ebx(0:15)] [eax(0:15)] oder besser mov %ax,%bx [ebx(0:15)] [eax(0:15)] movl %eax,%ebx [ebx(0:31)] [eax(0:31)] oder besser mov %eax,%ebx [ebx(0:31)] [eax(0:31)] Meisel 11
12 6.6.2 Adressierungsart: Register Kennzeichen: Der Operand ist ein Register. Besonderheiten: Word- und Byteoperationen beeinflussen nicht die höheren Bits des Registers. Beispiele: mov %eax, %ebx [ebx(0:31)] [eax(0:31)] mov %ax, %bx [ebx(0:15)] [eax(0:15)] mov %al, %bl [ebx(0:7)] [eax(0:7)] mov %al, %bl eax vorher A nachher A ebx FF DC FF FE FF DC FF 9A Meisel 12
13 6.6.3 Adressierungsart: Direct Adressing Kennzeichen: Der Operand ist eine Speicheradresse. Besonderheiten: Werden Daten von einem Register in den Speicher o.u. kopiert, so erscheint die Byte-Reihenfolge vertauscht (Grund: little endian ). Beispiele: mov 0x1000, %bx mov %bx, 0x1000 [ebx(0:15)] [M(0x1000)] [M(0x1000)] [ebx(0:15)] mov %bx, 0x1000 vorher nachher ebx A A 0x x1003 FF A. 9A A Meisel 13
14 6.6.4 Adressierungsart: Immediate Kennzeichen: Der Operand ist eine Konstante, der ein $ vorangestellt ist. Besonderheiten: Als Zieloperand sinnlos. Beispiele: movw $0x1000,%ebx [ebx(0:15)] 0x1000 oder besser mov $0x1000,%bx [ebx(0:15)] 0x1000 mov %eax, $0x1000 0x1000 [eax(0:31)]!!! Fehler!!! mov $0x1000,%bx vorher nachher ebx A Meisel 14
15 ÜBUNG: Adressierungsarten "register, immediate, direct" Geben Sie jeweils die Registerinhalte bzw. Speicherinhalte nach den Befehlen an. Alle verwendeten Register sind mit 0xFFFFFFFF initialisiert. Im Speicher stehen folgende Werte (alles Hexadezimal): Adr Inh A AB mov $0x101A,%ax [eax] = mov $0x25,%bl [ebx] = mov %bl,%al [eax] = mov 0x1000,%ebx [ebx] = mov $0x1000,%cx [ecx] = mov %ebx,%ecx [ecx] = mov %al,0x1000 M[0x1000] = mov %cx,$0x1000 M[0x1000] = mov 0x1000,%edx [edx] = mov %ax,0x1002 M[0x1000] = Meisel 15
16 6.6.5 Adressierungsart: Indirect Kennzeichen: Der Operand ist eine Speicherstelle, deren Adresse in einem Register steht. Besonderheiten: Erlaubt die Verwendung von zur Laufzeit berechneten Adressen. Verwendbar für die Übergabe von Datenstrukturen an Unterprogramme. Beispiele: mov (%eax), %ebx [ebx(0:31)] [M([eax])(0:31)] movw $0x1000, (%ebx) [M([ebx])(0:15)] 0x1000 mov (%eax), %bx Speicheradresse eax zeigt auf 12 AF 2A F3 0x099E 0x099F 0x1000 0x1001 ebx xx xx F3 2A wird kopiert 33 AB 0x1002 0x Meisel 16
17 6.6.6 Adressierungsart: Base-pointer Kennzeichen: Die Adressierung erfolgt ebenfalls indirect, zur Adresse im Register wird jedoch noch ein konstanter Versatzwert hinzuaddiert: Besonderheiten: Erlaubt die Verwendung von zur Laufzeit berechneten Adressen. Wichtig für den Zugriff auf Funktionsparameter. Beispiele: mov 4(%eax), %ebx movw $0x1000, -8(%ebx) [ebx(0:31)] [M([eax]+4)(0:31)] [M([ebx]-8)(0:15)] 0x1000 mov 4(%eax), %bx eax zeigt auf AF 2A F3 Speicheradresse 0x1000 0x1001 0x1002 0x AB 0x1004 0x1005 ebx xx xx AB 33 wird kopiert Meisel 17
18 6.6.7 Adressierungsart: Indexed Kennzeichen: Der Operand besteht aus einer Startadresse (StAdr), einem Indexregister (IReg) sowie der Datengröße (Size). Der Datenzugriff erfolgt an der Adresse: StAdr + [IReg]*Size Besonderheiten: Erlaubt die Verwendung von zur Laufzeit berechneten Adressen. Wichtig für die schrittweise Abarbeitung von Tabellen, Listen und Zeichenketten. Beispiele: mov 0x1000(,%eax,2), %bx [ebx(0:15)] [M([0x1000+[eax]*2])(0:15)] mov 0x1000(,%eax,2), %bx eax Quelladresse = 0x * [eax] 12 AF 2A F3 Speicheradresse 0x1000 0x1001 0x1002 0x1003 ebx xx xx F3 2A wird kopiert 33 AB 0x1004 0x Meisel 18
19 ÜBUNG: Adressierungsarten "indirect, based, indexed" Geben Sie jeweils die Registerinhalte bzw. Speicherinhalte nach den Befehlen an. Alle verwendeten Register sind mit 0xFFFFFFFF initialisiert. Im Speicher stehen folgende Werte (Hex.): Adr Inh A AB mov $0x1000, %edx [edx] = mov $0xFEDCBA98, %eax [eax] = mov %ax, (%edx) [M(0x1000)]= add $2, %edx [edx] = subb $4, (%edx) [M(0x1000)]= movb $0xFF, 1(%edx) [M(0x1000)]= movw $0xABCD, -2(%edx) [M(0x1000)]= mov $3, %ecx [ecx] = movw $0x1234, 0x1000(,%ecx,2) [M(0x1004)]= Meisel 19
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
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
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
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
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
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
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
MehrMikrorechentechnik 1. Befehlssatzarchitektur. Professur für Prozessleittechnik Wintersemester 2011/2012
Fakultät Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik Mikrorechentechnik 1 Befehlssatzarchitektur Professur für Prozessleittechnik Wintersemester 2011/2012 Qualifikationsziele
Mehr9. Assembler: Der Prozessor Motorola 68000
9.1 Architektur des Prozessors M 68000 9.2 Adressierungsarten des M 68000 9-1 9.1 Beschreibung des Prozessors M 68000 Charakteristische Daten des 56 Maschinenbefehle 14 Adressierungsarten Zweiadressmaschine
MehrMikrocomputertechnik. Adressierungsarten
Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter
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
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
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
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
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
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
Mehr2. Aufgabenblatt Musterlösung
2. Aufgabenblatt Musterlösung Technische Informatik II Sommersemester 2011 Problem 2: Assembler Syntax Register eines 32-bit Intel-Prozessors: 16 bits 8 bits 8 bits general purpose registers EAX Accumulator
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
MehrEinführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 27 4. Vorlesung Inhalt Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag 2er-Komplement BCD Addition und Subtraktion binär dargestellter Zahlen Carry und Overflow Little Endian
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
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrKlausur zur Mikroprozessortechnik
Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2
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.
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 4. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
MehrVorlesung "Struktur von Mikrorechnern" (SMR)
2 16-Bit Bit-Prozessoren 2.4 Datentypen in PASCAL 2.5 PIN-Funktionen beim I 8086 2.5.1 Adressbus 2.5.2 Multiplexbus 2.5.3 Interruptlogik 2.5.4 Betriebsmodi 2.6 Mehrrechnerkonzept Inhaltsverzeichnis Kapitel
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
MehrBekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software
Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Stand. September Seite 9 Bild. Am Ausgang des Multiplexers fehlt ein D, um ihn als Datenausgang zu kennzeichnen. Seite
Mehrx86-assemblerprogrammierung
x86-assemblerprogrammierung von Michael Röhrs (Ergänzend zum Vortrag am 25.04.01) Einleitung Die Familie der x86-prozessoren gehört zur Klasse der CISC-Prozessoren ( Complex Instruction Set Computer ).
MehrTechnische Informatik 2 Adressierungsarten
Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine
MehrDATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE
D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:
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
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
MehrKarlsruher Institut für Technologie
Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt
MehrAufgabe 1 Entwicklung einer Virtuellen Maschine
Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung
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
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 Hardware Prozessor (CPU)
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
MehrRechnerorganisation. IKS 2016 H.-D. Wuttke, K. Henke
Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau
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
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
MehrPC/XT/AT ASSEMBLER-BUCH
PC/XT/AT ASSEMBLER-BUCH Alle Befehle + Makro-Assembler KLAUS-DIETER THIES t
MehrKapitel 2. Zahlensysteme
Kapitel 2 Zahlensysteme 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-1 Zahlensysteme Definitionen Ziffern : Zeichen zur Darstellung von Zahlen Zahl : Eine Folge von
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 27 5. Vorlesung Inhalt Interpretation hexadezimal dargestellter Integer-Zahlen Little Endian / Big Endian Umrechnung in eine binäre Darstellung Ausführung von Additionen Optimierte
Mehr8. Intel IA-32 Prozessoren: Befehlsübersicht
8. Intel IA-32 Prozessoren: Befehlsübersicht Ganzzahlarithmetik Kontrollstrukturen Bitmanipulation Schieben und Rotieren 20.10.2007 Meisel 1 8.1 Ganzzahl-Arithmetik 8.1.1 Übersicht add adc sub sbb imul
MehrRechnernetze und Organisation
Pentium 1 Übersicht Motivation Architektur Instruktions-Set Adressierungsarten Geschichte Verbesserung und Erweiterungen 2 Motivation Verständnis von Prozessoren: Warum Pentium statt kleiner CPU? Pentium
MehrPentium. Die Intel-Pentium CPU. AK Pentium. Packaging. Pentium Busse. RISC oder CISC?
Pentium Die Intel-Pentium CPU Äußerst komplexes Ding IA-32 Intel Architecture Software Developer s Manual Vol 1: Basic Architecture: 426 Seiten Vol 2: Instruction Set Reference: 976 Seiten Vol 3: System
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
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur ARM, x86 und ISA Prinzipien Übersicht Rudimente des ARM Assemblers Rudimente des Intel Assemblers ISA Prinzipien Grundlagen der Rechnerarchitektur Assembler 2 Rudimente
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
MehrGrundlagen der Rechnerarchitektur
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
MehrGrundlagen 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
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
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.
MehrEDT-REFERAT Adressierungsarten
EDT-Referat BÜLBÜL Erkan 2ANB 95 /96 Seite 1 EDT-REFERAT Adressierungsarten INHALTSVERZEICHNIS 1.Theoretische Grundlagen 1.0 Einführung 1.1 Programm- & Datenspeicheradressierbereiche 2.Adressierungsarten
Mehr8. Beschreibung des Prozessors MSP 430
8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg
Mehr1. Grundlagen der Informatik Organisation und Architektur von Rechnern
1. Grundlagen der Informatik Organisation und Architektur von Rechnern Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen, Darstellung
MehrTechnische Informatik-I. Speicherorganisation und Adressierungsarten. Otto-von-Guericke-Universität Magdeburg
Technische Informatik-I Speicherorganisation und Adressierungsarten Otto-von-Guericke-Universität Magdeburg Speicherorganisation Wort-orientierter Speicher Wort 00 Wort 01 Wort 02 Wort 03 2 n -1 0 Bit
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
MehrDisclaimer: Das sind Lösungsvorschläge, keine Musterlösungen.
Autor: Sebastian Sossalla Disclaimer: Das sind Lösungsvorschläge, keine Musterlösungen. Aufgabe 1: Allgemeines (22 Punkte) 1. Welche der nachfolgenden Informationen werden i.a. im Condition- Code-Register
MehrBetriebssysteme (BS) IA-32. Überblick. das Programmiermodell der Intel Architektur. Historie der Intel x86 Prozessoren. 8086: Programmiermodell
Betriebssysteme (BS) alias Betriebssystembau (BSB) IA-32 das Programmiermodell der Intel Architektur Überblick Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz "Tasks" Zusammenfassung
MehrDas Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11.
Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} Stellen wir uns nun vor, die 12 Zahlen sind nicht in der richtigen Reihenfolge,
Mehr7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung
7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung Inhalt: Schichtenmodell x86-architektur und x86-assemblerprogrammierung Assemblersprache und Einbindung in C 1 Schichtenmodell Strukturierung
MehrAssembler-Programmierung
Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung
MehrTI2 Übung 2. Hauptspeicher, 6809-Prozessor. 23. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik
Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX TI2 Übung 2 Hauptspeicher, 6809-Prozessor 23. November 2004 (WS 2004) Andreas I. Schmied (schmied@inf...) 1 Hauptspeicher
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
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
MehrRechnersysteme. Speicherorganisation und Adressierungsarten. Otto-von-Guericke-Universität Magdeburg
Rechnersysteme Speicherorganisation und Adressierungsarten Otto-von-Guericke-Universität Magdeburg Speicherorganisation Wort-orientierter Speicher Wort 00 Wort 01 Wort 02 Wort 03 2 n -1 0 Bit Wort 2 k
MehrU23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides
Twix e.v. http://koeln.ccc.de 2016-11-28 Überblick 1 Motivation Was ist Shellcode? Beispiel 2 Einstieg Erzeugen, Testen von Shellcode 3 Der erste Shellcode Strings in Shellcode 4 Nullbytes, NOP Slides
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..
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
MehrMikrocomputertechnik 2.Mikroprozessor
2.3 Programmiermodell des 68000 Aus Sicht des Programmierers besteht der Prozessor aus Registersatz Befehlssatz Adressierungsarten Registersatz des 68000 8 universelle Datenregister (32 Bit) D0 D7 8 Adress-Register
MehrMMX Varianten der Arithmetik
MMX Varianten der Arithmetik Arithmetik wahlweise im Wraparound-Modus: Unter- bzw. Überläufe werden abgeschnitten und nur die niederwertigen (dargestellten) Bits abgebildet F000h a2 a1 a0 + + + + 3000h
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
MehrAufbau des Speichers. Interrupt Vektoren. 0xFFE0-0xFFFF. 16 Adressen f. Unterprog. ca. 60 kbyte Flash-ROM für Firmware, Programme, Daten, Tabellen
16 Adressen f. Unterprog. Wird i.d.r. einmal vor Inbetriebnahme beschrieben, kann jedoch in 512 Byte Bänken während Betr. verändert werden. Zwei kl. Bänke f. Programm. via Scatt.Fl. Nur 2kB schnelles RAM
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:
MehrSpezielle Techniken und Technologien der Informatik
1 / 32 Spezielle Techniken und Technologien der Informatik Reverse Engineering Robert Baumgartl 23. Mai 2016 Reverse Engineering Unter Reverse Engineering versteht man die Analyse von Software mit dem
MehrBefehle zur Verarbeitung von Daten ( data processing ):
ARM: Befehlssatz Befehle zur Verarbeitung von Daten ( data processing ): Register/Register-Befehle: ,, (Achtung! Andere Interpretation: ) Transport-Befehl: MOV ,
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
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
MehrMaterialien zur Lehrveranstaltung. Technische Informatik Teil RA Rechnerarchitektur. Übungsaufgaben. März 2017
Aufgaben Materialien zur Lehrveranstaltung Technische Informatik Teil RA Rechnerarchitektur Übungsaufgaben März 2017 Verwendung in der Prüfung NICHT erlaubt! Bitte benutzen Sie nur aktuelles Material!
MehrArchitektur und Organisation von Rechnersystemen (im Rahmen von Informatik III)
Architektur und Organisation von Rechnersystemen (im Rahmen von Informatik III) Thema heute: Zahlendarstellungen Micro_ArcOrg17-V4 am 21.05.2016 Ulrich Schaarschmidt HS Düsseldorf, WS 2017/18 Quellenhinweise
MehrGeräteentwurf mit Mikroprozessoren 1
Geräteentwurf mit Mikroprozessoren 1 Vorlesung am Institut für Elektronik der TU Graz Dipl.-Ing. Dr. Gerhard Stöckler SS 2003 Vorausgesetzte Kenntnisse: Grundlagen der Digitaltechnik Binäre Informationsdarstellung
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
MehrMusterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller
SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
MehrGrundlagen der Rechnerarchitektur und -organisation Technische Informatik II Organisation und Technologie von Rechensystemen IV
Grundlagen der Rechnerarchitektur und -organisation Technische Informatik II Organisation und Technologie von Rechensystemen IV Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität
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
Mehr31Input Adder. Discriptor Registers. LinearvAddressvBus. Limitvand Attribute PLA. Controlvand Attribute PLA. DisplacementvBus. InternalvControlvBus
EffectivevAddressvBus Protection TestvUnit EffectivevAddressvBus 3: 3: SegmentationvUnit 31Input Adder Discriptor Registers Limitvand Attribute PLA LinearvAddressvBus 3: PagingvUnit Adder Page Cache Controlvand
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
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
MehrRechnern netze und Organisatio on
Rechnernetze und Organisation Konstruktionsübung SS2009 Vorbesprechung 1 Übersicht Einleitung Motivation Administratives i ti Generelles zur KU Assignment A1 Vorbereitung Johannes Wolkerstorfer Vorstellung
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)
MehrMoritz Höppner. m-hoeppner@gmx.net
Linux-Assembler Tutorial Moritz Höppner m-hoeppner@gmx.net 1 Inhalt 1. Grundlagen... 3 1.1 Einführung... 3 1.2 Zahlensysteme... 3 1.3 Register... 5 1.4 Die benötigten Tools... 6 2. Das erste Programm...
MehrBefehlssatz der Mikrocontroller der 51er -Familie
Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher
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
MehrSysteme 1: Architektur
slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten
Mehr