-
Diese
Erfindung betrifft allgemein digitale Datenprozessoren und insbesondere
Prozessor/Speicher-Schnittstellenschaltungen und Verfahren.
-
Eine
konventionelle Mikroprozessor-Speicher-Schnittstelle schließt einen
Adressbus, einen Datenbus und einen Steuerbus ein, der mehrere Steuersignale
(z. B. Lesen/Schreiben) umfasst. Die Anzahl von benötigten Adressensignalleitungen hängt von
der Größe des Speichers
ab (d. h. die Anzahl der adressierbaren Speicherorte). Die Anzahl der
benötigten
Datensignalleitungen hängt
von der Art des verwendeten Mikroprozessors ab. Herkömmliche
Datenbusebreiten sind typischerweise n(8) Bits, wobei n eine ganze
Zahl ist, die größer oder
gleich 1 ist. Der Steuerbus weist eine Anzahl von Leitungen auf,
die mindestens zum Auswählen,
Lesen oder Schreiben auf den externen Speicher nötig sind.
-
Zum
Beispiel sind für
einen 8-Mbit-Speicher, der als 1024 kbits × 8 bits organisiert ist, 20 Adressleitungen
und acht Datenleitungen nötig.
Ein Speicherzugriff wird zunächst
durch Anwenden der Adresse eines Speicherort durchgeführt und
dann werden eine oder mehrere Steuerleitungen festgelegt, um den
erwünschten
Speicher Lese- oder Schreibzugriff durchzuführen. Für eine Speicherschreiboperation
ist es nötig,
auch den Datenbus mit den zu schreibenden Daten zu betreiben. Wenn
der 8 Mbit-Speicher stattdessen als 524k × 16 bits organisiert wird,
sind 19 Adressleitungen und 16 Datenleitungen
nötig,
um den gesamten Speicher anzusteuern.
-
In
dem Mikroprozessorfeld ist es auch bekannt, einen gemultiplexten
Adressen/Datenbus einzusetzen, wobei mindesten einige der Adresssignalleitungen
auch als Datenleitungen arbeiten. Zum Beispiel überträgt während eines ersten Teils eines
Speicherzugriffszyklus die gemultiplexte Leitung Adresseninformationen
an einen Speicher, während
in einem späteren Teil
des Zyklus dieselbe Leitung Daten überträgt, die in den Speicher geschrieben
oder von dem Speicher gelesen werden. In dieser Art von Architektur
ist es bekannt, eine adressegültige
oder ähnliche
Steuersignalleitung bereitzustellen, um einer externen Schaltung
anzuzeigen, wenn die gemultiplexte Adressen/Datenleitungen Adresseninformationen
im Gegensatz zu Daten übertragen.
Diese Steuersignalleitung wird typischerweise verwendet, um Adresseninformationen
in eine externe Zwischenspeichervorrichtung zwischenzuspeichern,
sodass die Adresseninformationen stabil bleiben, nachdem der gemultiplexte
Adresse/Datenbus von der Adressen- zu der Datenbetriebsart wechselt.
-
Der
Energieverbrauch einer digitalen integrierten Schaltung ist eine
Funktion einer Anzahl von Parametern, einschließlich einer Anzahl von externen
Ausgangssignalleitungen, die angesteuert werden und die Anzahl der
Zustände ändert sich
bei jeder Ausgabe. Diese Faktoren werden zunehmend wichtiger, wenn
man einen Mikroprozessor und einen externen Speicher in eine batteriebetriebene
Vorrichtung, wie ein tragbares, drahtloses Telefon, ein Mobiltelefon
oder einen Personal Communicator integriert. In einer solchen Vorrichtung
ist es wünschenswert, den
gesamten Energieverbrauch soweit wie möglich zu verringern, um die
Zeitdauer zwischen dem benötigten
Aufladen der Batterie zu erhöhen.
-
US-B-4.667.337
offenbart eine IC mit verringerten Zustandsänderungen.
-
Gemäß der Erfindung
weist ein Verfahren zu Verringerung des Energieverbrauchs eines
elektronischen Systems, wie ein drahtloses Telefon oder ein Mobiltelefon,
eine erste Vorrichtung und eine zweite Vorrichtung auf. Das Verfahren
schließt
die Schritte von Anspruch 1 ein.
-
Daher
stellt die Erfindung eine Technik bereit, um den Energieverbrauch
einer batteriebetriebenen Vorrichtung, durch Verringerung entweder
der Anzahl der zugeteilten Ausgabesignalleitungen oder die Anzahl
der Zustandsänderungen
bei jeder Ausgabe oder von beidem, zu verringern. Der Bus wird betrieben,
um den gesamten Energieverbrauch eines Systems, das den Bus und
Vorrichtung enthält,
durch Minimierung einer Anzahl von Signalzustandsänderungen
auf dem Bus zu verringern.
-
Der
Energieverbrauch einer batteriebetriebenen Vorrichtung wird durch
Verringern entweder der Anzahl von angesteuerten Ausgabesignalleitungen oder
der Anzahl der Zustandsänderungen
an jeder Ausgabe oder von beidem, verrigert. Diese Erfindung lehrt
in einem Aspekt die Konstruktion und den Betrieb einer Speicherschnittstelle
zwischen einem Mikroprozessor und einem Speicher, der die Energiemenge
verrigert, die verwendet wird, um den Speicherschnittstellenbus
anzusteuern und der auch die Anzahl an Verbindungen zwischen dem
Mikroprozessor und dem Speicher vermindert. In einem weiteren Aspekt
dieser Erfindung kann die Schnittstelle zwischen jeweils zwei Vorrichtungen
verwendet werden, die Informationen über einen Bus austauschen,
wie eine Mikroprozessorvorrichtung und eine periphere Vorrichtung,
wie eine DMA- (Direkt-Speicher-Zugriff) Steuerung oder eine serielle
oder parallele Schnittstellenvorrichtung.
-
In
einer bevorzugten Ausführungsform
der Erfindung ist der Bus ein gemultiplexter Adressen/Datenbus.
-
Das
Verfahren erzeugt vorzugsweise auch ein Steuersignal, das an den
Bus übertragen
wird, um eine Empfangsvorrichtung zu unterrichten, dass die Daten
(oder Adresse), die über
den gemultiplexten Adresse/Datenbus übertragen werden, vor der Verwendung
invertiert werden sollten. Die Empfangsvorrichtung invertiert dann,
als Reaktion auf das Steuersignal, die empfangenen Daten, wenn nötig.
-
Es
ist auch ein Speicher offenbart, der in einem Burstmodus durch Erhöhen oder
Vermindern der Speicheradressen unter Verwendung eines Taktsignals
arbeitet und der mit einer Energiesparschaltung arbeitet, um selektiv
Burstmodus-Daten, die von einem Speicher gelesen oder auf einen
Speicher geschrieben werden, zu invertieren oder nicht zu invertieren.
-
Gemäß einem
weiteren Aspekt der Erfindung werden ein System und eine elektronische
Vorrichtung in den unabhängigen
Ansprüchen
18 bzw. 26 definiert. Weitere Ausführungsform der Erfindung sind
in den angehängten
abhängigen
Ansprüchen festgeschrieben.
-
Die
Erfindung wird nun nur mittels Beispielen in Bezug auf die angehängten Zeichnungen
erklärt werden,
in denen:
-
1A ein
Blockdiagramm der Speicherschnittstellenschaltung ist, die gekoppelt
mit einer Speichermatrix gemäß einer
ersten Ausführungsform dieser
Erfindung gezeigt ist;
-
1B ein
Blockdiagramm der Speicherschnittstellenschaltung ist, die gekoppelt
mit einer Speichermatrix gemäß einer
zweiten, über
ein Burstmode-Leitung geleitete Ausführungsform dieser Erfindung
gezeigt ist;
-
1C ein
Blockdiagramm der Mikroprozessor-Schnittstellenschaltung ist, die
gekoppelt mit einer Mikroprozessorvorrichtung gezeigt ist, die zum Koppeln
mit der Speicherschnittstellenschaltung von entweder 1A oder 1B geeignet
ist;
-
2 einen
beispielhaften Speicherlesezugriffs-Zeitablauf gemäß einer
ersten Ausführungsform
dieser Erfindung darstellt, wobei ein Adressier-Zwischenspeicher-Freigabe-(LE)-Signal
einer Empfangsvorrichtung auf einem Bus bereitgestellt wird;
-
3 einen
beispielhaften Speicherlesezugriffs-Zeitablauf gemäß einer
zweiten Ausführungsform
dieser Erfindung darstellt, wobei ein Zwischenspeicher-Freigabe-Signal
an der Empfangsseite der Busabwicklung erzeugt wird;
-
4 einen
beispielhaften Speicherschreibezugriffs-Zeitablauf gemäß einer
ersten Ausführungsform
dieser Erfindung darstellt, wobei ein Adressen-Zwischenspeicher-Freigabe-(LE)-Signal auf
einem Bus bereitgestellt wird;
-
5 einen
beispielhaften Speicherschreibezugriffs-Zeitablauf gemäß einer
zweiten Ausführungsform
dieser Erfindung darstellt, wobei ein Adressen-Zwischenspeicher-Freigabe-Signal an
der Empfangsseite der Busabwicklung erzeugt wird;
-
6 einen
beispielhaften Speicherburstlesezugriffs-Zeitablauf gemäß eines
Aspekts dieser Erfindung darstellt;
-
7 einen
beispielhaften Speicherburstschreibzugriffs-Zeitablauf gemäß eines
Aspekts dieser Erfindung darstellt;
-
8 ein
vereinfachtes Blockdiagramm der beispielhaften tragbaren Kommunikationsvorrichtung,
die eine Prozessor/Speicher-Schnittstelle gemäß dieser Erfindung einschließt.
-
1A ist
ein Blockdiagramm einer ersten Ausführungsform einer Mikroprozessor/Speicher-Schnittstelle
(MMI) 1. Die MMI 1 ist an eine Speichermatrix 2 durch
einen Adressport 2A, einen Datenausgabeport 2B,
und ein Dateneingabeport 2C gekoppelt. Ein gemultiplexter
Adressen/Datenbus (z. B. 16-Bit breit) ist eine Eingabe/Ausgabe
auf einem ADDR/DATEN-Bus 1A. Zusätzlich werden Adresseninformationen
durch einen getrennten, nicht gemultiplexten ADDR-Bus 1B bereitgestellt.
Die Breite des zusätzlichen
ADDR-Buses 1B hängt
von der Größe der Speichermatrix 2 ab.
In einigen Ausführungsformen,
in denen die Speichermatrix 2 eine Größe hat, die komplett durch
einen ADDRIDATEN-Bus 1A adressiert werden kann, kann der
ADDR-Bus eliminiert werden. Es wird auch ein Steuerbus 1C mit
einer Chipauswahl-(CS)-Signalleitung,
einer Schreibe-(WR)-Signalleitung und einen Lese-(RD)-Signalleitung
bereitgestellt. Mehr oder wenigere Signalleitungen können eingeschlossen
werden. Zum Beispiel kann in einigen Ausführungsformen eine einzelne
RD/WR-Signalleitung bereitgestellt werden. Der ADDR/DATEN-Bus 1A,
der ADDR-Bus 1B und der STEUER-Bus 1C sind alle an geeignete
Datenprozessoren, typischerweise ein Mikroprozessor (nicht in 1 gezeigt) gekoppelt und können auch
an weitere Vorrichtungen gekoppelt werden, wie eine DMA-Steuerung
(nicht gezeigt).
-
Die
MMI 1 umfasst weiter einen Eingabe/Ausgabe (I/O)-Puffer 3,
der an den ADDR/DATEN-Bus 1A und an die RD-Steuerleitung
gekoppelt ist, eine Ausgabe-(relativ zu der Speichermatrix 2)-Dateninversions-Exclusiv-OR-(XOR)-Einheit 4, die
an die Eingabe des I/O-Puffers 3 gekoppelt ist, eine Eingabe-Dateninversions-XOR-Einheit 5,
die an die Ausgabe des I/O-Puffers 3 gekoppelt ist, einen Datenbus-Erfassungs-Zwischenspeicher 6,
der an die Ausgabe des I/O-Puffers 3 gekoppelt ist, ein Adressenzwischenspeicher 7,
der an die ADDR-Informationenausgabe von dem I/O-Puffer 3 (in
einer Ausführungsform)
oder an die Ausgabe der Eingabe-Dateninversions-XOR-Einheit 5 (in
einer weiteren Ausführungsform)
gekoppelt ist und eine Zwei-Port-Datenvergleichseinheit 8 mit
einem ersten Port, der an die Datenausgabe 2B der Speichermatrix 2 gekoppelt
ist, ein zweiter Eingabeport, der an die Ausgabe des Datenerfassungszwischenspeichers 6 gekoppelt
ist und ein Ausgabe-Energiesteuersignal (mit
PSinternal bezeichnet), das an eine Steuereingabe der
Ausgabe-Dateninversions-XOR-Einheit 4 und
an eine Eingabe des PS-Sende-Empfängers 9 gekoppelt
ist. Eine Ausgabe des PS-Sende-Empfängers 9 ist an die
Steuereingabe der Eingabe-Dateninversions-XOR-Einheit 5 gekoppelt.
Der Betrieb der MMI 1 in Verbindung mit der Speichermatrix 2 wird
weiter unten detaillierter beschrieben werden.
-
Es
ist zunächst
klar, das die MMI von 1A kein getrenntes Steuersignal
zum Zwischenspeichern des ADDR-Buses 1B bereitstellt. In
der dargestellten Ausführungsform
wird das Adressen-Zwischenspeicher-Signal mit kombinatorischer Logik (nicht
gezeigt) aus den CS-, WR- und RD-Signalen erzeugt. Des weitern zeigt
die dargestellte Ausführungsform
eine Implementation, in der die gemultiplexte Adresse auf dem herkömmlichen
ADDR/DATEN-Bus 1A in die Energiesparfunktion eingeschlossen
ist. Die gepunktete Verbindung in 1A von
der Ausgabe des I/O-Puffers 3 zum Adressen-Zwischenspeicher 7 wird
verwendet, wenn die Speicheradresse nicht in der Energiesparfunktion
eingeschlossen ist.
-
Der
niedrige Verbindungs-Mikroprozessor/Schnittstellen-Bus verwendet
den gemultiplexten Adresse/Datenbus 1A, der verwendet wird,
um Speicherorte zu adressieren, um auch die Daten zu übertragen,
die aus der Speichermatrix gelesen oder auf die Speichermatrix 2 geschrieben
wurden. Dieser Ansatz setzt voraus, dass die Adresseninformationen in
oder benachbart zu der Speichermatrix 2 gespeichert werden.
Zu diesem Zweck wird ein Steuersignal, das als „Adresse-Zwischenspeicher-Freigabe" bezeichnet wird,
im Folgenden mit „LE" bezeichnet, verwendet
wird. Das LE-Signal bewirkt ein Speichern des Zustandes des herkömmlichen
ADDR/DATEN-Buses 1A als Adressinformation an seiner fallenden
Flanke. Wenn das LE-Signal aktiv ist, d. h. in einem hohen Zustand,
wird die Information, die auf dem herkömmlichen ADDR/DATEN-Bus 1A dargestellt
wird, als Adresseninformation interpretiert. Wenn das LE-Signal
in einem niedrigen Zustand ist, wird die Information als Daten interpretiert
und unter Verwendung der anderen Steuersignale gibt die Speichermatrix 2 entweder
Daten aus, die von einem Mikroprozessor gelesen werden, oder schreibt
Daten auf einen Speicherort, der vorzugsweise adressiert wurde,
als das LE-Signal
hoch war.
-
Wie
oben angemerkt, kann das LE-Signal weggelassen werden, wenn der
Zeitablauf des Chip-Freigabe(CE)-Signal und die Lese- und Schreib-
(RD- und WR-)-Signale so eingerichtet sind, dass der Adressen-Zwischenspeicher 7 transparent ist.
In diesem Fall werden die Informationen auf dem herkömmlichen
ADDR/DATEN-Bus 1A als Adresseninformation interpretiert,
solange wie CE aktiv ist (z. B. niedrig) und die RD und WR inaktiv
sind (z. B. hoch). Wenn diese Bedingungen herrschen, ist es angezeigt,
dass ein Speicherzugriffszyklus im Gange ist und dass die Adresseninformationen
auf dem herkömmlichen
ADDR/DATEN-Bus 1A vorhanden sind. Wenn entweder die RD
oder die WR Übergänge zu dem
aktiven Zustand signalisiert, ist es angezeigt, dass Daten von der
Speichermatrix 2 an den herkömmlichen ADDR/DATEN-Bus 1A zu
lesen sind, bzw. von dem herkömmlichen
ADDRIDATEN-Bus 1A an die Speichermatrix einzugeben sind.
Wenn entweder das RD- oder das WR-Signal aktiv werden, wird die
Information auf dem herkömmlichen
ADDR/DATEN-Bus 1A in dem Adressen-Zwischenspeicher 7 als
Adresseninformation zwischengespeichert.
-
Die
dargestellte MMI 1, die den gemultiplexten Adresse/Datenbus 1A verwendet,
verringert daher die Datenbusverbindungen, die mit einem herkömmlichen
Mikroprozessorbus nötig
sind. Da sich die Adressen und die Daten denselben Bus teilen, wird
die Geschwindigkeit der Daten, die unter Verwendung der Niedrigenverbindungs-MMI 1 gelesen werden
können,
um ungefähr
die Hälfte
reduziert, verglichen mit einem herkömmlichen nicht gemultiplexten
Bus. Um diese Verminderung der Zugriffszeit zu kompensieren, werden
Daten, die normallerweise mit einem 8-bit-Format gelesen werden,
in einem 16-bit-(oder 32-bit oder 64-bit)-Format gelesen. Da die
Anzahl der benötigten
Adressenleitungen typischerweise 16 übersteigen, muss die Ausführungsform
von 1A keinen zusätzlichen
Zuschlag von dem Verbindungsstandpunkt aus übernehmen.
-
Des
Weiteren kann die Datenrate unter Verwendung eines Burstmodus-Zugriffs
erhöht
werden, in dem die erste Adresse eines Datenblocks angewandt und
zwischengespeichert wird, und die die Adresse in Wesentlichen durch
Anwendung eines extern erzeugten oder intern erzeugten Takt-(CLK)-Signals
nach jeder Daten Lese/Schreib-Vorgang erhöht wird. Diese Art von Vorgang,
die Zugriff zu sequenziellen Speicherorten voraussetzt, eliminiert
daher den Bedarf eine neue Adresse nach jedem Datenvorgang zuzuordnen.
Verschiedenen Arten von Burstmodus-Vorgänge können verwendet werden, aber
sie teilen sich alle im Allgemeinen die Idee, dass nur die erste
Adresse der Speicherorte, auf die zugegriffen wird, der Speichermatrix 2 geboten
werden. Die Länge
des Bursts kann variieren (d. h. die Anzahl der aufeinanderfolgenden
Lese- oder Schreibzugriffe).
-
Zum
Beispiel beschreibt 1B eine in einer Leitung geleiteten
Burstmodus-Ausführungsform
mit einem Burststeuerlogikblock 11, gekoppelt an die CLK-Eingabe.
Der Burststeuerlogikblock 11 stellt an drei Multiplexer
(MUX) 11A, 11B und 11C Steuerausgaben
bereit. Auch ist der Datenausgabeport 2B der Speichermatrix 2 eingerichtet,
um Mehrfach-Ausgabebytes oder -Wörter
(z. B. vier 16-bit-Ausgabewörter
parallel) einer entsprechenden Anzahl von Daten Leitungszwischenspeichern 2D bereitzustellen.
Die Burststeuerlogikblock 11 gibt sequenziell die Datenworte
aus, die in dem Datenleitungszwischenspeicher 2D (DATEN1–DATEN4)
mit einer Rate, die durch den Übergang
des CLK-Signals aufgebaut wird und daher einen Hochgeschwindigkeits-Speicherzugriff bereitstellt,
bereitstellen.
-
Wie
vorher angezeigt, wird Energie in einem digitalen System verbraucht,
wenn ein Signal einen Zustand ändert.
Insbesondere wird Energie verbraucht, wenn eine kapazitive Last,
die mit Signalleitungsspuren, Vorrichtungs-Endgeräten und
Anschluss-Endgeräten
verknüpft
ist, entweder geladen oder entladen wird. Typischerweise ist die
interne kapazitive Last einer digitalen integrierten Schaltung niedriger
als die kapazitive Last, die auf dem Verbindungspegel der gedruckten
Schaltung gemessen wird.
-
Der
Erfinder hat festgestellt, dass ein Energiesparvorteil erhalten
werden kann, wenn die Menge an Signalübergängen auf die externen Verbindungen,
z. B. zwischen zwei digitalen Schaltungen minimiert werden kann.
Deshalb wird, auf einen breiten Bus, wie einem Adresse/Datenbus
in einem Mikroprozessor-System, der gesamte Energieverbrauch reduziert,
wenn die zu übermittelnden
Daten auf einem externen Bus einen minimale Anzahl von Signalübergängen auf
den externen Verbindungen (z. B. Signalleitungsspuren oder Vorrichtung
I/O-Stifte) bewirken.
-
Gemäß einem
Aspekt dieser Erfindung wird eine Verringerung des Energieverbrauchs
erreicht, durch Vergleichen der Information (z. B. Daten oder Adressen),
die vorher auf dem Bus auftritt, mit den Informationen, die über den
Bus übertragen
werden, durch Ermitteln, ob eine Inversion der zu übermittelnden
Daten bewirken wird, dass weniger Signalübergänge auftauchen werden, als
wenn die Information übertragen
wird, ohne invertiert zu werden, und, wenn dem so ist, die Daten
vor der Übertragung
zu invertieren. Um anzuzeigen, dass die Information invertiert wurde,
wird ein Steuersignal erzeugt und über den Bus übertragen,
um die Empfangsvorrichtung zu informieren, dass die Information
noch einmal invertiert werden muss, bevor jegliches weitere Verarbeiten
erfolgen kann. In den Ausführungsformen
der 1A und 1B führt diese
Funktion das PS-Signal aus und die Datenvergleichseinheit 8,
in Kombination mit der Buserfassungszwischenspeichers 6 führt die
Ermittlung durch, wenn einen Inversion der Daten benötigt wird.
-
Insbesondere
und in Bezug auf 1A werden Daten, die auf dem
herkömmlichen
ADDR/DATEN-Bus 1A auftreten, bitweise mit den Daten, die vorher
auf dem herkömmlichen
ADDR/DATEN-Bus 1A aufgetreten sind, verglichen. Zum Beispiel
wird der momentane Zustand des Datenbuses LSB (D0momentan)
mit den neuen Daten verglichen, die auf D0 (D0nächst)
ausgegeben werden. Wenn zwei Datenbits gleich sind (D0momentan =
D0nächst),
wird eine logische 0 von der Bitvergleichslogik angezeigt und, wenn
zwei Datenbits nicht gleich sind, (D0momentan = NOT(D0 nächst)),
dann zeigt die Bitvergleichslogik eine logische 1 an (eine XOR-Funktion).
Das Ergebnis der Vergleiche von allen Bits (z. B. D0– D15 für einen 16-bit-Bus)
werden dann untersucht und, wenn es mehr (oder die gleiche Anzahl)
gleiche Bits als ungleiche Bits auf dem herkömmlichen ADDR/DATEN-Bus 1A gibt,
werden die nächsten
Daten nicht invertiert, bevor es von dem herkömmlichen ADDR/DATEN-Bus 1A ausgegeben
wird und das PS-Signal nimmt einen ersten Zustand an. Das ist PSinternal und PS = 0. Wenn es mehr ungleiche
wie gleiche Bits auf dem herkömmlichen
ADDR/DATEN-Bus 1A gibt, werden die nächsten Daten invertiert, bevor
sie ausgegeben werden und das PS-Signal nimmt einen zweiten Zustand
an. Das ist PSinternal und PS = 1. Das PS-Signal
ist ein herkömmliches
Signal für
alle Vorrichtungen, die mit dem herkömmlichen ADDR/DATEN-Bus 1A verbunden
sind. Die Vorrichtung, die die Daten erhalten soll untersucht den
Zustand des PS-Signals und invertiert die empfangenen Daten wenn
nötig.
Da nur eine Vorrichtung zur einer Zeit Daten zu dem herkömmlichen ADDR/DATEN-Bus 1A zuordnen
kann, ist nur die eine bidirektionale PS-Signalleitung nötig. Diese Ausführungsform
setzt daher die Verwendung eines herkömmlichen Hochimpedanz und Open-Collector-Bustreiber
für den
ADDR/DATEN-Bus und die PS-Signal-Leitung voraus.
-
In
der in einer Leitung geleiteten Burstmodus-Ausführungsform von 1B kann
das PS-Signal gemäß zweier
verschiedener Ansätze
erzeugt werden. Da die Erzeugung des PS-Signals eine zunehmende Verzögerung zu
der Lesereaktion der Speichermatrix 2 hinzufügt, gemäß einem
ersten Ansatz, wird die Reaktionszeit für das erste Wort, das von der
Speichermatrix 1A ausgegeben wird (z. B. das Wort, das
in den DATEN1-Zwischenspeicher 2D gelesen wird) verringert.
Dies wird erreicht, indem das erste Wort nicht mit dem Zwischenspeicher-Buszustand
in dem Buserfassungszwischenspeicher 6 verglichen wird,
sondern stattdessen, indem das erste Wort direkt an dem ADDR/DATEN-Bus 1A durch den
Multiplexer 11A, XOR-Einheit 4 und I/O-Puffer 3 ausgegeben
wird. In diesem Fall wird das PS-Signal gesetzt, um anzuzeigen,
dass keine Inversion an das Ausgabewort angelegt wurde. Wenn das
Wort in dem DATEN1-Zwischenspeicher ausgegeben wird, wird das Wort,
das in dem DATEN2-Zwischenspeicher gespeichert ist, mit dem DATEN1-Wort
(das immer noch in dem DATEN1-Zwischenspeicher gespeichert ist)
unter Verwendung des Multiplexers 11B und 11C und
der Datenvergleichseinheit 8 verglichen. Das PS-Signal
wird dementsprechend gesetzt und das Wort, das in dem DATEN2-Zwischenspeicher
gespeichert ist, wird dann zu dem ADDR/DATEN-Bus 1A gelenkt,
wenn das CLK-Signal in invertierter oder nicht invertierter Form
angelegt wird, wie durch die Datenvergleichseinheit 8 bestimmt.
Wenn das Wort in dem DATEN2-Zwischenspeicher ausgegeben wird, wird
das Wort, das in dem DATEN3-Zwischenspeicher gespeichert ist, mit
dem zwischengespeicherten DATEN2-Word unter der Verwendung des Multiplexer 11B und 11C und
das Datenvergleichseinheit 8 verglichen und das PS-Signal
wird dementsprechend gesetzt. Dasselbe gilt für das Wort, das in dem DATEN4-Zwischenspeicher
gespeichert ist, das mit dem DATEN3-Wort verglichen wird. In dieser Ausführungsform
wird der Vergleich mit Daten als Ausgabe der Speichermatrix 2 gemacht
und nicht die aktuell invertierten oder nicht-invertierten Daten,
die zu dem ADDR/DATEN-Bus 1A gelenkt werden. Da jedoch
die Vergleichslogik 8 den Zustand des PS-Signals für jedes
Ausgabewort kennt, ist der Zustand der Daten des ADDR/DATEN-Buses
auch bekannt.
-
In
dem zweiten oben erwähnten
Ansatz und für
den Fall, in dem die PS-Erzeugungs-Zeitverzögerung für das erste Ausgabewort nicht
unerwünscht ist,
wird das Wort, das in dem Daten1-Zwischenspeicher gespeichert ist,
mit dem vorherigen Zustand des Adressbusses verglichen, der in dem
Buserfassungs-Zwischenspeicher 6 gespeichert ist und das PS-Signal
wird dementsprechend gesetzt.
-
2 stellt
den Lesezugriff-Zeitablauf für
die niedrige Verbindung dar, wobei der Niedrig-Energie-ADDR/DATEN-Bus 1A das
LE-Signal verwendet. Dasselbe Zeitablaufdiagramm für den Fall,
in dem das LE-Signal intern von dem CE und RD/WR-Signal erzeugt
wird, ist in 3 gezeigt. In 2 ist
der Adresse/Daten-Bus 1A gezeigt, wie er zu einem Hochimpedanz-Zustand
zwischen dem Adresse-Zulässig-
und dem Daten-Zulässig-Zustand übergeht. Wie
in 3 angezeigt, kann jedoch in einigen Ausführungsformen
der Adresse/Daten-Bus 1A nicht in einen Hochimpedanz-Zustand
zwischen dem Übergang
zwischen dem Adresse-Zulässig-
und dem Daten-Zulässig-Zustand
eintreten.
-
Der
zu lesende Speicherort wird von dem Mikroprozessor adressiert und
der Adressen-Zwischenspeicher
wird an dem Punkt A in den 2 und 3 transparent
gemacht. An Punkt B wird die Adresse in dem Adressen-Zwischenspeicher 7 zwischengespeichert.
Zwischen Punkt A und B wird der Zustand des PS-Signals getestet,
um zu ermitteln, ob die zwischenzuspeichernde Adresse vor dem Zwischenspeichern
invertiert oder nicht invertiert werden muss. Diese (optionale)
Betriebsart erlaubt der Energiesparfunktion auch für die Adresseninformation verwendet
zu werden, die über
den herkömmlichen ADDR/DATEN-Bus 1A übertragen
wird. Wenn die Adresse zu invertieren ist, wird dies automatisch
von der XOR-Einheit 5 unter der Steuerung des Eingabe-PS-Signals
von dem Sende-Empfänger 9 ausgeführt.
-
An
Punkt B wird der Zustand des herkömmlichen ADDR/DATEN-Bus 1A in
dem Buserfassungszwischenspeicher 6 zur Energiesteuer-Analyse
erfasst. In diesem Fall sind die erfassten Daten gleich der Adresseninformation,
die über
den herkömmlichen
ADDR/DATEN-Bus 1A übertragen
wurden. Die erfassten Daten werden dann mit den Daten, die auf dem
Speichermatrix-Datenausgabe-Bus 2B auftreten, verglichen,
wobei die Daten aus dem adressierten Speicherort ausgelesen werden.
Das Ergebnis des Vergleichs wird als PSinternal und
PS-Signal am Punkt C ausgegeben, d. h. nachdem die Datenausgabe
von der Speichermatrix 1 stabil geworden ist. Der Zustand
der PS-Signals-Ausgabe von dem PS-Sende-Empfänger 9 zeigt der Lesevorrichtung
(z. B. dem Mikroprozessor) an, dass die zulässigen Daten, die auf dem herkömmlichen
ADDR/DATEN-Bus 1A am Punkt C ausgegeben werden, von dem
Empfänger
vor der Weiterverarbeitung invertiert oder nicht invertiert werden
müssen.
-
Es
kann daher gesehen werden, dass in diese Ausführungsform der Zustand des
herkömmlichen ADDR/DATEN-Bus 1A am
Beginn des Speicherzugriffzyklus mit dem benötigten Zustand des ADDR/DATEN-Buses 1A am
Ende des Zyklus verglichen wird. Das bedeutet, die Eingabe-Adresse-Information
wird mit das Ausgabe-Daten-Information verglichen. Wenn das Lenken
der Dateninformation an den ADDR/DATEN-Bus 1A mehr als
eine vordefinierte Anzahl von Datenleitungsübergängen bewirkt, dann werden die
Ausgabe-Daten von
der XOR-Einheit 4 unter der Steuerung des PSinternal-Sinals
vor dem Eingeben der Daten in den I/O-Puffer 3 invertiert.
-
Als
Beispiel wird angenommen, dass die Adresse, die über den ADDR/DATEN-Bus 1A übertragen
wird, FFED ist (alle Beispiel gehen von hexadezimalen Darstellungen
aus) und weiter wird angenommen, dass die Ausgabedaten von dem adressierten
Speicherort FFFF ist. In diesem Fall werden nur zwei Bits an den
ADDR/DATEN-Bus 1A übertragen,
die Ausgabe-Daten werden nicht invertiert und die PS-Signal-Leitung
wird null sein. Wenn stattdessen die Daten, die an demselben Ort
gespeichert werden 2480 wären,
wären eindeutig
mehr als 50 % der ADDR/DATEN-Bus-Signaleleitungen nötig, um den
Zustand zu ändern.
In diesem Fall werden die Daten invertiert (und als DB7F übermittelt)
und die PS-Signalleitung
wird eine Eins sein. Die Empfangsvorrichtung, die auf die PS-Signalleitung
reagiert, wird dann die Daten zurück zu 2480 invertieren, bevor
sie verwendet.
-
4 zeigt
den Schreibzugriffs-Zeitablauf unter Verwendung des LE-Signals.
Der Schreibzugriffs-Zeitablauf, der nicht das LE-Signal verwendet, ist
in 5 gezeigt. In diesem Fall wird der zu schreibende
Speicherort von dem Mikroprozessor adressiert und der Adressen-Zwischenspeicher 7 wird
an dem Punkt A in den 4 und 5 transparent
gemacht. An Punkt B wird die Adresse durch den Adressen-Zwischenspeicher 7 zwischengespeichert. Zwischen
Punkt A und B wird der Zustand des PS-Signals getestet, um zu ermitteln,
ob die zwischenzuspeichernde Adresse vor dem Zwischenspeichern invertiert
oder nicht invertiert werden muss. Wie zuvor erlaubt diese (optionale)
Betriebsart der Energiesparfunktion auch für die Adresseninformation verwendet zu
werden, die über
den herkömmlichen
ADDR/DATEN-Bus 1A übertragen
wird. Wenn die Adresse zu invertieren ist, wird dies automatisch
von der XOR-Einheit 5 unter der Steuerung des Eingabe-PS-Signals von dem Sende-Empfänger 9 ausgeführt.
-
Da
dies eine Schreib-Operation ist, ist es nicht nötig, den Zustand des ADDR/DATEN-Buses 1A an
dem Punkt B zu erfassen. Das PS-Signal, das durch die Schreibvorrichtung
(z. B. einen Mikroprozessor, eine DMA-Steuerung, usw.) erzeugt wird, wird
im Gegensatz zu der XOR-Einheit 5 verwendet, um Daten,
wenn nötig,
vor der Anwendung der Daten in dem Speichermatrix-Eingabeport 2C zu
invertieren. Die Inversion wird durch den Zustand des PS-Signals,
wie es von dem PS-Sende-Empfänger 9 empfangen
wurde, gesteuert.
-
Des
Weiteren wird gemäß einem
Aspekt dieser Erfindung die Burstmodus zunächst zum Lesen verwendet, obwohl
es auch für
Schreiboperationen verwendet werden kann. Die Verwendung des Burstmodus
reduziert den Zuschlag, den die Adresse auf dem ADDR/DATEN-Bus 1A bewirkt.
Dies ist besonders wichtig auf dem niedrigen Verbindungsbus, auf dem
die Adressen- und Dateninformationen auf demselben physikalischen
Bus gemultiplext werden. Der Zuschlag wird auf 1/BL reduziert, wobei
BL die Anzahl der Zugriffe ist, die während jedes Bursts durchgeführt werden.
-
Wie
in 6 oder 7 dargestellt, wird die erste
Adresse in dem Burstmodus angewendet, um den internen Speicherort
des Burstzugriffs anzuzeigen. In dem Burstzugriffsmodus wird die
Adresse dann durch die Anwendung eines externen Takt-(CLK)-Signals
erhöht,
der die Adresse intern auf die ausgewählte Vorrichtung erhöht. Der
Takt, der verwendet wird, um die Adresse in dem Burstzugriffsmodus
zu erhöhen,
steigert auch die Energiesparfunktion, durch Minimierung der Anzahl
der Übergänge auf
dem ADDR/DATEN-Bus 1A.
-
In
dieser Ausführungsform
kann der Adressen-Zwischenspeicher 7 der 1A und 1B durch
einen parallel belasteten Binärzähler, der
die Adresseninformationen auf dem Übergang der LE (intern oder
extern erzeugt) speichert und die dann anschließend durch das CLK-Signal erhöht wird. Wenn
erwünscht
kann eine weiteres Bussignal verwendet werden, um die Richtung (DIR)
der Zählung anzuzeigen
(d. h. aufwärts
oder abwärts),
wodurch fortlaufende Speicherzugriffe zu höheren oder niedrigeren Speicheradressen
ermöglicht
werden.
-
Obwohl
das LE-Signal verwendet werden kann, um die erste Adresse in dem
Burstzugriffsmodus zwischenzuspeichern, ist in den Zeitablaufdiagrammen
der 6 und 7 das LE-Signal ausgelassen
und das Adressen-Zwischenspeichersignal wird intern erzeugt, wie
oben beschrieben.
-
In
Bezug auf 6 in dem Burstlese-Vorgangs-Fall
wird die erste Adresse in dem Burstmoduszugriff angewandt und der
interne Adressen-Zwischenspeicher in der Speichervorrichtung ist
zwischen Punkt A und Punkt B transparent. Die Daten, die auf dem
ADDR/DATEN-Bus 1A auftauchen, werden als Adresseninformationen
von Punkt A nach Punkt B interpretiert. An Punkt B wird die Adresse zwischengespeichert.
Der Zustand des PS-Signals wird zwischen Punkt A und Punkt B ausgewertet
und die Adresse wird invertiert oder nicht invertiert, bevor sie
gemäß dem Zustand
des PS zwischengespeichert wird. Der Zustand des ADDR/DATEN-Bus
kann an Punkt B zur Energieanalyse erfasst werden, wie oben für die Leseoperation
der 2 oder 3 beschrieben wird, wenn das
erste Ausgabewort von dem Daten1-Zwischenspeicher mit dem Zustand
des Adressbus verglichen werden muss. In diesem Fall wird der Zustand
des ADDR/DATEN-Bus 1A an Punkt B mit den Daten, die von
dem adressierten Speicherort gelesen wurden unter Verwendung der Datenvergleichseinheit 8 verglichen.
Das Ergebnis des Vergleichs wird durch den Zustand des PSinternal-Signals angezeigt und die Ausgabedaten
werden von der XOR-Einheit 4 invertiert, wenn nötig. Die
Daten werden durch den Mikroprozessor von dem ADDR/DATEN-Bus 1A an
der steigenden Flanke des CLK-Signals gelesen. Die steigende Flanke
des CLK-Signals wird auch verwendet, um die interne Adresse, die
von dem Zähler 7 gehalten
wird, zu erhöhen
oder zu erniedrigen. Die Adressen-Erhöhung/Erniedrigung hängt vom
Typ des implementierten Burstmodus ab. Das Ergebnis des nächsten Vergleichs
wird unter Verwendung des PSinternal-Signals angezeigt
und wird der Lesevorrichtung als PS-Signal an der nächsten steigenden Flanke des
CLK-Signals ausgegeben, oder wenn es der letzte Zugriff in dem Burst
ist, an der steigenden Flanke des RD-Sigals.
-
Die
Burstmodus-Schreibe-Zeitablauf ist in 7 gezeigt.
Die Startadresse ist durch den Adressenzähler 7 zwischengespeichert
und die Adresse wird anschließend
durch das CLK-Signal
erhöht. Schreiben
unter Verwendung des Burstmodus schließt eine Bewertung des PS-Signals durch die Schreibvorrichtung
ein und es ist keine Energiesparanalyse durch die Empfangsvorrichtung
nötig.
Die eingegebenen Daten werden invertiert oder nicht invertiert,
gemäß dem PS-Signal,
bevor es an den adressierten Speicherort geschrieben wird.
-
Das
Adressen-Zwischenspeichern wird wie oben beschrieben ausgeführt. An
der steigenden Flanke des CLK-Signals werden die Daten auf dem adressierten
Speicherort geschrieben. Das PS-Signal wird vor dem Schreibvorgang
bewertet, um die Daten dementsprechend zu konvertieren. Für eine letzten
Schreibzugriff des Bursts werden die Daten durch die steigende Flanke
des WR-Signals geschrieben.
-
In
Bezug auf 8 wird ein drahtloses Benutzerendgerät oder eine
Mobilstation 10 bereitgestellt, wie, aber nicht begrenzt
auf, ein Mobilfunktelefon oder einen Personal Communicator, der
konstruiert ist, um die Prozessor/Speicher-Schnittstelle 1 dieser
Erfindung einzuschließen.
Die Mobilstation 10 schließt eine Antenne 12 zum Übertragen
von Signalen an oder zum Empfangen von Signalen von einer Basisseite
oder Basisstation ein.
-
Die
Mobilstation schließt
einen Modulator (MOD) 14A, einen Sender 14, einen
Empfänger 16, einen
Demodulator (DEMOD) 16A und ein Steuerung 18 ein,
die Signale dem Sender 14 bereitstellt bzw. Signale von
dem Empfänger 16 empfängt. Diese
Signale schließen
Signalisierungs-Informationen gemäß dem Luftschnittstellen-Standard
des anwendbaren zellulären
Systems und auch Benutzergeschwindigkeit und/oder von Benutzern
erzeugte Daten ein. Der Luftschnittstellenstandard kann jeder geeignete
Standard zum Ermöglichen
von bidirektionalen Stimmen- und/oder Datenkommunikationen mit der
Mobilstation 10 sein.
-
Es
ist klar, dass die Steuerung 18 auch die Schaltkreise einschließt, die
zur Implementierung von akustischen und logischen Funktionen der
Mobilstation benötigt
werden. Als Beispiel kann die Steuerung 18 eine digitale
Signalprozessorvorrichtung, eine Mikroprozessorvorrichtung 18A und
verschiedene Analog-Zu-Digital-Wandler, Digital-Zu-Analog-Wandler und
weitere Trägerschaltungen
(support circuits) umfassen. Die Steuer und Signalverarbeitungsfunktionen
der Mobilstation werden zwischen diesen Vorrichtungen gemäß ihrer
jeweiligen Fähigkeiten
zugeordnet.
-
Eine
Benutzerschnittstelle schließt
einen herkömmlichen
Telefonhörer
oder Lautsprecher 17, ein herkömmliches Mikrofon 19,
eine Anzeige 20 und eine Benutzereingabevorrichtung, typischerweise eine
Tastatur 22 ein, die alle mit der Steuerung gekoppelt werden.
Die Tastatur schließt
die herkömmlichen
numerischen (0–9)
und verwandte Tasten (#, *) 22a und weitere Tasten 22b ein,
die zum Betreiben der Mobilstation 10 verwendet werden.
Diese weiteren Tasten 22b können zum Beispiel eine SENDE-Taste,
verschiedene Menü-Scroll-Tasten und eine PWR-Taste
einschließen.
Die Mobilstation 10 schließt auch eine Batterie 26 zum
Antreiben der verschiedenen Schaltungen, die nötig sind, um eine Mobilstation
zu betreiben.
-
Die
Mobilstation 10 schließt
auch verschiedene Speicher ein, die kollektiv als Speicher 24 gezeigt
werden, in denen mehrere Konstanten und Variablen gespeichert werden,
die von der Steuerung 18 während des Betriebs der Mobilstation
verwendet werden. Zum Beispiel speichert der Speicher 24 die Werte
von verschiedenen zellulären
Systemparametern und das Nummernzuordnungsmodul (NAM). Ein Betriebsprogramm
zum Steuern des Betriebs der Steuerung 18 wird auch in
dem Speicher 24 gespeichert (typischerweise in einer ROM-Vorrichtung). Der Speicher 24 kann
auch Daten speichern, einschließlich
Benutzernachrichten, die von dem BMI 32 empfangen, bevor
die Nachricht dem Benutzer angezeigt wird. Der Speicher 24 schließt die Lese/Schreib-Speichermatrix 1 ein,
die oben in Bezug auf die 1A und 1B beschrieben
werden.
-
Gemäß dieser
Erfindung ist das MMI 1 innerhalb der Speichermatrix 1 eingeschlossen
und eine weitere Schnittstelle 1' wird in der Mikroprozessor-Vorrichtung 18a eingeschlossen,
die einen Teil der Steuerung 18 bildet. Insbesondere ist
die MMI 1 mit der Speichermatrix 2 verknüpft und
der Mikroprozessor 18A schließt eine Schnittstellen Schaltung 1', zum Erzeugen
des PS-Signals und zum selektiven Invertieren der Daten ein, die
von der Speichermatrix 1 als Funktion des PS-Signals, das
von der Speichermatrix 1 empfangen wurde.
-
In
Bezug auf 1C schließt der Mikroprozessor 18A links
von der gestrichelten Linie herkömmliche
Adressenerzeugungsschaltungen 18B, Daten I/O-Schaltkreise 18C,
eine Steuerbuserzeugungseinheit 18D und einen Adressen/Daten-Multiplexer
(MUX) 18E ein. Verschiedene Buspuffer und Sende-Empfänger werden
zur Vereinfachung nicht gezeigt. Die Steuerbuserzeugungseinheit 18D ist modifiziert,
um das CLK-Signal während
des Burstmodus-Schreib- oder -Lesezugriffs zu erzeugen. Gemäß dieser
Erfindung schließt
der Mikroprozessor 18A auch die Schnittstelle 1' ein, die eine
Adressen/Daten-Inversions-XOR-Einheit 4' und 5', einen Adressen/Daten-Zwischenspeicher 6', eine Adressen/Daten-Vergleichseinheit 8' und einen PS-Sende-Empfänger 9' umfassen. Die
Schnittstelle 1' arbeitet,
um selektiv Adressen- und Dateninformationen zu invertieren oder
nicht zu invertieren, bevor sie zu dem ADDR/DATEN-Bus 1A geleitet
werden und um den Zustand des PS-Signals dementsprechend zu setzen.
Die Schnittstelle 1' arbeitet
auch, um selektiv Dateninformationen zu invertiert oder nicht zu
invertieren, die vom ADDR/DATEN-Bus 1A empfangen wurden,
gemäß dem Zustand
des PS-Signals, das vom der MMI 1 des Speichermatrix 2 (oder
anderen Vorrichtungen, die Daten an den Mikroprozessor 18A leiten)
kommt.
-
Die
Verwendung der MMI 1 und der Schnittstelle 1' vermindert
den Energieverbrauch der Mobilstation 10, wie oben beschrieben
und verlängern
daher die Lebensdauer der Batterie 24 und verlängern die
Zeitspanne zwischen benötigten
Wiederaufladungen der Batterie 24.
-
Obwohl
es im Kontext der Lese/Schreibmatrix beschrieben wurde, sollte es
klar sein, das die MMI 1 auch genauso gut in Nur-Lese-Speichern (ROM)
angewandt werden kann, auf eine Weise, die oben für die Speicherlese-Ausführungsformen
der 2, 3 und 6 beschrieben
wurde.
-
Auch
sollte klar sein, dass in der bevorzugten Ausführungsform des Schaltkreises,
die in den 1A, 1B und 1C gezeigt
wird, innerhalb eines Speicherchips, Speichermatrix, einer DMA-Steuerung,
einer peripheren Steuerung oder weiteren Vorrichtungen integriert
ist, obwohl der Schaltkreis auch als externer Schaltkreis bereitgestellt
werden könnte.
Für den
Fall, dass die Speichermatrix dynamische Speicherzellen umfasst,
können die
benötigten
RAS- und CAS-Signale intern oder extern auf herkömmliche Weise erzeugt werden.
-
Des
Weiteren benötigt
die Verwendung dieser Erfindung nicht die Verwendung eines gemultiplexten
Adressen/Daten-Bus. Zum Beispiel kann eine Speichermatrix oder eine
periphere Vorrichtung mit einem Schnittstellenschaltkreis dieser
Erfindung bereitgestellt werden, um die Vorrichtung mit einem dedizierten
Datenbus zu koppeln. Zum Beispiel kann ein Burstmodus-Speicher oder
eine Burstmoden-Peripherievorrichtung, die Hochgeschwindigkeits-Daten von
einem Kommunikationsnetzwerk oder von einer Diskette oder einer
CD-ROM eingibt, die Lehren dieser Erfindung benutzen, um die Datenbus-Signal-Leitungsübergänge zwischen
aufeinander folgenden Datenbytes oder Wörtern zu minimieren, und dabei Energie
zu sparen.
-
Daher
ist es den Fachleuten klar, dass bei der Erfindung, obwohl sie teilweise
in Bezug auf bevorzugte Ausführungsformen
von ihr gezeigt und beschrieben wurde, Änderungen in der Form und Details
dabei gemacht werden können,
ohne vom Gegenstand der Ansprüche
abzuweichen.