DE3628286A1 - Prozessor mit integriertem speicher - Google Patents

Prozessor mit integriertem speicher

Info

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
Application number
DE19863628286
Other languages
English (en)
Inventor
Juergen Dipl Ing Staerk
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.)
STAERK JUERGEN DIPL ING DIPL I
Original Assignee
STAERK JUERGEN DIPL ING DIPL I
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 STAERK JUERGEN DIPL ING DIPL I filed Critical STAERK JUERGEN DIPL ING DIPL I
Priority to DE19863628286 priority Critical patent/DE3628286A1/de
Publication of DE3628286A1 publication Critical patent/DE3628286A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/39Control of the bit-mapped memory
    • G09G5/393Arrangements 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.
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:
Aus dem Vektor 0000111100 wird 0000011100
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.
DE19863628286 1986-08-20 1986-08-20 Prozessor mit integriertem speicher Ceased DE3628286A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Klaus Schräder: Schnellste Daten-Bit-Maipulation mit "Barrel-Shiftern", in Elektronik, 6/21.3.1986,S. 65-70 *

Cited By (23)

* Cited by examiner, † Cited by third party
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