[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE69602742T2 - CIRCUITS, SYSTEMS AND METHODS FOR CHANGING STORAGE DATA USING LOGICAL FUNCTIONS - Google Patents

CIRCUITS, SYSTEMS AND METHODS FOR CHANGING STORAGE DATA USING LOGICAL FUNCTIONS

Info

Publication number
DE69602742T2
DE69602742T2 DE69602742T DE69602742T DE69602742T2 DE 69602742 T2 DE69602742 T2 DE 69602742T2 DE 69602742 T DE69602742 T DE 69602742T DE 69602742 T DE69602742 T DE 69602742T DE 69602742 T2 DE69602742 T2 DE 69602742T2
Authority
DE
Germany
Prior art keywords
bit
data
logical
modifying
modifying data
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
Application number
DE69602742T
Other languages
German (de)
Other versions
DE69602742D1 (en
Inventor
Robert Nally
Michael Runas
Sudhir Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of DE69602742D1 publication Critical patent/DE69602742D1/en
Application granted granted Critical
Publication of DE69602742T2 publication Critical patent/DE69602742T2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Dram (AREA)

Description

ERFINDUNGSGEBIETFIELD OF INVENTION

Die vorliegende Erfindung betrifft im allgemeinen elektronische Schaltungen und insbesondere Schaltungen, Systeme und Verfahren zum Modifizieren von Speicherdaten unter Verwendung logischer Funktionen.The present invention relates generally to electronic circuits and, more particularly, to circuits, systems, and methods for modifying stored data using logic functions.

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Ein typisches Verarbeitungssystem mit Video- /Grafikanzeigemöglichkeit hat eine zentrale Prozessoreinheit (CPU), eine Anzeigesteuerung, die an die CPU durch einen Systembus gekoppelt ist, einen Systemspeicher, der ebenfalls an den Systembus gekoppelt ist, einen Bildpuffer, der an die Anzeigesteuerung durch einen lokalen Bus gekoppelt ist, einen peripheren Schaltungsaufbau (beispielsweise Takttreiber und Signalwandler), einen Anzeigetreiberschaltungsaufbau und eine Anzeigeeinheit. Die CPU schafft im allgemeinen eine Gesamtsystemsteuerung und steuert in Antwort auf die Befehle des Benutzers und Programminstruktionen, welche aus dem Systemspeicher ausgelesen worden sind, die Inhalte der an der Anzeigeeinheit anzuzeigenden Grafikbilder. Die Anzeigesteuerung, die beispielsweise eine Videografikarchitektur-(VGA)-Steuerung sein kann, ist im allgemeinen über eine Schnittstelle an die CPU und den Anzeigetreiberschaltungsaufbau angeschlossen, tauscht mit dem Bildpuffer während der Datenverarbeitung und den Anzeigewiederauffrischvorgängen Grafikdaten und/oder Videodaten aus, steuert die Bildpufferspeichervorgänge und führt eine zusätzliche Verarbeitung an den Ziel-Grafik- oder -Videodaten aus, wie beispielsweise eine Farbexpansion. Der Anzeigetreiberschaltungsaufbau wandelt die digitalen Daten, welche von der Anzeigesteuerung empfangen worden sind, in die analogen Pegel um, die von der Anzeigeeinheit gefordert werden, um Grafik-/Videoanzeigebilder zu erzeugen. Die Anzeigeeinheit kann ein Gerät beliebiger Bauart sein, welches dem Benutzer Bilder präsentiert, die die Information mitteilen, welche durch die verarbeiteten Grafik-/Videodaten repräsentiert wird.A typical processing system with video/graphics display capability has a central processing unit (CPU), a display controller coupled to the CPU by a system bus, a system memory also coupled to the system bus, a frame buffer coupled to the display controller by a local bus, peripheral circuitry (e.g., clock drivers and signal converters), display driver circuitry, and a display unit. The CPU generally provides overall system control and controls the contents of the graphics images to be displayed on the display unit in response to user commands and program instructions read from system memory. The display controller, which may be, for example, a video graphics architecture (VGA) controller, is generally interfaced to the CPU and display driver circuitry, exchanges graphics data and/or video data with the frame buffer during data processing and display refresh operations. , controls frame buffer operations, and performs additional processing on the target graphics or video data, such as color expansion. The display driver circuitry converts the digital data received from the display controller to the analog levels required by the display device to produce graphics/video display images. The display device may be any type of device that presents the user with images that convey the information represented by the processed graphics/video data.

Der Bildpuffer, der üblicherweise aus dynamischen Direktzugriffsspeichervorrichtungen (DRAMs) aufgebaut ist, speichert während der Verarbeitungsvorgänge, wie dem Filtern oder Zeichnen von Bildern, Worte der Grafik- oder Videodaten, welche die Farb-/Grauabstufung jedes Pixels eines gesamten Anzeigevollbildes definieren. Während der Anzeigewiederauffrischung werden diese "Pixeldaten" aus dem Bildpuffer Pixel für Pixel ausgelesen, wenn die entsprechenden Pixel am Anzeigeschirm wieder aufgefrischt werden. Somit entspricht die Größe des Bildpuffers direkt der Anzahl der Pixel in jedem Anzeigevollbild und der Anzahl von Bits (Bytes) in jedem Wort, das dazu verwendet wird, jedes Pixel zu definieren. Die Größe und Leistung des Bildpuffers ist durch eine Anzahl von Faktoren bestimmt, wie beispielsweise die Anzahl der Monitorpixel, die Monitor-DOT-Taktrate, die Anzeigewiederauffrisch-, Datenlese-/Einschreibfrequenz und die Speicherbandbreite, um nur ein paar zu nennen.The frame buffer, typically constructed of dynamic random access memory (DRAM) devices, stores words of graphics or video data that define the color/grayscale of each pixel of an entire display frame during processing operations such as filtering or drawing images. During display refresh, this "pixel data" is read from the frame buffer one pixel at a time as the corresponding pixels on the display screen are refreshed. Thus, the size of the frame buffer directly corresponds to the number of pixels in each display frame and the number of bits (bytes) in each word used to define each pixel. The size and performance of the frame buffer is determined by a number of factors, such as the number of monitor pixels, the monitor DOT clock rate, the display refresh, data read/write frequency, and memory bandwidth, to name a few.

Es wird oft nötig, an ausgewählten Pixeldaten innerhalb des Bildpuffers unter Verwendung von logischen Funktionen zu arbeiten, um Änderungen am Anzeigeschirm zu bewirken. Wenn beispielsweise ein Cursor eine Fenstergrenze schneidet oder wenn ein Fenster "angeklickt" wird, kann es wünschenswert sein, die Farbe des Fensters zur Betonung zu ändern. Ein weitere Beispiel ist die Implementierung von Zeichnen, Werkzeugen, die es dem Benutzer erlauben, die Opazität eines gegebenen Anzeigefensters zu steuern. Bei den derzeit zur Verfügung stehenden Systemen wird ein gewähltes Datenbyte üblicherweise aus einem vorgegebenen Ort in dem Bildpuffer gelesen, eine vorgegebene logische Operation wird modifiziert verwendet und die Daten werden geeignete modifiziert und dann als modifizierte Daten wieder in den Bildpuffer eingeschrieben. Diese Vorgänge werden typischerweise unter Verwendung entweder von zwei antiparallelen RAS-Zugriffen oder eines Lese-Modifizier-Schreibzyklus durchgeführt. Im ersteren Fall sind zwei RAS/CAS-Zyklen erforderlich, einer zum Lesen der unmodifizierten Daten aus dem Speicher und einer zum Einschreiben der modifizierten Daten wieder in den Speicher. Im zweiten Fall wird ein ausgedehnter RAS/CAS-Zyklus verwendet, während dem die Daten ausgelesen, modifiziert und wieder eingeschrieben werden. In jedem Fall ist mit jedem zu modifizierenden Datenbyte ein Ausführungs-(Zeit-)Opfer zu zahlen. Wenn eine große Anzahl von Bytes modifiziert werden, kann die Beeinträchtigung der Systemleistung erheblich sein.It is often necessary to operate on selected pixel data within the frame buffer using logical functions to effect changes on the display screen. For example, when a cursor crosses a window boundary or when a window is "clicked", it may be desirable to change the color of the window for emphasis. Another example is the implementation of drawing, Tools that allow the user to control the opacity of a given display window. In currently available systems, a selected byte of data is typically read from a given location in the frame buffer, a given logical operation is modified, and the data is appropriately modified and then written back into the frame buffer as modified data. These operations are typically performed using either two antiparallel RAS accesses or a read-modify-write cycle. In the former case, two RAS/CAS cycles are required, one to read the unmodified data from memory and one to write the modified data back into memory. In the latter case, an extended RAS/CAS cycle is used during which the data is read out, modified, and written back in. In either case, an execution (time) sacrifice is made with each byte of data to be modified. If a large number of bytes are modified, the impact on system performance can be significant.

Es wurden mehrere Versuche unternommen, die Probleme bei den Lese-Modifizier-Schreib-Updates im Speicher zu mindern oder zu eliminieren. Ein derartiger Versuch ist in der US- PS 5,432,743 (das '743-Patent) und dessen japanischem Äquivalent JP-A-06 076 565 beschrieben. Ein weiterer ist in der GB-A-2 225 567 (das '657-Patent) angegeben. Die in diesen Schriften offenbarten Systeme können wie folgt beschrieben werden.Several attempts have been made to reduce or eliminate the problems with read-modify-write updates in memory. One such attempt is described in US Patent 5,432,743 (the '743 patent) and its Japanese equivalent JP-A-06 076 565. Another is set forth in GB-A-2 225 567 (the '657 patent). The systems disclosed in these documents can be described as follows.

In dem in dem '743-Patent (und dessen japanischem Äquivalent) offenbarten System können Daten in einer vorbestimmten Speicherzelle selektiv einer logischen Operation unterzogen werden. Insbesondere wird eine Pegelschaltung verwendet, um den logischen Pegel von modifizierenden Daten zu bestimmen, die in Antwort auf ein logisches Operationsfreigabesignal in den Speicher eingeschrieben werden. Als ein Ergebnis werden die modifizierenden Daten in der gegebenen Zelle entweder invertiert oder bleiben dieselben.In the system disclosed in the '743 patent (and its Japanese equivalent), data in a predetermined memory cell can be selectively subjected to a logical operation. In particular, a level circuit is used to determine the logical level of modifying data written into the memory in response to a logical operation enable signal. As a As a result, the modifying data in the given cell is either inverted or remains the same.

Das '743-System hat mehrere erhebliche Nachteile. Erstens sind zwei separate Eingänge erforderlich, um die modifizierenden Daten und das logische Operationsfreigabesignal einzugeben. Dies ist zusätzlich zu den Eingängen der US-A- 5,432,743 und JP-A-06 076 565 für die normalen Speichersteuersignale, wie beispielsweise die Zeilen- und Spaltenadreßtaktsignale und das Schreibfreigabesignal. Zweitens müssen eine Anzahl von zusätzlichen internen Signalen erzeugt werden, um eine genaue Operationssymchronisation in diesem System sicherzustellen. Schließlich kann das '743- System, weil es entweder logische ODER- oder logische UND- Operationen durchführen kann, beide Operationen nicht in einem einzigen Satz von Steuerschaltungsaufbau unterstützen. Mit den Worten der Entwickler des '743-Patents sind "die Schaltungen so konstruiert, daß" eine vorgegebene logische Operation realisiert wird; das Problem, daß eine einzelne Schaltung in der Lage ist, in Antwort auf ein Steuersignal oder dergleichen eine oder mehrere mögliche logische Operationen durchführen zu können, bleibt ungelöst.The '743 system has several significant disadvantages. First, two separate inputs are required to input the modifying data and the logical operation enable signal. This is in addition to the inputs of US-A-5,432,743 and JP-A-06 076 565 for the normal memory control signals, such as the row and column address clock signals and the write enable signal. Second, a number of additional internal signals must be generated to ensure accurate operation synchronization in this system. Finally, because the '743 system can perform either logical OR or logical AND operations, it cannot support both operations in a single set of control circuitry. In the words of the designers of the '743 patent, "the circuits are designed to realize" a given logical operation; the problem of a single circuit being able to perform one or more possible logical operations in response to a control signal or the like remains unsolved.

Bei dem in dem '657-Patent offenbarten System werden Daten, die in einer einzelnen Zelle gehalten werden, vom Leseverstärker auf eine Reihenschaltung von Gates und Transistoren rückgeführt. Diese Gates und Transistoren, die auf mehrere intern erzeugte Signale sowie auch das Rückwärtsschleifen- (loop back)-Bit ansprechen, bestimmen, ob die Daten innerhalb der Zelle eine Inversion benötigen. Wenn keine Inversion erforderlich ist, fährt der Leseverstärker fort, das existierende Bit zu halten, ansonsten wird der Zustand des Leseverstärkers umgekehrt.In the system disclosed in the '657 patent, data held in a single cell is fed back by the sense amplifier to a series of gates and transistors. These gates and transistors, responsive to several internally generated signals as well as the loop back bit, determine whether the data within the cell requires inversion. If inversion is not required, the sense amplifier continues to hold the existing bit, otherwise the state of the sense amplifier is reversed.

Das '657-System unterliegt ebenfalls einer Anzahl von Nachteilen. Zugegebenermaßen sind eine Reihe von "schnellen Operationen" für eine vorgegebene logische Operation erforderlich. Dies erzwingt die Eingabe einer Anzahl von Steuersignalen durch eine entsprechende Anzahl von Anschlußstiften (pins). Wie allgemein bekannt, erhöhen Extra-Pins die Kosten des Gerätes und die Packungsgröße. Am wichtigsten ist, daß das Zurückführen von Daten einen zusätzlichen Schaltungsaufbau erfordert, um die Rückschleife selbst durchzuführen, und erforderlich macht, daß der Leseverstärker aktiv ist und gültige Daten hält.The '657 system is also subject to a number of disadvantages. Admittedly, a number of "quick operations" are required for a given logical operation. This forces a number of control signals to be input through a corresponding number of pins. As is well known, extra pins increase the cost of the device and the packaging size. Most importantly, data looping requires additional circuitry to perform the loopback itself and requires the sense amplifier to be active and hold valid data.

Somit ist für Geräte, Systeme und Verfahren die Notwendigkeit entstanden, an Daten, die in einem Speicher gespeichert sind, logische Operationen durchführen zu können. Insbesondere ist die Notwendigkeit für Geräte, Systeme und Verfahren entstanden, die die Leistungsnachteile minimieren, welche durch die derzeit zur Verfügung stehenden Systeme in Kauf genommen werden müssen, insbesondere jene Systeme, die während des Durchführens einer logischen Operation beide Ausführungen von Mehrfachlese- und Einschreibzyklen erfordern. Ferner sollten derartige Geräte, Systeme und Verfahren insbesondere bei der Durchführung von logischen Operationen an Pixeldaten anwendbar sein, die in einem Bildpuffer gespeichert sind.Thus, the need has arisen for devices, systems and methods to be able to perform logical operations on data stored in a memory. In particular, the need has arisen for devices, systems and methods that minimize the performance penalties incurred by currently available systems, particularly those systems that require both multiple read and write cycles to be performed while performing a logical operation. Furthermore, such devices, systems and methods should be particularly applicable to performing logical operations on pixel data stored in a frame buffer.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Gemäß den Prinzipien der vorliegenden Erfindung können ausgewählte logische Operationen ohne Mehrfach- oder ausgedehnte RAS/CAS-Zyklen an Daten durchgeführt werden, die innerhalb ausgewählter Orte in einem Speicher gespeichert sind. Die Prinzipien der vorliegenden Erfindung haben im allgemeinen den Vorteil der Tatsache, daß während UND- und ODER-Operationen ein Datenbit, das bearbeitet wird, entweder dasselbe bleibt oder durch ein entsprechendes Bit der modifizierenden Daten in Abhängigkeit vom Zustand des Bits der modifizierenden Daten ersetzt wird.According to the principles of the present invention, selected logical operations can be performed on data stored within selected locations in a memory without multiple or extended RAS/CAS cycles. The principles of the present invention generally take advantage of the fact that during AND and OR operations, a data bit being operated on either remains the same or is replaced by a corresponding bit of the modifying data depending on the state of the bit of the modifying data.

Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Speichersystem geschaffen, mit einem Feld von Speicherzellen, die in Zeilen und Spalten angeordnet sind und einem Schaltungsaufbau zum selektiven Durchführen von logischen Operationen an einem Datenbit, das in einer gewählten Zelle gespeichert ist, unter Verwendung eines Bits empfangener, modifizierender Daten und eines Modusdatenbits. Der Schaltkreis zum Durchführen der logischen Operationen führt eine logische UND-Operation als eine reine Funktion eines logischen Zustandes des modifizierenden Bits durch und schreibt das Bit der modifizierenden Daten in die gewählte Zelle ein, wenn das Bit der modifizierenden Daten logisch Null ist und hält ein bestehendes Bit, das in der Zelle gespeichert ist, wenn das Bit der modifizierenden Daten eine logische Eins ist. Ferner ist ein Schaltkreis zum Empfangen und Speichern des Bits modifizierender Daten und des Modusdatenbits in Reihe durch einen einzelnen Datenport vorgesehen, wobei das Modusdatenbit bei einer fallenden Flanke eines Zeilenadreßtaktsignals gehalten wird und das Bit der modifizierenden Daten bei den fallenden Flanken sowohl des. Spaltenadreßtaktsignals als auch des Einschreibfreigabesignals gehalten wird.According to a first aspect of the present invention, there is provided a memory system comprising an array of memory cells arranged in rows and columns and circuitry for selectively performing logical operations on a data bit stored in a selected cell using a bit of received modifying data and a mode data bit. The circuitry for performing the logical operations performs a logical AND operation as a pure function of a logical state of the modifying bit and writes the modifying data bit into the selected cell when the modifying data bit is a logical zero and retains an existing bit stored in the cell when the modifying data bit is a logical one. Further, circuitry is provided for receiving and storing the modifying data bit and the mode data bit in series through a single data port, the mode data bit being latched on a falling edge of a row address clock signal and the modifying data bit being latched on the falling edges of both the column address clock signal and the write enable signal.

Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Speichersystem vorgesehen, mit einem Feld von Speicherzellen, die in Zeilen und Spalten angeordnet sind, und einem Schaltkreis zum selektiven Durchführen von logischen Operationen an einem Datenbit, das in einer gewählten Zelle gespeichert ist, unter Verwendung von einem Bit der empfangenen modifizierenden Daten und einem Modusdatenbit. Der Schaltkreis zum Durchführen der logischen Operationen führt eine logische ODER-Operation als eine Funktion eines logischen Zustandes des modifizierenden Bits durch und schreibt das Bit der modifizierenden Daten in die gewählte Zelle ein, wenn das Bit der modifizierenden Daten logisch Eins ist, und hält ein bestehendes Bit, das in der Zelle gespeichert ist, wenn das Bit der modifizierenden Daten logisch Null ist. Ferner ist ein Schaltkreis vorgesehen zum Empfangen und Halten des Bits der modifizierenden Daten und des Modusdatenbits in Reihe durch einen einzelnen Datenport, wobei das Modusdatenbit an der abfallenden Flanke eines Zeilenadreßtaktsignals gehalten wird und das Bit der modifizierenden Daten an den fallenden Flanken sowohl des Spaltenadreßtaktsignals als auch des Einschreibfreigabesignals gehalten wird.According to a second aspect of the present invention, there is provided a memory system comprising an array of memory cells arranged in rows and columns and circuitry for selectively performing logical operations on a data bit stored in a selected cell using a bit of the received modifying data and a mode data bit. The circuitry for performing the logical operations performs a logical OR operation as a function of a logical state of the modifying bit and writes the bit of the modifying data into the selected cell when the bit of the modifying data is a logical one and maintains an existing bit stored in the cell when the bit of the modifying data is a logical is zero. A circuit is further provided for receiving and holding the modifying data bit and the mode data bit in series through a single data port, the mode data bit being held on the falling edge of a row address clock signal and the modifying data bit being held on the falling edges of both the column address clock signal and the write enable signal.

Geräte, Systeme und Verfahren, die die Prinzipien der vorliegenden Erfindung verkörpern, haben im erhebliche Vorteile gegenüber dem Stand der Technik. Im einzelnen ermöglichen die Prinzipien der vorliegenden Erfindung die Minimierung der Leistungsnachteile, die durch die derzeit erhältlichen Systeme, Schaltkreise und Verfahren zum Modifizieren von Datenbits innerhalb einer Speichervorrichtung in Rechnung zu stellen sind, und insbesondere bei jenen Systemen, die eine Durchführung von Mehrfach-Lese- und Einschreibzyklen erfordern. Ferner sind die Prinzipien der vorliegenden Erfindung insbesondere für die Durchführung von logischen Operationen an Pixeldaten nützlich, die in einem Bildpuffer gespeichert sind.Devices, systems and methods embodying the principles of the present invention have significant advantages over the prior art. In particular, the principles of the present invention enable the minimization of the performance penalties incurred by currently available systems, circuits and methods for modifying data bits within a memory device, and particularly in those systems that require multiple read and write cycles to be performed. Furthermore, the principles of the present invention are particularly useful for performing logical operations on pixel data stored in a frame buffer.

Im vorstehenden wurden die Merkmale und technischen Vorteile der vorliegenden Erfindung recht ausführlich ausgeführt, so daß die folgende detaillierte Beschreibung der Erfindung besser verständlich ist. Zusätzliche Merkmale und Vorteile der Erfindung werden im folgenden beschrieben und bilden den Gegenstand der Ansprüche der Erfindung. Anzumerken ist, daß für den Fachmann die offenbarte Konzeption und spezifische Ausführungsform leicht als Basis zum Modifizieren oder Entwickeln anderer Strukturen zum Durchführen desselben Zweckes der Erfindung verwendet werden kann.The foregoing has set forth the features and technical advantages of the present invention in considerable detail so that the following detailed description of the invention may be better understood. Additional features and advantages of the invention are described below and form the subject of the claims of the invention. It should be noted that those skilled in the art may readily utilize the disclosed conception and specific embodiment as a basis for modifying or developing other structures for carrying out the same purpose of the invention.

KURZE BESCHREIBUNG DER FIGURENSHORT DESCRIPTION OF THE CHARACTERS

Für ein vollständiges Verständnis der vorliegenden Erfindung und deren Vorteile wird nun auf die folgende Beschreibung anhand der begleitenden Figuren Bezug genommen, in welchen zeigt:For a complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:

Fig. 1 ein Funktionsblockschaltbild eines Video-/Grafikverarbeitungssystems, das die Prinzipien der vorliegenden Erfindung verkörpert;Figure 1 is a functional block diagram of a video/graphics processing system embodying the principles of the present invention;

Fig. 2 ein detaillierteres Funktionsblockschaltbild des Bildpuffers aus der Fig. 1 gemäß einer Ausführungsform der vorliegenden Erfindung;Fig. 2 is a more detailed functional block diagram of the image buffer of Fig. 1 according to an embodiment of the present invention;

Fig. 3 ein Signalverlaufsdiagramm zur Erläuterung der Funktionsweise des Schaltkreises gemäß Fig. 2 während eines Modifiziervorgangs; undFig. 3 is a signal waveform diagram to explain the functioning of the circuit according to Fig. 2 during a modification process; and

Fig. 4 ein schematisches elektrisches Schaltbild des internen Schaltkreises zum Erzeugen des Einschreibfreigabesignals, der in dem Schaltkreis gemäß Fig. 2 verkörpert ist.Fig. 4 is a schematic electrical diagram of the internal circuit for generating the write enable signal embodied in the circuit of Fig. 2.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

Fig. 1 ist ein problemorientiertes Funktionsblockschaltbild des Teils eines Verarbeitungssystems 100, welches die Anzeige von Grafik- und/oder Videodaten steuert. Das System 100 hat eine zentrale Prozessoreinheit 101, einen Systembus 102, eine Anzeigesteuerung 103, einen Bildpuffer 104, einen Digital-/Analogwandler (DAC) 105 und eine Anzeigevorrichtung 106. In einer bevorzugten Ausführungsform der vorliegenden Erfindung sind die Anzeigesteuerung 103 und der Bildpuffer 104 und der DAC 105 zusammen auf einem einzelnen integrierten Schaltkreischip 107 hergestellt.Fig. 1 is a high level functional block diagram of the portion of a processing system 100 that controls the display of graphics and/or video data. The system 100 includes a central processing unit 101, a system bus 102, a display controller 103, a frame buffer 104, a digital-to-analog converter (DAC) 105, and a display device 106. In a preferred embodiment of the present invention, the display controller 103 and the frame buffer 104 and DAC 105 are fabricated together on a single integrated circuit chip 107.

Die CPU 101 steuert den Gesamtablauf des Systems 100, bestimmt den Inhalt der Grafikdaten, die an der Anzeigeeinheit 106 unter Verwendung von Benutzerbefehlen angezeigt werden sollen, und führt verschiedene Datenverarbeitungsfunktionen aus. Die CPU 101 kann beispielsweise ein All zweckmikroprozessor sein, der in kommerziellen PCs verwendet wird. Die CPU 101 steht mit dem übrigen System 100 über den Systembus 102 in Verbindung, der beispielsweise ein lokaler Bus, ein ISA-Bus oder ein PCI-Bus sein kann. Der DAC 105 empfängt digitale Daten von der Steuerung 103 und gibt in Antwort darauf die erforderlichen analogen Daten aus, um die Anzeige 106 zu treiben. In Abhängigkeit von der spezifischen Implementierung des Systems 100 kann der DAC 105 auch eine Farbpalette, einen YUV-in-RGB-Format-Umwandlungsschaltkreis und/oder einen x- und y-Zoomschaltkreis enthalten, um ein paar Optionen zu nennen.The CPU 101 controls the overall operation of the system 100, determines the content of the graphic data to be displayed on the display unit 106 using user commands, and performs various data processing functions. For example, the CPU 101 may The CPU 101 may be a dedicated microprocessor used in commercial personal computers. The CPU 101 communicates with the rest of the system 100 via the system bus 102, which may be, for example, a local bus, an ISA bus, or a PCI bus. The DAC 105 receives digital data from the controller 103 and in response outputs the necessary analog data to drive the display 106. Depending on the specific implementation of the system 100, the DAC 105 may also include a color palette, YUV to RGB format conversion circuitry, and/or x and y zoom circuitry, to name a few options.

In der dargestellten Ausführungsform ist die Steuerung 103 eine Anzeigesteuerung, wie beispielsweise eine VGA-Steuerung, die unter anderem den Austausch von Grafik- und/oder Videodaten mit dem Bildpuffer 103 steuert, die Speicherwiederauffrischung steuert und Datenverarbeitungsfunktionen, wie beispielsweise Farbexpansion, durchführt. Eine Anzeigesteuerung ist der "Master" für die spezifische Anwendung der Anzeige und gibt somit die CPU 101 frei, um Rechneraufgaben durchführen zu können. Darüber hinaus optimiert die Architektur einer Anzeigesteuerung diese dazu, Grafik- und Videofunktionen in ausgezeichneterer Art und Weise als bei einem Allzweckmikroprozessor durchzuführen. Die Steuerung 103 kann auch eine Farbpalette, eine Hardware zum Erzeugen des Cursors und/oder einen Video-/Grafikumwandlungsschaltkreis aufweisen, um ein paar Optionen zu nennen.In the illustrated embodiment, controller 103 is a display controller, such as a VGA controller, that controls, among other things, the exchange of graphics and/or video data with frame buffer 103, controls memory refresh, and performs data processing functions such as color expansion. A display controller is the "master" for the specific application of the display and thus frees CPU 101 to perform computing tasks. In addition, the architecture of a display controller optimizes it to perform graphics and video functions in a more sophisticated manner than a general purpose microprocessor. Controller 103 may also include a color palette, cursor generation hardware, and/or video/graphics conversion circuitry, to name a few options.

Der Bildpuffer 104 ist vorzugsweise ein dynamischer Direktzugriffsspeicher (DRAM), der ein Feld aus Zeilen und Spalten von DRAM-Zellen und einen zugehörigen Adressen- und Steuerungsschaltkreis sowie Zeilen- und Spaltendekoder, Lese- und Schreibpuffer und Leseverstärker aufweist. Der Bildpuffer 104 wird im einzelnen weiter unten erörtert.The frame buffer 104 is preferably a dynamic random access memory (DRAM) comprising an array of rows and columns of DRAM cells and associated address and control circuitry, as well as row and column decoders, read and write buffers, and sense amplifiers. The frame buffer 104 is discussed in more detail below.

Die Anzeige 106 kann beispielsweise eine CRT-Einheit oder eine Flüssigkristallanzeige, eine Elektrolumineszenzanzeige (ELD), eine Plasmaanzeige (PLD) oder eine andere Art von Anzeigevorrichtung sein, die Bilder auf einem Anzeigeschirm in Form von einer Vielzahl von Pixeln anzeigt. Ferner kann die Anzeige 106 eine Vorrichtung gemäß dem neuesten Stand der Technik sein, wie beispielsweise eine digitale Mikrospiegelvorrichtung oder eine siliziumcarbidartige Vorrichtung sein, die direkt digitale Daten akzeptiert. Anzumerken ist, daß in alternativen Ausführungsformen die "Anzeige" 106 eine weitere Art von Ausgabevorrichtung, wie beispielsweise ein Laserdrucker oder eine ähnliche Dokumentbetrachtungs-/Druckanwendung sein kann.The display 106 may be, for example, a CRT unit or a liquid crystal display, an electroluminescent display (ELD), plasma display (PLD), or other type of display device that displays images on a display screen in the form of a plurality of pixels. Furthermore, the display 106 may be a state of the art device such as a digital micromirror device or a silicon carbide type device that directly accepts digital data. Note that in alternative embodiments, the "display" 106 may be another type of output device such as a laser printer or similar document viewing/printing application.

Gemäß den Prinzipien der vorliegenden Erfindung können gewählte logische Operationen an Datenworten innerhalb gewählter Orte innerhalb des Bildpuffers 104 durchgeführt werden. Im einzelnen ergeben diese Prinzipien den Vorteil der Tatsache, daß während UND- und ODER-Operationen ein Datenbit im Speicher, welches bearbeitet wird, entweder das gleiche bleibt oder durch das entsprechende Bit der modifizierenden Daten ersetzt wird, die durch die Steuerung 103 zugeführt sind, und zwar in Abhängigkeit vom Status des Bits der modifizierenden Daten. Dieses Merkmal ist in der Tabelle 1 dargestellt: In accordance with the principles of the present invention, selected logical operations may be performed on data words within selected locations within the frame buffer 104. In particular, these principles provide the advantage that during AND and OR operations, a data bit in memory being operated on either remains the same or is replaced by the corresponding bit of modifying data supplied by the controller 103, depending on the status of the bit of modifying data. This feature is illustrated in Table 1:

Wie aus der Tabelle 1 zu ersehen ist, bleiben während einer UND-Operation die resultierenden Daten für diejenigen Eingangsbedingungen, die in der zweiten und vierten Zeile angegeben sind (das heißt die modifizierenden Daten gleich logisch Eins), die gleichen wie bereits in der gewählten Speicherzelle gespeichert. In diesem Fall ist ein Lesen (Wiederauffrischen) der Daten innerhalb der gegebenen Zelloperation alles, was erforderlich ist, um die "Modifikation" durchzuführen. Dies kann mit einem einzigen RAS/CAS- Zyklus mit inaktivem Einschreibfreigabesignal ausgeführt werden. Während einer UND-Operation sind mit den in Zeile eines und drei gesetzten Eingangsbedingungen (d. h. die modifizierenden Daten sind logisch Null) die resultierenden Daten die gleichen wie die modifizierenden. In diesem Fall ist alles, was erforderlich ist, um das Datum in der Speicherzelle zu modifizieren, das modifizierende Datum direkt in die Speicherzelle einzuschreiben. Dies kann auch mit einem einzigen RAS/CAS-Zyklus ausgeführt werden, wobei nur dieses Mal das Einschreibfreigabesignal aktiv ist. In jedem Fall besteht keine Notwendigkeit, sowohl eine Lese- als auch eine Einschreiboperation durchzuführen, um das Datum in der Speicherzelle zu modifizieren. Ferner besteht, wie weiter unten in Verbindung mit der Fig. 2 erörtert, auch keine Notwendigkeit, die UND-Operation tatsächlich durchzuführen; das Datum wird entweder einfach durch eine Leseoperation wieder aufgefrischt oder direkt als eine Funktion des Status des entsprechenden Bits der modifizierenden Daten eingeschrieben.As can be seen from Table 1, during an AND operation, the resulting data for those input conditions specified in the second and fourth rows (i.e. the modifying data equal to logic one) remain the same as already in the selected memory cell. In this case, a read (refresh) of the data within the given cell operation is all that is required to perform the "modification." This can be accomplished with a single RAS/CAS cycle with the write enable signal inactive. During an AND operation, with the input conditions set in rows one and three (i.e., the modifying data is logic zero), the resulting data is the same as the modifying data. In this case, all that is required to modify the data in the memory cell is to write the modifying data directly into the memory cell. This can also be accomplished with a single RAS/CAS cycle, only this time the write enable signal is active. In any case, there is no need to perform both a read and a write operation to modify the data in the memory cell. Furthermore, as discussed further below in connection with Figure 2, there is also no need to actually perform the AND operation; the data is either simply refreshed by a read operation or written directly as a function of the status of the corresponding bit of the modifying data.

Für eine ODER-Operation bleibt das resultierende Datum das gleiche wie das bereits in der gewählten Speicherzelle gespeicherte Datum, und zwar für Eingangsbedingungen, wie sie in der ersten und dritten Zeile (das heißt die modifizierenden Daten sind gleich logisch Null) angegeben sind. Wiederum ist alles, was erforderlich ist, um das in der Zelle befindliche Datum zu "modifizieren", eine einzige RAS/CAS- Zyklus-Leseoperation durchzuführen. Für die Eingangsbedingungen, die in den zweiten und vierten Zeilen angegeben sind (das heißt die modifizierenden Daten sind gleich logisch Eins), ist das resultierende Datum das gleiche wie das modifizierende Datum und daher ist alles, was für das modifizierende Datum erforderlich ist, dieses direkt in die gewählte Speicherzelle unter Verwendung eines herkömmlichen einzigen RAS/CAS-Einschreibzyklus einzuschreiben. Wie dies bei der UND-Operation der Fall war, ist die Durchführung einer tatsächlichen ODER-Operation nicht erforderlich; das Datum wird entweder durch eine Leseoperation wieder aufgefrischt oder das modifizierende Datum wird direkt als eine Funktion der modifizierenden Daten eingeschrieben.For an OR operation, the resulting date remains the same as the date already stored in the selected memory cell for input conditions as specified in the first and third lines (i.e., the modifying data is equal to logic zero). Again, all that is required to "modify" the date in the cell is to perform a single RAS/CAS cycle read operation. For the input conditions specified in the second and fourth lines (i.e., the modifying data is equal to logic one), the resulting date is the same as the modifying date and therefore all that is required for the modifying date is to write it directly into the selected memory location using a conventional single RAS/CAS write cycle. As was the case with the AND operation, there is no need to perform an actual OR operation; the data is either refreshed by a read operation or the modifying data is written directly as a function of the modifying data.

Ähnliche Prinzipien können für die Modifikation von Daten innerhalb vorgegebener Speicherzellen unter Verwendung von NAND- und NOR-Operationen folgen. Im Fall einer NAND-Operation wird das modifizierende Datum invertiert (das heißt es wird das Komplement genommen) und die Bedingungen für eine ODER-Operation werden, wie direkt vorstehend erörtert, angewendet. Für eine NOR-Operation wird wiederum das Komplement für das modifizierende Datum genommen und es werden die Bedingungen für eine ODER-Operation, wie erörtert, angewendet.Similar principles can be followed for the modification of data within given memory cells using NAND and NOR operations. In the case of a NAND operation, the modifying data is inverted (i.e., the complement is taken) and the conditions for an OR operation are applied as discussed immediately above. For a NOR operation, the complement is again taken for the modifying data and the conditions for an OR operation are applied as discussed.

Fig. 2 ist ein detaillierteres Funktionsblockschaltbild des Bildpuffer 104 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Eine grafische Darstellung des Signalverlaufs, die die Funktionsweise des Schaltkreises gemäß Fig. 2 beschreibt, ist in der Fig. 3 vorgesehen. Der Bildpuffer 104 hat ein Feld 200 von herkömmlichen dynamischen Direktzugriffsspeicher-(DRAM)-Zellen, die in M Zeilen und N Spalten angeordnet sind. An das Feld 200 sind der Zeilendekoderschaltkreis 201, die Leseverstärker 202 und der Spaltendekoderschaltkreis 203 gekoppelt. In der bevorzugten Ausführungsform sind N Leseverstärker 202 vorgesehen, einer für jede Spalte im Feld 200. Der Zeilendekoderschaltkreis 201 und der Spaltendekoderschaltkreis 203 steuern den Zugriff auf P-Zellen-Speicherorte aus einer gewählten Zeile des Feldes 200 auf herkömmliche Art und Weise in Antwort auf Zeilen- und Spaltenadressen, die in den Adressenhaltekreisen 204 mittels RAS und CAS gehalten sind.Figure 2 is a more detailed functional block diagram of the frame buffer 104 in accordance with a preferred embodiment of the present invention. A waveform graphical representation describing the operation of the circuit of Figure 2 is provided in Figure 3. The frame buffer 104 has an array 200 of conventional dynamic random access memory (DRAM) cells arranged in M rows and N columns. Coupled to the array 200 are the row decoder circuit 201, sense amplifiers 202 and column decoder circuit 203. In the preferred embodiment, N sense amplifiers 202 are provided, one for each column in array 200. Row decoder circuit 201 and column decoder circuit 203 control access to P-cell storage locations from a selected row of array 200 in a conventional manner in response to row and column addresses held in address latches 204 by means of RAS and CAS.

Der Bildpuffer 104 hat auch einen Lese-/Einschreibsteuerschaltkreis, der die Prinzipien der vorliegenden Erfindung verkörpert. Das Lesen von Daten von adressierten Orten im Feld 200 wird durch Leseverstärker 205 und den Ausgangspuffer 206 ausgeführt, wenn das Ausgangsfreigabesignal aktiv ist. Der Schreib-/Modifizierschaltkreis enthält einen ersten Datenhaltekreis 207, der während eines herkömmlichen Einschreibens Daten, die in das Feld 200 einzuschreiben sind, hält und während einem Modifizieren die modifizierenden Daten hält. Einschreibungen und Modifikationen werden durch den Einschreibpuffer 208 durchgeführt, der P herkömmliche Einschreibpuffer zum Einschreiben in jeden zugegriffenen P-Zellenort hat. Während der Modifikationszyklen dekodiert der Modusdekoder 209 die Modussteuerdaten, die in dem zweiten Datenhaltekreis 210 gehalten sind, um zu bestimmen, ob eine UND- oder ODER-Operation (wenn komplementäre Modifikationsdaten verwendet werden, konsequenterweise eine NOR- oder NAND-Operation) stattfinden soll. In der bevorzugten Ausführungsform empfängt und hält der Haltekreis 210 wenigstens zwei Datenbits, die zusammen mit dem herkömmlichen (externen) Schreibfreigabesignal WE bestimmen, ob von der Steuerung 103 ein herkömmliches Einschreiben oder eine UND- oder ODER-Operation angefordert worden ist.The frame buffer 104 also has a read/write control circuit embodying the principles of the present invention. Reading of data from addressed locations in the array 200 is accomplished by sense amplifier 205 and output buffer 206 when the output enable signal is active. The write/modify circuit includes a first data latch 207 which holds data to be written into the array 200 during a conventional write and holds the modifying data during a modify. Writes and modifications are performed by the write buffer 208 which has P conventional write buffers for writing into each accessed P cell location. During the modification cycles, the mode decoder 209 decodes the mode control data held in the second data latch 210 to determine whether an AND or OR operation (consequently, if complementary modification data is used, a NOR or NAND operation) should take place. In the preferred embodiment, the latch 210 receives and latches at least two data bits which, together with the conventional (external) write enable signal WE, determine whether a conventional write or an AND or OR operation has been requested by the controller 103.

In Ausführungsformen, bei welchen die Steuerung 103 und der Bildpuffer 104 als einzelne Komponenten hergestellt worden sind, hat der Bildpuffer 104 auch Datenanschlüsse 211 und zugehötige TTL-Treiber 212 zum Empfangen von Daten- (DQ), Adressen-, RAS-, CAS-, WE- und OE-Signalen von dem Steuerungschip.In embodiments where the controller 103 and the frame buffer 104 are fabricated as separate components, the frame buffer 104 also has data ports 211 and associated TTL drivers 212 for receiving data (DQ), address, RAS, CAS, WE and OE signals from the controller chip.

Während einer UND- oder NOR-Operation schreibt der Schreibpuffer 208 die modifizierenden Daten, die in dem Datenhaltekreis 207 gehalten sind, in die adressierte Speicherzelle, wenn das modifizierende Datum gleich logisch Null ist. Wenn das modifizierende Datum eine logische Eins ist, wird kein Einschreiben durchgeführt und statt dessen erfolgt ein Lesen (wie allgemein bekannt, frischt eine Leseoperation die bestehenden Daten, die in einer gegebenen zugegriffenen Speicherzelle gespeichert sind, auf, welchen Status diese auch haben). Während einer ODER- oder NAND-Operation schreibt der Schreibpuffer 208 die modifizierenden Daten, die in dem Datenhaltekreis 207 gehalten sind, in die adressierte Speicherzelle, wenn das modifizierende Datum logisch Eins ist; ein Lesen erfolgt, wenn das modifizierende Datum logisch Null ist. In jedem Fall werden die modifizierenden Daten gesteuert, indem der Schreibpuffer 208 freigegeben oder nicht freigegeben wird.During an AND or NOR operation, the write buffer 208 writes the modifying data held in the data latch 207 into the addressed memory location if the modifying data is logical zero. If the modifying data is logical one, no writing is performed and instead a Read (as is well known, a read operation refreshes the existing data stored in a given accessed memory cell, whatever its status). During an OR or NAND operation, the write buffer 208 writes the modifying data held in the data latch 207 to the addressed memory cell when the modifying data is a logic one; a read occurs when the modifying data is a logic zero. In either case, the modifying data is controlled by enabling or not enabling the write buffer 208.

Fig. 4 ist ein Logikschaltplan des bevorzugten Schaltkreises 400, um den Schreibpuffer 208 freizugeben oder nicht freizugeben, um die vorstehend beschriebenen Zelldatenmodifikationen durchzuführen. Vorzugsweise ist dieser Schreibkreis innerhalb des Schreibpuffers 209 zusammen mit den Schreibpuffern selbst angeordnet, obwohl bei alternativen Ausführungsformen der Schaltkreis 400 irgendwo auf dem Chip angeordnet sein kann. Der Schaltkreis 400 erzeugt ein "internes Schreibfreigabe"-Signal, das den Schreibpuffer 208 während der Datenmodifikationsoperationen freigibt/sperrt. Das interne Schreibfreigabesignal wird von dem herkömmlichen Schreibfreigabesignal, das durch die Steuerung 103 für ein herkömmliches Schreiben erzeugt wird, den Steuersignalen MODUS_UND und MODUS_ODER und den modifizierenden Daten abgeleitet. Bei der bevorzugten Ausführungsform ist der Schaltkreis 400 um die Anzahl P vervielfältigt, so daß jedes der P Bits, zu welchen im Feld 200 während eines einzigen Adressierzyklus zugegriffen wird, unabhängig modifiziert werden kann. Um unabhängig eine Anzahl von P Bits gleichzeitig modifizieren zu können, erzeugt die Steuerung 103 dementsprechend P Bits modifizierender Daten, die in dem Haltekreis 207 gehalten werden.Figure 4 is a logic diagram of the preferred circuitry 400 for enabling or disabling write buffer 208 to perform the cell data modifications described above. Preferably, this write circuitry is located within write buffer 209 along with the write buffers themselves, although in alternative embodiments, circuitry 400 may be located anywhere on the chip. Circuitry 400 generates an "internal write enable" signal that enables/disables write buffer 208 during data modification operations. The internal write enable signal is derived from the conventional write enable signal generated by controller 103 for conventional writing, the MODE_AND and MODE_OR control signals, and the modifying data. In the preferred embodiment, the circuit 400 is duplicated by the number P so that each of the P bits accessed in the array 200 during a single addressing cycle can be independently modified. Accordingly, in order to independently modify a number of P bits at a time, the controller 103 generates P bits of modifying data which are held in the latch circuit 207.

Die Steuersignale MODUS_UND und MODUS_ODER werden durch den Dekoderschaltkreis 209 aus einem Steuerwort (opcode), das in dem Datenhaltekreis 210 gehalten ist, erzeugt. Angenommen, durch die Steuerung ist eine Modifikation angefordert, ist das externe Schreibfreigabesignal aktiv (das heißt hoch). Wenn der MODUS_UND hoch und der MODUS_ODER niedrig ist, ist eine UND-Operation gewählt und das interne Schreibfreigabesignal ist aktiv (hoch), wenn das modifizierende Datum logisch Null ist. Wenn das Bit MODUS_UND niedrig ist und das Bit MODUS_ODER hoch ist, ist eine ODER-Operation gewählt und das interne Schreibfreigabesignal ist aktiv (hoch), wenn das modifizierende Datum logisch Eins ist. Für ein herkömmliches Einschreiben sind MODUS_UND und MODUS_ODER inaktiv (niedrig), so daß das interne Schreibfreigabesignal einfach dem externen Schreibfreigabesignal folgt.The control signals MODE_AND and MODE_OR are generated by the decoder circuit 209 from a control word (opcode) which held in the data latch 210. Assuming a modification is requested by the controller, the external write enable signal is active (i.e., high). When the MODE_AND bit is high and the MODE_OR bit is low, an AND operation is selected and the internal write enable signal is active (high) when the modifying data is a logic zero. When the MODE_AND bit is low and the MODE_OR bit is high, an OR operation is selected and the internal write enable signal is active (high) when the modifying data is a logic one. For a conventional write, the MODE_AND and MODE_OR are inactive (low), so the internal write enable signal simply follows the external write enable signal.

Im Fall einer NAND-Operation wird das Komplement des modifizierenden Datums genommen und es wird der ODER-Modus gewählt. Im Fall einer NOR-Operation wird das Komplement des modifizierenden Datums genommen und der UND-Modus angewandt. Anzumerken ist, daß die meisten Steuerungen, wie beispielsweise die Steuerung 103, vorteilhafterweise gleichzeitig Komplementärdaten zur Verwendung bei anderen Operationen erzeugen.In the case of a NAND operation, the complement of the modifying data is taken and the OR mode is selected. In the case of a NOR operation, the complement of the modifying data is taken and the AND mode is applied. Note that most controllers, such as controller 103, advantageously simultaneously generate complementary data for use in other operations.

Die grafische Darstellung des Signalverlaufs gemäß Fig. 3 illustriert den Zeitablauf einer vorgegebenen modifizierenden Operation. Bei der abfallenden Flanke des Zeilenadreßtaktsignals (RAS) wird das Moduswählsignal in dem Datenhaltekreis 201 gehalten. Die abfallende Flanke des RAS hält auch die Zeilenadresse für den gewählten Ort im Feld 200 in dem Adressenhaltekreis 204. Der Spaltenteil der Adresse wird in dem Adressenhaltekreis 204 bei der abfallenden Flanke des Spaltenadreßtaktsignals (CAS) gehalten. Wenn das Spaltenadreßtaktsignal (CAS) und das externe Freigabesignal beide niedrig werden, wird das modifizierende Datum in dem Datenhaltekreis 207 gehalten. Das Datum innerhalb des Datenhaltekreises 210 wird durch den Modusdekoder 209 deko diert und dem in der Fig. 4 gezeigten Schaltkreis als MODUS_UND und MODUS_ODER präsentiert, und zwar als modifizierendes Datum innerhalb des Datenhaltekreises 207 und das externe Schreibfreigabesignal. Die Modifikation der adressierten Zelle oder der adressierten Zellen (in Abhängigkeit von der Anzahl der Zellen P in jedem Adreßort) geht, wie vorstehend angegeben, weiter.The waveform graphical representation of Fig. 3 illustrates the timing of a given modifying operation. On the falling edge of the row address strobe signal (RAS), the mode select signal is latched in the data latch 201. The falling edge of the RAS also latches the row address for the selected location in array 200 in the address latch 204. The column portion of the address is latched in the address latch 204 on the falling edge of the column address strobe signal (CAS). When the column address strobe signal (CAS) and the external enable signal both go low, the modifying data is latched in the data latch 207. The data within the data latch 210 is decoded by the mode decoder 209. and presented to the circuitry shown in Fig. 4 as MODE_AND and MODE_OR, as modifying data within the data latch 207 and the external write enable signal. Modification of the addressed cell or cells (depending on the number of cells P in each address location) continues as previously indicated.

Obwohl die vorliegende Erfindung und ihre Vorteile im einzelnen beschrieben worden sind, ist anzumerken, daß verschiedene Änderungen, Ersetzungen und Abwandlungen durchgeführt werden können, ohne daß vom Schutzumfang der Erfindung, wie in den anhängenden Patentansprüchen definiert, abgewichen wird.Although the present invention and its advantages have been described in detail, it is to be noted that various changes, substitutions and modifications may be made without departing from the scope of the invention as defined in the appended claims.

Claims (5)

1. Speichersystem (104) mit einem Feld (200) von Speicherzellen, die in Zeilen und Spalten angeordnet sind, und einem Schaltkreis (208) zum selektiven Durchführen von logischen Operationen an einem Datenbit, das in einer gewählten Zelle gespeichert ist, unter Verwendung eines Bits empfangener modifizierender Daten und eines Modusdatenbits zum Wählen einer logischen Operation zum Durchführen des Schaltkreises (208) zum Durchführen von logischen Operationen, der eine logische UND-Operation rein als Funktion eines logischen Zustandes des modifizierenden Bits durchführt und das Bit der modifizierenden Daten in die Zelle einschreibt, wenn das Bit modifizierender Daten logisch 0 ist, und ein bestehendes Bit, das in dieser Zelle gespeichert ist, aufrechterhält, wenn das Bit der modifzierenden Daten logisch 1 ist,1. A memory system (104) comprising an array (200) of memory cells arranged in rows and columns, and circuitry (208) for selectively performing logical operations on a data bit stored in a selected cell using a bit of received modifying data and a mode data bit for selecting a logical operation to perform, circuitry (208) for performing logical operations that performs a logical AND operation purely as a function of a logical state of the modifying bit and writes the modifying data bit into the cell when the modifying data bit is logical 0 and maintains an existing bit stored in that cell when the modifying data bit is logical 1, gekennzeichnet durch:marked by: einen Schaltkreis (207, 210) zum Empfangen und Speichern des Bits modifizierender Daten und des Modusdatenbits in Reihe durch einen einzelnen Datenport (211), wobei das Modusdatenbit bei einer fallenden Kante eines Zeilenadresstaktsignals gesperrt wird und das Bit der modifizierenden Daten halten wird, wenn ein Spaltenadresstaktsignal und ein Einschreib-Freigabesignal beide niedrig werden.a circuit (207, 210) for receiving and storing the modifying data bit and the mode data bit in series through a single data port (211), wherein the mode data bit is latched upon a falling edge of a row address strobe signal and will latch the modifying data bit when a column address strobe signal and a write enable signal both go low. 2. Speichersystem nach Anspruch 1, wobei der Schaltkreis zum Durchführen der logischen Operationen (208) ferner betreibbar ist zum Durchführen einer ODER-Operation als Funktion des modifizierenden Bits durch Einschreiben des Bits der modifizierenden Daten in die Zelle, wenn das Bit der modifizierenden Daten logisch 1 ist und Halten des Bits, das in der Zelle gespeichert ist, wenn das Bit der modifizierenden Daten logisch 0 ist.2. The memory system of claim 1, wherein the circuit for performing the logical operations (208) is further operable to perform an OR operation as a function of the modifying bit by writing the bit of the modifying data into the cell when the bit of the modifying data is logical 1 and holding the bit stored in the cell when the bit of the modifying data is a logic 0. 3. Speichersystem nach Anspruch 2,3. Storage system according to claim 2, wobei der Schaltkreis (208) zum selektiven Durchführen logischer Operationen ferner aufweist:wherein the circuit (208) for selectively performing logical operations further comprises: einen Zeilen- und Spaltendekoderschaltkreis (202, 203) für das Zugreifen auf die gewählte Zelle;a row and column decoder circuit (202, 203) for accessing the selected cell; einen Schreibpuffer (208) zum selektiven Einschreiben des Bits der modifizierenden Daten in die gewählte Zelle in Antwort auf ein Einschreibfreigabesignal; unda write buffer (208) for selectively writing the bit of the modifying data into the selected cell in response to a write enable signal; and einen Schaltkreis (208) zum Erzeugen des Einschreibfreigabesignals, wenn das Bit der modifizierenden Daten während einer ODER-Operation logisch 1 ist, und wenn das Bit der modifizierenden Daten während einer UND-Operation logisch 0 ist.a circuit (208) for generating the write enable signal when the bit of the modifying data is logic 1 during an OR operation and when the bit of the modifying data is logic 0 during an AND operation. 4. Speichersystem (104) mit einem Feld (200) Speicherzellen, die in Zeilen und Spalten angeordnet sind, und einem Schaltkreis (208) zum selektiven Durchführen logischer Operationen an einem Bit von Daten, das in einer gewählten Zelle gespeichert ist, unter Verwendung eines Bits von empfangenen modifizierenden Daten und einem Modusdatenbit, zum Wählen einer logischen Operation zur Durchführung, wobei der Schaltkreis (208) zur Durchführung logischer Operationen eine logische ODER-Operation rein als eine Funktion eines logischen Zustandes des modifizierenden Bits durchführt und dieses Bit der modifizierenden Daten in die Zelle einschreibt, wenn das Bit der modifizierenden Daten logisch 1 ist und ein bestehendes Bit, das in dieser Zelle gespeichert ist, hält, wenn das Bit der modifizierenden Daten logisch 0 ist;4. A memory system (104) comprising an array (200) of memory cells arranged in rows and columns and a circuit (208) for selectively performing logical operations on a bit of data stored in a selected cell using a bit of received modifying data and a mode data bit to select a logical operation to perform, wherein the circuit (208) for performing logical operations performs a logical OR operation purely as a function of a logical state of the modifying bit and writes that bit of modifying data into the cell when the bit of modifying data is a logical 1 and maintains an existing bit stored in that cell when the bit of modifying data is a logical 0; gekennzeichnet durch:marked by: einen Schaltkreis (207, 210) zum Empfangen und Sperren des Bits der modifizierenden Daten und des Modusdatenbits in Reihe durch einen einzelnen Datenport (211), wobei das Mo dusdatenbit bei einer fallenden Kante der Zeilenadressmeßmarke gehalten wird, und das Bit der modifizierenden Daten gesperrt wird, wenn ein Spaltenadresstaktsignal und ein Einschreibfreigabesignal beide niedrig werden.a circuit (207, 210) for receiving and locking the modifying data bit and the mode data bit in series through a single data port (211), the mo data bit is latched at a falling edge of the row address strobe, and the modifying data bit is latched when a column address strobe signal and a write enable signal both go low. 5. Speicher nach Anspruch 4, wobei der Schaltkreis (208) zum Durchführen von logischen Operationen ferner betreibbar ist, um eine UND-Operation durchzuführen, indem das Bit der modifizierenden Daten in die Zelle eingeschrieben wird, wenn das Bit der modifizierenden Daten logisch 0 ist, und indem das Bit, das in der Zelle gespeichert ist, gehalten wird, wenn das Bit der modifizierenden Daten logisch 1 ist.5. The memory of claim 4, wherein the circuit (208) for performing logical operations is further operable to perform an AND operation by writing the bit of the modifying data into the cell when the bit of the modifying data is a logical 0 and by holding the bit stored in the cell when the bit of the modifying data is a logical 1.
DE69602742T 1995-04-19 1996-04-19 CIRCUITS, SYSTEMS AND METHODS FOR CHANGING STORAGE DATA USING LOGICAL FUNCTIONS Expired - Fee Related DE69602742T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/424,653 US5732024A (en) 1995-04-19 1995-04-19 Circuits, systems and methods for modifying data stored in a memory using logic operations
PCT/US1996/005523 WO1996033498A1 (en) 1995-04-19 1996-04-19 Circuits, systems and methods for modifying data stored in a memory using logic operations

Publications (2)

Publication Number Publication Date
DE69602742D1 DE69602742D1 (en) 1999-07-08
DE69602742T2 true DE69602742T2 (en) 2000-01-13

Family

ID=23683379

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69602742T Expired - Fee Related DE69602742T2 (en) 1995-04-19 1996-04-19 CIRCUITS, SYSTEMS AND METHODS FOR CHANGING STORAGE DATA USING LOGICAL FUNCTIONS

Country Status (7)

Country Link
US (4) US5732024A (en)
EP (1) EP0823116B1 (en)
JP (1) JPH11504148A (en)
KR (1) KR19990007860A (en)
DE (1) DE69602742T2 (en)
HK (1) HK1007912A1 (en)
WO (1) WO1996033498A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285671A (en) * 1999-03-30 2000-10-13 Nec Corp Semiconductor memory
KR100296920B1 (en) 1999-06-28 2001-07-12 박종섭 Circuit for controlling write mode in semiconductor memory device
FR2812963B1 (en) * 2000-08-11 2003-07-25 St Microelectronics Sa METHOD AND CIRCUIT FOR CONTROLLING CELLS OF A PLASMA SCREEN
US6549470B2 (en) * 2000-08-31 2003-04-15 United Memories, Inc. Small signal, low power read data bus driver for integrated circuit devices incorporating memory arrays
US20040268207A1 (en) * 2003-05-21 2004-12-30 Engim, Inc. Systems and methods for implementing a rate converting, low-latency, low-power block interleaver

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB222567A (en) * 1923-07-03 1924-10-03 Maria Scholz Process for dyeing textile fabric, paper and like materials
JPS5682928A (en) * 1979-12-07 1981-07-07 Nec Corp Data processor
JPH0787032B2 (en) * 1985-07-08 1995-09-20 日本電気アイシ−マイコンシステム株式会社 Semiconductor memory device
US5195056A (en) * 1987-05-21 1993-03-16 Texas Instruments, Incorporated Read/write memory having an on-chip input data register, having pointer circuits between a serial data register and input/output buffer circuits
DE3863072D1 (en) * 1988-02-26 1991-07-04 Ibm TWO-STAGE READER AMPLIFIER FOR RAM MEMORY.
US5023838A (en) * 1988-12-02 1991-06-11 Ncr Corporation Random access memory device with integral logic capability
JP2865469B2 (en) * 1992-01-24 1999-03-08 三菱電機株式会社 Semiconductor memory device
JPH05298178A (en) * 1992-04-13 1993-11-12 Nec Corp Semiconductor integrated circuit
JPH0636555A (en) * 1992-05-20 1994-02-10 Nec Corp Dynamic semiconductor memory and device for generating image data
US5432743A (en) * 1992-06-30 1995-07-11 Nec Corporation Semiconductor dynamic RAM for image processing
JPH0676565A (en) * 1992-06-30 1994-03-18 Nec Corp Semiconductor memory device

Also Published As

Publication number Publication date
US5910919A (en) 1999-06-08
EP0823116B1 (en) 1999-06-02
US5914900A (en) 1999-06-22
WO1996033498A1 (en) 1996-10-24
KR19990007860A (en) 1999-01-25
DE69602742D1 (en) 1999-07-08
EP0823116A1 (en) 1998-02-11
US5732024A (en) 1998-03-24
US5909401A (en) 1999-06-01
HK1007912A1 (en) 1999-04-30
JPH11504148A (en) 1999-04-06

Similar Documents

Publication Publication Date Title
DE69509134T2 (en) DOUBLE BANK STORAGE AND SYSTEMS THAT USE THIS
DE69721184T2 (en) HARDWARE FOR ROTATING AN IMAGE
DE69516881T2 (en) STORAGE DEVICE AND DATA PROCESSING SYSTEM WITH SUCH A STORAGE DEVICE
DE3687359T2 (en) GRID BUFFER STORAGE.
DE4236453C2 (en) Multi-channel storage device and method for operating the same
DE68920147T2 (en) Display system.
DE102006062383B4 (en) Semiconductor memory element and system for a semiconductor memory element
DE69618319T2 (en) Multi-bank memory architecture and systems and methods using the same
DE69517888T2 (en) Refreshing procedures and circuits for dual bank storage
DE3633454A1 (en) DEVICE FOR GENERATING A GRID PATTERN
DE69030914T2 (en) Semiconductor memory device
DE3889240T2 (en) Counter with changeable circuit for addressing in graphic display systems.
DE69122182T2 (en) Image data control device and display system
DE10101073A1 (en) Image processing system transfers image pixel color information data from first to second memory without transfer of alpha-value information
US5945974A (en) Display controller with integrated half frame buffer and systems and methods using the same
DE69326494T2 (en) Semiconductor memory device
DE4218686C2 (en) Static random access memory
DE69314108T2 (en) Method and device for controlling a display
DE3588173T2 (en) Video system
DE68925569T2 (en) Dynamic video RAM memory
DE69602742T2 (en) CIRCUITS, SYSTEMS AND METHODS FOR CHANGING STORAGE DATA USING LOGICAL FUNCTIONS
DE3685857T2 (en) PLASMA DISPLAY DISPLAY SYSTEMS.
DE3689449T2 (en) Storage system and interface in it.
DE3788049T2 (en) GRAPHIC ADAPTER.
DE69510077T2 (en) CIRCUITS, SYSTEMS AND METHODS FOR IMPROVING SIDE ACCESS AND BLOCK TRANSMISSIONS IN A STORAGE SYSTEM

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee