Multiplizierer Gesucht: Schaltkreis zur Multiplikation zweier Binärzahlen <an-1, ..., a0>, <bn-1, ..., b0> Beispiel: RW-Systemarchitektur Kap. 3.

Slides:



Advertisements
Ähnliche Präsentationen
Excel – Kurs Philip Clasen
Advertisements

Programmierung: Einführung
(Zweistufige) Logiksynthese
3.2 Subtraktion, Multiplikation, ALU
Systemarchitektur Sommersemester 2009 Universität des Saarlandes
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Kapitel 3 Arithmetische Schaltkreise
2.3 Kodierung von Zeichen 2.4 Kodierung von Zahlen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Das LCA – Problem in Suffixbäumen
11. Matrizen. 11. Matrizen Eine mn-Matrix ist ein Raster aus mn Koeffizienten, die in m Zeilen und n Spalten angeordnet sind. = (aij)1  i  m, 1.
Berechnung und Vereinfachung von Termen
Übung Informatik1 für ET und MT
Multiplizierer 10x10 Bit Finale: ZUSAMMENFASSUNG SPEED POWER AREA.
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Spezielle Anwendungen.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
BCD Ripple Carry Adder von Enrico Billich.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Seminar parallele Programmierung SS 2003
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Rechneraufbau & Rechnerstrukturen, Folie 5.1 © 2006 W. Oberschelp, G. Vossen.
Aufbau und Funktionsweise von Prozessoren
AC Analyse.
1Ausgewählte Themen des analogen Schaltungsentwurfs Sprungantwort.
AC Analyse. 2Ausgewählte Themen des analogen Schaltungsentwurfs Sprungantwort.
Differentieller Stromverstärker
Addierwerke.
Quadratische Gleichung
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Basisinformationstechnologie HK-Medien
Diskrete Mathematik II
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Information und Kommunikation
Halfadder a =1 s & cout b.
© Béat Hirsbrunner, University of Fribourg, Switzerland
P e r m Willkommen in Perm ! Заварзина Галина Васильевна,
Problem: Es soll die Gesamtgröße eines Gartens ermittelt werden, der aus vier rechteckigen Teilflächen besteht.
Übergang in die Schule der Sekundarstufe I
Technische Informatik II Übung 2: Konvertieren von Zahlen
Multiplikation mit Klammern
Gruppe: 31 Grundlagen wissenschaftlichen Arbeitens Algorithmen und Datenstrukturen Iris Studeny.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Rechnerarchitekturen
Serielle Addition H. Malz. Serielle Addition H. Malz Operanden laden.
Lineare Gleichungen mit 2 Variablen
Rechnerstrukturen 3b. Endliche Automaten.
Übergang in die (Schulen der) Sekundarstufe I
Vom graphischen Differenzieren
Technische Informatik II
Der Prozessor Von Stephan Blum.
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Vertiefungsstoff zum Thema „Darstellung von Zahlen“
Vorstellen und Herleiten der Horner Schemas
Übung zu Grundlagen der Technischen Informatik
Aufbau und Funktionsweise einer CPU
Logische Grundschaltungen
Addieren und Subtrahieren von rationalen Zahlen
Das Addierwerk eines Rechners
- mal + = - + mal - = - + mal + = + - mal - = +
Vom Transistor zum HW-Automaten
Rechenausdrücke (Terme) – Fachbegriffe - Rechenregeln
 Präsentation transkript:

Multiplizierer Gesucht: Schaltkreis zur Multiplikation zweier Binärzahlen <an-1, ..., a0>, <bn-1, ..., b0> Beispiel: RW-Systemarchitektur Kap. 3

Allgemeines zum Multiplizierer Wieviele Stellen werden für das Ergebnis benötigt? Also: 2n Stellen reichen zur Multiplikation von Zweierkomplementzahlen RW-Systemarchitektur Kap. 3

Vorgehen bei der Multiplikation Multipliziere die Beträge der Zahlen Bestimme das Vorzeichen des Produkts Setze das Endergebnis zusammen RW-Systemarchitektur Kap. 3

Definition 3.4.: Ein n-Bit-Multiplizierer ist ein Schaltkreis, der die folgende Funktion berechnet: muln: {0,1}2n ® {0,1}2n mit muln(an-1, ..., a0, bn-1, ..., b0) = (p2n-1, ..., p0) mit <p2n-1, ..., p0> = <a> × <b> RW-Systemarchitektur Kap. 3

Die Multiplikationsmatrix Partialprodukte mit 2n Stellen, n Stück carry? Realisierung der Multiplikationsmatrix mit n2 AND-Gattern (und n2 Konstanten 0). RW-Systemarchitektur Kap. 3

Daraus entstehende Aufgabe: Schnelle Addition von n Partialprodukten der Länge 2n. Mit CLAs lösbar mit Kosten O(n2), Tiefe O(n log(n)) bei linearem Aufsummieren der Partialprodukte ((((pp0+pp1)+pp2)+...)+ppn-1), O(log2n) bei baumartigem Zusammenfassen der Partialprodukte. RW-Systemarchitektur Kap. 3

Partialprodukte RW-Systemarchitektur Kap. 3

Schnelle Addition von n Partialprodukten der Länge 2n Verwende Carry-Save-Addierer. Reduktion von 3 Eingabewerten u, v, w zu zwei Ausgabewerten s, c mit <u> + <v> + <w> = <s> + <c> Gelöst durch Nebeneinandersetzen von Volladdierern (kein Carry-Chain!). RW-Systemarchitektur Kap. 3

Carry-Save Addierer = ... CSavA u v w c s n FA un-1 vn-1 wn-1 sn-1 cn-1 u1 v1 FA u0 v0 w0 s0 c0 w1 = ... FA c1 s1 RW-Systemarchitektur Kap. 3

Bemerkung zum Aufbau des CSavA Speziell bei Partialprodukten: Reduziere 3 2n-Bit-Zahlen zu 2 2n-Bit-Zahlen (c2n-1 = 0  Carry-Ausgang des letzten FA nicht verwendet) RW-Systemarchitektur Kap. 3

1. Serielle Lösung: Hintereinanderschalten von n-2 CSA-Addierern der Länge 2n  Fasse n Partialprodukte zu 2 2n-Bit-Worten zusammen Addiere die 2n-Bit-Worte mit CLA Kosten O(n2), Tiefe O(n) CSavA pp3 ppn-2 ppn-1 pp2 CSavA CSavA CSavA ADD pp1 ... pp0 RW-Systemarchitektur Kap. 3

4-zu-2 Reduktions-Grundzelle 2. Baumartige Lösung: Neue Grundzelle zur Reduktion von 4 2n-Bit Eingabeworten zu zwei Ausgabeworten, bestehend aus 2 CSAs Baumartiges Zusammenfassen der Partialprodukte mit 4-zu-2-Bausteinen zu 2 2n-Bit-Worten Addiere die 2n-Bit-Worte mit CLA siehe Abb. der Addierstufe mit log. Zeit Kosten O(n2), Tiefe O(log n) 4-zu-2 Reduktions-Grundzelle CSavA CSavA 4-zu-2 RW-Systemarchitektur Kap. 3

Addierstufe des log-Zeit-Multiplizierers für 16 Bit pp0 pp1 pp2 pp3 ... ... pp12 pp13 pp14 pp15 ADD 4-zu-2 RW-Systemarchitektur Kap. 3

Schaltzeichen einer n-Bit-ALU Aufbau einer ALU ALU = Arithmetic Logic Unit zur Berechnung von arithmetischen und logischen Basisoperationen ALU a b c select n n+1 m Schaltzeichen einer n-Bit-ALU n-Bit-ALU mit: 2 n-Bit-Operanden a, b, Eingangscarry c m-Bit select-Eingang, der auswählt, welche Funktion ausgeführt wird (n+1)-Bit-Ausgang RW-Systemarchitektur Kap. 3

Beispiel zum select-Eingang Hier: 8 Funktionen, d.h. 3-Bit select-Eingang Funktionsnummer ALU-Funktion s2 s1 s0 0 0 0 0 ... 0 0 0 1 [b] – [a] 0 1 0 [a] – [b] 0 1 1 [a] + [b] + c 1 0 0 a Å b = (an-1 Å bn-1, ..., a0 Å b0) 1 0 1 a Ú b = (an-1 Ú bn-1, ..., a0 Ú b0) 1 1 0 a Ù b = (an-1 Ù bn-1, ..., a0 Ù b0) 1 1 1 1 ... 1 RW-Systemarchitektur Kap. 3

Mögliche Realisierungen einer ALU Möglichkeit: Realisiere Fkt. getrennt durch für fi, dann Auswahl durch verallgemeinerten Multiplexer a b c SKf0 SKf1 ... 1 2 - m SKf n+1 n+1 n+1 verallgemeinerter Multiplexer select RW-Systemarchitektur Kap. 3 m

Schaltungsrealisierung der n-Bit ALU Möglichkeit: gemeinsame Behandlung ähnlicher Funktionen Å 1 0 1 0 3 2 1 0 AND OR EXOR n+1 n 2 1 a b s1s0 s1 s0 An c b0 bn-1 a0 an-1 s2 s2 s1 s0 0 0 0 0 ... 0 0 0 1 [b] – [a] 0 1 0 [a] – [b] 0 1 1 [a] + [b] + c 1 0 0 a Å b = (an-1 Å bn-1, ..., a0 Å b0) 1 0 1 a Ú b = (an-1 Ú bn-1, ..., a0 Ú b0) 1 1 0 a Ù b = (an-1 Ù bn-1, ..., a0 Ù b0) 1 1 1 1 ... 1 RW-Systemarchitektur Kap. 3

Datenpfad und Befehlsausführung Prozessor (CPU) PC IR ALU Steuerwerk Wo stehen wir? RW-Systemarchitektur Kap. 3