Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

Ähnliche Dokumente
Das negative Zweierkomplementzahlensystem

Rückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8

Zahlensysteme und Kodes. Prof. Metzler

2.Vorlesung Grundlagen der Informatik

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring

6. Zahlendarstellungen und Rechnerarithmetik

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung

Algorithmen zur Integer-Multiplikation

01 - Zahlendarstellung

Computer rechnen nur mit Nullen und Einsen

Inhalt. Zahlendarstellungen

Rechnernetze und Organisation

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

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

There are only 10 types of people in the world: those who understand binary, and those who don't

Vorlesung Programmieren

E Zahlendarstellungen und Rechnerarithmetik

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Motivation 31. Mai 2005

6.2 Kodierung von Zahlen

Zahlen in Binärdarstellung

Zahlendarstellungen und Rechnerarithmetik*

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN:

Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

Computer Arithmetik. Computer Arithmetik Allgemein

2.1.2 Gleitkommazahlen

Grundlagen der Informatik

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

Rechnergrundlagen SS Vorlesung

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

Einführung in die Informatik

Einführung in die Informatik

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Einführung in die Informatik I

Basisinformationstechnologie I

Regeln zur Bruchrechnung

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Darstellen, Ordnen und Vergleichen

Zwischenklausur Informatik, WS 2014/15

Algorithmen zur Division

Zum Nachdenken. Welche Eigenschaften einer Vorzeichendarstellung. erreichen? Wie könnte man Vorzeichenzahlen darstellen?

Faktorisierung bei Brüchen und Bruchtermen

Grundlagen der Technischen Informatik. 4. Übung

Übung Praktische Informatik II

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

Integrierte Schaltungen

2. Negative Dualzahlen darstellen

FAKULTÄT FÜR INFORMATIK

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen

Das Rechnermodell - Funktion

Skript Zahlensysteme

2 Darstellung von Zahlen und Zeichen

Computerarithmetik (1)

Das Maschinenmodell Datenrepräsentation

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Grundlagen der Technischen Informatik. 3. Übung. Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

Wertebereiche, Overflow und Underflow

Lösungsvorschlag zu 1. Übung

Grundlagen der Informatik I ATI / MB

Kapitel 5: Darstellung von Daten im Rechner

Binäre Darstellung ganzer Zahlen

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

Grundstrukturen: Speicherorganisation und Zahlenmengen

BERUFSREIFEPRÜFUNG INFORMATIK. Kursbeginn: 09. März mailme: Telefon: 0660/ mehr Chancen im Leben

Übung Programmieren - Zahlendarstellung, SSH, SCP, Shellskripte -

Grundlagen der Informatik I. Übung

Mikro-Controller-Pass 1

Algorithmen zur Division

Vektorrechnung. Beispiele: (4 8) 2-Tupel (Zahlenpaar) (4 8 9) 3-Tupel (Zahlentrippel)

Informatik I Modul 5: Rechnerarithmetik (2)

GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK

Terme und Gleichungen

GTI ÜBUNG 12 KOMPARATOR UND ADDIERER

Grundrechnungsarten mit Dezimalzahlen

Grundlagen der Technischen Informatik. 3. Übung

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Begriffe, die auf eine Multiplikation oder Division hinweisen

Übungsklausur - Beispiellösung

BB/CS- SS00 Rechner im Überblick 1/1. Ein Stellenwertsystem (Zahlensystem) ist ein Tripel S = (b, Z, δ) mit den folgenden Eigenschaften:

Einführung in die Informatik I

Binäre Gleitkommazahlen

Dokumentation der Assemblerroutinen

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen

G Zahlendarstellung und Rechnerarithmetik

Transkript:

Das negative Zweierkomplementzahlensystem Ines Junold 23. Februar 2010 1

Inhaltsverzeichnis 1 Einleitung 3 2 Das konventionelle Zweierkomplement 4 2.1 Definition....................................... 4 2.2 Addition und Subtraktion.............................. 4 2.3 Multiplikation..................................... 4 3 Das negative Zweierkomplementsystem 5 3.1 Definition....................................... 5 3.2 Addition und Subtraktion.............................. 5 3.3 Multiplikation..................................... 6 3.3.1 Booth-Verfahren............................... 6 3.3.2 Baugh-Wooly-Verfahren.......................... 8 4 Zusammenfassung 10 5 Literaturverzeichnis 11 2

1 Einleitung Das Zweierkomplement wird bei gebrochenen Festkommazahlen zur Implementierung der digitalen Signalverarbeitung auf VLSI-Chips verwendet. Allerdings wird bei der digitalen Signalverarbeitung häufig der Wert 1 benötigt. Das Problem hierbei ist jedoch, dass im konventionellen Zweierkomplement diese Zahl nicht dargestellt werden kann. Dies führt zu dem Problem, dass 1 1 das Resultat +1 ergibt, welches nicht als gebrochene Zweierkomplementzahl dargestellt werden kann. Es bedeutet auch, dass der Absolutwert von 1 nicht dargestellt werden kann. Aus diesem Grund entwickelte Swartzlander (vgl. Swartzlander 2007) das sogenannte negative Zweierkomplement (Abb. 1). Seit 1990 unterrichtet er an der Universität von Texas in Austin als Professor für Elektrotechnik und Computer Engineering. Er besitzt einen Abschluss in Elektrotechnik an der Purdue Universität, der Universität von Colorado und der Universität von Kalifornien. Bei seiner Forschung liegt der Schwerpunkt auf einem anwendungsspezifischen Prozessordesign mit einer Hochgeschwindigkeitscomputerarithmetik. 1 Abbildung 1: Earl E. Swartzlander, jr. 1 vgl.http://www.reviews.com/masthead/masthead_editors.cfm?editor=swartz 3

2 Das konventionelle Zweierkomplement 2.1 Definition Durch das konventionelle Zweierkomplement besteht die Möglichkeit, auch negative Zahlen im Dualsystem darstellen zu können. Der Wertebereich liegt in (2 n 1 ),..., 0,..., 2 n 1 1, wobei n der Anzahl der Bits entspricht. Stehen beispielsweise 8 Bit zur Verfügung, dann erstreckt sich der Zahlenbereich von 128 (10) bis +127 (10). Darstellung und Umwandlung der Binärzahlen in das konventionelle Zweierkomplement sind sehr einfach zu implementieren. Zuerst muss ein Vorzeichenbit festgelegt werden. Handelt es sich bei der umzuwandelnden Zahl x um eine positive, so wird das Vorzeichenbit auf 0 gesetzt. Ist es jedoch negativ, also x < 0, so werden alle Bits invertiert bzw. gekippt. Danach muss nur noch der Wert der Quantisierungsstufe 2 k addiert werden. Die Quantisierungsstufe wird auch als Least Significant Bit (LSB) bezeichnet. Am Beispiel der Zahl 2.25 10 wird die Umwandlung nun gezeigt. 2.25 10 = 010.01 2 Umwandlung vom Dezimal- ins Binärzahlensystem [010.01] 2 = 101.10 2 Invertierung der einzelnen Bitstellen 2 2 = 0.25 10 = 0.01 2 Berechnung der Quantisierungsstufe 101.10 2 + 000.01 2 = 101.11 2 Addieren der Quantisierungsstufe 2.2 Addition und Subtraktion Bei Addition und Subtraktion muss keine Fallunterscheidung vorgenommen werden, da die Subtraktion auf die Addition zurückgeführt werden kann. S = A B = A + ( B) Die Summe S = (s n 1, s n 2,..., s 0 ) besteht aus den zwei Summanden A = (a n 1, a n 2,..., a 0 ) und B= (b n 1, b n 2,..., b 0 ). Somit ergibt sich die folgende Bildungsvorschrift: s i = a i b i c i Die Variable c i bezeichnet den Übertrag an der Stelle i. Die Bildungsvorschrift hierfür lautet: c i+1 = (a i b i ) (a i c i ) (b i c i ), wobei c 0 = 0 Der entsprechende Schaltkreis, ein Volladdierer, ist in Abbildung 2 dargestellt. 2.3 Multiplikation Im Gegensatz zur Addition und Subtraktion muss bei der Multiplikation eine Erweiterung des Wertebereichs vorgenommen werden, da das Ergebnis meist nicht im Wertebereich der Faktoren liegt. Die Stellenanzahl wird dabei verdoppelt und der Wert des Most Significant Bit (MSB) entsprechend oft vor den ersten Faktor gesetzt. Somit ist die neue Stellenanzahl bei einem Faktor mit n Bit Stellen 2n. Hierfür eignet sich ein Serienoder Parallelmultiplizierer. Die Funktionsweise der verschiedenen Multiplizierer wird im Kapitel 3.2 Rechenoperationen dargestellt. 4

Abbildung 2: Volladdierer 3 Das negative Zweierkomplementsystem 3.1 Definition Das negative Zweierkomplement ist im Grunde genommen nur eine Spiegelung des bekannten und in Kapitel 2 beschriebenen konventionellen Zweierkomplements. Aus Abbildung 3 geht hervor, dass die Umwandlung ins negative Zweierkomplement über das Invertieren aller Bits außer dem Vorzeichenbit möglich ist. Die resultierenden Zahlen sind der Größe nach geordnet (zum Beispiel die Kleinste ist 0000, die Größte 1111 und die Zwischenwerte sind intuitiv geordnet). Die Schwierigkeit besteht darin, die n 1 Bits für jede Zahl zu kippen. Eine Alternative zum Invertieren ist nur das Vorzeichenbit zu invertieren. Dann sind die Zahlen invers der Größe nach geordnet. Nach dem Vergleich ist das Ergebnis invertiert (zum Beispiel wenn der Vergleich A > B ergibt, ist das korrekte Ergebnis A < B). Das negative Zweierkomplement einer Zahl kann durch die nachfolgende Formel berechnet werden. R = r n 1 n 2 r i 2 i n+1 i=0 Die umzuwandelnde, gebrochene n Bit lange Zahl besitzt das Vorzeichenbit r n 1, wobei R die gegebene Zahl im negativen Zweierkomplement beschreibt. Dies soll am folgenden Beispiel gezeigt werden. Die zu berechnende Zahl sei 5 8. R = 1 (0 2 0 (4+1) + 1 2 1 (4+1) 1 2 2 (4+1) ) R = 1 1 2 2 + 1 2 3 R = 1 0, 25 + 0, 125 R = 1 0, 375 R = 5 8 3.2 Addition und Subtraktion Die Rechenoperationen Addition und Subtraktion sind im negativen Zweierkomplement gleich den Rechenregeln im konventionellen Zweierkomplement. Darum soll ein Beispiel für die Addition genügen. 5

Abbildung 3: Vergleich vom negativen Zweierkomplement mit dem konventionellen Zweierkomplement 1 2 + 3 8 1. 1 0 0 + 1. 1 0 1 = 1. 0 0 1 = 7 8 Auch die Subtraktion kann - wie beim konventionellen Zweierkomplement - auf die Addition zurückgeführt werden. Nur muss auch hier der Divisor negiert werden. Dies geschieht äquivalent zum konventionellen Zweierkomplement am Beispiel von 1 4. 0.25 10 = 1.110 2 Umwandlung vom Dezimal- ins Binärzahlensystem [1.110] 2 = 0.001 2 Invertierung der einzelnen Bitstellen 0.001 2 + 0.001 2 = 0.010 2 1 am LSB addieren 3.3 Multiplikation Es gibt zwei Arten von gebräuchlichen Multiplikatoren, die sequenziellen und die parallelen Multiplikatoren. Für beide Versionen kann man die Implementierung im negativen Zweierkomplement zeigen. 3.3.1 Booth-Verfahren Die sequenzielle Multiplikation ist im Allgemeinen im Booth-Verfahren (oder im modifizierten Booth-Verfahren) realisiert. Diese werden durch Sequenzen von Additionen, Subtraktionen und Shift- Operationen verwirklicht. Da bereits äquivalente Operationen für Addition und Subtraktion gezeigt wurden, ist das negative Zweierkomplement mit Booth-Verfahren ähnlich dem konventionellen Booth-Verfahren. Der einzige Unterschied sind die vertauschten Additions- und Subtraktionsoperationen. 6

Multiplikator Bits konventionelle Zweierkomplement Bemerkung 00 P = P laufende Folge von Nullen 01 P = P + B Ende einer Folge von Einsen 10 P = P B Anfang einer Folge von Einsen 11 P = P laufende Folge von Einsen Operationen des Booth-Verfahrens im konventionellen Zweierkomplement Multiplikator Bits negative Zweierkomplement Bemerkung 00 P = P laufende Folge von Nullen 01 P = P B Ende einer Folge von Einsen 10 P = P + B Anfang einer Folge von Einsen 11 P = P laufende Folge von Einsen Operationen des Booth-Verfahrens im negativen Zweierkomplement Dies wird am folgenden Beispiel deutlich. Zunächst werden die Operationen anhand der Zweiersequenzen bestimmt: A B = 3 4 5 8 = 1.010 1.0110 1.0110 Addieren und Shift 1.0110 No-OP und Shift 1.0110 Subtrahieren und Shift 1.0110 Addieren (und Shift) Danach müssen die einzelnen Arbeitsschritte des Multiplikators betrachtet werden. Mit Hilfe der einzelnen Additions-, Subtraktions- und Shift-Operationen wird aus dem Multiplikand und dem Multiplikator das Produkt errechnet: Initialisierung P = 0 0.000 10: ADD A 1.010 1.010 Shift P 1.1010 11: No-OP 1.1010 Shift P 1.11010 01: SUB A 0.110 0.10010 Shift P 0.010010 10: ADD A 1.010 No-Shift 1.100010 Dies soll als Nachweis der sequentiellen Multiplikation im negativen Zweierkomplements genügen. 7

3.3.2 Baugh-Wooly-Verfahren Die parallelen Multiplizierer hingegen werden durch eine die modifizierte Variante des Baugh-Wooly-Verfahrens. Es werden dabei Regeln zur Vereinfachung des Multiplikationsschemas angewandt 2. Daraus ergibt sich folgendes Bild: Zweierkomplement Baugh- Wooly- Multiplizierer A 5 A 4 A 3 A 2 A 1 A 0 B 5 B 4 B 3 B 2 B 1 B 0 A 5 B 0 A 4 B 0 A 3 B 0 A 2 B 0 A 1 B 0 A 0 B 0 A 5 B 1 A 4 B 1 A 3 B 1 A 2 B 1 A 1 B 1 A 0 B 1 A 5 B 2 A 4 B 2 A 3 B 2 A 2 B 2 A 1 B 2 A 0 B 2 A 5 B 3 A 4 B 3 A 3 B 3 A 2 B 3 A 1 B 3 A 0 B 3 A 5 B 4 A 4 B 4 A 3 B 4 A 2 B 4 A 1 B 4 A 0 B 4 A 5 B 5 A 4 B 5 A 3 B 5 A 2 B 5 A 1 B 5 A 0 B 5 P 10 P 9 P 8 P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0 Änlich wie bei den Seriellen Multiplizierern wird die Umwandlung in das negative Zweierkomplement nur durch eine Vertauschung der Vorzeichen erreicht. Der daraus resultierende Multiplizier sieht dann folgendermaßen aus: Negatives Zweierkomplement Baugh- Wooly- Multiplizierer A 5 A 4 A 3 A 2 A 1 A 0 B 5 B 4 B 3 B 2 B 1 B 0 A 5 B 0 A 4 B 0 A 3 B 0 A 2 B 0 A 1 B 0 A 0 B 0 A 5 B 1 A 4 B 1 A 3 B 1 A 2 B 1 A 1 B 1 A 0 B 1 A 5 B 2 A 4 B 2 A 3 B 2 A 2 B 2 A 1 B 2 A 0 B 2 A 5 B 3 A 4 B 3 A 3 B 3 A 2 B 3 A 1 B 3 A 0 B 3 A 5 B 4 A 4 B 4 A 3 B 4 A 2 B 4 A 1 B 4 A 0 B 4 A 5 B 5 A 4 B 5 A 3 B 5 A 2 B 5 A 1 B 5 A 0 B 5 P 10 P 9 P 8 P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0 2 vgl. http://www2.informatik.uni-jena.de/~nez/rechnerarithmetik_5/folien/ Rechnerarithmetik.2008.16.handout.pdf S. 18ff. 8

Anhand eines 4 Bit Multiplizierers kann man die Funktionalität verdeutlichen: 3 4 1. 0 1 0 5 8 1. 0 1 1 1. 1 0 1 1. 1 0 1 0. 1 1 1 0. 0 1 0. 1 1 1 1 15 32 = 1. 1 0 0 0 1 0 4 Zusammenfassung Im Kapitel»Einleitung«wurde beschrieben, dass besonders in der digitalen Signalverarbeitung der Wert 1 benötigt wird. Swartzlander (vgl. Swartzlander 2007) stellt diese Zahl durch sein negatives Zweierkomplement zur Verfügung, jedoch ist in diesem Zahlensystem der Wert 1 nicht verfügbar. Dies würde bedeuten, dass jedes Mal, wenn in einer Rechnung der Wert 1 oder 1 benötigt wird, die erforderlichen Zahlen in das jeweilige Zahlensystem umgewandelt werden müssen. Und somit ist das negative Zweierkomplement nur dann sinnvoll, wenn die 1 häufiger benötigt wird als die 1. 9

5 Literaturverzeichnis 1. Swartzlander, E.: The Negative Two?s Complement Number System. Austin 2007 2. Zehendner, E.: Rechnerarithmetik. Jena 2008 3. http://wapedia.mobi/de/zweierkomplement 10