PatentDe  


Dokumentenidentifikation DE102004020576B4 15.03.2007
Titel Datenverarbeitungsvorrichtung mit schaltbarer Ladungsneutralität und Verfahren zum Betreiben einer Dual-Rail-Schaltungskomponente
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Künemund, Thomas, Dr., 80337 München, DE
Vertreter Epping Hermann Fischer, Patentanwaltsgesellschaft mbH, 80339 München
DE-Anmeldedatum 27.04.2004
DE-Aktenzeichen 102004020576
Offenlegungstag 24.11.2005
Veröffentlichungstag der Patenterteilung 15.03.2007
Veröffentlichungstag im Patentblatt 15.03.2007
IPC-Hauptklasse G06F 12/14(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G06F 11/00(2006.01)A, L, I, 20051017, B, H, DE   G06F 21/20(2006.01)A, L, I, 20051017, B, H, DE   

Beschreibung[de]

Die Erfindung betrifft eine Datenverarbeitungsvorrichtung mit zumindest einer Dual-Rail-Schaltungskomponente und einer Steuereinheit zur Erzeugung von Ansteuersignalen für die Dual-Rail-Schaltungskomponenten. Außerdem betrifft die Erfindung ein Verfahren zum Betreiben einer Dual-Rail-Schaltungskomponente.

Bei der so genannten Dual-Rail-Schaltungstechnik handelt es sich um einen unter Sicherheitsaspekten verbesserten Aufbau von Schaltungsanordnungen, insbesondere von Datenverarbeitungsvorrichtungen. Üblicherweise sind Schaltungen in der so genannten „Single-Rail-Schaltungstechnik" ausgeführt. Dabei sind Schaltnetze mikroelektronisch so aufgebaut, dass jedes Bit der zu verarbeitenden Information physikalisch durch genau einen elektrischen Knoten dargestellt wird. Solche Schaltnetze sind verhältnismäßig unsicher gegenüber der so genannten differenziellen Stromprofilanalyse, die oft beim Versuch des Zugriffs unberechtigter Dritter auf geheime Informationen angewandt wird. Die differenzielle Stromprofilanalyse, englisch als Differential Power Analysis (DPA) bezeichnet, ist eine der wichtigsten Methoden zum Angriff auf beispielsweise Chipkarten für Sicherheitsanwendungen. Für ein gegebenes Programm beziehungsweise einen gegebenen Algorithmus werden mit statistischen Methoden gemessene Stromprofile der Chipkarte beziehungsweise deren über ein oder mehrere Takte berechnete Ladungsintegrale ausgewertet, wobei – für eine Vielzahl von Programmausführungen – aus der Korrelation von systematischer Datenvariation und jeweiligem Ladungsintegral Rückschlüsse auf die zu schützenden Informationen gezogen werden können.

Eine Möglichkeit, DPA-Angriffe zumindest wesentlich zu erschweren, besteht darin, Daten zwischen Teilsystemen eines integrierten Schaltkreises soweit wie möglich nur verschlüsselt auszutauschen beziehungsweise zu übertragen. Ein hierfür geeignetes Kryptosystem ist die so genannte One-Time-Pad-Verschlüsselung. Aus Zufallsfolgen gewonnene Schlüssel werden bitweise über eine XOR-Verknüpfung mit zu übertragenden Texten verknüpft. Zur Entschlüsselung wird wiederum eine XOR-Verknüpfung vorgenommen. Für das One-Time-Pad-Kryptosystem ist es wichtig, dass jede Schlüsselfolge nur einmal zum Ver- und Entschlüsseln verwendet wird, denn anderenfalls können mit statistischen Methoden Informationen über Klartexte ermittelt werden.

Dieses „verschlüsselte Rechnen" in Single-Rail-Schaltungstechnik erfordert jedoch einen sehr hohen Schaltungs- und dadurch Flächenaufwand, sowie einen in der Folge erhöhten Energiebedarf. Zur Vermeidung des Erfordernisses der Verschlüsselung wird die Dual-Rail-Schaltungstechnik eingesetzt. Aus dem oben zur differenziellen Stromprofilanalyse Gesagten folgt, dass die auf einem integrierten Schaltkreis vorhandenen Schaltungskomponenten gegenüber DPA-Angriffen im Idealfall so ausgelegt sein sollten, dass sie unabhängig von den zu verarbeitenden Daten immer das gleiche Stromprofil liefern. Für die Single-Rail-Implementierung ist dies jedoch nicht sicher der Fall, denn das dem zeitlichen Verlauf der Zustände einer Schaltung zugeordnete Ladungsintegral ist eine Funktion derjenigen Knoten beziehungsweise elektrischen Kapazitäten, die elektrisch umgeladen werden, weist also eine starke Abhängigkeit von den zeitlichen Änderungen der zu verarbeitenden Daten auf.

Bei der Dual-Rail-Schaltungstechnik wird im Gegensatz zur herkömmlichen Single-Rail-Schaltungstechnik jedes Bit durch zwei Knoten k und kq dargestellt, wobei ein übertragenes Bit einen gültigen logischen Wert aufweist, wenn k dem wahren logischen Wert b dieses Bits entspricht und kq dem negierten Wert bn = not(b).

Wenn also der Wert b = 1 übertragen werden soll, so geschieht dies durch eine "1" im Knoten k. Gleichzeitig wird jedoch der Wert "0" am Knoten kq übertragen, so dass insgesamt also sowohl eine "1" als auch eine "0" übertragen wird. Wenn der Wert b = 0 zu übertragen ist, erfolgt gleichzeitig eine Übertragung des Wertes "1" am Knoten kq. In beiden Fällen wird also eine "1" und eine "0" übertragen. Physikalische Aquivalenz der Knoten k und kq vorausgesetzt, ist nun mittels einer differentiellen Stromprofilanalyse nicht mehr erkennbar, ob als Datum eine "1" oder eine "0" übertragen wurde. Dies gilt jedoch nur dann, wenn tatsächlich bei jedem übertragenen Datum ein Signalwechsel stattfindet, sich also die Information "1" und die Information "0" abwechseln. Werden mehrere gleiche Daten nacheinander übertragen, verschlechtern sich die Eigenschaften bezüglich der Angreifbarkeit durch differenzielle Stromprofilanalyse.

Die gewünschte Invarianz der Ladungsintegrale wird nun dadurch erreicht, dass zwischen je zwei Zuständen mit gültigen logischen Werten (b,bn) = (1,0) oder (0,1) ein sogenannter Vorladezustand, im englischen auch Precharge genannt, eingefügt ist, für den sowohl k als auch kq auf dasselbe elektrische Potential geladen werden, also logisch ungültige Werte (1,1) oder (0,0) annehmen. Für den Vorlade-Zustand (1,1) könnte also eine Zustandsfolge aussehen wie folgt:

(1, 1) → (0, 1) → (1, 1) → (1, 0) → (1, 1) → (1, 0) → (1, 1) → (0, 1) → ...

Für jede beliebige solcher Zeichenfolgen gilt, dass für jeden Übergang (1,1) → (b,bn) genau ein Knoten von "1" nach "0" umgeladen wird, und für alle (b,bn) → (1,1) genau ein Knoten von "0" nach "1", unabhängig vom logischen gültigen Wert b des in Frage stehenden Zustandsbits. Analoges gilt für Zustandsfolgen mit dem Vorlade-Zustand (0,0).

Daraus folgt, dass die diesen Zustandsfolgen entsprechenden Ladungsintegrale unabhängig von der Abfolge (b,bn) der logisch gültigen Werte sind, falls dafür Sorge getragen wird, dass die Knoten k und kq gleiche elektrische Kapazitäten aufweisen. Das Stromprofil eines so implementierten Datenpfades hängt also nicht ab von zeitlichen Variationen der zu verarbeitenden Daten und ist somit resistent gegen differentielle Stromprofilanalyse.

Ein Beispiel für eine Dual-Rail-Implementierung einer Schaltungskomponente ist aus der DE 102 02 726 A1 bekannt. Bei der dort vorgeschlagenen integrierten Schaltung handelt es sich um ein Register in einem Datenpfad. Die vorgeschlagene Schaltungsanordnung ist konsequent in Dual-Rail-Technik aufgebaut und bildet daher ein ladungsneutrales Register.

Problematisch ist bei der Ausführung von Schaltungskomponenten in Dual-Rail-Schaltungstechnik, dass ein deutlich höherer Energieumsatz auftritt.

In der DE 101 36 335 A1 ist ein Prozessor mit zwei Rechenwerken und einer Steuereinheit zum Ansteuern der beiden Rechenwerke beschrieben. Die Rechenwerke können wahlweise in einer komplementären datenverarbeitenden Hochsicherheitsbetriebsart oder in einer Leistungssparbetriebsart, in der eines der Rechenwerke abgeschaltet ist, betrieben werden. In der Hochsi cherheitsbetriebsart arbeiten die Rechenwerke in Precharge-Betrieb wie ein einziger Prozessor mit Dual Rail-Logik zusammen. In der Leistungssparbetriebsart ist keine besondere Sicherheit gegenüber Seitenkanalangriff gegeben, da die Daten nicht komplementär verarbeitet werden.

Aufgabe der Erfindung ist es, eine Datenverarbeitungsvorrichtung anzugeben, die einerseits sicher gegenüber DPA-Angriffen ist und andererseits einen geringen Energieumsatz besitzt.

Ausserdem soll ein Verfahren angegeben werden, durch das eine Dual-Rail-Schaltungskomponente energieffizient betreibbar ist.

Diese Aufgabe wird durch eine Datenverarbeitungsvorrichtung der eingangs genannten Art gelöst, die dadurch gekennzeichnet ist, dass die Steuereinheit zum Empfang eines Betriebsart-Auswahlsignals eingerichtet ist, in Abhängigkeit des Betriebsart-Auswahlsignals Ansteuersignale für angeschlossene Dual-Rail-Schaltungskomponenten erzeugt werden und die Schaltungskomponenten in Abhängigkeit der Ansteuersignale in einem Bezüglich des Verfahrens wird die Aufgabe durch ein Verfahren der eingangs genannten Art gelöst, das dadurch gekennzeichnet ist, dass die Dual-Rail-Schaltungskomponente alternativ in einem Sicherheitsmodus oder in einem Stromsparmodus betrieben wird, wobei im Stromsparmodus Vorlade- beziehungsweise Entladevorgänge nur in Schaltungsteilen durchgeführt werden, zu deren Funktion dies erforderlich und wobei sowohl im Stromsparmodus als auch im Sicherheitsmodus komplementäre Signale verarbeitet werden. Somit ist ein hoher Energieeinsatz nur dann notwendig, wenn kritische Operationen ablaufen und eine hohe Sicherheit gegenüber Angriffen erforderlich ist. Der mittlere Strombedarf sinkt dadurch erheblich, ohne dass Sicherheitseinbußen in Kauf genommen werden müssen.

Bei den erfindungsgemäßen Datenverarbeitungsvorrichtungen werden SPA- und DPA-sensible Schaltungskomponenten in einer erweiterten Form der Dual-Rail-Schaltungstechnik ausgeführt. In dieser erweiterten Ausführungsform können die Komponenten in verschiedenen Betriebsarten betrieben werden, nämlich in einem so genannten Sicherheitsmodus oder in einem so genannten Stromsparmodus.

Im Sicherheitsmodus hängt die Aktivität der Teilsysteme einer Datenverarbeitungsvorrichtung für Sicherheitsanwendungen nicht von den zu verarbeitenden Daten ab und es sind periodisch auftretende Vorlade- beziehungsweise Entladephasen vorgesehen. Vorzugsweise werden die Vorlade- beziehungsweise Entladephasen auch in Schaltungsteilen vorgesehen, für deren Funktion diese Vorlade- beziehungsweise Entladephasen nicht erforderlich sind. Demgegenüber werden im Stromsparmodus alle Teilsysteme, die für die Funktion der Datenverarbeitungsvorrichtung gerade nicht benötigt werden, inaktiv geschaltet, beispielsweise von der Taktversorgung abgetrennt. In dem inaktiven Zustand weisen die Komponenten nur einen minimalen Energieumsatz auf. Die Dual-Rail-typischen Vorlade- beziehungsweise Entladevorgänge werden nur in Schaltungsteilen durchgeführt, zu deren Funktion die Vorlade- beziehungsweise Entladephasen erforderlich sind. In den anderen Schaltungsteilen wird die zum Vor- beziehungsweise Entladen erforderliche Energie gespart.

In einer vorteilhaften Ausführung einer erfindungsgemäßen Datenverarbeitungsvorrichtung ist die Dual-Rail-Schaltungskomponente eine Speichervorrichtung mit einer Vorladeeinheit, die beim Lesen von Daten deaktivierbar ist.

In einer anderen vorteilhaften Ausgestaltung ist die Dual-Rail-Schaltungskomponente ein Datenpfadregister, das zum dynamischen Einfrieren von Registerzuständen eingerichtet ist, wobei die Steuereinheit zur Erzeugung einer Steuersignalkombination eingerichtet ist, bei der statt des dynamischen Einfrierens ein statisches Einfrieren erfolgt.

Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.

Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen näher erläutert. Es zeigt:

1 ein Blockschaltbild einer erfindungsgemäßen Datenverarbeitungsvorrichtung,

2 ein erstes Ausführungsbeispiel einer erfindungsgemäßen Datenverarbeitungsvorrichtung mit einem in zwei Betriebsarten betreibbaren Speicher,

3 ein Diagramm mit dem zeitlichen Verlauf von Signalen der Schaltungsanordnung von 2,

4 eine schematische Darstellung eines Datenpfadregisters nach dem Stand der Technik,

5 eine Dual-Rail-Implementierung der Schaltungsanordnung von 4,

6 ein Diagramm mit zeitlichen Signalverläufen der Schaltungsanordnung von 6 im Sicherheitsmodus und

7 ein Diagramm mit zeitlichen Signalverläufen der Schaltungsanordnung von 6 im Stromsparmodus.

1 zeigt ein Blockschaltbild einer erfindungsgemäßen Schaltungsanordnung. Die dargestellte Schaltungsanordnung weist eine Dual-Rail-Schaltungskomponente 1 und eine Steuereinheit 2 auf. Die Steuereinheit 1 weist eingangsseitig einen ersten Eingang 3 für ein Steuersignal ctrl_ext<p:0> und einen zweiten Eingang 4 für ein Betriebsart-Auswahlsignal sm auf. Das Steuersignal ctrl_ext<p:0> umfasst beispielsweise Takt-, Set/Reset-, Adress- und Steuersignale. Das zusätzliche Steuersignal sm am zweiten Eingang 4 zeigt an, welche Betriebsart eingestellt werden soll, also ein Sicherheitsmodus oder ein Stromsparmodus. Dazu werden Steuersignale ctrl_sm<q:0> erzeugt, die direkt an der Dual-Rail-Schaltungskomponente anliegen, wobei es sich bei dieser beispielsweise um eine Datenpfad- oder Speicherschaltung handelt. Die Steuersignale werden dabei entweder für den Betrieb im Stromsparmodus oder für den Betrieb im Sicherheitsmodus erzeugt. Bei sm = 0 werden die ctrl_sm<q:0> für den Betrieb im Stromsparmodus, bei sm = 1 für den Betrieb im Sicherheitsmodus erzeugt. Vorteilhaft ist dabei, dass für Dual-Rail-Schaltungskomponenten oft ohnehin Ansteuersignale erzeugt werden müssen. Deshalb ist im günstigsten Fall keine Änderung der Hardware-Konfiguration der Dual-Rail-Schaltungskomponente erforderlich, sondern die gewünschte Betriebsartumschaltung lässt sich durch eine geeignete Erzeugung der Ansteuersignale für die Dual-Rail-Schaltungskomponente in Abhängigkeit des Betriebsart-Auswahlsignals erreichen.

Zur Erzeugung der ctrl_sm<q:0> kann es dabei vorteilhaft sein, auch Rückkopplungen ctrl_fb<r:0> der mit den Steuersignalen ctrl_sm<q:0> zu steuernden Datenpfad- und/oder Speicherschaltung zu verwenden.

Ein erstes konkretes Ausführungsbeispiel ist in der 3 dargestellt. Herbei handelt es sich um ein "Dual-Mode-SRAM", also ein RAM, das entweder im Sicherheitsmodus oder im Stromsparmodus betrieben werden kann. Die besondere Maßnahme im Stromsparmodus besteht darin, den in der Dual-Rail-Technik mit Precharge vorzusehenden Precharge der Bitleitungen nur vor Lesezugriffen durchzuführen, da er nur in diesem Fall für die Funktion der Schaltung notwendig ist, nicht aber vor Schreibzugriffen. Demgegenüber erfolgt der Precharge im Sicherheitsmodus vor jedem Zugriff.

Ein solches „Dual-Mode-SRAM" ist in 2 dargestellt. Die gezeigte Schaltungsanordnung umfasst eine Steuereinheit 2, ein Master-Slave-Register 5 für einen Dateneingang 6, an dem ein Datensignal d_i anliegt, ein XOR-Gatter 7 zur Entschlüsselung empfangener Daten mit einem Schlüssel k, kn. Am Dateneingang 6 anliegende Daten werden also zunächst auf das Master-Slave-Register 5 geführt, das als Puffer dient, und sodann auf das XOR-Gatter 7 geführt. In dem Master-Slave-Register 5 wird aus dem anliegenden Datensignal d_i ein Dual-Rail-Signal erzeugt, das am XOR-Gatter an Eingängen b, bq anliegt. Der Schlüssel k, kn wird ebenfalls als Dual-Rail-Signal an Eingänge a, aq des XOR-Gatters 7 geführt. Das XOR-Gatter 7 verfügt darüber hinaus über einen Enable-Eingang enq. Das Ausgangssignal des XOR-Gatters 7 wird an Ausgängen z, zq bereitgestellt. Dem XOR-Gatter 7 ist eine Treiberschaltung 8 für Schreibzugriffe nachgeschaltet. Diese Schaltung dient hauptsächlich dazu, eine Sicherung gegen Querströme zu bilden. Der Treiberschaltung 8 ist eine schaltbare Speicherzelle 9 mit n-Kanal-Transistoren N0, N3 und N4 nachgeschaltet, die über ein Steuersignal bllen von der Steuereinheit 2 ansteuerbar ist. Die Speicherzelle 9 hat den Zweck, eine auf den Leitungen bl, blq am Ausgang der Treiberschaltung 8 liegende Information zu halten für den Fall, dass weder ein Precharge noch ein Schreib- oder Lesezugriff aktiviert sind.

Der Speicherzelle 9 ist eine Precharge-Einheit 10 nachgeordnet, die aus zwei p-Kanal-Transistoren P4 und P5 besteht. Die Precharge-Einheit 10 ist über ein Precharge-Steuersignal prq von der Steuereinheit 2 ansteuerbar. Der Precharge-Einheit 10 ist eine 6-Transistor-SRAM-Zelle 11 nachgeschaltet. Diese besteht aus n-Kanal-Transistoren N5 und N6 sowie Invertern IN0 und IN1. Die eine dargestellte Speicherzelle 11 steht stellvertretend für eine beliebige Anzahl von Speicherzellen, die längs des Bitleitungspaars bl, blq angeordnet sein können.

Die SRAM-Speicherzellen 11 und die vorgeschalteten Komponenten sind über mehrere Signale von der Steuereinheit 2 ansteuerbar. Das externe Steuersignal ctrl_ext<p:0> von 1, das am ersten Steuereingang 3 anliegt, findet in der 2 seine Entsprechung in den Signalen rst, clk, wr_i und rd_i, wobei rst ein Reset-Signal ist, clk ein Taktsignal ist und wr_i und rd_i Signale zur Aktivierung von Schreib- beziehungsweise Lesezugriffen sind. Die Steuereinheit 2 besitzt Ausgänge a_wrq, a_bllen, a_prq und a_wl, über die Signale prq, bllen, prq und wl an die SRAM-Speichereinrichtung abgebbar sind. Die genannten Signale entsprechen dem Steuersignal ctrl_sm<q:0>, das in der 1 dargestellt ist.

Als weitere Verbindung sind die Bitleitungen bl, blq zur Steuereinheit 2 zurückgeführt. Die dort übertragenen Signale entsprechen dem Signal ctrl_fb<r:0>, das als Rückkoppelsignal in 1 dargestellt ist.

Die Steuereinheit 2 ist so eingerichtet, dass in Abhängigkeit des Steuersignals sm die Signale prq, bllen, prq und wl so erzeugt werden, dass bei sm = 0 die SRAM-Speichereinrichtung 1 im Stromsparmodus arbeitet, das heisst die Precharge-Einheit 10 nur dann aktiviert ist, wenn dies für die Funktion der SRAM-Speichereinrichtung 1 notwendig ist. Bei sm = 1 wird dagegen die SRAM-Speichereinrichtung 1 so angesteuert, dass bei jedem Schreib- und Lesevorgang ein Precharge durchgeführt wird.

Für das Auslesen von Daten sind die Bitleitungen bl, blq mit Eingängen b, bq einer Treiberschaltung 12 verbunden, die aus dem an den Eingängen b, bq anliegenden Dual-Rail-Signal ein Ausgangssignal d_0 erzeugt, das an einem Ausgang z der Treiberschaltung 12 bereitgestellt wird. Die Treiberschaltung 12 weist in der dargestellten Ausführungsform ebenfalls ein XOR-Gatter auf, um die auszugebenden Daten verschlüsseln zu können. Für die Verschlüsselung wird der Treiberschaltung 12 an Eingängen a, aq ein Schlüssel k, kn zugeführt.

Die 3 zeigt den zeitlichen Ablauf der in der Schaltungsanordnung von 2 auftretenden Signale.

Für sm = 1 wird mit der steigenden Flanke des Taktsignals clk das Precharge-Steuersignal prq aktiviert, wenn im Takt zuvor ein Schreib- oder Lesezugriff stattgefunden. Wenn im Takt zuvor kein Schreib- oder Lesezugriff stattgefunden hat, bleibt das Precharge-Steuersignal prq aktiv. Nachdem der Precharge deaktiviert wurde, wird bei einem Schreibzugriff das zu schreibende Datum auf die Leitungen bl, blq gegeben und dann das Signal wl auf den Wortleitung a_wl aktiviert. Für Lesezugriffe wird das Signal wl sofort aktiviert.

Für sm = 0 ist der Stromsparmodus eingeschaltet und der Precharge wird über das Precharge-Steuersignal prq nur für Lesezugriffe im selben Taktzyklus mit der steigenden Flanke des Taktsignals clk aktiviert. Nachdem der Precharge deaktiviert wurde, werden nachfolgend die Signale auf den Wortleitungen a_wl sofort aktiviert. Im Falle eines Schreibzugriffs werden die Daten auf bl, blq geschrieben und danach die Wortleitungen a_wl aktiviert. Der hier nicht erfolgte Precharge vor dem Zugriff führt zu der gewünschten Energieeinsparung.

Ein zweites Ausführungsbeispiel einer erfindungsgemäßen Schaltungsanordnung gemäß den 4 bis 7 bezieht sich auf Register in Datenpfaden für Sicherheitsanwendungen. Ladungsneutrale Register sind beispielsweise aus der DE 102 02 726 A1 bekannt.

In jedem modernen Mikroprozessor oder -Controller treten während der schrittweisen Abarbeitung eines Algorithmus' Zustände auf, die eine vorübergehende Unterbrechung des Programmablaufs erforderlich machen. Ursache können beispielsweise noch nicht zur Verfügung stehende Instruktionen oder Daten sein. Die Unterbrechung sollte nach Möglichkeit derart erfolgen, dass die zum Zeitpunkt der Unterbrechung vorhandene Information beziehungsweise die vorhandenen Daten vollständig erhalten bleibt beziehungsweise bleiben. Die im Programmablauf erreichten Zustände – einschließlich schon berechneter Zwischenergebnisse – müssen also für jeden der aufeinanderfolgenden Schritte des Algorithmus derart "eingefroren" werden, dass der Programmablauf mit minimalem Verzug fortgesetzt werden kann, sobald die dazu erforderliche Information, nämlich die zuvor fehlende Instruktion oder das fehlende Datum, zur Verfügung steht.

Eine schaltungstechnische, schematische Darstellung dieses Sachverhaltes ist in 4 angegeben. Dabei ist nur ein Bit eines Datenpfades und nur ein Teilschritt (k) eines Programmablaufes dargestellt. Die den Teilschritten k = 1, 2, ... der Abarbeitung des Programms entsprechenden Zustände beziehungsweise Zwischenergebnisse zk werden entweder in arithmetischlogischen Schaltungen aus zk – 1 sowie Steuersignalen ctlk berechnet (Datensignal ak<1>) oder von benachbarten Bits des Datenpfades übernommen beziehungsweise von außen zugeführt (ak<nk:2>) und danach in jeweils zugeordnete Register-Schaltungen, die jeweils über einen Takteingang verfügen, gespeichert. Das beschriebene "Einfrieren" der den Zuständen entsprechenden Registerinhalte zk wird über eine Rückkopplung realisiert, bei welcher der Datenausgang des Registers <k> mit den vor dem Eingang der Register liegenden Multiplexer-Schaltungen verbunden ist. Jede der Multiplexer-Schaltungen verfügt dabei über einen Steuereingang, an dem ein Steuersignal selk<sk:1> anliegt.

Die Kombination aus dem Multiplexer und dem Register ist in 4 mit einer gestrichelten Linie umrandet. Eine konkrete Schaltungsanordnung in Dual-Rail-Schaltungstechnik mit dieser Funktionalität ist in der 5 dargestellt. Die bei jeweiligen Transistoren stehenden Bezugszeichen TP, TN bezeichnen P-Kanal-Transistoren beziehungsweise N-Kanal-Transistoren. Die Bezeichnung <1>, ... <n> bezeichnet jeweils einen Datenpfad. Der in spitzen Klammern angegebene Wert steht stellvertretend für das j-te Bit, wobei j = 1... n ist.

Die Schaltungsanordnung kann in einem Sicherheitsmodus oder in einem Stromsparmodus betrieben werden. Die Steuerung des aktiven Betriebsmodus erfolgt über ohnehin vorzusehende Ansteuersignale von einer Steuereinheit 22. Für welchen Betriebsmodus die Ansteuersignale erzeugt werden, hängt von dem Betriebsart-Auswahlsignal sm ab (siehe 1). Das zeitlichen Verhalten der Daten- und Steuersignale ist aus den 6 und 7 ersichtlich, wobei in der 6 das Verhalten im Sicherheitsmodus, also bei sm = 1, und in der 7 das Verhalten im Stromsparmodus bei sm = 0 gezeigt ist.

Die integrierte Schaltung weist Eingangsanschlüsse EA1<j>, EA2<j> auf, wobei j = 1...n ist. Für jedes Bit beziehungsweise jeden Datenpfad sind zwei Eingangsanschlüsse EA1<j>, EA2<j> vorgesehen. Am Eingangsanschluß EA1 liegt das logisch gültige Signal a<n> an, während am Eingangsanschluß EA2 das komplementäre Signal aq<j> anliegt. Die Eingangsanschlüsse EA1<j> und EA2<j> sind jeweils mit Steueranschlüssen von Transistoren TNj2, TNj1 verbunden. Zusammen mit einem Auswahltransistor TNj3, an dessen Eingangsanschluß ES<j> ein Auswahlsignal s<j> anlegbar ist, bilden diese eine Schaltungsanordnung, welche die Eingangssignale a<j>, aq<j> an erste Leitungen AL1, AL2 gibt. Die Auswahltransistoren TNj3 sind zwischen einem Bezugspotentialanschluß BP und den jeweiligen Source-Anschlüssen der Transistoren TNj1, TNj2 verschaltet. Die Ausgabe der Signale erfolgt nur dann, wenn der Transistor TNj3 leitend geschaltet ist. Da die Anordnung einen Multiplexer bildet, kann immer nur einer der n Transistoren TNj3 leitend geschaltet werden. An den übrigen Transistoren liegt ein Signal an, welches diese nicht-leitend schaltet.

Die ersten Leitungen beziehungsweise Ausgangsleitungen AL1, AL2 sind mit ersten Anschlüssen AA1, AA2 verbunden, an welchen das von den Eingangsanschlüssen EA1<j>, EA2<j> angelegte Eingangssignal a<j>, aq<j> abgreifbar ist. Dieses an den ersten Anschlüssen beziehungsweise den Ausgangsanschlüssen AA1, AA2 abgreifbare Dual-Rail-Signal wird mit z, zq bezeichnet.

Mit den ersten Anschlüssen AA1, AA2 ist eine Speicherzelle SZ1 verbunden. Die Speicherzelle SZ1 besteht aus zwei gegeneinander geschalteten Invertern. Der erste Inverter wird durch die Transistoren TNz2, TPz2 gebildet. Der zweite Inverter wird durch die Transistoren TPz1, TNz1 gebildet. Die Speicherzelle SZ1 weist darüber hinaus einen Auswahltransistor TNz3 auf, an dessen Steueranschluß ein Taktsignal h anlegbar ist. Der Auswahltransistor TNz3 ist zwischen den Bezugspotenzialanschluss BP und die Inverter geschalten. Die Ausgänge der Inverter sind mit den ersten Leitungen AL1, AL2 verbunden.

Weist das Taktsignal h den logischen Wert 0 auf, so wird der an den ersten Leitungen AL1, AL2 anliegende Wert in die Speicherzelle SZ1 geschrieben. Wechselt das Taktsignal von logisch 0 auf logisch 1, so wird der Wert in der Speicherzelle SZ1 gehalten, da die Inverter durch den eingeschalteten Auswahltransistor TNz3 mit Bezugspotential verbunden werden.

In einem Sicherheitsmodus arbeitet die Schaltung mit voller Dual-Rail-Funktionalität einschließlich konsequentem Einsatz von Precharge-Zuständen. Entsprechend werden die ersten Leitungen AL1, AL2 nach einem logisch gültigen Zustand in einen Vorlade-Zustand gebracht, in dem die ersten Leitungen AL1, AL2 mit dem gleichen Potential beaufschlagt werden. In der vorliegenden integrierten Schaltung wird dies durch das Mittel VE1 bewerkstelligt, das als Vorladeeinrichtung bezeichnet werden kann. Die Vorladung der ersten und zweiten Leitung AL1, AL2 wird angestoßen, sobald das Taktsignal h seinen Wert von logisch 1 nach logisch 0 ändert. Das Mittel VE1 besteht aus zwei Transistoren TPP1, TPP2, die jeweils mit dem gleichen Steuersignal pq beaufschlagt werden. Das Steuersignal pq ist ein periodisches Signal, das in fester Kopplung zum Taktsignal h steht. Die Transistoren TPP1, TPP2 des Mittels VE1 sind zwischen einem Versorgungspotentialanschluß VP unter den ersten Leitungen AL1, AL2 verschaltet. Die ersten Leitungen AL1, AL2 nehmen somit in ihrem Vorlade-Zustand den Wert (1,1) an.

Eine Datenübertragungseinrichtung DE1, bestehend aus den Transistoren TP01, TP02 und dem Auswahltransistor TP03 überträgt die auf den ersten Leitungen AL1, AL2 anliegenden Signale an zweite Leitungen ZL1, ZL2. Zu diesem Zweck muß die Datenübertragungseinrichtung DE1 über den Auswahltransistor TP03 aktiv geschaltet sein. Das an dem Auswahltransistor TP03 anliegende Auswahlsignal sq läuft synchron zu dem Taktsignal h, so dass eine periodische Datenübertragung stattfindet. Die Daten werden dadurch von der ersten Speicherzelle SZ1 in eine zweite Speicherzelle SZ2 übertragen.

Die zweite Speicherzelle SZ2 besteht ebenfalls aus gegeneinander geschalteten Invertern. Der erste Inverter ist durch die Transistoren TPy1, TNy1 gebildet. Der zweite Inverter wird durch die Transistoren TPy2, TNy2 gebildet. Der Ausgang der Inverter ist mit den zweiten Leitungen ZL1, ZL2 verbunden.

Eine Zwischenspeicherung in der zweiten Speicherzelle SZ2 erfolgt nur dann, wenn diese über einen Auswahltransistor TPy3, an welchem das Taktsignal h anliegt, aktiv geschaltet ist. Der Auswahltransistor TPy3 ist vorliegend zwischen dem Versorgungspotential-Anschluß VP und den gegengeschalteten Invertern gelegen.

Um auch auf den zweiten Leitungen ZL1, ZL2 die erwünschte Ladungsneutralität zu erreichen, ist auch den zweiten Leitungen ZL1, ZL2 ein Mittel VE2 zum Vorladen dieser Leitungen zugeordnet, das ebenfalls als Vorladeeinrichtung bezeichnet werden kann. Das Mittel VE2 weist die Transistoren TNP1, TNP2 auf, die jeweils mit dem gleichen Steuersignal p beaufschlagt werden. Das Mittel VE2 ist zwischen den zweiten Leitungen ZL1, ZL2 und dem Bezugspotentialanschluß BP verschaltet.

Wie oben bereits erläutert, treten in modernen Prozessoren während der schrittweisen Abarbeitung eines Algorithmus Zustände auf, die eine vorübergehende Unterbrechung des Programmablaufes erforderlich machen. Die zum Zeitpunkt der Unterbrechung vorhandene Information sollte dabei vollständig erhalten bleiben. Zu diesem Zweck dient die zweite Speicherzelle SZ2. Diese sorgt dafür, dass die im Programmfluß erreichten Zustände eingefroren werden können. Kann der Programmablauf fortgesetzt werden, so können die in der zweiten Speicherzelle SZ2 gespeicherten Daten über die zweite Datenübertragungseinrichtung DE2, welche zwischen dem Ausgang der zweiten Speicherzelle SZ2 und den ersten Leitungen AL1, AL2 verschaltet ist, wieder auf die ersten Anschlüsse AA1, AA2 übertragen werden.

Der Aufbau der zweiten Datenübertragungseinrichtung DE2 ähnelt im Prinzip dem der ersten Datenübertragungseinrichtung DE1. Ein Auswahltransistor TN03, an den ein Steuersignal s<0> anlegbar ist, ist zwischen dem Bezugspotentialanschluß BP und zwei Schaltelementen TN01, TL02 verschaltet. Die Steueranschlüsse der Transistoren TN01, TN02 sind mit den zweiten Leitungen ZL1, ZL2, verbunden. Die Drain-Anschlüsse der Transistoren TN01, TN02 weisen eine jeweilige Verbindung zu den ersten Leitungen AL1, AL2 auf.

Das Einfrieren des Inhalts eines Datenpfad-Registers findet folglich über eine Rückkopplung statt. Dabei wird das an den ersten Anschlüssen – den Ausgangsanschlüssen – anliegende Datensignal grundsätzlich in einer zweiten Speicherzelle zwischengespeichert. Der in der zweiten Speicherzelle SZ2 gespeicherte Wert kann zu einem beliebigen Zeitpunkt über die zweite Datenübertragungseinrichtung DE2 an die ersten Anschlüsse rückgekoppelt werden.

Nachfolgend wird anhand der 6 die Funktionsweise der integrierten Schaltung im Sicherheitsmodus genauer erklärt. Der Verlauf der Daten- und Steuersignale ist in sechs Zeitintervalle ZI1 bis ZI6 unterteilt. Die Signale h (Taktsignal), pq, s<j>, s<0>, p und sq bezeichnen Steuersignale, die an jeweiligen aus 5 ersichtlichen Schaltungsblöcken angelegt werden. Die Steuersignale werden von der Steuervorrichtung 22 erzeugt. Mit a/aq<j>, z/zq und y/yq sind die an den Eingangsanschlüssen, den ersten und zweiten Anschlüssen anliegenden Datensignale bezeichnet.

Für das erste angegebenen Zeitintervall ZI1 gilt zunächst, dass mit h = 1 ein zuvor über einen der Multiplexer-Eingänge (EA1<j>, EA2<j>) an die ersten Anschlüsse AA1, AA2 übertragener Wert (z, zq) = (d0, d0q) = d0* durch die Speicherzelle SZ1 gehalten wird. Voraussetzung hierfür ist, dass das Steuersignal pq, das dem Mittel zum Vorladen der Ausgangsleitungen AL1, AL2 zuzuordnen ist, den logischen Wert 1 hat und alle Steuersignale s<j>, wobei j = 1, ... n, sowie s<0> den logischen Wert 0 aufweisen. Somit sind weder das Mittel zum Vorladen der Ausgangsleitungen VE1 noch die Multiplexereingänge ES<j> aktiv.

Zu Beginn des Zeitintervalles ZI1 werden die zweiten Leitungen ZL1, ZL2 über die zweite Vorladeeinheit VE2 (Steuersignal p = 1) auf den Wert (0,0) vorgeladen. Nachdem das Steuersignal p seinen Wert angenommen hat und gleichzeitig mit dessen fallender Flanke das Steuersignal sq den logischen Wert 0 erreicht, wird der Wert d0* über die erste Datenübertragungseinheit DE1 nach (y, yq) geschrieben. Im folgenden Zeitintervall ZI2 wird dieser Wert, der nunmehr in der zweiten Speicherzelle SZ2 abgespeichert ist, mit sq = 1, p = 0 und h = 0 gehalten.

Gleichzeitig werden mit dem Beginn des Zeitintervalls ZI2 die ersten Leitungen AL1, AL2 über pq = 0 auf (z, zq) = (1,1) vorgeladen. Anschließend wird mit pq = 1 und s<j> = 1 der inzwischen an den Eingangsanschlüssen EA1<j>, EA2<j> anliegende Wert d1* = (a<j>, aq<j>) = (dl, dlq), nach (z, zq) geschrieben.

Da die Schaltung in Dual-Rail-Technologie realisiert ist, verfügen auch die mit den Eingangsanschlüssen EA1, EA2 verbundenen Eingangsleitungen über eine Vorladeeinheit. Damit gibt es für das zeitliche Verhalten des Eingangssignales (a<j>, aq<j>) zwei mögliche Alternativen, von denen die erste im Zeitintervall ZI2 und die zweite Alternative im Zeitintervall ZI6 dargestellt ist.

Bevor einer der Multiplexereingänge j mit dem Steuersignal s<j> = 1 geöffnet wird, (das heißt solange s<j> = 0) werden die mit den Eingangsanschlüssen EA1, EA2 verbundenen Eingangsleitungen, die vor dem Eingang des Registers liegen (aus 5 nicht ersichtlich) auf einen Wert (0,0) vorgeladen. Die Eingangssignale (a<j>, aq<j>) erhalten den gültigen logischen Wert d1* somit entweder bevor oder nachdem der Multiplexereingang aktiviert wurde.

In der zweiten Alternative werden die mit den Eingangsanschlüssen EA1, EA2 verbundenen Eingangsleitungen nicht vorgeladen. Die Eingangssignale (a<j>, aq<j>) müssen in dieser Variante jedoch den gültigen logischen Wert (hier d3*) stabil erreicht haben, bevor einer der Multiplexereingänge ES<j> mit s<j> = 1 geöffnet wird.

Das Zeitintervall ZI3 entspricht dem Zeitintervall ZI1. Solange das Taktsignal h den logischen Wert 1 aufweist, wird der Wert d1* in der ersten Speicherzelle SZ1 der Wert (z/zq) gehalten. Die zweite Speicherzelle SZ2 wird, wie oben beschrieben, mit dem Wert d1* beschrieben.

Das Zeitintervall ZI4 entspricht dem Zeitintervall ZI2. Solange das Taktsignal h den logischen Wert 0 aufweist, wird der Wert d1* in der zweiten Speicherzelle SZ2 gehalten, das heißt d1* = (y, yq). Da das Steuersignal sq infolge der fallenden Taktflanke h seinen logischen Wert auf 0 wechselt, werden die mit den ersten Anschlüssen AA1, AA2 verbundenen Ausgangsleitungen AL1, AL2 auf (z, zq) = (1,1) vorgeladen. Nachdem die erste Vorladeeinheit VE1 durch sq = 1 wieder inaktiv geschaltet ist, kann an die ersten Anschlüsse AA1, AA2 ein neues Signal angelegt werden.

Im Gegensatz zum Zeitintervall ZI2 wird nun nicht einer der Multiplexereingänge EA1, EA2 aktiv geschaltet, sondern die zweite Datenübertragungseinheit DE2 über das Auswahlsignal s<0>. Somit wird durch die Datenübertragungseinheit DE2 der Wert d1* an die Ausgangsanschlüsse AA1, AA2 übertragen, was bedeutet (z, zq) = d1*.

Im Zeitintervall ZI4 ist somit der Fall einer Datenrückkopplung dargestellt. Das Datum d1* ist somit eingefroren. Dies bedeutet, der zunächst im Zeitintervall ZI2 von der ersten Speicherzelle SZ1 an die zweite Speicherzelle SZ2 übertragene Wert d1* wird im Zeitintervall ZI4 wieder in die erste Speicherzelle SZ1 zurückgeschrieben. Da zwischen je zwei Schreibvorgängen von (z, zq) beziehungsweise (y, yq) die Knotenpaare, das heißt jeweilige Leitungen AL1, AL2 beziehungsweise ZL1, ZL2 auf (1,1) beziehungsweise (0,0) vorgeladen werden, sind die Ladungsintegrale nicht nur unabhängig von den Datenwechseln am Dateneingang, sondern auch unabhängig davon, ob neue Daten vom Dateneingang in die erste Speicherzelle SZ1 übernommen werden oder von der zweiten Speicherzelle SZ2 in die erste Speicherzelle SZ1 rückgekoppelt werden. Dieser Sachverhalt gilt jedoch nur für den in den Zeitintervallen ZI2 und ZI4 dargestellten Fall, dass die mit den Eingangsanschlüssen EA1<j>, EA2<j> auf den Wert (0,0) vorgeladen wurden, bevor sie ihren gültigen logischen Wert annehmen. Bei dem im Zeitintervall ZI6 dargestellten Fall ist das Ladungsintegral von den Datenwechseln von der ersten Speicherzelle SZ1 in die zweite Speicherzelle SZ2 unabhängig, nicht jedoch von Datenwechseln an den Eingangsanschlüssen EA1<j>, EA2<j>.

In der in 5 dargestellten Schaltungsanordnung sind die für das Datensignal (y, yq) "zuständigen" Transistor-Gruppen der zweiten Speicherzelle SZ2, der zweiten Vorladeeinrichtung VE2 und der zweiten Datenübertragungseinrichtung DE2 komplementär zu den Transistorgruppen, die das Datensignal (z, zq) betreffen. Komplementär bedeutet hierbei die Vertauschung von N- und P-Kanal-Transistoren.

Wenn das Steuersignal am zweiten Eingang 4 der Steuereinrichtung 22 sm = 0 ist, soll das Datenpfadregister 21 im Stromsparmodus betrieben werden. Dabei wird das oben beschriebene „dynamische Einfrieren" des Registerzustandes, das heisst das periodisch alternierende Kopieren von (z, zq) nach (y, yq) und von (y, yq) zurück nach (z, zq) ersetzt durch ein „statisches Einfrieren" des Zustands von (z, zq). Dies wird dadurch erreicht, dass die Ansteuersignale s<j>, h, pq, sq und p mit einer vorbestimmten Signalkombination beaufschlagt werden. In dem beschriebenen Ausführungsbeispiel lautet die Signalkombination: s<j> = 0 für alle j = 0, 1..n, h = 1, pq = 1, sq = 1 und p = 0. Dadurch wird erreicht, dass bei sm = 0 weder (y, yq) beschrieben noch nach (z, zq) kopiert wird. Zu den Zeitpunkten, wenn Daten übernommen werden sollen, wird eines des s<k>, k ∊ {1, 2, .. n} aktiv. Wenn also der Zustand des Systems eingefroren werden soll, verharrt (z, zq), wie in der 7 dargestellt, in dem Zustand, der zuletzt über einen der Dateneingänge a<j>, aq<j> geschrieben wurde. Die Signalverläufe bei sm = 0 sind auch aus der 7 ersichtlich. s<0> ist im Falle des "statischen Einfrierens" immer 0, p ist immer 0 und sq ist immer 1.

Die erfindungsgemäße Umschaltung zwischen zwei Betriebsarten, dem Sicherheitsmodus und dem Stromsparmodus, erfolgt also in einfacher Weise dadurch, dass die Steuereinheit 22 die Ansteuersignale für das Datenpfadregister entweder so erzeugt, dass ein periodisch alternierendes Kopieren erfolgt, oder aber so erzeugt, dass kein periodisch Kopieren erfolgt. Die von außen sichtbare logische Funktionalität des Registers ist in beiden Fällen die gleiche, jedoch unterscheidet sich die Stromaufnahme der Schaltung. Während das Stromprofil der Schaltungsanordnung im Stromsparmodus abhängig von den verarbeiteten Daten ist und über differenzielle Stromprofilanalyse Rückschlüsse auf die verarbeiteten Daten gezogen werden können, lässt das Stromprofil im Sicherheitsmodus keine Rückschlüsse auf die verarbeiteten Daten zu, ist also DPA-resistent.

Die Erfindung wurde anhand der Anwendung auf eine SRAM-Speichereinheit und ein Datenpfadregister beschrieben. Ein weiteres Anwendungsbeispiel für die erfindungsgemäße Idee schaltbarer Ladungsneutralität sind sogenannte "Register Files". Ein Register File dient in der Regel verschiedenen Zwecken. Einerseits ist es zu dem Zwischenspeichern von Adressen und Daten vorgesehen, die für die gerade von der CPU bearbeiteten Aufgaben benötigt werden. Andererseits wird es für den schnellen, wahlfreien und gleichzeitigen Lesezugriff auf im Allgemeinen mindestens zwei Operanden vorgesehen. Auch kann es für schnelle, wahlfreie und mit Lesezugriffen gleichzeitige Schreibzugriffe eingesetzt werden. Es handelt sich dabei um so genannte Write-Back-Ports des Register Files, die zum Zurückschreiben von Ergebnissen oder Zwischenergebnissen von Rechenoperationen dienen. Um all diesen Anforderungen gerecht werden zu können, werden Register Files als so genannte Multi-Port-RAMs ausgeführt. Das sind über ihre Bitleitungs-Bündel zusammengeschaltete Register, wobei die Funktionseinheit „Register" hier als Menge von gleichartigen, so genannten Ein-Bit-Registerzellen mit den oben genannten Eigenschaften definiert ist. Die Anzahl von Bits, die in einem Register gespeichert werden können, entspricht im Allgemeinen der Bitbreite des Datenpfads. Die Anzahl der Ports entspricht der maximalen Anzahl verschiedener Zugriffe, die auf unterschiedliche Register gleichzeitig möglich sein sollen.

In einem Sicherheitsmodus werden Multi-Port-RAMs nach der Erfindung so betrieben, dass immer sämtliche, allen Ports zugeordnete Bitleitungspaare in jedem CPU-Taktzyklus umgeladen werden. Im Stromsparmodus finden in einem gegebenen Taktzyklus dagegen nur Umladevorgänge derjenigen Bitleitungspaare statt, die für die Funktion der CPU gerade notwendige Informationen tragen.

Die Anwendung der erfindungsgemäßen Betriebsartumschaltung auf andere Schaltungskomponenten liegt im Bereich des fachmännischen Ermessens.

1
Dual-Rail-Schaltungskomponente
2
Steuereinheit
3
erster Eingang
4
zweiter Eingang
5
Master-Slave-Register
6
Dateneingang
7
XOR-Gatter
8
Treiberschaltung für Schreibzugriffe
9
schaltbare Speicherzelle
10
Precharge-Einheit
11
RAM-Zelle
12
Ausgangstreiberschaltung
21
Datenpfadregister
22
Steuereinheit
N0, N3, N4,
N5, N6
NMOS-Transistoren
P4, P5
PMOS-Transistoren
IN0, IN1
Inverter
a, aq, b, bq
Eingänge
z, zq
Ausgänge
a_brq, a_bllen,
a_prq, a_wl
Steuerausgänge
a_bl, a_blq
Rückkopplungseingänge
bl, blq
Leitungen/Signal auf diesen Leitungen
d_i
Dateneingangssignal
d_o
Datenausgangssignal
wrq, bllen,
prq, wl
Signale
k, kn
Schlüssel
rst
Reset-Signal
clk
Taktsignal
sm
Betriebsart-Auswahlsignal
wr_i
Schreibsignal
rd_i
Lesesignal
VP
Versorgungspotentialanschluß
BP
Bezugspotentialanschluß
E
Dateneingang
EA1<j>
Eingangsanschluß
EA2<j>
Eingangsanschluß
ES<j>
Steueranschluß
a<j>
Eingangssignal
aq<j>
Komplementäres Eingangssignal
A
Datenausgang
AA1
Anschluß
AA2
Anschluß
AL1
Leitung
AL2
Leitung
z
Ausgangssignal
zq
Komplementäres Ausgangssignal
MUX
Multiplexer
TN11, TN12, TNn1, TNn2
Transistoren
TN13, TNn3
(Auswahl-)Transistoren
s<j>
Auswahlsignal
SZ1
Speicherzelle
TPz1, TPz2,
TNz1, TNz2
Transistoren
TNz3
(Auswahl-)Transistor
h
Auswahlsignal
ZA1
Anschluß
ZA2
Anschluß
ZL1
Leitung
ZL2
Leitung
y
Ausgangssignal
yq
Komplementäres Ausgangssignal
SZ2
Speicherzelle
TPy1, TPy2, TNy1, TNy2
Transistoren
TNy3
(Auswahl-)Transistor
h
Auswahlsignal
VE1
Vorladeeinheit
TPp1, TPp2
Transistoren
pq
Auswahlsignal
VE2
Vorladeeinheit
TNp1, TNp2
Transistoren
p
Auswahlsignal
DE1
Datenübertragungseinrichtung
TP01, TP02
Transistoren
TP03
(Auswahl-)Transistor
sq
Auswahlsignal
DE2
Datenübertragungseinrichtung
TN01, TN02
Transistoren
TN03
(Auswahl-)Transistor
s<0>
Auswahlsignal


Anspruch[de]
Datenverarbeitungsvorrichtung mit

– zumindest einer Dual-Rail-Schaltungskomponente (1; 21) und

– einer Steuereinheit (2; 22) zur Erzeugung von Ansteuersignalen für die Dual-Rail-Schaltungskomponenten (1; 21),

dadurch gekennzeichnet, dass

– die Steuereinheit (2; 22) zum Empfang eines Betriebsart-Auswahlsignals (sm) eingerichtet ist,

– in Abhängigkeit des Betriebsart-Auswahlsignals (sm) Ansteuersignale (ctrl_sm) für angeschlossene Dual-Rail-Schaltungskomponenten (1; 21) erzeugt werden und

– die Schaltungskomponenten (1; 21) in Abhängigkeit der Ansteuersignale in einem Sicherheitsmodus oder in einem Stromsparmodus betreibbar sind, wobei im Stromsparmodus Vorladebeziehungsweise Entladevorgänge nur in Schaltungsteilen durchgeführt werden, zu deren Funktion dies erforderlich ist und wobei sowohl im Stromsparmodus als auch im Sicherheitsmodus komplementäre Signale verarbeitet werden.
Datenverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass in dem Stromsparmodus und in dem Sicherheitsmodus die gleiche Funktionalität der Dual-Rail-Schaltungskomponente (1; 21) gegeben ist. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Dual-Rail-Schaltungskomponente eine Speichervorrichtung (1) mit einer vorgeschalteten Precharge-Einheit (10) ist, die beim Lesen von Daten durch ein Precharge-Steuersignal (prq) deaktivierbar ist. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Dual-Rail-Schaltungskomponente ein Datenpfadregister (21) ist, das zum dynamischen Einfrieren von Registerzuständen eingerichtet ist, wobei die Steuereinheit (22) zur Erzeugung einer Steuersignalkombination eingerichtet ist, bei der im Stromsparmodus statt des dynamischen Einfrierens ein statisches Einfrieren erfolgt. Datenverarbeitungsvorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass das dynamische Einfrieren durch ein periodisches, alternierendes Kopieren von Signalzuständen zwischen zwei Speicherzellen (SZ1, SZ2) erfolgt und bei dem statischen Einfrieren das periodische alternierenden Kopieren zwischen den Speicherzellen verhindert ist. Verwendung der Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 5 in einer Chipkarte. Verfahren zum Betreiben einer Dual-Rail-Schaltungskomponente (1; 21), dadurch gekennzeichnet, dass die Dual-Rail-Schaltungskomponente (1; 21) alternativ in einem Sicherheitsmodus oder in einem Stromsparmodus betrieben wird, wobei im Stromsparmodus Vorlade- beziehungsweise Entladevorgänge nur in Schaltungsteilen durchgeführt werden, zu deren Funktion dies erforderlich und wobei sowohl im Stromsparmodus als auch im Sicherheitsmodus komplementäre Signale verarbeitet werden. Verfahren nach Anspruch 7,

wobei die Dual-Rail-Schaltungskomponente (1) mit Ansteuersignalen angesteuert wird, bei dem:

– in einem Sicherheitsmodus Ansteuersignale (ctrl_sm) zugeführt werden, durch die bei Dual-Rail-Signalen (bl, blq) innerhalb der Dual-Rail-Schaltungskomponente zwischen gültigen Dual-Rail-Signalzuständen Precharge-Zustände eingefügt werden, und

– in einem Stromsparmodus Ansteuersignale (ctrl_sm) zugeführt werden, durch die bei Dual-Rail-Signalen (bl, blq) innerhalb der Dual-Rail-Schaltungskomponente zwischen gültigen Dual-Rail-Signalzuständen nur dann Precharge-Zustände eingefügt werden, wenn dies für die Funktion der mit dem Dual-Rail-Signal (bl, blq) beaufschlagten Komponente (11) erforderlich ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com