Von der Einbettung in Anlagen zur Einbettung in Geräte

Größe: px
Ab Seite anzeigen:

Download "Von der Einbettung in Anlagen zur Einbettung in Geräte"

Transkript

1 Aufbau- und Funktionsmerkmale von Mikrocontrollern Strukturvergleich Eingebetteter Systeme Universelles Computersystem Eingebetteter Industrie-Computer mit Ausgliederung der I/O-Komponenten Mikro- Prozessor Host Interface USB Interface LAN Interface Grafik Interface I/Ocontrol Memorycontrol Chipsatz PCI Interface Mem Interface IDE /ATA Interface Memory Von der Einbettung in Anlagen zur Einbettung in Geräte Mikro- Prozessor zentrale Prozessor-Einheit Memory- Control Feldbus (z.b. PROFIBUS) dezentrale I/O-Einheiten (racks=rahmen) mit I/O-Modulen Dig. Ein/ Aus Dig. Ein/ Aus Memory (Hauptspeicher) I/O- Control Analog Analog Eingabe Ausgabe Dig. Ein/ Aus Seriell Ein/ Aus Mikrocontroller Prozessor- Einheit Memory Eingebetteter Industrie-Computer mit kompakter Modularisierung der I/O-Komponenten Dig. Ein/ Aus Dig. Ein/ Aus I/Ocontrol Analog Eingabe Analog Ausgabe Dig. Ein/ Aus Seriell Ein/ Aus CPU Dig. Ein/ Aus Dig. Ein/ Aus Hutschienen-Bus Mikro- Prozessor Memory Analog Eingabe Analog Ausgabe

2 Interne Mikrocontroller-Struktur I/O-Port A Memory Prozessor Einheit I/O-Port B... interner Datenbus... I/O-Port M timer control Einheit Interrupt control Einheit I/O-Port N Alle internen Einheiten transferieren ihre Daten über einen einzigen internen Datenbus. Signale von und zur umgebenden Schaltung wirken über Ports mit je 8 Einzelsignalen, deren Funktion (in, out, analog, digital) eingestellt werden kann. Die Interrupt-control-Einheit ist im µc, weil die wichtigsten Interrupt- Requests im µc entstehen. Dazu gehört besonders die Timercontrol-Einheit, die zeitbezogene Ereignisse erzeugen kann.

3 Das Adressierungsproblem I/O-Port A Program Memory Data Memory Prozessor Einheit I/O-Port B I/O-Port M timer control Einheit Interrupt control Einheit I/O-Port N Nur eine einzige Einheit kann adressieren: die Prozessoreinheit. Es wird zwischen Program- Memory und Data-Memory unterschieden. Im Data-I/O-Memory werden die Register des Prozessor-Registersatzes, die I/O-Register (I/O-Ports, timer-control, interrupt-control) und die Speicherzellen für die Variablen (Data Memory = RAM) zusammengefasst. Die bisher beschriebenen Merkmale gelten für alle Mikrocontroller. Die folgenden vertiefen die AVR-Architektur, speziell den ATmega69.

4 Die Adressierung des Data-I/O-Memory Der Mikrocontroller ATmega69 ist ein 8Bit-Controller, d.h. die Register und die SRAM-Speicherwörter haben 8 Bit. Die grundsätzliche Zuordnung erfasst zuerst 3 general purpose Register und darauf folgend eine Basisgruppe von 64 I/O-Registern. Bei diesem Typ folgt dann die Zuordnung von 60 (extended) I/O-Registern und darauf folgend 04 Speicherwörter des internen SRAM. Bei den Standard-Prozessoren werden die Prozessor-Register nicht in den allgemeinen Adressraum eingeordnet. Das ist aber bei Mikrocontrollern sinnvoll, wie sich gleich zeigt. Die Zuordnung der I/O-Register entspricht dem memory-mapped-i/o der Standard-Prozessoren.

5 Die Adressierung des Program-Memory Immer dann, wenn die Programmablaufsteuerung mit Hilfe des Instruction-Pointer zum Memory zugreift, gibt sie einem Auswahlsignal den Wert, der Program-Memory auswählt, sonst den Wert, der Data-I/O-Memory auswählt. Die Trennung ist notwendig, weil Programme und Daten unterschiedlich gespeichert werden, die einen in Flash-Memories, die anderen in SRAMs. Man muss nun nicht die Speicherwortbreite beim Befehlszugriff gleich derjenigen beim Datenzugriff machen. Tatsächlich ist hier die Wortbreite beim Zugriff zum Program-Memory 6 Bit. Die Maschinenbefehle sind 6 Bit oder 3 Bit lang, brauchen also oder zwei Speicherzugriffe. Der Adressraum umfasst 8K Adressen (3 Bit Instruction Pointer) und einen Speicherraum von 6 KByte Flash-Memory.

6 Flash-Memory - im System wieder programmierbar Sharp Grundstruktur wie beim NMOS-Transistor, aber am Gate ist zwischen der Gateglasschicht (insulator) und einer zusätzlichen Glasschicht (tunnel oxide) eine Zwischenschicht eingezogen. Diese ist im Grundzustand elektrisch neutral. Beim Schreiben (program) wird der Zustand nur in den Zellen in den geladenen Zustand geändert, die den zum neutralen Zustand entgegen gesetzten Zustand haben sollen. Man muss also einen Flash zuerst vollkommen löschen (erase), bevor man ihn neu programmiert. Für den Flash im ATmega69 werden 0000 Write/Erase-Zyklen angegeben. Beim Programmieren treibt man mit Hilfe der angelegten Spannungen Elektronen in die Zwischenschicht, die dort bleiben, solange man die normalen Spannungen anlegt.

7 EEPROM getrennt von Program- und Data-Memory Außer dem nicht-flüchtigen Flash-Program-Memory gibt es noch einen nicht-flüchtigen EEPROM-Speicher von 5 Byte. Er ist über vier spezielle I/O-Register erreichbar: das EEPROM-Control-, das EEPROM- Daten- und die beiden EEPROM-Adress-Register. Sobald beim Speicherzugriff das EEPROM-Adressregister verwendet wird, wird das Auswahlsignal für den EEPROM-Speicher erzeugt; die Adressbits können als normale Adresssignale angelegt werden, die für den Zugriff zum Data-Memory verwendet werden. Für das Löschen und Programmieren des Flashs oder des EEPROMs werden spezielle Befehle verwendet, da die beiden Vorgänge nichts mit dem normalen Lesen oder Schreiben zu tun haben. Im Folgenden wird das Mapping aller Basis-I/O-Register zusammengestellt.

8 Die Basis-I/O-Register - mapping Prozessor-Status Stackpointer Microcontroller Control Unit On Chip Debug Related Register Analog Comparator Control Serial Peripheral Interface Timer/Counter0 EEPROM-Adressierung

9 Die Basis-I/O-Register - mapping Interrupt-Controller Port G Port F Port E Port D Port C Port B Port A

10 Der Überblick über die Einheiten der I/O-Basisregister ATmega69 I/O-Port F I/O-Port A I/O-Port C Analog Digital Program Memory Data Memory timer control Einheit serial peripheral Interface Prozessor Einheit Interrupt control Einheit I/O-Port E I/O-Port B I/O-Port D I/O-Port G

11 Data Memory SRAM Adressen Instruction fetch Program Flash Program Counter Instruction Register Instruction Decoder Stack Pointer General purpose Register X Y Z ALU Daten Wenn der Instruction Pointer (hier Program Counter) die Adresse beim Speichzugriff liefert, wird der Program Flash selektiert und liefert oder 6Bit-Wörter in das Instruction Register. Der Instruction Decoder erzeugt die internen Steuersignale für die ausführenden Schaltungen (Adressierung der general-purpose- Register, Einstellung der arithmetisch-logischen Einheit, usw.). Processing Unit Status Register

12 Program Flash Program Counter Instruction Register Instruction Decoder Data Memory SRAM Stack Pointer General purpose Register X Y Z 5 3 Adressen Daten Instruction execute Das Holen der Operanden erfolgt: als Konstante aus dem Befehl (), durch Registerauswahl aus den general purpose Registern (), durch direkte Adressierung mit der Adresse im Befehl (3), durch indirekte Adressierung mit den Adressen in den Registern X oder Y oder Z (4), durch den Stack-Pointer (5). Die Speicherzugriffe selektieren das Data-Memory (SRAM). ALU 4 Das Ergebnis einer Operation (Ausgang der ALU) wird in den ersten Operanden transferiert. Processing Unit Status Register Das Statusregister wird gemäß dem Ergebnis eingestellt.

13 General Purpose Registersatz Der Entwurf des Mikrocontrollers erfolgte nach dem Prinzip des Reduced Instruction Set (RISC). Dabei werden die Befehle in ihrer Komplexität so begrenzt, dass sie möglichst in einem einzigen Prozessortakt ausgeführt werden können. Ein wichtiger Beitrag dazu wird von der Zugriffstechnik zum Registersatz geleistet, wenn sie das Liefern des/der Operanden und die Übernahme des Ergebnisses in einem Takt schafft, was eine schaltungstechnische Optimierung bedeutet für folgende Zugriffsfälle: einen 8Bit-Operanden liefern und ein 8Bit-Ergebnis speichern, zwei 8Bit-Operanden liefern und ein 8Bit-Ergebnis speichern, zwei 8Bit-Operanden liefern und ein 6Bit-Ergebnis speichern, einen 6Bit-Operanden liefern und ein 6Bit-Ergebnis speichern. Das bedeutet auch, dass die ALU ihre Operation in einem Takt schafft. Die General-Purpose-Register bekommen die niederwertigen Adressen im allgemeinen Daten-I/O-Adressraum. Das bedeutet nicht, dass sie im SRAM realisiert sind. Sie sind Prozessor-Register.

14 General Purpose Registersatz Die letzten Register R6 bis R3 haben zu ihrer allgemeinen Funktion noch eine besondere: sie können als 6Bit-Pointer- Register verwendet werden, um zum Data- Memory (SRAM) zuzugreifen. Nur mit ihnen kann man zum SRAM zugreifen. Sie werden X-, Y- und Z- Register genannt.

15 Data Memory SRAM Adressen AVR-Architektur Program Flash Daten Program Counter Instruction Register Instruction Decoder Stack Pointer General purpose Register X Y Z ALU Interrupt Unit SPI Unit Watchdog Timer Analog Comparator I/O Modul I/O Modul n Die zentralen Funktionen werden ergänzt: Interrrupt-Controller-Unit, Serial Peripheral Interface für einen synchronen bitseriellen Datentransfer hoher Übertragungsgeschwindigkeit, Timer-Unit für Zähler mit Takten, deren Perioden skalierbar sind, und I/O- Modulen für die digitale Einoder Ausgabe. Processing Unit Status Register

16 Befehlssatz des ATmega69 Im Folgenden werden die wichtigsten Befehle für den ATmega69 vorgestellt. Der vollständige Befehlssatz wird in den Übungsunterlagen bereitgestellt. Er ist eine Untermenge der Befehle, die insgesamt für die AVR-Architektur gelten. Beim Erlernen des Befehlssatzes ist es wichtig, dass man dessen grundsätzliche Struktur erkennt und aus diesem Wissen die Befehlsform assoziiert. Dann kann man sich bei der Anwendung an das Prinzip erinnern, wenn man unsicher ist. Also merkt man sich die grundsätzliche Gliederung in die Operationsgruppen und merkt sich dazu die Prinzipien der Adressierung, die für jede Operationsgruppe gelten. Deshalb werden im Folgenden die Befehle in einer Matrix vorgestellt. Die Spalten geben die Operationsgruppen wieder. Diese sind in den Zeilen gemäß ihren Adressierungsmöglichkeiten gegliedert. Die Operationen der Befehle sind englische Kürzel, die eigentlich sehr einprägsam sind. Hier wird die Funktion aber deutsch beschrieben, um die Funktion ohne Übersetzung schneller erfassen zu können. Besonders bei den verknüpfenden Befehlen erkennt man die Ungleichartigkeit der Adressierungsmöglichkeiten. Es wäre zum Lernen einfacher, wenn (wie beim Standardprozessor) überall die gleichen Adressierungen möglich wären. Beim Controller- Entwurf hätte das sicher seine Kosten bezogen auf das RISC-Konzept gehabt. Die Ungleichartigkeit erzwingt mehr Übung, um damit sicher umzugehen. Prägen Sie sich zuerst die Prinzipien ein, bevor Sie mit der Anwendung loslegen.

17 Adressierung bei Transferbefehlen LDS Rd, k6 LD Rd, Rp LD Rd,Rp+ SRAM indirekt mit decrement Rp zuvor, Rp = X/Y/Z LDD Rd, Rp+k6 STS Rd, k6 ST Rp, Rd SRAM indirekt mit Rp = X/Y/Z LD Rd,-Rp SRAM direkt ST Rp+, Rd SRAM indirekt mit increment Rp hinterher, Rp = X/Y/Z ST Rp, Rd SDD Rp+k6, Rd SRAM indirekt mit displacement- Konstante, Rp = Y/Z Der Befehlssatz des Mikrocontrollers ist darauf ausgelegt, dass man mit den internen Registern arbeitet. Man erkennt bei jedem Befehl rechts unten die Taktzahl, die der Befehl benötigt. Wenn das SRAM nicht beteiligt ist bzw. keine 6Bit-Operation verwendet wird, braucht ein Befehl nur einen Taktzyklus. Was man bei Standardprozessoren als wichtiges Merkmal hat (nämlich die Flexibilität beim Adressieren), ist hier nicht gefragt. Hier geht es u.a. um einfach verifizierbare kurze Ablaufzeiten, die man anhand von Befehl-Abzählen = Takt-Abzählen feststellen kann. Variable im SRAM müssen für die Verarbeitung mit einem Ladebefehl gezielt in ein Register geladen werden bzw. nach der Verarbeitung aus dem Register in das SRAM gespeichert werden. LD für Load, ST für Store, 0<k6<65535, 0<k6<63. MOV Rd,Rr IN Rd, port OUT port, Rd POP Rd PUSH Rd Register-Register-Transfer, 0<r<3, 0<d<3, 0<port<63

18 LDS Rd, k6 LD Rd, Rp LD Rd,Rp+ LD Rd,-Rp LDD Rd, Rp+k6 STS Rd, k6 ST Rp, Rd ST Rp+, Rd ST Rp, Rd SDD Rp+k6, Rd MOV Rd,Rr IN Rd, port OUT port, Rd POP Rd PUSH Rd Funktion der Transferbefehle lade Register Rd direkt-adressiert aus dem Datenspeicher, Pointer = k6 lade Register Rd indirekt adressiert aus dem Datenspeicher, Pointer = Rp = X/Y/Z lade Register indirekt adressiert aus dem Datenspeicher, Pointer = Rp = X/Y/Z, inkrementiere danach Rp dekrementiere zuerst Rp, lade dann Register Rd indirekt adressiert aus dem Datenspeicher, Pointer = Rp = X/Y/Z lade Register Rd indirekt adressiert aus dem Datenspeicher, Pointer=Rp + k6,rp =Y/Z speichere das Register Rd direkt adressiert in den Datenspeicher, Pointer = k6 speichere das Register Rd indirekt adressiert in den Datenspeicher, Pointer = Rp = X/Y/Z speichere das Register Rd indirekt adressiert in den Datenspeicher, Pointer = Rp = X/Y/Z, inkrementiere dann Rp dekrementiere zuerst Rp, lade dann Register Rd indirekt adressiert aus dem Datenspeicher, Pointer = Rp = X/Y/Z speichere Register Rd indirekt adressiert in den Datenspeicher, Pointer = Rp + k6, Rp = Y/Z kopiere Register Rr in das Register Rd lade das I/O-Register port in das Register Rd speichere Register Rd in das I/O-Register port hole Register Rd vom Stack lade Register Rd auf den Stack

19 Adressierung bei arithmetisch/logischen Befehlen ADD Rd,Rr SUB Rd,Rr CP Rd,Rr AND Rd,Rr OR Rd,Rr EOR Rd,Rr ADC Rd,Rr SBC Rd,Rr CPC Rd,Rr Register-Register-Adressierung, 0<d<3, 0<r<3 SUBI Rd,K8 CPI Rd,K8 ANDI Rd,K8 ORI Rd,K8 SBCI Rd,K8 ADIW Rp,K6 SBIW Rp,K6 Register/Registerpaar-Konstante Adressierung 4<p<30, 6<d<3, 0<K6<63, 0<K8<55 INC Rd DEC Rd TST Rd COM Rd NEG Rd Register-Adressierung, 0<d<3 Die folgende Notation der Funktion legt die Verknüpfung und den Transfer des Ergebnisses fest.

20 ADD Rd,Rr ADC Rd,Rr ADIW Rp,K6 INC Rd SUB Rd,Rr SBC Rd,Rr SUBI Rd,K8 SBCI Rd,K8 SBIW Rp,K6 DEC Rd CP Rd,Rr CPC Rd,Rr CPI Rd, K8 AND Rd,Rr ANDI Rd,K8 TST Rd OR Rd,Rr ORI Rd,K8 EOR Rd,Rr COM Rd NEG Rd Rd Rd + Rr Rd Rd + Rr +C Rd+:Rd Rd+:Rd + K6, 0<K6<63, Rp= high-byte:low-byte = Rd+:Rd Rd Rd + Rd Rd - Rr Rd Rd Rr -C Rd Rd K8, 0<K8<55 Rd Rd K8 -C, 0<K8<55 Rd+:Rd Rd+:Rd - K6, 0<K6<63, Rp= high-byte:low-byte = Rd+:Rd Rd Rd - Rd Rr, Flags zeigen >/</= 0 Rd Rr -C, Flags zeigen >/</= 0 Rd K8, 0<K8<55, Flags zeigen >/</= 0 Rd Rd UND Rr Rd Rd UND K8, 0<K8<55 Rd UND Rd Rd Rd ODER Rr Rd Rd ODER K8, 0<K8<55 Rd Rd Exklusiv-ODER Rr Rd Inversion von Rd, -Komplement Rd Inversion von Rd +, -Komplement

21 Schieben und Multiplizieren LSL Rd LSR Rd ASR Rd ROL Rd ROR Rd SWAP Rd logical shift left logical shift right arithmetic shift right rotate left rotate right swap nibbles Register-Adressierung 0<d<3 MUL Rd, Rr mul unsigned MULS Rd,Rr mul signed MULSU Rd,Rr mul signed with unsigned Register-Register-Adressierung 6<d<3, 6<r<3

22 Adressierung bei Verzweigungsbefehlen Unbedingte Verzweigungen RJMP k RCALL k 3 PC (6 Bit) + k (Bit) relativ: -048<k<+047 IJMP ICALL indirekt mit Z 3 PC (6 Bit) Z (6 Bit) indirekt mit Z RET RETI 4 4 Fragen: Welche Zahlendarstellung liegt der relativen Adresse zugrunde? Worin unterscheiden sich RET und RETI?

23 Adressierung bei Verzweigungsbefehlen Bedingte Verzweigungen Bedingtes Überspringen eines Befehls BR xx k7 : Verzweige (Branch), wenn Bedingung xx erfüllt, nach PC PC + k7 +, sonst PC PC +, -64<k<+63 SBxx: Überspringe (Skip) nächsten Befehl, wenn Bedingung xx erfüllt, sonst nicht; 0<port<63, 0<b<7, 0<d<3, 0<r<3 xx=eq: equal NE: not equal CS carry set CC carry cleared SH same/higher LO lower MI minus PL plus GE greater/equal 0 LT less than 0 usw.!/ SBRC Rd, b: Skip, wenn Bit b in Rd gleich 0 SBRS Rd, b: Skip, wenn Bit b in Rd gleich SBIC port, b: Skip, wenn Bit b in port gleich 0 SBIS port, b: Skip, wenn Bit b in port gleich CPSE Rd, Rr : Vergleiche durch Rd Rr und Skip, wenn Rd = Rr!//3 Ausnahmen zur normalen Ablaufsteuerung NOP SLEEP WDR No Operation Warten auf Interrupt-Request Watchdog Rücksetzen

24 Setzen und Rücksetzen von Statusbits I: Global Interrupt Enable T: Copy Storage H: Half Carry Flag S: Sign SEi, wobei für i der Flag-Name einzusetzen ist, bedeutet: Setzen des Flags. CLi bedeutet Clearen des Flags. SER Rd CLR Rd LDI Rd,K8 SBR Rd, K8 CBR Rd, K8 SBI port, b CBI port, b V: -Complement Overflow N: Negative Z: Zero Bits in Registern Setzen bzw. Rücksetzen Rd 55, alle Bits in Rd setzen Rd 0, alle Bits in Rd 0 setzen Rd K8 Rd Rd ODER K8 Setze die Bits, die in K8 sind, in Rd auf. Rd Rd UND (Inversion von K8) Setze die Bits, die in K8 sind, in Rd auf 0. Setze Bit b in port auf Setze Bit b in port auf 0 0<K8<55, 6<d<3 6<d<3, 0<K8<55 0<port<63, 0<b<7 C: Carry

25 Mikrocontroller für die Einstiegsübungen Die ersten Übungen sollen Sie mit dem Befehlssatz vertraut machen. Dazu testen Sie die von Ihnen entwickelten Programme mit einem Simulator, der den Programmablauf mit allen Zustandsänderungen des Controllers und Speichers nachbildet. Die Simulation einer strukturell einfachen Version des Mikrocontrollers, die befehlskompatibel zum ATmega69 ist, garantiert beim Test einen schnellen Überblick. Deshalb fiel die Wahl auf den AT90S33, der alle Befehle wie vorgestellt enthält, bis auf die Multiplikationsbefehle. Der Strukturplan gibt den Überblick: die Vereinfachung der Struktur liegt in weniger I/O-Funktionen und geringeren Speicherräumen.

26 Das Register-Mapping des Mikrocontrollers AT90S33 Prozessor-Status Stackpointer Interrupt-Controller Microcontroller Control Unit Timer/Counter0 Timer/Counter Timer/Counter Watchdog

27 Das Register-Mapping des Mikrocontrollers AT90S33 EEPROM-Adressierung Port B Port D UART Analog Comparator Control Die Zuordnung zwischen den I/O-Registern und dem Daten-I/O-Adressbereich ist für die einzelnen Typen der AVR-Architektur unterschiedlich. Die Struktur und Funktion der Register für die einzelnen Funktionseinheiten ist aber gleich. Solange man die symbolischen Namen für die Register verwendet, kann der Übersetzer die Adressen einsetzen, die für den jeweiligen Typ gelten. Ansonsten muss man sich selbst die Mühe der Anpassung machen.

Teil III: Wat macht ene Mikrokontroller?

Teil III: Wat macht ene Mikrokontroller? Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil III: Wat macht ene Mikrokontroller?

Mehr

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

05. 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

Mehr

Teil 2: Rechnerorganisation

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

Mehr

Sprungbefehle und Kontroll-Strukturen

Sprungbefehle und Kontroll-Strukturen Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter

Mehr

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

Mikroprozessoren 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)

Mehr

Einführung in AVR-Assembler

Einführung in AVR-Assembler Einführung in AVR-Assembler Easterhack 2008 Chaos Computer Club Cologne Stefan Schürmans, BlinkenArea stefan@blinkenarea.org Version 1.0.4 Easterhack 2008 Einführung in AVR-Assembler 1 Inhalt Vorstellung

Mehr

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

Mikroprozessoren 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)

Mehr

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

Mikroprozessoren 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)

Mehr

Befehle zur Verarbeitung von Daten ( data processing ):

Befehle zur Verarbeitung von Daten ( data processing ): ARM: Befehlssatz Befehle zur Verarbeitung von Daten ( data processing ): Register/Register-Befehle: ,, (Achtung! Andere Interpretation: ) Transport-Befehl: MOV ,

Mehr

Assembler-Unterprogramme

Assembler-Unterprogramme Assembler-Unterprogramme Rolle des Stack Prinzipieller Ablauf Prinzipieller Aufbau Unterprogramme void main(void) int sub(int i) { { int i,k; return i*2; i = sub(13); } k = sub(14); } Wie macht man das

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

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

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

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

Mikroprozessoren 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)

Mehr

Einführung in AVR Assembler

Einführung in AVR Assembler Einführung in AVR Assembler Dennis Fassbender Institut für Technik Autonomer Systeme (LRT8) Universität der Bundeswehr München 09042014 Was ist Assembler? Low-level-Programmiersprache Erlaubt direkten

Mehr

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

Mehr

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

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

Mehr

Teil 2: Rechnerorganisation

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

Mehr

Zusammenfassung der Assemblerbefehle des 8051

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

Mehr

Technische Informatik 2: Addressierung und Befehle

Technische Informatik 2: Addressierung und Befehle Technische Informatik 2: Addressierung und Befehle Memory Map Programm Speicher: Adresse $000-$FFF max. 4096 Byte für kompiliertes Programm Data Memory: Adresse $0000-$FFFF 32 8Bit Register 64 I/O Register

Mehr

Teil 2: Rechnerorganisation

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

Mehr

Von-Neumann-Architektur

Von-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..

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Core und Speicher des ATmega16

Core und Speicher des ATmega16 Ausarbeitung Core und Speicher des ATmega16 Verfasst von: Daniel Dünker Quellen: http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf Inhaltsverzeichnis 1.Allgemeines (S. 3) 2.Die Alu (S. 4) 3.Das

Mehr

Mikroprozessor als universeller digitaler Baustein

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

Mehr

Prinzipien und Komponenten eingebetteter Systeme

Prinzipien und Komponenten eingebetteter Systeme 1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (2) Mikrocontroller I Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.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

Mehr

ATmega169 Chip: Pin-Layout

ATmega169 Chip: Pin-Layout ATmega169 Chip: Pin-Layout Die logische Schnittstelle der Funktionseinheit MCU (Microcontroller Unit) entspricht der physikalischen Schnittstelle der Baueinheit (Chip). Für die Maschinenbefehle sind nur

Mehr

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega Einleitung... 11 Die Pins alphabetisch.... 12 Kapitel 1 Programmierung des ATmega8 und des ATmega328.... 15 1.1 Was Sie auf den nächsten Seiten erwartet... 19 1.2 Was ist eine Micro Controller Unit (MCU)?....

Mehr

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer Übung RA, Kapitel 1.5 1. Beantworten Sie bitte folgende Repetitionsfragen 1. Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine. Folie 5, rechte Seite 2. Welche

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

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

Musterlö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

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

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

Mikroprozessoren 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)

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

MikroController der 8051-Familie

MikroController der 8051-Familie i Dipl.-Ing. Roland Dilsch MikroController der 8051-Familie Aufbau, Funktion, Einsatz Vogel Buchverlag Inhaltsverzeichnis Vorwort 5 1 Was ist ein MikrocontroUer? 13 1.1 Aufbau eines Computers 13 1.2 Entstehung

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Framework für Assignment A2 1 Übersicht Framework für Assignment A2 WH: Aufgabenstellung Klassen und Methoden Getting started Erste Instruktion aus Testdaten dekodieren 2 Aufgabenstellung Instruction-Set

Mehr

RISC-Prozessoren (1)

RISC-Prozessoren (1) RISC-Prozessoren (1) 1) 8 Befehlsklassen und ihre mittlere Ausführungshäufigkeit (Fairclough): Zuweisung bzw. Datenbewegung 45,28% Programmablauf 28,73% Arithmetik 10,75% Vergleich 5,92% Logik 3,91% Shift

Mehr

ProcessorsTechnik Labor LCD-Uhr

ProcessorsTechnik Labor LCD-Uhr ProcessorsTechnik Labor LCD-Uhr Xu,Zhen 20465719 Aufgabe Beschreibung:LCD-Uhr HardWare :LCD161A. (4B.8B Dataverarbeiten ). Clock Chip:KS0066U Programmieren Sprache :Assemble LCD1602 PIN definieren : Pin

Mehr

TI2 Übung 2. Hauptspeicher, 6809-Prozessor. 23. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

TI2 Ü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

Mehr

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

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

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

Rechnerorganisation. (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

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

Mehr

MOP: Befehlsliste für den Mikrocontroller 8051

MOP: Befehlsliste für den Mikrocontroller 8051 Beuth Hochschule Berlin FB VI, Labor für Digitaltechnik MOP: Befehlsliste für den Mikrocontroller 8051 Erläuterung der Operanden Operand A addr11 addr16 bit /bit C #data #data16 direct DPTR PC Ri Rn rel

Mehr

4 Assembler für die 8051-Controller-Familie

4 Assembler für die 8051-Controller-Familie 4 Assembler für die 8051-Controller-Familie Tabelle 4.1 Wichtige Schreibweisen und Bedeutungen für die Befehle Abkürzung #data data addr Rr @Rr code addr Bedeutung Daten sind in der Instruktion codiert

Mehr

Grundlegende Programmiertechniken

Grundlegende Programmiertechniken Das Attiny-Projekt Grundlegende Programmiertechniken 1 Grundlegende Programmiertechniken Es gibt zwei Aspekte der Assemblerprogrammiertechnik, die als grundlegend angesehen werden können: Zum Einem der

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler

Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler 1. Oktober 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1.

Mehr

Lösungen zum Kurs "Mikrocontroller Hard- und Software

Lösungen zum Kurs Mikrocontroller Hard- und Software Lösungen zum Kurs "Mikrocontroller Hard- und Software Gerhard Schmidt Kastanienallee 20 64289 Darmstadt http://www.avr-asm-tutorial.net Lösung Aufgabe 2 Aufgabe 2 sbi DDRB,PB0 2 Takte sbi PORTB,PB0 2 Takte

Mehr

Die Mikroprogrammebene eines Rechners

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

Mehr

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar intern (auf CPU) PROGRAMMSPEICHER extern 2K bis 64K ROM 051: 4K max 64K 051:64K 051Speicherorganistaion 13.04.2000 - v3 extern interner XRAM DATENSPEICHER intern (auf CPU) SPECIAL FUNCTION REGISTER SFR

Mehr

Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie

Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie Programmierung in Assembler und C - Schaltungen und Anwendungen von Prof. Dipl.-Ing. Günter Schmitt 4., korrigierte Auflage Oldenbourg Verlag

Mehr

1.7 Atmega-Programmierung in ASM/Verschachtelte Schleifen

1.7 Atmega-Programmierung in ASM/Verschachtelte Schleifen .7 Atmega-Programmierung in ASM/Verschachtelte Schleifen.7. Aufgabe Die beiden LEDs sollen abwechselnd blinken. Mit der bisherigen Lösung flackern sie nur (Beispiel: blink0.asm):. include /usr/share/avra/m8def.

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS

Mehr

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]

Zusammenhang 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

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Gerhard Paulus gp@gnomsoft.de

Gerhard Paulus gp@gnomsoft.de -------------------------------------------------------------- Assembler ab 0 und 1 8.10.2002 -------------------------------------------------------------- Gerhard Paulus gp@gnomsoft.de Copyright (c)

Mehr

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Grundlagen der Mikrocontroller... 1 1.1 Mikrocontroller-Familie ATtiny2313, ATtiny26 und ATmega32.... 6 1.1.1 Merkmale des ATtiny2313, ATtiny26 und ATmega32..... 8 1.1.2 Pinbelegung

Mehr

Datenpfad einer einfachen MIPS CPU

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

Mehr

Einführung Microcontroller

Einführung Microcontroller 18. Januar 2011 Inhaltsverzeichnis 1 Einleitung 2 3 4 5 Was ist eigentlich ein Microcontroller? Microcontroller - Was ist das? Microcontroller enthalten: integrierte und gleichzeitig programmierbare Schaltungen,

Mehr

MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1

MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1 MSP 430 Mixed Signal Microcontroller MSP 430 Einführung Der Mikrocontrollers MSP430 von Texas Instruments Das Entwicklungsboard MSP-STK 430A320 http://www.ti.com Texas Instruments 1 Texas Instruments 2

Mehr

E Mikrocontroller-Programmierung

E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grundlagen 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

Mehr

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Arithmetik, 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

Mehr

EEPROM Lesen/Schreiben über SPI-Bus

EEPROM Lesen/Schreiben über SPI-Bus EEPROM Lesen/Schreiben über SPI-Bus Experiment EEPROMtest 6 A.Schultze / DK4AQ 15.06.2013 Was ist ein EEPROM? EEPROM = Electrical Erasable Programmable Read Only Memory Ein EEPROM kann elektrisch geschrieben

Mehr

Tutorium Rechnerorganisation

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

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz 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

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz 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

Mehr

Vorlesung "Struktur von Mikrorechnern" (SMR)

Vorlesung Struktur von Mikrorechnern (SMR) Unterscheidung nach Instruktionsstruktur Kap. 6 / 34 Unterscheidung nach Befehlstypen: Übersicht Register-Register MOV r r, r 2 A Speicher/Peripherie Register Transferbefehle LDA addr STA addr Konstante

Mehr

Praktikum ASP Blatt 2 1. LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Aspekte der systemnahen Programmierung bei der Spieleentwicklung

Praktikum ASP Blatt 2 1. LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Aspekte der systemnahen Programmierung bei der Spieleentwicklung Praktikum ASP Blatt 2 1 LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Aspekte der systemnahen Programmierung bei der Spieleentwicklung Arbeitsblatt 2 29.10.2018-04.11.2018 T1 Grundlagen der AArch64-Architektur

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 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

Mehr

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

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005 Mikroprozessoren Aufbau und Funktionsweise Christian Richter Ausgewählte Themen der Multimediakommunikation SS 2005 Christian Richter (TU-Berlin) Mikroprozessoren AT MMK 2005 1 / 22 Gliederung Was ist

Mehr

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs

Mehr

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme EMES: Eigenschaften mobiler und eingebetteter Systeme Prozessoren für mobile und 00101111010010011101001010101 eingebettete Systeme II: Die AVR-Architektur Dipl. Inf. Jan Richling Wintersemester 2004/2005

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch 21.06.2017, 14:00 Uhr 1.1. Einführung Programmsteuerbefehle

Mehr

Adressierung von Speichern und Eingabe- Ausgabegeräten

Adressierung von Speichern und Eingabe- Ausgabegeräten Adressierung von Speichern und Eingabe- Ausgabegeräten Adressdecodierung Die Busstruktur von Prozessorsystemen verbindet die Bauteile über gemeinsame Leitungen. Auf dem Bus darf zu einer Zeit immer nur

Mehr

Inhaltsverzeichnis VII.

Inhaltsverzeichnis VII. \ 1 Grundlagen der Mikrocontrolier 1 1.1 Mikrocontroller-Familie ATtiny2313, ATtiny26und ATmega32 6 1.1.1 Merkmale des ATtiny2313, ATtiny26und ATmega32 8 1.1.2 Pinbelegung des ATtiny2313, ATtiny26 und

Mehr

1. Inhaltsverzeichnis

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

Mehr

Datenpfad einer einfachen MIPS CPU

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

Mehr

RO-Tutorien 3 / 6 / 12

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

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : ESI Semesterendprüfung 15.6.2009 Name : Klasse : Punkte : Note : Zeit: 12.50 bis 13.35 Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf die Rückseite

Mehr

Use of the LPM (Load Program Memory)

Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Instruction with the AVR Assembler Load Constants from Program Memory Use of Lookup Tables The LPM instruction is included in the

Mehr

13.2 Übergang zur realen Maschine

13.2 Übergang zur realen Maschine 13.2 Übergang zur realen Maschine Bernd Becker Technische Informatik II Unterschiede zwischen abstrakter und realer Maschine 1. Bei realer Maschine nur ein Speicher M für Daten und Befehle. M ist endlich.

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

Mehr

Rechnerarchitektur Zusammengetragen vom Marc Landolt

Rechnerarchitektur Zusammengetragen vom Marc Landolt Rechnerarchitektur Zusammengetragen vom Marc Landolt http://ml.buzzernet.com 1/14 1 Die verschiedenen Betrachtungsebenen Rechnerebene Hauptblockebene Registertransferebene Schaltwerkebene Ebene elektrischer

Mehr

Assembler. 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 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

Mehr

Systementwurf mit Excalibur

Systementwurf mit Excalibur Handout zum Referat von Jan Suhr am 14.07.2001 im Seminar Mikroprozessoren von Norman Hendrich zum Thema: Systementwurf mit Excalibur Im Vergleich zu festverdrahteten Bausteinen wie ASIC's oder ASSP's

Mehr

Wolfgang Trampert AVR-RISC. MikroController. Architektur, Hardware-Ressourcen, Befehlsvorrat, Programmierung, Applikationen

Wolfgang Trampert AVR-RISC. MikroController. Architektur, Hardware-Ressourcen, Befehlsvorrat, Programmierung, Applikationen Wolfgang Trampert AVR-RISC MikroController Architektur, Hardware-Ressourcen, Befehlsvorrat, Programmierung, Applikationen Mit 200 Abbildungen und 47 Tabellen 2. Auflage Franzis 9 Inhalt Einführung 13 1.1

Mehr