-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft im Allgemeinen digitale Latch-Schaltungen und insbesondere eine Niedrig-Takt-Energie-Latch-Schaltung (low-clock-energy latch circuit), welche vollständig statisch ist.
-
BESCHREIBUNG DER BETREFFENDEN TECHNIK
-
Energie-Dissipation ist ein signifikantes Problem in konventionellen integrierten Schaltungen. In vielen Anwendungen ist die Performanz von integrierten Schaltungsgeräten mittels der Menge von Energie, welche mittels der Schaltung verbraucht wird, welche eine Funktion implementiert, anstatt mittels der Fläche der Schaltung begrenzt. Ein großer Anteil der in konventionellen digitalen integrierten Schaltungen dissipierten Energie wird in dem Takt-Netzwerk (clock network) verbraucht. Die Menge an Energie, welche mittels Flip-Flops aufgrund von Datenübergängen verbraucht wird, ist gering, weil der Aktivitätsfaktor, der Anteil von Zeit, bei welchem die Dateneingabe des Flip-Flops umschaltet (toggles), ziemlich gering ist, typischerweise ungefähr 5 bis 10%. Im Gegensatz dazu ist die Takt-Eingabelast (clock input load) und die Takt-Energie (clock energy) eine besonders wichtige Metrik zum Bestimmen der Energie, welche mittels der Latches und Flip-Flops verbraucht wird. Somit erzeugt ein Reduzieren der Takt-geschalteten Kapazität (clock-switched capacitance) um einen gegebenen Betrag ein 10- bis 20-faches der Energieeinsparung verglichen mit einem Reduzieren der Daten-geschalteten Kapazität um denselben Betrag.
-
Konventionelle Latches werden häufig als ein Passier-Gate-Latch (pass-gate latch) mit einer Drei-Zustand-Rückkopplung gebaut, um eine statische Schaltung zu erzeugen. Solch ein Design erfordert einen lokalen getakteten Inverter (oder zwei), um beide Polaritäten des Takts zu erzeugen, und hat zwei Taktlasten (clock loads) jeweils an dem Passier-Gate und dem Rückkopplung-Gate, was eine totale Taktlast von sechs oder acht Transistorgeräten ergibt.
-
1 illustriert einen konventionellen NOR-Latch 100, welcher mit AND-OR-Invertier-(AOI)-Gates implementiert ist. Der Latch 100 ist transparent, wenn die clk-(Takt)-Eingabe hoch ist, so dass die d-Eingabe hindurch zu der q-Ausgabe passiert. Wenn die clk-Eingabe niedrig ist, wird der Level der d-Eingabe gespeichert und q bleibt der gespeicherte Level der d-Eingabe bei der q-Ausgabe. Jedes der AND-Gates präsentiert eine Taktlast von zwei Transistor-Gates für eine totale Taktlast von vier Transistorgeräten.
-
2 illustriert eine Latch-Schaltung 200 entsprechend dem konventionellen Latch 100, welcher in 1 gezeigt ist. Die totale Taktlast, welche dem Clk 220 präsentiert ist, ist vier Transistorgeräte. Die totale Anzahl von Transistoren ist 16, wobei jeder von den Invertern 222 und 224 zwei Transistoren umfasst.
-
Demgemäß ist, was benötigt wird in der Technik, eine Latch-Schaltung, welche die Takt-Energie dadurch reduziert, dass die Kapazität von Takt-Lasten reduziert wird. Zusätzlich sollte die Latch-Schaltung unabhängig von Fabrikationsprozess-Variationen funktionieren.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine Ausführungsform der vorliegenden Erfindung führt eine Technik zum Erfassen und Halten eines Levels eines Eingabesignals unter Benutzung einer Niedrig-Takt-Energie-Latch-Schaltung aus, welche vollständig statisch ist. Der Takt wird nur mit einem ersten Takt-aktivierten Pullup- oder Pulldown-Transistor und einem zweiten Takt-aktivierten Pulldown- oder Pullup-Transistor gekoppelt. Der Level des Eingabesignals wird mittels einer Speicher-Teilschaltung auf der ansteigenden oder der abfallenden Taktkante erfasst und gespeichert, um ein Ausgabesignal zu erzeugen, bis der Takt übergeht (transitions). Der Level des Eingabesignals wird auf das Ausgabesignal propagiert, wenn die Speicher-Teilschaltung nicht aktiviert ist. Die Speicher-Teilschaltung wird aktiviert und deaktiviert mittels des ersten Takt-aktivierten Transistors und eine Propagation-Teilschaltung wird aktiviert und deaktiviert mittels des zweiten Takt-aktivierten Transistors.
-
Verschiedene Ausführungsformen der Erfindung weisen eine Niedrig-Takt-Energie- und vollständig statische Latch-Schaltung auf, welche eine Speicher-Teilschaltung und eine Propagation-Teilschaltung umfasst. Ein Taktsignal wird nur mit einem ersten Takt-aktivierten Pullup-Transistor und einem zweiten Takt-aktivierten Pulldown-Transistor gekoppelt, umfasst in der Niedrig-Takt-Energie- und vollständig statischen Latch-Schaltung. Die Speicher-Teilschaltung ist konfiguriert, einen Level eines Eingabesignals zu erfassen, wenn das Taktsignal von hoch nach niedrig übergeht, und den Level zu halten, um ein Ausgabesignal zu erzeugen, während das Taktsignal niedrig ist, wobei der erste Takt-aktivierte Pullup-Transistor die Speicher-Teilschaltung aktiviert (enables), wenn das Taktsignal niedrig ist, und die Speicher-Teilschaltung deaktiviert (disables), wenn das Taktsignal hoch ist. Die Propagation-Teilschaltung ist konfiguriert, das Eingabesignal zu empfangen und den Level des Eingabesignals zu propagieren, um das Ausgabesignal zu erzeugen, während das Taktsignal hoch ist, wobei der zweite Takt-aktivierte Pulldown-Transistor die Propagation-Teilschaltung aktiviert, wenn das Taktsignal hoch ist, und die Propagation-Teilschaltung deaktiviert, wenn das Taktsignal niedrig ist.
-
Ein Vorteil der offenbarten Latch-Schaltung ist, dass die Transistorgerätelast auf nur zwei Transistor-Gates vermindert ist. Daher ist die Takt-Energie verglichen mit einer Latch-Schaltung, welche größere Lasten auf dem Taktsignal hat, signifikant vermindert. Die Latch-Schaltung ist auch vollständig statisch und stützt sich nicht oder erfordert nicht (does not rely) Größenbeziehungen (sizing relationships) zwischen den verschiedenen Transistoren. Daher ist der Latch-Schaltungsbetrieb robust, sogar wenn die Charakteristiken der Transistoren aufgrund der Fabrikationsprozesse variieren.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
So dass die Weise, in welcher die oben rezitierten Merkmale der Erfindung im Detail verstanden werden können, kann eine spezifischere Beschreibung der Erfindung, welche oben kurz zusammengefasst ist, durch Bezugnahme auf Ausführungsformen bereitgestellt werden, von welchen einige in den angehängten Zeichnungen illustriert sind. Es wird jedoch bemerkt, dass die angehängten Zeichnungen nur typische Ausführungsformen dieser Erfindung illustrieren und daher nicht zu betrachten sind, ihren Geltungsbereich zu limitieren, da die Erfindung auch andere gleicheffektive Ausführungsformen zulassen kann.
-
1 illustriert einen konventionellen Latch gemäß dem Stand der Technik;
-
2 illustriert eine Schaltung entsprechend dem konventionellen Latch, welcher in 1 gezeigt ist, gemäß dem Stand der Technik;
-
3A illustriert eine Niedrig-Takt-Energie-Latch-Schaltung, welche transparent ist, wenn das Taktsignal hoch ist, gemäß einer Ausführungsform der Erfindung;
-
3B illustriert eine Niedrig-Takt-Energie-Latch-Schaltung, welche transparent ist, wenn das Taktsignal niedrig ist, gemäß einem oder mehreren Aspekten der vorliegenden Erfindung;
-
4 ist ein Blockdiagramm, welches ein Flip-Flop illustriert, welcher unter Benutzung der in 3A und 3B gezeigten Niedrig-Takt-Energie-Latch-Schaltungen konstruiert ist, gemäß einem oder mehreren Aspekten der vorliegenden Erfindung;
-
5 ist ein Blockdiagramm, welches einen Prozessor/Chip einschließlich von Flip-Flops von 4 illustriert, in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Erfindung; und
-
6 ist ein Blockdiagramm, welches ein Computer-System illustriert, welches konfiguriert ist, einen oder mehrere Aspekte der vorliegenden Erfindung zu implementieren.
-
DETAILLIERTE BESCHREIBUNG
-
In der folgenden Beschreibung werden zahlreiche spezifische Details ausgeführt, um ein vollständigeres Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch für den Fachmann in der Technik ersichtlich sein, dass die vorliegende Erfindung ohne eines oder mehrere dieser spezifischen Details praktiziert werden kann. In anderen Fällen sind wohl bekannte Merkmale nicht beschrieben worden, um ein Verschleiern der vorliegenden Erfindung zu vermeiden.
-
3A illustriert eine Niedrig-Takt-Energie-Latch-Schaltung 300, welche transparent ist, wenn das Taktsignal, Clk 320 hoch ist, gemäß einer Ausführungsform der Erfindung. Die Latch-Schaltung 300 ist ein vollständig statischer, Takt-Energie-effizienter Latch, welcher dem Takt nur zwei Lasten präsentiert und welcher nicht von Transistorgerätgrößeanteilen (transistor device size ratios) abhängt. Mit nur zwei minimal in der Größe bemessenen Taktlasten (minimum sized clock loads) sollte die Latch-Schaltung 300 nur ein Drittel oder ein Viertel der Takt-Energie verbrauchen, welche mittels eines konventionellen Passier-Gate-Latches verbraucht wird. Die totale Anzahl von Transistoren, welche in der Latch-Schaltung 300 umfasst sind, ist 16, wobei jeder der Inverter 322 und 324 zwei Transistoren umfasst. Verglichen mit der Latch-Schaltung 200, welche dieselbe Anzahl von Transistoren hat, sind die Lasten auf dem Takt (loads an the clock) halbiert.
-
Wie in 3A gezeigt ist, sind Transistoren 301, 302, 303, 304 und 305 NMOS-Geräte und Transistoren 306, 307, 308, 309, 310, 311 und 312 sind PMOS-Geräte. Transistoren 304, 305, 311 und 312 sind konfiguriert als kreuzgekoppelte Inverter, welche eine Speicher-Teilschaltung bilden. Ein erster Inverter umfasst Transistoren 311 und 304 und ein zweiter Inverter umfasst Transistoren 312 und 305. Der Transistor 306 ist ein Takt-aktivierter Pullup-Transistor (clock-enabled pull-up transistor), welcher konfiguriert ist, die Speicher-Teilschaltung dadurch zu aktivieren, dass erlaubt ist, dass Strom von der Versorgungsspannung durch entweder Transistor 311 oder 312 fließt, wenn der Takt niedrig ist. Der Transistor 306 wird von beiden Invertern der Speicher-Teilschaltung geteilt oder gemeinsam benutzt (shared). Transistoren 302, 303, 307, 308, 309 und 310 und Inverter 322 bilden eine Propagation-Schaltung, welche das Eingabesignal d 321 zu dem Ausgangsignal Q 325 passiert. Der Inverter 324 isoliert Q 325 von der Speicher-Rückkopplungsschleife der Speicher-Teilschaltung. Wenn eine Aufstellungszeitgebung (setup timing) nicht kritisch ist, ist eine Synchronisation-Performanz nicht wichtig und die Last auf der Ausgabe Q 325 ist niedrig und statisch, Inverter 324 kann ausgelassen werden.
-
Der Transistor 301 ist ein Takt-aktivierter Pulldown-Transistor (clock-enabled pull-down transistor), welcher konfiguriert ist, die Propagation-Schaltung zu aktivieren, um das Eingabesignal d 321 hindurch zu dem Ausgabesignal Q 325 zu passieren, wenn clk 320 hoch ist. Transistor 301 und Transistor 306 sind von entgegen gesetzten Polaritäten, so dass entweder die Speicher-Teilschaltung aktiviert ist oder die Propagation-Schaltung aktiviert ist, um eine vollständig statische Schaltung zu erzeugen. Transistoren 311 und 312 sind Isolations-Transistoren 327. Das Gate und der Drain von Transistor 311 sind parallel verbunden (tied) mit dem Gate und Drain von Transistor 309. Diese Duplikation stellt zwei Source-Anschlüsse bereit, einer an Transistor 311 und einer an Transistor 309, welche sN 315 hochziehen oder hochsetzen (pullup), wenn s 318 niedrig ist. Trennen oder Aufteilen (splitting) dieser Source-Anschlüsse isoliert den Drain von Transistor 307 von dem Drain des Takt-aktivierten Pullup-Transistors 306. Ähnlich sind das Gate und der Drain von Transistor 312 parallel verbunden mit dem Gate und dem Drain von Transistor 310 und Transistor 312 ist konfiguriert, den Drain von Transistor 308 von dem gemeinsam verwendeten Takt-aktivierten Pullup-Transistor 306 zu isolieren. Knoten x 319 und xN 316 sind von dem gemeinsam benutzten Takt-aktivierten Pullup-Transistor 306 mittels der Isolations-Transistoren 311 und 312 isoliert. Umfassen von Transistoren 309 und 310 ermöglicht den Isolations-Transistoren 311 und 312, den Takt-aktivierten Pullup-Transistor 306 gemeinsam zu benutzen (share). Ohne die Isolations-Transistoren 311 und 312 würde ein zusätzlicher Takt-aktivierter Pullup-Transistor erfordert sein, was die Taktlast der Latch-Schaltung 300 um 50% erhöhen würde.
-
Wenn das clk 320 hoch ist, agieren die Transistoren 307 und 302 als Eingabeinverter, um das Komplement des Eingabesignals d 321 auf den Speicherknoten sN 315 zu treiben bzw. zu fahren (drive). Transistoren 303 und 308 agieren als ein Inverter, um das Komplement von dN 323 auf den Speicherknoten s 318 zu fahren. Transistor 309 deaktiviert das Heraufziehen (pull-up) von Speicherknoten sN 315, bis der Speicherknoten s 318 gefallen ist, um einen Kampf zwischen der Transistoren 304 und 307 zu vermeiden. Ähnlich deaktiviert der Transistor 310 das Heraufziehen (pull-up) von Speicherknoten s 318, bis der Speicherknoten sN 315 gefallen ist, um einen Kampf zwischen Transistor 308 und 305 zu vermeiden.
-
Wenn das clk 320 hoch ist, wird das Ausgabesignal Q 325 dem Level des Eingabesignals d 321 folgen, da der Eingabeinverter, welcher mittels der Transistoren 307 und 302 gebildet ist, das Komplement des Levels des Eingabesignals d 321 auf den Speicherknoten sN 315 fährt, und da der Eingabeinverter, welcher mittels der Transistoren 308 und 303 gebildet ist, den Level des Eingabesignals d 321 auf den Speicherknoten s 318 fährt (drives). Wenn das clk 320 fällt, erfasst die Speicher-Teilschaltung den Level des Eingabesignals d 321 und hält den Level, um das Ausgabesignal Q 325 zu erzeugen, während das clk 320 niedrig ist. Während das clk 320 niedrig ist, haben die Eingabeinverter innerhalb der Propagation-Teilschaltung (Transistoren 307 und 302 und Transistoren 308 und 303) keinen Effekt auf das Ausgabesignal Q 325. Der Takt-aktivierte Pulldown-Transistor 301 wird deaktiviert, wenn das clk 320 niedrig ist, was verhindert, dass das d Eingabesignal 321 den Steuerknoten sN 315 herunterzieht. Heraufziehen (pullup) des niedrigen Speicherknotens sN 315 oder s 318 wird jeweils mittels entweder des Transistors 309 oder 310 verhindert.
-
3B illustriert eine Niedrig-Takt-Energie-Latch-Schaltung 350, welche transparent ist, wenn das Taktsignal, clk 370 niedrig ist, in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Erfindung. Wie die Latch-Schaltung 300 ist die Latch-Schaltung 350 auch ein vollständig statischer, Takt-Energie-effizienter Latch, welcher nur zwei Lasten dem Takt präsentiert und welcher nicht von Transistorgerät-Größe-Verhältnissen abhängt. Mit nur zwei minimal in der Größe bemessenen Taktlasten sollte die Latch-Schaltung 350 nur ein Drittel oder ein Viertel der Takt-Energie verbrauchen, welche mittels eines konventionellen Passier-Gate-Latches verbraucht wird. Die totale Anzahl von Transistoren, welche in der Latch-Schaltung 350 umfasst sind, ist sechzehn, wobei jeder der Inverter 372 und 374 zwei Transistoren umfasst. Verglichen mit der Latch-Schaltung 200, welche dieselbe Anzahl von Transistoren hat, sind die Lasten auf dem Taktsignal, Clk 370 halbiert.
-
Wie in 3B gezeigt ist, sind Transistoren 351, 352, 353, 354, 355, 359 und 360 NMOS-Geräte und Transistoren 356, 357, 358, 361 und 362 sind PMOS-Geräte. Transistoren 354, 355, 361 und 362 sind als kreuzgekoppelte Invertoren konfiguriert, welche eine Speicher-Teilschaltung bilden. Ein erster Inverter umfasst Transistoren 361 und 354 und ein zweiter Inverter umfasst Transistoren 362 und 355. Der Transistor 351 ist ein Takt-aktivierter Pulldown-Transistor, welcher konfiguriert ist, die Speicher-Teilschaltung dadurch zu aktivieren, dass erlaubt wird, dass Strom zu Erde oder Masse durch entweder Transistor 354 oder 355 fließt, wenn der Takt hoch ist. Der Transistor 351 ist ein zwischen beiden Invertern der Speicher-Teilschaltung gemeinsam benutzter (shared) Transistor. Transistoren 352, 353, 357, 358, 359, 360 und Inverter 372 bilden eine Propagation-Schaltung, welche das Eingabesignal d 371 auf das Ausgabesignal Q 375 passiert. Der Inverter 374 isoliert Q 375 von der Speicher-Rückkopplungsschleife von Speicher-Teilschaltung 377. Wenn Einrichtungszeitgebung oder Setup-Zeit nicht kritisch ist, ist eine Synchronisation-Performanz nicht wichtig und die Last auf der Ausgabe Q 375 ist niedrig und statisch, Inverter 374 kann ausgelassen werden.
-
Der Transistor 356 ist ein Takt-aktivierter Pullup-Transistor, welcher konfiguriert ist, die Propagation-Schaltung zu aktivieren, um das Eingabesignal d 371 hindurch zu dem Ausgabesignal Q 375 zu passieren, wenn das clk 370 niedrig ist. Transistor 351 und Transistor 356 sind von gegensätzlichen Polaritäten, so dass entweder die Speicher-Teilschaltung aktiviert ist oder die Propagation-Schaltung aktiv ist, um eine vollständig statische Schaltung zu erzeugen. Die Gates von Transistor 360 und Transistor 355 sind miteinander gekoppelt und mit Knoten sN 365. Transistoren 354 und 355 sind Isolations-Transistoren 377. Das Gate und Drain von Transistor 354 sind parallel verbunden mit dem Gate und dem Drain von Transistor 359 und Transistor 354 ist konfiguriert, den Drain von Transistor 352 von dem gemeinsam benutzten Takt-aktivierten Pulldown-Transistor 351 zu isolieren. Ähnlich sind das Gate und Drain von Transistor 355 parallel verbunden mit dem Gate und Drain von Transistor 360 und Transistor 355 ist konfiguriert, den Drain von Transistor 353 von dem gemeinsam benutzten Takt-aktivierten Pulldown-Transistor 351 zu isolieren. Knoten x 369 und xN 366 sind von dem gemeinsam benutzten Takt-aktivierten Pulldown-Transistor 351 mittels der Isolations-Transistoren 354 und 355 isoliert. Ein Umfassen von Transistoren 359 und 360 ermöglicht, dass die Isolations-Transistoren 354 und 355 den Takt-aktivierten Pulldown-Transistor 351 gemeinsam nutzen.
-
Wenn clk 370 niedrig ist, agieren die Transistoren 357 und 352 als ein Eingangsinverter, um das Komplement von Eingangssignal d 371 auf den Speicherknoten sN 365 zu treiben bzw. zu fahren. Transistoren 353 und 358 agieren als ein Inverter, um das Komplement von dN 373 auf den Speicherknoten s 368 zu treiben. Transistor 359 deaktiviert das Herunterziehen (pull-down) des Speicherknotens sN 365, bis der Speicherknoten s 368 angestiegen ist, um einen Kampf zwischen Transistoren 361 und 352 zu vermeiden. Ähnlich deaktiviert der Transistor 360 das Herunterziehen von Speicherknoten s 368, bis der Speicherknoten sN 365 angestiegen ist, um einen Kampf zwischen Transistoren 353 und 362 zu vermeiden.
-
Während das clk 370 niedrig ist, wird das Ausgabesignal Q 375 dem Level des Eingabesignals d 371 folgen, da der Eingabeinverter, welcher mittels der Transistoren 357 und 352 gebildet ist, das Komplement von d 371 auf den Speicherknoten sN 365 treibt und da der Eingabeinverter, welcher mittels der Transistoren 358 und 353 gebildet ist, den Level von Eingabesignal d 371 auf den Speicherknoten s 368 treibt. Wenn das clk 370 ansteigt, erfasst die Speicher-Teilschaltung 377 den Level von Eingabesignal d 371 und hält den Level, um das Ausgabesignal Q 375 zu erzeugen, während das clk 370 hoch ist. Während das clk 370 hoch ist, haben die Eingabeinverter innerhalb der Propogation-Teilschaltung (Transistoren 357 und 352 und Transistoren 358 und 353) keinen Effekt auf das Ausgabesignal Q 355. Der Takt-aktivierte Pullup-Transistor 356 wird deaktiviert, wenn das clk 370 hoch ist, was verhindert, dass das d Eingabesignal 371 den Speicherknoten sN 365 hochzieht. Herunterziehen (pull-down) des hohen Speicherknotens sN 365 oder s 368 wird jeweils entweder mittels des Transistors 359 oder 360 verhindert.
-
4 ist ein Blockdiagramm, welches eine Flip-Flop-Schaltung 500 illustriert, welcher unter Benutzung der Niedrig-Takt-Energie-Latch-Schaltungen 300 und 350 konstruiert ist, welche in 3A und 3B gezeigt sind, in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Erfindung. Ein Taktsignal wird an die clk 320 Eingabe der Latch-Schaltung 300 und clk 370 der Latch-Schaltung 350 eingegeben. Weil Latch 350 bei niedrigem Takt transparent ist und Latch 300 bei hohem Takt transparent ist, kann ein Flip-Flop ohne das Erfordernis realisiert werden, den Takt zu invertieren. Der Speicherknoten s 368 von der Latch-Schaltung 350 ist mit dem Eingangssignal d 321 der Latch-Schaltung 300 gekoppelt und der Speicherknoten sN 365 von der Latch-Schaltung 350 ist mit dem Gate von Transistor 303 der Latch-Schaltung 300 gekoppelt (der Inverter 322 kann von der Latch-Schaltung 300 ausgelassen werden). Der Inverter 374 kann von der Latch-Schaltung 350 ausgelassen werden.
-
5 ist ein Blockdiagramm, welches einen Prozessor/Chip 540 einschließlich der Flip-Flop-Schaltung 500 von 4 illustriert, in Übereinstimmung mit einem oder mehreren Aspekten der vorliegenden Erfindung. I/O-Schaltungen 565 können Pads oder Felder und andere I/O-spezifische Schaltungen umfassen, um Signale von anderen Geräten in einem System zu senden oder zu empfangen. Ausgabesignal 555 ist mittels I/O-Schaltungen 565 basierend auf Signalen erzeugt, welche mittels der I/O-Schaltungen 565 empfangen sind. Das Eingabesignal 551 wird mittels der I/O-Schaltungen 565 empfangen und wird in die erste Flip-Flop-Schaltung 500 zur Speicherung eingegeben. Die I/O-Schaltungen 565 stellen auch Taktsignale für die Flip-Flop-Schaltungen 500 bereit. Die Kombinations-Schaltungen 570 empfangen die Ausgabe, welche mittels der ersten Flip-Flop-Schaltung 500 erzeugt ist, und erzeugen eine Kombinations-Ausgabe, welche mittels der zweiten Flip-Flop-Schaltung 500 empfangen ist. Die zweite Flip-Flop-Schaltung 500 speichert die Kombinations-Ausgabe und erzeugt eine Ausgabe, welche in die Kombinations-Schaltungen 572 eingegeben ist. Die Ausgabe der Kombinations-Schaltungen 572 wird mittels der dritten Flip-Flop-Schaltung 500 empfangen und gespeichert. Die dritte Flip-Flop-Schaltung 500 erzeugt eine Ausgabe, welche für die I/O-Schaltungen 565 bereitgestellt ist. Die Flip-Flop-Schaltungen 500 können benutzt werden, um Signale für mehrere Taktzyklen zu speichern oder um Signale in einer Reihe zu führen (pipeline), welche sich so oft wie jeder Taktzyklus ändert.
-
SYSTEMÜBERBLICK
-
6 ist ein Blockdiagramm, welches ein Computersystem 100 illustriert, welches konfiguriert ist, einen oder mehrere Aspekte der vorliegenden Erfindung zu implementieren. Computersystem 600 umfasst eine Zentralverarbeitungseinheit (CPU) 602 und einen Systemspeicher 604, welcher über einen Buspfad durch eine Speicherbrücke 605 kommuniziert. Speicherbrücke 605 kann in CPU 602 integriert sein, wie in 6 gezeigt ist. Alternativ kann die Speicherbrücke 605 ein konventionelles Gerät, z. B. ein Northbridge-Chip, sein, welches über einen Bus mit der CPU 602 verbunden ist. Speicherbrücke 605 ist über einen Kommunikations-Pfad 606 (z. B. ein HyperTransport Link) mit einer I/O (Input/Output-)-Brücke 607 verbunden. I/O-Brücke 607, welche z. B. ein Southbridge-Chip sein kann, empfängt Benutzereingabe von einem oder mehreren Benutzereingabe-Geräten 608 (z. B. Konsole, Maus) und leitet die Eingabe an CPu 602 über den Pfad 606 und die Speicherbrücke 605 weiter. Ein Parallel-Verarbeitungssubsystem 612 ist mit der Speicherbrücke 605 über einen Bus oder über einen anderen Kommunikations-Pfad 613 (z. B. ein PCI-Express, Accelerated Graphics Port, oder HyperTransport Link) gekoppelt; in einer Ausführungsform ist das Parallel-Verarbeitungssubsystem 612 ein Grafik-Subsystem, welches Pixel an ein Anzeigegerät 610 (z. B. ein konventioneller CRT- oder LCD-basierter Monitor) liefert. Eine Systemplatte 614 ist auch mit der I/O-Brücke 607 verbunden. Ein Schalter 616 stellt Verbindungen zwischen I/O-Brücke 607 und anderen Komponenten bereit, wie etwa ein Netzwerkadapter 618 und verschiedene Hinzufügungskarten (add-in cards) 620 und 621. Andere Komponenten (nicht explizit gezeigt), einschließlich USB- oder andere Port-Verbindungen, CD-Laufwerke, DVD-Laufwerke, Filmaufzeichnungsgeräte, und dergleichen können auch mit der I/O-Brücke 607 verbunden sein. Kommunikations-Pfade, welche die verschiedenen Komponenten in 6 wechselseitig verbinden, können unter Benutzung irgendwelcher geeigneten Protokolle, wie etwa PCI (Peripheral Component Interconnect), PCI-Express (PCI-E), AGP (Accelarated Graphics Port), HyperTransport, oder irgendwelchen anderen Bus- oder Punkt-zu-Punkt-Kommunikationsprotokoll(en) implementiert sein und Verbindungen zwischen verschiedenen Geräten können verschiedene Protokolle benutzen, wie in der Technik bekannt ist.
-
In einer Ausführungsform inkorporiert das Parallel-Prozessierungs-Subsystem 612 Schaltung, welche für Grafik- und Video-Verarbeitung optimiert ist, einschließlich z. B. Video-Ausgabeschaltung, und konstituiert eine Grafik-Verarbeitungseinheit (GPU). In einer anderen Ausführungsform inkorporiert das Parallel-Verarbeitungssubsystem 612 Schaltung, welche für Allgemeinzweckverarbeitung optimiert ist, während die darunter liegende Computer-Architektur, welche hierin im größeren Detail beschrieben ist, erhalten ist. In noch einer anderen Ausführungsform kann das Parallel-Verarbeitungssubsystem 612 mit einem oder mehr anderen Systemelementen integriert sein, wie etwa die Speicherbrücke 605, CPU 602, und I/O-Brücke 607, um ein System auf Chip (system on chip) (SoC) zu bilden. Eines oder mehrere von CPU 602, Parallel-Verarbeitungssubsystem 612, I/O-Brücke 607 und Schalter 616 können eine Niedrig-Takt-Energie-Latch-Schaltung 300 oder 350 oder eine Niedrig-Takt-Energie-Flip-Flop-Schaltung 500 umfassen.
-
Es wird geschätzt werden, dass das hierin gezeigte System illustrativ ist und das Variationen und Modifikationen möglich sind. Die Verbindungs-Topologie, einschließlich der Anzahl und der Anordnung von Brücken, kann wie gewünscht modifiziert werden. Zum Beispiel ist in einigen Ausführungsformen Systemspeicher 604 mit CPU 602 direkt anstatt durch eine Brücke verbunden und andere Geräte kommunizieren mit Systemspeicher 604 über Speicherbrücke 605 und CPU 602. In anderen alternativen Topologien ist das Parallel-Verarbeitungssubsystem 612 mit der I/O-Brücke 607 oder direkt mit der CPU 602 anstatt mit der Speicherbrücke 605 verbunden. In noch anderen Ausführungsformen können eines oder mehrere von CPU 602, I/O-Brücke 607, Parallel-Verarbeitungssubsystem 612 und Speicherbrücke 605 in einen oder mehrere Chips integriert sein. Die bestimmten hierin gezeigten Komponenten sind optional; z. B. könnte irgendeine Anzahl von Hinzufügungskarten oder Peripheriegeräten unterstützt sein. In einigen Ausführungsformen ist der Schalter 616 eliminiert und der Netzwerkadapter 618 und Hinzufügungskarten 620, 621 verbinden direkt mit der I/O-Brücke 607.
-
Zusammenfassend reduziert die Niedrig-Takt-Energie-Latch-Schaltung 300 oder 350 die Transistor-Gerätlast auf nur zwei Transistor-Gates und ist vollständig statisch. Die Takt-Energie ist verglichen mit einer Latch-Schaltung, welche größere Lasten auf dem Taktsignal hat, signifikant vermindert. Die Latch-Schaltung ist vollständig statisch und stützt sich nicht auf Größenbeziehungen zwischen den verschiedenen Transistoren. Daher ist der Latch-Schaltungsbetrieb robust, selbst wenn die Charakteristiken der Transistoren aufgrund des Fabrikationsprozesses variieren.
-
Eine Ausführungsform der Erfindung kann als ein Programmprodukt zur Benutzung mit einem Computersystem implementiert sein. Das Programm oder die Programme des Programmprodukts definieren Funktionen der Ausführungsformen (einschließlich der hierin beschriebenen Verfahren) und können in einer Verschiedenheit von Computer lesbaren Speichermedien beinhaltet sein. Illustrative Computer lesbare Speichermedien umfassen, sind jedoch nicht darauf beschränkt: (i) nicht-schreibbare Speichermedien (z. B. nur Lese-Speichergeräte innerhalb eines Computers, wie etwa CD-ROM-Platten, welche mittels eines CD-ROM-Laufwerks lesbar sind, Flash-Speicher, ROM-Chips oder irgendein Typ von Festkörper- nicht-volatilem-Halbleiterspeicher), auf welchen Information permanent gespeichert ist; und (ii) schreibbare Speichermedien (z. B. Floppy-Disketten innerhalb eines Disketten-Laufwerks oder eines Festplatten-Laufwerks oder irgendein Typ von Festkörper-Halbleiterspeicher mit willkürlichem Zugriff), auf welchen veränderbare Information gespeichert ist.
-
Die Erfindung ist oben mit Bezug auf spezifische Ausführungsformen beschrieben worden. Fachleute in der Technik werden jedoch verstehen, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne von dem breiteren Geist und Geltungsbereich der Erfindung abzuweichen, wie in den angehängten Ansprüchen ausgeführt ist. Die vorangehende Beschreibung und die Zeichnungen sind demgemäß in einem illustrativen anstatt in einem einschränkenden Sinne anzusehen.