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 sortierer

Info

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
Application number
DE19833334604
Other languages
English (en)
Inventor
Hendrik 5621 BA Eindhoven Vrielink
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE3334604A1 publication Critical patent/DE3334604A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1441Protection 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 · *
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 α
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.
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 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)

  1. PHN 10 454 y6 30.0.1983
    Patentansprüche
    MJ 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ögert
    PHN 10 k$k ?Λ _^_ 30.6.1983
    und 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. 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. 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. 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. 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. 6.1983
    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ö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.
DE19833334604 1982-10-04 1983-09-24 Integrierter, als baustein ausgefuehrter sortierer fuer datenwoerter und integrierter, datenverarbeitender prozessor mit einem derartigen mitintegrierten sortierer Withdrawn DE3334604A1 (de)

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)

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

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

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