Prinzipen und Komponenten Eingebetteter Systeme (PKES) Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme
|
|
- Sabine Feld
- vor 5 Jahren
- Abrufe
Transkript
1 1 Vorlesung Prinzipen und Komponenten Eingebetteter Systeme (PKES) (8) Mikrocontroller III Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme
2 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller Architekturen Sensoren Scheduling Arithmetik Anwendungen Aktoren Kommunikation Energieversorgung
3 3 Wie weiter? Takt generator obligatorisch Energieversorgung fakultativ Interrupts Speicher Mikrocontroller Timer Resetsystem Digitale I/O Analoge I/O
4 4 Literaturhinweise M. Mitescu I. Susnea Microcontrollers in Practice Springer, 2012 Atmel Corporation ATmega640/1280/1281/2560/ Datasheet 2012
5 5 Fragen an die Veranstaltung Welche Schritte werden bei der Abarbeitung von Interrupts durchlaufen? Welche Folgen können verpasste Interrupts haben? Beziehen Sie sich dabei insbesondere auf verschiedene Sensortypen, mit denen Sie in der Übung gearbeitet haben. Woraus ergibt sich die Prioritätenfolge der Interrupts beim AVR? Was unterscheidet die periodische Abarbeitung von der Ereignis getriebenen Abarbeitung? Nennen Sie Interruptquellen beim AVR? Wie viele Interrupts können sich bei Atmega 2560 stauen, ohne dass einer verloren geht? Bewerten Sie folgende Aussage: Die Gleitkommaeinheit des Atmega 2560 erlaubt Operationen für double und float Werte. Welchen Vorteil hat die Gleitkommaarithmetik gegenüber einer Festkommaarithmetik?
6 6 Abfragen der Sensoren Lies Messwert Lies Messwert 1 Taktperiode Transformation, Filterung, Detektor, Abstraktion Berechnung Reglerverhalten Idle Messwert verfügbar Busy Waiting bis zum Ende der Periode Schreibe Ausgabe Lies Messwert Idle Timerinterrupt Schreibe Ausgabe Idle Timerinterrupt Schreibe Ausgabe
7 7 Interruptbasierte Programmierung normale Programmabarbeitung Beenden der aktuelle Instruktion Interrupts deaktiviert Registersatz auf den Stack Zeitpunkt des Interrupts indirekter Sprung über die Interrupt-Einsprungtabelle zur Interrupt-Behandlungs- Routine Ausführung der Interrupt- Einsprung- Routine Ausführung der Interrupt- Behandlungs- Routine RTI: Rückkehr vom Interrupt normalen Programmabarbeitung Wiederherstellung des Prozessorzustands Holen der Register vom Stack
8 8 Praktische Umsetzung Single Device Multi Devices Daisy Chaining
9 9 Vektorisierte Interrupts IMR Interrupt Masken Register IRR Interrupt Request Register PSN - Prioritätenschaltnetz Source: Mikrocontroller, Wüst
10 10 Interrupts beim AVR 8 Interruptvektoren für externe Interrupts an Port INT Interruptvektoren für interne Ereignisse (Timer, ADC, Comm, Memories) 1 Reset Interruptvektor Die Priorität der Interrupts ist durch die Position in der Interrupt- Vektor-Map ( ) festgelegt. Diese wird im Programmspeicher (Flash) angelegt. Es kann gewählt werden, ob sie am Anfang ( ) stehen soll oder vor der Boot-Loader Sektion. Prioritäten: Reset ext.interrupts 0-7 Timer (hohe Prio) Kommunikation ADC Analog-Komparator Timer (niedrigere Prio) Kommunikation (niedrigere Prio)
11 11 Interrupt-Vektortabelle des AVR
12 12 Interrupts beim AVR Ausführung eines Interupts wenn: generelle Aktivierung über Status Bit (I-Bit) individuelle Aktivierung der externen Interrupts (Maske) Interrupt Auftritt Verschachtelte Interrupts sind nicht vorgesehen können aber erzwungen werden globale Sperrung der Interrupts, keine Verdrängungsmodelle! Stau von Interrupts: 1. Ein Interrupt tritt auf, während Interrupts gesperrt sind. 2. Setzen des individuelle Interruptflags 3. Soweit ein weiterer Interrupt gleichen Typs auftritt, wird der vorhergehende Interrupt überschrieben. 4. Nach dem Verlassen der ausgeführten Interruptroutine werden die zwischenzeitlich eingetroffenen Interrupts abgearbeitet.
13 13 Darstellung im Assembler-Code < vectors>: 0: 0c jmp 0xe4 ; 0xe4 < ctors_end> 4: 0c jmp 0x126 ; 0x126 < bad_interrupt> 44: 0c jmp 0x12a ; 0x12a < vector_17> e4 < ctors_end>: e4: eor r1, r1 ; Init R1 e6: 1f be out 0x3f, r1 ; Setzen des SREG e8: cf ef ldi r28, 0xFF ; Initialisieren des Stack < bad_interrupt>: 126: 0c jmp 0 ; 0x0 < vectors>
14 14 Darstellung im Assembler-Code a < vector_17>: ISR(TIMER1_COMPA_vect) { 12a: 1f 92 push r1 12c: 0f 92 push r0 12e: 0f b6 in r0, 0x3f ; : 0f 92 push r0 132: eor r1, r1 134: 8f 93 push r24 counter_trigger=1; 136: 81 e0 ldi r24, 0x01 ; 1 138: a 02 sts 0x020A, r24 } 13c: 8f 91 pop r24 13e: 0f 90 pop r0 140: 0f be out 0x3f, r0 ; : 0f 90 pop r0 144: 1f 90 pop r1 146: reti SREG sichern r0=0 r24 sichern Counter_trigger =1 Rücksprung
15 15 Zeitverhalten des Interrupts normale Programmabarbeitung aktuelle Instruktion wird zu Ende geführt Mindestens Interrupts werden 1 Clock Zyklen deaktiviert Zeitpunkt des Interrupts indirekter Sprung über die Interrupt-Einsprungtabelle zur Interrupt-Behandlungs- Routine Ausführung der Interrupt- Einsprung- Routine Mindestens 5 Clock Zyklen Ausführung der Interruptn Clock Zyklen Behandlungs- Routine Fortsetzung der normalen Programmabarbeitung Continue Mindestens RTI: Rückkehr vom Interrupt 5 Clock Zyklen Wiederherstellung des Prozessorzustands
16 16 AVR zwei Varianten externer Interrupts INTn bei INT0 kannst du auf die positive bzw. negative Flanke einen Interrupt auslösen. individuelle Interruptroutinen Teilweise asynchron und damit zum Restart des Prozessors aus verschiedenen Sleep-modi geeignet PCINTn Keine Triggerung auf bestimmte Signalzustände eine allgemeine Interruptfunktion Pattern matching über 8 Bit PCINT0:7 und PCINT8:15 (konfigurierbar über PCMSK1:2) Source: Atmega 2560 Handbuch Beide Varianten können als Softwareinterrupts benutzt werden!
17 17 Neue Herausforderungen Sensoren Mikrocontroller Architekturen Scheduling Arithmetik Anwendungen Aktoren
18 18 Herausforderung Zahlendarstellung Charakteristik einer Zahlendarstellung im Rechner: Bereich (Range): darstellbarer Zahlenbereich Genauigkeit (Precision): Anzahl der darstellbaren Stellen Fehlerschranke (Accuracy): Abweichung vom tatsächlichen Wert Range Diskrete Zahlenwerte n n+1 n+2 Genauigkeit realer rationaler Wert x
19 19 Zweierkomplement Abbildungsbereich 2 k k 1 1 Einheitliche Addition/Subtraktionsoperation aufwändigere Komplementbestimmung Bit 3 V: Two s Complement Overflow Flag Unbrauchbar für gebrochene Zahlen! Source: Atmega 2560 Handbuch, wikipedia
20 20 Fließkommazahl Eine binäre Gleitkommazahl x ist definiert durch x = 1 s a 2 e mit m-stelliger Mantisse a p-stelligem Exponent e und einstelligem Vorzeichenbit s. Wichtige Definitionen: Eine binäre Gleitkommazahl x 0 heißt normalisiert oder normiert, wenn für die Mantisse a gilt: 1 a < 2, d.h. die erste Stelle der Mantisse ist immer eine 1! Der Exponent wird mit einem Bias verrechnet. Dies ermöglicht die Darstellung positiver und negativer Exponenten. Um große und kleine Exponenten zu erlauben wird die Hälfte des maximalen Exponenten p gewählt b = 2 p 1 und e = e + b Beispiel: p=3 e e
21 21 IEEE 754 Standard Früher: Unterschiedliches Gleitkommaformat in jedem Prozessor, Heute: Überwiegend Verwendung des IEEE 754 Standard (1985) allgemeine Definition: x = ( 1) s 1.f 2 e b S: Vorzeichenbit mit 0 = positive Mantisse, e: Exponent (8 Bit, ) b: Bias ( = -127) 1= negative Mantisse f: gebrochener Anteil der normalisierten Mantisse (23 Bit). Der ganzzahlige Anteil ist immer 1 und wird daher nicht codiert S Exponent mit Bias positiver, gebrochener Anteil der Mantisse IEEE 754 Gleitkommezahl, einfache Genauigkeit (single precision)
22 22 Definitionen des Standards single precision double precision quad precision n m s p e min e max b x min x max ( ) ( ) ( )
23 23 Genauigkeit bei Fließkommaarithmetik Problemstellung: Endlichkeit des Speichers bei der Darstellung gebrochener Zahlen D = 0,001 B 1 3 = 0,1 T = 0,01 B 0.1 D = = B Ergebnis #include "stdio.h" int main(){ if(.362*100.!= 36.2) printf("verschieden\n"); if(.362*100./100.!=.362) printf( genau so\n"); return 0; } Definition einer epsilon-umgebung x y ε oder 1 x y ε
24 24 Anwendung Algorithmus zur Addition zweier IEEE-Gleitkommazahlen x = ( 1) s a 2 α bias und y = ( 1) t b 2 β bias : 1) Sortiere x und y, so dass x die Zahl mit kleinerem Exponenten ist 2) Anpassung der Exponenten: Bestimme x = ( 1) s a 2 β bias durch Rechtsschieben von a um β α Bitpositionen 3) Addiere Mantissen: a) Falls nötig, bilde Zweierkomplement von a oder b b) Führe Festkomma-Addition c = a + b aus 4) Normalisiere Ergebnis z = ( 1) u c 2 β bias a) Falls c 2, schiebe c nach rechts und inkrementiere β b) Falls c < 1, schiebe c nach links und dekrementiere β ggf. wiederhole b), bis 1 c < 2 5) Behandlung von Ausnahmesituationen: Überlauf, Unterlauf, c = 0
25 25 Beispiel am AVR volatile float value; void main (){ value=1; while(1){ value=value+1; } } 1956 Byte Codegröße volatile int value; void main (){ value=1; 308 Byte while(1){ Codegröße value=value+1; } } a <_fpadd_parts>: ce < addsf3>: < subsf3>: < pack_f>: < unpack_f>: void main (){ 0e 94 e7 01 call 0x3ce ; 0x3ce < addsf3>
26 26 Variante 1 Gebrochene Festkommazahlen Zahlendarstellung als gebrochene Zahl im Bereich -1 bis 1 Umgesetzt durch vordefinierte Skalierung Vorteil: bei der Multiplikation kommt es zu keinem Overflow mehr, da 0.99x0.999 < 1 in Hardware hocheffizient umsetzbar Q-Format: Q quantity of fractional bits Der Zahlenwert beschreibt die für die Bruchdarstellung benutzten Bits 16 Bit DSP Prozessor - Q15 (Sign + 15 Bit) - Auflösung 2^-15 - Equivalent zu einem Rechtsshift mit 15 Schritten Rundungsprobleme
27 27 Variante 1 Gebrochene Festkommazahlen Multiplikation zweier Q Format Zahlen Das Produkt zweier Q15 ist Q30! Verbleibende Bits: - Vorzeichen - Extension bit Q15 Q15 16 Bit Speicher Multiply Q30 Q30 0 Q15 0
28 28 Variante 2 Ganzzahlige Festkommazahl Beispiel: EEEEEEEEEEEEEEE = AAAAAAAA 2.56 AAAAAAAAAAAAA = 2.45V Warum nicht das Ganze in mv ausdrücken? EEEEEEEEEEEEEEE = AAAAAAAA 2560 AAAAAAAAAAAAA = 2450mm + Einsparung von Rechenzeit und Programmspeicher - Individuelle Festlegungen erschweren die Wiederverwendbarkeit Achtung: Ein beliebter Fehler ist es, die Datentypen zu klein zu wählen! Erst die Multiplikation ausführen und dann die Division!
29 29 Umsetzung auf dem AVR int32_t a,b; a = b / ; // direkte Formel, Division durch Konstante // mit Fließkommaarithmetik a = b * / 10000; // Umformung in Kehrwert und // Festkommaarthimetik mit Zehnerpotenzen a = b * / 8192; // Festkommaarithmetik mit Zweierpotenzen. a = (b * 15081) >> 13; // Division explizit ausgeführt als // Schiebeoperation für nicht so schlaue Compiler
30 30 Variante 3 Allgemeine Festkommazahlen General Q-Format (Q m.n) s m n N=n+m+1 m 1 F = 1 s a l 2 l l= n Rechenregeln: Addition und Subtraktion einheitliche Konfiguration erforderlich Multiplikation - Anzahl der Vorkommastellen des Ergebnisses der Summe der Anzahlen der Vorkommastellen aller Operanden; ebenso entspricht die Anzahl der Nachkommastellen des Ergebnisses der Summe der Anzahlen der Nachkommastellen aller Operanden. Eine Division oder Multiplikation mit einer Potenz 2^n entspricht einer Bit-Schiebe-Operation
31 31 Anwendung auf typische Wordlängen Darstellung von 6.75 im Speicher [m. n] [6,2] [7,1] [3,5] [2,6] In Abhängigkeit von den minimalen und maximalen Zahlenwerten einem möglicherweise zu berücksichtigenden Vorzeichen sowie der notwendigen Auflösung und sind die Parameter [m. n] festzulegen.
32 32 Min-Max Werte Für vorzeichenlose Integerwerte gilt 0 α 2 m 1 damit ergibt sich m = ceiling(log 2 (α + 1)) Für vorzeichenbehaftetet Integerwerte gilt ( 2 Q i 1 ) α 2 Q i 1 1 -> asymetrischer Werteraum damit ergeben sich für Q i zwei Gleichungen: (I) aus ( 2 Q i 1 ) α folgt für α < 0 Q i log 2 ( α) + 1 (II) aus α 2 Q i 1 1 folgt für α > 0 Q i log 2 α Beispiel: α mmm = 2, α mmm = 2 m mmm log 2 α + 1 = log = 2 m mmm log 2 α = log = m = ceiling(max(m mmm, m maa )) = 3
33 33 Auflösung Die Auflösung in der Q m.n ist definiert als ε = 1 n Daraus folgt: n = ceiling(log 2 1 ε ) Die Definition der Epsilon-Umgebung ist in der Regel schwierig.
34 34 Vergleich Implementierte Datentypen: _saccum (s7.8), _Accum (s15.16), Rechendauer einer Multiplikationsoperation Gegenüberstellung - Codegröße der floating Point Berechnungen _laccum 848 bytes _Accum 758 bytes _saccum 260 bytes Source: Elmenreich Fixed Point Library for Atmel AVR Microcontrollers
35 35 Abschließender Vergleich (Zahlenwerte mit 4Bit) Fließkomma- Darstellung (nicht denormalisiert) Fixkommadarstellung F[e=3,m=1] F=[e=2,m=2] F=[e=1,m=3] Q[1,3] Q[2,2] Q[3,1]
36 36 Vergleich Festkomma Gleitkomma Wiederverwendbarkeit des Codes Implementierungsaufwand Fehlerwahrscheinlichkeit - + RAM und ROM Verbrauch Ausführungszeit + -
37 37 Abschließender Exkurs - DSP DSP arithmetische Operationen in einem Zyklus Multiplizieraddierer Shifteinheit Spezialisierte, komplexe Befehle Mehrere Operationen pro Instruktion Multipurpose Controller viele math. Operationen dauern mehr als einen Zyklus (Multiplikation, Shift) Universelle Befehle Eine Operation pro Befehl ist typisch mac x0,y0,a x:(r0)+,x0 y:(r1)+,y0 a=a+x*y ld r2, X+ ld r3, Y+ mul r2, r3 add r24, r0 addc r25, r1
38 38 Abschließender Exkurs - DSP
39 39 Circular Buffer Start Address Registers (CBSAR) Circular Buffer Size Registers (CBSR) Associated Pointers Source: Steven W. Smith, Ph.D.: The Scientist and Engineer's Guide to Digital Signal Processing,
40 40 Bis zur nächsten Woche
Prinzipien und Komponenten eingebetteter Systeme
1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (7) Ansteuerung von Motoren Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller
MehrPrinzipien und Komponenten eingebetteter Systeme
1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (2) Mikrocontroller II Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller
MehrGrundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS
Gleit komma zahlen Gleitkommazahlen in vielen technischen und wissenschaftlichen Anwendungen wird eine große Dynamik benötigt: sowohl sehr kleine als auch sehr große Zahlen sollen einheitlich dargestellt
Mehrin vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen
Inhalt Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: IEEE Format Zahlenumwandlung
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: IEEE Format Zahlenumwandlung
MehrPrinzipien 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
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: IEEE Format Zahlenumwandlung
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Aufgabe 5: Aufgabe 6: +/-/*
MehrGrundlagen der Technischen Informatik. 4. Übung
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 4. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Aufgabe 5: Aufgabe 6: +/-/*
Mehrbei Unterlauf wird stattdessen Hälfte des Divisors addiert Ersparnisse einer Addition bzw. Subtraktion
6.2 Non-Restoring Division Restoring Division Divisor wird subtrahiert falls Unterlauf (Ergebnis negativ) Divisor wird wieder addiert im nächsten Durchlauf wird die Hälfte des Divisor subtrahiert (Linksshift
MehrBinäre Division. Binäre Division (Forts.)
Binäre Division Umkehrung der Multiplikation: Berechnung von q = a/b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom Dividenden a subtrahiert:
MehrN Bit Darstellung von Gleitkommazahlen
N Bit Darstellung von Gleitkommazahlen Normalisierte, wissenschaftliche Darstellung zur Basis 2. Beispiel: Allgemein: Sign and Magnitude Darstellung für beispielsweise 32 Bits: (s=0 für + und s=1 für )
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
MehrWertebereiche, Overflow und Underflow
Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die
Mehrin vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen
Gleitkommazahlen in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen allgemeine Gleitkommazahl zur Basis r
Mehr2.1.2 Gleitkommazahlen
.1. Gleitkommazahlen Überblick: Gleitkommazahlen Gleitkommadarstellung Arithmetische Operationen auf Gleitkommazahlen mit fester Anzahl von Mantissen- und Exponentenbits Insbesondere Rundungsproblematik:
MehrComputerarithmetik (6a)
Computerarithmetik (6a) Weitere Nachteile: erfordert separates Subtrahierwerk erfordert zusätzliche Logik, um zu entscheiden, welches Vorzeichen das Ergebnis der Operation hat 2. Die Komplement - Darstellung
MehrDer Zahlenformatstandard IEEE 754
Der Zahlenformatstandard IEEE 754 Single Precision Double Precision Insgesamt 32 Bits s exponent fraction 1 Bit 8 Bits 23 Bits Insgesamt 64 Bits s exponent fraction 1 Bit 11 Bits 52 Bits Bit Aufteilungen
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation
MehrInhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen
3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 3 AM 13./14.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
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)
Mehr1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen
1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen 1.5.1 Situation Manchmal möchte man in Programmen mit Kommazahlen rechnen. In der Mathematik Im der Wirtschaft, im kaufmännischen Bereich
MehrPIC16 Programmierung in HITECH-C
PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden
Mehr4. Zahlendarstellungen
121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;
MehrDie Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2
Übungen zur Vorlesung Technische Informatik I, SS Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 4 Rechnerarithmetik Aufgabe : a) Bestimmen Sie die Darstellung der Zahl 3 zur Basis 7. 3 = 7 (Sehen Sie
MehrPrinzipien und Komponenten eingebetteter Systeme
1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (3) Mikrocontroller II Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller
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
MehrRechnernetze 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.
Mehr5 Zahlenformate und deren Grenzen
1 5 Zahlenformate und deren Grenzen 5.1 Erinnerung B-adische Zahlendarstellung Stellenwertsystem: Jede Ziffer hat ihren Wert, und die Stelle der Ziffer in der Zahl modifiziert den Wert. 745 = 7 100 + 4
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
Mehr6.2 Kodierung von Zahlen
6.2 Kodierung von Zahlen Neue Begriffe é Festkommadarstellungen é Zahlendarstellung durch Betrag und Vorzeichen é Einer-/Zweierkomplement-Darstellung é Gleitkommadarstellung é IEEE-754 Format BB TI I 6.2/1
MehrRechnen in B. Ralf Dorn. 3. September Heinrich-Hertz-Gymnasium. R. Dorn (H 2 O) Informatik LK 3. September / 6
Rechnen in B Ralf Dorn 3. September 2018 R. Dorn (H 2 O) Informatik LK 3. September 2018 1 / 6 Festkommazahlen Wie werden Kommazahlen dargestellt? R. Dorn (H 2 O) Informatik LK 3. September 2018 2 / 6
MehrGTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK
1 GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK Aufgabe 1 Bin- und Hex Arithmetik 2 Führen Sie die folgenden Berechnungen im angegebenen Zahlensystem aus, ohne die Zahlen ins Dezimalsystem umzuwandeln:
MehrLösung 2. Übungsblatt
Fakultät Informatik, Technische Informatik, Professur für Mikrorechner Lösung 2. Übungsblatt Bildung von Gleitkommazahlen nach IEEE 754 und arithmetische Operationen mit Binärzahlen ANSI/IEEE 754-1985
Mehr1. Grundlegende Konzepte der Informatik
1. Grundlegende Konzepte der Informatik Inhalt Algorithmen Darstellung von Algorithmen mit Programmablaufplänen Beispiele für Algorithmen Aussagenlogik Zahlensysteme Kodierung Peter Sobe 1 Zahlensysteme
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
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f
MehrMultiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79
Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: 1 1 0 1 0 Multiplikator
Mehr4. Zahlendarstellungen
Bin are Zahlendarstellungen Binäre Darstellung ("Bits" aus {0, 1) 4. Zahlendarstellungen bn bn 1... b1 b0 entspricht der Zahl bn 2n + + b1 2 + b0 Wertebereich der Typen int, float und double Gemischte
MehrPrinzipen und Komponenten Eingebetteter Systeme (PKES) Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme
1 Vorlesung Prinzipen und Komponenten Eingebetteter Systeme (PKES) (3) Mikrocontroller II Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme 2 Mitarbeiter im ottocar Projekt gesucht Ziel:
MehrArithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen
Computer and Communication Systems (Lehrstuhl für Technische Informatik) Arithmetik Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen [TI] Winter 2013/2014
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 Programmierung
Grundlagen der Programmierung 5. Vorlesung 06.11.2018 1 Zahlendarstellungen 2 Speicherinhalte: Bits Hardware Spannung Ladung Magnetisierung Codierung 0V ungeladen unmagnetisiert 0 5V geladen magnetisiert
MehrDuE-Tutorien 16 und 17
Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Tutorienwoche 2 am 12.11.2010 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der
MehrBinäre Darstellung ganzer Zahlen
Vorlesung Objektorientierte Softwareentwicklung Exkurse use Binäre Darstellung ganzer Zahlen Binärdarstellung natürlicher Zahlen Ganze Zahlen im Einerkomplement Ganze Zahlen im Zweierkomplement Elementare
MehrDas Verfahren in Hardware
Das Verfahren in Hardware Links Shift 8 Bit Multiplikand Demonstration mit 1001 * 0110 = 110110 2.Links Shift 8 Bit ALU Rechts Shift 4 Bit Multiplikator 3.Rechts Shift 8 Bit Produkt 1. Produkt = Produkt
MehrAlgorithmen & Programmierung. Reelle Zahlen in C (1) Darstellung reeller Zahlen
Algorithmen & Programmierung Reelle Zahlen in C (1) Darstellung reeller Zahlen Reelle Zahlen in C Datentyp für reelle Zahlen Eine Möglichkeit, Berechnungen mit reellen Zahlen in C durchzuführen, ist die
MehrZahlen im Computer (Klasse 7 Aufbaukurs Informatik)
Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller
MehrMotivation 31. Mai 2005
Motivation 31. Mai 25 Zuletzt behandelt: Zahlendarstellung und Rechnerarithmetik Festkommazahlen: Vorzeichen/Betrag-Darstellung Einerkomplement, Zweierkomplement Rückführung der Subtraktion auf die Addition
MehrEinleitung 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)?....
MehrSprungbefehle 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
MehrAlgorithmen zur Division
Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest
MehrRechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16
Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 15/16 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht
MehrRückblick. Addition in der b-adischen Darstellung wie gewohnt. Informatik 1 / Kapitel 2: Grundlagen
Rückblick Addition in der b-adischen Darstellung wie gewohnt 5 0 C E + D 4 2 D = 44 Rückblick Multiplikation in der b-adischen Darstellung wie gewohnt 1 0 1 0 1 0 1 = 45 Rückblick Darstellung negativer
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrAssembler-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
MehrIEEE 754 Encoding. Wie stellt man im IEEE 754 Format eigentlich die 0 dar!? Double Precision (Bias=1023)
IEEE 754 Encoding Wie stellt man im IEEE 754 Format eigentlich die 0 dar!? ( 1) S * (1 + Fraction) * 2 (Exponent Bias) Single Precision (Bias=127) Double Precision (Bias=1023) Dargestelltes Objekt Exponent
MehrInhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Inhalt Interrupts Allgemein AVR Interrupt-Handler Synchronisation volatile Sperren von Interrupts
MehrInformationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit
Informationsmenge Maßeinheit: 1 Bit Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit 1 Byte Zusammenfassung von 8 Bit, kleinste Speichereinheit im Computer, liefert
Mehrmit 0 z 0 b 1 und 0 ẑ b n 1 1. Nach Induktionsannahme besitzt ẑ eine Darstellung der Länge n 1 zur Basis b. Damit ist
mit 0 z 0 b 1 und 0 ẑ b n 1 1. Nach Induktionsannahme besitzt ẑ eine Darstellung ẑ = ẑ n 2 b n 2 + + ẑ 1 b 1 + ẑ 0 b 0 der Länge n 1 zur Basis b. Damit ist z = (ẑ n 2 b n 2 + + ẑ 1 b 1 + ẑ 0 b 0 ) b +
MehrInhalt. Zahlendarstellungen
Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Darstellung von Zahlen Natürliche Zahlen: Darstellungsvarianten Darstellung als Text Üblich, wenn keine Berechnung stattfinden soll z.b. Die Regionalbahn 28023 fährt
MehrAtmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös
Atmega Interrupts Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Inhaltsverzeichnis Vorbereitung Was Sind Interrupts Interruptvektoren Software Interrupts Hardware Interrupts Quellen 2 Vorbereitung Rechner
MehrRückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8
Rückblick Zahlendarstellung zu einer beliebigen Basis b (214) 5 = Umwandlung zwischen Zahlendarstellung (278) 10 =(?) 8 25 Rückblick Schnellere Umwandlung zwischen Binärdarstellung und Hexadezimaldarstellung
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrMikroController 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
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)
MehrE Zahlendarstellungen und Rechnerarithmetik
E Zahlendarstellungen und Rechnerarithmetik Einordnung in das Schichtenmodell: 1. Darstellung positiver ganzer Zahlen 2. binäre Addition 3. Darstellung negativer ganzer Zahlen 4. binäre Subtraktion 5.
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 06.03.09 2-1 Heutige große Übung Allgemeines
MehrE Mikrocontroller-Programmierung
E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden
MehrMathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen
Mathematische Werkzeuge für Computergrafik 2016/17 Gleitkommzahlen 1 Grundlagen 1 Da im Computer nur endliche Ressourcen zur Verfügung stehen, können reelle Zahlen in vielen Fällen nicht exakt dargestellt
MehrDarstellung rationaler und reeller Zahlen Vorlesung vom
Darstellung rationaler und reeller Zahlen Vorlesung vom 30.10.15 Rationale Zahlen: Rationale Zahlen als Brüche ganzer Zahlen. q-adische Brüche, periodische q-adische Brüche. Beispiele. Satz: Jede rationale
MehrComputer Arithmetik. Computer Arithmetik Allgemein
Vortrag von René Grohmann und Mirwais Turjalei, 22.11.2000 Computer Arithmetik Computer Arithmetik Allgemein Die ALU: Die Alu ist die Einheit im Computer, die dazu bestimmt ist arithmetische und logische
MehrBB/CS- SS00 Rechner im Überblick 1/1. Ein Stellenwertsystem (Zahlensystem) ist ein Tripel S = (b, Z, δ) mit den folgenden Eigenschaften:
Neue Begriffe Festkommadarstellungen Zahlendarstellung durch Betrag und Vorzeichen Einer-/Zweierkomplement-Darstellung Gleitkommadarstellung IEEE-754 Format BB/CS- SS00 Rechner im Überblick 1/1! Definition
MehrComputergestützte Mathematik zur Linearen Algebra
Computergestützte Mathematik zur Linearen Algebra Pivotwahl und Gleitkommaarithmetik Achim Schädle 3. und 20. Dezember 208 Achim Schaedle (HHU) CompLinA 3. und 20. Dezember 208 Instabilitäten bei Gauß-Elimination
MehrWH: Arithmetik: Floating Point
WH: Arithmetik: Floating Point Elmar Langetepe University of Bonn Robuste Implementierungen Floating Point Arithmetik Bonn 06 1 Real RAM Robuste Implementierungen Floating Point Arithmetik Bonn 06 2 Real
MehrAm Beispiel der SHARC-DSPs Jan Kiene
Besonderheiten von DSP-Architekturen Am Beispiel der SHARC-DSPs Jan Kiene Inhalt Digitale Signalverarbeitung (kurze Wdh) Anforderungen an DSPs Besonderheiten von DSP-Architekturen Die SHARC-DSPs von Analog
MehrGleitkommazahlen. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 74
Gleitkommazahlen Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 74 Die Typen float und double Variablen float x, y; double z; // 32 Bit groß // 64 Bit
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrFliesskommazahlen. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert
Fliesskommazahlen InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Bisjetzt nur Ganzzahltypen und Funktionen z.b. Beispiel int power(int base, int exp) { int tmp = 1;
MehrRechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik Sommer 2014 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 10. April 2014 1/37 1 Repräsentation
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Repräsentierung Rationaler Zahlen Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 19. Juni 2015 Rationale Zahlen Wie können wir Rationale
MehrZwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben
Zwischenklausur Informatik, WS 206/7 4.2.206 Lösungen zu den Aufgaben. Gegeben sind folgende Dualzahlen in Zweierkomplementdarstellung. Geben Sie den jeweils zugehörigen Dezimalwert an! a) entspricht der
MehrKlausur zur Vorlesung Grundlagen der Rechnerarchitektur SS 2013
Name: Matrikelnummer: Studiengang: INF CV IM Lehramt BSc MSc BEd MEd Diplom Klausur zur Vorlesung Grundlagen der Rechnerarchitektur SS 2013 Donnerstag, den 18. Juli 2013, Prof. Dr. Hannes Frey Die Bearbeitungszeit
MehrHaDePrak WS 05/ Versuch
HaDePrak WS 05/06 10. Versuch 1 Das IEEE-Format Das Ziel dieser letzten Übung ist es, ein Fließkommapaket für die DLXzu implementieren. Der Einfachheit halber vernachlässigen wir hier im Praktikum jeglichen
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 2 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Vorbesprechung Übung 2 Variablen + Scopes Zahlensysteme Bits&Bytes Datentypen
MehrEinheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen
Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
MehrPrinzipen und Komponenten Eingebetteter Systeme (PKES) Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme
1 Vorlesung Prinzipen und Komponenten Eingebetteter Systeme (PKES) (3) Mikrocontroller I Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung
MehrBinäre Gleitkommazahlen
Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72
Mehr