DE3650532T2 - Speicher mit programmierbarem Zugang - Google Patents
Speicher mit programmierbarem ZugangInfo
- Publication number
- DE3650532T2 DE3650532T2 DE3650532T DE3650532T DE3650532T2 DE 3650532 T2 DE3650532 T2 DE 3650532T2 DE 3650532 T DE3650532 T DE 3650532T DE 3650532 T DE3650532 T DE 3650532T DE 3650532 T2 DE3650532 T2 DE 3650532T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- data
- current
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 144
- 238000012546 transfer Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims 5
- 230000004075 alteration Effects 0.000 claims 3
- 238000001514 detection method Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 33
- 229920002401 polyacrylamide Polymers 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 11
- 238000007792 addition Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Complex Calculations (AREA)
- Logic Circuits (AREA)
- Executing Machine-Instructions (AREA)
Description
- Der technische Bereich der Erfindung ist der der integrierten Speicherschaltungen. Insbesondere ist der technische Bereich der von Speichern, die eine Verarbeitungsmöglichkeit innerhalb der Speichereinheit einbeziehen.
- Es ist bekannt, eine übergeordnete Schaltung bzw. übergeordnete Schaltungen in einem Speicher mit wahlfreiem Zugriff zu haben, um Decodierfunktionen zustande zu bringen, und im Falle von dynamischen Speichern mit wahlfreiem Zugriff automatische Auffrischzyklen bzw. Aufladezyklen zur Verfügung zu stellen, die für den Systemprogrammierer nicht erkennbar sind. Speicher nach dem Stand der Technik weisen typischerweise die Möglichkeit für einen unmittelbaren Zugriff von den Eingabeanschlüssen zu der Decodierlogik für die Speicherzellenanordnung auf, um die Speicherzykluszeit auf ein Minimum zu verringern.
- Es wird bezuggenommen auf das US-Patent Nr. 3,601,809, das ein Speichersystem offenbart, das als ein LIFO oder als ein FIFO gestaltet werden kann; auf das IBM Technical Disclosure Bulletin, Band 25, Nr. 5, Oktober 1982, das ein Speichersystem offenbart, das als ein üblicher Lese-/Schreibspeicher oder als ein inhaltsadressierbarer Speicher gestaltbar ist; auf das US-Patent Nr. 4,521,874, das ein Speichersystem offenbart, das sich als ein FIFO, ein LIFO oder als ein üblicher Lese-/Schreibspeicher mittels eines schaltbaren Anschlußnetzwerkes gestalten läßt; und auf IEEE Transactions on Computers, Juni 1971, Seiten 671 bis 674, das übliche LIFO- und FIFO-Speicher offenbart, die als Bestandteile eines inhaltsadressierbaren Speichers gestaltbar sind. Keines dieser Literaturzitate offenbart ein intelligentes integriertes Speichersystem, das mit einer Steuereinrichtung versehen ist, die es dem Speichersystem ermöglicht, in mehr als einer Speicherbetriebsart betrieben zu werden.
- Gemäß der vorliegenden Erfindung wird ein integriertes Speicherschaltungssystem auf einem einzigen Chip zur Verfügung gestellt, das zumindest eine Steuereinheit hat und aufweist: Eine Anordnung von Speicherzellen; eine Decodereinrichtung, die auf eine Speicheradresse anspricht, um zumindest auf eine Zelle innerhalb der Anordnung zuzugreifen; ein Satz von Zugriffsregistern, der an einen Datenpfad zwischen einem Bus für den Chip und die Anordnung der Speicherzellen angeschlossen ist, und ein Zugriffsregister zum Speichern von Speicheradressdaten, ein Zugriffsregister zum Speichern von Speicherdaten und ein Register für besondere Zweckbetriebsarten zum Speichern von zumindest einem Betriebsartparameter enthält; eine Adreßerzeugungseinrichtung zum Erzeugen einer gegenwartigen Speicheradresse aus einem Eingangsreferenzsignal, das auf dem Bus über die Zugriffsregister zugeführt wird und in einen Adreßdatenweg zwischen dem Satz von Zugriffsregistern und der Speicherzellenanordnung angeschlossen wird, um die gegenwärtige Speicheradresse an die Decodereinrichtung anzulegen; eine logische Adreßbetriebseinrichtung, die in dem Adreßdatenweg zwischen dem Satz von Zugriffsregistern und der Anordnung von Speicherzellen angeschlossen ist, um in Antwort auf ein Eingabesignal eine logische Operation auf die gegenwärtige Speicheradresse anzuwenden, wobei die logische Adreßbetriebseinrichtung Mittel umfaßt, um die gegenwärtige Speicheradresse mit zumindest einer Referenzadresse zu vergleichen, um zu bestimmen, ob die gegenwärtige Speicheradresse innerhalb eines vorbestimmten Bereiches liegt; und eine Steuereinrichtung, die eine programmierbare Zugriffsregistersteuereinrichtung umfaßt, die auf ein externes Steuersignal anspricht, um den Satz von Zugriffsregistern und die Datenwegsteuereinrichtung, die an die Adreßerzeugungseinrichtung und die Zugriffsregister angeschlossen ist und diese unter einer gespeicherten Programmsteuerung steuert, um Signale an den Bus an einen ausgewählten von dem Datenweg und dem Adreßdatenweg in einem ausgewählten von zumindest zwei verschiedenen Speicherbetriebsarten zu richten, die durch den zumindest einen gespeicherten Modeparameter spezifiziert sind, wodurch die Speicherzellenanordnung wahlweise logisch wie zumindest zwei verschiedene Speicherarten konstruiert werden kann.
- Ein Merkmal der Erfindung ist eine Architektur, die einen Datenweg zur Verfügung stellt, um Adressen und Daten aus einem Satz von Zugriffsregistern über wenigstens eine Verarbeitungseinheit zu einer Speicheranordnung durchzulassen, wobei der Weg mittels einer Vorrichtung mit endlichen Zuständen gesteuert wird, die nicht selbst Daten verarbeitet und der Datenweg einen ersten Ast bzw. Zweig für Adressen und einen zweiten Ast bzw. Zweig für die in den Zellen gespeicherten Daten hat.
- Bei einer ersten bevorzugten Ausführungsform weist das integrierte Speicherschaltungssystem ferner eine Datenbeeinflussungseinrichtung auf, die in dem Datenweg zwischen dem Satz von Zugriffsregistern und der Speichereinheit angeschlossen ist, um wahlweise unter gespeicherten Programmsteuerdaten zu manipulieren, zu verändern bzw. modifizieren und zu erkennen bzw. zu identifizieren, die zwischen dem Satz von Zugriffsregistern und der Speichereinheit durchgehen, wobei die Datenveränderungseinrichtung Daten auf dem Datenpfad mittels Durchführung einer logischen Operation auf die Daten verändert.
- Gemäß einer anderen bevorzugten Ausführungsform stellt das Speichersystem eine Adressenberechnungseinrichtung zur Verfügung, um eine automatische Indexierung der Adressen vorzusehen.
- Bei einer anderen bevorzugten Ausführungsform stellt das Speichersystem Register zum Speichern der oberen und unteren Grenzen eines Adreßbereichs zur Verfügung, wodurch ein automatisches Prüfen der Grenzen für Speicheranordnungen ermöglicht wird.
- Gemäß einer anderen bevorzugten Ausführungsform stellt das Speichersystem eine Steuersequenz zur Verfügung, die eine FIFO-Speichereinrichtung vorsieht, die aus einem Speicher mit wahlfreiem Zugriff aufgebaut ist.
- Bei einer anderen bevorzugten Ausführungsform stellt das Speichersystem eine programmierbare Umwandlung des Speichers mit wahlfreiem Zugriff in einen LIFO(Stapel)-Speichereinrichtung zur Verfügung.
- Bei einer anderen bevorzugten Ausführungsform stellt das Speichersystem ein automatisches Suchen innerhalb der Speicheranordnung zur Verfügung und sieht folglich einen inhaltsadressierbaren Speicher vor.
- Bei einer anderen bevorzugten Ausführungsform stellt das Speichersystem eine automatische Folge der Veränderung von innerhalb des Speichers gespeicherten Daten gemäß einer vorgeschriebenen Regel zur Verfügung.
- Bei einer anderen Ausführungsform stellt das Speichersystem einen zusätzlichen Adreßraum zur Verfügung, der größer ist, als er für eine System-CPU mittels einer Hardware-unterstützten Datenabstrahierung zur Verfügung, die indirektes Adressieren einbezieht.
- Zum besseren Verständnis der vorliegenden Erfindung, und um zu zeigen, wie diese in die Tat umgesetzt werden kann, wird nun beispielhaft auf die beiliegenden Zeichnungen bezuggenommen, in denen:
- Fig. 1 ein Gesamtblockdiagramm eines Speichers darstellt, der gemäß der Erfindung aufgebaut ist;
- Fig. 2 das Adreßberechnungsmodul nach Fig. 1 darstellt;
- Fig. 3 das Adreßbereichsmodul nach Fig. 1 darstellt;
- Fig. 4 das Datenveränderungsmodul nach Fig. 1 darstellt; und
- Fig. 5 die Datenwegsteuerung nach Fig. 1 darstellt.
- Bezugnehmend auf Fig. 1 wird nun eine Gesamtansicht eines Speichersystems (auf das als programmierbarer Zugriffsspeicher oder als PAM bezuggenommen wird) gezeigt, der einen Speicher mit wahlfreiem Zugriff (RAM) 200, der entweder datische oder dynamische Zellen und zugeordnete Decoder enthalten kann, eine Zugriffsregisteranordnung 100, durch die Daten und Adressen hindurchgehen, eine Datenwegsteuerung 150, um die Übertragung von Daten zwischen dem Register 100, dem RAM 200 und den verbundenen Schaltungen zu steuern, die eine Adreßberechnungseinrichtung 300, eine Adreßbereichseinrichtung 400 und eine Datenveränderungseinrichtung 500 enthalten. In den meisten der vielen Arten des Betriebs bzw. der Operation des Systems werden Adressen und Daten nicht einfach in das RAM 200 und daraus heraus befördert werden, wie in einem üblichen RAM, sondern werden in einer der angeschlossenen Einrichtungen überprüft oder verändert.
- Es ist angemessen, zunächst die drei Sätze von Eingabe/Ausgabeleitungen in Betracht zu ziehen: Ein 16-Bit Daten/Adreßbus 10 greift auf einen Satz von Zugriffsregistern 100 zu, die später beschrieben werden; ein 4-Bit Bus 20 wird verwendet, um eines oder mehrere von 16 Zugriffsregistern innerhalb der Einheit 100 zu spezifizieren bzw. festzulegen; und ein Satz von äußeren Steuerleitungen 30 wird verwendet, um äußere Steuersignale zu empfangen und zu bestätigen. Der Bus 20 geht in die Zugriffssteuerung 120 hinein, die eine einfache, sich selbst zeitlich steuernde Steuerung ist, die auf externe Steuersignale anspricht, und das Einlesen in das Schreiben von den Zugriffsregistern 100 und der äußeren Welt bewerkstelligt. Steuersignale zum Freigeben, Bestätigen, Lesen, Schreiben und andere Standardfunktionen werden über den Bus 30 eingegeben und veranlassen die Steuerung 120 dazu, Eingabedaten zwischenzuspeichern; Ausgabedaten bzw. Ausgangsdaten auszugeben; oder ein Steuersignal zu anderen Einrichtungen weiterzuleiten.
- Die Steuerung der Datenwege innerhalb des Speichersystems wird durch die Datenwegsteuerung 150 durchgeführt, die eine vereinfachte Vorrichtung mit endlichen Zuständen ist, die eine geringere Komplexität aufweist, als eine übliche zentrale Verarbeitungseinrichtung, wie später beschrieben wird. Der Betriebsmodus bzw. die Betriebsart des Systems wird festgelegt und von Zeit zu Zeit geändert, indem der Inhalt eines MODE-Registers innerhalb der Zugriffsregistereinheit 100 in die Steuerung 150 übertragen wird. Der Inhalt des Registers legt unter anderem den Startplatz eines Unterprogramms im Mikrocodespeicher innerhalb der Steuereinrichtung fest. Die Steuerung des Datenweges und die Übertragung des Inhalts des MODE-Registers und andere Informationen zu und von den verschiedenen Einrichtungen entlang der verschiedenen Busse wird unter der Steuerung der Einrichtung 150 mittels eines Satzes von Steuerleitungen in die Tat umgesetzt, die zusammenfassend durch das Bezugszeichen 50 angedeutet sind, von denen einige Abschnitte Leitungen steuern, die in sämtliche logischen Einrichtungen hineingehen.
- Daten, Adressen und einige Steuersignale gehen entlang des Busses 40 hindurch in ein Adreßberechnungsmodul 300 und anschließend in die anderen Einrichtungen. Ein einziger Bus könnte verwendet werden, jedoch zu Lasten des Datendurchsatzes.
- Eine übliche Speicherzellenanordnungseinrichtung 200, die Adreßdecoder enthält, und durch eine übliche RAM-Steuerung 220 gesteuert wird (die Steuerung 220 ist eine übliche Einrichtung, die den Fachleuten im Stand der Technik wohlbekannt ist, wie etwa diejenige, die in Foss & Harland "Peripheral Circuits for One Transistor Cell MOS RAMs" offenbart ist), ist die Basiseinrichtung, die effektiv von den anderen Einrichtungen gebraucht wird, um eine Anzahl von festgelegten Speichereinheiten zu simulieren.
- Drei spezialisierte Einrichtungen werden verwendet, um einige der besonderen Funktionen des Speichersystems zu bewirken. Die Adreßberechnungseinheit 300 enthält eine vereinfachte ALU, die Addition-, Subtraktions- und Vergleichsfunktionen hat, um eine Adresse zu berechnen, und wird in verschiedenen Modi der Erfindung, wie etwa dem FIFO-, dem LIFO- und dem indirekten Adressierungsmode verwendet. Die Adreßbereichseinrichtung 400 wird verwendet, um zu prüfen, ob die Adresse am Bus 42, ob sie durch die Einheit 300 berechnet worden ist oder von einem Adreßzugriffsregister innerhalb der Einrichtung 100 kommt, innerhalb eines festgelegten Grenzbereichs liegt. Diese Einrichtung kann bequem dafür verwendet werden, um das Lesen oder Schreiben in eine Speicheradresse außerhalb des festgelegten Bereichs zu verhindern. Eine Verwendung ist es, Daten von Befehlen innerhalb des RAM 200 zu trennen, und um ein Fehlersignal zu erzeugen, falls die äußere zentrale Verarbeitungseinrichtung des Gesamtsystems zufällig versucht hat, in eine Befehlsspeicherzelle zu schreiben. Eine andere Funktion ist es, eine Überprüfung der Anordnungsgrenzen in Jetztzeit bzw. Realzeit vorzunehmen. Die letzte Einrichtung, die Datenveränderungseinrichtung 500, wird, wie unten beschrieben wird, verwendet, um verschiedene ausgewählte Verarbeitungsfunktionen an den Daten innerhalb des RAM 200 durchzuführen. Als ein Beispiel kann die Erfindung in einem automatischen Suchmodus verwendet werden, indem das RAM 200 abgesucht wird, bis ein bestimmtes Datenmuster gefunden wird.
- Obwohl die Erfindung dazu gedacht ist, verschiedene festgelegte Funktionen zur Verfügung zu stellen, die Intelligenz in Verbindung mit der Speichereinrichtung erfordern, ist es zu Zwecken der Erläuterung angemessen, mit einem gewöhnlichen Speicherlesezyklus zu beginnen. In diesem Falle ist der Betriebsmodus zuvor festgelegt worden, indem eine 4-Bit-Adresse entlang des Busses 20 gesendet wird, in Antwort auf die ein Modusregister bzw. Moderegister innerhalb der Einrichtung 100 an den Bus 10 angeschlossen wird. Als nächstes wird eine 16-Bit-Datenadresse an dem Bus 10 durch die System-CPU angelegt und wird in das Moderegister geladen. Diese Verfahrensweise wird durch die Zugriffssteuerung 120 gesteuert. Alternativ können Modeadressen in der Einrichtung 100 gespeichert werden. Speicherleitungen, die in dem Steuernetzwerk 50 enthalten sind, regen die Datenwegsteuerung 150 an, um auf den Inhalt des Moderegisters zuzugreifen, die den Mikrocode innerhalb der Einrichtung 150 dazu veranlaßt, sich zu einem Unterprogramm zu verzweigen, das die Befehlsfolge bzw. Folge veranlaßt, die nachfolgt.
- Die übliche Lesefunktion wird durch eine System-CPU oder eine andere Einrichtung eingeleitet, die die 4-Bit-Adresse des Speicheradressregisters (MAR) innerhalb der Einrichtung 100 zu der Steuerung 120 sendet, und auch durch Anordnen bzw. Anlegen der 16-Bit-Adresse der am Bus 10 zu lesenden Daten. Die Einheit 100 öffnet unter der Kontrolle der Steuerung 120 einen Weg zwischen dem Bus 10 und dem Speicheradressregister und schreibt die Adresse in das Register. Als nächstes überträgt die Datenwegsteuerung 150 die Adresse zu der Adressenberechnungseinrichtung 300, die sie in diesem Falle lediglich zu der Adreßbereichseinrichtung 400 durchgibt, die prüft, daß die Adresse innerhalb eines erlaubten Bereiches liegt. Die Einrichtung 400 gibt die Adresse zu der RAM-Einrichtung 200, die infolge die übliche Decodierungsfunktion bewerkstelligt, um auf diese bestimmte Speicherzellenadresse zuzugreifen. Die Inhalte dieser Zellen, die durch diese Adresse festgelegt sind, sind an bzw. auf dem Bus 46 vorgesehen; werden zu der Datenveränderungseinrichtung 500 übertragen; und werden anschließend in das Speicherdatenregister (MDR) innerhalb der Einrichtung 100 geschrieben. Die Zugriffssteuerung 120 sendet dann ein Steuersignal entlang des Busses 30 zu der CPU, die andeutet, daß die Daten in dem Adreßregister verfügbar sind, und legt in Reaktion auf ein Lesesignal von der CPU die Inhalte des Speicherdatenregisters an den Bus 10 an.
- Es wird den Fachleuten im Stand der Technik klar, daß diese Schrittabfolge bemerkenswert länger ist, als die übliche Speicherlesesequenz in einem nicht intelligenten Speicher. Insbesondere ist der zusätzliche Schritt vorhanden gewesen, die 4-Bit-Adresse des MAR zu der Zugriffssteuerung 120 zu senden, zusätzlich zu der 16-Bit-Speicheradresse an dem Bus 10. Es wird erwartet, daß diese Speichereinrichtung nicht oft in üblichen Lese- und Schreibmodi verwendet wird, obwohl es für die Systemauslegung angemessen sein kann, den Speicher in dieser Weise von Zeit zu Zeit zu verwenden. Meistens wird die Gesamtzeit für eine Betätigung bzw. Operation, die vorzunehmen ist, wesentlich verringert werden, indem dem Speicher erlaubt wird, in sich selbst vorzunehmen, ohne Zugriff über den Systembus auf die CPU. Diese speziellen Speicherfunktionen werden als nächstes beschrieben.
- Zwei der Register innerhalb der Zugriffsregistereinrichtung 100 enthalten START- und STOP-Register, die einen Bereich innerhalb des Adreßraumes des RAM 200 festlegen. Es werden keine Speicherzugriffe auf Adressen außerhalb dieser Grenzen zugelassen. Dieses Merkmal kann für das automatische Überprüfen verwendet werden, das der Programmierer nicht versucht, Daten zu lesen oder zu schreiben bzw. zu überschreiben, die außerhalb des Bereichs einer Speicheranordnung liegen.
- Ein Satz von Registern START und STOP legen die Grenzen eines Bereichs innerhalb des Adreßraums des RAM 200 fest, der für einen FIFO(First In First Out)- Puffer verwendet wird, der als ein zirkularer Puffer in die Tat umgesetzt ist. Zusätzliche Register IN PTR und OUT PTR zeigen auf die nächsten Schreib- bzw. Leseadressen. Zusätzliche Register IN INCR und OUT INCR legen automatisch inkrementierte Mengen für Schreiben und Lesen fest. Dieses letzte Merkmal ist in Anwendungen für Datenbasen nützlich, wo eine Aufzeichnung aus mehreren bzw. verschiedenen Worten bestehen wird. Daten werden in das Datenregister in der Einrichtung 100 geschrieben und automatisch auf den nächsten verfügbaren Platz bzw. Raum innerhalb des Puffers übertragen, der durch das IN PTR-Register angedeutet wird.
- Einfache logische Vergleiche innerhalb der Adreßberechnungseinrichtung 300 stellen übliche Tests zur Verfügung, die es verhindern, daß Daten in einen vollen Puffer geschrieben werden, oder daß Daten aus einem leeren Puffer gelesen werden. Angemessene Fehler-Flags werden innerhalb des Statusregisters innerhalb der Einrichtung 100 eingestellt.
- Der FIFO-Mode ist ein Beispiel einer Hardware-unterstützten Datenabstrahierung, die eine Hardwareeinrichtung oder -system ist, die ein Datenverfahren bzw. -verarbeitung in einer Weise in die Tat umgesetzt, so daß die Hardwaregestaltung für den Verwender unsichtbar wird.
- Man berücksichtige, daß, falls der in dem Gesamtsystem verwendete Bus automatische Leseoperationen erlaubt, was bei dem Systembetrieb üblich ist, dieses Merkmal einfache schnelle Kommunikationen zwischen zwei Einrichtungen ermöglichen wird, die sich den äußeren Systembus teilen, sowie unmittelbarer Speicherzugriff von einer Eingabe/Ausgabeeinrichtung zu dem RAM, ohne über eine System-CPU zu gehen.
- Register werden innerhalb der Einheit 100 als die Register verwendet, die erforderlich sind, um einen Stapel in die Tat umzusetzen; nämlich einen Stapelzeiger, eine Startadresse und ein Schieberegister. Der Stapel kann in die Tat umgesetzt werden, an den die üblichen Schiebe (PUSH)- und Puffer (POP)-Funktionen durchgeführt werden, wobei die Adreßberechnungseinrichtung 300 verwendet wird, um automatisch den Stapelzeiger zu inkrementieren bzw. heraufzusetzen und zu dekrementieren bzw. herabzusetzen, wie es erforderlich ist.
- Eine Stapelverschiebeoperation kann verwendet werden, um Daten in dem Datenspeicherregister in der RAM-Adresse zu speichern, die durch das Basisregister plus dem Verschieberegister angezeigt werden. Ähnlich bzw. gleichermaßen werden Daten aus der RAM-Adresse ausgelesen, die der Summe aus der Basis und der Verschiebung entspricht.
- Bei jedem Speicherzugriff können entweder vor oder nach dem Lesezugriff Veränderungen der Daten entsprechend einer vorgegebenen Anweisung durchgeführt werden. Als ein Beispiel kann ein Muster von Bits in einem Register (Funktion) innerhalb der Zugriffsregistereinrichtung 100 gespeichert werden. Daten von dem RAM könnten logisch wie durch eine NAND-Funktion, eine OR-Funktion, usw., entweder mit eingegebenen Daten oder mit einem gespeicherten Muster verarbeitet werden. Auch könnten die Daten komplizierteren bzw. komplexeren Operationen ausgesetzt werden, wie etwa der Addition mit einer Konstanten, einer Variablen oder vorangehenden Daten.
- Dies ist ein Spezialfall des vorangehenden Funktionszugriffs. Ein Adreßbereich innerhalb des RAM 200 wird mit einem Muster und einer spezifizierten Funktion gefüllt, nach welcher ein Vervollständigungssignal durch die Zugriffssteuerung 120 übertragen wird. Ein Muster kann konstant sein oder sich innerhalb des Adressenbereichs verändern.
- Der Inhalt eines Adreßbereichs innerhalb des RAM 200 wird zu einem anderen Adreßbereich innerhalb des RAM 200 kopiert. Register speichern den Beginn und die Länge der Quelle und den Beginn des Bestimmungsorts. Dies wird manchmal "Bit Blit" oder Blockübertragung genannt.
- Das Auftreten von 16-Bit-Mustern in einigen Speicheradressbereichen wird lokalisiert. Dies verwendet die gleichen Register und die gleiche Logik wie die Schreiboperation des funktionalen Zugriffs, Modenummer 4. Dieser Betriebsmode ist bei der Veränderung der Datenbasis nützlich.
- In diesem Mode wird ein Bereich des RAM 200 gemäß einer vorgeschriebenen Funktion verändert, bis ein bestimmtes Muster erreicht wird.
- Ein wesentliches Merkmal dieser Architektur des PAM ist der "Datenweg", wobei mit diesem Ausdruck die Sätze von Bussen 40, 42, 44 und 40, 46 und die logischen Module, die zwischen den Bussen angeordnet sind, gemeint sind, die verschiedene getrennte Wege für Adressen (welche zu Zwecken dieser Anmeldung als eine andere Art von Daten angesehen werden) zur Verfügung stellen, und auf die als Adreßdaten und die Daten, die innerhalb der Speicheranordnung gespeichert werden (Speicherdaten) bezuggenommen wird. Falls die oben beschriebenen Funktionen durch einen programmierten Computer auf einem einzelnen Chip durchzuführen sind, würde die Adresse von einem Eingaberegister zu der CPU hindurchgehen und anschließend zu dem Speicher und jede der Funktionen der Einheiten 300, 400 und 500 würde zumindest einen Übergang von dem Speicher zu der CPU und wieder zurück erfordern. In einem PAM liegt die "Intelligenz" in der Datenwegsteuerung, die Daten oder Adressen nicht handhabt. Sämtliche Vergleiche, Additionen oder andere logischen Operationen werden in diesen Einheiten vorgenommen, die in dem Datenweg und außerhalb der Datenwegsteuerung angeordnet sind.
- Das folgende Beispiel stellt einige der Systemgestaltungen und Verwendungen dar, die unter Verwendung alternativer Ausführungsformen der Erfindung eingesetzt werden können.
- 1. Zusätzlicher Adressenraum. Eine Ausführungsform der Erfindung kann als eine Speichererweiterung verwendet werden, wobei der Wirts- bzw. Host-Speicher nicht genug Adressenraum hat, um den erforderlichen Bereich einzurichten. In diesem Fall wird der PAM-Mode in den Standard-Zugriffsmode gebracht. Das Speicheradressenregister empfängt eine Zahl mit 16-Bit, die eine Adresse innerhalb des RAM 200 ist. Das Datenspeicherregister empfängt den Inhalt dieser Adresse. Dies ist eine normale Leseoperation aus der Sicht eines PAM, jedoch sind für den Host-Computer die einzigen Speicheradressen, die durch den PAM aufgenommen werden, die 16 Plätze bzw. Stellen, die für den 4-Bit-Bus 20 erforderlich sind. Die 4-Bits des Busses 20 entsprechen den 16 Zugriffsregistern innerhalb der Einrichtung 100. Folglich können ein oder mehrere PAM's an einem Host-Computer angesetzt werden, wobei jeder PAM einen Adressenbereich von 64 K hat, jedoch nur 16 Worte von dem physikalischen Host-Speicher aufnimmt. Dies wird als "virtueller Speicher" oder "indirekter Speicher" bezeichnet.
- Diese Verwendung des PAM als eine Adressenerweiterung könnte bei einer durch Hardware-unterstützten Datenabstrahierung verwendet werden, die ein Ausdruck ist, um sich auf irgendwelche Software-Datenstrukturen zu beziehen, die durch eine Hardware mit speziellem Zweck verstärkt wird.
- Um den PAM als ein FIFO zu verwenden, würde der Systemverwender:
- 1) Die FIFO-Modezahl in das Mode-Register laden.
- 2) Die START- und STOP-Register mit den Grenzen des zirkularen Puffers, die zu verwenden sind, einstellen.
- 3) Die IN PTR und OUT PTR werden auf die gleiche Zahl (am besten 0) voreingestellt. Dies macht den Puffer anfangs leer.
- 4) Die Datenübertragung beginnt.
- a. Ein Lesen bzw. eine Leseoperation wird vorgenommen durch:
- i. Das Statusregister wird überprüft, um sicherzustellen, daß der Puffer nicht leer ist.
- ii. Von dem MDR wird ein Lesen bzw. eine Leseoperation vorgenommen.
- b. Ein Schreiben bzw. eine Schreiboperation wird vorgenommen:
- i. Das Statusregister wird geprüft, um sicherzustellen, daß der Puffer nicht voll ist.
- ii. Ein Schreiben bzw. eine Schreiboperation wird in den MDR ausgeführt.
- Das PAM wird mit dem MDR automatisch Daten unter der zutreffenden Adresse und Koordinaten speichern oder von dort erhalten.
- 3. Als inhaltsadressierbarer Speicher zum Suchen.
- Eine Datenbasis bzw. -grundlage wird als eine Anordnung von Aufzeichnungen gespeichert. Nach der Basis kann gesucht werden, indem nach einem bestimmten Muster an einem Eingang der Aufzeichnung gesucht wird, oder es kann gesucht werden, indem ein Test an einem oder mehreren Eingängen innerhalb der Aufzeichnung durchgeführt wird, und die Aufzeichnung bzw. Aufzeichnungen, die diesen Test erfüllen, wiedergewonnen werden.
- Als ein erstes Beispiel könnte die Datenbasis eine persönliche Aufzeichnung sein, und eine Suchmarke könnte die Erkennungsnummer eines Angestellten sein. In diesem Falle könnte die Musteraufsuch- bzw. -findebetriebsmode-Nummer 7 verwendet werden, wobei das Muster, das innerhalb eines der Register 100 gespeichert wird, die ID-Nummer ist. Die Inhalte der RAM-Einrichtung 200 werden abgesucht, bis das Muster gefunden wird, und die Aufzeichnung, die mit diesem Muster verbunden ist, zu dem Host-Computer ausgegeben wird. Man erkenne, daß, weil die Suche durch das PAM selbst durchgeführt wird, der Betrieb bzw. die Operation zwei- bis dreimal schneller laufen sollte, als wenn sie durch den Mikroprozessor vorgenommen werden würde, weil es, während die Prozedur eingestellt wird, mit der Länge der festgelegten Aufzeichnung und dem Platz bzw. der Stelle des Marken- bzw. Markierungseingangs innerhalb der Aufzeichnung die einzige Betätigung des Host-Mikroprozessors ist, die ID-Zahl, nach der gesucht wird, zu dem PAM durchzugeben. Der Host-Mikroprozessor muß keinen Zugriff über einen Bus vornehmen, um in jede Aufzeichnung zu gelangen und einen Vergleich vorzunehmen, so daß die Einsparung der Zugriffszeit über einen Bus einen bemerkbar bzw. beachtlich schnelleren Betrieb ergeben wird.
- Die Fachleute im Stand der Technik werden leicht dazu in der Lage sein, viele verschiedene Systeme zu verwirklichen, die diese Erfindung einsetzen. Ein besonders vorteilhaftes Merkmal der Erfindung ist die Verringerung der Gesamtbetriebszeit, die sich aus einfachem Suchen und Prüfen innerhalb des PAM und folglich ohne den externen Bus einzubeziehen, ergibt.
- Eine Erstreckung der Erfindung auf größere Datenbasen ergibt einen weiteren Vorteil, indem zwei oder mehr PAM's gleichzeitig betrieben werden können, um eine große Datenbasis mit dem gleichen Test abzusuchen. Aufzeichnungen, die den Test erfüllen, können zu dem Host-CPM geschickt werden, wobei übliche Unterbrechungs- bzw. Interruptprozeduren verwendet werden.
- Ein weiterer Vorteil der Erfindung für relativ kleine Datenbasen oder kleine Speicherbereiche ist, daß die gleiche RAM-Einrichtung 200 in zwei oder mehr Modi der Reihe nach verwendet werden kann. Das heißt, der RAM kann als ein FIFO und auch als ein Stapel verwendet werden, wobei der Betriebsmode, wie erforderlich, geändert wird, indem eine einfache Einschreibung in das Mode-Register für spezielle Zwecke für den zutreffenden Steuercode vorgenommen wird.
- Ein Satz von Registern für die Einrichtung 100, die die vorangehenden Operationen bzw. Voranoperationen bewirken wird, ist in der Tabelle I angegeben, in der Klammern verschiedene Funktionen eines Registers in alternativen Modi anzeigen. Die Fachleute im Stand der Technik werden leicht dazu in der Lage sein, zusätzliche Register hinzuzufügen, um andere spezialisierte Funktionen in die Tat umzusetzen. Die 12 Register in Tabelle I können durch zusätzliche vier Register ergänzt werden und immer noch durch den Bus 20 mit vier Bits adressiert werden. Die Fachleute im Stand der Technik werden leicht dazu in der Lage sein, die darstellerischen Betriebsmodi und Registergestaltungen zu ergänzen, um zusätzliche spezialisierte Funktionen in die Tat umzusetzen.
- Es wird nun auf Fig. 2 bezuggenommen, wo eine einfache Ausführungsform eines Adreßberechnungsmoduls 300 gezeigt wird. Das Herz des Moduls ist eine ALU 310, eine einfache ALU, die Additions-, Subtraktions- und Identitätsfunktionen hat. Die Fachleute im Stand der Technik werden leicht dazu in der Lage sein, sich viele ALU's auszudenken, um diese Funktionen durchzuführen. Die Konstruktion von einer ALU wird in Ward et al, "Computation Structures", 1984, gelehrt. Zwei Eingänge, die Multiplexer 312 und 314, geben die Inhalte der Register innerhalb der Einrichtung 100 an die ALU 310. Ein temporäres Register 315 kann für komplizierte Adreßberechnungen verwendet werden. Die Funktion des Adreßberechnungsmoduls ist es, wie oben bemerkt, die gegenwärtige Adresse für jene Betriebsmodi zu berechnen, die einen Zeiger oder andere indirekte Adressierungsfunktionen einsetzen. Ein temporäres Register 320 speichert den Ausgang der ALU 310 zwischen bzw. hält diesen, und die Inhalte des Registers 320 werden zu dem Adreßbereichsmodul 400 entlang des Busses 42 oder durch das Gate 324 zu dem Zugriffsregister 100 gegeben, von dem verschiedene Register als Ergebnis der Adreßberechnung aktualisiert bzw. auf den neuesten Stand gebracht werden. Die Busse bzw. Übertragungswege können zugeordnete Busse sein, die ein Register oder Modul unmittelbar an ein anderes anschließen. Die Reihengrößen-Eingangsleitung zu dem Multiplexer 314 trägt einen gleichbleibenden Eingang und wird verwendet, um ein Reihenzählregister in dem Falle heraufzusetzen bzw. zu inkrementieren, daß eine automatische Auffrischung gewünscht wird. Falls der RAM 200 ein Automatischer ist, ist ein Auffrischen nicht erforderlich. Diese Anordnung prüft eine Überschreitung oder Unterschreitung oder (ein spezieller Fall) Reihenanzahlüberschreitung oder -unterschreitung der ALU. Dies teilt mit, wenn es nötig ist, die RAM-Adresse zu verändern, oder sie ungültig sein könnte. Ausgangssignale werden zu der Steuerung 150 auf den Leitungen 51 und 52 als Teil des Steuernetzwerkes 50 gesandt.
- Es wird nun auf Fig. 3 bezuggenommen, wo eine Ausführungsform eines Adreßbereichsmoduls 400 gezeigt ist. Die logischen Funktionen werden mittels eines Adreßsignals durchgeführt, das entweder von dem Speicheradreßregister innerhalb der Einrichtung 100 auf dem Bus 408 oder von dem Ausgang des Adreßberechnungsmoduls 300 auf dem Bus 406 kommen kann. Eine dieser Adressen wird durch den Multiplexer 410 geleitet und wird in drei verschiedene binäre Vergleicher bzw. Komparatoren 420, 430 oder 440 mit 16-Bit eingegeben. Unterschreitungs- oder Überschreitungssignale auf den Leitungen 424 bzw. 434 werden durch Vergleich der gegenwärtigen Adresse mit einer Startadresse auf der Leitung 422 oder einer Stop (oder Verschiebungs)-Adresse auf Leitung 432 erhalten. Diese beiden Adressen kommen von Registern innerhalb der Zugriffsregistereinrichtung 100. Ein dritter Vergleich ist eine Leer-/Vollanzeige für einen FIFO-Puffer. Diese wird durch Vergleich der gegenwärtigen Adresse entweder mit der IN PTR oder der OUT PTR erzeugt, von denen eine durch den Multiplexer 450 zum Vergleich ausgewählt wird. Ein dritter Multiplexer 460 nimmt eine der Adressen auf den Leitungen 406 (von dem MAR) oder 408 (von dem Adreßberechnungsmodul 300) und gibt sie zu dem RAM 200. Es ist der Punkt, einen getrennten Multiplexer zu haben, der durch die Datenwegsteuerung 150 überbrückt wird, das entweder eine Nachheraufsetzung oder -herabsetzung oder eine Vorheraufsetzung oder -herabsetzung nach Wahl des Systemkonstrukteurs in die Tat umgesetzt werden kann.
- Die Fig. 4 zeigt eine Ausführungsform eines Datenveränderungsmoduls 500, die in ihren Zügen den Inhalt von Fig. 2 ähnlich bzw. gleich ist. Eine noch komplexere ALU 510, die eine volle Palette logischer Funktionen hat und auch arthmetische Funktionen hat, die Addition und Subtraktion umfassen, nimmt Daten entlang des Busses 46 von dem RAM 200 entgegen und nimmt auch entweder den Inhalt bzw. Inhalte des Datenspeicherregisters oder des Musterregisters von der Zugriffsregistereinrichtung 100 über den Multiplexer 512 entgegen. Eine Eingangsleitung 506, die von dem Funktionsregister innerhalb der Einheit 100 kommt, gibt an, welches Mikrocode-Unterprogramm innerhalb der ALU verwendet wird, um den Vergleich oder die Berechnung durchzuführen. Das temporäre Register 520 speichert das Ergebnis, das zu der RAM 200 über den Bus 46 oder den Bus 40 über das Gate 524 zurückgeben wird.
- Die Fig. 5 stellt ein vereinfachtes Diagramm einer Datenwegsteuerung 150 dar. Die Steuereingänge von dem Steuerleitungsnetzwerk 50 gehen in die ODER-Schaltung 502 und gehen in den Multiplexer 540, der auch ein Modesignal annimmt, das durch den Synchronisator 530 geht, der die PAM-Steuerung mit Eingängen von der Host- Vorrichtung synchronisiert. Dies ist erforderlich, es sei denn, der PAM teilt sich einen Zeitgeber mit dem Host bzw. Wirt. Es ist die Funktion des Modewertes, den Startpunkt in dem Mikro-RAM für das bestimmte Unterprogramm anzugeben, das ausgeführt wird.
- Das Mikrobefehlsregister 520 ist eine übliche Einrichtung, die dem Fachmann im Stand der Technik wohlbekannt ist, wie es etwa in Ward & Halstead, "Computation Structures", 1983, dargestellt ist, wobei MIT die "6032-Vorrichtung" beschreibt. Ein anderes Beispiel ist die LSI-11 der Digital Equipment Corporation.
- Die Fachleute nach dem Stand der Technik werden leicht dazu in der Lage sein, abgeänderte Ausführungsformen der Erfindung zu gestalten, in denen verschiedene Mikrocodes innerhalb der Vorrichtung mit endlichem Zustand nach Fig. 5 den RAM mit allgemeinem bzw. gemeinsamen Zweck verändert, um einige bestimmte Anwendungen durchzuführen.
- Die Figuren sind dargestellt worden, um die größtmögliche Klarheit zur Verfügung zu stellen und sind schematischer Natur. Zum Beispiel, aber ohne Einschränkung, können zwei oder mehr Steuerungen physikalisch die gleiche sein, mit Ausnahme des Mikrocodes, der die Operationen steuert. Ähnlich kann der tatsächliche Verdrahtungsweg zwischen Einrichtungen ein gemeinsamer Bus oder ein Netzwerk direkter Leitungen sein. Der RAM 200 kann entweder statisch oder dynamisch, bipolar oder MOS sein.
- Die Zugriffsregister 100 sind in ihrem Wesen als allgemein zu verstehen. Jede beliebige Form von Schaltung, die Daten aufrechterhalten wird, einschließlich festverdrahteter Spannungspegel, EPROM-Schaltungen oder Anschlüsse, die durch eine externe Schaltung aufrechterhalten werden, kann gemeint sein.
- Register Funktion
- MODE steuert den Betriebsmode
- ALU FUNC zeigt die Datenveränderungsfunktion in dem Datenveränderungsmodul an
- STATUS enthält Fehlersignalbits und den gegenwärtigen Betriebsstatus
- START Boden bzw. unterer Bereich des gegenwärtig aktiven Bereichs
- STOP oberer Bereich bzw. Kopf des gegenwärtig aktiven Bereichs
- CUR gegenwärtige Adresse (auch versetzt)
- SP Stapelzeiger (OUT PTR)
- BASIS Basis des Stapelregisters (IN PTR)
- MDR Datenspeicherregister (Muster, nach dem zu suchen ist)
- MUSTER Veränderungsmuster
- IN INCR Eingang inkrementieren bzw. heraufsetzen
- OUT INCR Ausgang inkrementieren bzw. heraufsetzen
- * Die Klammern enthalten alternative Funktionen in verschiedenen Modi des Betriebs.
Claims (19)
1. Integriertes Speicherschaltungssystem auf einem einzigen bzw. einzelnen Chip,
das zumindest eine Steuereinrichtung hat und aufweist:
eine Anordnung (200) von Speicherzellen;
eine Decodereinrichtung, die auf eine Speicheradresse anspricht, um
zumindest auf eine ausgewählte Zelle innerhalb der Anordnung (200) zuzugreifen;
einen Satz Zugriffsregister (100), der in einen Datenweg zwischen einem Bus
(10) für den Chip und die Anordnung (200) von Speicherzellen angeschlossen ist,
und ein Zugriffsregister, um Speicheradressdaten zu speichern, ein Zugriffsregister,
um Speicherdaten zu speichern, und ein Register für einen besonderen Zweckmode
umfaßt, um zumindest einen Modeparameter zu speichern;
eine Adreßerzeugungseinrichtung (300), um eine gegenwärtige
Speicheradresse aus einem Eingangsbezugssignal zu erzeugen, das dem Bus (10) über die
Zugriffsregister zugeführt ist, und an einen Adreßdatenweg (40, 42, 44) zwischen
dem Satz (100) von Zugriffsregistern und der Anordnung (200) von Speicherzellen
angeschlossen ist, um die gegenwärtige Speicheradresse an die Decodereinrichtung
anzulegen;
eine logische Adreßbetriebseinrichtung (400), die an den bzw. in dem
Adreßdatenweg zwischen dem Satz von Zugriffsregistern und der Anordnung von
Speicherzellen angeschlossen ist, um in Antwort bzw. Reaktion auf ein
Eingangssignal (50) eine logische Operation auf die gegenwärtige Speicheradresse
anzuwenden, wobei die logische Adreßbetriebseinrichtung Mittel umfaßt, um die
gegenwärtige Speicheradresse zumindest mit einer Bezugsadresse zu vergleichen, um zu
bestimmen, ob die gegenwärtige Speicheradresse innerhalb eines erlaubten Bereiches
liegt; und
eine Steuereinrichtung (120, 150), die eine programmierte
Zugriffsregistersteuereinrichtung (120), die auf ein externes Steuersignal (30) anspricht, um den Satz
(100) von Zugriffsregistern zu steuern, und eine Datenwegsteuereinrichtung (150)
umfaßt, die unter der Steuerung gespeicherter Programme (510, 520) an die
Adreßerzeugungseinrichtung (300) und die Zugriffsregister angeschlossen ist und
diese steuert, um Signale an den Bus (10) an einen ausgewählten des Datenweges
und des Adreßdatenweges in einem ausgewählten von zumindest zwei verschiedenen
Speichermodi des Betriebs zu richten, die durch den zumindest einen gespeicherten
Modeparameter angegeben sind, wodurch die Anordnung von Speicherzellen
wahlweise als zumindest zwei verschiedene Arten von Speichern logisch
konstruierbar ist.
2. Integriertes Speicherschaltungssystem nach Anspruch 1, das ferner eine
Datenveränderungseinrichtung (500) aufweist, die an den Datenweg (46, 40)
zwischen dem Satz von Zugriffsregistern (100) und der Speichereinrichtung (200)
angeschlossen ist, um unter der Steuerung gespeicherter Programme (510) Daten, die
zwischen dem Satz von Zugriffsregistern (100) und der Speichereinrichtung (200)
durchgehen, wahlweise zu verändern, zu modifizieren und zu erkennen, wobei die
Datenveränderungseinrichtung die Daten auf dem Datenweg ändert, indem eine
logische Operation auf die Daten angewandt wird.
3. Speichersystem nach einem der Ansprüche 1 oder 2, in dem die
Adreßerzeugungseinrichtung die gegenwärtige Adresse zum Speichern von Daten erzeugt, in dem auf
bzw. mit einer START-Adresse operiert wird, und die ein SCHREIB-Zeigerregister
aufweist, um die gegenwärtige Adresse zu speichern.
4. Speichersystem nach einem der voranstehenden Ansprüche, in dem die
Adreßerzeugungseinrichtung Mittel umfaßt, um die gegenwärtige Adresse zum Adressieren
der Anordnung (200) als einen Silospeicher bzw. FIFO-Speicher zu adressieren.
5. Speichersystem nach einem der voranstehenden Ansprüche, in dem die
Adreßerzeugungseinrichtung Mittel umfaßt, um die gegenwärtige Adresse zu erzeugen, um
die Anordnung (200) als einen Last-in-First-out-Speicher bzw. LIFO-Speicher zu
adressieren.
6. Speichersystem nach einem der voranstehenden Ansprüche, in dem die
Adreßerzeugungseinrichtung Mittel umfaßt, um eine Reihe von Leseadressen innerhalb
eines ersten Adreßbereichs und eine bezugnehmende Reihe von Schreibadressen
innerhalb eines zweiten Adreßbereichs in dem Verlauf einer vorbestimmten
Datenübertragungssequenz zu erzeugen, die durch die Steuereinrichtung unter der
Steuerung gespeicherter Programme gesteuert wird.
7. Speichersystem nach einem der voranstehenden Ansprüche, in dem die
programmierte Zugriffsregistersteuereinrichtung (120) auf ein vorbestimmtes Muster von
Mode-Steuersignalen anspricht, um ein gespeichertes Programm (1510) innerhalb der
Steuereinrichtung auszuwählen, um die Adreßerzeugungseinrichtung (300) in einem
vorbestimmten Mode zu betreiben, um einen gegenwärtigen Wert für ein
Speicheradreßregister (320) zu berechnen; und wobei die programmierte
Zugriffsregistersteuereinrichtung (120) auf ein externes Steuersignal anspricht, um eine ausgewählte
Folge von Befehlen innerhalb des gespeicherten Programms (1510) in der
Steuereinrichtung (150) zu beginnen.
8. Speichersystem nach Anspruch 2 oder einem der Ansprüche 3 bis 7, wenn diese
von Anspruch 2 abhängen, in dem die Datenveränderungseinrichtung (500) Daten auf
dem Datenweg ändert, indem eine logische Operation unter Verwendung der Daten
und eines vorbestimmten Satzes von Veränderungsdaten ausgeführt wird.
9. Speichersystem nach Anspruch 2 oder einem der Ansprüche 3 bis 7, wenn diese
von Anspruch 2 abhängen, in dem die Datenveränderungseinrichtung (500) betrieben
wird, um Daten auf dem Datenweg mit einem vorbestimmten Bezugsmuster von
Daten zu vergleichen.
10. Speichersystem nach Anspruch 9, in dem die Datenveränderungseinrichtung ein
Erkennungs- bzw. Identifikationssignal erzeugt, wenn eine Übereinstimmung
zwischen den Daten auf dem Datenweg und dem vorbestimmten Bezugsmuster von
Daten gefunden wird.
11. Speichersystem nach Anspruch 10, in dem die Adreßerzeugungseinrichtung die
gegenwärtige Speicheradresse einen vorbestimmten Adreßbereich durchlaufen läßt
und die Steuereinrichtung die Kontakte von der gegenwärtigen Speicheradresse zu
der Datenveränderungseinrichtung ausliest, bis eine Übereinstimmung gefunden wird,
wobei das Speichersystem als ein inhaltsadressierbarer Speicher arbeitet.
12. Speichersystem nach einem der Ansprüche 10 oder 11, in dem der Inhalt bzw.
die Inhalte eines vorbestimmten Bereichs von Speicheradressen, die bei der
gegenwärtigen Speicheradresse starten, in Antwort auf das
Übereinstimmungserkennungssignal ausgelesen werden, wodurch ein Datenblock einer vorbestimmten
Größe durch eine Suche nach einem Bestandteil davon ausgemacht werden kann.
13. Speichersystem nach einem der Ansprüche 10 bis 12, in dem gespeicherte Daten
in einen vorbestimmten Bereich von Speicheradressen, der bei der gegenwartigen
Speicheradresse beginnt, in Reaktion auf das Übereinstimmungserkennungssignal
geschrieben werden, wodurch ein Datenblock einer vorbestimmten Größe ausgemacht
und durch eine Suche von einem Element davon geändert werden kann.
14. Speichersystem nach einem der Ansprüche 2 bis 13, in dem die
Adreßerzeugungseinrichtung (300) einen vorbestimmten Speicheradressbereich durchläuft, und
indem die Steuerungseinrichtung betrieben wird, um die
Datenveränderungseinrichtung zu steuern, um die Daten auf dem Datenweg zu beeinflussen bzw. zu
beeinträchtigen.
15. Speichersystem nach Anspruch 14, in dem die Datenveränderungseinrichtung
gespeicherte Daten in die Anordnung (200) über den Datenweg während einer
Schreiboperation zuführt, so daß der vorbestimmte Speicheradressbereich mit den
gespeicherten Daten gefüllt wird.
16. Speichersystem nach Anspruch 15, in dem die gespeicherten Daten
unveränderlich bzw. fix sind.
17. Speichersystem nach Anspruch 1 oder einem der Ansprüche 3 bis 16, wenn sie
davon abhängen, in dem die logische Adreßbetätigungseinrichtung die gegenwärtige
Speicheradresse mit einer oberen Bezugsadresse und mit einer unteren Bezugsadresse
vergleicht, um zu bestimmen, falls die gegenwärtige Speicheradresse innerhalb eines
erlaubten Bereichs liegt.
18. Speichersystem nach Anspruch 1 oder einem der Ansprüche 3 bis 17, wenn sie
dazu abhängen, in dem die logische Adreßbetätigungseinrichtung die gegenwärtige
Speicheradresse mit zumindest einer Bezugsadresse vergleicht, um zu bestimmen, ob
die gegenwärtige Speicheradresse innerhalb eines vorbestimmten Bereichs liegt, und,
falls die gegenwärtige Speicheradresse größer ist als eine obere Grenze des
Adreßbereichs, die logische Adreßbetätigungseinrichtung die gegenwärtige
Speicheradresse durch eine vorbestimmte untere Speichergrenzadresse ersetzt, so daß
das Speichersystem als ein zirkularer Puffer arbeitet.
19. Speichersystem nach Anspruch 1 oder einem der Ansprüche 3 bis 18, wenn sie
davon abhängen, in dem die logische Adreßbetätigungseinrichtung die gegenwärtige
Speicheradresse mit mindestens einer Bezugsadresse vergleicht, um zu bestimmen,
ob die gegenwärtige Speicheradresse innerhalb eines vorbestimmten Bereiches liegt,
und, falls die gegenwärtige Speicheradresse kleiner ist als eine untere Grenze des
Adreßbereichs, die logische Adreßbetätigungseinrichtung die gegenwärtige
Speicheradresse durch eine vorbestimmte obere Speichergrenzadresse ersetzt, so daß
das Speichersystem als ein zirkularer Puffer arbeitet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/781,584 US4835733A (en) | 1985-09-30 | 1985-09-30 | Programmable access memory |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3650532D1 DE3650532D1 (de) | 1996-07-25 |
DE3650532T2 true DE3650532T2 (de) | 1996-10-31 |
Family
ID=25123245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3650532T Expired - Fee Related DE3650532T2 (de) | 1985-09-30 | 1986-09-26 | Speicher mit programmierbarem Zugang |
Country Status (6)
Country | Link |
---|---|
US (1) | US4835733A (de) |
EP (1) | EP0218523B1 (de) |
JP (1) | JPH0814801B2 (de) |
KR (1) | KR950007448B1 (de) |
AT (1) | ATE139633T1 (de) |
DE (1) | DE3650532T2 (de) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0642263B2 (ja) * | 1984-11-26 | 1994-06-01 | 株式会社日立製作所 | デ−タ処理装置 |
US5056014A (en) * | 1985-02-04 | 1991-10-08 | Lockheed Sanders, Inc. | Network simulation system |
US5040153A (en) * | 1987-10-23 | 1991-08-13 | Chips And Technologies, Incorporated | Addressing multiple types of memory devices |
EP0326053B1 (de) * | 1988-01-28 | 1996-06-26 | National Semiconductor Corporation | Datensicherungsverfahren für einen programmierbaren Speicher |
US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
US4989180A (en) * | 1989-03-10 | 1991-01-29 | Board Of Regents, The University Of Texas System | Dynamic memory with logic-in-refresh |
US5758148A (en) * | 1989-03-10 | 1998-05-26 | Board Of Regents, The University Of Texas System | System and method for searching a data base using a content-searchable memory |
US5777608A (en) * | 1989-03-10 | 1998-07-07 | Board Of Regents, The University Of Texas System | Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US6324120B2 (en) | 1990-04-18 | 2001-11-27 | Rambus Inc. | Memory device having a variable data output length |
US6751696B2 (en) | 1990-04-18 | 2004-06-15 | Rambus Inc. | Memory device having a programmable register |
GB9019026D0 (en) * | 1990-08-31 | 1990-10-17 | Ncr Co | Work station including a direct memory access controller |
US5280595A (en) * | 1990-10-05 | 1994-01-18 | Bull Hn Information Systems Inc. | State machine for executing commands within a minimum number of cycles by accomodating unforseen time dependency according to status signals received from different functional sections |
US5210856A (en) * | 1991-08-07 | 1993-05-11 | Chips And Technologies, Inc. | Non-aligned DRAM state machine for page-mode DRAM control |
US5305454A (en) * | 1991-08-12 | 1994-04-19 | International Business Machines Corporation | Notification of event handlers in broadcast or propagation mode by event management services in a computer system |
US5355484A (en) * | 1991-08-12 | 1994-10-11 | International Business Machines Corporation | Dynamically established event monitors in event management services of a computer system |
US5625821A (en) * | 1991-08-12 | 1997-04-29 | International Business Machines Corporation | Asynchronous or synchronous operation of event signaller by event management services in a computer system |
US5237684A (en) * | 1991-08-12 | 1993-08-17 | International Business Machines Corporation | Customized and versatile event monitor within event management services of a computer system |
JPH06111010A (ja) * | 1992-09-29 | 1994-04-22 | Ricoh Co Ltd | Dram及びコントローラ |
DE69327504T2 (de) * | 1992-10-19 | 2000-08-10 | Koninklijke Philips Electronics N.V., Eindhoven | Datenprozessor mit Operationseinheiten, die gemeinsam Gruppen von Registerspeichern benutzen |
US5493665A (en) * | 1992-12-21 | 1996-02-20 | Base 10 Systems, Inc. | Portable memory device and method of securing the integrity of stored data therein utilizing a starting address and a stored memory cycle number |
AU673069B2 (en) * | 1993-03-23 | 1996-10-24 | David Siu Fu Chung | Intelligent memory architecture |
JPH08507888A (ja) * | 1993-03-23 | 1996-08-20 | シウ フ チャン,デイヴィッド | 知能メモリアーキテクチャ |
US5406554A (en) * | 1993-10-05 | 1995-04-11 | Music Semiconductors, Corp. | Synchronous FIFO having an alterable buffer store |
US5636369A (en) * | 1995-05-26 | 1997-06-03 | Datron/Transco, Inc. | Fast pattern-detection machine and method |
US6148034A (en) * | 1996-12-05 | 2000-11-14 | Linden Technology Limited | Apparatus and method for determining video encoding motion compensation vectors |
US5953738A (en) * | 1997-07-02 | 1999-09-14 | Silicon Aquarius, Inc | DRAM with integral SRAM and arithmetic-logic units |
JP2000029778A (ja) * | 1998-07-14 | 2000-01-28 | Hitachi Ltd | 記憶素子 |
JP2002175689A (ja) * | 2000-09-29 | 2002-06-21 | Mitsubishi Electric Corp | 半導体集積回路装置 |
JP2002108691A (ja) | 2000-09-29 | 2002-04-12 | Mitsubishi Electric Corp | 半導体記憶装置および半導体記憶装置の制御方法 |
US20040133762A1 (en) * | 2003-01-06 | 2004-07-08 | Rui-Fu Chao | Linear access window |
EP2706420B1 (de) * | 2012-09-05 | 2015-03-18 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines Automatisierungsgerätes |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3601809A (en) | 1968-11-04 | 1971-08-24 | Univ Pennsylvania | Addressable list memory systems |
GB1268283A (en) * | 1970-04-02 | 1972-03-29 | Ibm | Connect module |
JPS5140772B2 (de) * | 1971-07-26 | 1976-11-05 | ||
US3914747A (en) * | 1974-02-26 | 1975-10-21 | Periphonics Corp | Memory having non-fixed relationships between addresses and storage locations |
DE2517565C3 (de) * | 1975-04-21 | 1978-10-26 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Schaltungsanordnung für ein Datenverarbeitungssystem |
US4037205A (en) * | 1975-05-19 | 1977-07-19 | Sperry Rand Corporation | Digital memory with data manipulation capabilities |
JPS5326542A (en) * | 1976-08-24 | 1978-03-11 | Mitsubishi Electric Corp | Information retrieval unit |
JPS58192154A (ja) * | 1982-05-07 | 1983-11-09 | Casio Comput Co Ltd | 自動デ−タ処理機能を有するメモリ装置 |
JPS58208999A (ja) * | 1982-05-28 | 1983-12-05 | Nec Corp | メモリ装置 |
JPS58208981A (ja) * | 1982-05-28 | 1983-12-05 | Nec Corp | アドレス制御回路 |
JPS5956276A (ja) * | 1982-09-24 | 1984-03-31 | Hitachi Ltd | 半導体記憶装置 |
US4521874A (en) | 1982-09-28 | 1985-06-04 | Trw Inc. | Random access memory device |
JPS5960658A (ja) * | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | 論理機能を備えた半導体記憶装置 |
US4663742A (en) * | 1984-10-30 | 1987-05-05 | International Business Machines Corporation | Directory memory system having simultaneous write, compare and bypass capabilites |
-
1985
- 1985-09-30 US US06/781,584 patent/US4835733A/en not_active Expired - Lifetime
-
1986
- 1986-09-26 AT AT86402115T patent/ATE139633T1/de not_active IP Right Cessation
- 1986-09-26 DE DE3650532T patent/DE3650532T2/de not_active Expired - Fee Related
- 1986-09-26 EP EP86402115A patent/EP0218523B1/de not_active Expired - Lifetime
- 1986-09-29 KR KR1019860008153A patent/KR950007448B1/ko not_active IP Right Cessation
- 1986-09-30 JP JP61233117A patent/JPH0814801B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US4835733A (en) | 1989-05-30 |
KR950007448B1 (ko) | 1995-07-11 |
DE3650532D1 (de) | 1996-07-25 |
KR870003507A (ko) | 1987-04-17 |
JPS6298440A (ja) | 1987-05-07 |
EP0218523B1 (de) | 1996-06-19 |
EP0218523A3 (en) | 1989-12-06 |
ATE139633T1 (de) | 1996-07-15 |
EP0218523A2 (de) | 1987-04-15 |
JPH0814801B2 (ja) | 1996-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3650532T2 (de) | Speicher mit programmierbarem Zugang | |
DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
DE3587694T2 (de) | Speicherzugriffssteuergerät zur Realisierung von geschützten Gebieten in einem Speicher, und mit solchem Speicherzugriffssteuergerät ausgerüsteter Speicher. | |
DE68928213T2 (de) | Inhaltadressierte Speicherzellenanordnung | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE3689209T2 (de) | Direkte Ein-- und Ausgabe in einer virtuellen Speicheranordnung. | |
DE69107460T2 (de) | Assoziativer speicher. | |
DE3851038T2 (de) | Zugriff auf einen geschützten Speicher. | |
DE3689042T2 (de) | Gerät zur Pufferung von Schreibanforderungen. | |
DE3853759T2 (de) | Datenprozessor mit zwei Betriebsmoden. | |
DE69834739T2 (de) | Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren | |
DE3689488T2 (de) | Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE68923944T2 (de) | RAM mit doppelten Ein/Ausgängen. | |
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE3586603T2 (de) | Datenprozessor fuer interpretierende und kompilierte sprache. | |
DE68923026T2 (de) | Speicherdiagnosegerät und Verfahren. | |
DE69231174T2 (de) | Verfahren und Vorrichtung für Register zum atomaren Zugriff mit Einzelbit-Setzen und -Rücksetzen ohne programmierte gegenseitige Verriegelung | |
DE69229667T2 (de) | Simulierte cachespeicher-assoziativität | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE68928187T2 (de) | Inhaltadressierte Speicherzellenanordnung | |
DE3685711T2 (de) | Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen. | |
DE2722099A1 (de) | Abfangeinrichtung fuer ein dv-system | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |