-
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 Steuersignalkom bination 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 Strom sparmodus 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
beziehungs weise 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 gegen einander 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 wer den 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
Da tensignal 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 vorge laden. 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 „stati sches 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