DE3334604A1 - Integrierter, als baustein ausgefuehrter sortierer fuer datenwoerter und integrierter, datenverarbeitender prozessor mit einem derartigen mitintegrierten sortierer - Google Patents
Integrierter, als baustein ausgefuehrter sortierer fuer datenwoerter und integrierter, datenverarbeitender prozessor mit einem derartigen mitintegrierten sortiererInfo
- Publication number
- DE3334604A1 DE3334604A1 DE19833334604 DE3334604A DE3334604A1 DE 3334604 A1 DE3334604 A1 DE 3334604A1 DE 19833334604 DE19833334604 DE 19833334604 DE 3334604 A DE3334604 A DE 3334604A DE 3334604 A1 DE3334604 A1 DE 3334604A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- memory
- address
- data
- control
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Complex Calculations (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Read Only Memory (AREA)
- Communication Control (AREA)
Description
»tr
tf V · *
tf V · *
PHN 10 454 X Λ. 30.6.1983
Integrierter, als Baustein ausgeführter Sortierer für
Datenwörter und integrierter, datenverarbeitender Prozessor mit einem derartigen mitintegrierten Sortierer
Die Erfindung betrifft einen Sortierer zum schnellen Sortieren von Datenwörtern, mit einem ersten Dateneingang
für die Datenwörter, einem Speicher, dessen Adresseingang vom ersten Dateneingang gespeist und dessen zweiter
Dateneingang beim Empfang eines Datenworts aktiviert wird und eine Darstellung dieses Datenworts speichert und mit
Lesemitteln, die die gespeicherten Darstellungen nach einer Adressreihenfolge lesen und anschiiessend die jeder Darstellung
zugeordnete Speicheradresse an einem Datenausgang neu darstellen.
Eine derartige Anordnung ist aus der DE-OS 31 44 5&3
bekannt. Die bekannte Anordnung eignet sich jedoch nicht gut zum Aufnehmen als Baustein in ein grösseres System,
beispielsweise in ein Computersystem für allgemeine Zwecke oder in einen vollständig als integrierte Schaltung aufgebauten
datenverarbeitenden Prozessor.
Der Erfindung liegt die Aufgabe zugrunde, einen derartigen Baustein zu schaffen, der auf einfache Weise in
ein Speichersystem als davon nur eine einzige Adressteile fühlender Modul, aufgenommen werden kann.
Diese Aufgabe wird erfindungsgemäss dadurch gelöst, dass der als integrierte Schaltung ausgeführte Sortierer
als ersten Dateneingang und Datenausgang einen bidirektionalen Bus enthält, an den weiter ein Befehlsregister zum
Empfangen von Löschsteuer-, Reihenfolgerichtungs- und
Adressrückstellsignalen und ein Schalter angeschlossen ist, der ein Beendungssignal und ein Uberfüllungssignal dem Bus
als Statussignale zuführt, dass an den Bus ein von einem Oszillator zu speisender Zähler angeschlossen ist, der
am Zählerausgang nacheinander die Adressen des Speichers erzeugt und mit Eingängen versehen ist, die die Reihenfolgerichtungs-
und Adressrückstellsignale empfangen und mit einem Zusatzausgang für das Beendungssignal, dass weiter
* «I O O
PHN-IO 454 2T — 30.6.1983
Blockierungsmittel vorgesehen sind, die beim Abgeben einer Speicheradresse, die eine gültige Darstellung im Speicher
anzeigt, unter der Steuerung dieser Darstellung das Weiterzählen der Oszillatorsignale blockieren und darauf ein
"Lesebereit"-Signal an eine Benutzeranordnung abgeben und
die einen Rückstelleingang enthalten, der unter der Steuerung eines Lesesignals bei vollständigem Lesen des Inhalts einer
Speicheradresse den Blockierungsvorgang beendet, dass die Speicheranordnung weiter mit einem Verzögerungselement
^ versehen ist, das einen empfangenen Schreibbefehl verzögert
und darauf unter der Steuerung eines SchaltungsauswahlsignaHs
(chip select) vorübergehend eine Leseoperation durchführt, und dass eine Detektionsschaltung vorgesehen ist,
die dabei unter der Steuerung einer gelesenen, früher ge-
^ speicherten Darstellung und des zuletzt empfangenen Schreibbefehls
selektiv das Uberfüllungssignal (OLBYT) bildet. Die Verwendung eines bidirektionalen Busses, der auch für
eine Anzahl von BefehlsSignalen und Statussignalen verwendbar
ist, bietet gerade eine besonders vorteilhafte Anpassung an ein derartiges Computersystem. Da weiter kurz
vor jedem Schreibvorgang ein Lesevorgang durchgeführt wird, lässt sich ein Uberfüllungszustand leicht detektieren,
Es ist vorteilhaft, wenn ein Darstellungszähler
vorgesehen ist, der mit einem Schreibsteuersignal eine Erhöhungssignal empfängt und von dem ein Zählerstandausgang
mit dem bidirektionalen Bus verbindbar ist. Ein derartiger Darstellungszähler kann mit der Gesamtzahl sortierter Darstellungen
Schritt halten, was für eine Benutzeranordnung eine vorteilhafte Information sein kann, beispielsweise
zur Bestimmung des erforderlichen Speicherraums zum Speichern der sortierten Datenwörter nach dem Sortiervorgang
(in dem Sortierer wird die Speicherkapazität nahezu nie optimal ausgenutzt, und ausserdem ist beispielsweise
der Befehl "suche den achtgrössten Wert" nur schwer implementierbar,
in diesem letzten Fall ist eine Speicherung in einem direkt adressierbaren Speicher vorteilhafter).
Es ist vorteilhaft, wenn ein zweiter bidirektionaler Bus vorgesehen ist, der mit dem Speicher zusammen
O \»<
T w w T „ „ . , · » » « „
μ b s· ι* *» ¥tf #· 9% «*
PHN 10 4.54 ^ r 30.6.1983
mit der Darstellung ein Anzeigeadresswort für einen weiteren Speicher kommuniziert, wobei für die Speicherung des Anzeigeadressworts
je Adresse des erstgenannten Speichers genügend Raum vorhanden ist. Ein derartiges Anzeigeadresswort
liefert beispielsweise eine Adresse, an der eine vernal tnismässig grosse Informationsmenge gespeichert ist. So
können beispielsweise lange Datenwörter (beispielsweise um 4 Bytes lang) oder sogar Datenblöcke auf Argument sortiert
werden. Selbstverständlich kann hinsichtlich der Anzeigeadresse eines der an sich bekannten Adressierungsverfahren,
indirekt oder auf andere Weise, implementiert sein.
Es ist vorteilhaft, wenn der Speicher je Adresse eine Kapazität zumindest für zxvei Darstellungen besitzt und
eine Reihenfolge-Steuerschaltung vorgesehen ist, die beim
Schreiben die Kapazität einer Adressteile sequentiell füllt bzw. beim Lesen sequentiell leert. So können auch Speicherbestände
mit gleichen Datenwörtern sortiert werden.
Es ist vorteilhaft, wenn der Sortierer vollständig in eine einzige integrierte Schaltung aufgenommen ist.
Dies ergibt einen vorteilhaften Teil zum Aufnehmen in einen
sog. Einkarten-Mikrοcomputer. Ein derartiger Sortierer kann
auch zusammen mit einem Datenprozessor in eine einzige integrierte Schaltung aufgenommen sein.
Die Erfindung bezieht sich weiter auf einen integrierten Datenverarbeitungsprozessor, dadurch gekennzeichnet^
dass ein Sortierer zum schnellen Sortieren von Datenwörtern mitintegriert ist, der einen Dateneingang für die Datenwörter
und einen Speicher, dessen einer Adresseingang vom ersten Dateneingang gespeist und dessen zweiter Dateneingang
zum Speichern einer Darstellung dieses Datenworts aktiviert wird, und ferner Lesemittel zum Lesen der gespeicherten
Darstellung nach einer Adressreihenfolge enthält und darauf die jeder Darstellung zugeordnete Speicheradresse
an einem Datenausgang neu darstellt, wobei der Sortierer als ersten Dateneingang und Datenausgang einen
bidirektionalen Bus enthält, der an eine der inneren Busleitungen des Datenverarbeitungsprozessors angeschlossen
ist, sowie Steuereingänge zum Empfangen von Lösdhsteuer-,
β η «ι
te β m α
te β m α
PHN 10 k5k / 30.6.1983
Reihenfolgericlitungs- und Adressrückstellsignaien und
Steuerausgänge zum Abgeben eines Beendungssignals und eines Uberfüllungssignals als Statussignale, wobei an
den Bus ein von einem Oszillator zu speisender Zähler angeschlossen ist, der am Zählerausgang die Adressen des
Speichers nacheinander abgibt, mit Eingängen die die Reihenfolgerichtungs- und Adressrückstellsignale empfängt,
mit einem Zusatzausgang für das Beendungssignal und weiter mit einem Blockierungsmittel, das beim Abgeben einer Speicheradesse,
die im Speicher eine gültige Darstellung anzeigt, unter der Steuerung dieser Darstellung das Weiterzählen
der Oszillatorsignale blockiert und darauf ein "Lesebereit"-Signal abgibt und einen Rucksteileingang besitzt,
der unter der Steuerung eines Lesesignals bei vollständigem Lesen des Inhalts einer Speicheradresse den
Blockierungsvorgang beendet, dass die Speicheranordnung weiter mit einem Verzögerungselement versehen ist, das
einen empfangenen Schreibbefehl verzögert und dabei unter
der Steuerung eines Aktivierungssignals vorübergehend eine Leseoperation durchführt, und dass eine Detektionsschaltung
vorgesehen ist, die dabei unter der Steuerung der gelesenen früher gespeicherten Darstellung und des zuletzt empfangenen
Schreibbefehls selektiv das Uberfüllungssignal bildet.
Dies kann ein sog. Nikroprozessor für allgemeine Zwecke, aber auch ein Datenverarbeitungsprozessor für besondere
Zwecke sein. Einige Beispiele sind ein Datenbankprozessor, ein Signalverarbeitungsprozessor und Eingabe/Ausgabeprozessor
„ An sich sind die Funktionen derartiger spezifischer Prozessoren für diesen Zweck nicht einmalig, aber häufig
ist eine Optimierung erfolgt zur Verwirklichung einer richtigen Anpassung des Preises an die Leistung. Di?? Sortierfunktion bietet häufig eine vorteilhafte Verbesserung bzw.
eine vorteilhafte Erweiterung der Leistungen.
Ausführungsbeispiele der Erfindung werden nach-
stehend an Hand der Zeichnung näher erläutert. Es zeigen Fig. 1 ein Rechnersystem, in das ein erfindungsge.-r.
mässer schneller Sortierer aufgenommen ist,·
Fig. 2 einen schnellen Sortierer nach der Erfindung
PHN IO 1I 54 y Λ 30. ό. 1
im Blockschaltbild,
Fig. 3 eine Zusammenschaltung mehrerer Sortierer,
Fig·. 4 eine weiter ausgearbeitete Schaltung eines Sor tierers,
Fig. 5a, 5t>
eine Erweiterung der Schaltung nach Fig. 4, wodurch die Möglichkeit zum Sortieren gleicher
Datenwörter gegeben ist,
Fig. 6 ein Layout eines Sortierers in der Ausführung als integrierte Schaltung.
Jn Fig. 1 ist ein Rechnersystem dargestellt, in das
ein schneller Sortierer nach der Erfindung aufgenommen ist. Das Rechnersystem enthält einen Prozessor 20, beispielsweise
einen üblichen Mikrocomputer. Die innere Kommunikation im Reeimersystem erfolgt über einen Datenbus 32, beispielsweise
mit einer Breite von 8 Bits, einen Adressbus 34, beispielsweise
mit einer Breite von 16 Bits, und einen Steuerbus zum Übertragen von Steuersignalen. Der Kürze halber wird
die Art dieser Steuersignale nachstehend nur insofern die Steuerung des schnellen Sortierers dies erfordert, beschrieben.
Das Rechnersystem enthält weiter einen Hauptspeicher mit einer Kapazität beispielsweise von 64 kBytes. Wie nachstehend
näher erörtert, wird eine der Adressteilen vom schnellen Sortierer praktisch verdoppelt und also jene
im Speicher 22 nicht benutzt. Der Rechner enthält weiter ein XO/Untersystem 24 für die Kommunikation mit der Aussenwelt
bzw. als Sekundärspeicherung. Teile davon können also
ein Magnetplattenspeicher, eine Tastenfeldanordnung, eine
Datenkommunikationseinheit und eine Videodarstellungsanordnung sein. Die Steuerelemente des Speichers und des
IO/Untersystems sind nicht dargestellt. Schliesslxch
enthält das Rechnersystem einen schnellen Sortierer 26. Dieser Sortierer ist an die entsprechenden Busleitungen
angeschlossen. Dafür ist ein Adressdecoder 30 vorgesehen,
der an den Adressenbus 3k zum Detektieren einer vorgegebenen Speicheradresse angeschlossen ist. Ein Aktivierungssignal
wird aus dem Steuerbus 36 über die Leitung 42 zugeführt.
So wird der schnelle Sortierer an dieser vorgegebenen Speicheradresse abgebildet. Das Aktivierungssignal wird
PHN 10 454 j6~ q 30.O.1983
gebildet, wenn ein Speicherzugriff verwirklicht wird. Wenn die betreffende vorgegebene Speicheradresse tatsächlich
im Adressbus vorhanden ist, erzeugt der Decoder 30 ein sekundäres Aktivierungssignal auf der Leitung 38 zum
schnellen Sortierer 26, so dass darin ein Lese- bzw. Schreibvorgang durchführbar wird. Weiter ist ein Datenpufferspeicher
28 vorgesehen, der an den Datenbus 32 zur Pufferung
eines Datenworts in zwei Richtungen angeschlossen ist. Dieser Pufferspeicher kann als ein Dreizuständenpuffer aus-
^ geführt sein mit den drei Zuständen "Niedrig", "hoch", bzw.
*Von einer hohen Impedanz abgeschlossen". Der Datenpufferspeicher
28 ist über den Bus 40 an den schnellen Sortierer angeschlossen. In der Praxis ist der Datenpufferspeicher 28
ein Teil des schnellen Sortierers 26, so dass nach Bedarf
'5 das vollständige Untersystem der Elemente 26, 28 und 4θ
eine einzige integrierte Schaltung bildet. Das Signal auf der Leitung 44 arbeitet als Steuersignal für den Datenpufferspeicher
28, beispielsweise als Schreib/Lesesteuersignal«, In der dargestellten Ausführungsform ist ein einziger
u Prozessor 20 vorgesehen. Das Rechnersys tem kann weiter dazu
ausgeführt sein, mehrere Aufgaben in schneller Abwechslung durchzuführen. Weiter kann es auch mit einem verteilten
Prozessor ausgeführt sein. Diese Themen werden nicht näher beschrieben, wenn sie keine direkte Auswirkung auf den
schnellen Sortierer haben. Die dargestellte Schaltung kann so ausgeführt sein, dass die Untersysteme 20, 22, 24, 26,
je eine integrierte Schaltung bilden. Es ist weiter möglich dass die Untersysteme 20, 24, 26, 28, 30 zusammen als eine
integrierte Schaltung ausgeführt sind. Schliesslich kann auch die ganze Schaltung nach Fig„ 1 als integrierte Schaltung
ausgeführt sein. Der Prozessor 20, gegebenenfalls zusammen mit Untersystemen 26 (28) integriert, kann auf die
Art eines Mikroprozessors für allgemeine Zwecke analog einem Mikroprozessor "265Ο" von Signetics Corporation,
ausgeführt sein. Er, kann auch ein Signalprozessor der Art
eines 8x300-Prozessors der gleichen Firma sein. Er kann auch ein sog. Datenbankprozessor sein, der als wichtigste
Funktionen das Sortieren, Auswählen, Zusammenfügen und
J J
PHN ίο h5h X* its 30.0.1983
Durchsuchen von Datenbanken hat. An sich sind die letztgenannten
Funktionen bekannt.
Nachstehend werden einige bevorzugte Ausführungsfornien
beschrieben, zunächst auf Systemniveau im Blockschaltbild
und anschliessend als Kombination einer Anzahl logischer Bausteine und schliesslich in einer einzigen integrierten
Schaltung schematisch konfiguriert.
In Fig. 2 ist ein erfindungsgemässer schneller Sortierer im Blockschaltbild dargestellt. In dem herkömmliehen
Gehäuse 50 des integrierten Schaltungsblocks befindet
sich das eigentliche Speicherelement 52· Es ist ein Schreib/-Lesespeicher
mit wahlfreiem Zugriff und mit einer Kapazität von 23O Wörtern von je 1 Bit. Der Adresseingang ist an den
bidirektionalen inneren Bus ^h angeschlossen, der eine Breite
'^ von 8 Bits hat und an den sekundären Bus 4o nach Fig. 1
angeschlossen ist. Es sind insbesondere drei eigehende
Steuerleitungen angegeben. Die Steuerleitung 56 führt ein
Schreib/Lesesteuersignal und wird von der betreffenden Verbindung des Busses 36 angesteuert. Die Steuerleitung 58
i'ührt ein zweiwertiges Signal D/C, das angibt, ob ein am
Bus 3-1 erscheinendes Wort die Bedeutung "Daten" oder die Bedeutung "Steuerwort" hat. Beide Bedeutungen können sich
auf beide Transportrichtungen beziehen. Die Steuerleitung führt ein zweiwertiges Signal CS (chip select), das angibt,
ob der schnelle Sortierer möglicherweise ausgewählt wird. Letzteres ist also beispielsweise das auf der Leitung 38
in Fig. 1 erscheinende Signal. Das Element 62 ist ein Steuerdecoder, der die Signale der Leitungen 56, 58, 60
empfängt und den übrigen Elementen des Sortierers Steuersignale zuführt. Der Kürze halber sind synchronisierende
Taktsignale, das Signal "chip enable", das den Sortierer freigibt, Synchronisationsverzahnungssignale (handshake)
und weitere Ausgangsanschlüsse des Decoders 62 nicht angegeben.
Der Sortierer atbeitet nunmehr wie folgt bei Datenwörtern
:
- beim Schreibvorgang wird ein Bit in die von den Daten adressierte Speicherstelle im Speicher 32 geschrieben,
PHN 10 454 £r .. 1-7-1983
- beim Lesevorgang wird der Zählerstand des Adresszählers
64, der eine gefüllte Adressteile angibt, als Daten am Bus 54 an die Benutzeranordnung abgegeben; die betreffende
Adress-stelle kann noch gelöscht werden, aber dies ist in dieser Verwirklichung nicht vorgesehen.
Die Wirkung ist folgendes
Zunächst wird ein Befehlswort in das Befehlsregister 66 gespeichert,
das an den Bus 5^ angeschlossen ist. Das Register
66 wird von einem Ladesteuersignal auf der Leitung 68 geladen, welches vom Decoder 62 gebildet worden ist. Das
Befehlsregister 66 erzeugt auf der Mehrfachleitung 70 weitere
Steuersignale, ggf· mit Hilfe eines nicht dargestellten Befehlsdecoders. Es handelt sich hier beispielsweise
um die Steuersignales
"Löschen" (clear) des Speicherinhalts; "Zeiger rückstellen" (reset pointer), und zwar im Zähler 64;
"Sortierkriterium" (u.zw. nach ansteigender oder absinkender
Grosse);
sowie auf der Leitung 72 ein Auswahlsignal für den Multiplexer 74. Dieses letzte Signal hat zumindest drei .zulässige Werte, die die Signale auf der Mehrfachleitung 76, die Signale a,uf der Mehrfachleitung 78 bzw. keines dieser Signale zum Bus ^h durchlassen. Bei obigen Signalen müssen das Sortierkriterium und das Rückstellen des Zeigers erst beim Starten des Lesevorgangs aktiviert werden.
sowie auf der Leitung 72 ein Auswahlsignal für den Multiplexer 74. Dieses letzte Signal hat zumindest drei .zulässige Werte, die die Signale auf der Mehrfachleitung 76, die Signale a,uf der Mehrfachleitung 78 bzw. keines dieser Signale zum Bus ^h durchlassen. Bei obigen Signalen müssen das Sortierkriterium und das Rückstellen des Zeigers erst beim Starten des Lesevorgangs aktiviert werden.
Der Speicher $2 wird von den Signalen am Bus 5^
adressiert. Der Dateneingang DIN wird (invertiert) durch das Löschsignal aus dem Befehlsregister 66 gespeist, das den
generellen Löschvorgang steuert (general reset). Anschliessend kann der Schreibvorgang anfangen. Das Schreibfreigabesignal
wird aus dem Schreibsignal abgeleitet (mit "Daten" und Auswahlsignal CS), das im Decoder 62 ankommt. Die Notwendigkeit
des Verzögerungselements 80 wird weiter unten näher erläutert. Beim Schreiben ist das Signal "Löschen"
gleich Null, so dass jeweils eine "1";gespeichert wird. So
können also 256 verschiedene Wörter (Bytes) sortiert werden,
ohne dass eine Verwirrung auftritt. Wenn zwei gleiche Bytes nacheinander ankommen, geschieht jedoch folgendes!
PHN 10 454 £>- .- 30.6.1983
/Λ -
Wenn das zweite Byte ankommt, wird erneut die gleiche Stelle im Speichel' 52 adressiert. Das Schreibsteuersignal ¥EN wird
jedoch vom Verzögerungselement 80 über eine Zeit verzögert, die in bezug auf die Länge eines Speicherzyklus gering ist,
und dadurch wird erst stets ein Lesevorgang durchgeführt. Venn dabei eine bestimmte Speicherstelle zum zweiten Male
gefüllt werden müsste, wird zunächst eine "1" gelesen, die in der Umkehrstufe (D-Flipflop) 82 unter der Mitsteuerung
durch ein nicht verzögertes Synchronisationssignal auf der Leitung 84 gespeichert wird. Eine "1" auf der Leitung 87
signalisiert ein auftretendes Duplikat und arbeitet also als Uberfüllungssignal (OLBYT). Es wird als Statusbit Über die
Mehrfachleitung 76 dem Multiplexer Jk zugeführt (der jedoch
in einem Schreibvorgang ununterbrochen undurchlässig ist).
Das Signal auf der Leitung 84 wird weiter dem Vorwärtszähleingang
des Zählers 86 zugeführt, der dadurch, wenn keine Duplikate erhalten worden sind, die Anzahl der im Speicher
geschriebenen "1"-Bits notiert. Diese Anzahl kann über den Multiplexer 74 und den Bus 54 gelesen werden und beispielsweise
dem Prozessor 20 in Fig, 1 zugeführt werden.
Beim Lesen hat das Signal "Löschen" (clear) den Wert 0. Die Adressierung erfolgt jetzt jedoch durch den
Adresszähler 64, während durch die Abwesenheit eines Schreibsteuersignals
für den Speicher 52 seine Adressen nacheinander nicht destruktiv gelesen werden. Das Erhöhen des
Adresszählers 64 erfolgt durch die Impulse des Oszillators, die eine höhere Frequenz besitzen, als der Länge eines
Speicherzugriffszyklus entspricht (wie vom Speicher 22 in
Fig. I bestimmt) beispielsweise um das Zehnfache höher.
Der Lesezyklus fängt dadurch an, dass der Zähler 64 am Eingang 90 ein Signal "Rückstellung des Zeigers" und am
Eingang ^2 das Sortierkriterium empfängt. Wenn das Sortierkriterium
"ansteigend" ist, wird der Zähler· auf "Null" gestellt. Ist das Sortierkriterium "abfallend", wird der
Zähler 64 auf"255" eingestellt. Die Impulse des Oszillators
88 arbeiten in diesen Fällen als Vorwärtszählimpulse
bzw. Rückwärtszählimpulse. Solange jeweils eine leere
Speicherstelle gelesen wird, geschieht nichts. Sobald
PHN 10 k5h 4·©- 30.6.1983
jedoch eine Speicherstelle mit einer "1" gelesen wird, wird
der Setz/Rück s teil— Flipflop 9k gesetzt. Das Ausgangs signal Γ)
davon arbeitet dabei zunächst als Blockierungssignal für den Zähler 64, so dass er gesperrt xvird. Weiter arbeitet
dasselbe Lesesignal am Ausgang 96 als Signalisierung einer
Bereitschaftsstellung (ROY), in der der Stand des Zählers
zum Lesen zur Verfügung steht. Wenn anschliessend ein Lesesteuersignal empfangen wird-(RD), wird der Flipflop 9k
wieder rückgestellt und kann der Zähler 64 weiterzahlen, bis erneut eine gefüllte Adressteile adressiert wird. Wenn
der Zähler 64 vollgezählt bzw. leergezählt ist, erscheint am Ausgang 98 ein Ausgangsübertragsignal, das mit dem Ausgangssignal
des Ausgangs 86 des Flipflops 82 als Statussignal arbeitet. Diese Statussignale können wie der Stand
des Zählers 86 über den Multiplexer 74 gelesen werden.
In Fig. 3 ist eine Zusammenschaltung mehrerer Sortierer
dargestellt, in dem je Speicheradresse mehrere Bits gespeichert werden können. Diese Sortierer sind zum gross ten
Teil parallelgeschaltet und auf diese Weise mit der Datenleitung I06 (54), den Steuereingängen 108 {56), 110 (38) und
112 (όο) und dem Signalisierungsausgang 114 (96) verbunden.
Die innere Signalisierung ist wie bei Fig. 2 beschrieben, und es werden die entsprechenden Bezugsziffern verwendet.
Die Leitung 114 bildet mit Hilfe des an eine positive Speisespannung angeschlossenen Widerstands 116 eine verdrahtete
"ODER"-Schaltung: Das "Bereit"-Signal erscheint
also am Ausgang 114, wenn in einem der parallelgeschalteten Sortierern ein "Bereit"-Zustand entsteht.
Das aufeinanderfolgende Vollschreiben von Speicherstellen
(zunächst Sortierer 100, dann 102, 104) bei auftretenden Duplikatadressen erfolgt durch eine Reihenfolgesteuerschaltung
wie folgt: Auf der Leitung 118 erscheint das Signal "chip select", das bereits früher erwähnt wurde
(Eingang 60 in Fig. 2). Das Signal DOUT (des Speichers in Figo 2) wird über die bidirektionale Leitung 120 herausgeführt.
Beim Schreiben wird die Führungsrichtung von links nach rechts in der Figur gesteuert, beispielsweise
durch betreffende Steuerung der Anschlusspuffer in den
O | 454 | U | - | η- | |
PHN | 10 | ||||
1-7-1983
entsprechenden Speichern 100 ... 1Ο4 vom r/w - Signal.
Beim Schreiben arbeitet das Signal auf der Leitung 120 als "chip select"-Signal für den Sortierer 102 und so weiter
nach rechts. Durch die normalen Verzögerungsζeiten wird
bei jedem Schreibzyklus nur in höchstens einem Sortierer geschrieben. Das Ueberfüllungssignal des letzten Sortierers
104 auf der Leitung 124 arbeitet nunmehr als Ueberfüllungssignal für die ganze Zusammenschaltung.
Beim Lesen werden die Anschlusspuffer nur im Betrieb
von rechts nach links aktiviert. Dabei muss der Lesevorgang destruktiv erfolgen. Das Signal auf der Leitung
für den Sortierer 104 wird dabei von einer nicht dargestellten Signalquelle auf dem richtigen Wert gehalten. Nur von
dem Sortierer 100 gibt der Zähler 86 die richtige Anzahl insgesamt erhaltener Adressen an. Manchmal muss die Zählerkapazität
angepasst werden, beispielsweise dadurch, dass ein zusätzliches Statusbit (Leitung J6) als zusätzliches
bedeutsameres Zählerbit zugefügt wird. Das Signal "lies" wird dem am weitesten rechts liegenden Sortierer direkt
zugeführt. Nur von dem am weitesten links liegenden Sortierer wird der Adresszähler aktiviert, so dass alle Sortierer
über den Bus 1θ6 die gleiche Adresse "sehen". ¥enn von dem am weitesten rechts liegenden Sortierer eine Stelle gefüllt
ist, gibt er über den Flipflop 94 das "Bereif'-Signal ab
(der Adresszähler entaktiviert). Das invertierte Signal DOUT gelangt nunmehr zum benachbarten linken Sortierer
als Freigäbesignal CO, so dass letztgenannter Sortierer nur
gelesen wird, wenn alle weiter nach rechts liegenden Einheiten bereits gelesen worden sind.
In Fig. 4 ist eine detailliertere Schaltung eines Sortierers auf dem Niveau einer sog. Brettschaltung dargestellt,
die beim Entwerfen allgemein üblich ist. So können die erforderlichen logischen Elemente und Steuerleitungen
leicht aufgebaut werden. Die Schaltung enthält einen bidirektionalen Bus 120 mit einer Breite von 8 Bits. Er ist über
eine Pufferschaltung 122 vom Typ SN 74 S 244 (Herstellung
AMD-Corporation) mit einem zweiten Bus 124 verbunden. Der zweite Bus ist mit einem Adresseingang des Speichers 126
PHN 10 454 Y^ 3O.O.1S>83
verbunden. Der nur in einer Richtung arbeitende Puffer (siehe bei den Zählern 130 und 132) wird vom Signal Ιλτ3
aktiviert. Letzteres ist eines der vom Decoder 62 in Fig.2 zu liefernden Signale, aber dieser Decoder ist für eine
leichtere Prüfbarkeit in diesem Entxvurf weggelassen. Der Speicher 126 ist vom Typ D2125 111 (Herstellung INTEL-Corporation),
Das Element 128 ist ein Oszillator vom Typ 74 S
(Herstellung Texas Instruments Corporation), von dem nur eine Hälfte verwendet wird. Durch einen Kondensator von 22pF
wird eine Oszillatorfrequenz von etwa 10 MHz verwirklicht.
Der Oszillator 128 treibt zwei in Serie geschaltete Vierbitzähler 130 und 132 vom Typ 74 S 169 (Tl) an, der Übertrag
des Zählers 130 gelangt über das ODER-Gatter 134 (74 S 32,
Herstellung Signetics Corporation, das vier derartige ODER-Gatter enthält) zugeführt. Der Übertragung des Zählers
wird über das ODER-Gatter 136 (wie 134) und die Umkehrstufe 138 (74 SO4, Signetics, dieser enthält sech« derartiger
Umkehrstufen) herausgeführt. So wird das Vollzählsignal
(und das umgekehrte davon) gebildet, wenn beide Zähler vollgezählt sind. Dieses Signal LSTBYT gibt also die
Vollendung eines Lesevorgangs an. Von einem anderen Signal des Steuerdecoders 0UT3 können die Zähler I30 und 132 mit
einem Zählerstand am Bus 120 geladen werden. So kann eine beliebige Anfangsadresse von aussen her zugeführt werden.
Das Signal CRIT bestimmt die Zählrichtung. Das Signal RDY sperrt den Zählvorgang der beiden Zähler. Das Signal TC
des Zählers 130 arbeitet als Freigabesignal zum Weiterzählen
des Zählers 132 um nur eine Einheit (danach verschwindet
dieses Signal TC).
Das Element 14O ist das Befehlsregister und vom
Typ SN 74 LS 374 (AMD), das vom Signal 0UT2 getaktet wird
und die Signale P/S, CLEAR, CRIT und ein Auswahlsignal
für das Element 142 erzeugt. Das Signal P/D gibt an, ob
ein zu empfangendes 8-Bitwort als Anzeigeinformation (Zeiger)
oder als Datenwort arbeitet. Das Signal CLEAR steuert einen Löschvorgang im Speicher 126. Das Signal am Ausgang 2
steuert das Element 142, einen Demultiplexer vom Typ SN 74 LS
257 (Tl., zwei Bausteine in Parallelschaltung), der vom
OOOHOUH
PHN 10 454 1>~ 30.6.1983
Signal 1N2 aktiviert wird. An den rechten Eingängen werden verschiedene Statusbits empfangen, wie LSTBYT (Umkehrstufe
138), DOUT (Speicher 126) und OLBYT (Flipflop 158). Die linken Eingänge des Demultiplexers 142 werden vom
Zähler i44 gespeist. Er ist ein Zähler vom Typ SN 74393 (T.l)
der die Anzahl der empfangenen Adressen notiert; faktisch sind es zwei hintereinander geschaltete Vierbitzähler. Das
ODER-Gatter 146 (wie ODER-Gatter 134) bildet aus dem Signal
D2 oder 0UT2 das invertierte Rückstellsignal CLEAR. Es wird von der Umkehrstufe 148 (wie Umkehrstufe 138) zum
Rückstellsignal CLEAR invertiert, wodurch der Zähler 144
rückstellbar ist. Der Zähleingang 13 wird von dem viertletzten Ausgangsbit D3 gespeist und der Zähleingang 1 wird
von einer Anzahl von Steuerelementen gespeist, die wie
'^ föliyfc angeordnet sind.
Das ODER-Gatter I50 (wie ODER-Gatter 134) empfängt
die Signale 0UT3 und P/B. Der Wert dieses letzten Befehlssignals gibt an, ob die in die Zähler I30 bis 132 einzuspeisende
Information einen Zeiger betrifft. Ein Widerstand I52 und ein Kondensator 154 mit entsprechenden Werten
bewirken eine Verzögerungszeit von etwa I50 NanoSekunden.
Das UND-Gatter 156 ist vom Typ 74 S 08 (Signetics, dieser
Baustein enthält vier UND-Gatter), das auch das Signal CLEAR empfängt, das das Gatter 146 gebildet hat. Das
Gatter 156 bildet so das Schreibfreigabesignal WE für
den Speicher 126. Das Ausgangssignal des Gatters I56 arbeitet
als Taktsignal für den JK-Flipflop I58 vom Typ 74 S 112
(Signetics). Er empfängt das gelesene Datensignal (Darstellung)™DÖUT
des Speichers 126 auch über die Umkehrstufe
100 (wie Umkehrstufe I38). So kann das Uberfullungssignal
OLBYT gebildet werden. Das Signal CLEAR setzt den Flipflop 158 zurück. Das Schreibfreigabesignal WE wird mit dem
Signal, das den nicht überfüllten Zustand angibt, dem UND-Gatter 102 zugeführt (wie UND-Gatter I56) . Über dx3
Um.ko.hr-ituf·.; 164 ( rfie Umkohrstuf a 138) wird das Zählsigrial
für den Zähler 144 dabei gebildet: Wenn das Uberfüllungssignal
erschienen ist, zählt dieser letzte Zähler also nicht Tielir weiter, so dass die Implementierung etwas and ο rs
fc a ·
333Α60Λ ^
PHN 10 'f-54 Pf 30.6. 1083
als in Fig. 2 ist.
Das "Bereit"-Signal RDY wird wie folgt gebildet. Am Eingang I66 kommt ein Steuersignal IN3 an, das, wie
bereits früher erwähnt, von einem nicht dargestellten Steuerdecoder gebildet ist. Dieses Signal wird sowohl
direkt als über die Umkehrstufe 168 (wie die Umkehrstufe 138) den unterschiedlichen Dateneingängen des JK Flipflops
170 zugeführt (die Hälfte des Bausteins vom Typ 74 S 112,
AMD). Dieser Flipflop wird vom Ausgangssignal des Oszillators
128 getaktet. Direkt bzw. über das UND-Gatter 174 (wie das UND-Gatter I56) werden die Ausgänge des Flipflops
170 mit den Eingängen des Flipflops 176 (wie Flipflop I70)
gekoppelt. Das UND-Gatter 174 empfängt weiter das Signal
DOUT. Die Flipflops 170 und 176 empfangen als Ruckstellsignal
das Signal CLEAR. Schliesslich ist das NICHT-UND-Gatter 1J2 zwischengeschaltet (Baustein N Jk S 10 von
Signetics enthält drei derartiger Gatter). Dieses Gatter empfängt noch ein Blockierungssignal LSTBYT und erzeugt
das Signal RDY, das weiter noch die Zähler I30 und 132
2" steuert.
Es ist möglich, die Lösung nach Fig. 4 zu erweitern, so dass auch Platz zum Speichern von Anzeigeadresswörtern
entsteht. Dabei gibt es z\i/ei Möglichkeiten. Zunächst kann
ein 16 Bits breiter Datenanschluss vorgesehen werden, von
^ denen 8 Bits als Adresse für den Speicher 120 benutzt werden,
Die xveiteren 8 Bits werden dabei für einen weiteren Speicher verwendet, der eine Kapazität von 256 Wörter von je 8 Bits
hat und zusammen mit dem bereits erwähnten Speicher 126
adressiert wird. Die Gesamtspeicherkapazität beträgt also
3^ 256 Wörter νοϊΐ je 9 Bits. Weiter ist es möglich, mit einem
8 Bit breiten Datenpfad auszukommen, aber dabei müssen die Adressen für den Speicher 126 und die Anzeigeadresswörter
in einer ZeitverSchachtelungsorganisation zugeführt werden.
In diesem Fall sind ein Flipflop, der die Phase der Zeit-
verschachtelung angibt, ein in zwei Richtungen arbeitender Multiplexer/Demultiplexer zum Zuführen der aktuellen Adresse
bzw» des Anzeigeadressworts zum richtigen Benutzer und ein Register erforderlich, das das eigentliche Adresswort für
PHN 10 454 V*r 30.6. 1083
den Speiclier so lange speichert, bis das Anzeigeadresswort
angekommen ist. An sich ist eine Verschachtelung von Adressen
ausreichend aus der Technik dynamischer 4k- ynd 1<5k RAM-Speicher
bekannt. Das Anzeigeadresswort kann eine weitere Speicherstelle adressieren, beispielsweise eine Segmenttabelle.
Der zusätzliche Platz kann auch zur Speicherung von Niclit-Adressinforraation benutzt werden. Mit einem 9 Bit
breiten Speicher können dabei 16 Bits Datenwörter nach einem 8-BitSchlüssel sortiert werden.
IQ In Fig. 5a und 5b ist eine andere Erweiterung der
Schaltung nach Fig. 4 dargestellt, so dass es möglich ist,
höchstens sechzehn gleiche Datenwörter zu empfangen und an der betreffenden Speicheradresse eine Füllgradanzeige
zu notieren. In Fig. 5& ist ein erster Teil der Erweiterung
dargestellt. Das Element 142 ist der bereits genannte Multiplexer, der weiter lvie in Fig. 4 gesteuert wird. Der
Ge saint zähl er 144 ist über den Eingang 13 xvieder rückgekoppelt.
Der Zähleingang 1 wird jetzt jedoch direkt vom ODEK-Gatter 184 gespeist (wie ODER-Gatter 136 in Fig. 4),
Jas übrigens die gleichen Eingangssignale wie das ODER-Gatter
150 in Fig. 4 empfängt. Es kann also auch das ODER-Gatter
150 selbst sein; dabei erfüllen dann die zwischengeschalteten
Elemente nach Fig. 4 keine Funktion. Das Ausgangsgatter WDATA des Gatters 184 arbeitet weiter als
Schreibsteuersignal für die Dateninförmation: Dies wird
also in der Schaltung nach Fig. 5b ausgenutzt. ¥eiter enthält die Schaltung einen zweiten Zähler 186 (-vom gleichen
Typ wie der Zähler 144), der vom bedeutsamsten Bit am Ausgang des Zählers 144 gesteuert wird. Von diesem Baustein
braucht jedoch nur ein binärer 4-Bitzähler verwendet zu werden, so dass auf der Leitung 190 die vier bedeutsamsten
Bit der Zahl erscheinen, die die Gesamtzahl sortierter Elemente angibt. Die Inhalte der Zähler 144 und 186 werden
in einer Zeitverschachtelungsorganisation nach Bedarf dem Bus 120 zugeführt. Als unbedeutsamste Tetrade werden auf
der Leitung 188 das bereits erwähnte Signal LSTBYT und die weiter unten zu beschreibenden Signale DM und FULL zugeführt.
Die Zählerstellungen der Zähler 144 und 186 werden parallel
ίο 454 y* 30.0.1983
gelöscht durch, das Signal CLEAIt.
In Fig« 5to ist die Erweiterung der eigentlichen
Informationsspeicherung dargestellt. Diese Informationsspeicherung
erfolgt im Speicher 200 mit einer Kapazität von 256 Wörtern von je 4 Bit (vier Moduln wie der Speicher
parallel geschaltet). Beim Einschreiben wird \vie bereits erwähnt, zunächst ein Lesevorgang durchgeführt, so dass
die adressierte Tetrade auf der Leitung 202 erscheint und dem Addierer 204 zugeführt wird. In dieser Ausführung ist
es ein binärer 4-Bit-Zähler vom Typ SN 74 S I69 (T.I.).
Am Stift I erscheint das Signal IN 3 (1 zum Schreiben, 0 zum
Lesen), das die Zahlrichtung steuert. Der Anschluss 2 erhält das Oszillatorsignal, das Signal am Stift 9 steuert
das Einschreiben des Zählstands, die Signale an den An-Schlüssen 7 und 10 geben den Inkrementvorgang frei. Am
Anschluss 15 erscheint ein Ausgangsübertragsignal (das als
Uberfüllungssignal über die Umkehrstufe 206 (wie Umkehrstufe 138) arbeitet und dann das Weiterinkrementieren blokkiert.
Das Ansteuern des Zählers 204 geht weiter xvie folgt:
Das Ansteuern des Zählers 204 geht weiter xvie folgt:
Das UND-Gatter 208 (wie UND-Gatter I50) empfängt die Signale
IN3 und WDATA (letzteres aus der Schaltung nach Fig. 5a).
Dabei werden die beiden Datenflipflops 210 und 212 (zusammen ein Baustein vom Typ 74 S 74 (T.I.)) unter der
Synchronisation vom Taktsignal zum Erregen des Bausteins gesetzt. Dieser letzte Baustein ist ein 4-Bit-Schieberegister
mit parallelen Ein/Ausgängen. Es arbeitet als programmierender Zähler. Durch das Laden xiiird nur am Ausgang
4 ein niedriges Signal gespeichert, das dabei direkt am nicht verbundenen Ausgang I5 erscheint. Die Schiebesteuerung
erfolgt durch die Oszillatorimpulse, die die Umkehrstufe 217 (wie Umkehrstufe I38) invertiert. Die JK-Eingänge
werden von einem hohen Signal erregt. So werden also nacheinander die Ausgänge 14, 13 und 12 des Schieberegisters
214 niedrig, die nacheinander das Laden des Zählers 204, seine Inkrementierung und Dekrementierung und
das Rückschreiben der geänderten Daten in den Speicher steuern. Für dieses Rückschreiben sind noch ein UND-Gatter 2lö
ο ο ο * ο υ *
PHN 10 4j4 y} 30.6.1983
"(wie UND-Gatter 156) und ein vierfaches UND-Gatter 136, die
gemeinsam gesteuert werden). Das Durchlässigkeitssignal ist das Signal CLEAR. Das Rückstellen des Flipflops 212 erfolgt
durch das "Bereit"-Signal (ROY). Die Schaltelemente
132, 154, 156, 158, 160, 162, 164 nach Fig. 4 sind in
dieser Ausführung also fortgelassen. Das Schieberegister
arbeitet jetzt als verzögerndes Element. Beim Lesen erfolgen die meisten Vorgänge wie an Hand der Fig. 4 beschrieben
wurde. Die Ausgangsinformation des Speichers 200 werden in drei ODER-Gattern 220, 222 und 224 (wie ODER-Gatter 136)
zusammengefasst. Solange die Tetrade nicht den Wert "0" hat,
erscheint hier das Signal DM^O, das in Fig. 5a herangezogen
wurde. Solange dieses Signal beim Lesen den Wert "1" hat, enthält die adressierte Speicherstelle zumindest noch eine
Darstellung eines Datenworts.
Unter der Steuerung des Signals IN3 wird das Signal
DM im JK-Flipflop 226 (wie JK-Flipflop 170) auch über die
Umkehrstufe 228 (wie Umkehrstufe I38) gespeichert. Über das
'ODER-Gatter 230 (wie ODER-Gatter I36) und die Umkehrstufe
232 (wie Umkehrstufe 138) werden noch zwei Steuersignale
gebildet. Sie gelangen an die Eingänge des Flipflops 170
in Fig. 4 (die Umkehrstufe 232 ist also gleich der Umkehrstufe
168). Dadurch wird erreicht, dass jade Adressteile des Speichers 200 vollständig gelesen wird, bevor der
Adresszähler I30 weiterzahlt.
In Fig. 6 ist eine Geometrisierung eines Sortierers in der Ausführung als integrierte Schaltung dargestellt,
d.h. ein Sortierer nach der an Hand der Fig. 5a und 5b
beschriebenen Erweiterung. Es ist undetailliert angelegte Konfiguration der verschiedenen Teile dargestellt, wobei die
einzelnen Bausteine der vorhergehenden Figuren die in diesen jeweiligen Teilen implementierten Anzahlen von
Gattern und dergleiche leeren. Die gestrichelte Linie gibt den Rand des sog. "chips" an. Auf einem Mikroplättchen
werden derartige Chips von einer Kratzbahn mit einer Breite von 100 Mikrometer voneinander getrennt: hier wird durch
Kratzen eine Trennung nach den Integrationsschritten angebracht. Der Pfeil 252 gibt einen Abstand von 500 Mikrometer
AHO · β
PHN 10 454 *€ 30.6.1983
an. Der Block 254 gibt einen Speicher mit einer Abmessung
von 32x32 Zellen von je 1000 Mikrometer2 und somit eine
Gesamtoberfläche von 1 mm2 an« Die Organisation sieht aus
wie an Hand der Fig. $h beschrieben (256 χ 4). Der Speicher
kann in herkömmlicher MOS-Technologie verwirklicht sein. Die Zähler 144 und 186 belegen (Block 256) etwa 100 Gatteräquivalente»
Der Multiplexer 142 belegt etwa 24 Gatteräquivalente (Block 258). Der Zähler 2θ4 und die zugeordnete
programmierende Schaltung 214 belegen etwa 130 Gatteräquivalente
(Block 26θ) . Der Puffer 122 belegt etwa 10 Gattepäquivalente
(Block 262). Das Befehlsregister 14θ belegt
etwa 50 Gatteräquivalente (Block 264). Der Oszillator
belegt etwa 10 Gatteräquivalente (Block 266). Weiter gibt es eine Steuereinheit, die eine Anzahl von Umkehrstufen,
Flipflops und weitere Gatter enthält, die in den verschiedenen Figuren dargestellt sind. Sie sind in der Steuereinheit
268 zusammengebracht (etwa 45 Gatteräquivalente). So gibt es insgesamt etwa 430 Gatteräquivalente von je 3000 Mikrometer2
, also eine Gesamtoberfläche von 1,3 mm2 · Weiter enthai.C
der Chip 16 Bondflächen von je 100x100 Mikrometer
zum thermischen Befestigen von Leiterdrähten nach aussen hin (die Vierecke an den entsprechenden Rändern). Diese
sechzehn Bondflächen sind dabei nacheinander belegt für:
- Acht-Bit-Datenbus,
- die Steuersignale R/W, D/c", c"s
- das Bereitschaftssignal RDY
- das Überfüllungssignal FULL
- das Rückstellsignal CLEAR
- zwei Speisespannungen.
Die Räume zwischen den verschiedenen zusammengestellten Blöcke» sind für Verbindungsleitungen verfügbar.
Die Leitungsbreite ist in der Grössenordnung von 5 Mikrometer,
und eine Oberfläche von etwa 1,7 mm2 reicht aus für den Platz vom Bondflächen, Verdrahtung und unbenutzter
Randbereiche. In der dargestellten Ausführungsform ist die
Gesamtoberfläche 2,05x2,24 = 4,6 mm2. Dies passt in eine
herkömmliche Kunststoff- oder Keramikhülle. Wenn der Sortierer zusammen mit einer anderen Datenverarbeitungsanordnung,
PHN 10 454 1£- 1-7-1983
beispielsweise mit einem Prozessor, zu einem einzigen integrierten Baus'tein zusammengefasst ist, können einige
Teile entfallen. Insbesondere sind dabei die Bondflächen nicht direkt erforderlich, weil sowohl Daten-, Adressals
auch Steuersignale mit diesem Prozessor kommunizieren. Bei einer solchen Zusammenfassung ist die Anzahl der Bondflächen
normalerweise grosser (beispielsweise 8-Bit-Daten, 16-Bit-Adresse, SpannungsZuführungsleitungen, Steuerleitungen,
also bald vierzig oder sogar mehr). ¥eiter kann der zentrale Oszillator des Prozessors verwendet
werden.
Claims (6)
- PHN 10 454 y6 30.0.1983PatentansprücheMJ Sortierer zum schnellen Sortieren von Datenwörtern mit einem ersten Dateneingang (54) für die Datenwörter, einem Speicher (52), dessen einer Adresseingang vom ersten Dateneingang gespeist und dessen zweiter Dateneingang (DIN) beim Empfang eines Datenworts aktiviert wird und eine Darstellung dieses Datenworts speichert, und mit Lesesteuermitteln, die die gespeicherten Darstellungen nach einer Adressreihenfolge lesen und darauf die jeder Darstellung (DOUT) zugeordneten Speicheradresse an einem Datenausgang neu darstellen, dadurch gekennzeichnet, dass der als integrierte Schaltung ausgeführte Sortierer als ersten Dateneingang und Datenausgang einen bidirektionalen Bus enthält, an den weiter ein Befehlsregister (66) zum Empfangen von Löschsteuer=, Reihenfolgerichtungs- und Adressrückstellsignale und ein Schalter (74) angeschlossen ist, der ein Beendungssignal und ein Überfüllungssignal dem Bus als Statussignale zuführt, das an den Bus ein von einem Oszillator (88) zu speisender Zähler (64) angeschlossen ist, der am Zählerausgang nacheinander die Adressen des Speichers erzeugt und mit Eingängen versehen ist, die die Reihenfolgerichtungs- (92.) und Adressrückstellsignale (98) empfangen und mit einem Zusatzausgang (98) für das Beendungssignal, dass weiter Blockierungsmittel (94) vorgesehen sind, die beim Abgeben einer Speicheradresse, die eine gültige Darstellung im Speicher anzeigt, unter der Steuerung dieser Darstellung das ¥eiterzählen der Oszillatorsignale blockieren und darauf ein "Lesebereit"-Signal an eine Benutzeranordnung abgeben, und die einen Rückstelleingang (r) enthalten, der unter der Steuerung eines Lesesignals bei vollständigem Lesen des Inhalts einer Speicheradresse den Blockierungsvorgang beendet, dass die Speicheranordnung weiter mit einem Verzögerungselement (80) versehen ist, das einen empfangenen Schreibbefehl verzögertPHN 10 k$k ?Λ _^_ 30.6.1983und darauf unter der Steuerung eines Schaltungsauswahlsignals (chip select) vorübergehend eine Leseoperation durchführt, und dass eine Detektionsschaltung (82) vorgesehen ist, die dabei unter der Steuerung einer gelesenen, früher gespeicherten Darstellung und des zuletzt empfangenen Schreibbefehls selektiv das Uberfüllungssignal (OLBYT) bildet.
- 2. Sortierer nach Anspruch 1, dadurch gekennzeichnet, dass ein Darstellungszähler (86) vorgesehen ist, der mit einem Schreibsteuersignal ein Erhöhungssignal empfängt und von dem ein Zählerstandausgang (78) mit dem bidirektionalen Bus verbindbar ist.
- 3. Sortierer nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass ein zweiter bidirektionaler Bus vorgesehen ist, der mit dem Speicher zusammen mit der Darstellung ein Anzeige-Adresswort für einen weiteren Speicher kommuniziert, wobei für die Speicherung dieses Anzeige-Adressworts je Adresse des erstgenannten Speichers ausreichender Raum vorhanden ist.
- 4. Sortierer nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Speicher je Adresse eine Kapazität für zumindest zwei Darstellungen besitzt und dass eine Reihenfolgesteuerschaltung (2θ4) vorgesehen ist, die beim Schreiben die Kapazität einer Adressteile sequentiell füllt bzw. beim Lesen sequentiell leert.
- 5· Sortierer nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass er vollständig in eine einzige integrierte Schaltung aufgenommen ist.
6. Integrierter datenverarbeitender Prozessor, dadurch gekennzeichnet, dass ein Sortierer zum schnellen Sortieren von Datenwörtern mitintegriert ist, der einen Dateneingang für die Datenwörter und einen Speicher (254), dessen einer Adresseingang vom ersten Dateneingang gespeist und dessen zweiter Dateneingang zum Speichern einer Darstellung dieses Datenworts aktiviert wird, und ferner Lesemittel zum Lesen der gespeicherten Darstellung nach einer Adressreihenfolge (260) enthält und darauf die jeder Darstellung zugeordneten Speicheradresse an einem Datenausgang neuο.» <q »■ ·»SO * · ΛPHN 10 454 £2" 30. - 6.1983darstellt, wobei der Sortierer als ersten Dateneingang und Datenausgang einen bidirektionalen Bus enthält, der an eine der inneren Busleitungen des Datenverarbeitungsprozessors angeschlossen ist, sowie Steuereingänge zum Empfangen von Löschsteuer-, Reihenfolgerichtungs- und Adressrückstellsignalen und Steuerausgänge zum Abgeben eines Beendungssignals und eines Uberfüllungssignals als Statussignale, wobei an den Bus ein von einem Oszillator zu speisender Zähler (26o) angeschlossen ist, der am Zählerausgang die Adressen des Speichers nacheinander angibt, mit Eingängen die die Reihenfolgerichtungs- und Adressrückstellsignale empfängt, mit einem Zusatzausgang für das Beendungssignal und weiter mit einem Blockierungsmittel, das beim Abgeben einer Speicheradresse, die im Speicher eine gültige Darstellung anzeigt, unter der Steuerung dieser Darstellung das Weiterzahlen der Oszillatorsignale blockiert und darauf ein "Lesebereit"-Signal abgibt und einen Rückstelleingang besitzt, der unter der Steuerung eines Lesesignals bei vollständigem Lesen des Inhalts einer Speicheradresse den Blockierungsvorgang beendet, dass die Speicheranordnung weiter mit einem Verzögerungselement versehen ist, das einen empfangenen Schreibbefehl verzögert und dabei unter der Steuerung eines Aktivierungssignals vorübergehend eine Leseoperation durchführt, und dass eine Detektionsschaltung vorgesehen ist, die dabei unter der Steuerung der gelesenen früher gespeicherten Darstellung und des zuletzt empfangenen Schreibbefehls selektiv das Uberfüllungssignal bildet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8203844A NL8203844A (nl) | 1982-10-04 | 1982-10-04 | Geintegreerde, als bouwsteen uitgevoerde sorteerinrichting voor datawoorden en geintegreerde, dataverwerkende, processor voorzien van zo een meegeintegreerde sorteerinrichting. |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3334604A1 true DE3334604A1 (de) | 1984-04-05 |
Family
ID=19840371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833334604 Withdrawn DE3334604A1 (de) | 1982-10-04 | 1983-09-24 | Integrierter, als baustein ausgefuehrter sortierer fuer datenwoerter und integrierter, datenverarbeitender prozessor mit einem derartigen mitintegrierten sortierer |
Country Status (6)
Country | Link |
---|---|
US (1) | US4559612A (de) |
JP (1) | JPS5985537A (de) |
DE (1) | DE3334604A1 (de) |
FR (1) | FR2534044B1 (de) |
GB (1) | GB2130407B (de) |
NL (1) | NL8203844A (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4679139A (en) * | 1984-05-01 | 1987-07-07 | Canevari Timber Co., Inc. | Method and system for determination of data record order based on keyfield values |
US4991134A (en) * | 1988-03-30 | 1991-02-05 | International Business Machines Corporation | Concurrent sorting apparatus and method using FIFO stacks |
US5179717A (en) * | 1988-11-16 | 1993-01-12 | Manco, Ltd. | Sorting circuit using first and last buffer memories addressed by reference axis data and chain buffer memory addressed by datum number of the first and last buffer memories |
US5214584A (en) * | 1989-12-26 | 1993-05-25 | Hughes Aircraft Company | Bidirectional data interface for a processor embedded in a self-propelled vehicle |
US5274805A (en) * | 1990-01-19 | 1993-12-28 | Amalgamated Software Of North America, Inc. | Method of sorting and compressing data |
US5121493A (en) * | 1990-01-19 | 1992-06-09 | Amalgamated Software Of North America, Inc. | Data sorting method |
US5222243A (en) * | 1990-02-09 | 1993-06-22 | Hewlett-Packard Company | Sorting apparatus having plurality of registers with associated multiplexers and comparators for concurrently sorting and storing incoming data according to magnitude |
US5278987A (en) * | 1991-03-05 | 1994-01-11 | Franklin Chiang | Virtual pocket sorting |
US5845113A (en) * | 1992-10-27 | 1998-12-01 | International Business Machines Corporation | Method for external sorting in shared-nothing parallel architectures |
GB2424722A (en) * | 2005-03-21 | 2006-10-04 | Think Software Pty Ltd | Method and apparatus for generating relevance sensitive collation keys |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3587057A (en) * | 1969-06-04 | 1971-06-22 | Philip N Armstrong | Data sorting system |
US3713107A (en) * | 1972-04-03 | 1973-01-23 | Ncr | Firmware sort processor system |
US4031520A (en) * | 1975-12-22 | 1977-06-21 | The Singer Company | Multistage sorter having pushdown stacks with concurrent access to interstage buffer memories for arranging an input list into numerical order |
GB2018477B (en) * | 1978-04-07 | 1982-10-13 | Secr Defence | Memory protection |
GB2030739B (en) * | 1978-09-29 | 1982-06-30 | Nat Res Dev | Computer store arrangements |
FR2453468A1 (fr) * | 1979-04-06 | 1980-10-31 | Cii Honeywell Bull | Procede et systeme d'exploitation d'une memoire adressable permettant d'associer a volonte des qualificatifs aux donnees contenues dans la memoire |
NL8006163A (nl) * | 1980-11-12 | 1982-06-01 | Philips Nv | Inrichting voor het sorteren van datawoorden volgens de waarden van telkens daarbij behorende attribuutgetallen. |
-
1982
- 1982-10-04 NL NL8203844A patent/NL8203844A/nl not_active Application Discontinuation
-
1983
- 1983-09-22 US US06/535,002 patent/US4559612A/en not_active Expired - Fee Related
- 1983-09-24 DE DE19833334604 patent/DE3334604A1/de not_active Withdrawn
- 1983-09-30 FR FR8315612A patent/FR2534044B1/fr not_active Expired
- 1983-09-30 GB GB08326225A patent/GB2130407B/en not_active Expired
- 1983-10-04 JP JP58184574A patent/JPS5985537A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2130407B (en) | 1986-07-30 |
JPS5985537A (ja) | 1984-05-17 |
FR2534044B1 (fr) | 1988-11-18 |
GB8326225D0 (en) | 1983-11-02 |
US4559612A (en) | 1985-12-17 |
FR2534044A1 (fr) | 1984-04-06 |
NL8203844A (nl) | 1984-05-01 |
GB2130407A (en) | 1984-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69029238T2 (de) | Serielle Datenübertragung | |
DE69723530T2 (de) | Durch einen Mikrokontroller steuerbare Makrozelle | |
DE69827714T2 (de) | Assoziativspeichersystem | |
DE68922975T2 (de) | Speichereinheit mit zwei Toren. | |
DE4206286C2 (de) | Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes | |
DE2364408A1 (de) | System zur erstellung von schaltungsanordnungen aus hochintegrierten chips | |
DE2502910A1 (de) | Informations-anordnungseinrichtung | |
CH638913A5 (de) | Vorrichtung in textverarbeitungsanlagen zum auswaehlen von zum ordnen qualifizierten datensaetzen unterschiedlicher laenge. | |
DE3320191A1 (de) | Uebertragungssystem zwischen computern | |
DE2621882B2 (de) | Speicher für Rechenautomaten mit mindestens zwei parallel angeordneten, einen Rücklaufkreis aufweisenden Speicherschleifen | |
DE3334604A1 (de) | Integrierter, als baustein ausgefuehrter sortierer fuer datenwoerter und integrierter, datenverarbeitender prozessor mit einem derartigen mitintegrierten sortierer | |
DE3015875A1 (de) | Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem | |
DE2853276A1 (de) | Datenpufferspeicher vom typ first-in, first-out mit einem variablen eingang und einem variablen ausgang | |
DE2725396B2 (de) | Pufferspeicher | |
DE3404436C2 (de) | ||
DE4230195A1 (de) | Fifo-anordnung | |
DE69032828T2 (de) | Sortierbeschleuniger, der einen in beide Richtungen arbeitenden Sortierer als Mischer verwendet | |
DE3739993A1 (de) | Peripherieschaltung fuer mikroprozessor | |
DE2912073C2 (de) | ||
DE3144563C2 (de) | ||
DE69122860T2 (de) | Multiplexer | |
DE4135031C2 (de) | Eingabe/Ausgabe-Einrichtung und Verfahren zum Betreiben einer Eingabe/Ausgabe-Einrichtung | |
DE3650508T2 (de) | Speicheranordnung zur Simulation eines Schieberegisters | |
DE69729818T2 (de) | Sortier- und Mischprozessor und Sortier- und Mischprozessanlage | |
DE1237621C2 (de) | Informationsspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |