DE2840384C2 - - Google Patents

Info

Publication number
DE2840384C2
DE2840384C2 DE19782840384 DE2840384A DE2840384C2 DE 2840384 C2 DE2840384 C2 DE 2840384C2 DE 19782840384 DE19782840384 DE 19782840384 DE 2840384 A DE2840384 A DE 2840384A DE 2840384 C2 DE2840384 C2 DE 2840384C2
Authority
DE
Germany
Prior art keywords
segment
connection
configuration
data
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19782840384
Other languages
English (en)
Other versions
DE2840384A1 (de
Inventor
Ivor St. Albans Hertfordshire Gb Catt
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19782840384 priority Critical patent/DE2840384A1/de
Publication of DE2840384A1 publication Critical patent/DE2840384A1/de
Application granted granted Critical
Publication of DE2840384C2 publication Critical patent/DE2840384C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage gemäß dem Oberbegriff des Patentanspruchs.
Eine derartige Datenverarbeitungsanlage ist aus der US-PS 39 13 072 bekannt. Dort bildet der Serienspeicher eine sogenannte slow line, d. h. eine langsame Verbindung, die in Parallelschaltung zu einer fast line, d. h. einer schnellen Verbindung, steht. An jedem Knotenpunkt ermöglichen Schalteinrichtungen, daß die schnelle Verbindung selbst in Verbindung mit einem Segment des Speichers treten kann, und zwar mit dem Ziel des Einschreibens oder Lesens von Daten in bzw. aus dem betreffenden Segment. Der Knotenpunkt, an dem die Verbindung hergestellt wird, wird durch einen Adressenvergleich bestimmt. Ein Teil der Daten auf der schnellen Verbindung stellt ein Adressenfeld dar, welches mit einem Adressenfeld in dem angeforderten Speichersegment übereinstimmt. Wird eine Übereinstimmung festgestellt, erfolgt die Ausführung der Lese- oder Schreiboperation zwischen einem Datenfeld in der Information auf der schnellen Verbindung und einem Datenfeld in dem ausgewählten Segment. Eine derartige Anlage ermöglicht es, daß ein serieller Speicher in der Art eines Direktzugriffsspeichers (RAM) adressiert werden kann, also beispielsweise wie ein Kernspeicher, wodurch die Zugriffszeit im Vergleich zu derjenigen bei dem konventionellen Serienspeicher mit einem Zugriff an nur einem Punkt beträchtlich verkürzt wird.
Es sei bemerkt, daß der Adressenvergleich verschiedene Formen annehmen kann, beispielsweise einen vollständigen Identitätsvergleich, einen Vergleich der Identität nur eines Teils der Adressenfelder oder einen Vergleich innerhalb spezifizierter Grenzen, d. h. mit einem oder mit mehreren Bits, die den Zustand "don't care" (nicht zu beachtende Bits) haben. Dies kann erforderlichenfalls zu einer Vielzahl von Vergleichen führen.
In der US-PS 39 13 072 ist angegeben, daß es auch möglich ist, eine andere Operation als das Lesen und Schreiben von Daten auszuführen. Es können nämlich zur Ausführung von Verarbeitungsoperationen bezüglich der gespeicherten Daten Datenverarbeitungsschaltungen vorgesehen sein. Eine Prozessoreinheit kann beispielsweise an jedem Knotenpunkt zur Ausführung von Operationen vorgesehen sein, die auf der schnellen Verbindung befohlen werden. Jede Verarbeitungseinheit könnte eine einfache arithmetisch- logische Einheit sein, die einen kleinen Satz grundsätzlicher Serienoperationen ausführen kann, beispielsweise das Addieren von Daten auf der schnellen Verbindung zu den Daten auf der langsamen Verbindung.
Bei einer derartigen Datenverarbeitungsanlage tritt aber das Problem auf, daß die Verwendung der Datenverarbeitungseinheiten einen geringen Wirkungsgrad mit sich bringt, da jede Elementäroperation über die schnelle Verbindung befohlen werden muß.
Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanlage zu schaffen, bei der die vorstehend angegebenen Probleme und Schwierigkeiten beseitigt sind, und die insbesondere so aufgebaut ist, daß konventionelle Rechenoperationen mit hohem Wirkungsgrad und auf schnelle Weise ausführbar sind, und zwar trotz der grundsätzlichen seriellen Organisation des Datenspeichers.
Diese Aufgabe wird erfindungsgemäß durch den Gegenstand des Patentanspruchs gelöst. Die erfindungsgemäße Datenverarbeitungsanlage eignet sich insbesondere zur Ausführung von Daten-Verarbeitungsoperationen im Hinblick auf digital simulierte Abbildungen bzw. Darstellungen von physikalischen Situationen, wie dies im folgenden noch beschrieben ist.
Ein wesentlicher Vorteil der erfindungsgemäßen Datenverarbeitungsanlage kann darin gesehen werden, daß - auch wenn dies nicht erheblich ist - der Aufbau entsprechend der US-PS 39 13 072 sein kann, wobei der Schaltungsaufbau nicht nur in fast verdrahteter Weise gewählt sein kann, sondern funktionsmäßig so aufgebaut ist, daß schadhafte Bereiche eines integrierten Schaltungschips umgangen werden. Dies führt zu einem höheren Maß an Betriebszuverlässigkeit. Aus Einfachheitsgründen wird diese Tatsache nicht weiter erläutert, beinhaltet jedoch einen wesentlichen Vorteil.
Von besonderer Bedeutung bei der erfindungsgemäßen Datenverarbeitungsanlage ist, daß die Datenverarbeitungsoperationen selbst keine Schnellverbindung erfordern, die jedoch für Lese- und Schreiboperationen vorgesehen sein kann. Die Schnellverbindung (fast line) wird daher nicht auf verschwenderische Art benützt, und die Gesamtgeschwindigkeit der Operation bei der Anlage wird wesentlich erhöht. Insbesondere ist es möglich, verschiedene Abschnitte des Serienspeichers, der auch als langsame Verbindung (slow line) bezeichnet wird, so einzurichten, daß Operationen gleichzeitig ausgeführt werden können.
Der Grund dafür, daß die schnelle Verbindung in einer Datenverarbeitungsoperation nicht enthalten ist, besteht darin, daß die Operation die in einem geschlossenen Kreis umlaufende Information sowie die Information beinhaltet, welche die umlaufende Information umgeht (über das Bypaß-System).
Aus Einfachheitsgründen wird die Information in einem Segment als ein Wort betrachtet, obgleich das Segment mehrere Wörter oder Bytes enthalten kann, wie dies allgemein verstanden wird. Die Information in einem Wort kann jede oder die gesamte Adresseninformation, welche die Adressierung durch den Segment-Inhalt erlaubt, sowie Daten- und Befehlsinformationen enthalten. Wenigstens ein Teil eines der darin enthaltenen Wörter bildet eine Instruktion (die Instruktion wird besser als Mikroinstruktion bezeichnet), welche die auszuführende Operation auswählt. Größere Abschnitte der langsamen Verbindung werden so behandelt, als wäre sie in einer geschlossenen Schleife verbunden, wenn ein größerer Teil aus einer Vielzahl von Segmenten besteht. Ein größerer Teil der langsamen Verbindung kann dann mit Daten und Instruktionen versehen sein, die als geschlossener Kreis behandelt werden und belassen werden, um autonom ein Unterprogramm auszuführen, welches durch die Instruktionen gebildet wird, wenn diese Daten und Instruktionen in der langsamen Verbindung umlaufen. Ein Segment und ein größerer Abschnitt können jeweils entsprechend als kleinere Schleife oder größere Schleife bezeichnet werden, obgleich ersichtlich ist, daß die kleinere Schleife nur dann eine geschlossene Schleife ist, wenn eine Bypaß-Verbindung vorliegt, während nur eine größere Schleife als "geschlossen" betrachtet wird, da sie funktionell als ein unabhängiger Teil der lansamen Verbindung behandelt wird und in dem Sinn geschlossen ist, daß sie autonom ein Unterprogramm ausführt, wie dies bereits angegeben ist, und wobei dies möglich ist, weil die darin befindlichen Wörter an einander vorbei gelangen können und in die Verarbeitungsoperationen einbezogen werden, wenn die kleineren Schleifen selektiv umgangen werden.
Zur Vereinfachung der Terminologie wird eine geschlossene Schleife (kleinere und größere Schleife) als umlaufend bezeichnet, während eine nicht geschlossene Schleife eine serielle Schleife ist, d. h. ein serielles Teil der langsamen Verbindung bzw. Leitung (slow line).
Eine Änderung gegenüber dem umlaufenden Zustand einer größeren Schleife kann auf verschiedene Weise erhalten werden. Die Änderung kann einfach durch äußere Steuerung ausgeführt werden. Beispielsweise kann eine zentrale Überwachungsschaltung die größere Schleife in den Serienzustand schalten, d. h. daß die größere Schleife nur aus seriellen kleineren Schleifen besteht, nachdem genug Zeit gelassen wurde, daß das darin vorhandene Unterprogramm ausgeführt wird. Andererseits kann die zentrale Überwachungsschaltung periodisch prüfen, um herauszufinden, ob das Unterprogramm vervollständigt ist oder nicht. Vorzugsweise zeigt jedoch die größere Schleife auf der schnellen Leitung an, wenn das Unterprogramm vollständig abgelaufen ist.
Die erfindungsgemäße Datenverarbeitungsanlage läßt sich besonders vorteilhaft außerhalb der Bereiche üblicher digitaler Datenverarbeitung einsetzen. Der Speicher kann Daten halten, die einige physikalische Merkmale eines zwei- oder mehrdimenionalen Feldes aufzeichnen bzw. darstellen. Da der Speicher im wesentlichen von eindimensionaler Struktur ist, ist es erforderlich, das mehrdimensionale Fels als mehrdimensionale Anordnung von Datenpunkten zu behandeln, die in Reihen angeordnet sind, z. B. nach der Art eines Fernsehrasters, wobei die Reihen von Datenpunkten seriell in dem Speicher angeordnet sind. Es treten viele Situationen auf, in welchen die Datenverarbeitungsoperationen bezüglich von Daten benachbarter Datenpunkte in der Aufstellung ausgeführt werden sollten. Einige dieser Datenpunkte befinden sich auch nebenan in dem Speicher, d. h. wenn sie in der gleichen Reihe vorliegen, während andere Datenpunkte, die nebenliegend in der Anordnung vorhanden sind, in dem Speicher über größere Abstände verbreitet sind. Durch die selektive Verwendung von umlaufenden und seriellen Schleifen können solche Datenpunkte von den relevanten Verarbeitungsoperationen zusammengerufen werden.
Im folgenden wird ein Ausführungsbeispiel der erfindungsgemäßen Datenverarbeitungsanlage anhand von Zeichnungen erläutert. Es zeigt:
Fig. 1 ein schematisches Blockschaltbild einer die Erfindung verwendenden Rechenanlage,
Fig. 2 eine schematische Darstellung des Aufbaus einer langsamen Verbindung bzw. eines langsamen Speichers,
Fig. 3 ein schematisches Blockschaltbild einer kleineren Schleife,
Fig. 4 bis 8 zwei unterschiedliche Schaltungen von sogenannten kleineren Schleifen,
Fig. 9 ein Wortformat,
Fig. 10 ein Unterprogramm-Format,
Fig. 11 den Verlauf eines Unterprogramms entlang der langsamen Verbindung, und
Fig. 12 einen weiteren Teil einer kleineren Schleife.
Fig. 1 zeigt eine zentrale Überwachungsschaltung (CSC) 10, welche die Operation eines kombinierten Serienspeicher- und Datenverarbeitungssystems über eine im folgenden als schnelle Verbindungsleitung 13 bezeichnete "fast data line" steuert. Der Serienspeicher, als langsame Datenleitung 12 (slow data line) bezeichnet, hat die Form eines langen, umlaufenden Schieberegisters, das von der Schaltung 10 weg und wieder zurück zur Schaltung 10 verläuft. Die schnelle Datenleitung 13 geht ebenfalls von der Schaltung 10 weg und über eine Vielzahl von Knotenpunkten, wie dies im folgenden noch beschrieben ist, zu der Schaltung 10 zurück, zu welchen die schnelle Leitung effektiv gleichzeitig Zugriff hat.
Der Aufbau der Schaltung 10 bildet keinen Teil der vorliegenden erfindungsgemäßen Datenverarbeitungseinheit. Es ist erforderlich, dem Speicher- und Verarbeitungssystem Befehle und entsprechend zu behandelnde Daten und zu speichernde Daten zuzuführen; ferner ist es erforderlich, die verarbeiteten und ausgelesenen Daten zu empfangen, wie dies nachfolgend beschrieben ist. Es ist nur zu beachten, daß wegen der Wechselwirkung des Systems mit einer Serienschaltung die Information von der Schaltung 10 zum genauen Zeitpunkt gesandt werden muß. Dies ist ein allgemein geläufiges Erfordernis, wenn das System mit einer Serienschaltung zusammenwirkt. Die gesamte Taktgebung wird von der Schaltung 10 gesteuert, die zweiphasige Taktsignale auf Leitungen 14 dem Serienspeicher zuführt, der die Form eines langen Schieberegisters gemäß der US-PS 39 13 072 hat, wobei die Information entlang dieses Schieberegisters getaktet wird.
Gemäß Fig. 2 kann die langsame Verbindung bzw. Leitung 12 durch ein geschlossenes Schieberegister dargestellt werden (mittels der Umlaufverbindung über die Schaltung 10), durch das die Information in Richtung des Pfeiles A getaktet wird. Das Schieberegister kann außerdem als in eine Vielzahl von längeren bzw. größeren Schleifen 11 geteiltes Element angesehen werden, von denen jede größere Schleife als unabhängige Einheit behandelt wird. Fig. 2 muß als zeitlich stillstehende Darstellung angesehen werden; die größeren Schleifen zirkulieren tatsächlich jeweils um das Schieberegister, wie dies durch Pfeile B dargestellt ist. Darüber hinaus können die größeren Schleifen verschiedene Länge haben und die Art und Weise, auf welche das Schieberegister in größere Schleifen unterteilt ist, ist nicht festgelegt; die größeren Schleifen können geteilt oder verbunden sein, um das Muster der größeren Schleifen zu verändern, in die das Schieberegister unterteilt ist.
Die langsame Verbindung bzw. Leitung 12 weist eine Vielzahl von Segmenten oder kleineren Schleifen 15 (Fig. 3) auf, die sich zwischen Knotenpunkten 16 erstrecken. Eine größere Schleife weist eine Vielzahl von kleineren Schleifen 15 auf und jede kleinere Schleife kann ein langes "Wort" speichern, beispielsweise 40 Bits oder wesentlich mehr speichern.
Fig. 3 zeigt eine einzige kleinere Schleife, die sich zwischen Knotenpunkten 16 (langsame Leitung) und Knotenpunkten 17 (schnelle Leitung) erstreckt. Die schnellen und langsamen Leitungen 13 und 12 gehen durch 1-Bit-Pufferstufen 18 hindurch, die über Taktleitungen 14 (Fig. 1) getaktet werden und deren Ausgänge mit einer Leitwerk- Logik 33 verbunden sind, die folgende Eingänge und Ausgänge aufweist:
FI = Eingang schnelle Leitung SI = Eingang langsame Leitung FO = Ausgang schnelle Leitung SO = Ausgang langsame Leitung RI = Register-Eingang RO = Register-Ausgang
AI (1), AI (2) = Eingänge zur Rechen- und Logik-Einheit (ALU) AO = Ausgang der ALU-Einheit.
Ein Schieberegister 15 ist zwischen die Anschlüsse RI und RO geschaltet und bildet ein Segment der langsamen Leitung. Eine arithmetische und logische Einheit ALU 36 ist zwischen AI (1) und AI (2) und AO geschaltet.
Die Leitwerk-Logik 33 bildet die Verbindung von Gatterschaltungen, wie sie üblicherweise in einem digitalen Computer zur Steuerung der Leitweglenkung (routing) der Datenuntersteuerung von Mikrosignalen MO vorgesehen sind. Die Hauptschaltungen der Leitlogik 33 werden im folgenden insbesondere unter Bezugnahme auf Fig. 4 erläutert.
Nach Fig. 4 sind die Anschlüsse FI und FO verbunden, wobei die langsame Leitung zwischen den Anschlüssen SI und SO durch ein Register 15 gebildet ist. Dies gibt eine Serienschaltung wieder.
Nach Fig. 5 ist SI über eine Bypaß-Leitung 30 mit SO verbunden, während das Schieberegister 15 selbst durch eine Rückkopplungsleitung 31 geschlossen ist. Dies stellt eine Umlaufschaltung dar.
Fig. 6 zeigt die Schaltung zum Schreiben von der schnellen Leitung in die langsame Leitung und Fig. 7 zeigt die Schaltung zum Lesen von der langsamen Leitung in die schnelle Leitung. Die Schaltung nach Fig. 7 für die langsame Leitung kann entsprechend Fig. 5 abgewandelt werden, d. h. es kann das "Lesen" mit "Umlauf" kombiniert werden. Auf diese Weise wird ein nichtlöschendes Lesen ermöglicht, wogegen Fig. 7 die Schaltung für ein löschendes Lesen darstellt.
Fig. 8 zeigt die Schaltung zur Ausführung einer Operation durch die ALU beim Wort 1, welches vom Eingang SI geliefert wird, und durch ein Wort 2, welches vom Ausgang RO erzeugt wird. Das resultierende Wort ergibt das neue Wort 2, da der Ausgang AO mit dem Ausgang SO verbunden ist.
Weitere zusätzliche Schaltungen, die nicht dargestellt sind, sind ebenfalls möglich. Üblicherweise können die Schaltungskonfigurationen durch MO-Signale im Verlaufe der Zeit eines Wortes verändert werden, damit verschiedene Operationen hinsichtlich verschiedener Felder der zu verarbeitenden Wörter ausgeführt werden. Fig. 9 zeigt ein mögliches Wortformat. An dem Ende mit geringerer Wertigkeit befindet sich ein Bit b ₀, das eine 1 für ein Befehlswort auf der schnellen Leitung ist. Wenn ein Wort der langsamen Leitung vorliegt, repräsentiert b ₀ eine 1, um ein Wort in einem Unterprogramm anzuzeigen, während das nächste Bit b ₁ benützt wird, um ein Befehlswort (b ₁ = 1) oder ein Nicht-Befehlswort (b ₁ = 0) anzuzeigen; auf b ₁ folgt ein Adressenfeld, ein Kennzeichenbit b m zur Kennzeichnung einer Adressenübereinstimmung, ein Befehlsfeld, ein Datenfeld und ein Adressenbit b n zur Kennzeichnung eines Überlauf-Bits. Die in Fig. 8 gezeigte Schaltung wird nur beispielsweise während des Datenfeldes hergestellt.
Im folgenden wird wieder Bezug genommen auf Fig. 3. Ein Befehlsdecoder 19 wird über Leitungen 20 von einem Zeitintervall-Zähler 21 getaktet, um Tests bezüglich der Bits b ₀ und b ₁ an Zeitintervallen t ₀ und t ₁ auszuführen. Diese Bits können als FIb ₀, SIb ₀ usw. bezeichnet werden, um anzuzeigen, welchem Wort sie zugeordnet sind. Der Befehlsdetektor 19 liefert Steuersignale an ein Befehlspuffer 23 und an einen Adressenkomparator 26 auf Leitungen 22, wobei diese Steuersignale durch den Zeitintervall-Zähler 21 taktgesteuert werden. Wenn FIb ₀ = 1, steuert ein Signal auf einer Leitung 22 das Befehlsfeld von FI in den Befehlspuffer 23. Ein Befehl der schnellen Leitung wirkt somit als Unterbrechung, so daß ein Vorrang gegenüber allen Befehlen der langsamen Leitung hinsichtlich aller Segmente der langsamen Leitung vorliegt.
Alle Abschnitte führen zu den Umlaufschaltungen nach Fig. 5.
Der zwischengespeicherte Befehl wird durch einen üblichen Befehls- Decoder 24 decodiert. Die decodierten Befehle werden mit zeitsteuernden Wellenformen vom Zeitintervall-Zähler 21 durchgesteuert, der eine Bit-Rate (oder ein Vielfaches davon) zählt. Das Durchsteuern bzw. Durchschalten wird in einer Mikrooperations-Logik 25 ausgeführt, welche die MO-Signale erzeugt, die ihrerseits die Logik 33 und die ALU 36 steuert.
Der zwischengespeicherte Befehl wird nur von dem adressierten Segment ausgeführt. Das adressierte Segment ist dasjenige Segment, dessen Adressenfeld am RO mit dem Adressenfeld am FI übereinstimmt. Diese Übereinstimmung wird durch einen Serien-Adressen-Komparator 26 festgestellt, der nur während des Adressenfeldes wirksam gemacht wird und zwar durch die Signale auf Leitungen 27 vom Zähler 21. Wenn FIb ₀ = 1, erhält der Komparator 26 den Befehl, die Adressenfelder von FI und RO zu vergleichen. Wenn der Adressen-Komparator 26 eine Übereinstimmung feststellt, wird auf der Leitung 27 ein Signal erzeugt, so daß der Decoder 24 den Befehl decodiert und auf diese Weise ausführt. All diejenigen Segmente, bezüglich welchen keine Adressenübereinstimmung vorliegt, verbleiben in der Umlaufschaltung nach Fig. 5 bis zum Wortende. Das Segment, bezüglich dessen eine Adressenübereinstimmung festgestellt wird, führt den decodierten Befehl aus. Es ist zu beachten, daß die durch die Adressenübereinstimmung bewirkte Steuerung der Logik 33 selbst oder der Logik 25 oder - wie dargestellt - dem Decoder 24 auferlegt werden kann. In jedem Fall können die relevanten Signale MO nur in der Logik 33 des adressierten Segments ihre Wirkung haben. Wenn der Befehl beispielsweise ein Schreibbefehl ist, ändern die MO-Signale die Konfiguration des adressierten Segments von der Schaltung nach Fig. 5 in die Schaltung nach Fig. 6 während des Datenfelds, so daß die Befehlsdaten des Eingangs FI in den Eingang RI geschrieben werden.
Die Art und Weise, auf die der Prozessor zur Ausführung eines Programms gesetzt wird, ist folgende. Das Programm selbst, welches aus einer Vielzahl von Unterprogrammen besteht, die ihrerseits aus einer Vielzahl von Wörtern zusammengesetzt sind, wird durch eine zentrale Überwachungsschaltung (von einer konventionellen peripheren Eingabeeinheit) in die "langsame Leitung" eingegeben. Jedes Wort enthält wenigstens seine Adresse. Einige Wörter enthalten einen Befehl in dem Befehlsfeld mit b ₁ = 1. Einige Wörter enthalten das Bit b ₀ = 1. Wörter, die an dieser Stufe eingegeben werden, können Daten aufweisen oder nicht. In einer typischen Situation wird ein Programm ohne Daten eingegeben. Die Daten werden in die Datenfelder der entsprechenden Wörter durch adressierte Schreib-Befehle auf der schnellen Leitung eingesetzt. Ergänzende Daten können auf ähnliche Weise während der Verarbeitung eingeführt werden. Zwischen- und Endergebnis-Daten können während oder am Ende der Verarbeitung durch adressierte Schreib-Befehle auf der schnellen Leitung herausgezogen werden.
Wie angedeutet ist, ist ein Programm in Form einer Vielzahl von Unterprogrammen aufgebaut, die jeweils eine größere Schleife belegen. Fig. 10 zeigt einen Teil der langsamen Leitung. Jedes kleine Rechteck repräsentiert ein Segment (Fig. 3) der langsamen Leitung und die "0" oder "1" zeigen an, ob das Bit b ₀ in diesem Rechteck bzw. Segment eine "0" oder "1" ist. Jedes Unterprogramm besteht aus einer Vielzahl von Wörtern mit jeweils b ₀ = 1. Die Unterprogramme sind durch Wörter mit b ₀ = 0 getrennt.
Wenn sich ein Unterprogramm auf der langsamen Leitung befindet, kann es unabhängig von Befehlen auf der schnellen Leitung und unabhängig von anderen Unterprogrammen sich selbst ausführen. Zur Veranschaulichung dieses Prinzips zeigt Fig. 11 den einfachen Fall eines Unterprogramms mit nur 3 Wörtern A, B und C. Die Situation beginnt mit C als folgendem Wort nach dem Wort mit b ₀ = 0, wie dies in Fig. 11 bei a dargestellt ist. Diese Verbindung bewirkt, daß die Konfiguration nach Fig. 11 b angenommen wird, so daß C an B und A vorbeigeht und sich der Zustand nach Fig. 11 c ergibt. In Fig. 11 b repräsentieren die geschlossenen Schleifen R Segmente in der Umlaufanordnung nach Fig. 5, wobei die geschlossenen Schleifen durch Verbindungen 30 umgangen sind, wie in Fig. 5 dargestellt ist. Die Schleifen S, welche an die langsame Leitung 12 angeschlossen sind, repräsentieren Segmente in der Serienschaltung nach Fig. 4.
Da das Wort C an den Wörtern B und A vorbeigeführt wird, können die Befehle so ausgeführt werden, als würden sie durch das Befehlsfeld von C befohlen werden, wie dies im folgenden noch beschrieben ist, wenn für C gilt b ₁ = 1. Daraufhin wird die in Fig. 11 d gezeigte Konfiguration angenommen und es wird der Zustand nach Fig. 11 e erreicht. Dieses Verfahren dauert an, bis es durch einen Sprungzustand oder eine Unterbrechung von der schnellen Leitung gestoppt wird. Innerhalb einer größeren Schleife springt somit das letzte Wort wiederholt in die vordere Position, da es entlang der langsamen Leitung fortschreitet, und - da es an den anderen Wörtern vorbeigelangt - können die Verarbeitungsoperationen ausgeführt werden. Falls erforderlich, kann sich die größere Schleife auf diese Weise mehrmals über vollständige Zeitintervalle wiederholen, d. h. kreisförmig wiederkehren, um ein Unterprogramm wiederholt auszuführen.
Die in Fig. 11 b und 11 d dargestellten Konfigurationen werden vollständig automatisch erreicht. Zu diesem Zweck weist der Befehlsdetektor 19 jedes Segments (Fig. 3) einer langsamen Leitung eine weitere Schaltung auf, die in Fig. 12 dargestellt ist. Der Befehlsdetektor 19 erzeugt ein Freigabesignal FIb ₀ = 0, wenn kein Befehl auf der schnellen Leitung vorliegt. Unter diesen Umständen liefert ein exklusives ODER-Glied 40, das auf b ₀ vom Eingang SI und auch b ₀ vom Ausgang RO anspricht und ein UND-Glied 41 ein Signal S, welches die Serienschaltung durch entsprechende Steuerung der Leitlogik 33 herstellt. Wenn somit benachbarte Wörter die Werte b ₀ = 0 und b ₀ = 1 haben oder umgekehrt, nimmt das Segment mit dem vorderen Wort die Serienschaltung nach Fig. 4 an. Andererseits liefert ein UND-Glied 42 ein Signal R, wenn FIb ₀ = 0 und FIb ₀ = 1 und ROb ₀ = 1. Dieses Signal begründet die Umlaufschaltung nach Fig. 5 und läßt (über die Leitungen 22) außderdem den Befehlsspeicher 23 während des Befehlsfeldes vom Eingang SI schreiben, um den Befehl in den Puffer 23 einzugeben. Dieser Befehl wird als FI -Befehl behandelt. Dies bedeutet, daß der Befehl decodiert und ausgeführt wird, wenn eine Adressenübereinstimmung vorliegt.
Der Befehlsdetektor 19 spricht auf SIb ₁ = 1 (gibt einen Befehl an) an, so daß der Adressenkomparator 26 begrenzte Adressenfelder der Anschlüsse RO und SI vergleicht und ein Signal auf der Leitung 27 erzeugt, wenn eine Übereinstimmung vorliegt. Die begrenzten Adressenfelder umfassen ein Bit weniger als die vollständigen Adressenfelder, z. B. b m-1 ist vom Vergleich ausgeschlossen, wenn R eine 1 ist, d. h. auf hohem Wert liegt. Alle Wörter haben individuelle, eindeutige volle Adressen, so daß Wörter individuell durch die schnelle Leitung adressiert werden können, jedoch innerhalb eines Unterprogramms gibt es Wortpaare, deren Adressen nur in Bezug auf b M-1 differieren. Solche Wörter erzeugen eine Adressenübereinstimmung, wenn R = 1, d. h. auf hohem Pegel liegt. Im allgemeinen wird ein derartiges Wort, beispielsweise das Wort C ₁, ein Befehlswort mit b ₁ = 1 sein. Das andere Wort, beispielsweise das Wort A wird dann kein Befehlswort sein, mit b ₁ = 0. Wenn der Befehl (Befehl in C) z. B. Addition (ADD) beinhaltet, ergibt sich die in Fig. 8 gezeigte Schaltungskonfiguration während des Datenfeldes, der ALU 36 wird befohlen, zu addieren und die Daten in A werden zu den Daten in C addiert.
Betrachtet man Fig. 11 b, dann liegt beispielsweise eine Adressenübereinstimmung (address match) vor, wenn das Wort C am Wort A vorbeigelangt. In diesem Fall bewirkt die Kombination des Match- Kennzeichnungssignals, d. h. des den Adressenvergleich anzeigenden Signals (Leitung 27), R und der Befehl im Befehlsfeld des Wortes C (SI beim A-Wortsegment), daß die exakt getakteten MO-Signale die erforderliche Schaltungskonfigurationen der Logik 33 in den verschiedenen Feldern der Wörter einstellen und es wird der ALU 36 befohlen, die gewählte Operation aus den möglichen Operationen der Einheit 36 auszuführen.
Ein Grundbefehlssatz kann folgende Operationen enthalten:
ADD= addieren SI zu RO, Summe zu RI ADD 1= addieren 1 zu RO, summieren zu RI INVERT= invertieren RI, zu RI SHIFT= verzögern RI um ein Bit, RI zu RI verschoben Exchange= SI zu RI, RO zu SO
Wenn die Operation ADD und ADD 1 ein Überlaufbit b n = 1 erzeugt, kann dies wie ein üblicher Zustands-Sprungbefehl benützt werden. Ein Sprung kann durch Änderung von b ₀ Bits zur Wiederaufteilung der langsamen Leitung ausgeführt werden. Wenn im einzelnen ein Sprung benützt wird, um b ₀ von 1 in 0 zu ändern, kann ein Unterprogramm aufgeteilt werden und dadurch an einer Programmausführung gehindert werden. Die schnelle Leitung kann dann erforderlich werden, um einzugreifen, damit ein unterschiedliches Muster von b ₀ Bits in die langsame Leitung einzugeben. b ₀ kann durch Adressierung des vorangehenden Wortes und durch Taktsteuerung solcher Art, daß die Schreiboperation bei b n+1, d. h. bei b ₀ des nächsten Wortes, in einem Wort, geschrieben werden. Andererseits kann ein Sprung ohne Eingriff der schnellen Leitung durch Änderung von b ₀ von 0 in 1 erreicht werden, um eine Verbindung zu dem nächsten Unterprogramm herzustellen.
Da ein einziges Adressensystem verwendet wird, ist die Programmierung eindeutig einer Begrenzung ausgesetzt. Die Operationen können nur zwischen Wörtern ausgeführt werden, deren Adressenfelder nur bei b m-1 differieren. Dieses Erfordernis kann dadurch vermieden werden, daß andere Operationen zu der vorstehend angegebenen Operationspalette hinzugegeben werden. Diese Operation besteht darin, daß ein Wort- Vergleich bzw. eine Wortübereinstimmung und nicht eine Adressenübereinstimmung erfaßt wird, jedoch bezüglich eines Wortes mit der Kennzeichnung b m = 1 (was durch eine vorangehende Operation begründet wird). Das gekennzeichnete Wort wird in das Datenfeld des Befehls "adressiert" addiert.
Im folgenden werden kurz zwei äußerst verschiedene Beispiele zur Verwendung der erfindungsgemäßen Anlage beschrieben. Es besteht im Augenblick besonderes Interesse an einer Daten-Kompression zur Erleichterung der Speicherung von Kurzdarstellungen usw. auf Magnetscheiben (für einen computergesteuerten Zugriff zu durch verschiedene Schlüsselwörter gekennzeichnete Informationen). Die Datenkompression wird zur Reduzierung der Speichererfordernisse benützt und beinhaltet die Suche nach gemeinsamen Buchstabenmustern (z. B. TION oder ING) und den Einsatz dieser Muster durch einzelne Zeichen (außerhalb des normalen Alphabets). Wenn die Information zurückgerufen wird, ersetzt sie direkt die einzelnen Zeichen durch ihre vollständigen Formen. Die Datenkompression beinhaltet jedoch auch die Suche nach Buchstabenmustern und läßt sich schwierig mit hoher Geschwindigkeit ausführen.
Die beschriebene Anlage eignet sich auch sehr gut zur Behandlung eines anderen Problems. Der zu komprimierende, codierte Text wird in die langsame Leitung eingegeben. Die Buchstabencodes, die gesucht werden sollen, und in einem anderen Teil des Speichers sich befinden, werden als Masken benützt und die ALU-Einheiten werden benützt, um die Zeichen zu kennzeichnen. Wenn beispielsweise die Buchstabenkombination ING gesucht wird, werden alle Buchstaben G zuerst gekennzeichnet. Dann wird eine Suche nach Buchstaben N ausgeführt, und alle G-Kennzeichnungen werden beseitigt und nur die Buchstaben N werden gekennzeichnet, wenn auf der nächsten Zeichenzelle eine Kennzeichnung vorlag. Ein weiterer, ähnlicher Schritt beläßt nur diejenigen Buchstaben I, die zu den gekennzeichneten Kombinationen ING gehören. Die gekennzeichneten Gruppen können nunmehr durch das entsprechende Einzelzeichen ersetzt (Schreiboperation) werden. Wenn alle Buchstabengruppen der Reihe nach behandelt wurden, hat der Text alle ausgewählten Buchstabengruppen durch einzelne Zeichen ersetzt. Die in dem Text erzeugten Lücken können in dem Speicher selbst (durch kleinere Schleifen mit Umlaufschaltung ohne Zeichen) oder beim Auslesen aus dem Speicher geschlossen werden.
Eine vollständig unterschiedliche Anwendungsmöglichkeit bezieht sich auf eine Digital/Analog-Anordnung für eine Radar-Darstellung eines Luftraumvolumens, z. B. zur Verwendung in einem System zur Vermeidung von Kollisionen des Luftraumes eines größeren Flugplatzes. Das Luftraumvolumen kann dadurch abgetastet werden, daß eine Antenne Seiten- und Höhenrichtung abtastet und die Radar-Antwortsignale für jede Suchrichtung in Bereich-Bits sortiert werden. Das Luftraumvolumen wird dadurch effektiv in eine dreidimensionale Zellenanordnung aufgeteilt, die durch die Seiten- (Azimuth-), Höhen- und Bereichskoordinaten definiert ist. Die Stärke der Antwortsignale der Zellen können in Digitalwerte umgewandelt und in der langsamen Leitung bzw. dem langsamen Speicher der beschriebenen Datenverarbeitungsanlage gespeichert werden. Die digitalen Daten treten in Zeichenfolgen auf, wobei eine Zeichenfolge bzw. Datenkette für jede Suchrichtung gilt, und die Zeichenfolgen werden in der langsamen Leitung bzw. dem langsamen Speicher gegenseitig zugefügt, wobei jedes Segment des Speichers einer Zelle der Reihe bzw. Anordnung entspricht.
Um die exakt auf den neuesten Stand gebrachte Darstellung beizubehalten, können die folgenden Operationen ausgeführt werden. Da das Luftraumvolumen wiederholt abgetastet wird, sollte an erster Stelle der Wert in jeder Zelle im Verhältnis zur Stärke des Antwortsignals erhöht werden, welches für die betreffende Zelle erhalten wird. Zum zweiten sollte der Wert in jeder Zelle um ein vorbestimmtes Verhältnis des Wertes verringert werden. Zum dritten sollte der Wert in jeder Zelle mit vorbestimmten Verhältnissen der Werte in den 26 benachbarten Zellen erhöht werden. Diese Operationen ergeben zusammen eine geeignete Darstellung der wahren Zielflächen (targets) in dem Luftraum, wobei sich bewegende Ziele wie ein "Komet" aufgezeichnet werden, der sich über mehrere Zellen erstreckt, während Stör-"Ziele", die von Störungen und anderen Geräuschen herrühren, ausgeglichen, bzw. ausgemittelt werden.
Es ist ersichtlich, daß die vorstehend angegebenen Operationen sehr einfache arithmetische Operationen sind, die unter Verwendung bekannter Techniken durch ALU-Einheiten 36 leicht ausführbar sind. Die dritte Operation erfordert jedoch eine Wechselwirkung zwischen Zellen, die sich in der Nähe der Reihe bzw. Anordnung befinden, die jedoch in dem Speicher in Segmenten repräsentiert werden, die mit zwei Ausnahmen, nicht in der Nähe liegen. (Diese beiden Ausnahmen beziehen sich auf die Zellen, die den gleichen Azimuth und die gleiche Höhe wie die zu betrachtende Zelle haben, die jedoch Bereiche beinhalten, die eine Einheit weniger und eine Einheit mehr als der Bereich der im Betracht befindlichen Zellen haben. Diese Zellen haben benachbarte Segmente, d. h. kleinere Schleifen in einer Zeichenfolge).
Das Problem besteht daher darin, den ALU-Einheiten 36 alle Segment- Paare zu präsentieren, die in der dritten Operation enthalten sind. Es ist somit ersichtlich, daß die beschriebene Anlage dazu geeignet ist, dies in der gewünschten Weise auszuführen. Die erwähnten Zeichenfolgen können größerern Schleifen zugeordnet sein, d. h. jede größere Schleife repräsentiert eine Radarabtastung in einer gegebenen Zugrichtung. Durch geeignete Programmierung der Umlauf- und Serienkonfigurationen der kleineren Schleifen innerhalb aller Zeichenfolgen können die benachbarte Segmente enthaltenden Operationen ausgeführt werden. Durch geeignete Programmierung können auch die Umlauf- und Serienkonfigurationen der größeren Schleifen, die Segmente, die in verschiedenen größeren Schleifen enthalten sind, zusammengeführt werden, damit die Operationen zwischen diesen größeren Schleifen ausgeführt werden. Die Befehle, welche die vorstehend angegebenen arithmetischen Operationen steuern, werden in die langsame Leitung bzw. den langsamen Speicher bei der Aufstellung der Anlage eingegeben und bleiben unverändert, während sich die Daten verändern, um die auf den neuesten Stand gebrachten Darstellungen beizubehalten. Die Befehle, welche die Schaltungsanordnung so steuern, um die Segmente zur Verarbeitung zusammenzuführen, können über die schnelle Leitung gegeben werden. Um Kollisionen zu verhindern, kann der Inhalt der langsamen Leitung bzw. langsamen Speichers periodisch in eine zweite langsame Leitung bzw. einen zweiten langsamen Speicher kopiert werden, z. B. alle zwei Sekunden. Die zweite langsame Leitung bzw. der zweite langsame Speicher enthält Befehle, welche die Verarbeitungseinheiten befähigen, den Speicherzustand zu extrapolieren, d. h. den Zustand in der Zeit voraus zu verlängern. Diese Befehle verlängern alle "Komenten" in deren Kopfrichtung um Beträge, die proportional zu deren Länge sind und solche "Komet"-Darstellungen, die sich dann treffen, geben solche Flugzeuge an, die sich auf Kollisionskurs befinden. Demzufolge kann die Kontrollperson eine geeignete Maßnahme zur Vermeidung einer Kollision einleiten.
Die Verarbeitung kann durch eine geeignete, anfängliche Klassifizierung bzw. Reihenfolge der Datenwörter erleichtert werden. Bei Betrachtung eines zweidimensionalen Beispiels von Datenwörtern A 1 bis A 6, B 1 bis B 6, C 1 bis C 6, D 1 bis D 6, E 1 bis E 6 und F 1 bis F 6 als einfaches Beispiel ergibt sich, daß diese Wörter entsprechend nachfolgender Darstellung in Zeilen A, B, C usw. und Spalten 1, 2, 3 usw. aufgeteilt werden können. Diese Wörter sind jedoch nicht in der angegebenen Reihenfolge, sondern in folgender Reihenfolge gespeichert:
Die umlaufenden und seriellen Operationen, die erforderlich sind, um benachbarte Wörter zu verarbeiten, werden dadurch vereinfacht.

Claims (1)

  1. Datenverarbeitungsanlage, enthaltend einen Serienspeicher, der aus einer Vielzahl von Segmenten (Abschnitten) besteht, die jeweils ein Schieberegister (15), eine Einrichtung (36) zum Ausführen von Datenverarbeitungsoperationen und eine Leitlogik (33) aufweisen, die zur Bildung mehrerer ausgewählter Schaltungskonfigurationen betätigbar ist, und zwar einschließlich einer Serien-Konfiguration, bei der ein Segment-Eingangsanschluß (SI) mit einem Eingangsanschluß (RI) des Schieberegisters und ein Ausgangsanschluß (RO) des Schieberegisters mit einem Segment-Ausgangsanschluß (SO) verbunden ist, und einer Umlauf- Konfiguration, bei der der Segment-Eingangsanschluß (SI) mit dem Segment-Ausgangsanschluß (SO) durch eine Überbrückungsleitung (30) und der Register-Ausgangsanschluß (RO) durch eine Rückführung (31) mit dem Register-Ausgangsanschluß (RI) verbunden ist, dadurch gekennzeichnet,
    daß die Leitlogik (33) ferner zur Bildung einer Verarbeitungs- Konfiguration betätigbar ist, bei der der Segment-Eingangsanschluß (SI) durch die Überbrückungsleitung (30) mit dem Segment-Ausgangsanschluß (SO), der Segment-Eingangsanschluß (SI) und der Register-Ausgangsanschluß (RO) mit Eingängen einer arithmetisch-logischen Einheit (36) und ein Ausgang der arithmetisch-logischen Einheit (36) mit dem Register-Eingangsanschluß verbunden sind,
    daß die Datenverarbeitungsanlage derart ausgebildet ist, daß sie Wörter entsprechend einem vorangehenden Kennzeichnungsbit verarbeiten kann,
    und daß jedes Segment außerdem enthält:
    eine logische Schaltung (40, 41, 42), die auf die beiden am Segment-Eingangsanschluß (SI) und am Register-Ausgangsanschluß (RO) auftretenden vorangehenden Kennzeichnungsbits (b₀) anspricht und daraufhin die Auswahl der Serien-Konfiguration veranlaßt, wenn diese Kennzeichnungsbits (SIb ₀ und ROb₀) voneinander verschieden sind, und die Auswahl der Umlauf-Konfiguration veranlaßt, wenn diese Kennzeichnungsbits (SIb ₀ und ROb ₀) beide einen vorbestimmten Wert haben,
    und einen Befehls-Decoder (24), der auf einen Befehl in dem auf den Segment-Eingangsanschluß (SI) gegebenen Wort anspricht und daraufhin die Umschaltung der Schaltungskonfiguration von der Umlauf- Konfiguration in die Verarbeitungs-Konfiguration sowie die Auswahl einer von der arithmetisch-logischen Einheit (36) auszuführenden Verarbeitungsoperation veranlaßt.
DE19782840384 1978-09-16 1978-09-16 Datenverarbeitungsanlage Granted DE2840384A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19782840384 DE2840384A1 (de) 1978-09-16 1978-09-16 Datenverarbeitungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19782840384 DE2840384A1 (de) 1978-09-16 1978-09-16 Datenverarbeitungsanlage

Publications (2)

Publication Number Publication Date
DE2840384A1 DE2840384A1 (de) 1980-04-03
DE2840384C2 true DE2840384C2 (de) 1988-06-23

Family

ID=6049629

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782840384 Granted DE2840384A1 (de) 1978-09-16 1978-09-16 Datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE2840384A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1377859A (en) * 1972-08-03 1974-12-18 Catt I Digital integrated circuits
US3986016A (en) * 1975-02-10 1976-10-12 Texas Instruments Incorporated Single chip magnetic bubble processor

Also Published As

Publication number Publication date
DE2840384A1 (de) 1980-04-03

Similar Documents

Publication Publication Date Title
DE68928213T2 (de) Inhaltadressierte Speicherzellenanordnung
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE3650156T2 (de) Auf regeln basiertes datenwiederauffindverfahren und anordnung.
DE2714805C2 (de)
DE68914172T2 (de) Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem.
DE3545125C2 (de)
DE2234867C2 (de) Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen
DE1928202B2 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
DE3688738T2 (de) Musteradressierbarer speicher.
DE2145709A1 (de) Datenverarbeitungsanlage
DE2747196A1 (de) Vergleicheranordnung zum vergleichen von information variabler laenge
DE2926322A1 (de) Speicher-subsystem
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE19526008A1 (de) Vertikal partitionierter, primärer Befehls-Cache-Speicher
DE4210109C2 (de) Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren
DE3688737T2 (de) Kontextadressierbarer umlaufspeicher.
DE2840384C2 (de)
DE1295656B (de) Assoziativer Speicher
DE1957600C3 (de)
DE3149926A1 (de) Programmierbare vergleichsschaltung
DE1524264C3 (de) Einrichtung zur Erzeugung einer Bildaufzeichnung
DE2901455A1 (de) Anordnung und verfahren zum wahlfreien zugriff eines umlaufenden speichers
DE1499727C3 (de) Schaltungsanordnung zur Selektion von Befehlswörtern
EP0139817B1 (de) Verfahren und Anordnung zum Aufsuchen von einem vorgegebenen Suchargument entsprechenden Daten einer Datenfolge in einem Hybrid-Assoziativspeicher

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee