PatentDe  


Dokumentenidentifikation DE69910172T2 19.05.2004
EP-Veröffentlichungsnummer 0001046172
Titel SCHALTKREIS MIT PSEUDO-MEHRPORT-SPEICHER
Anmelder Koninklijke Philips Electronics N.V., Eindhoven, NL
Erfinder WIELAGE, Paul, NL-5656 AA Eindhoven, NL;
VAN DER WERF, Albert, NL-5656 AA Eindhoven, NL;
SEVAT, H., Leonardus, NL-5656 AA Eindhoven, NL;
BELLEFROID, P., Lodewijk, NL-5656 AA Eindhoven, NL
Vertreter Volmer, G., Dipl.-Ing., Pat.-Anw., 52066 Aachen
DE-Aktenzeichen 69910172
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 03.09.1999
EP-Aktenzeichen 999461338
WO-Anmeldetag 03.09.1999
PCT-Aktenzeichen PCT/EP99/06550
WO-Veröffentlichungsnummer 0000019438
WO-Veröffentlichungsdatum 06.04.2000
EP-Offenlegungsdatum 25.10.2000
EP date of grant 06.08.2003
Veröffentlichungstag im Patentblatt 19.05.2004
IPC-Hauptklasse G11C 8/00

Beschreibung[de]

Ein Mehrport-Speicher mit Zeitmultiplexzugriff ist aus einem Artikel von T. Sazaki, T. Komiya, K. Takano, N. Oba, H. Kobayashi und T. Nakamura bekannt, der unter dem Titel "Time Division Pseudo Multi-Port Register File with Wave Pipelining" in Transactions of the Institute of Electronics Information and Communication Engineers, Band J80, Nr. 3 (1997) auf den Seiten 223 bis 226 veröffentlicht wurde. Eine ähnliche Schaltung ist aus einem Artikel mit dem Titel "Pipelined, Timesharing Access Technique for an integrated Multiport memory" von Ken-Ichi Endo, Tsuneo Matsumura und Junzo Yamada bekannt, der im Journal of Solid State Circuits, Band 26, Nr. 4 (April 1991) auf den Seiten 549 bis 554 veröffentlicht wurde.

Sazaki et al. beschreiben die Architektur eines Pseudo-Multiport-Speichermoduls. Ein Multiport-Speicher ist ein Modul, das es ermöglicht, Daten über separate Ports in einem einzelnen Speicherkern zu speichern und von dort wieder abzurufen. Die Ports eines realen Multiport-Speichers sind integraler Bestandteil der Speicherkonstruktion. In der Regel haben diese Ports keine zeitlichen Zusammenhänge untereinander (tatsächlich sind sie unabhängig, ausgenommen, dass das gleichzeitige Lesen und Schreiben an derselben Adresse verboten ist).

Ein Pseudo-Multiport (PMP)-Speicher unterscheidet sich dadurch, dass die Speicherfunktion durch einen standardmäßigen Einzelportspeicher realisiert wird. Die Ports werden durch den aufeinander folgenden Zugriff auf diesen Speicher in Zeitschlitzen innerhalb eines Taktzyklus simuliert. Die Daten-, Adress- und Steuerungseingaben für jeden der Ports werden an der ansteigenden Flanke des Takteingangs abgetastet. Der Takt löst auch die Abfolge der Speicherzugriffe aus.

Die von Saziki et al. beschriebene Schaltung verwendet aufeinander folgende Perioden eines 300-MHz-Taktes, um Zeitschlitze für den Zugriff auf den Speicher zu definieren. Es gibt drei Ports. Ein 100-MHz-Takt wird verwendet, um die Zugriffszyklen auf die Ports zu definieren. Endo et al. verwenden beide Polaritäten von Taktflanken für den Speicherzugriff.

Im Prinzip werden die Daten aus dem Speicher zwar nur am Ende jedes 100-MHz-Zyklus benötigt, sind aber bereits vor dem Zyklusende verfügbar, wenn vom Speicherzugriff abgeleitete Ergebnisse zwischengespeichert werden sollen. Das Zeitintervall zwischen dem Zeitpunkt, zu dem die Daten verfügbar werden, und dem Zyklusende ist insbesondere größer bei Ports, die in früheren Phasen des 100-MHz-Taktzyklus Zugriff auf den Speicher erhalten. Während dieses Zeitintervalls können die Daten durch eine kombinatorische Logikschaltung geleitet werden. Damit könnte die Schaltung beschleunigt werden, insbesondere bei anwendungsspezifischen Schaltungen, bei denen der Speicher in eine integrierte Schaltung eingebettet ist, die für einige Anwendungen vorgesehen ist, und sich eine solche kombinatorische Logikschaltung einfach in das Gerät einbeziehen lässt.

Die Erfindung hat unter anderem zur Aufgabe, das Zeitintervall zwischen dem Zeitpunkt, zu dem Daten aus dem Speicher verfügbar sind, und dem Ende des Speicherzugriffszyklus, bei dem allen Ports der Zugriff auf den Speicher ermöglicht wird, zu verlängern.

Das erfindungsgemäße Gerät und seine Ausführungsformen werden in den Ansprüchen beschrieben. Indem man das Handshake-Verfahren verwendet, um Zeitschlitze für den Zugriff auf den Speicher zu erzeugen, ist der Speicherzugriff schneller als wenn der Zeitschlitz als Zyklus eines Hochfrequenztaktes erzeugt wird, das mit einer Frequenz arbeitet, die das N-fache derjenigen Frequenz beträgt, mit der der Zugriff auf die Ports erfolgt.

Weil der Zeitschlitz asynchron definiert wird, verbleibt mehr Zeit zwischen der Vollendung des Zugriffs und dem Ende des Taktzyklus, bei dem die Daten aus dem Speicher verfügbar werden. In der verbleibenden Zeit können die Daten aus dem Speicher für kombinatorische Logikoperationen verwendet und das Ergebnis solcher Operationen kann am Ende des Zyklus gespeichert werden. Dadurch wird die Schaltung beschleunigt. Die durch kombinatorische Logikoperationen verursachte Verzögerung kann einen beträchtlichen Teil des Taktzyklus ausmachen. Wenn N Ports vorhanden sind, der Speicherzugriff am Anfang eines Taktzyklus beginnt und Daten M Zeitschlitze nach Beginn des Taktzyklus an einem Port verfügbar sind, dann kann die Verzögerung der kombinatorischen Schaltungen mehr als (N-M)/N des Taktzyklus betragen. Das liegt daran, dass jeder Zeitschlitz weniger als 1/N des Taktzyklus in Anspruch nehmen und nicht 1/N des Taktzyklus sein muss.

Innerhalb des Speichers kann das Handshake-Verfahren zur Erzeugung eines internen Taktsignals verwendet werden, das N-mal schneller als der Systemtakt ist, wobei N die Anzahl der Ports ist. Dieser interne Takt wird in der Port-Shell als Zeitreferenz im Sinne des synchronen Entwurfs benutzt. Daher können Entwurf und Prüfung des Speichers wie für synchrone Schaltungen durchgeführt werden, was Entwurf und Prüfung erheblich vereinfacht.

Mit Hilfe der vorgeschlagenen Architektur kann ein Speicher mit mehr als zehn Ports realisiert werden. In der Praxis ist die Obergrenze für die Anzahl von Ports durch das Verhältnis von (System)Taktperiode und Speicherzykluszeit gegeben.

Im Vergleich zu konventionellen Mehrport-Speichern reduziert dies für sämtliche Ports mit Ausnahme des ersten Ports die benötigte Chipfläche und die Leistungsaufnahme auf Kosten einer längeren Lesezugriffszeit. Die Chipfläche ist proportional zur Anzahl der Ports (quadratisch proportional nach dem Stand der Technik). Die Leistungsaufnahmeist kaum von der Anzahl der Ports (linear nach dem Stand der Technik) abhängig.

Zur Erzeugung des lokalen Taktes kann ein asynchroner Controller benutzt werden. Ein derartiger Controller ist sehr klein: seine Größe entspricht ungefähr der von 20 Gattern. Somit wird der interne Takt lokal ohne Verwendung eines PLL-Schaltkreises erzeugt. Stattdessen wird ein Bereitsignal vom Speicher benutzt, um die nächste Taktflanke zu erzeugen. Dieser Ansatz hat drei Vorteile:

  • – er eliminiert den PLL-Schaltkreis und beseitigt damit eine Quelle für IC-Ausfälle
  • – er benötigt weniger Platz (ca. 10-mal weniger)
  • – er lässt sich einfacher gestalten (keine zusätzlichen unregelmäßigen Blöcke)
  • – er spart Energie, da der interne Takt vollständig deaktiviert werden kann, wenn der Systemtakt durchgeschaltet wird
  • – er bietet die kürzeste Zugriffszeit, da die aufeinander folgenden Speicherzugriffe maximal komprimiert werden.

Diese und andere vorteilhafte Aspekte der Erfindung werden unter Bezugnahme auf die folgenden Figuren beschrieben. Es zeigen:

1 ein Gerät mit integriertem Mehrport-Speicher;

2 ein Taktdiagramm eines Mehrport-Speichers;

3 ein generisches Mehrport-Speicher-Modul;

4 eine MUX-Shell;

5 Kurvenformen eines Signals in einer MUX-Shell;

6 eine Takterzeugungsschaltung;

7 zeigt ein Zustandsdiagramm einer Finiten-Zustands-Maschine;

8 eine Neustart-Verzögerungsschaltung;

9 eine RY-Schaltung;

10 eine Dummy-Ready-Schaltung;

11 eine Reset-Schaltung.

In 1 ist ein Gerät mit einem integrierten Mehrport-Speicher 10 dargestellt. Das Gerät enthält Logikschaltungen 17, die über eine Reihe von Ports 12ac mit dem Mehrport-Speicher 10 gekoppelt sind. Die Ausgangsports des Speichers sind mit kombinatorischen Logikschaltungen 14ab gekoppelt. Die Ausgänge der kombinatorischen Logikschaltungen 14ab sind mit Registern 16ab gekoppelt, deren Ausgänge wiederum mit der Logikschaltung 17 gekoppelt sind. Das Gerät umfasst eine Taktschaltung 18, die mit der Logikschaltung 17, dem Mehrport-Speicher 10 und den Registern 16ab gekoppelt ist.

Im Betrieb arbeitet das Gerät unter Synchronisierung durch ein Taktsignal von der Taktschaltung 18 und verarbeitet Informationen im Pipeline-Verfahren. In bestimmten Taktzyklen erzeugen die Logikschaltungen 17 Adresssignale A, Dateneingangssignale D, Portauswahlsignale PS und Schreibaktivierung/Lese-Signale WE für den Mehrport-Speicher 10. Wenn das Portauswahlsignal PS für einen bestimmten Port in einem Taktzyklus aktiv ist, liest oder schreibt der Mehrport-Speicher 10 in Abhängigkeit vom WE-Signal Daten an eine durch das Adresssignal A für diesen Port bestimmte Adresse.

Für den Fall, dass über einen Port gelesen wird, werden Daten aus dem Speicher 10 ausgelesen und im nächsten Taktzyklus an den zugehörigen Ausgang D des Speichers 10 am betreffenden Port geleitet. Diese Daten werden dann in den kombinatorischen Schaltungen 14ab verarbeitet, und am Ende dieses nächsten Taktzyklus wird ein Verarbeitungsergebnis in den Registern 16ab zwischengespeichert, das heißt, am Ende des Taktzyklus, in dem der Mehrport-Speicher die Daten zur Verfügung stellt. Die kombinatorischen Schaltungen 14ab verarbeiten die Daten ohne Zwischenspeicherung. Im Beispiel wird die kombinatorische Schaltung 14a zwar so gezeigt, dass sie eine Addition 15 vornimmt, es können jedoch auch andere logische und/oder arithmetische Operationen benutzt werden, wobei entweder Daten von verschiedenen Ports kombiniert oder die Daten von nur einem Port benutzt werden.

Wie noch erläutert wird, sind die Daten vom Mehrport-Speicher vor dem Ende desjenigen Taktzyklus verfügbar, in dem diese Daten vom Speicher verfügbar gemacht werden. Die Zeit bis zum Ende des Taktzyklus wird benutzt, um die Daten kombinatorischen Logikoperationen zu unterziehen, bevor am Ende des Taktzyklus ein Ergebnis in den Registern 16a–b gespeichert wird. In einem weiteren Taktzyklus werden die Daten von den Registern 16ab zur weiteren Verarbeitung an die Logikschaltungen 17 weitergeleitet. Die Logikschaltungen 17 können weitere Register enthalten, die vom Taktsignal gesteuert werden.

Je nach An des Ports sind der zusätzliche Ein- und Ausgänge mit dem Port verbunden. Es gibt drei Arten: R (nur Lesen), W (nur Schreiben) und R/W (Lesen oder Schreiben). Ein Port mit Lesefähigkeit hat einen Datenausgang Q. Ein Port mit Schreibfähigkeit hat einen Dateneingang D. Ein R/W-Port hat eine Schreibaktivierungseingang WE, um zwischen Lesen und Schreiben auswählen zu können. Jeder Port eines PMP-Speichers ist mit dem Port eines standardmäßigen Einzelport-Speichers mit einer synchronen Schnittstelle vergleichbar. Alle Eingänge werden bei der ansteigenden Flanke des Takteingangs CLK getaktet. Anschließend werden beginnend mit Port 0 nacheinander alle Ports bedient.

In 2 ist ein Taktdiagramm für einen Lesezugriffs über Port 1 dargestellt. Lesen/Schreiben-Konflikte, die bei einem realen Mehrport-Speicher auftreten können, wenn zwei Ports gleichzeitig auf dieselbe Befehlsadresse zugreifen (einer Schreiben und der andere Lesen oder Schreiben), werden nie vorkommen, weil die Ports nacheinander bedient werden. Zum Zwecke der Veranschaulichung sind hier alle Ports vom R/W-Typ. Die Ports vom Typ "Nur-Lesen" und "Nur-Schreiben" sind lediglich Ableitungen eines R/W-Ports.

In 3 ist ein Blockdiagramm der generischen PMP-Architektur dargestellt. Sie besteht aus einer Multiplexer-Shell 30, einem asynchronen Controller 32 und einem RAM- oder ROM-Objekt 34.

4 zeigt ein Blockdiagramm einer Multiplexer-Shell. Die Multiplexer-Shell ist konfigurationsunabhängig. Sie implementiert die Mehrport-Funktion in Standardzellen. Links in der Figur werden die Eingangssignale (A, D, PS, WE) sämtlicher Ports bis auf den ersten Port bei der ansteigenden Flanke des Takteingangssignals CLK in einem Register 40 gespeichert. Die Einganssignale des ersten Ports werden nicht registriert. Diese Signale können sich direkt zum Speichermodul ausbreiten. Der auf die Register folgende Multiplexer 42 trifft unter den (registrierten) Eingängen A, D, PS, WE, die zu einem der Ports gehören, eine Auswahl. Die Auswahl wird von einem Zähler 43 gesteuert, der den aktiven Port hält. Alle Flipflops in der MUX-Shell und im Speichermodul werden vom lokalen Taktsignal clkInt ausgelöst.

5 zeigt die Signalkurven innerhalb der MUX-Shell für einen PMP mit drei Ports. Die Taktperiode des internen Taktsignals clkInt entspricht der Zugriffszeit (Zykluszeit) des Speichers. Dies wird realisiert, indem man den Ready-Ausgang des Speichers verwendet. Es funktioniert folgendermaßen: (1) ein Speicherzugriff wird von einer clkInt-Anstiegsflanke gestartet, (2) der Speicher gibt seinen Besetztzustand bekannt, indem er RYmem niedrig macht, (3) der asynchrone Controller antwortet, indem er clkInt niedrig macht, (4) nach einer Weile wird der Abschluss des Speicherzugriffs durch einen hohen RYmem-Pegel signalisiert. Durch dieses letzte Ereignis wird die Sequenz neu gestartet, bis alle Ports bedient wurden.

Ein Lesezugriff unterscheidet sich von einem Schreibzugriff dadurch, dass die aus dem Speicher ausgelesenen Daten in die jeweils zum aktiven Port gehörenden Q-Register/Latches kopiert werden müssen. Die kürzeste Lesezugriffszeit kann erzielt werden, wenn Daten in den Latches 44 gespeichert werden. Die Latches werden durch die Strobe[i]-Signale gesteuert (i = 0 ..., jeweils eines pro Port). Das Strobe-Signal des aktiven Ports ist ein 0-1-0-Impuls, dessen Breite der Lesezugriffszeit entspricht (siehe 5). Während des Strobe-Signals sind die Latches 44 transparent, andernfalls wird der letzte Wert einbehalten.

Der Strobe-Bus wird von clkInt, actPort, Rymem und "read" wie folgt abgeleitet:

Strobe[i]=read & actPort[i] & (NOT clkInt) & (NOT Rymem)

Das Schieberegister 45, das den actPort-Bus ansteuert, hält den aktiven Port: das zum aktiven Port gehörende Bit ist hoch, die anderen Bits sind niedrig. Das ausgelesene Signal zeigt an, dass ein Lesezugriff läuft. Das Signal "read" wird mit einem D-Flipflop 46 erzeugt, der die Logik "UND" von CS und (NOT WE) vom aktiven Port bei der aktiven Flanke von clkInt kopiert. Die Signale "actPort" und "read" sind gültig, wenn "clkInt" niedrig ist. Die ansteigende Flanke von RYmem zeigt an, dass die Daten aus dem Speicher gültig sind; folglich kann der Strobe nach diesem Ereignis niedrig werden.

Der asynchrone Controller ist konfigurationsunabhängig. Er besteht aus einer Reihe von Hilfsschaltkreisen und einer asynchronen Finiten-Zustands-Maschine (FSM). Der asynchrone Controller erzeugt eine ansteigende Flanke am internen Taktsignal für jeden Port-Dienst. Wenn der aktive Port einen Speicherzugriff benötigt, der vom jeweils zugehörigen PS-Eingang gesteuert wird, führt die ansteigende Flanke am internen Takt zu einem Handshake mit dem Speicher, das über das Signalpaar "clkInt" "RYmem" erfolgt (clkInt triggert den Speicher, und RYmem zeigt den Abschluss eines Speicherzugriffs an). Wenn der aktive Port nicht ausgewählt wird, findet ein Handshake mit einem Hilfsschaltkreis statt, der ein RYdum genanntes Dummy-Ready-Signal erzeugt.

Der Controller wird vom externen Takt CLK angesteuert und fährt so lange damit fort, ansteigende Flanken am internen Takt zu erzeugen, bis die MUX-Shell über "preLast" anzeigt, dass der letzte Port abgeschlossen ist.

6 zeigt die Synthese des internen Takts clkInt. Das UND-ODER-Gatter 60 mischt den externen Takt mit dem Takt von der FSM 62. Die FSM 62 hat ein genau definiertes Verhalten, das formal durch eine Signalübergangskurve (Signal Transition Graph, STG) beschrieben werden kann. Eine STG ist eine ereignisbasierte Spezifikation für eine asynchrone Schaltung. Sie setzt sich aus Übergängen und Stellen zusammen. Ein Übergang stellt eine Veränderung von Werten eines Eingangs- oder Ausgangssignals dar. Eine Stelle stellt einen Zustand vor oder nach einem Übergang dar. Dies kann jeweils mit einem Token markiert werden, was bedeutet, dass der jeweilige Zustand in der Schaltung gehalten wird. Wenn alle einem Übergang vorangehenden Zustände markiert sind, kann der Übergang "feuern", was bedeutet, dass die Token von ihren vorangehenden Zuständen entfernt und ihren späteren Zuständen hinzugefügt werden. Zu beachten ist, dass eine STG nicht nur das Verhalten einer asynchronen Schaltung spezifiziert, sondern auch die Umgebung, in der sie arbeitet. Die Ursächlichkeitsverhältnisse, die durch Stellen gemeinsamer Übergangspaare beschrieben werden, stellen dar, wie die Schaltung und ihre Umgebung auf Signalübergänge reagieren können. In einer STG werden Stellen als Kreise dargestellt, Übergänge als Kästchen, und Stellen mit exakt einem Vorgänger und einem Nachfolger (implizite Stellen) werden ausgelassen. Das Kennzeichen eines Übergangs besteht aus einem Signalnamen, dem ein "+" oder "–" vorangestellt ist, das auf eine ansteigende bzw. eine absteigende Flanke hinweist.

Die STG der FSM 62 ist in 7 dargestellt. Das Signal „Ryport" weist darauf hin, dass entweder ein Speicher-Handshake oder ein Dummy-Handshake abgeschlossen ist. Das Signal "restart" ist identisch mit dem Startsignal, nur etwas verzögert (es ändert sich, wenn clkInt niedrig wird).

8 zeigt die Schaltung zur Erzeugung eines Neustarts. Bei vorgegebener STG ist es möglich, eine geschwindigkeitsunabhängige Schaltung mit einem äquivalenten Verhalten zu synthetisieren. Hierzu haben wir das Dienstprogramm PETRIFY benutzt, das an der Universidad Politechnica de Catalunya in Barcelona entwickelt wurde und von J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno und A. Yakovlev in einem Artikel mit dem Titel "Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers" beschrieben wurde, der in IEICE Transactions on Information and Systems, Band E80-D, Nummer 3, März 1997, Seiten 315–325, veröffentlicht wurde.

Das Signal "RY" zeigt den globalen Bereit-Zustand des PMP-Moduls an. In 5 ist die Kurvenform RY für drei Ports gegeben. Dieses Bereitsignal wird benutzt, um den externen Takt mit dem Takt der FSM zu mischen.

In 9 ist die Bereit-Schaltung dargestellt. Die Schaltung ist so konstruiert, dass das logische UND-Verknüpfung 90 der Felder RY und CLK das erste interne Taktsignal erbringt. Funktional ist der Bereit-Zustand die logische UND-Verknüpfung 90 von "Ryport" und "start". Um jedoch zu verhindern, dass RY hoch wird, bevor CLK niedrig geworden ist, wird der Bereit-Zustand über ein Muller-C-Element 92 mit dem CLK kombiniert. (Ein Muller-C-Element wechselt zu "1 ", wenn beide Eingänge hoch sind, und zu "0", wenn beide Eingänge niedrig sind.) Mit einem einfachen UND-Gatter wäre das nicht möglich, weil dies wahrscheinlich zu einem Taktpuls führt, der bei starker Belastung von clkInt zu klein ist.

10 zeigt die Schaltung, die das RYdum-Signal erzeugt. Tatsächlich handelt es sich um ein Flipflop, das den CS-Eingang des Speichers bei der ansteigenden Flanke des internen Taktes abtastet. Wenn eine Null abgetastet wird, was bedeutet, dass der Port keinen Speicherzugriff vornehmen wird, muss das RYdum-Signal, ebenso wie RYmem, einen 1-0-1-Impuls erzeugen, wie zuvor beschrieben. Dies wird erreicht, indem der asynchrone Stelleingang des FF aktiviert wird, wenn der interne Takt niedrig wird.

Um die Zustandsmaschinen aus unerwünschten Blockierungszuständen zurückzusetzen, wurde die in 11 dargestellte Reset-Schaltung entwickelt. Sie erzeugt einen Rücksetzimpuls, wenn der Zustand des PMP an der ansteigenden externen Taktflanke nicht mit dem Abschluss/Anfang-Zustand übereinstimmt. Diese Schaltung wird auch aktiv, wenn der Controller aufgrund von EMV in einen Blockierungszustand geraten ist. Die kombinatorischen Verzögerungen in der Shell (30) sollten kürzer als die minimale Verzögerung von clkInt über RYport sein. Text in der Zeichnung

Figur 3
Asynchronous Controller asynchroner Controller Mux Shell Mux-Shell RAM or ROM RAM oder ROM
Figur 4 Counter Zähler Memory Speicher Strobe Strobe Shift reg. Schiebereg.


Anspruch[de]
  1. Datenverarbeitungsgerät, umfassend einen Zeitmultiplex-Mehrport-Speicher und einer Zeitsteuerungsschaltung, um Zeitschlitze für den Zugriff von entsprechenden Ports auf den Speicher zu definieren, dadurch gekennzeichnet, dass die Zeitsteuerungsschaltung über eine Handshake-Schnittstelle mit dem Speicher gekoppelt ist, um als Reaktion auf ein Bereitsignal, das den Abschluss eines Zugriffs während eines früheren Zeitschlitzes anzeigt, mindestens einen der Zeitschlitze asynchron zu starten.
  2. Datenverarbeitungsgerät nach Anspruch 1, mit einer Taktschaltung und Logikschaltungen, wobei der Speicher funktional eingebettet ist, die Logikschaltungen durch ein Taktsignal von der Taktschaltung getaktet werden, die Taktschaltung mit der Zeitsteuerungsschaltung gekoppelt ist, um einen Zyklus von Zeitschlitzen zu starten, wobei der Zyklus von Zeitschlitzen einen Teil einer Taktsignalperiode ausmacht.
  3. Datenverarbeitungsgerät nach Anspruch 1, wobei mindestens zwei der Ports in derselben Phase des genannten Zyklus Steuersignale von den Logikschaltungen empfangen, der Speicher an mindestens zwei der Ports damit beginnt, nacheinander Daten an die Logikschaltungen auszugeben, damit jeder der mindestens zwei Ports zu einem bestimmten Zeitpunkt durch ein Bereitsignal angesteuert wird, das für einen der mindestens zwei Ports den Abschluss des Zugriffs in dem Zeitschlitz anzeigt.
  4. Datenverarbeitungsgerät nach Anspruch 3, mit kombinatorische Logikschaltungen und Registern, die über die kombinatorischen Logikschaltungen mit einem Datenausgang der Ports gekoppelt sind, wobei die Register einen Takteingang haben, der mit der genannten Taktschaltung gekoppelt ist, um beim Abschluss eines Taktzyklus, bei dem diese Daten zuerst von den Ports verfügbar gemacht wurden, Ergebnisse zu speichern, die durch kombinatorische Logikverarbeitung von Daten dieser Ports erlangt wurden.
  5. Datenverarbeitungsgerät nach Anspruch 1, das Folgendes umfasst:

    – den Speicher mit einem "start access"-Eingang und einem "access ready"-Ausgang, um ein Start-Signal für den Zugriffsbeginn zu empfangen und ein entsprechendes Bereitsignal beim Zugriffsabschluss zu erzeugen,

    – die Zeitsteuerungsschaltung, die an den "start access"-Eingang und den "access ready"-Ausgang gekoppelt ist, um als Reaktion auf den Empfang des Bereitsignals beim Abschluss eines vorhergehenden Zeitschlitzes das Start-Signal für einen Zeitschlitz zu erzeugen.
  6. Datenverarbeitungsgerät nach Anspruch 5, mit einer Schaltung, die ein Dummy-Ready-Signal erzeugt und parallel zu dem Speicher geschaltet ist, um als Reaktion auf das Start-Signal in einem Zeitschlitz das Bereitsignal zu erzeugen, wobei der Speicher mit einem Port verbunden ist, der ein Nichtauswahl-Signal an den Speicher ausgibt.
  7. Datenverarbeitungsgerät gemäß Anspruch 2, mit zwei oder mehr Ports und einen Multiplexer, um die Ports in dem Zeitschlitzzyklus nacheinander mit dem Speicher zu koppeln, wobei jeder Port mit Ausnahme des ersten Ports, der vor allen anderen Ports mit dem Speicher gekoppelt wird, über ein entsprechendes Register mit dem Multiplexer gekoppelt ist, um Daten beim Start des Zyklus zu halten.
  8. Datenverarbeitungsgerät gemäß Anspruch 1, bei dem Datenadresse und Steuereingänge für alle Ports im Wesentlichen simultan an einer gemeinsamen Flanke eines Eingangstaktes abgetastet werden, wobei die Ports nacheinander Zugriff auf den Speicher in einer Sequenz erhalten, die mit Ausnahme eines Starts der genannten Sequenz asynchron vom Eingangstakt getaktet ist.
Es folgen 5 Blatt Zeichnungen






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