Energieeffiziente MAC-Einheiten - Friedrich-Schiller

Werbung
Energieeffiziente MAC-Einheiten
adiabatische Logik in der digitalen Signalverarbeitung
Wintersemester 2009/10
Friedrich-Schiller-Universität Jena
von
Etienne Kleine
26. Februar 2010
Seminarleiter :
Prof. Dr. Eberhard Zehendner
David Neuhäuser
Kurzzusammenfassung
Die Energieeffizienz digitaler Schaltungen gewinnt zunehmend an Bedeutung. Zum einen ist
eine Verringerung der Energieaufnahme von Digitaltechnik aus Gründen des Umweltschutzes
wünschenswert, zum anderen nimmt die Anzahl mobiler Geräte, denen nur ein begrenzter Energievorrat zur Verfügung steht, stetig zu. Das Potential der konventionellen CMOS Schaltkreise
bezüglich der Energieeffizienz scheint auf Grund technologischer und physikalischer Grenzen nahezu ausgereizt.
In dieser Ausarbeitung sollen die Gründe dafür kurz erläutert und Verbesserungsmöglichkeiten
aufgezeigt werden, die ihre Anwendung in sogenannten adiabatischen Schaltkreisen finden. Zudem wird eine alternative Hardwareumsetzung logischer Funktionen in komplexen Schaltkreisen
betrachtet, die auf binären Entscheidungsdiagrammen basieren.
Abschließend wird das Potential dieser beiden alternativen Ansätze anhand einer konkreten Hardwareumsetzung einer Multiply-Accumulate Einheit aufgezeigt und die Energieeffizienz dieses Systems mit entsprechenden konventionellen CMOS Umsetzungen verglichen.
1
Inhaltsverzeichnis
1 Einleitung
3
2 Grundlagen der adiabatischen Logik
4
2.1
Energieverluste in konventioneller CMOS Logik . . . . . . . . . . . . . . . . . . .
4
2.2
Adiabatisches Umladen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.3
Adiabatische Schaltkreise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3 Geordnete binäre Entscheidungsdiagramme
9
3.1
Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2
Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.3
Hardwareumsetzung adiabatischer Schaltkreise . . . . . . . . . . . . . . . . . . .
12
4 Adiabatische Multiply-Accumulate-Einheit
12
4.1
Booth - Recoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.2
Reduktionsstufe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.3
Abschließender Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
5 Zusammenfassung
16
Literaturverzeichnis
18
2
1
Einleitung
Durch die rasante Entwicklung der Digitaltechnik ist es inzwischen möglich geworden, sehr viele Problemstellungen der digitalen Signalverarbeitung mit kompakten Schaltkreisen in Echtzeit
durchzuführen. Dies führte zu einer Vielzahl kleiner tragbarer Geräte wie z.B. MP3-Player und
Digitalkameras. Da der Energievorrat dieser Geräte begrenzt ist, nimmt die Bedeutung der Energieeffizienz in diesen Bereichen stark zu. Doch auch in anderen Anwendungsbereichen sind Systeme mit einem minimalen Energieverbrauch vorteilhaft. So z.B. schwer zugängliche Sensoren,
aber auch stationäre Systeme die permanent betrieben werden. Ein weiterer Vorteil hoher Energieeffizienz sind Kosteneinsparungen und ein erhöhter Umweltschutz.
Das Potential der konventionellen CMOS Schaltkreise ist nahezu ausgereizt, da eine Effizienzverbesserung hier überwiegend durch Verkleinerung der Strukturen und Absenken der Versorgungsspannung erreicht wird. Eine weitere Verkleinerung ist allerdings nur noch in geringem Maße
möglich, da die Strukturgrößen schon nahezu die Größenordnung eines Atomdurchmessers erreichen und in diesem Bereich zunehmend störende Quanteneffekte auftreten. Das Verringern der
Versorgungsspannung ist durch den Innenwiderstand der Schaltkreise und störendes Rauschen
begrenzt.
In dieser Ausarbeitung werden einige Ansätze zusammengetragen, die eine deutlich bessere Nutzung der aufgewendeten Energie versprechen. Im Abschnitt 1 werden zunächst die Hauptursachen der Energieverluste in CMOS Schaltungen aufgeführt und die adiabatische Schaltungstechnik vorgestellt, die durch Energierückgewinnung diese Verluste verringern kann. In Abschnitt 2
wird dann auf eine alternative Umsetzung logischer Funktionen durch komplexe logische Gatter eingegangen, die sich effizient in adiabatischer Logik umsetzen lassen. Um die Vorteile dieser Ansätze zu verdeutlichen wird in Abschnitt 3 eine von Suvakovic und Salama entwickelte
Multiply-Accumulate Einheit vorgestellt.
3
2
Grundlagen der adiabatischen Logik
In diesem Abschnitt werden zunächst die unterschiedlichen Ursachen von Energieverlusten in
konventionellen arithmetischen CMOS-Gattern genannt und ihre Ursachen kurz beschrieben.
Anschließend werden Methoden und Ansätze vorgestellt, mit denen diese Verluste minimiert
oder sogar vollständig eliminiert werden können. Als Grundlage für diesen Abschnitt dient eine
Dissertation [2], in welcher auch eine genaue mathematische Analyse der Ansätze durchgeführt
wird und die technischen Grundlagen sehr detailliert beschrieben sind.
2.1
Energieverluste in konventioneller CMOS Logik
Um die Energieverluste in arithmetischen Schaltungen und deren Ursachen besser zu verstehen,
ist es naheliegend, zunächst die Frage zu beantworten, wie viel Energie ausschließlich für eine Berechnung notwendig ist. Die konkrete Hardwareumsetzung und die daraus resultierenden Verluste
sollen dabei unberücksichtigt bleiben. Diese Frage wurde bereits 1961 durch Landauer und später
1973 durch Benett untersucht. Dabei stellte sich heraus, dass Informationsverarbeitung, die auf
der Verknüpfung von Zuständen basiert grundsätzliche keinen Energieumsatz erfordert. Dies
gilt allerdings nur so lange, keine Löschvorgänge stattfinden. Diese Erkenntnis scheint zunächst
überraschend, kann jedoch mit Hilfe der Thermodynamik erklärt werden. Zentral ist hierbei der
zweite Hauptsatz der Thermodynamik, welcher eine wichtige Aussage über Entropie trifft. Die
mathematische Formulierung ist in Gleichung 1 gegeben.
dS =
dQ
dT
≥0
(1)
Dabei ist S die Entropie, Q die transportierte Wärmemenge und T die Temperatur. Der zweite Hauptsatz besagt, dass die Entropie eines Systems mit der Zeit nur größer werden kann.
Entropie kann dabei als ein Maß für die Unordnung“eines Systems angesehen werden. In der
”
Informationstheorie ist die Entropie ein Maß für den Informationsgehalt. Wird nun im Verlauf
einer Berechnung Information gelöscht, werden z.B. Speicherelemente in einen vordefinierten Zustand versetzt. Damit nimmt die Unordnung “im System ab und die Entropie verkleinert sich
”
(dS ≤ 0). Nach Gleichung 1 bedeutet das aber, dass auch dQ ≤ 0 ist, was bedeutet, dass das
System Wärme abgibt, was letztendlich einen Energieverlust bedeutet. Diese Energieverluste
werden als nicht adiabatische Energieverluste bezeichnet und treten immer zwingend auf, wenn
Information gelöscht wird.
Ein Ansatz diese Verluste zu verhindern besteht in der Verwendung reversibler Logik. Dabei
wird auf spezielle Gatter zurückgegriffen, bei denen sich aus den Ergebnissen der Berechnungen
4
die Eingabewerte rekonstruieren lassen. Speziell sind hier das Fredkin- und das Toffoligatter zu
erwähnen. Durch die Möglichkeit der Rekonstruktion der Eingangswerte wird verhindert, dass
während der Berechnung Löschvorgänge auftreten. Allerdings führt diese Methode zu einem
erheblich größeren Hardwareaufwand und damit auch zu deutlich größeren Verlusten, die in Zusammenhang mit der technischen Realisierung stehen. Daher eignet sich dieser Ansatz nicht für
arithmetische Schaltungen in Signalverarbeitenden Systemen.
2.2
Adiabatisches Umladen
Bei einer konkreten Hardwareumsetzung treten zusätzliche Verluste auf, die daraus resultieren,
dass die gewünschten idealen Eigenschaften auf Grund verschiedener physikalischer Effekte nicht
umgesetzt werden können. Zum einen treten bei elektronischen Schaltkreisen Verluste auf, die
aus dem Innenwiderstand der Schaltung resultieren, welcher sich nicht beliebig reduzieren lässt.
Die in CMOS-Schaltkreisen verwendeten Transistoren haben z.B. auch im leitenden Zustand
einen verbleibenden ohmschen Widerstand, wie auch die verwendeten Leitungen.
Ein anderes Problem stellen sogenannte parasitäre Kapazitäten dar. Diese resultieren aus der
aktuellen Ladungsverteilung, die während der Betriebszeit eines Bauteils bzw. in dem Fall eines
Schaltkreises vorherrscht.
Ändert sich nun der Logikpegel am Eingang eines Gatters, entspricht das im Wesentlichen dem
Aufladen eines Kondensators über einen ohmschen Widerstand. Diese beiden elektronischen Bauteile zeigen allerdings deutliche Unterschiede in ihrer Widerstandscharakteristik. Ein ohmscher
Widerstand R ist zeitlich konstant und der durch ihn fließende Strom IR proportional zur angelegten Spannung UR , wie in Gleichung 2 zu sehen ist.
R=
UR
IR
(2)
Für die Energie W , die in einem ohmschen Widerstand in Wärme umgesetzt wird, gilt Gleichung
3.
W = UR ∗ IR =
5
UR2
R
(3)
Wird ein Kondensator mit der Kapazität C über einen ohmschen Widerstand R geladen, gilt für
die Spannung am Kondensator Gleichung 4.
UC = U ∗ exp −
t
R∗C
(4)
Die am Kondensator anliegende Spannung UC nimmt mit der Zeit also zunächst sehr stark zu und
läuft dann asymptotisch gegen die Gesamtspannung U . Da für diese Gesamtspannung allerdings
Gleichung 5 gilt, nimmt die am ohmschen Widerstand anliegende Spannung entsprechend ab.
Dieses Verhalten ist in Abbildung 1 dargestellt.
U = UR + UC
(5)
Abbildung 1: Spannungsverlauf am ohmschen Widerstand (UR ) und am Kondensator (UC ) beim
Ladevorgang eines Kondensators [4]
In heutigen digitalen Systemen findet der Spannungswechsel bei Änderung eines Logikpegels unmittelbar, also sprunghaft statt. Berücksichtigt man nun Gleichung 3 und Abbildung 1 wird ein
großer Nachteil dieser Schaltungsweise offensichtlich. Wenn die Kapazitäten nicht geladen sind
und ein sprunghafter Spannungswechsel stattfindet, fällt zu Beginn des Ladevorgangs nahezu
6
die gesamte Versorgungsspannung über dem ohmschen Widerstand ab. Da der Energieumsatz
in diesem allerdings quadratisch von der Spannung abhängt, treten in dieser Phase deutliche
Energieverluste auf.
Dieses Problem kann allerdings relativ leicht mit einer angepassten Versorgungsspannung behoben werden. Um die Energieverluste zu minimieren ist es nötig, zu Beginn des Ladevorgangs eine
kleine Spannung anzulegen, die dann mit der Zeit größer wird. Es kann gezeigt werden, dass sich
für einen sehr effizienten Ladevorgang eine rampenförmige Spannung, wie in Abbildung 2 dargestellt, eignet. Zusätzlich muss noch bedacht werden, dass diese Versorgungsspannung einfach zu
erzeugen ist, um Verluste in der Energiequelle zu vermeiden. Für reale Anwendungen sind daher
sinusförmige Versorgungsspannungen, wie in Abbildung 3 dargestellt, wesentlich geeigneter, da
sie sich durch einen LC-Schwingkreis einfach erzeugen lassen und einen hohen Wirkungsgrad
erreichen.
Abbildung
2:
rampenförmige
Abbildung 3: sinusförmige Span-
Spannung
nung
Je länger die Ladezeit der Kapazitäten ist, desto größer ist auch die erreichbare Energieeffizienz
beim Aufladen. Hierdurch ergibt sich allerdings auch ein Nachteil des adiabatischen Umladens,
da durch die längeren Umladezeiten die erreichbaren Taktraten begrenzt sind.
7
2.3
Adiabatische Schaltkreise
In der konventionellen CMOS-Logik wird in jedem Takt die Schaltung zur Masse entladen. Damit
ist aber auch die Energie, die auf Grund der Kapazität in der Schaltung gespeichert wird, verloren.
Bei genauerer Betrachtung fällt allerdings auf, dass es nicht zwingend nötig ist, die Schaltung in
jedem Takt umzuladen. Ein Beispiel ist in der Tabelle in Abbildung 4 dargestellt. Wenn sich das
Ausgangssignal zwischen zwei Takten nicht ändert, kann also Energie eingespart werden.
Abbildung 4: notwendige Umladevorgänge [2]
Der Grundgedanke adiabatischer Schaltkreise ist es, Energieeffizienz dadurch zu erreichen, dass
entweder unnötige Umladevorgänge verhindert werden oder die Energie, die zum aufladen der
Gatterkapazität verwendet wurde aus dem Gatter wiederzugewinnen und weiter zu nutzen.
Um diese Ziele zu erreichen, wurden verschiedene Ansätze entwickelt, die hier allerdings nur kurz
genannt werden sollen, da die hier vorgestellte Schaltung eine andere Umsetzung verwendet.
Eine Möglichkeit der Energierückgewinnung bieten retraktile Kaskaden. Bei diesen wird in einer
Folge von Gattern eine Berechnung durchgeführt und das Ergebnis am Ende in ein nicht adiabatisches Register kopiert. Anschließend wird die Berechnung noch einmal rückwärts durchgeführt,
um die benötigten Umladevorgänge rückgängig zu machen und so den Ausgangszustand wieder
herzustellen. Die Berechnung erfordert dann nur den Energieaufwand, der nötig ist, um das nicht
adiabatische Gatter aufzuladen. Der Nachteil dieser Methode ist allerdings offensichtlich, da jede
Berechnung nun den doppelten Zeitaufwand benötigt.
Ein anderer Ansatz sind adiabatische Logigfamilien, die im wesentlichen darauf beruhen, die
Transistoren der Gatter so zu verknüpfen, dass diese in einem Takt nicht vollständig entladen
werden, sondern einen Teil der Energie speichern und so in den Folgetakten nur noch teilweise
aufgeladen werden müssen. Beispiele solcher Familien sind ECRL, TSEL, SCAL oder DAMOS.
Genauere Beschreibungen dieser Ansätzen finden sich in [2]
8
3
Geordnete binäre Entscheidungsdiagramme
Um die speziellen Eigenschaften der adiabatischen Logik auszunutzen, sind alternative Strategien
für den Aufbau von Schaltkreisen erforderlich. Komplexität und Größe der verwendeten Gatter
sind eher zweitrangig, da die entstehenden Verluste durch adiabatisches Umladen minimiert
werden können. Das Löschen von Informationen hingegen muss soweit wie möglich vermieden
werden. Es sollten also zum Beispiel kaum Latches und Pipelinestrukturen verwendet werden.
Um diese Ziele zu erreichen, können geordnete binäre Entscheidungsdiagramme (OBDD) verwendet werden. Dabei handelt es sich um eine Graphendarstellung logischer Funktionen, welche
dann in dieser Form mit speziellen Algorithmen effizient ausgewertet und manipuliert werden
können. Zudem sind sie in vielen Fällen kompakt und einfach zu handhaben und lassen sich leicht
mit adiabatischen Gattern umsetzen.
Daher soll in diesem Abschnitt etwas genauer auf geordnete binäre Entscheidungsdiagramme eingegangen werden. Diese Darstellungsform wurde von Bryant entwickelt und ist in [2] ausführlich
dargestellt und beschrieben.
3.1
Definition
Ein binäres Entscheidungsdiagramm ist ein gewurzelter, gerichteter, azyklischer Graph mit Knoten V. Dabei gibt es zwei verschiedene Arten von Knoten: Terminalknoten und nichtterminale
Knoten.
Terminalknoten, welche die Blätter sind und entweder den Wert 1 oder den Wert 0 besitzen.
Nichtterminale Knoten besitzen einen Index I[1 . . . n] und zwei Kindknoten, die mit lov(v) und
high(v) bezeichnet werden. Hat ein nichtterminaler Knoten v einen kleineren Index als ein Zweiter nichtterminaler Knoten v 0 , befindet er sich auch weiter oben im Graph, da Gleichung 6 gilt.
v 0 v ⇔ I(v 0 ) > I(v)
(6)
Soll eine logische Funktion als OBDD dargestellt werden, stehen die Knoten mit Index i für
die Variable xi der logischen Funktion. Um den Funktionswert für eine bestimmte Belegung zu
erhalten wird folgendermaen vorgegangen :
Die Auswertung wird bei der Wurzel begonnen. Bei der Auswertung eines beliebigen Knotens
vi wird das Kind low(vi ) gewhlt, wenn die Variable xi in der Belegung den Wert 0 hat. Entsprechend wird das Kind high(vi ) gewählt, wenn die Variable xi mit dem Wert 1 belegt ist. Der
Wert des Terminalknotens,der auf diese Weise erreicht wird, entspricht dem Wert der logischen
Funktion mit der gewählten Belegung.
9
Einfache Beispiele für geordnete binäre Entscheidungsdiagramme sind in den Abbildungen 5 und
6 gegeben.
Abbildung 6: einfache logische
Funktion [3]
Abbildung 5: kleinstes OBDD [3]
3.2
Eigenschaften
Graphen, die entsprechend dieser Definition aufgebaut werden, weisen spezielle Eigenschaften
auf. Zwei dieser Eigenschaften haben wichtige Folgen für OBDDs, die als adiabatische Schaltkreise in Hardware umgesetzt werden sollen und werden daher im Folgenden beschrieben.
Einen großen Vorteil bietet die Möglichkeit, binäre Entscheidungsgraphen zu reduzieren. Dabei
werden isomorphe Teilgraphen entfernt und Pfade von Knoten, die bei beliebigem Variablenwert
zum gleichen Knoten führen zusammengefasst. Ein Beispiel ist in den Abbildungen 7 und 8
gezeigt.
Der so entstandene reduzierte Graph ist eine kanonische Darstellung der logischen Funktion, das
heißt er ist eindeutig.
10
Abbildung 7: OBDD vor der Re-
Abbildung 8: OBDD nach der
duktion [3]
Reduktion [3]
Die zweite Eigenschaft schränkt die Nutzungsmöglichkeiten und die Flexibilität der binären Entscheidungsdiagramme ein. Es zeigt sich, dass die Komplexität eines Graphen von der Anordnung
der Eingangsvariablen abhängt, was als Ordnungsproblem bezeichnet wird. Ein Beispiel ist in
den Abbildungen 9 und 10 gezeigt.
Abbildung 9: OBDD mit optima-
Abbildung
10:
OBDD
ler Anordnung der Eingangsva-
schlechter
Anordnung
riablen [3]
Eingangsvariablen [3]
mit
der
Es lässt sich kein Algorithmus finden, der dieses Ordnungsproblem schnell lösen kann. Allerdings
kann ein Mensch mit etwas Erfahrung schnell gute Lösungen finden. Daher kann dieses Problem
auch maschinell mit geeigneten Heuristiken gut gelöst werden. Das trifft jedoch nicht für beliebige Funktionen zu, da sich gezeigt hat, dass es Funktionen gibt, die sich nicht gut ordnen lassen.
Die Größe eines binären Entscheidungsdiagramms einer solchen Funktion wächst dann immer
exponentiell mit der Anzahl der Variablen. Bryant führt hier als Beispiel die Integermultiplikation an und beweist im Anhhang, dass ein binärer Entscheidungsgraph für diese Funktion eine
exponentielle Größe in Abhängigkeit der Faktorenlänge besitzt.
11
3.3
Hardwareumsetzung adiabatischer Schaltkreise
Die binären Entscheidungsgraphen bieten eine gute Möglichkeit, adiabatische Schaltkreise in
Hardware umzusetzen. Um eine gegebene Funktion zu realisieren reicht es, die Knoten des entsprechenden OBDD als Schalter mit Hilfe von Transistoren zu realisieren. Diese Schaltknoten
werden dann von den Signalen angesteuert, die für die entsprechende Variable stehen.
Zunächst muss die Kapazität des gesamten OBDD Schaltkreises beim Einschalten aufgeladen
werden. Bei einer konkreten Berechnung wird dann allerdings nur der Pfad entladen, der durch
die Belegung im Graphen vorgegeben ist. Diese änderung kann dann an den Ausgängen detektiert werden. Die Kapazität aller anderen Knoten bleibt unverändert. Es werden also nur die
Kapazitäten umgeladen, die für die Berechnung wirklich nötig sind. Daher stellen binäre Entscheidungsdiagramme eine Hardwareumsetzung adiabatischer Schaltkreise dar.
4
Adiabatische Multiply-Accumulate-Einheit
Ein zentraler Bestandteil in der digitalen Signalverarbeitung stellen digitale Filter dar. Mit diesen Filtern ist es möglich, gezielt einzelne Frequenzen in einem Signal zu verstärken bzw. abzuschwächen und so zum Beispiel störende Effekte wie etwa Rauschen zu minimieren oder sogar
ganz zu entfernen. Eine Filtergleichung die dazu in der Lage ist, erfordert das Aufsummieren
von Produkten, wie in Gleichung 7 erkennbar ist. Hierbei ist m die Anzahl der Stufen, c die
Filterkoeffizienten, x das Eingangssignal und y das berechnete Ausgangssignal.
y[k] =
m
X
c[i] ∗ x[k − i]
(7)
i=0
Um diese Berechnungen möglichst schnell durchführen zu können, werden Multiply-AccumulateEinheiten (MAC) verwendet, die eine Multiplikation und eine Addition in einem Takt durchführen
können. Daher sind diese Bauteile die Hauptursache für die Energieverluste in Signalverarbeitenden Systemen und eine Energierückgewinnung ist hier besonders lohnend.
Der Aufbau einer MAC-Einheit ist in Abbildung 11 dargestellt. Zunächst wird die Anzahl der
Partialprodukte in einer Recodierstufe verringert. Anschließend werden die verbleibenden Produkte in einer Kompressorstufe auf zwei Zwischenergebnisse reduziert, welche abschließend mit
einem Addierer zusammengefasst werden.
Im folgenden soll ein Überblick darüber gegeben werden, wie sich dieser Aufbau mittels adiabatischer Schaltkreise umsetzen lässt, wobei nur auf das Grundprinzip eingegangen wird. Eine
konkrete Hardwareumsetzung erfordert zusätzliche Anpassungen in der Ansteuerung und Ergebnisdetektion der adiabatischen Schaltkreise, welche in [1] im Einzelnen aufgeführt sind.
12
Abbildung 11: Schematischer Aufbau einer Multiply-Accumulate-Einheit
4.1
Booth - Recoder
Um den anfänglichen Aufwand an erforderlichen Rechenoperationen zu verkleinern, werden
zunächst die ursprünglichen Faktoren der Multiplikation mit dem Verfahren von Booth umkodiert. Dabei kann die Anzahl der Partialprodukte von n2 auf ≈ 21 n2 reduziert werden. Klassisch
wird dieses Verfahren mit einem Recodierer und zwei Multiplexern umgesetzt, wie in Abbildung
?? dargestellt.Diese bestehen dabei aus mehreren kleineren logischen Gattern und sind in einer
Pipelinestruktur umgesetzt, was eine zusätzliche Anzahl Zwischenspeicher erfordert. Für die Umsetzung mittels adiabatischer Logik wird ein binäres Entscheidungsdiagramm verwendet, wie in
Abbildung 13 dargestellt. Dieses OBDD realisiert die gleiche Funktionalität, wie ein klassischer
Rekodierer. Die Umkodierung der Eingabe findet dabei in den ersten drei Ebenen statt. Die 4.
Ebene ist für die rekodierten Werte von −2, −1, 0, 1, 2 zuständig und die Multiplexer werden
durch die restlichen Knoten umgesetzt.
13
4.2
Abbildung 12: Booth-Recoder in
Abbildung
13:
klassischer Umsetzung
Booth-Recoder
adiabatischer
Reduktionsstufe
Die Reduktion der verbleibenden Partialprodukte wird klassisch mit Hilfe von Wallace oder
Dadda Bäumen erreicht, wie in Abbildung 14 dargestellt. Diese bestehen aus sehr vielen einzelnen
Addierern, also sehr vielen kleinen Gattern. Sie können massiv parallel arbeiten, enthalten in der
Pipelineversion jedoch auch viele Zwischenspeicher.
Abbildung 15: Reduktion von
Abbildung 14: Wallace-Tree für
15x15 Bit mittels 15:4 Zähler
15x15 Bit
und Addierern
Adiabatisch wird die Reduktion mit einem komplexen Zähler realisiert, der in drei Stufen arbeitet
und dabei einen 15:4 Zähler und zwei Volladdierer verwendet. Die Komplexität der Schaltung
nimmt in dieser Umsetzung auch nur linear in der Eingabelänge zu.
14
Abbildung 16: Aufbau eines Zählers mit OBDDs
4.3
Abschließender Addierer
Um auch den abschließenden Addierer möglichst effizient in adiabatischer Technik umsetzen zu
können, muss vor allem darauf geachtet werden, dass wenige Pipelinestufen verwendet werden,
wenn sie auf Grund der Bitweite nötig sind, und dass die Höhe eines OBDD, dass die Addition
realisieren kann, möglichst gering ist.
Nach der Diskussion verschiedener Ansätze, wird in [1] festgestellt, dass es optimal ist, einen
2-stufigen carry-select Addierer mit minimaler Transistorhöhe zu verwenden, wie in Abbildung
17 dargestellt.
Abbildung 17: Aufbau des abschließenden CSA
15
5
Zusammenfassung
Es ist schon seit längerem bekannt, dass auf Grund der physikalischen Prinzipien, die der Informationsverarbeitung zu Grunde liegen grundsätzlich keine Energie notwendig ist, um diese
durchzuführen, sofern keine Löschvorgänge stattfinden. Um diese Tatsache ausnutzen zu können
ist es allerdings notwendig, neue Technologien für die Hardwareumsetzung zu verwenden.
Einerseits muss dabei berücksichtigt werden, dass unabhängig von der Theorie Energieverluste
in realen Schaltungen auftreten, da sich keine idealen Bedingungen umsetzen lassen. Um diese
Verluste zu minimieren, muss der Lade- und Entladevorgang von Gattern entsprechend angepasst
werden. Diese Anpassung wird als adiabatisches Umladen bezeichnet und lässt sich näherungsweise schon mit sehr einfachen Spannungsverläufen, wie zum Beispiel einem Sinus, vergleichsweise
einfach umsetzen.
Andererseits müssen Löschvorgänge weitestgehend vermieden werden. Dazu sind im Laufe der
Zeit verschiedene Ansätze, wie zum Beispiel adiabatische Logikfamilien, entwickelt worden. Die
hier vorgestellte MAC-Einheit verwendet als Grundlage jedoch eine spezielle graphische Darstellung logischer Funktionen. Diese gewurzelten, gerichteten und azyklischen Graphen werden als
binäre Entscheidungsdiagramme bezeichnet und sind in vielen Fällen kompakt und einfach zu
handhaben. Zudem können sie einfach und mit vergleichsweise wenigen Transistoren in Hardware
umgesetzt werden.
Eine MAC-Einheit besteht aus drei Stufen : einem Rekodierer, einem Kompressor und einem
abschließenden Addierer. Sie stellt einen Hauptbestandteil in signalverarbeitenden Systemen dar
und ist auch für einen Großteil der auftretenden Energieverluste verantwortlich. Werden die
Stufen jedoch mit Hilfe adiabatischer Schaltkreise umgesetzt, die auf OBDDs basieren, sind erhebliche Energie- und Platzeinsparungen möglich, wie in der Tabelle zu erkennen ist. Ein Nachteil
der hierfür in Kauf genommen werden muss ist, dass die Taktraten auf Grund der verwendeten
Technologie stärker eingeschränkt sind, als es bei CMOS-Logik der Fall ist.
16
CMOS
adiabatisches
vorgestelltes
MAC
MAC
Design
17,6
1,57
0,73
-
1,12
0,28
Pipelinestufen
2
8
3
Latenz (Takte)
2
4
1,5
100
66
66
-
773
190
58000
14500
10450
Gesamtverluste (pJ)
nicht adiabatische
Verluste (pJ)
max. Frequenz (MHz)
Latches
Transistoren
Der hier vorgestellte Ansatz bietet also keine uneingeschränkte überlegenheit gegenüber konventionellen Systemen. Wenn eine niedrigere Taktrate akzeptiert werden kann und die Energieeffizienz eine wichtige Rolle für das System spielt, können mit der vorgestellten Technik jedoch
deutliche Vorteile gewonnen werden.
17
Literatur
[1]
Suvakovic, Dusan ; Salama, Andre T. :
Energy Efficient Adiabatic Multiplier-Accumulator Design,
Journal of VLSI Signal Processing : 33, 83-103, 2003
[2]
Schlachta, Clemens :
Dissertation : Ein Verfahren zur Verbesserung der Energieeffizienz durch
Ladungsrückgewinnung in Digitalschaltungen, 2007
[3]
Bryant, Randal E. Graph-Based Algorithms for Boolean Function Manipulation,
IEEE Transactions on Computers, C-35-8, 677-691, 1986
[4]
Wikibooks
:
Bauelemente
:
R-C-L
:
Kondensatoren
http://de.wikibooks.org/wiki/Bauelemente/ R-C-L/ Kondensatoren
18
Herunterladen