power aspects in heigh-perheigh-performance ance processor ... · power aspects in power aspects in...
TRANSCRIPT
Power Aspects in Power Aspects in Heigh-Performance Heigh-Performance Processor DesignProcessor Design
Priv.-Doz. Dr. Silvia M. MüllerIBM Bö[email protected]
Uni Saarbrücken, Jan / 27 / 2004Uni Saarbrücken, Jan / 27 / 2004
18.02.04 1
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Rechnerarchitektur: ThemenRechnerarchitektur: Themen
Wie funktioniert ein Rechner und seine KomponentenAddierer, Floatingpoint-Einheit, Graphic-Einheit, .... Befehlsausführung, Speicheranbindung, ...
Beschleunigen von DesignsVerschiedene Implementierungen von Komponenten / FunktionenParallelisieren der VerarbeitungSchätzen / vorhersagen und mgl. korrigieren
Bewerten und Optimieren von DesignsSatz verschiedener Gatter: Inverter, Nand, Nor, ...Technologieunabh. Verzögerung und Fläche eines Gatters
Relativ zu Delay / Transitoranzahl eines Inverters
Korrektheit des Designs
18.02.04 2
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Rechnerarchitektur & IndustrieRechnerarchitektur & Industrie
Herausfordernde Aufgaben für talentierte, gut ausgebildete Absolventen
Hardwareentwicklung in DeutschlandIBM, Infineon, Etas (Bosch), Motorola, ....
Hardwareentwicklung - IBM BöblingenHeigh-Performance Prozessoren für
Spielekonsolen, Desktop-Systeme und Highend ServerEntwickeln von vollständigen Systemen
ParallelrechnerSpeicheranbindung und I/ORAS: zuverlässig, geringe Ausfallzeit, leicht zu wartenTechnologie
Hand in Hand mit Software- und Anwendungsentwicklung
18.02.04 3
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Tripple ConstraintTripple Constraint
Ziel: 2-fache Performance bei 1/2 Area und 1/2 Power
Performance: Frequenz / Laufzeit von AnwendungenAnwendung doppelt so schnellFrequenz um x% steigern
Price / Chip-AreaSenken der Systemkosten -> Limit für Chipgrösse
PowerKühlen des SystemsLebensdauer der BatterieLimit an den Stromverbrauch des Prozessors
18.02.04 4
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
ÜberblickÜberblick
Performance Power TradeoffsCircuit-OptimierungenLogik-Optimierungen
Gating: Abschalten von Komponenten nach BedarfGranularität: Gatter ... Unit ... Prozessor ... SystemReaktionszeit: pro Takt .... Sekunden ... Minuten
Reduzieren des Leckstroms - Forschung
Zusammenfasung & Ausblick
18.02.04 5
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Strom zum Schalten der KomponentenWenn Gatter den Zustand wechseltAbhängig von der Anwendung
Stromverbrauch durch KurzschlüsseKurzfristig beim Schalten einiger Gatterarten Durch fehlerhafte Logik / Circuits
LeckstromGatter schalten nicht vollständig ab
PowerPower
18.02.04 6
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Balanziertes DesignBalanziertes Design
Arbeit gleichmässig verteilen über die Takte / StufenLangsamste Teilrechung bestimmt die Cycle-TimeVerschieben der Registergrenzen
Datenfluss
Beschleunigen des kritschen PfadesAnpassen der TransitorgrösseSchnellere Logik- / Circuit-Umsetzung
Downsizing der unkritischen Pfade
-> Power steigt
-> Power sinkt18.02.04 7
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Ciruit OptimierungenCiruit Optimierungen
Verändern der Transitor-GrösseAspekt-Ratio: Länge, Breite
z.B.: geringerer Widerstand für kurzen, breiten DrahtSchaltverhalten: Last am Datenausgang
z.B.: Inverter kann etwa 4 Inverter seiner Grösse treibenGrösse der Transitoren der Last anpassenGrössere Devices benötigen mehr Power
Verschiedene ImplementierungenStatischen vs. Dynamisches RAMAnd-Or-Mux vs. Transmission-Gate-Mux....
Verschiedene Circuit-Familien
18.02.04 8
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Mutiplexor Designs (I)Mutiplexor Designs (I)
r = a if (s = 01) b if (s = 10)
s(1)s(0) ba
r
And-Or-Mux TG-Mux (transmission gate)2-Port Mux
yx
Schaltverhalten:a = 0, b = 1 s(1)
s(0)
xy
r b a
s(1)
s(0)
xy
r b a
Kurzschluss
Latenz abhängig von # Ports: steigt logarithmisch steigt gering / konstant
s(1)
s(0) rb
a x
y
18.02.04 9
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
And-Or MuxGeringere Power als TG-MuxBeliebige Select-Signale erlaubt -> sicherer
TG-MuxSchneller als And-Or-Mux
4-port Mux: etwa Faktor 30% schnellerVorteil steigt mit # Ports
Kurzzeitiger Kurzschluss beim Umschalten der SelectsUrsache für höhere Power
Select-Signale müssen orthogonal seinKurzschluss möglich wenn mehrere Ports aktiviert werdenGefahr für die Schaltung und den ChipVerifikation
Tradeoff zwischen Performance & Power
Multiplexor Designs (II)Multiplexor Designs (II)
18.02.04 10
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Logik-OptimierungenLogik-Optimierungen
Reduzieren der Latenz zu Lasten der PowerVorberechnen von 2 Alternativen und später selektieren
z.B.: Conditional-Carry-AdderVorhersage und korrigieren falls notwendig
z.B.: Branch-Prediction, Leading-Zero-Anticipator .....
Reduzieren der Latenz und PowerCompound-Adder: berechnen von a+b und a+b+1End-Around-Carry für Abs(x)Sum-addressed Cache / Shifter
Kombinieren von Addition und Dekodiere...
18.02.04 11
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Conditional Carry PrinzipConditional Carry Prinzip
Carry-Berechnung ist zeitkritischCarry-Pfad in der Mitte aufbrechen: Berechnen der Summe für Carry 0 und 1Latenz etwa halbiert, Area / Power etwa 30% höher
Verfahren kann rekursiv angewendet werdenLogarithmische Tiefe für einen n-bit Addierer
Ripple-Carry Adder4-bit
s(3)
FA
FA
FA
FA
cina(0) b(0)
a(1) b(1)
a(2) b(2)
a(3) b(3)
s(2)
s(0)
s(1)
a(2:3) b(2:3)
s(0:1)
Add2
1a(2:3) b(2:3)
Add2
0a(0:1) b(0:1)
Add2
cin
1 0
cout, s(2:3)cout
Conditional Carry Adder: 4-bit
18.02.04 12
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Conditional Select PrinzipConditional Select Prinzip
Verallgemeinerung des Conditional-Carry PrinzipsVorberechnen von 2 Versionen des Ergebnisses
Zeitkritischer Input wird auf 0 bzw 1 gesetztOptimieren der Schaltung SK für c=0 bzw c=1
Auswählen des Ergebnisses mit Hilfe von Signal cLaufzeit wird reduziert, Kosten steigen an
a cb
SK kritischer Pfad
1 0
a b 1
SK'
a b 0
SK'
c
18.02.04 13
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
End-Around-Carry (EAC)End-Around-Carry (EAC)Absoluten Differenz zweier n-bit Binär-Zahlen
abs(x-y) = x-y if x>y x-y = x + !y +1 (modulo 2n) -x+y else -x+y = !(x + !y )
Conventionell:!y
0x
1 0
abs(x-y)=r
Adder (n-bit)s+1 s
EAC:
Einsparen der Latenz des Incrementers (etwa 30%)Einsparen der Power des Incrementers
Adder (n-bit)
!y1
x
0 1
Inc (n)
abs(x-y)=r
18.02.04 14
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
End-Around-CarryEnd-Around-Carry
Rechnung in 2's Complement, modulo 2n
-a = !a +1 => !a = -a -1
! ( x + !y) = -(x + !y) -1 = -x - (!y + 1)
= -x - (-y) = y -x
x > y <=> cout(x + !y) = 1gleiche führende Stellenerstes Bit mit x(i) != y(i)da x, y positiv gilt x(i)=1, y(i)=0
!y0
x
1 0
abs(x-y)=r
Adder (n-bit)s+1 s
y-xx-y
x = x(n-1:i-1) 1 *.....* y = x(n-1:i-1) 0 #....#x+ !y > 1..........1 1 0.....0 +1
18.02.04 15
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
ÜberblickÜberblick
Performance Power TradeoffsCircuit- und Logic-Optimierungen meist zu Lasten der PowerWenige Optimierungen sind Power neutralPower einsparen: Downsizing auf unkritischen Pfaden
Abschalten von Komponenten nach Bedarf
Reduzieren des Leckstroms - Forschung
Zusammenfasung & Ausblick
18.02.04 16
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Abschalten von HardwareAbschalten von Hardware
Rechner besteht aus vielen KomponentenProzessor (einer / mehrere)Mehrstufige Speicheranbindung
Cache, Controller, Memory, DiskI/O-Anbindung: Controller und Devices
z.B.: Tastatur, Bildschirm,
Auslastung der Komponenten abh. von der Anwendung
Idee:Komponenten je nach Bedarf an- und abschaltenBesonderns wichtig bei portablen Geräten
Abschalten: was und wie ?
18.02.04 17
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Abschalten aber wie?Abschalten aber wie?
Abschalten der StromversorgungEinschalten dauert lange
Power / Clock ramp-up, InitialisierenDaten in Speicher und Register gehen verloren
Retten und Restaurieren von DatenNur gesamte Chips oder Bausteine
Abschalten oder runtertakten der ClockLokale Daten bleiben erhalten (ausser Dynamische Speicher)Einschalten: ramp-up der Clock im ms-BereichSeparate Clock-Grids notwendigGrosse Blöcke auf einem Chip
Lokales Gaten der ClockClock wird am Register-Eingang aktiviert / deaktiviertFeinste Granularität: pro RegisterUmschalten pro Takt möglich ohne Clock ramp-up
18.02.04 18
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Power Save ModesPower Save Modes
Hibernate-ModeRechner lange idle, (Zeitschranke)Abschalten der Stromversorgung => 0 PowerRetten aller Daten auf Festplatte: Speicher & RegisterinhalteReaktionszeit: mehrere Minuten
Sleep-ModeDaten bleiben im Speicher und den RegisternPeriferie abschalten: Treiber, Festplatte, Bildschirm, ...Prozessor runterfahren soweit möglich
Check für Tastatureingabe bleibt aktivKürzere Reaktionszeit: Sekunden
Power einsparen wenn Rechner kurzfristig nicht genutzt
18.02.04 19
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Clock GatingClock Gating
Wie funktioniert dasClock-Signal wird am Register mit Activate verknüpftLokale Clock des Register nur aktiv
wenn Clock schwingt und wenn Activate auf 1
Warum spart das Power ?Clock des Registers deaktiviert -> Daten-Output bleibt stabilInputs für nachfolgende Logic stabil
kein Umschalten der Gatter -> Einsparen von Power
Gating auf Register-Ebene, Steuerung pro Takt
n-bit Registerclockactivate
18.02.04 20
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
1. Gaten einer gesamten Unit UTest: Opcode der Instruktion
Unit aktiviert sobald eine Instruktion für U bearbeitet wirdAlle Register in U aktiviert mit Unit-activate
Spart Power wenn Unit nicht benutzt wird
Gating: GranularitätGating: Granularität
(1)
18.02.04 21
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
1. Gaten einer gesamten Unit USpart Power wenn Unit nicht benutzt wird
2. Gaten von PipelinestufenTest: aktivieren anhand von einem Valid Bit
Nur Stufen mit gültiger Instruktion werden aktiviertSpart Power wenn Unit nicht voll ausgelastet
Gating: GranularitätGating: Granularität
logic
valid
logic
(1) (2)
18.02.04 22
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
1. Gaten einer gesamten Unit U2. Gaten von Pipelinestufen innerhalb der Unit3. Gaten von Komponenten innerhalb einer Pipelinestufe
Test: anhängig von Instruktion und DatenVerfeinern des valid-Bits
Mehrere Aktivate-Bits pro Pipeline-StufeSpart Power selbts wenn Unit voll ausgelastet ist
Gating: GranularitätGating: Granularität
(1) (2) (3)
18.02.04 23
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Gemeinsame Operand-RegisterErste Stufe der Blöcke gemeinsam aktiviert
Getrennte Operand-RegisterAdder, Logic-Unit und Shifter einzeln zu aktivierenLohnt die extra Hardware? Power / Area Tradeoff
Gating: ALUGating: ALU
Adder Logic Shifter Adder Logic Shifter
18.02.04 24
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Abhängig von Instruktionen und DatenWelche Teile des Prozessor / der Einheit werden benötigtWie kann der Rest abgeschaltet werdenIst zum Abschalten zusätzliche Hardware notwendig
Rentiert sich die extra Hardware fürs Gatingz.B.: extra Register um funktionale Blöcke abzukoppelnEvaluierung anhand von Anwendungen
Verifikation des GatingFunktional: berechnet die Hardware noch das richtigeWird alles abgeschaltet wie geplant
Gating - FragestellungenGating - Fragestellungen
18.02.04 25
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
ÜberblickÜberblick
Performance Power Tradeoffs
Abschalten von Komponenten nach BedarfAnfangs Abschalten von ganzen Chips
Einsparen von Power wenn System nicht ausgelastetGating bis auf Register-Ebene / innerhalb von Pipe-Stufen
Einsparen von Power wenn System ausgelastet ist
Reduzieren des Leckstroms - Forschung
Zusammenfasung & Ausblick
18.02.04 26
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
A. Abdollahi, F Fallah, M Pedran, ISQED-2003Leakage Current Reduction ... by Modifying the Scan Chain
BeobachtungLeckstrom eines Gatters abh. von den InputsGeeigneten Inputs kann Leckstrom von Schaltungen um 35% - 50% reduzierenGute Input-Belegungen können berechnet werden
low leakage vector LLV
Wie kann man Schaltung in LLV versetzen?
Reduzieren des LeckstromsReduzieren des Leckstroms
18.02.04 27
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Input-Multiplexor MethodeMux hinter jedem Register um LLV anzulegenVorteil: einfach über select-Signal zu steuernNachteil: Latenz der Schaltung steigt an
Reduzieren des LeckstromsReduzieren des Leckstroms
register Rin (inputs for C)
combinatorial circuit C
1 0sl
llv(0)
1 0sl
llv(1)1 0sl
llv(n)
18.02.04 28
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Scan-MethodeAlle Register sind für Test als grosse Schieberegister organisiert
Scan-Chain ist um die 1000 Bits langEinscannen der LLV Wertes in die RegisterVorteil:
Latenz der Schaltung bleibt gleich, keine extra Hardware
Nachteil: viele extra Takte Switching bis LLV am richtigen OrtPower-Verlust beim Scannen grösser als Einsparung durch LLV ?
Reduzieren des LeckstromsReduzieren des Leckstroms
LCB
sgclk act
lclk
scan_in di(0)
do(0)
latchbit
di(1)
do(1)
latchbit
di(2)
do(2)
latchbit
di(n-1)
do(n-1)
latchbit
...scan_out
n-bit scan register
muxsg muxsg muxsg muxsg
18.02.04 29
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Modifizierte Scan-MethodeSpezielle Scan-Register mit 2tem parallelem Daten-PortLLV wird über neuen Port eingelesen als specielle Scan-FunktionVorteil:
Latenz der Schaltung bleibt gleichEinlesen in einem Takt unabh. von der Länge der Scan-Chain
Nachteil: Umschalten in Scan-Mode
Reduzieren des LeckstromsReduzieren des Leckstroms
LCB
sgclk act
lclk
di(1)
do(1)
di(2)
do(2)
di(n-1)
do(n-1)
...scan_out
scan_indi(0)
do(0)
latchbit
muxsl
muxsg
mlv(0)
latchbit
muxsl
muxsg
mlv(1)
latchbit
muxsl
muxsg
mlv(2)
latchbit
muxsl
muxsg
mlv(n-1)
llven
18.02.04 30
S.M. Müller 01/27/04 Power Aspects in High Performance Processor Design
Überblick & AusblickÜberblick & Ausblick
Performance Power TradeoffsAbschalten von Komponenten nach Bedarf
Reduzieren des Leckstroms - ForschungKann man den Scan-Mode vermeiden ?Wann wird LLV in Register transferiert ?
Kann Applikation Hilfestellung geben?
Power-Saving für Hochleistungs-RechnerAufwand für Power-Management steigtForschung auf vielen Gebieten nötig
TechnologieBessere Circuit- & Logik-VerfahrenKann OS / Anwendung Hilfestellungen geben
18.02.04 31