DE3628286A1 - Prozessor mit integriertem speicher - Google Patents
Prozessor mit integriertem speicherInfo
- Publication number
- DE3628286A1 DE3628286A1 DE19863628286 DE3628286A DE3628286A1 DE 3628286 A1 DE3628286 A1 DE 3628286A1 DE 19863628286 DE19863628286 DE 19863628286 DE 3628286 A DE3628286 A DE 3628286A DE 3628286 A1 DE3628286 A1 DE 3628286A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- image memory
- processor
- address
- bus
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
Description
Prozessor in Verbindung mit einem Bildspeicher, z. B. für ein
Rasterdisplay, dadurch gekennzeichnet, daß der Prozessor und der
Bildwiederholspeicher auf demselben Chip integriert sind.
Die Erfindung betrifft einen Prozessor nach dem Oberbegriff des
Anspruchs 1, insbesondere für graphische Anwendungen.
Der Bildspeicherinhalt in einem Rasterdisplaysystem soll schnell
modifiziert werden. Dafür ist es häufig nötig, mehrere Bildpunkte
gleichzeitig zu verändern. Hieraus resultiert ein schneller Bild
aufbau.
Herkömmliche Rasterdisplays haben einen seperaten Graphikprozes
sor und Bildspeicher. Der Bildspeicher ist z. B. durch einen 8, 16
oder 32 Bit Datenbus mit dem Graphikprozessor verbunden. Solche
Anordnungen haben den prinzipiellen Nachteil, daß je nach
Busbreite nur eine eingeschränkte Anzahl von Bildpunkten in einem
Graphikprozessorzyklus verändert werden können.
Der Erfindung liegt die Aufgabe zugrunde, erweiterte Zugriffs-
und Modifikationsmöglichkeiten auf den Inhalt des Bildspeichers
zu schaffen.
Diese Aufgabe wird bei einer gattungsgemäßen Einrichtung durch
die kennzeichnenden Merkmale des Anspruches 1 gelöst.
Die mit der Erfindung erzielbaren Vorteile bestehen insbesondere
darin, daß Zeilen und/oder Spalten von Bildpunkten, oder Teile
davon, im Bildspeicher verschoben und/oder modifiziert werden
können und darin, daß Zeilen, Spalten oder Blöcke von Bildpunkten
überschrieben werden können. Insbesondere das Generieren von
gefüllten oder schraffierten Objekten wie z. B. Rechteck, Paralle
logramm, Trapez, Kreis, Polygon kann signifikant schneller als in
einer Anlage nach dem Stand der Technik ausgeführt werden. Opera
tionen wie Windowclipping, Scrolling und Bit-Block Transfer
(BitBlt) sind erheblich schneller möglich. Die Erzeugung der
Synchronisationssignale zur Bildröhrensteuerung kann mit wenig
Aufwand integriert werden.
Die Erfindung wird anhand der Zeichnungen näher erläutert.
Fig. 1 zeigt ein konventionelles System.
Fig. 2 sind Prozessor und Bildspeicher durch einen expandier
ten Datenbus verbunden.
Fig. 3 zeigt das Grundprinzip der Erfindung.
Fig. 4 zeigt das stilisierte Speicherfeld mit Bezeichnung der
Datenbusse und eingezeichneten Speicherzellen mit zwei Ausgangs
busse.
Fig. 5 zeigt eine vereinfachte Speicherzelle.
Fig. 6 zeigt das Speicherfeld mit den Verbindungen in der Diago
nalen.
Fig. 7 zeigt den prinzipiellen Speicheraufbau.
Fig. 8 zeigt den Adresspfad.
Fig. 9 veranschaulicht die Selektierung einer Zeile von Speicher
zellen.
Fig. 10 veranschaulicht die Selektierung einer Spalte von Spei
cherzellen.
Fig. 11 veranschaulicht die Selektierung eines Blockes von Spei
cherzellen.
Fig. 12 zeigt die drei funktionalen Blöcke des Dekoders.
Fig. 13 zeigt die Adresstransformationseinheit.
Fig. 14 zeigt eine Zelle zum Sperren von Speicherbereichen.
Fig. 15 zeigt ein Beispiel für das Sperren von Speicherbereichen.
Fig. 16 zeigt die datenmanipulierende Einheit.
Eine Anlage gemäß dem Stand der Technik ist in Fig. 1 darge
stellt. Pos. 1 zeigt einen Prozessor. Pos. 2 ist ein Sekundär
speicher. Pos. 3 ist eine Einheit zur Kommunikation des Systems
mit der Außenwelt. Parallel dazu können weitere Baugruppen 4
geschaltet sein. Pos. 7 ist eine Bildschirmsteuereinheit, welche
die Bildschirminformation aus dem Speicher 6 ausliest und durch
Pos. 8, eine Bildröhre, darstellt. Die Teile 1, 2, 3, 4, 7 sind
durch einen Datenbus 5 an einen gemeinsamen Speicher 6 gekoppelt.
Bei dieser Anordnung ist der Prozessor 1 derjenige, der die
Bildinformation im Speicher 6 verändert. Der Prozessor 1 und der
Speicher 6 sind auf verschiedenen Chips untergebracht. Der Pro
zessor muß über einen 8, 16 oder 32 Bit breiten Datenbus 5 die
Information im Speicher 6 verändern. Durch Pos. 5 wird die Ge
schwindigkeit der Kommunikation zwischen den Baugruppen Speicher
und Prozessor eingeschränkt.
Fig. 2 zeigt eine nach der Erfindung aufgebaute Anlage. Der
Bildspeicher 9 ist mit dem Prozessor 10 über die dazwischen
liegenden Verbindungsleitungen verbunden. Beide Komponenten 9 und
10 sind auf einem Chip integriert. Insbesondere wird ein Silizi
umchip verwendet. Außerdem dann die Anzahl der Verbindungslei
tungen im Gegensatz zu der Anordnung nach dem Stand der Technik
wesentlich vergrößert sein. Die Anzahl der Leitungen ist durch
die Größe des Speichers 9 begrenzt. Sie entspricht der Anzahl der
Speicherzellen in horizontaler oder vertikaler Richtung im Spei
cher 9. Wird ein Teil des Speichers nicht in dieser Weise ange
schlossen, so ist jedoch immer noch die Funktion für den restli
chen Teil gewährleistet. Sind zusätzliche nicht Speicherzellen an
den Bus gekoppelt, so ist immer noch die Funktion gewährleistet.
Der Prozessor kann aus 2 Teilen bestehen: Eine Steuereinheit und
eine datenmanipulierende Einheit. Die Steuereinheit soll hier
nicht weiter betrachtet werden und kann auch außerhalb des Chips
untergebracht sein. Die datenmanipulierende Einheit, im weiteren
Datenpfad genannt, und der Speicher sind im weiteren erfindungs
gemäß beschrieben.
Fig. 3 zeigt den erfindungsgemäßen, prinzipiellen Zusammenhang
des Bildspeichers 14 mit den Adress- (Pos. 11 und 12), Refresh-
(Pos. 32) und Datenpfaden (Pos. 13) und deren erfindungsgemäßem
Aufbau. Pos. 15 und 23 können Adressdekoder zum Selektieren von
Speicherbereichen in Pos. 14 sein. Pos. 17 und 25 können Einhei
ten zum Verändern und/oder Speichern der in 15 und 23 erzeugten
Adressvektoren sein. Pos. 19 und 27 können Einheiten zum Sperren
von Speicherbereichen sein. Pos. 20 und 29 können Einheiten zum
Erzeugen von Speicherrefreshadressen sein. Pos. 20 und 29 können
zusätzlich zum Multiplexen des Eingangsvektors aus Pos. 21 bzw.
28 vorhanden sein. Pos. 32 kann eine Einheit zum Unterstützen des
Bildschirmrefreshs sein.
Pos. 39 kann eine Einheit zur Vermeidung von Buskonflikten in 36
sein. Pos. 40 kann ein Register zur Speicherung eines Ergebnisses
sein. Pos. 41 kann ein Schiebemechanismus, wie es ein Barrel-
Shifter erfüllt, sein. Pos. 42 kann eine logische Verarbeitungs
einheit sein, die zwei Eingangsvektoren mit Hilfe logischer Ope
rationen verknüpft. Pos. 43 kann ein Speicherregister sein, wel
ches einen Vektor speichern kann und auch den Datenaustausch
dieses Systems mit der Außenwelt tätigen kann. Der Ausgang von 15
kann über 16 mit dem Eingang von 17 verbunden sein. Der Ausgang
von 17 kann über 18 mit dem Eingang von 19 verbunden sein. Der
Ausgang von 19 kann über 20 mit dem Eingang für die Spaltenselk
tierung der Pos. 14 verbunden sein. Der Ausgang von Pos. 23 kann
über 24 mit dem Eingang von 25 verbunden sein. Der Ausgang von 25
kann über 26 mit dem Eingang von 27 verbunden sein. Der Ausgang
von 27 kann über 28 mit 29 verbunden sein. Der Ausgang von 29
kann über 30 mit dem Eingang für Zeilenselektierung von Pos. 14
verbunden sein. Pos. 36 kann mit Pos. 14, 39, 43 und 42 verbunden
sein. Der Ausgang von 43 kann über 38 mit dem Eingang von 42
verbunden sein. Pos. 38 und 36 bilden die Dateneingänge für Pos.
42. Diese Dateneingänge können die zu verarbeitenden Vektoren
nach 42 übertragen. Der Ausgang von 42 kann über 37 mit dem
Eingang von 41 gekoppelt sein. Der Ausgang von 41 kann über 35
mit dem Eingang von 40 gekoppelt sein. Der Ausgang von 40 kann
über 34 mit dem Eingang von 39 gekoppelt sein. Verbindungen zum
Steuern der Komponenten sind nicht eingezeichnet.
Pos. 32 kann eine Einheit zum Unterstützen des Bildschirmrefreshs
sein. Ein Ausgang von Pos. 14 kann über 31 mit dem Eingang von
Pos. 32 verbunden sein.
Der Bildspeicher (14) befindet sich in der Mitte des Bildes
(Block Bildspeicher). Die Adresspfade 11 und 12 sind oben und
links, der Datenpfad 13 rechts und der Refreshpfad 32 unten mit
dem Speicher verbunden. Alle verbindenden Busse 16, 18, 21, 22,
24, 26, 28, 30, 31, 34, 35, 36, 37, 38 können als Verbindungsbrei
te die Anzahl der Zellen in horizontaler oder vertikaler Richtung
im Bildspeicher haben.
Der Bildspeicher kann aus einem quadratischen Feld von Speicher
zellen bestehen. Jede Speicherzelle ermöglicht das Speichern
eines Bildpunktes. Das Feld kann in zwei Teile aufgeteilt werden.
Teil A kann auf dem Bildschirm dargestellt. In Teil B ist es
möglich, z. B. Zeichensätze oder Schraffurtypen zu speichern. Die
Aufteilung des Feldes in Teil A und Teil B kann beliebig gewählt
werden, da das Feld einen homogenen Aufbau hat. Die Aufteilung
kann bei der Konstruktion des Chips festgelegt werden.
Erfindungsgemäß können durch 12 und 11 Adressen erzeugt werden,
die in 14 einen Speicherbereich, z. B. eine Zeile oder eine
Spalte von Speicherzellen, oder Teile davon, oder rechteckige
Blöcke von Speicherzellen, adressieren. In dem adressierten Be
reich können über 36 Informationen eingeschrieben oder ausgelesen
werden. Werden Informationen ausgelesen, so können diese über 36
an 42 und 43 geführt werden. In 43 kann nun diese Information
gespeichert werden. In 42 kann diese Information mit einer Infor
mation aus 43 über 38 logisch verknüpft werden und über 37 in 41
übertragen werden. In 41 kann nun diese Information zyklisch
bitweise verschoben werden. Diese eventuell verschobene Informa
tion kann über 35 nach 40 transferiert werden und dort zwischen
gespeichert werden. Wird nun von 14 die Information nicht weiter
auf 36 ausgegeben, so kann 39 über 36 die neu erzeugte Informa
tion in 14 oder in 43 abspeichern.
Eine Information, die aus 14 ausgelesen wird, kann erfindungsge
mäß auch über 31 nach 32 transferiert werden. Dies ist in einem
Speicherrefreshzyklus der Fall. Dann geben 20 über 22 nach 14 und
29 über 30 nach 14 entsprechende Adressen aus, und 14 kann über
31 nach 32 Bildschirminformation transferieren.
Fig. 4 zeigt erfindungsgemäß den prinzipiellen Aufbau der Spei
cherzellen und der Datenbusse des Speichers. Pos. 44 und Pos. 45
sind Datenbusse, über die die Kommunikation von und zu dem
Speicher realisiert ist. An jeden Bus sind in diesem prinzipiel
len Falle je 8 Datenleitungen (Pos. 46, 47) angeschlossen. Pos.
48 zeigt eine Speicherzelle. Sie ist oben und links mit den
Datenleitungen der Datenbusse 45 und 46 verbunden. Dadurch ist
es möglich, Zeilen von Speicherzellen durch den Bus "A" (44) und
Spalten von Speicherzellen durch den Bus "B" (45) auszulesen
und/oder zu beschreiben.
Fig. 5 zeigt eine vereinfachte statische dual-port Speicherzelle,
um die Arbeitsweise des Speichers zu verdeutlichen. Pos. 50, 52,
54 und 59 sind Transistoren. 55 kann durch die Steuerleitung 54
der Zeilenauswahl dienen. 52 kann durch die Steuerleitung 54 a der
Spaltenauswahl der Speicherinformation Ein-/Ausgabe über 53 die
nen. 50 kann durch die Steuerleitung 51 der Spaltenauswahl der
Speicherinformation Ein/Ausgabe über 49 dienen. Die Speicherin
formation ist in dem Ring, bestehend aus den zwei Invertern 56
und 57 und dem Transistor 59 gespeichert. Die Information kann
ausgelesen werden, wenn 52, 55 und 59 geöffnet sind oder wenn 50,
55 und 59 geöffnet sind. Die Information kann überschrieben
werden, wenn 59 geschlossen und 52 und 55 geöffnet sind oder wenn
59 geschlossen und 50 und 55 geöffnet sind. Pos. 56, 57 und 59
können durch einen Kondensator ersetzt werden. Dann ist die
Steuerleitung von 59 und die Spannungsversorgungsleitungen der
Zelle hinfällig.
Erfindungsgemäß können in allen Speicherzellen aus Fig. 4 die
Transistoren 50 über 49 mit der an die jeweilige Zelle heranfüh
rende Datenbusleitung des Busses 45 verbunden sein. Ebenso können
alle Transistoren 52 über 53 mit der an die jeweilige Zelle
heranführende Datenbusleitung des Busses 44 verbunden sein.
Dies ermöglicht Lese- und Schreibtransfer von Daten über die
beiden Busse 44 und 45. Der Transistor 55 ermöglicht die Zeilen
selektierung, der Transistor 50 ermöglicht den Datenaustausch mit
dem Bus "B" und der Transistor 52 den Datenaustausch mit dem Bus
"A". Im Speicherfeld sind alle Transistoren 52 einer Spalte von
Speicherzellen und alle Transistoren 50 einer Zeile von Speicher
zellen über die Busse miteinander verbunden.
Um nun auch Spalten von Speicherzellen durch den Bus "A" und
Zeilen von Speicherzellen durch den Bus "B" auszulesen und/oder
zu beschreiben, können zusätzliche Verbindungen angebracht wer
den. Fig. 6 zeigt die für die Funktion entscheidenden Verbindun
gen 60, 61, 62, 63, 64, 65, 66 und 67 in der Diagonalen des
Speicherfeldes. Ansonsten entspricht Fig. 6 Fig. 4. Durch das
Anbringen dieser Verbindungen werden jeweils die Datenleitung des
Busses "A" und des Busses "B" verbunden, d. h.
Bus "A" Leitung 0 wird mit Bus "B" Leitung 0 und
Bus "A" Leitung 1 wird mit Bus "B" Leitung 1 etc. verbunden.
Bus "A" Leitung 0 wird mit Bus "B" Leitung 0 und
Bus "A" Leitung 1 wird mit Bus "B" Leitung 1 etc. verbunden.
Das Lesen und Schreiben einer Zeile von Speicherzellen über den
Bus "A" und das Lesen und Schreiben einer Spalte von Speicherzel
len über den Bus "B" ist jetzt möglich. Soll z. B. ein Speicher
wort über den Bus "A" in die erste Zeile eingeschrieben werden,
so kann die Information, die auf dem Bus anliegt, über die Tran
sistoren 52 und 55 in die jeweiligen Zellen eingelesen werden.
Soll die linke Spalte von Speicherzellen über den Bus "A" über
schrieben werden, so wird die Datenverbindung über den Transistor
50 und 55 in der jeweiligen Speicherzelle gewählt. Das zweite Bit
der Spalte wird auf folgende Weise gesetzt oder gelöscht:
Die Information auf dem zweiten Bit des A Busses 44 wird an der
Verbindungsstelle 61 auf den B Bus 45 übergeführt. Vom B Bus aus
kann die Information über den Transistor 50 und 55 der zweiten
Zelle in die Zelle geladen werden. Bei all diesen Ausführungen
wird vorausgesetzt, daß der zu lesende oder zu modifizierende
Bereich adressiert ist.
Fig. 7 zeigt erfindungsgemäß prinzipiell außer den Datenbussen
auch die Adressleitungen und Steuerleitungen mit der entsprechen
den zusätzlichen Hardware. Die Hardware kann zur Generierung
zusätzlicher Signale dienen. Pos. 69 und 70 sind die schon be
schriebenen Busse. Pos. 71 ist ein Inverter und dient zur Inver
tierung des Signals 92. Pos. 72 ist die Zeilenadresse. Sie kann
aus einem binären Vektor bestehen. Pos. 68 ist die Spaltenadres
se. Sie kann aus einem binären Vektor bestehen. Pos. 73 ist die
optionale Freischaltung der Zeilenadresse. Pos. 74 ist das Symbol
für ein "And"-Baustein. Pos. 75 kann ein Speicherfreigabesignal
sein. Dieses Signal kann in allen Zellen mit Pos. 58 verbunden
sein. Pos. 76 kann mit der Pos. 54a aller Speicherzellen in
dieser Spalte verbunden sein. Pos. 77 kann mit allen Pos. 51 der
Speicherzellen in dieser Spalte verbunden sein. Das gleiche wie
für Pos. 76 gilt für die jeweilige Spalte von Speicherzellen für
78, 80, 82, 84, 86, 88 und 90. Das gleiche gilt analog wie für
Pos. 77 für Pos. 79, 81, 83, 85, 87, 89 und 91. Pos. 92 gibt an,
ob eine Spalte oder eine Zeile adressiert werden soll. Erfin
dungsgemäß kann das Einschreiben einer Information in den Spei
cher folgenden Ablauf haben: Zunächst können die Adressen an 68
und 72 angelegt werden. 92 kann eingestellt werden. Dadurch kann
eine der Selektionsleitungen 76 bis 91 freigegeben werden. Eine
Information kann auf einem der Busse 45 oder 44 angelegt werden.
Das Signal 75 kann gelöscht werden. Das Signal 73 kann gegeben
werden. Nun wird die Information eingeschrieben. Sind in 72 und
68 Bereiche adressiert worden, so kann nun ein rechteckiges Feld
von Speicherzellen überschrieben werden. Wird auf den Bussen 45
oder 44 keine Information angelegt, so können bei gehaltenem
Signal 75 Informationen ausgelesen werden. Im Gesamtsystem kann
der Bus 31 dem Bus 70, der Bus 36 dem Bus 69, der Bus 30 dem Bus
72 und der Bus 22 dem Bus 68 entsprechen.
Fig. 8 zeigt den Adresspfad 12 oder 11, der zum Generieren von
Adressen für den Bildspeicher vorgesehen ist. Pos. 93 kann ein
Adresskoder (1-aus-N) oder ein spezieller Dekoder (M-aus-N)
sein. Der Ausgang von Pos. 93 kann über 94 mit dem Eingang von 95
gekoppelt sein. In 95 können die von 93 generierten Signale
gespeichert oder modifiziert werden. Der Ausgang von 95 ist über
96 mit dem Eingang von 97 gekoppelt. Hier kann ein bestimmter
Speicherbereich gegen Überschreiben geschützt werden. Der Ausgang
von 97 ist über 98 mit dem Eingang von 99 verbunden. Pos. 99
kann zur Unterstützung des Bildschirm- und des Speicherrefreshs
dienen. Pos. 100 ist der Ausgang des Adresspfades.
Erfindungsgemäß kann ein Adresspfad 11 oder 12 verwendet werden,
um die Zeilen- bzw. die Spaltenadresse zu generieren. Um erwei
terte Adressierungsmöglichkeiten zu erreichen, kann ein Adress
pfad aus einem Pos. 93, einer Pos. 95, einer Pos. 97 und einer
Pos. 99 für den Refresh dynamischer Speicherzellen bestehen. In
dem Adressdekoder 93 wird zunächst ein Adressbereich für den
Bildspeicher aus kodierten Eingangsadressen erzeugt. Dieser
Adressbereich kann in 95 und in 97 gespeichert werden oder direkt
als Adresse dem Bildspeicher zugeführt werden. In 95 kann der
gespeicherte Adressvektor verschoben oder mit einem schon gespei
cherten Vektor verknüpft werden. Dies ermöglicht sehr schnelle
und variationsreiche Adressierungsmöglichkeiten. In der Adress
transformationseinheit kann zwischen internem und Dekodervektor
als Ausgabevektor gewählt werden. Der somit erzeugte Adressvektor
wird in 97 logisch AND mit dem dort gespeicherten Vektor ver
knüpft. Dadurch ist ein Sperren von Speicherbereichen möglich.
Der nun entstandene Vektor wird in dem normalen Arbeitsmodus dem
Bildspeicher als Ansteuervektor für die Adressen übergeben. In
dem Refreshzyklus wird statt dieses Vektors der Refreshvektor
angelegt. Dies geschieht im letzten Block des Adresspfades.
Erfindungsgemäß können zwei (M-aus-N) Dekoder 93, je einer für
die Zeilen- und Spaltenauswahl, einen Bereich von Speicherzellen
auswählen, die adressiert werden. Jeder dieser Adressdekoder kann
mit einer größten und einer kleinsten gewünschten Adresse ange
steuert werden. Der Dekoder selektiert dann alle Speicherzeilen
oder -spalten, die zwischen diesen beiden Adressen liegen. Durch
die beiden Dekoder können nun Zeilen, Spalten oder Blöcke von
Speicherzellen in der Speichermatrix adressiert werden.
Fig. 9 veranschaulicht die Selektierung einer Zeile von Speicher
zellen. Pos. 101 und 102 können z. B. zwei Adressdekoder oder
Adresspfade sein. Pos. 103 zeigt den Speicher. Pos. 104 zeigt die
ausgewählte Zeile im Speicher. Pos. 105 zeigt die letzte ausge
wählte Spalte und Pos. 106 die erste ausgewählte Spalte im Spei
cher. Pos. 106b zeigt den adressierten Speicherbereich, der aus
mehreren Zellen in einer Zeile bestehen kann.
Fig. 10 veranschaulicht die Selektierung einer Spalte von Spei
cherzellen. Die Bezeichnung der Baugruppen kann aus Fig. 9 ent
nommen werden. Pos. 107 zeigt die letzte adressierte Zeile und
Pos. 108 die erste adressierte Zeile im Speicher. Pos. 109 zeigt
die adressierte Spalte im Speicher. Pos. 110 zeigt den adressier
ten Speicherbereich, der aus mehreren Zellen bestehen kann.
Fig. 11 veranschaulicht die Selektierung eines Blockes von Spei
cherzellen. Die Bezeichnungen der Baugruppen ist aus Fig. 7 zu
entnehmen. Pos. 111 bezeichnet die erste selektierte Zeile und
Pos. 112 die letzte selektierte Zeile von Speicherzellen. Pos. 113
zeigt die erste und Pos. 114 die letzte selektierte Spalte von
Speicherzellen. Pos. 115 zeigt den Bereich von Speicherzellen,
die adressiert sind.
Fig. 12 zeigt drei funktionale Blöcke des Dekoders. Pos. 117
zeigt einen Dekoder, der ab einer gegebenen Eingangsadresse 119
alle Selektionsleitungen freigibt. Die Eingangsadresse 119 kann
kodiert sein, die Selektionsleitungen 122 nicht. Pos. 118 zeigt
einen Dekoder, der von der Adresse 0 bis zu einer gegebenen
Eingabeadresse 120 alle Selektionsleitungen 121 freigibt. Die
Eingangsadresse 120 kann kodiert sein. Die Ausgangsadresse nicht.
Folgendes Beispiel sei dazu genannt:
Die Busse 117 und 120 haben eine Breite von 9 Bit, die Busse 122
und 121 haben eine Breite von 512 Bit.
Die Ausgänge von 117 und 118 sind über 121 und 122 mit den
Eingängen von 116 verbunden. Hier können die beiden Eingangsbusse
bitweise logisch "AND" miteinander verknüpft werden. Die Gesamt
funktion, die sich daraus ergibt, ist folgende:
Durch Anlegen einer Minimumadresse an 117 und durch Anlegen der
Maximumadresse an 118 wird an 123 ein Bereich von Leitungen des
Busses selektiert. Die Busbreite von 123 ist gleich der Busbreite
von 121 oder 122.
Fig. 13 zeigt die Adresstransformationslogik, welche dem schnel
len Generieren, Speichern und Modifizieren von Adressen und
Adressbereichen dient. Pos. 125 zeigt ein Schieberegister, wel
ches parallel ladbar und nachladbar ist. Das heißt, der gespeicherte
Vektor im Schieberegister kann logisch "OR" mit einem an 124
anstehenden Vektor verknüpft und gespeichert werden. Außerdem ist
es möglich, mit diesen modifizierten Schieberegistern bei dem
Schiebevorgang ein logisches "OR" oder "AND" zwischen dem gespei
cherten Vektor und dem um ein Bit verschobenen Vektor vorzuneh
men. Für das logische "OR" bedeutet das:
Aus dem Vektor 0001100000
wird 0001110000
bei einer Verschiebung nach rechts und 00111100000
bei einer Verschiebung nach links. Für das logische "AND" bedeutet das:
wird 0001110000
bei einer Verschiebung nach rechts und 00111100000
bei einer Verschiebung nach links. Für das logische "AND" bedeutet das:
Aus dem Vektor 0000111100
wird 0000011100
bei einer Verschiebung nach rechts
und 0000111000
bei einer Verschiebung nach links.
bei einer Verschiebung nach rechts
und 0000111000
bei einer Verschiebung nach links.
Pos. 127 ist ein Multiplexer, der die Busse 124 und 126 multi
plexen kann. Pos. 129 ist das gleiche Schieberegister wie Pos.
125. Pos. 131 ist eine logische Einheit, mit der es möglich
ist, die zwei Busse 128 und 130 mit Hilfe logischer Operationen zu
verknüpfen. Pos. 124 ist der Eingangsbus in 125 und 127 . Der
Ausgang von 125 ist über 126 mit dem Eingang von 127 gekoppelt.
Der Ausgang von 127 ist mit dem Eingang von 129 über 128 und mit
dem Eingang von 131 gekoppelt.
Ein Bitvektor kann über 124 in die Schieberegister geladen wer
den. Da der Adressdekoder, der die Eingangsadressen erzeugt, nur
zusammenhängende Adressbereiche generieren kann, sind mit Hilfe
von 125 oder 129 erweiterte Adressierungsarten erschlossen. Es
ist somit möglich, beliebig viele nicht zusammenhängende Bereiche
des Bildspeichers zu adressieren. Anwendungen dafür sind im
gleichzeitigen Zeichnen gleicher Objekte zu finden. Nach dem
ersten Schieberegister kann sich ein Multiplexer befinden. Mit
ihm ist es möglich, den Adressvektor aus dem Schieberegister oder
dem Dekoder auszuwählen. Der so ermittelte Vektor kann in das
zweite Schieberegister eingelesen werden. In dem nachfolgenden
Block können die Adressvektoren des zweiten Schieberegisters und
der bis hierhin selektierte Adressvektor mit Hilfe der 16 mögli
chen logischen Operationen verknüpft werden. Diese Kette von
Schieberegistern, Multiplexen und logischen Einheiten kann be
liebig erweitert werden. Die Pos. 124, 126, 128, 130 und 132
können die gleiche Busbreite wie die Ausgänge der Adressdekoder
haben. Die Pos. 125, 127, 129 und 131 haben die Verarbeitungs
breite wie die dazwischen liegenden Busse.
Fig. 14 zeigt erfindungsgemäß eine Ein-Bit-Zelle zum Sperren von
Speicherbereichen. Pos. 136 ist ein Latch. Pos. 133 ist eine
Eingangsbitleitung und Pos. 134 die Ausgangsbitleitung. Pos. 135
verknüpft den Ausgang von 136 mit 133 zu 134 mit der logischen
Operation "AND". Beim Setzen des Speicherbereiches, der vor dem
Überschreiben geschützt sein soll, wird in jede dieser Zellen,
die in dem Adresspfad liegen, eine Null für das Sperren der
jeweiligen Zeile oder Spalte und eine Eins für das Freigeben der
jeweiligen Zeile oder Spalte eingeschrieben. In dem Adresspfad muß
für jede Adressleitung solch eine Zelle vorhanden sein, um Spei
cherbereiche vor dem Überschreiben zu schützen. Dies kann in der
Clipping-Einheit 19 und/oder 27 erfolgen. Hierbei wird der
Adressvektor mit einem Vektor, der in diesem Block gespeichert
ist, logisch "AND" verknüpft, woraus sich der neue Adressvektor
ergibt. Wird dieses Verfahren für den Adresspfad der Zeilenadres
sen und für den Adresspfad der Spaltenadressen angewendet, so
kann z. B. ein rechteckiges Fenster im Bildspeicher beschrieben
werden. Der restliche Bereich des Bildspeichers ist dann ge
sperrt.
Fig. 15 zeigt ein Beispiel. Pos. 137 und 138 können M-aus-N
Dekoder sein. Pos. 139 kann der Bildspeicher sein. Pos. 144 und
145 kann die Clipping-Einheit für die Zeilen- und Spaltenselek
tierung sein. Pos. 140 kann die kleinste adressierbare Spalte im
Fenster sein. Pos. 141 kann die größte adressierbare Spalte im
adressierbaren Fenster sein. Pos. 148 kann die kleinste adres
sierte Spalte im Speicher sein. Pos. 149 kann die größte adres
sierte Spalte im Speicher sein. Pos. 150 kann die größte adres
sierbare Zeile im Fenster sein. Pos. 153 kann die kleinste adres
sierbare Zeile im Fenster sein. Pos. 151 kann die größte adres
sierte Zeile im Speicher sein. Pos. 152 kann die kleinste adres
sierte Zeile im Speicher sein. Pos. 142, 143, 146 und 147 be
grenzen den Bereich im Speicher, der nun adressiert wurde. Das
Fenster, das in 144 und 145 definiert wurde, war kleiner als der
in 137 und 138 adressierte Bereich. Durch das Sperren von be
stimmten Bereichen konnte wie in diesem Beispiel beim Schreiben
eines Rechtecks von Speicherzellen ein Clippingvorgang getätigt
werden, der nicht auf mathematischen Berechnungen beruht. Das
Clippen kostet somit nur die Verzögerungszeit in 135.
In einem dynamischen Halbleiterspeicherbaustein müssen alle Spei
cherzelleninhalte während einer vom Herstellerprozeß abhängigen
Zeit aufgefrischt ("refreshed") werden. Andernfalls geht die
Information der Speicherzelle verloren. Im gezeigten Konzept
werden alle Zeiten von Speicherzellen sequentiell aufgefrischt.
In einem Refreshzyklus geschieht die Spaltenselektierung in 20.
Der Adressdekoder wird abgeschaltet, und alle Spalten werden
selektiert. Die Zeilenselektierung nutzt ein dynamisches Schiebe
register in 29, in dem nach einer Resetphase nur ein Bit gesetzt
wird. Die Verarbeitungsbreite von 20 und 29 entspricht der Breite
von deren Ein- und Ausgangsbussen. Wenn die Adressen stabil sind,
kann der Speicher zum Lesen freigegeben werden. Dadurch wird die
adressierte Zeile von Speicherzellen aufgefrischt. Der Bild
schirmrefresh kann vom Speicherrefresh abgeleitet sein. In jedem
Bildschirmrefreshzyklus kann das Videoregister in dem Block 32
mit dem Teil der Daten gefüllt, der auf dem Bildschirm darge
stellt werden soll. Der Speicherbereich, der nicht dargestellt
wird, kann für z. B. einen Zeichensatz reserviert werden. Dieser
Teil kann mit Hilfe von Blocktransferoperationen auf den sichtba
ren Teil des Speichers übertragen werden.
Der Inhalt von 32 kann in Teilen von jeweils z. B. acht Bit
ausgegeben werden. Extern werden diese Teile mit Hilfe eines
schnellen Schieberegisters in einen seriellen Bitstrom umgewan
delt. Dieser Bitstrom steuert den Bildschirm.
Fig. 16 zeigt den Datenpfad. Er wird für Transformation und
Justierung von Bilddaten aus dem Bildspeicher, sowie zur Kommuni
kation mit der Außenwelt verwendet. Die Busbreite entspricht der
Anzahl der Speicherzellen in einer Zeile oder einer Spalte des
Bildspeichers. Dadurch können sehr lange Vektoren vom Bildpunkt
in einem internen Zyklus verändert werden. Pos. 164 stellt die
Datenverbindung des Datenpfades und des Bildspeichers zur Außen
welt und das Speichermedium für Bildpunktevektoren im Datenpfad
dar. Ein Vektor kann entweder aus dem Bildspeicher oder wortweise
über den Data-Bus geladen werden. Der in 163 gespeicherte Vektor
kann in der Einheit 161 bitweise mit einem Vektor, der aus dem
Bildspeicher ausgelesen wird, verknüpft werden. Alle 16 logischen
Operationen zwischen den zwei Vektoren sind möglich. Der durch
die Operation entstandene neue Vektor kann, z. B. um BitBlt (Bit-
Block-Transfer) zu ermöglichen, durch den Barrel-Shifter beliebig
rotiert werden. Ein dem Shifter nachgeschaltetes Register dient
der Steuerung des Datenpfades. Der nachgeschaltete Tristate-
Buffer dient der Vermeidung von Buskonflikten im I/O-Bus.
Claims (11)
1. Prozessor in Verbindung mit einem Bildspeicher, z. B. für ein
Rasterdisplay,
dadurch gekennzeichnet, daß der Prozessor ganz oder teilweise
und der Bildspeicher auf demselben Chip integriert sind.
2. Prozessor nach Anspruch 1,
dadurch gekennzeichnet, daß ein Siliziumchip verwendet wird.
3. Prozessor nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die datenmanipulierende Einheit
des Prozessors - über einen der Anzahl der Speicherzellen in
einer Zeile und/oder Spalte des Bildspeicher entsprechend
breiten Bus - mit dem Bildspeicher gekoppelt sein kann.
4. Prozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die datenmanipulierende Einheit
des Prozessors aus einem Barrel-Shifter mit der Busbreite der
datenmanipulierenden Einheit bestehen kann.
5. Bildspeicher nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß das Speicherfeld mit einer
speziellen Verbindungslogik ausgestattet ist, die es
ermöglicht, die Speicherinformationen, die in einer gedachten
horizontalen Achse gespeichert sind, über eine vertikale Achse
auszulesen und zu überschreiben. Ebenso ist es möglich, Infor
mationen, die in einer gedachten vertikalen Achse gespeichert
sind, über eine horizontale Achse auszulesen.
6. Bildspeicher nach Anspruch 1, 2 oder 5,
dadurch gekennzeichnet, daß Zeilen oder Spalten von
Speicherzellen - oder Teile davon - in einem Speicherzyklus
gelesen oder beschrieben werden können.
7. Bildspeicher nach Anspruch 1, 2, 6 oder 7,
dadurch gekennzeichnet, daß auch rechteckige Blöcke von
Speicherzellen in einem Zugriffszyklus überschrieben werden
können.
9. Bildspeicher nach Anspruch 1, 2, 6, 7 oder 8,
dadurch gekennzeichnet, daß der Speicherselektionsmechanismus
aus einem oder mehreren M-aus-N Decodern bestehen kann.
10. Bildspeicher nach Anspruch 1, 2, 6, 7, 8 oder 9,
dadurch gekennzeichnet, daß die vom Adressdekoder selektierten
Adressleitungen mit Hilfe von z. B. einem Schieberegister
verändert werden können.
11. Bildspeicher nach Anspruch 1, 2, 6, 7, 8, 9 oder 10,
dadurch gekennzeichnet, daß Speicherbereiche mit Hilfe einer
Logik, wie sie z. B. in Fig. 15 abgebildet ist, gesperrt werden
können.
12. Bildspeicher nach Anspruch 1, 2, 6, 7, 8, 9, 10 oder 11,
dadurch gekennzeichnet, daß der Auswahlmechanismus für die
aufzufrischende (Refresh) Zeile von Speicherzellen aus einem
Schieberegister bestehen kann.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19863628286 DE3628286A1 (de) | 1986-08-20 | 1986-08-20 | Prozessor mit integriertem speicher |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19863628286 DE3628286A1 (de) | 1986-08-20 | 1986-08-20 | Prozessor mit integriertem speicher |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3628286A1 true DE3628286A1 (de) | 1988-02-25 |
Family
ID=6307810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19863628286 Ceased DE3628286A1 (de) | 1986-08-20 | 1986-08-20 | Prozessor mit integriertem speicher |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3628286A1 (de) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0690430A3 (de) * | 1994-06-02 | 1996-07-03 | Accelerix Ltd | Einchip-Rasterpufferspeicher und Graphikbeschleuniger |
WO1997014133A2 (en) * | 1995-09-27 | 1997-04-17 | Cirrus Logic, Inc. | Display control system with subsystems corresponding to different display regions |
EP0778578A2 (de) * | 1988-11-29 | 1997-06-11 | Matsushita Electric Industrial Co., Ltd. | Integrierte Schaltung mit synchronen Halbleiterspeicher, Methode zum Zugriff auf diesen Speicher und System mit einem solchen Speicher |
EP0777207A3 (de) * | 1995-11-02 | 1998-01-14 | Cirrus Logic, Inc. | Verfahren und Vorrichtung zur Schnittstellenbildung zwischen einer Verarbeitungseinheit und Speichern |
USRE35921E (en) * | 1988-11-29 | 1998-10-13 | Matsushita Electric Industrial Co., Ltd. | Dynamic video RAM incorporating single clock random port control |
US6041010A (en) * | 1994-06-20 | 2000-03-21 | Neomagic Corporation | Graphics controller integrated circuit without memory interface pins and associated power dissipation |
US7095666B2 (en) | 1994-04-11 | 2006-08-22 | Mosaid Technologies, Inc. | Wide databus architecture |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4395697A (en) * | 1980-08-15 | 1983-07-26 | Environmental Research Institute Of Michigan | Off-image detection circuit for an image analyzer |
DE2324731C2 (de) * | 1972-05-15 | 1985-08-14 | Goodyear Aerospace Corp., Akron, Ohio | Festkörperspeicher mit Mehrfachzugriff |
-
1986
- 1986-08-20 DE DE19863628286 patent/DE3628286A1/de not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2324731C2 (de) * | 1972-05-15 | 1985-08-14 | Goodyear Aerospace Corp., Akron, Ohio | Festkörperspeicher mit Mehrfachzugriff |
US4395697A (en) * | 1980-08-15 | 1983-07-26 | Environmental Research Institute Of Michigan | Off-image detection circuit for an image analyzer |
Non-Patent Citations (1)
Title |
---|
Klaus Schräder: Schnellste Daten-Bit-Maipulation mit "Barrel-Shiftern", in Elektronik, 6/21.3.1986,S. 65-70 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0778578A2 (de) * | 1988-11-29 | 1997-06-11 | Matsushita Electric Industrial Co., Ltd. | Integrierte Schaltung mit synchronen Halbleiterspeicher, Methode zum Zugriff auf diesen Speicher und System mit einem solchen Speicher |
EP0778578A3 (de) * | 1988-11-29 | 1998-02-18 | Matsushita Electric Industrial Co., Ltd. | Integrierte Schaltung mit synchronen Halbleiterspeicher, Methode zum Zugriff auf diesen Speicher und System mit einem solchen Speicher |
USRE35921E (en) * | 1988-11-29 | 1998-10-13 | Matsushita Electric Industrial Co., Ltd. | Dynamic video RAM incorporating single clock random port control |
US7095666B2 (en) | 1994-04-11 | 2006-08-22 | Mosaid Technologies, Inc. | Wide databus architecture |
US8441878B2 (en) | 1994-04-11 | 2013-05-14 | Mosaid Technologies Incorporated | Embedded memory databus architecture |
US8218386B2 (en) | 1994-04-11 | 2012-07-10 | Mosaid Technologies Incorporated | Embedded memory databus architecture |
US7859930B2 (en) | 1994-04-11 | 2010-12-28 | Mosaid Technologies Incorporated | Embedded memory databus architecture |
US7609573B2 (en) | 1994-04-11 | 2009-10-27 | Mosaid Technologies, Inc. | Embedded memory databus architecture |
US7486580B2 (en) | 1994-04-11 | 2009-02-03 | Mosaid Technologies, Inc. | Wide databus architecture |
USRE40326E1 (en) | 1994-06-02 | 2008-05-20 | Mosaid Technologies Incorporated | Single chip frame buffer and graphics accelerator |
EP0690430A3 (de) * | 1994-06-02 | 1996-07-03 | Accelerix Ltd | Einchip-Rasterpufferspeicher und Graphikbeschleuniger |
USRE44589E1 (en) | 1994-06-02 | 2013-11-12 | Mosaid Technologies Incorporated | Single chip frame buffer and graphics accelerator |
US5694143A (en) * | 1994-06-02 | 1997-12-02 | Accelerix Limited | Single chip frame buffer and graphics accelerator |
USRE37944E1 (en) | 1994-06-02 | 2002-12-31 | 3612821 Canada Inc. | Single chip frame buffer and graphics accelerator |
USRE41565E1 (en) | 1994-06-02 | 2010-08-24 | Mosaid Technologies Incorporated | Single chip frame buffer and graphics accelerator |
US6041010A (en) * | 1994-06-20 | 2000-03-21 | Neomagic Corporation | Graphics controller integrated circuit without memory interface pins and associated power dissipation |
US7106619B2 (en) | 1994-06-20 | 2006-09-12 | Neomagic Corporation | Graphics controller integrated circuit without memory interface |
US6920077B2 (en) | 1994-06-20 | 2005-07-19 | Neomagic Corporation | Graphics controller integrated circuit without memory interface |
US6771532B2 (en) | 1994-06-20 | 2004-08-03 | Neomagic Corporation | Graphics controller integrated circuit without memory interface |
US6025840A (en) * | 1995-09-27 | 2000-02-15 | Cirrus Logic, Inc. | Circuits, systems and methods for memory mapping and display control systems using the same |
WO1997014133A3 (en) * | 1995-09-27 | 1997-08-28 | Cirrus Logic Inc | Display control system with subsystems corresponding to different display regions |
WO1997014133A2 (en) * | 1995-09-27 | 1997-04-17 | Cirrus Logic, Inc. | Display control system with subsystems corresponding to different display regions |
EP0777207A3 (de) * | 1995-11-02 | 1998-01-14 | Cirrus Logic, Inc. | Verfahren und Vorrichtung zur Schnittstellenbildung zwischen einer Verarbeitungseinheit und Speichern |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69432886T2 (de) | Datenverarbeitungssystem | |
DE4022149C2 (de) | ||
DE4019135C2 (de) | Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung | |
DE4204119A1 (de) | Dual-port-speicher | |
DE4025151A1 (de) | Halbleiterspeichereinrichtung mit flasch-schreibfunktion | |
EP0038411A2 (de) | Einrichtung zur Speicherung und Darstellung graphischer Information | |
DE2703578A1 (de) | Videospeicher | |
DE4107889A1 (de) | Halbleiterspeichereinrichtung mit mehreren ports | |
DE4218686C2 (de) | Statischer Direktzugriffsspeicher | |
DE2851772A1 (de) | Einrichtung zur darstellung farbiger graphischer zeichen auf einem bildschirm | |
DE3419219A1 (de) | Steuervorrichtung zur anzeige von teilbildern | |
DE3636394A1 (de) | Einrichtung und verfahren zur speicherorganisation | |
DE3043100C2 (de) | ||
DE2364254B2 (de) | Schaltungsanordnung fuer datenverarbeitende geraete | |
DE2059917B2 (de) | Hybridadressierter datenspeicher | |
DE68929482T2 (de) | Integrierter Schaltkreis mit synchronem Halbleiterspeicher, ein Verfahren zum Zugriff auf den besagten Speicher sowie ein System, das einen solchen Speicher beinhaltet | |
DE3716752C2 (de) | ||
EP0038002B1 (de) | Anordnung zum Darstellen von Zeichen an einem Bildschirm einer Anzeigeeinheit | |
DE3628286A1 (de) | Prozessor mit integriertem speicher | |
DE3214230A1 (de) | Speicheranordnung mit mehrfach-zugriffsleitungen | |
DE1933935C3 (de) | Assoziativer Speicher | |
DE3644322C2 (de) | ||
DE69433033T2 (de) | Zeitverschachtelte leseschreiboperationen in einem hochgeschwindigkeitsrasterpuffersystem | |
DE3733930C2 (de) | ||
DE3810232C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |