Assembler Integer-Arithmetik
|
|
- Frauke Hermann
- vor 6 Jahren
- Abrufe
Transkript
1 Assembler Integer-Arithmetik Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Integer-Arithmetik 1/
2 Arithmetik Zerlegung von Ausdrücken Ziel: Vereinfachung von Ausdrücken Zerlegung der Ausdrücke entsprechend der Grammatik Einführung von temporären Variablen Beispiel: y = (x + 2z)/(z sinx) t1 = 2 z ; t2 = x + t1 ; t3 = s i n ( x ) ; t4 = z t3 ; y = t2 / t4 ; Optimierung =====> t1 = 2 z ; t1 = x + t1 ; t2 = s i n ( x ) ; t2 = z t2 ; y = t1 / t2 ; Optimierung: unnötig viele temporäre Variablen vermeiden Anzahl der (schnellen) Register beschränkt Speicherzugriffe langsam Assembler Integer-Arithmetik 2/
3 Arithmetik Zerlegung von Ausdrücken Jeder Ausdruck lässt sich in Teilausdrücke zerlegen, die die Form A = (B) A = op B mit op {, +,...} A = B op C mit op {+,,, /, mod,...} A = fn(b 0, B 1,..., B N 1 ) mit fn() beliebiger Funktion haben. Assembler Integer-Arithmetik 3/
4 Arithmetik Zerlegung von Ausdrücken Zur Berechnung von A = B op C werden drei effektive Adressen benötigt: A, B und C. Kodierung von drei Adressierungsarten in einem Befehl aufwändig A = B op C kann umgeschrieben werden als A = B und A = A op C; hier werden pro Befehl nur zwei effektive Adressen benötigt (einmal A und B; einmal A und C) A = B op C kann noch weiter vereinfacht werden: ACCU = B, ACCU = ACCU op C, A = ACCU; in diesem Fall wird je Befehl nur eine effective Adresse benötigt (ACCU: Akkumulator ) Assembler Integer-Arithmetik 4/
5 Arithmetik Ein-, Zwei- und Drei-Adress-CPUs Gemäß der pro Befehl möglichen effektiven Adressen werden CPUs eingeteilt in drei Klassen: Ein-Adress-CPU: Befehle haben die Formen ACCU = A ACCU = ACCU op A A = ACCU Beispiele: z80, 6502, m68x05 Zwei-Adress-CPU: Befehle haben die Formen A = B A = A op B Beispiele: i80x86, m680x0 Drei-Adress-CPU: Befehle haben die Form A = B op C Beispiele: m88100, Sparc Assembler Integer-Arithmetik 5/
6 Arithmetik Ein-, Zwei- und Drei-Adress-CPUs Beispiel: x = y + z Drei-Adress-CPU Zwei-Adress-CPU Ein-Adress-CPU add y, z, x l o a d y # accu = y mov y, x add z # accu += z add z, x s t o r e x # x = accu Assembler Integer-Arithmetik 6/
7 Arithmetik Rechengenauigkeit Da alle Variablen im Speicher bzw. in Registern abgelegt werden, können sie nicht beliebig große (genaue) Werte annehmen (siehe TI-I). Ähnliches gilt auch für die Arithmetik: Da alle Rechenwerke einer CPU nur für eine bestimmte Anzahl von Bits ausgelegt sind, können auch hier die Werte nicht beliebig groß (genau) werden. Dies gilt generell für alle Rechner! Assembler Integer-Arithmetik 7/
8 Arithmetik Rechengenauigkeit Beispiel: mit beliebig vielen Stellen gerechnet: (2) (2) = (2) 178 (10) (10) = 383 (10) mit 8 Stellen gerechnet: (2) (2) = (1) (2) 178 (10) (10) = (256 (10) ) (10) Assembler Integer-Arithmetik 8/
9 Arithmetik Rechengenauigkeit Aufgrund der Zerlegung von Ausdrücken ergeben sich folgende Forderungen: die Werte der Eingabe aller(!) Zwischenergebnisse der Ausgabe müssen ohne Überläufe speicherbar sein alle (Teil-) Rechenschritte müssen ohne Überläufe durchführbar sein Assembler Integer-Arithmetik 9/
10 Arithmetik Rechengenauigkeit Beispiel (Mittelwertberechnung): z = x ; z = ( x + y ) / 2 ; z = z + y ; z = z / 2 ; Bei der Addition z = z + y; kann ein Überlauf auftreten! Assembler Integer-Arithmetik 10/
11 Arithmetik Integer Negation: x = y 8-Bit-Werte 16-Bit-Werte 32-Bit-Werte movb y, %a l negb %a l movw y, %ax negw %ax movl y, %eax n e g l %eax movb %al, x movw %ax, x movl %eax, x kürzer: 8-Bit-Werte 16-Bit-Werte 32-Bit-Werte movb y, x movw y, x movl y, x negb x negw x n e g l x Je nachdem, ob die Variablen x, y im Speicher oder in Registern liegen, ist die kürzere Version langsamer oder schneller als die längere. Assembler Integer-Arithmetik 11/
12 Arithmetik Integer Addition: x = y + z 8-Bit-Werte 16-Bit-Werte 32-Bit-Werte movb y, %a l movw y, %ax movl y, %eax addb z, %a l addw z, %ax a d d l z, %eax movb %al, x movw %ax, x movl %eax, x kürzer: 8-Bit-Werte 16-Bit-Werte 32-Bit-Werte movb y, x movw y, x movl y, x addb z, x addw z, x a d d l z, x Entsprechend: Subtraktion, Multiplikation, Division Assembler Integer-Arithmetik 12/
13 Arithmetik Carry-/Borrow-Bit Problem: Rechnungen ausserhalb der normalen Rechengenauigkeit einer CPU Beispiel aus der Schule: <= Carry 1100 <= Carry Übertrag entweder 0 oder 1 ( Carry-, Borrow -Bit) Assembler Integer-Arithmetik 13/
14 Arithmetik Carry-/Borrow-Bit Beispiel für 64-Bit-Arithmetik mit 32-Bit-Rechenoperationen: (x 1 x 0 ) = (y 1 y 0 ) + (z 1 z 0 ) bzw. (x 1 x 0 ) = (y 1 y 0 ) (z 1 z 0 ) movl y0, %eax a d d l z0, %eax movl %eax, x0 movl y1, %eax a d c l z1, %eax < Carry movl %eax, x1 movl y0, %eax s u b l z0, %eax movl %eax, x0 movl y1, %eax s b b l z1, %eax < Borrow movl %eax, x1 Assembler Integer-Arithmetik 14/
15 Arithmetik Multiplikation/Division Beispiel x = y z und x = y/z (i80x86): movl y, %eax movl y, %eax movl $0, %edx i m u l l z i d i v l z movl %eax, x movl %eax, x / %edx : U e b e r l a u f / / %edx : Rest d. D i v i s i o n Assembler Integer-Arithmetik 15/
16 Arithmetik Multiplikation/Division Besonderheiten: Multiplikation kann große Überläufe erzeugen (Carry-Bit reicht nicht!) => Extra-Register für Überlauf idiv-befehl berechnet gleichzeitig y/z und y mod z Multiplikation ist aufwändig in Hardware implementierbar (=> nur selten in Mikro-Controllern als Maschinen-Befehl implementiert) Division ist sehr(!) aufwändig in Hardware und nicht als Schaltnetz implementierbar (=> fast nie in Mikro-Controllern als Maschinen-Befehl implementiert) Assembler Integer-Arithmetik 16/
17 Arithmetik Multiplikation/Division Ersatz für fehlende/langsame Multiplikations-Befehle: 1. Beobachtung: Häufig werden nur Multiplikationen mit einem konstanten Faktor durchgeführt. Diese können auf sukzessive Additionen zurückgeführt werden. Beispiel: y = 10 x kann umgeformt werden zu y = 2 (2 2 x + x) movl x, %eax a d d l %eax, %eax movl %eax, %ebx / => %ebx = 2 x / a d d l %eax, %eax a d d l %eax, %eax / => %eax = 8 x / a d d l %ebx, %eax movl %eax, y Nicht 10-mal addieren! Assembler Integer-Arithmetik 17/
18 Arithmetik Multiplikation/Division Ersatz für fehlende/langsame Multiplikations-Befehle: 2. Beobachtung: Häufig werden Multiplikationen/Divisionen mit konstanten 2-er-Potenzen durchgeführt Beispiel: Multiplikation mit 2er-Potenz: y = x 2 5 y N+4...y 2 y 1 y 0 (2) = x N 1...x 2 x 1 x (2) (entspricht dem Anhängen der entsprechenden Anzahl von Nullen) Beispiel: Division durch 2er-Potenz (mit Abrundung): y = x/2 5 y N 6...y 2 y 1 y 0 = x N 1...x 7 x 6 x 5 (2) (entspricht dem Löschen der entsprechenden Anzahl von Ziffern) Assembler Integer-Arithmetik 18/
19 Arithmetik Shift-Befehle arithmetic shift left (sal): übergebene vorzeichenbehaftete Binär-Zahl wird um eine Stelle nach links verschoben (entspricht Multiplikation mit 2) arithmetic shift right (sar): übergebene vorzeichenbehaftete Binär-Zahl wird um eine Stelle nach rechts verschoben (entspricht Division durch 2 mit Abrunden) (logical) shift left (shl): übergebene vorzeichenlose Binär-Zahl wird um eine Stelle nach links verschoben (entspricht Multiplikation mit 2) (logical) shift right (shr): übergebene vorzeichenlose Binär-Zahl wird um eine Stelle nach rechts verschoben (entspricht Division durch 2 mit Abrunden) Es existieren z.t. Befehle, Werte um mehrere Stellen zu verschieben. Assembler Integer-Arithmetik 19/
20 Arithmetik Shift-Befehle Beispiel: salw $3, %ax shrw $4, %ax shlw $6, %ax sarw $3, %ax / %ax = / / %ax = / / %ax = / / %ax = / / %ax = / Assembler Integer-Arithmetik 20/
21 Arithmetik And, Or, Xor, Not Für die Verarbeitung Bool scher Werte existieren die Bool schen Operationen and, or, xor und not. Es werden N Bits (N {8, 16, 32,...}) parallel verarbeitet: and: x N 1...x 1 x 0 = y N 1...y 1 y 0 and z N 1...z 1 z 0 x N 1...x 1 x 0 = (y N 1 and z N 1 )...(y 1 and z 1 )(y 0 and z 0 ) or: x N 1...x 1 x 0 = y N 1...y 1 y 0 or z N 1...z 1 z 0 x N 1...x 1 x 0 = (y N 1 or z N 1 )...(y 1 or z 1 )(y 0 or z 0 ) xor: x N 1...x 1 x 0 = y N 1...y 1 y 0 xor z N 1...z 1 z 0 x N 1...x 1 x 0 = (y N 1 xor z N 1 )...(y 1 xor z 1 )(y 0 xor z 0 ) not: x N 1...x 1 x 0 = not y N 1...y 1 y 0 x N 1...x 1 x 0 = (not y N 1 )...(not y 1 )(not y 0 ) Assembler Integer-Arithmetik 21/
22 Arithmetik And, Or, Xor, Not Beispiel: movw $0x1234, %ax andw $0xf61c, %ax / %ax hat j e t z t den Wert 0 x1214 / movl $0x , %eax o r l $0x , %eax / %eax hat j e t z t den Wert 0 x / movb $0x24, %a l xorb $ 0 x f f, %a l / %a l hat j e t z t den Wert 0 xdb / movl $ , %eax n o t l %eax / %eax hat j e t z t den Wert 0 xedcba987 / Assembler Integer-Arithmetik 22/
23 Arithmetik Hinweise Zur Beschleunigung/Verkürzung der Programme gibt es für sehr häufig vorkommende Ausdrücke Extra-Maschinenbefehle: Beispiele: a d d l $1, x subw $1, y => movl $0, %eax i n c l x decw y x o r l %eax, %eax Assembler Integer-Arithmetik 23/
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
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
MehrDie Mikroprogrammebene eines Rechners
Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
Mehr3 Rechnen und Schaltnetze
3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s
MehrKap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
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
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
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
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
MehrZahlendarstellungen und Rechnerarithmetik*
Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien
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
MehrEinführung in die Informatik
Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB
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
MehrDer 8086/88 als Rechenkünstler
Der 8086/88 als Rechenkünstler In diesem Referat wird jene Gruppe von Befehlen besprochen, denen der Computer seinen Namen verdankt ("to compute" = engl. rechnen). Dies sind die Arithmetik- und Logikbefehle
MehrZahlensysteme. Formale Methoden der Informatik WiSe 2008/2009 Folie 1 (von 54)
Zahlensysteme Formale Methoden der Informatik WiSe 28/29 Folie (von 54) Teil I: Zahlensysteme. Einführung und Zahlensysteme 2. Zahlensysteme / Algorithmik 3. Zahlendarstellung im Rechner Franz-Josef Radermacher,
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur [CS3100.010] Wintersemester 2014/15 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 5 Rechnerarithmetik
MehrIntegrierte Schaltungen
Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100
MehrMidterm-Klausur Technische Grundlagen der Informatik
Midterm-Klausur Technische Grundlagen der Informatik Prof. Dr. Arndt Bode Wintersemester 2002/2003 7. Dezember 2002 Name: Vorname: Matrikelnummer: Hörsaal: Platz: Unterschrift: Ergebnis: Aufgabe Punkte
MehrGleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124
Gleitkommaarithmetik Erhöhen der Genauigkeit Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Guard Bit, Round Bit und Sticky Bit Bei der Darstellung der Addition und Multiplikation haben wir
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
MehrGrundlagen der Informatik I. Übung
Grundlagen der Informatik I Übung Studiengang Wirtschaftsingenieurwesen Wintersemester 1/13 Autor: Prof. Dr.-Ing. habil. Hans-Joachim Böhme HTW Dresden, Fachbereich Informatik/Mathematik Friedrich-List-Platz
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
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
Mehr2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
MehrKlausur "Informationstechnische Grundlagen" WS 2012/2013
PD Dr. J. Reischer 11.02.2013 Klausur "Informationstechnische Grundlagen" WS 2012/2013 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den
Mehrbereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke
Rechnerarithmetik Rechnerarithmetik 22 Prof. Dr. Rainer Manthey Informatik II Übersicht bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke in diesem
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.
Mehr1 : Die Rechnungsarten
1 von 22 23.10.2006 14:08 0 : Inhalt von Kapitel DAT 1 : Die Rechnungsarten 2 : Die Worte 3 : Hilfsprozessoren 4 : Binäre Zahlendarstellung 5 : Interpretationen 6 : Division mit Rest 7 : Horner Schema
Mehr5 25 Radizieren 25 5 und Logarithmieren log 25 2
.1 Übersicht Operationen Addition und Subtraktion 7 Operationen. Stufe Multiplikation 3 1 und Division 1: 3 Operationen 3. Stufe Potenzieren, Radizieren und Logarithmieren log. Reihenfolge der Operationen
MehrRechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011
Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste
MehrÜbungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)
Übungen zu Architektur Eingebetteter Systeme Blatt 4 22.05.2009 Teil 1: Grundlagen 1.1: Grundlagen des Cyclic redundancy code (CRC) Im Gegensatz zum Parity-Check, der nur einfache Bit-Fehler erkennen kann,
MehrCPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU
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
MehrC. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner
Von-Neumann-Rechner (John von Neumann : 1903-1957) C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Quelle: http://www.cs.uakron.edu/~margush/465/01_intro.html Analytical Engine - Calculate
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
MehrBSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de
BSZ für Elektrotechnik Dresden Zahlenformate Dr.-Ing. Uwe Heiner Leichsenring www.leichsenring-homepage.de Gliederung 1 Überblick 2 Grundaufbau der Zahlensysteme 2.1 Dezimalzahlen 2.2 Binärzahlen = Dualzahlen
MehrMusterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016
Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den
MehrInformationsverarbeitung auf Bitebene
Informationsverarbeitung auf Bitebene Dr. Christian Herta 5. November 2005 Einführung in die Informatik - Informationsverarbeitung auf Bitebene Dr. Christian Herta Grundlagen der Informationverarbeitung
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
MehrProgrammieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner
Institut für Telematik Universität zu Lübeck Programmieren Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 8/9 Prof. Dr. Christian Werner 3- Überblick Typische Merkmale moderner Computer
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
Mehr1. Übung - Einführung/Rechnerarchitektur
1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser
MehrHardware-basierte Virtualisierung
Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Hardware-basierte Virtualisierung 1/22
Mehr3.0 8051 Assembler und Hochsprachen
3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle
MehrGrundstrukturen: Speicherorganisation und Zahlenmengen
Zahlendarstellung Zahlen und ihre Darstellung in Digitalrechnern Grundstrukturen: Speicherorganisation und Zahlenmengen Linear organisierter Speicher zu einer Adresse gehört ein Speicher mit 3 Bit-Zellen
MehrLaufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren
Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren Mathias Schmalisch Hagen Ploog Dirk Timmermann Universität Rostock Übersicht Motivation Arithmetik Implementierung
MehrKapitel 2. Zahlensysteme, Darstellung von Informationen
Kapitel 2 Zahlensysteme, Darstellung von Informationen 1 , Darstellung von Informationen Ein Computer speichert und verarbeitet mehr oder weniger große Informationsmengen, je nach Anwendung und Leistungsfähigkeit.
MehrElementare logische Operationen
RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 1 Elementare logische Operationen Modifizieren, Testen,Vergleichen In diesem Abschnitt wollen wir zeigen, wie man mit den elementaren logischen Verknüpfungen
MehrIm Original veränderbare Word-Dateien
Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den
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
MehrBusse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009
Busse Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse 1/40 2008-10-13 Übersicht 1 Einleitung 2 Bus-Konfiguration
MehrCompilerbau Instruktionsauswahl 168. Instruktionsauswahl
Instruktionsauswahl Compilerbau Instruktionsauswahl 168 Instruktionsauswahl Ziel: Übersetzung der IR-Bäume in Assemblerinstruktionen mit (beliebig vielen) abstrakten Registern. Die x86 (Pentium) Architektur
MehrVon der Aussagenlogik zum Computer
Von der Aussagenlogik zum Computer Markus Koch Gymnasium in der Glemsaue Ditzingen Januar 2012 Inhaltsverzeichnis Einleitung...3 Der Computer...3 Grundlagen...4 Wahrheitstabellen...4 Aussagenlogik...4
MehrStephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44
Aufgabe 33 a) Der Pseudobefehl move $rd,$rs wird als addu $rd,$0,$rs übersetzt. Dabei macht sich SPIM zunutze, dass das Register $0 immer Null ist. Somit wird das Register $rd ersetzt durch $rd=0+$rs=$rs,
MehrII. Grundlagen der Programmierung
II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123
MehrL3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
MehrSteuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck
Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung
MehrGrundzüge der Informatik Zahlendarstellungen (7)
Grundzüge der Informatik Zahlendarstellungen (7) Sylvia Swoboda e0225646@student.tuwien.ac.at Überblick Konvertierung von ganzen Zahlen Konvertierung von Festkommazahlen Darstellung negativer Zahlen 1
MehrVorlesung Rechnerarchitektur. Einführung
Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher
MehrDaten, Informationen, Kodierung. Binärkodierung
Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:
MehrINFORMATIK Oberstufe. Funktionsweise eines Rechners
INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den
MehrKapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 2 Grundlegende Konzepte 1 2.1 Zahlensysteme Römisches System Grundziffern I 1 erhobener Zeigefinger V 5 Hand mit 5 Fingern X 10 steht für zwei Hände L 50 C 100 Centum heißt Hundert D 500 M 1000
MehrArithmetik: Vorzeichenregeln und Überlauf, Exponenten & Normalisierung, Umrechnungen. Architektur: - Rechnerarchitektur, Instruktionssatz, Assembler
F. Zahlendarstellung und Rechnerarithmetik F.1. Einordnung & Inhalte Zahlendarstellungen: binär, BCD oder als ASCII-Text, Einer- und Zweierkomplement, Gleit- & Festkommazahlen. Arithmetik: Vorzeichenregeln
MehrDipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme
Dipl.-Ing. Halit Ünver 7.. Datenbanken/Künstliche Intelligenz FAW/n Zahlensysteme Seite Zahlensysteme Dipl.-Ing. Halit Ünver 7.. Inhalt I. Informatik und Zahlen für Wirtschaftswissenschaftler? II. III.
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
MehrHardware-basierte Virtualisierung
Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Hardware-basierte
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
MehrLösungsvorschlag zu 1. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zu 1. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der Aussagen treffen auf jeden
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
Mehr1. Polyadische Zahlensysteme:
Wie funktioniert ein Rechner? 1. Polyadische Zahlensysteme: Stellenwertsystem zur Darstellung von natürlichen Zahlen. Basis B Stellenwert b Index i = Stelle B N, B 2 N 0 B 1 b, ( ) i b i Ein nicht polyadisches
MehrMikroprozessortechnik. 03. April 2012
Klausur 03. April 2012 Name:. Vorname Matr.-Nr:. Studiengang Hinweise: Bitte füllen Sie vor dem Bearbeiten der Aufgaben das Deckblatt sorgfältig aus. Die Klausur besteht aus 6 doppelseitig bedruckten Blättern.
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
Mehr1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement
Kx Binäre Zahlen Kx Binäre Zahlen Inhalt. Dezimalzahlen. Hexadezimalzahlen. Binärzahlen. -Bit Binärzahlen ohne Vorzeichen. -Bit Binärzahlen mit Vorzeichen. -Bit Binärzahlen im er Komplement. Rechnen im
MehrTechnische Informatik 1
Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache
Mehr1.7 Assembler Programmierung
1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet
MehrAlgorithmen zur Integer-Multiplikation
Algorithmen zur Integer-Multiplikation Multiplikation zweier n-bit Zahlen ist zurückführbar auf wiederholte bedingte Additionen und Schiebeoperationen (in einfachen Prozessoren wird daher oft auf Multiplizierwerke
MehrMesswerterfassung mit Mittelwertbildung
Fak. Elektrotechnik & Informationstechnik Institut für Automatisierungstechnik Professur für Prozessleittechnik Aufgabe 1 Messwerterfassung mit Mittelwertbildung Ein einfaches Messgerät Messaufgabe In
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
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
Mehrmit ganzen Zahlen 1.4 Berechnen Sie: a b c d e
1 Rechnen mit ganzen Zahlen Führen Sie die nachfolgenden Berechnungen aus: 1.1 a. 873 112 1718 157 3461 + b. 1578 9553 7218 212 4139 + 1.3 Berechnen Sie: a. 34 89 b. 67 46 c. 61 93 d. 55 11 e. 78 38 1.2
MehrRechnerstrukturen Winter 2015 4. WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1
4. WICHTIGE SCHALTNETZE (c) Peter Sturm, University of Trier 1 Wichtige Schaltnetze Häufig verwendete Grundfunktionen Umwandeln (Decoder) Verteilen (Multiplexer) und Zusammenfassen (Demultiplexer) Arithmetisch-
MehrRechnerarchitektur und Betriebssysteme (CS201): Architektur, ALU, Flip-Flop
Rechnerarchitektur und Betriebssysteme (CS201): Architektur, ALU, Flip-Flop 17. September 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Uebersicht Ausgewählte
MehrBesprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online
Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen
Mehr68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.
WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven
MehrRepräsentation von Daten Binärcodierung ganzer Zahlen
Kapitel 3: Repräsentation von Daten Binärcodierung ganzer Zahlen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Repräsentation von Daten im Computer (dieses und nächstes
MehrDokumentation der Assemblerroutinen
Dokumentation der Assemblerroutinen für die Befehle MULT, MULTU, DIV & DIVU MulU Zum Multiplizieren, wurde die Methode der russischen Bauernmultiplikation benutzt, die prinzipiell nur ein schriftliches
MehrGaloiskörper GF(2 n ) (Teschl/Teschl 4)
Galoiskörper GF(2 n ) (Teschl/Teschl 4) auch Galois-Felder (englisch Galois elds), benannt nach Evariste Galois (18111832). Körper (in der Mathematik) allgemein: Zahlenbereich, in dem die vier Grundrechenarten
Mehr2.2 Rechnerorganisation: Aufbau und Funktionsweise
2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise
MehrRechnerarchitektur Teil 2
Rechnerarchitektur Teil 2 Fähigkeiten der Registermaschine und Sprachübersetzung Dipl.-Inform. Meiko Lösch 2006-05-12 Inhalt 1 Rechenfähigkeit Zuweisungen Rechnen Relationen 2 Programmierfähigkeit Schleifen
Mehr1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:
Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der
MehrDer Toy Rechner Ein einfacher Mikrorechner
Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte
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
Mehr5. Übung: Binäres Rechnen und Fließkommazahlen Abteilung Verteilte Systeme, Universität Ulm
5. Übung: Binäres Rechnen und Fließkommazahlen Aufgabe 1: Binäres Rechnen a) Berechnen Sie: x = 01100101b*(0101101b-10110100b)+10101b. Alle Zahlen sind 8 Bit breit und in Zweierkomplement-Notation angegeben.
Mehr21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?
Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen
Mehr2.1.2 Gleitkommazahlen
.1. Gleitkommazahlen Überblick: Gleitkommazahlen Gleitkommadarstellung Arithmetische Operationen auf Gleitkommazahlen mit fester Anzahl von Mantissen- und Exponentenbits Insbesondere Rundungsproblematik:
MehrProgrammierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13
Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil II: Wat iss ene Bit, Byte un Word?
MehrFH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10
FB ET/IT Binäre Rechenoperationen WS 9/ Name, Vorname: Matr.-Nr.: Zugelassene Hilfsmittel: beliebiger Taschenrechner eine selbst erstellte Formelsammlung Wichtige Hinweise: Ausführungen, Notizen und Lösungen
MehrDas Rechnermodell - Funktion
Darstellung von Zahlen und Zeichen im Rechner Darstellung von Zeichen ASCII-Kodierung Zahlensysteme Dezimalsystem, Dualsystem, Hexadezimalsystem Darstellung von Zahlen im Rechner Natürliche Zahlen Ganze
Mehr