DE3610155A1 - Multiprocessor system for parallel writing and reading of information - Google Patents

Multiprocessor system for parallel writing and reading of information

Info

Publication number
DE3610155A1
DE3610155A1 DE19863610155 DE3610155A DE3610155A1 DE 3610155 A1 DE3610155 A1 DE 3610155A1 DE 19863610155 DE19863610155 DE 19863610155 DE 3610155 A DE3610155 A DE 3610155A DE 3610155 A1 DE3610155 A1 DE 3610155A1
Authority
DE
Germany
Prior art keywords
processor
memory
interrupt
program
processors
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
DE19863610155
Other languages
German (de)
Inventor
Joachim Bauer
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 DE19863610155 priority Critical patent/DE3610155A1/en
Publication of DE3610155A1 publication Critical patent/DE3610155A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

Multiprocessor system based on microprocessors, with individual and common memory environments, for parallel writing and reading of information: &cirf& One processor writes to one memory, while a second processor reads from the other memory of a memory pair. &cirf& The assignment of memories to processors is exchanged; the read memory becomes the write memory and vice versa. &cirf& The repeated read-write cycles are interrupt-controlled, and begin at the earliest possible moment, determined by the processor which completes its memory access last. &cirf& The memory switching to one processor is done via special memory switches, and the access itself is implemented via a processor-specific address range. &cirf& Special control lines take care of signal exchange between processors. &cirf& A complete multiple processor system has at least two processors, a program processor and a loading processor, and at least two memory pairs, one to handle program units and one for data transmission. <IMAGE>

Description

Die Erfindung betrifft ein Mehrprozessorsystem auf Mikroprozessorbasis für paralleles Schreiben und Lesen von Informationen, mit eigener und gemeinsamer Speicherumgebung, mit umschaltbaren Speichern, mit bidirektionalen Daten- und unidirektionalen Adreßleitungen zu den Speichern und mit speziellen Steuerleitungen zwischen den Prozessoren.The invention relates to a multiprocessor system Microprocessor base for parallel writing and reading of Information, with its own and shared storage environment, with switchable memories, with bidirectional data and unidirectional address lines to the memories and with special control lines between the processors.

Grob unterschieden, gibt es Mehrprozessorsysteme, in denen mehrere Prozessoren ein Programm parallel abarbeiten, oder bei denen der Hauptprozessor von peripheren Funktionen entlastet und Programmteile durch spezielle Prozessoren abgearbeitet werden. Im ersten Fall steht der Sicherheitsaspekt im Vordergrund, im zweiten die beschleunigte Programmabarbeitung. Die mit der Erfindung angesprochenen Systeme gehören zu der zweiten Kategorie: Systeme dieser Art sind gekennzeichnet durch Einsatz großer Speicher, bedingt durch die komplexen Programme, und schneller Datenperipherie, die vor allen Dingen lange Ladezeiten der Programme kompensieren sollen.Broadly differentiated, there are multiprocessor systems in where several processors are running a program in parallel, or where the main processor of peripheral functions relieved and program parts processed by special processors will. In the first case there is the security aspect in the foreground, in the second the accelerated program execution. The systems addressed by the invention include to the second category: systems of this type are marked through the use of large memory, due to the complex programs, and faster data peripherals before compensate for all things long program loading times should.

Will man die Ansprüche an Speicherumfang und Datenträgerlaufwerke möglichst gering halten und dennoch nicht auf umfangreiche Programmanwendungen verzichten, so ist eine andere Programmtechnik erforderlich: Das Programm wird in relativ kleine Programmeinheiten zerlegt, die ständig in definierter Folge nachgeladen werden. Diese Programmtechnik ist durchaus schon auf ein Zwei-Rechnersystem (Abb. 15) übertragbar, allerdings mit dem Nachteil, daß die Nachladeprozesse den Programmablauf unterbrechen. Um einen ununterbrochenen Programmablauf zu erhalten, muß deshalb schon während der Programmabarbeitung einer Programmeinheit die nächste geladen werden können. Erforderlich hierfür ist mindestens ein Zwei-Mikroprozessorsystem.If you want to keep the amount of memory and disk drives as small as possible and still not want to do without extensive program applications, another program technique is required: The program is broken down into relatively small program units that are constantly reloaded in a defined sequence. This program technology can already be transferred to a two-computer system ( Fig. 15), but with the disadvantage that the reloading processes interrupt the program. In order to obtain an uninterrupted program flow, it must therefore be possible to load the next one while the program is being processed. At least one two microprocessor system is required for this.

Bekannt sind eine Reihe von Mehrprozessorsystemen auf Mikroprozessorbasis oder entsprechende Rechner- und Speicherkopplungen, die paralleles Schreiben und Lesen von Informationen gestatten. Hierzu folgende Patentschriften:
DE-AS 27 49 226
DE-PS 31 37 313 C2
DE-OS 33 35 357
DE-PS 30 26 362
DE-OS 33 31 135
DE-PS 33 29 956 C2
DE-OS 34 09 885
A number of multiprocessor systems based on microprocessors or corresponding computer and memory couplings which allow parallel writing and reading of information are known. The following patents:
DE-AS 27 49 226
DE-PS 31 37 313 C2
DE-OS 33 35 357
DE-PS 30 26 362
DE-OS 33 31 135
DE-PS 33 29 956 C2
DE-OS 34 09 885

Grundlagen und Konzeptionen von Mehrprozessorsystemen sind mehrfach in der Zeitschrift "Elektronik" erörtert worden, so in den Heften H. 2, 1982, S. 76-102; H. 24, 1983, S. 51-55; H. 21, 1984, S. 229-232; H. 17, 1984, S-39-44 und 64-55, H. 13, 1985, S. 85-91 und im Sonderheft Nr. 54 "Multi-Prozessor-Systeme".Basics and concepts of multiprocessor systems have been discussed several times in the magazine "Electronics" so in booklets H. 2, 1982, pp. 76-102; H. 24, 1983, pp. 51-55; H. 21, 1984, pp. 229-232; H. 17, 1984, S-39-44 and 64-55, H. 13, 1985, Pp. 85-91 and in special issue no. 54 "Multi-processor systems".

Bei den Mehrprozessorsystemen zur schnelleren Programmabwicklung steht die erhöhte Prozessorgesamtleitung im Vordergrund. Die Frage nach der Programmtechnik unter dem Aspekt der Auflösung umfangreicher Programme in kleine Programmeinheiten wird nicht gestellt. Das impliziert auch bei Mehrprozessorsystemen: Mehr Speicher und schnellere Datenperipherie, je umfangreicher die Programme.With the multi-processor systems for faster program execution the increased overall processor line is in the foreground. The question of program technology from the aspect the resolution of extensive programs into small program units is not provided. This also implies with multiprocessor systems: More memory and faster data peripherals, the more extensive the programs.

Der Erfindung liegt nun die Aufgabe zugrunde, gleichzeitiges Lesen und Schreiben von Informationen (Programmeinheiten, Daten) in zwei alternierende Speicher eines Speicherpaares mit Hilfe zweier Prozessoren zu ermöglichen. Dabei ist für das Programmhandling und für die während des Programmablaufes zu vollziehende Datenübertragung je ein Speicherpaar vorzusehen, damit das Laden und Abarbeiten der Programmeinheiten unbehindert ablaufen kann. Diese Aufgaben werden durch ein Mehrprozessorsystem nach den Ansprüchen 1, 2 und 3 gelöst. The invention is based on the object, simultaneous Reading and writing of information (program units, Data) in two alternating memories of a pair of memories with the help of two processors. Here is for program handling and for those during the Data transfer to be carried out each time Provision of memory pair so that the loading and processing of the Program units can run freely. These tasks are by a multi-processor system according to claims 1, 2 and 3 solved.  

Die erfindungsgemäßen Ausbildungen des Mehrprozessorsystems ermöglichen den Einsatz relativ kleiner und damit überschaubarer Programmeinheiten, was eine vereinfachte und erheblich schnellere Programmentwicklung ermöglicht. Kleine ablauffähige Programmeinheiten vereinfachen wiederum die Firmware (z. B. Interpreter). Hierdurch und aufgrund des direkten Zusammenwirkens beider Prozessoren wird ohne erhöhte technische Anforderungen ein schnellerer Programmdurchsatz erzielt. Das System benötigt auch bei hohen Ansprüchen nicht mehr als 128-256 KB Gesamtspeicher, obgleich die Programmlänge ein Vielfaches davon betragen kann; die Grenzen liegen eher in der verfügbaren Kapazität der Datenträgerlaufwerke. Die Programmspeicher überschreiten nicht 10 KB, die Datenübertragungsspeicher kommen mit ca. 1 KB aus. Für diese kleinen Speicher können daher teurere, aber dafür sehr schnelle Speicherbausteine eingesetzt werden, mit dem Effekt, daß bei entsprechend schnellem Programmprozessor der Programmablauf wesentlich beschleunigt werden kann, wobei der Ladeprozessor jedoch mit geringerer Taktgeschwindigkeit laufen kann.The inventions of the multiprocessor system allow the use relatively small and therefore manageable program units, which is a simplified and enables significantly faster program development. Little one Executable program units in turn simplify the Firmware (e.g. interpreter). Because of this and because of the direct Interaction of both processors is increased without technical requirements a faster program throughput achieved. The system does not need even with high demands more than 128-256 KB total memory, although the program length can be a multiple thereof; the limits are rather in the available capacity of the disk drives. The program memory does not exceed 10 KB, the data transfer memory get along with about 1 KB. For this Small storage can therefore be more expensive, but very fast Memory chips are used, with the effect that at the program flow corresponding to the fast program processor can be accelerated significantly, the loading processor however, can run at a slower clock speed.

Ausführungsbeispiele sind in den Zeichnungen dargestellt und werden nachfolgend erläutert.Exemplary embodiments are shown in the drawings and are explained below.

Es zeigen:Show it:

Abb. 1 den taktweisen Speicherwechsel beim gleichzeitigen Lesen und Schreiben zweier Prozessoren in alternierende Speicher, Fig. 1 the cyclic memory change when reading and writing two processors in alternating memory at the same time,

Abb. 2 die Kopplung zweier Prozessoren mit ihren gemeinsamen Speichern, Fig. 2 the coupling of two processors with their shared memories,

Abb. 3 ein Zwei-Prozessorsystem mit kombinierten Programm- und Datenübertragungsspeichern, Fig. 3 a two-processor system with combined program and data transfer memories,

Abb. 4 die Steuerleitungen zwischen den Prozessoren, Fig. 4 the control lines between the processors,

Abb. 5 zweiseitig schaltbare Interruptsignalleitungen, Fig. 5 double-sided interrupt signal lines,

Abb. 6 zweiseitig schaltbare Speicherzuordnungsleitungen, Fig. 6 two-way switchable memory allocation lines,

Abb. 7 einseitig schaltbare Interruptsignalleitungen, Fig. 7 one-way switch interrupt signal lines,

Abb. 8 ein Mehrprozessorsystem mit einem Ladeprozessor und mehreren Programmprozessoren, Fig. 8 a multiprocessor system with a loading processor and several program processors,

Abb. 9 die um eine Phase versetzten Prozessortakte eines takt- und zeitsymmetrischen Zwei- Prozessorsystems, Fig. 9 the phase-shifted processor clocks of a clock and time-symmetrical two-processor system,

Abb. 10 Speicherzugriffe in einem takt- und zeitsymmetrischen Zwei-Prozessorsystem, Fig. 10 memory accesses in a clock and time-symmetrical two-processor system,

Abb. 11 die Taktsteuerung bei Einsatz zweiseitig schaltbarer Interrupt- und Speicherzuordnungsleitungen, Fig. 11 the clock control when using bilaterally switchable interrupt and memory allocation lines,

Abb. 12 die Taktsteuerung bei Einsatz einseitig schaltbarer Interruptleitungen und zweiseitig schaltbarer Speicherzuordnungsleitungen, Fig. 12 the clock control when using one-way switchable interrupt lines and two-way switchable memory allocation lines,

Abb. 13 die Taktsteuerung bei Einsatz zweiseitig schaltbarer Interruptleitungen und Speicherzuordnungsregister, Fig. 13 the clock control when using bilaterally switchable interrupt lines and memory allocation registers,

Abb. 14 die Taktsteuerung bei Einsatz einseitig schaltbarer Interruptleitungen und Speicherzuordnungsregister, Fig. 14 the clock control when using interrupt lines and memory allocation registers that can be switched on one side,

Abb. 15 ein Zwei-Rechnersystem mit Hochgeschwindigkeitskopplung, Fig. 15 a two-computer system with high-speed coupling,

Abb. 16 ein integriertes Zwei-Prozessorsystem, Fig. 16 an integrated two-processor system,

Abb. 17 einen Programmrechner als Steckkartenrechner, und Fig. 17 a program computer as a plug-in card calculator, and

Abb. 18 einen Programmrechner als Tastaturrechner. Fig. 18 a program computer as a keyboard calculator.

Gleiche Teile sind in den Zeichnungen mit gleichen Bezugszeichen versehen.Identical parts are given the same reference symbols in the drawings Mistake.

Die beiden Mikroprozessoren arbeiten taktweise zusammen (Abb. 1): Ein Prozessor, der Schreibprozessor 1, schreibt in einem ersten Takt in den ersten Speicher 3, während der zweite Prozessor, der Leseprozessor 2, aus dem zweiten Speicher 4 liest. In einem zweiten Takt schreibt der Schreibprozessor 1 in den zweiten Speicher 4, und der Leseprozessor 2 liest aus dem ersten Speicher 2 die Daten, die der Schreibprozessor 1 in dem vorangegangenen Takt dort eingeschrieben hat. Nach Abschluß der zweiten Taktes wiederholen sich beide Takte wieder in der gleichen Weise.The two microprocessors work together in cycles ( Fig. 1): A processor, the write processor 1 , writes in a first cycle into the first memory 3 , while the second processor, the read processor 2 , reads from the second memory 4 . In a second cycle, the write processor 1 writes into the second memory 4 , and the read processor 2 reads from the first memory 2 the data which the write processor 1 has written there in the previous cycle. After the end of the second measure, both measures are repeated in the same way.

Für den parallelen und wechselweisen Zugriff der Prozessoren 1, 2 auf die Speicher 3, 4 müssen diese umschaltbar gestaltet sein (Abb. 2). Die Aufgabe übernehmen spezielle Speicherumschalter 5, z. B. Multiplexer. Der Speicherumschalter 5 koppelt den Prozessor 1, 2 automatisch mit dem Speicher 3, 4, wenn der hardwaremäßig realisierte Adreßbereich vom Prozessor angesprochen wird. Kollisionen im Speicherzugriff können nicht auftreten, da beide Prozessoren 1, 2 immer auf zwei verschiedene Speicher 3, 4 eines Speicherpaares zugreifen. Dafür muß aber der Taktbeginn ständig neu justiert werden, damit Speicherwechsel und -zugriff erst dann einsetzen, wenn die laufenden Schreib- bzw. Lesevorgänge bei beiden Prozessoren abgeschlossen sind.For the parallel and alternate access of the processors 1, 2 to the memories 3, 4 , these must be designed to be switchable ( Fig. 2). The task take over special memory switch 5 , z. B. Multiplexer. The memory switch 5 couples the processor 1, 2 automatically to the memory 3, 4 when the hardware-implemented address area is addressed by the processor. Collisions in memory access cannot occur since both processors 1, 2 always access two different memories 3, 4 of a memory pair. To do this, however, the start of the cycle must be constantly readjusted so that memory changes and access only start when the current write or read processes for both processors have been completed.

Ein vollständiges Zweiprozessorsystem (Abb. 3) besitzt zwei Speicherpaare (I, II), eines für das Programmhandling und eines für die Datenübertragung zwischen den Prozessoren 10, 12. Für jedes Speicherpaar (I, II) muß ein Satz Steuerleitungen 11, 49 bereitgestellt werden. Die Verfahrensweise beim parallelen Zugriff bleibt in beiden Fällen unverändert. Es wird immer ein Speicherpaar von den Prozessoren 10, 12 gemeinsam angesprochen.A complete two-processor system ( Fig. 3) has two memory pairs ( I, II ), one for program handling and one for data transfer between processors 10, 12 . A set of control lines 11, 49 must be provided for each pair of memories ( I, II ). The procedure for parallel access remains unchanged in both cases. Processors 10, 12 always address a pair of memories together.

In bezug auf die Programmabarbeitung übernimmt ein Prozessor, der Ladeprozessor 12, nur das Laden der Programmeinheiten in die Programmspeicher 6, 7. Seine Funktion entspricht der des Schreibprozessors 1. Der andere Prozessor, der Programmprozessor 10, führt ausschließlich die Programmabarbeitung durch. Er ist vergleichbar mit dem Leseprozessor 2. Während einer Datenübertragung greifen die beiden Prozessoren 10, 12 auf die Datenübertragungsspeicher 8, 9 zu. Schreiben und Lesen sind in diesem Fall nicht prozessorgebunden.With regard to the program processing, a processor, the loading processor 12 , only loads the program units into the program memories 6, 7 . Its function corresponds to that of the write processor 1 . The other processor, the program processor 10 , only executes the program execution. It is comparable to the reading processor 2 . During a data transfer, the two processors 10, 12 access the data transfer memories 8, 9 . In this case, writing and reading are not processor-bound.

Das Datenübertragen, in der Regel während des Programmablaufes vom Programmprozessor 10 ausgelöst, hat gegenüber dem Laden von Programmeinheiten eine höhere Priorität: Es kann passieren, daß bei Einleitung einer Datenübertragung der Ladeprozessor gerade eine Programmeinheit lädt. Der Programmprozessor 10 soll deshalb seine Programmabarbeitung nicht unterbrechen, d. h. der Ladeprozessor muß so per Interrupt veranlaßt werden können, seine Ladetätigkeit wegen der Datenübertragung zwischenzeitlich zu unterbrechen. Erst nach Schluß der Datenübertragung kann er dann sein Laden fortsetzen (verschachtelte Taktfolgen).The data transfer, usually triggered by the program processor 10 during the course of the program, has a higher priority than the loading of program units: it can happen that the load processor is loading a program unit when data transfer is initiated. The program processor 10 should therefore not interrupt its program processing, ie the loading processor must be able to be interrupted to interrupt its loading activity in the meantime because of the data transmission. He can only continue loading after the data transfer is complete (nested clock sequences).

Für die Taktsteuerung und den Wechsel der Speicher stehen je nach Hardwareausführung bis zu vier Steuerleitungen je Speicherpaar zur Verfügung (Abb. 4). Zwei davon, 15, 16, stellen unidirektionale Interruptleitungen dar. Sie sorgen für die Übertragung der Signale, die den Anfang des Taktes für ein gleichzeitiges Schreiben und Lesen von Informationen (Programmeinheiten, Daten) festlegen. Die anderen beiden Leitungen, die Speicherzuordnungsleitungen 17, 18, sind bidirektional aufgebaut und kennzeichnen die aktuelle Zuordnung der Speicher zu den Prozessoren 10, 12. Ihr Pegelzustand kann durch die Prozessoren 10, 12 über spezielle I/O-Ports 19, 20 abgefragt werden. Um einen logischen Ausgangszustand definieren oder auch Steuerzustände markieren zu können, erhalten beide Prozessoren 10, 12 je ein Interrupt- 43, 44 und ein Speicherzuordnungsregister 13, 14.Depending on the hardware version, up to four control lines per memory pair are available for clock control and changing the memory ( Fig. 4). Two of these, 15, 16 , represent unidirectional interrupt lines. They provide for the transmission of the signals that define the start of the clock for simultaneous writing and reading of information (program units, data). The other two lines, the memory allocation lines 17, 18 , are constructed bidirectionally and identify the current allocation of the memories to the processors 10, 12 . Their level state can be queried by the processors 10, 12 via special I / O ports 19, 20 . In order to be able to define a logical output state or also to be able to mark control states, both processors 10, 12 each have an interrupt 43, 44 and a memory allocation register 13, 14 .

Die Interruptsignalleitungen können einseitig oder zweiseitig schaltbar aufgebaut sein:The interrupt signal lines can be one-sided or be designed to be switchable on both sides:

  • a) zweiseitig schaltbar (Abb. 5): Der Programmprozessor 10 spricht über eine RAM-Adreßleitung 21 den ihm zugeordneten Schalter 27 an, der die Interruptleitung 15 auf "Interrupt aktiv" setzt. Ein rechtsseitiger Schalter 28 sperrt jedoch den Kontakt zum Zielprozessor 12. Sobald aber der Ladeprozessor 12 den Schalter 28 über ebenfalls eine RAM-Adreßleitung 22 aktiviert hat, schaltet dieser die Interruptleitung 15 auf die Schalter-Prozessor-Interruptleitung 23 durch: Am Ladeprozessor 12 wird ein Interrupt ausgelöst. Eine Rücksetzlogik 31 stellt nach Interruptauslösung die Ausgangspegel der Leitungen 15, 23 wieder her. Die Schaltfolge gilt in gleicher Weise für einen Interrupt vom Lade- zum Programmprozessor.a) Switchable on both sides ( Fig. 5): The program processor 10 speaks via a RAM address line 21 to the switch 27 assigned to it, which sets the interrupt line 15 to "interrupt active". However, a right-hand switch 28 blocks contact with the target processor 12 . But as soon as the charge processor 12 activates the switch 28 via a likewise RAM address line 22, this turns on the interrupt line 15 to the switch processor interrupt line 23 by: In the charge processor 12 an interrupt is triggered. Reset logic 31 restores the output levels of lines 15, 23 after triggering an interrupt. The switching sequence applies in the same way for an interrupt from the load processor to the program processor.
  • b) einseitig schaltbar (Abb. 7): Der Programmprozessor 10 spricht über die RAM-Adreßleitung 21 den Schalter 27 an. Dieser schaltet die Interruptleitung 15 auf "Interrupt aktiv". Der Ladeprozessor 12 vermerkt die Interruptauslösung, die gleichbedeutend mit einer Speicherfreigabe ist, in seinem Interruptregister 43. Nach der Speicherumschaltung wird dieses Register wieder zurückgesetzt. Ein Interrupt vom Lade- 12 zum Programmprozessor wird ebenfalls in gleicher Weise abgewickelt.b) Switchable on one side ( Fig. 7): The program processor 10 speaks to the switch 27 via the RAM address line 21 . This switches the interrupt line 15 to "interrupt active". The load processor 12 notes the interrupt triggering, which is equivalent to a memory release, in its interrupt register 43 . After the memory switchover, this register is reset. An interrupt from the load processor 12 to the program processor is also handled in the same way.

Die Speicherzuordnungsleitungen 17, 18 sind zweiseitig schaltbar aufgebaut (Abb. 6). Je eine Leitung markiert einen bestimmten Speicher, z. B. die erste Leitung 17 den ersten Speicher 6 bzw. 8, die zweite Leitung 18 den zweiten Speicher 7 bzw. 9. Die aktuelle Zuordnung erkennt den Prozessor 10, 12 anhand des für ihn definierten logischen Pegels der Signalleitungen, z. B. ordnet Pegel 0 den Speicher 6, 7 bzw. 8, 9 dem Ladeprozessor 12, Pegel 1 den Speicher dem Programmprozessor 10 zu. Bei dieser Verfahrensweise muß ergänzend sichergestellt werden, daß der Speicherwechsel erst erfolgt, wenn beide Prozessoren 10, 12 auch wirklich ihre Zugriffe beendet haben. Dieses gelingt auf folgende Weise: Zum Beispiel spricht der Programmprozessor 10 die ihm zugeordneten Schalter 39, 40 zuerst an. Zähler 37, 38, denen der Schaltvorgang mitgeteilt wird, zählen um 1 hoch. Etwas später aktiviert der Ladeprozessor 12 seine Schalter 37, 38. Den Zählern 37, 38 wird auch das mitgeteilt; sie zählen wiederum um 1 hoch. Ein zweifaches Zählen schaltet dann die Pegel auf beiden Leitungen 17, 18 um. Hiernach müssen beide Zähler 37, 38 wieder auf 0 zurückgesetzt werden. Über den Vergleich der Ist-Werte am I/O-Port 19, 20 mit den Initialisierungswerten im Speicherzuordnungsregister 13, 14 kann der Speicher 6, 7 bzw. 8, 9 vom Prozessor 10, 12 genau adressiert werden. Anstelle des Programmprozessors 10 kann auch der Ladeprozessor 12 die Schaltvorgänge, einleiten.The memory allocation lines 17, 18 are switchable on both sides ( Fig. 6). Each line marks a certain memory, e.g. B. the first line 17 the first memory 6 or 8 , the second line 18 the second memory 7 or 9 . The processor 10, 12 recognizes the current assignment on the basis of the logical level of the signal lines defined for it, e.g. B. Level 0 assigns the memory 6, 7 or 8, 9 to the load processor 12 , level 1 the memory to the program processor 10 . With this procedure, it must additionally be ensured that the memory change does not take place until both processors 10, 12 have actually ended their accesses. This is achieved in the following way: for example, the program processor 10 first addresses the switches 39, 40 assigned to it. Counters 37, 38 , which are informed of the switching process, count up by 1. A little later, the charging processor 12 activates its switches 37, 38 . This is also communicated to the counters 37, 38 ; they count up by 1 again. Double counting then switches the levels on both lines 17, 18 . After this, both counters 37, 38 must be reset to 0. The memory 6, 7 or 8, 9 can be precisely addressed by the processor 10, 12 by comparing the actual values at the I / O port 19, 20 with the initialization values in the memory allocation register 13, 14 . Instead of the program processor 10 , the loading processor 12 can also initiate the switching operations.

Die Kopplung jeweils eines Programmprozessors 10 mit einem Ladeprozessor 12 ist für einen unterbrechungsfreien Programmablauf nicht zwingend erforderlich. Vielmehr kann ein leistungsfähiger Ladeprozessor 12 mit einer ausreichenden Speicherumgebung gleich mehrere Programmprozessoren 10 bedienen (Abb. 8), da in der Regel die Ladeprozesse wesentlich schneller ablaufen als die Abarbeitung von Programmeinheiten. An der Verfahrensweise ändert sich dadurch nichts, zusätzlich müssen aber eine Umschaltlogik 48 auf die einzelnen Programmprozessoren und ein Interruptsteuerbaustein mit Prioritätenregelung 45 eingeführt werden, um die Programmprozessoren 10 konfliktfrei durch den Ladeprozessor 12 bedienen zu können. Außerdem führt der Ladeprozessor für jeden Programmprozessor 10 ein Interrupt- 44 und Speicherzuordnungsregister 14.The coupling of a program processor 10 with a loading processor 12 is not absolutely necessary for an uninterrupted program run. Rather, a powerful loading processor 12 with a sufficient storage environment can operate several program processors 10 at the same time ( FIG. 8), since the loading processes generally run much faster than the processing of program units. This does not change the procedure, but in addition a switchover logic 48 to the individual program processors and an interrupt control module with priority control 45 have to be introduced in order to be able to operate the program processors 10 by the loading processor 12 without conflict. In addition, the load processor maintains an interrupt 44 and memory allocation register 14 for each program processor 10 .

Im Falle einer takt- und zeitsymmetrischen Prozessoranordnung (Abb. 10) greifen beide Prozessoren 10, 12 auf einen einzigen Speicher zu: Ihnen sind gemeinsame 6, 7, 8, 9 und ausschließliche Speicherbereiche 46, 47 logisch zugeordnet. Auch hier liegt ein getrennter Zugriff der Prozessoren vor, indem beide hardwaremäßig so geschaltet werden, daß genau der eine Prozessor auf den Speicher zugreift (Abb. 9), wenn der andere gerade interne Funktionen ausführt, d. h. der Prozessortakt keine Schreib- oder Lesefunktionen zuläßt.In the case of a clock and time-symmetrical processor arrangement ( FIG. 10), both processors 10, 12 access a single memory: common 6, 7, 8, 9 and exclusive memory areas 46, 47 are logically assigned to them. Here, too, there is separate access by the processors, in that both are switched in terms of hardware in such a way that exactly one processor accesses the memory ( FIG. 9) when the other is currently performing internal functions, ie the processor clock does not permit write or read functions.

Hard- und Software sind bei der Steuerung der Taktfolgen beim Programmabarbeiten und beim Datenübertragen miteinander verschränkt. Je nach Hardwareausstattung ergeben sich abgewandelte Steuerungsabläufe. Diese sind im einzelnen in den Abb. 11, 12, 13 und 14 dargestellt: Die Prozessorvorgänge sind in dem prozessorbezogenen Balken eingetragen, die Signalbildung ist senkrecht dazu aufgezeichnet. Zur Verdeutlichung des Steuerungsprinzips ist vorgegeben, daß im Taktablauf beide Prozessoren einmal "warten" müssen. Das "Warten" kennzeichnet hierbei einen Zustand, bei dem die Prozessoren aufgrund des Interruptprinzips taktfremde Funktionen ausführen können. Die Speicherumschaltung muß vor dem Zugriff auf den anderen Speicher erfolgt sein.Hardware and software are interlinked to control the clock sequences during program execution and data transfer. Depending on the hardware configuration, modified control processes result. These are shown in detail in Fig. 11, 12, 13 and 14: The processor processes are entered in the processor-related bar, the signal formation is recorded perpendicular to it. To clarify the control principle, it is specified that both processors must "wait" once in the clock cycle. The "waiting" characterizes a state in which the processors can perform non-clock functions based on the interrupt principle. The memory switch must have been made before accessing the other memory.

Die Prozessorsteuerung wird bei Systemanlauf initialisiert. Dabei sind die logischen Ausgangszustände für die Zuordnung der Speicher 6, 7 bzw. 8, 9 zu den Prozessoren 10, 12 und die Registerbelegung 43, 44, 13, 14 zu definieren: Es wird ein bestimmter Ausgangszustand simuliert, an den die fortlaufenden Steuerprozesse lückenlos anknüpfen können. Bei Systementkopplung ist der Ausgangszustand wieder herzustellen.The processor control is initialized when the system starts up. The logical output states for the assignment of the memories 6, 7 or 8, 9 to the processors 10, 12 and the register assignment 43, 44, 13, 14 are to be defined: A specific output state is simulated, to which the ongoing control processes are seamless can tie in. When the system is coupled, the initial state must be restored.

Programmprozessor 10 und Ladeprozessor 12 können sich bei der Interruptauslösung gegenseitig blockieren, wenn der Programmprozessor 10 einen Interrupt für eine Datenübertragung und der Ladeprozessor 12 gerade in diesem Moment nach Abschluß der Ladezugriffe einen Interrupt auf den Programmprozessor 10 auslöst. Dieses Problem bewältigt ein prioritätsgesteuerter Unterbrechungsbaustein (vgl. 45 in Abb. 8).Program processor 10, and download processor 12 can block each other when the program processor 10 12 just at that moment triggers an interrupt for a data transfer, and the charge processor after completion of the charging requests an interrupt to the program processor 10 at the interrupt triggering. A priority-controlled interrupt module overcomes this problem (cf. 45 in Fig. 8).

Das Zwei-Mikroprozessor-Konzept kann Eingang finden in einem integrierten Zweirechnersystem (Abb. 16), in einem Steckkartensystem (Abb. 17) oder in einem Tastaturrechnersystem (Abb. 18). Bei allen drei Systemausbildungen übernehmen die Prozessoren zusätzlich periphere Funktionen: Der Programmprozessor 10 bedient Bildschirm und Tastatur, der Ladeprozessor 12 den Drucker und die Datenträgerlaufwerke. Eine andere Funktionsaufteilung könnte ebenso sinnvoll sein. Sie ist abhängig vom Leistungsvermögen der Prozessoren. Die Programmspeicher 6, 7 und die Datenübertragungsspeicher 8, 9 stehen unter wechselweisem Zugriff der Prozessoren 10, 12. Zusätzlich hat jeder Prozessor noch einen eigenen Speicher 50, 51, der unter ausschließlichem Zugriff steht. Beim Steckkarten- und beim Tastaturrechnerkonzept übernimmt der Prozessor des Hostrechners die Funktion des Ladeprozessors 12. The two-microprocessor concept can be used in an integrated two-computer system ( Fig. 16), in a plug-in card system ( Fig. 17) or in a keyboard computer system ( Fig. 18). In all three system designs, the processors additionally take on peripheral functions: the program processor 10 operates the screen and keyboard, the loading processor 12 the printer and the data carrier drives. Another division of functions could also be useful. It depends on the performance of the processors. The program memories 6, 7 and the data transfer memories 8, 9 are under alternate access by the processors 10, 12 . In addition, each processor also has its own memory 50, 51 , which is under exclusive access. In the case of the plug-in card and the keyboard computer concept, the processor of the host computer takes over the function of the loading processor 12 .

Beim Steckkartenrechner können über die Buskopplung 52 die Programm- und die Datenübertragungsspeicher direkt adressiert werden. Der Speicherumschalter befindet sich gemeinsam mit den Programm- 6, 7 und Datenübertragungsspeichern 8, 9 auf der Steckkarte. Die Steuerleitungen 11, 49 müssen über den Bus 52 mitgeführt werden. Ein Steckkartenrechnersystem kann relativ einfach zu einem Mehrplatzsystem ausgebaut werden, indem mehrere Steckkarten im Hostrechner angebracht werden. Bildschirm und Tastatur können bei größeren Entfernungen auch als Terminal betrieben werden.In the plug-in card computer, the program and data transmission memories can be addressed directly via the bus coupling 52 . The memory switch is located together with the program 6, 7 and data transfer memories 8, 9 on the plug-in card. The control lines 11, 49 must be carried over the bus 52 . A plug-in card computer system can be expanded relatively easily into a multi-user system by attaching several plug-in cards in the host computer. The screen and keyboard can also be operated as a terminal at longer distances.

Beim Tastaturrechner sind Programmprozessor und Programm- wie Datenübertragungsspeicher 8, 9 mit Speicherumschaltern (nicht dargestellt) in der Tastatur angebracht. Die Kopplung mit dem Ladeprozessor erfolgt über schnelle Schnittstellen, z. B. eine RS422. Der Tastaturrechner benötigt eine erweiterte Schnittstellenlogik 53, z. B. Prozessor-unterstützt, damit die übertragenen Daten adreßbezogen in den gemeinsamen Speichern, vor allem in den Programmspeichern 6, 7, abgelegt werden können. Die Steuerleitungen 11, 49 werden über die Datenkopplung mitgeführt oder über die Datenleitungen gemultiplext. Auch hier kann auf relativ einfache Weise ein Mehrplatzsystem geschaffen werden, durch Einsatz mehrerer Schnittstellen im Hostrechner. Im Falle serieller Schnittstellen (z. B. RS422) können dabei größere räumliche Entfernungen überbrückt werden.In the keyboard computer, the program processor and program and data transmission memories 8, 9 with memory switches (not shown) are attached to the keyboard. The coupling with the charging processor is done via fast interfaces, e.g. B. an RS422. The keyboard computer requires advanced interface logic 53 , e.g. B. processor-supported so that the transmitted data can be stored in the shared memories, especially in the program memories 6, 7 , in relation to the address. The control lines 11, 49 are carried along via the data coupling or multiplexed via the data lines. Here, too, a multi-user system can be created in a relatively simple manner by using several interfaces in the host computer. In the case of serial interfaces (e.g. RS422), larger spatial distances can be bridged.

  • Bezugszeichen-Erläuterung für: Abb. 1:
    ScP- Schreibprozessor LeP- Leseprozessor SP 1- Speicher 1 Speicherpaar SP 2- Speicher 2 DT- Daten Abb. 2:
    ScP- Schreibprozessor LeP- Leseprozessor AdL- Adreßleitungen DtL- Datenleitungen StL- Steuerleitungen SP 1- Speicher 1 Speicherpaar SP 2- Speicher 2 Abb. 3:
    PR 1- Programmspeicher 1 Speicherpaar PR 2- Programmspeicher 2 1- Datenübertragungsspeicher 1 Speicherpaar 2- Datenübertragungsspeicher 2 PP- Programmprozessor LP- Ladeprozessor StL- Steuerleitungen - Datenleitungen (DtL) - Adreßleitungen (AdL) I- Bereich Programmspeicher II- Bereich Datenübertragungsspeicher Abb. 4:
    StR- Steuerregister IR- Interruptregister ZO- Speicherzuordnungsregister PP- Programmprozessor LP- Ladeprozessor I/O- Input/Output-Port 15- Interruptleitung von PP nach LP 16- Interruptleitung von LP nach PP 17- Speicherzuordnungsleitung Speicher 1 18- Speicherzuordnungsleitung Speicher 2 Abb. 5:
    PP- Programmprozessor SP- Schalter für PP LP- Ladeprozessor SL- Schalter für LP RS- Signalrücksetzer 21- Adreßleitung 22- Adreßleitung 24- Adreßleitung 25- Adreßleitung 23- Interruptltg. von SL zu LP 26- Interruptltg. von SP zu PP 15- Interruptltg. von SP nach SL 16- Interruptltg. von SL nach SP Abb. 6:
    PP- Programmprozessor SP- Schalter für PP ZSV- Zähler für Schaltvorgänge ZO- Speicherzuordnungsregister I/O- Input/Output-Port LP- Ladeprozessor SL- Schalter für LP 33- Adreßleitung 34- Adreßleitung 35- Adreßleitung 36- Adreßleitung 17- Speicherzuordnungsltg. Speicher 1 18- Speicherzuordnungsltg. Speicher 2 Abb. 7:
    PP- Programmprozessor SP- Schalter für PP LP- Ladeprozessor SL- Schalter für LP IR- Interruptregister 21- Adreßleitung 22- Adreßleitung 15- Adreßleitung 16- Adreßleitung Abb. 8:
    IR- Interruptregister ZO- Speicherzuordngs.register PP- Programmprozessor A+D- Adreß- und Datenleitungen SPP- Speicherpaar ZOL- Speicherzuordngs.leitungen LP- Ladeprozessor IRP- Interruptsteuerbaustein mit Prioritätenvorgabe 15- Interruptleitg. von PP zu LP 16- Interruptleitung von LP zu PP Abb. 9:
    l/s- lesen oder schreiben PP- Programmprozessor LP- Ladeprozessor Abb. 10:
    PP- Programmprozessor StL- Steuerleitungen LP- Ladeprozessor SP L - LP-Speicherbereich PR 1- Programmspeicherbereich 1 PR 2- Programmspeicherbereich 2 1- Datenübertragungsspeicherbereich 1 2- Datenübertragungsspeicherbereich 2 SP P - PP-Speicherbereich Abb. 11, 12, 13, 14:
    L- Schalter Speicherzuordnungsltg.n auf LeP-Seite aktivieren LeP- Leseprozessor (2) SP 1- Speicher 1 (3) ScP- Schreibprozessor (1) SP 2- Speicher 2 (4) S- Schalter Speicherzuordnungsleitungen auf ScP-Seite aktivieren L- Interrupt auf LeP durchschalten S- Interrupt bei ScP auslösen - Speicherzuordnung ermitteln 1- Speicher 1 adressieren 2- Speicher 2 (4) adressieren S- Interrupt auf ScP durchschalten L- Interrupt bei LeP auslösen L- Interruptregister von LeP prüfen L- Interrupt im LeP-IR-Register vermerken L- Interruptregister LeP zurücksetzen - Zugriff auf Speicher fortsetzen S- Interruptregister ScP zurücksetzen S- Interrupt im ScP-Register vermerken S- Interruptregister von ScP prüfen L- Register Speicherzuordnung LeP invertieren S- Register Speicherzuordnung ScP invertieren PP- Programmprozessor - Durchfluß ⊕- pos. Leitungspegel = logisch 1 LP-Ladeprozessor ┴-gesperrter Fluß ‴-neg. Leitungspegel = logisch 0 Abb. 15:
    DtL- Datenleitungen (z. B. parallel) StL- Steuerleitungen Abb. 16:
    PP- Programmprozessor StL- Steuerleitungen PSP- Programmspeicherpaar DÜP- Datenübertragungsspeicherpaar LP- Ladeprozessor SP P - Speicher für PP SP L - Speicher für LP Abb. 17:
    PP- Programmprozessor StL- Steuerleitungen PSP- Programmspeicherpaar DÜP- Datenübertragungsspeicherpaar LP- Ladeprozessor SP P - Speicher für PP SP L - Speicher für LP Abb. 18:
    PP- Programmprozessor StL- Steuerleitungen PSP- Programmspeicherpaar DÜP- Datenübertragungsspeicherpaar LP- Ladeprozessor SLP- Schnittstellenlogik zu PP SLL- Schnittstellenlogik zu LP DtL- Datenleitungen SP P - Speicher für PP SP L - Speicher für LP
    Reference symbol explanation for: Fig. 1:
    ScP - write processor LeP - read processor SP 1 - memory 1 memory pair SP 2 - memory 2 DT data Fig. 2:
    ScP - write processor LeP - read processor AdL - address lines DtL - data lines StL - control lines SP 1 - memory 1 memory pair SP 2 - memory 2 Fig. 3:
    PR 1 - program memory 1 memory pair PR 2 - program memory 2 1 - data transfer memory 1 memory pair DÜ 2 - data transfer memory 2 PP - program processor LP - loading processor StL - control lines - data lines ( DtL ) - address lines ( AdL ) I - area program memory II - area data transfer memory Fig . 4:
    StR - Control register IR - Interrupt register ZO - Memory allocation register PP - Program processor LP - Load processor I / O - Input / output port 15 - Interrupt line from PP to LP 16 - Interrupt line from LP to PP 17 - Memory allocation line memory 1 18 - Memory allocation line memory 2 Fig. 5:
    PP - program processor SP - switch for PP LP - loading processor SL - switch for LP RS signal reset 21 - address line 22 - address line 24 - address line 25 - address line 23 - interrupt line. from SL to LP 26 - Interruptltg. from SP to PP 15 - Interruptltg. from SP to SL 16 - Interruptltg. from SL to SP Fig. 6:
    PP - program processor SP - switch for PP ZSV - counter for switching operations ZO - memory allocation register I / O - input / output port LP - load processor SL - switch for LP 33 - address line 34 - address line 35 - address line 36 - address line 17 - memory allocation line. Memory 1 18 - memory allocation line Storage 2 Fig. 7:
    PP - program processor SP - switch for PP LP - loading processor SL - switch for LP IR - interrupt register 21 - address line 22 - address line 15 - address line 16 - address line Fig. 8:
    IR - interrupt register ZO - memory assignments register PP - program processor A + D - address and data lines SPP - memory pair ZOL - memory assignments lines LP - load processor IRP - interrupt control block with priority 15 - interrupt line. from PP to LP 16 - interrupt line from LP to PP Fig. 9:
    l / s - read or write PP - program processor LP - load processor Fig. 10:
    PP - program processor StL - control lines LP - load processor SP L - LP memory area PR 1 - program memory area 1 PR 2 - program memory area 2 1 - data transfer memory area 1 2 - data transfer memory area 2 SP P - PP memory area Fig. 11, 12, 13, 14 :
    L - Activate switch memory allocation line on LeP side LeP - Read processor ( 2 ) SP 1 - Memory 1 ( 3 ) ScP - Write processor ( 1 ) SP 2 - Memory 2 ( 4 ) S - Activate memory allocation lines on ScP side L - interrupt on LeP by switch S - trigger interrupt at ScP - memory allocation determine 1 - memory 1 address 2 - memory 2 (4) address S - interrupt on SCP switch L - interrupt at LEP trigger L - interrupt of LeP examine L - interrupt in the LEP - Note IR register L - Reset interrupt register LeP - Continue access to memory S - Reset interrupt register ScP S - Note interrupt in ScP register S - Check interrupt register of ScP L - Invert memory allocation LeP register S - Register memory allocation ScP invert PP - Program processor - Flow Pos- pos. Line level = logical 1 LP charging processor ┴-blocked flow ‴ -neg. Line level = logical 0 Fig. 15:
    DtL - data lines (e.g. parallel) StL - control lines Fig. 16:
    PP - Program processor StL - Control lines PSP - Program memory pair DÜP - Data transfer memory pair LP - Load processor SP P - Memory for PP SP L - Memory for LP Fig. 17:
    PP - program processor StL - control lines PSP - program memory pair DÜP - data transfer memory pair LP - loading processor SP P - memory for PP SP L - memory for LP Fig. 18:
    PP - program processor StL - control lines PSP - program memory pair DÜP - data transfer memory pair LP - load processor SLP - interface logic to PP SLL - interface logic to LP DtL - data lines SP P - memory for PP SP L - memory for LP

Claims (17)

1. Mehrprozessorsystem auf Mikroprozessorbasis für paralleles Schreiben und Lesen von Informationen mit eigener und gemeinsamer Speicherumgebung, mit bidirektionalen Daten- und unidirektionalen Adreßleitungen zu den Speichern und mit Steuerleitungen zwischen den Prozessoren, dadurch gekennzeichnet, daß
  • a) zwei Prozessoren (Abb. 1), ein Schreib- (1) und ein Leseprozessor (2), gleichzeitig und ausschließlich auf je einen Speicher eines Speicherpaares zugreifen,
  • b) in einem 1. Takt der Schreibprozessor (1) in den einen Speicher (3) schreibt, während parallel dazu der Leseprozessor (2) aus dem anderen Speicher (4) liest,
  • c) sich dieser Prozeß in einem 2. Takt wiederholt, mit einer genau umgekehrten Zuordnung der Speicher (4, 3) zu den Prozessoren (1, 2),
  • d) die Takte zum frühestmöglichen Zeitpunkt aufeinander folgen, deren Beginn Interrupt-gesteuert festgelegt wird, und die ein Umschalten der Speicher (3, 4) auf den anderen Prozessor einschließen,
  • e) der Beginn eines Taktes und damit der Speicherwechsel durch den Prozessor (1 2) eingeleitet wird, der seinen Speicherzugriff zuletzt abschließt,
  • f) Signale in bezug auf richtige Taktfolge und Speicherzuordnung (Abb. 2) über spezielle Steuerleitungen (11) zwischen den Prozessoren (1, 2) ausgetauscht werden.
  • g) die Umschaltung der Speicher (3, 4) auf einen bestimmten Prozessor (1, 2) über Speicherumschalter (5) realisiert wird, und der Prozessor (1, 2) den Zugriff durch Ansprechen des hardwaremäßig vorgegebenen Adreßbereiches tätigt,
  • h) mindestens zwei Speicherpaare (I, II Abb. 3) prozessor- gekoppelt sind: Zwei alternierende Programmspeicher (6, 7) für das gleichzeitige Laden und Abarbeiten von Programmeinheiten und ebenfalls zwei alternierende Datenübertragungsspeicher (9, 9) für die Datenübertragung während des Programmablaufes,
  • i) für jedes Speicherpaar (I, II) je ein Satz Steuerleitungen (11, 49) zwischen den Prozessoren (10, 12) besteht.
1. Multi-processor system based on microprocessors for parallel writing and reading of information with its own and shared memory environment, with bidirectional data and unidirectional address lines to the memories and with control lines between the processors, characterized in that
  • a) two processors ( Fig. 1), a write ( 1 ) and a read processor ( 2 ), simultaneously and exclusively access one memory of a memory pair,
  • b) in a 1st cycle, the write processor ( 1 ) writes into one memory ( 3 ), while in parallel the read processor ( 2 ) reads from the other memory ( 4 ),
  • c) this process is repeated in a second cycle, with an exactly opposite assignment of the memories ( 4, 3 ) to the processors ( 1, 2 ),
  • d) the clocks follow one another at the earliest possible point in time, the start of which is determined in an interrupt-controlled manner and which include switching the memories ( 3, 4 ) to the other processor,
  • e) the beginning of a cycle and thus the memory change is initiated by the processor ( 1 2 ), which lastly completes its memory access,
  • f) signals relating to correct clock sequence and memory allocation ( Fig. 2) are exchanged between the processors ( 1, 2 ) via special control lines ( 11 ).
  • g) the switching of the memories ( 3, 4 ) to a specific processor ( 1, 2 ) is implemented via memory switches ( 5 ), and the processor ( 1, 2 ) accesses by addressing the hardware-specified address area,
  • h) at least two memory pairs ( I, II Fig. 3) are processor-coupled: two alternating program memories ( 6, 7 ) for the simultaneous loading and processing of program units and also two alternating data transfer memories ( 9, 9 ) for data transfer during the program run ,
  • i) there is a set of control lines ( 11, 49 ) between the processors ( 10, 12 ) for each pair of memories ( I, II ).
2. Mehrprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, daß
  • a) in einem 1. Takt ein Ladeprozessor (12) analog dem Schreibprozessor (1) eine Programmeinheit in den einen Programmspeicher (6) lädt, während ein Programmprozessor (10) analog dem Leseprozessor (2) im anderen Programmspeicher (7) eine Programmeinheit abarbeitet,
  • b) in einem 2. Takt, nach Umkehrung der Speicherzuordnung, der Ladeprozessor (12) eine weitere Programmeinheit in den anderen Programmspeicher (7) lädt, während der Programmprozessor (10) die im 1. Takt geladene Programmeinheit im betreffenden Speicher (7) abarbeitet,
  • c) der Ladeprozessor (12) ausschließlich Programmeinheiten lädt, und zwar jeweils immer eine einzige je Takt,
  • d) der Programmprozessor (10) ausschließlich Programmeinheiten abarbeitet, und zwar jeweils immer eine einzige je Takt,
  • e) die Programmeinheiten in einer definierten Folge taktweise parallel geladen und abgearbeitet werden, mindestens zwei Takte erfolgen, und sich die Takte solange wiederholen, bis das Programm abgearbeitet ist,
  • f) der Ladeprozessor (12) den Programmablauf steuert, die Taktfolge steuerungsmäßig einleitet und beendet, sich jedoch innerhalb der Taktfolge die Prozessoren (10, 12) gegenseitig steuern.
2. Multi-processor system according to claim 1, characterized in that
  • a) in a 1st cycle, a loading processor ( 12 ), analogous to the write processor ( 1 ), loads a program unit into a program memory ( 6 ), while a program processor ( 10 ) processes a program unit, analogously to the read processor ( 2 ), in the other program memory ( 7 ) ,
  • b) loads a further program unit in the other program memory (7) in a second clock, after reversal of the memory map, the charge processor (12), while the program processor (10) executes the loaded on the 1st clock program unit in its memory (7) ,
  • c) the loading processor ( 12 ) only loads program units, always one at a time,
  • d) the program processor ( 10 ) only processes program units, always one at a time,
  • e) the program units are loaded and processed in parallel in a defined sequence, at least two cycles, and the cycles are repeated until the program has been processed,
  • f) the charge processor (12) controls the program run, initiates the timing sequence in terms of control and ended, but within the pulse sequence, the processors (10, 12 control) each other.
3. Mehrprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, daß
  • a) in einem 1. Takt der Programmprozessor (10) in den einen Datenübertragungsspeicher (8) Daten schreibt, während der Ladeprozessor (12) aus dem anderen Datenübertragungsspeicher (9) Daten liest,
  • b) in einem 2. Takt, nach Umkehrung der Speicherzuordnung, der schreibende Prozessor (10) in den alternativen Datenübertragungsspeicher (9) weitere Daten schreibt, während der lesende Prozessor (12) die vorangehend eingeschriebenen Daten aus dem ersten Speicher (8) liest,
  • c) beide Prozessoren (10, 12) lesen und schreiben können,
  • d) beide Prozessoren (10, 12) die Datenübertragung einleiten und initialisieren können, wobei der aufrufende Prozessor (10, 12) an definierter Stelle im Übertragungsspeicher (8, 9) Übertragungsanweisungen für den anderen Prozessor (12, 10) hinterlegt,
  • e) die Datenübertragung über einen oder mehrere Takte läuft,
  • f) für eine Datenübertragung der Ladeprozessor (12) aufgrund der höheren Priorität des Datenübertragens bei seiner Ladetätigkeit vom Programmprozessor (10) unterbrochen werden kann.
3. Multi-processor system according to claim 1, characterized in that
  • a) in a 1st cycle, the program processor ( 10 ) writes data into the one data transfer memory ( 8 ) while the load processor ( 12 ) reads data from the other data transfer memory ( 9 ),
  • b) in a second cycle, after reversing the memory allocation, the writing processor ( 10 ) writes further data into the alternative data transfer memory ( 9 ) while the reading processor ( 12 ) reads the previously written data from the first memory ( 8 ),
  • c) both processors ( 10, 12 ) can read and write,
  • d) both processors ( 10, 12 ) can initiate and initialize the data transfer, the calling processor ( 10, 12 ) storing transfer instructions for the other processor ( 12, 10 ) at a defined location in the transfer memory ( 8, 9 ),
  • e) the data transmission runs over one or more cycles,
  • f) for a data transfer the loading processor ( 12 ) can be interrupted by the program processor ( 10 ) due to the higher priority of the data transfer in its loading activity.
4. Mehrprozessorsystem nach Anspruch 2 und 3, dadurch gekennzeichnet, daß
  • a) je Steuerleitungssatz vier Steuerleitungen bestehen (Abb. 4), von denen zwei (15, 16) interruptfähig und unidirektional ausgebildet sind,
  • b) die zwei weiteren Leitungen (17, 18) bidirektional gerichtet sind und in I/O-Ports (19, 20) münden,
  • c) die Speicherzuordnungsleitungen (17, 18) über ihren umschaltbaren logischen Pegel (0/1) den Prozessoren (10, 12) jeweils die aktuelle Zuordnung der Speicher (6, 7 bzs. 8, 9) anzeigen, wobei die eine Leitung (17) den einen Speicher (6 bzw. 8), die andere Leitung (18) den anderen Speicher (7 bzw. 9) schaltet und jedem Prozessor (10, 12) ein bestimmter Pegel (0/1) zugeordnet ist,
  • d) für jeden Prozessor (10, 12) spezielle Steuerregister bestehen, ein Interrupt- (43, 44) und ein Speicherzuordnungsregister (13, 14) zum Eintragen spezieller Steuerzustände beim Parallelzugriff auf die Speicherpaare (I, II).
4. Multi-processor system according to claim 2 and 3, characterized in that
  • a) there are four control lines per control line set ( Fig. 4), two of which ( 15, 16 ) are interrupt-capable and unidirectional,
  • b) the two further lines ( 17, 18 ) are bidirectional and open into I / O ports ( 19, 20 ),
  • c) the memory allocation lines ( 17, 18 ) indicate the current allocation of the memories ( 6, 7 and 8, 9 ) to the processors ( 10, 12 ) via their switchable logic level (0/1), one line ( 17 ) one memory ( 6 or 8 ), the other line ( 18 ) switches the other memory ( 7 or 9 ) and each processor ( 10, 12 ) is assigned a certain level (0/1),
  • d) there are special control registers for each processor ( 10, 12 ), an interrupt register ( 43, 44 ) and a memory allocation register ( 13, 14 ) for entering special control states during parallel access to the memory pairs ( I, II ).
5. Mehrprozessorsystem nach Anspruch 2 und 3, dadurch gekennzeichnet, daß vor Beginn der Taktfolgen die Steuerleitungen prozessor- initialisiert werden, wobei jeder Prozessor (11, 12) ein eigenes Steuerregister (43, 13 bzw. 44, 14) erhält, in das, zwischen den Prozessoren (10, 12) abgestimmt, die Ausgangszustände der zugeordneten Interruptleitung (15, 16) und der Speicherzuordnungsleitungen (17, 18) vermerkt werden, dann am Schluß der Taktfolgen wieder eine Prozessorentkopplung der Steuerleitungen (15, 16, 17, 19) stattfindet und der Ausgangszustand des Systems wieder hergestellt wird.5. Multi-processor system according to claim 2 and 3, characterized in that the control lines are processor-initialized before the start of the clock sequences, each processor ( 11, 12 ) receiving its own control register ( 43, 13 or 44, 14 ) into which coordinated between the processors ( 10, 12 ), the output states of the assigned interrupt line ( 15, 16 ) and the memory allocation lines ( 17, 18 ) are noted, then at the end of the clock sequences a processor decoupling of the control lines ( 15, 16, 17, 19 ) takes place and the initial state of the system is restored. 6. Mehrprozessorsystem nach Anspruch 4, dadurch gekennzeichnet, daß
  • a) die beiden Interruptleitungen (15, 16) zweiseitig schaltbar sind (Abb. 5),
  • b) der Interrupt-auslösende Prozessor (10, 12) seinen Schalter (27 bzw. 30) aktiviert,
  • c) dieser Schalter (27, 30) den logischen Pegel der Interruptleitung (15, 16) umschaltet,
  • d) der Interruptzielprozessor (12, 10) den zweiten Schalter (28 bzw. 29) unabhängig von der Schaltersituation des ersten Schalters (27 bzw. 30) durchschaltet,
  • e) der Signalpegel der Interruptleitung (15, 16) bei Durchschaltung auf die Schalter-Prozessor-Interruptsignalleitung (23 bzw. 26) übergeht und den Interrupt am Zielprozessor (12, 10) auslöst,
  • f) die Pegelumschaltung durch den ersten Prozessor (10, 12) direkt wirksam wird, wenn der erste Schalter (27 bzw. 30) nach dem zweiten (28 bzw. 29) geschaltet wird,
  • g) ein Signal-Rücksetzer (31 bzw. 32) in der Schalter- Prozessor-Interrupt-Leitung die beiden Interruptleitungen (15 bzw. 16) nach Interruptauslösung auf ihre Ausgangspegel zurücksetzt.
6. Multi-processor system according to claim 4, characterized in that
  • a) the two interrupt lines ( 15, 16 ) can be switched on both sides ( Fig. 5),
  • b) the interrupt-triggering processor ( 10, 12 ) activates its switch ( 27 or 30 ),
  • c) this switch ( 27, 30 ) switches the logic level of the interrupt line ( 15, 16 ),
  • d) the interrupt target processor ( 12, 10 ) switches through the second switch ( 28 or 29 ) regardless of the switch situation of the first switch ( 27 or 30 ),
  • e) the signal level of the interrupt line ( 15, 16 ) passes through to the switch processor interrupt signal line ( 23 or 26 ) and triggers the interrupt on the target processor ( 12, 10 ),
  • f) the level switching by the first processor ( 10, 12 ) takes effect directly when the first switch ( 27 or 30 ) is switched after the second ( 28 or 29 ),
  • g) a signal reset ( 31 or 32 ) in the switch processor interrupt line resets the two interrupt lines ( 15 and 16 ) to their output level after triggering the interrupt.
7. Mehrprozessorsystem nach Anspruch 4, dadurch gekennzeichnet, daß
  • a) die Speicherzuordnungsleitungen (17, 18) ebenfalls zweiseitig schaltbar sind (Abb. 6),
  • b) ein Prozessor (10, 12) die ersten Schalter (39, 41 bzw. 40, 42) und der andere Prozessor (12, 10) die zweiten Schalter (40, 42 bzw. 39, 41) aktiviert,
  • c) die Leitungspegel über eine geeignete Schaltungslogik (37, 39) erst dann umgeschaltet werden, wenn beide Schalter (39, 40 bzw. 41, 42) angesprochen worden sind,
  • d) die logischen Pegel der Speicherzuordnungsleitungen (17, 18) von den Prozessoren (10, 12) abgefragt und mit den Ausgangszuständen in den Zuordnungsregistern (13, 14) verglichen werden.
7. Multi-processor system according to claim 4, characterized in that
  • a) the memory allocation lines ( 17, 18 ) can also be switched on two sides ( Fig. 6),
  • b) one processor ( 10, 12 ) activates the first switches ( 39, 41 or 40, 42 ) and the other processor ( 12, 10 ) activates the second switches ( 40, 42 or 39, 41 ),
  • c) the line levels are only switched over using suitable circuit logic ( 37, 39 ) when both switches ( 39, 40 and 41, 42 ) have been activated,
  • d) the logic levels of the memory allocation lines ( 17, 18 ) are queried by the processors ( 10, 12 ) and compared with the initial states in the allocation registers ( 13, 14 ).
8. Mehrprozessorsystem nach Anspruch 4, 6 und 7, dadurch gekennzeichnet, daß nach Umschaltung des logischen Pegels einer Interruptleitung (15, 16) auf "Interrupt aktiv" der Zielprozessor (12, 10) folgende Sequenz durchläuft (Abb. 11):
  • a) Abfrage des I/O-Ports (20, 19) und Vergleich mit den Initialisierungswerten im Speicherzuordnungsregister (14, 13),
  • b) in Abhängigkeit von den Signalpegeln der Speicherzuordnungsleitungen (17, 18), Vorgabe des speicherspezifischen Adreßbereiches für den Prozessor (12),
  • c) Tätigen der Speicherzugriffe,
  • d) Speicherzuordnungsleitungen schaltaktivieren,
  • e) Interrupt auf den anderen Prozessor (10, 12) auslösen,
  • f) Interrupt-Leitung (15, 16) auf die Schalter-Prozessor- Interrupt-Leitung (23, 26) durchschalten.
8. Multi-processor system according to claim 4, 6 and 7, characterized in that after switching the logic level of an interrupt line ( 15, 16 ) to "interrupt active" the target processor ( 12, 10 ) runs through the following sequence ( Fig. 11):
  • a) interrogation of the I / O port ( 20, 19 ) and comparison with the initialization values in the memory allocation register ( 14, 13 ),
  • b) depending on the signal levels of the memory allocation lines ( 17, 18 ), specification of the memory-specific address area for the processor ( 12 ),
  • c) making the memory accesses,
  • d) switch activating memory allocation lines,
  • e) trigger interrupt on the other processor ( 10, 12 ),
  • f) Connect the interrupt line ( 15, 16 ) to the switch processor interrupt line ( 23, 26 ).
9. Mehrprozessorsystem nach Anspruch 4, 6 und 7, dadurch gekennzeichnet, daß
  • a) die beiden Interruptleitungen (15, 16) einseitig schaltbar sind,
  • b) der Interrupt-auslösende Prozessor (10, 12) einen Schalter (28, 30) aktiviert und dieser wiederum den logischen Pegel der Signalleitung kurzzeitig auf Interrupt-aktiv schaltet,
  • c) die logische Signalumschaltung den Interrupt am Zielprozessor (12, 10) auslöst,
  • d) der Ausgangspegel der Signalleitung (15, 16) nach Auslösen des Interrupts wieder hergestellt wird,
  • e) jeder Prozessor (10, 12) ein spezielles Interruptregister (43, 44) besitzt, in das der Interruptzustand eingetragen wird,
  • f) die Interrupte über eine Signalleitung geführt werden, wobei eine Sperr-Schaltlogik für eine kollisionsfreie Signalübergabe sorgt.
9. Multi-processor system according to claim 4, 6 and 7, characterized in that
  • a) the two interrupt lines ( 15, 16 ) can be switched on one side,
  • b) the interrupt-triggering processor ( 10, 12 ) activates a switch ( 28, 30 ) and this in turn briefly switches the logic level of the signal line to interrupt-active,
  • c) the logical signal switching triggers the interrupt on the target processor ( 12, 10 ),
  • d) the output level of the signal line ( 15, 16 ) is restored after triggering the interrupt,
  • e) each processor ( 10, 12 ) has a special interrupt register ( 43, 44 ) in which the interrupt state is entered,
  • f) the interrupts are routed via a signal line, a blocking switching logic ensuring a collision-free signal transfer.
10. Mehrprozessorsystem nach Anspruch 4, 7 und 9, dadurch gekennzeichnet, daß nach Umschaltung des logischen Pegels einer Interruptleitung (15, 16) auf "Interrupt aktiv" der Zielprozessor (12, 10) folgende Sequenz durchläuft (Abb. 12):
  • a) Interruptauslösung im Steuerregister (44, 43) vermerken (während oder nach Zugriff),
  • b) Abfrage des I/O-Ports (20, 19) und Vergleich mit den Initialisierungswerten im Speicherzuordnungsregister (14, 13),
  • c) in Abhängigkeit von den Signalpegeln der Speicherzuordnungsleitungen (17, 18), Vorgabe des speicherspezifischen Adreßbereiches für den alternierenden Speicher,
  • d) Zurücksetzen des Interruptregisters (44, 43) auf den Ausgangswert,
  • e) Tätigen der Speicherzugriffe,
  • f) Speicherzuordnungsleitungen schaltaktivieren,
  • g) Interrupt auf den anderen Prozessor (10, 12) auslösen.
10. Multi-processor system according to claim 4, 7 and 9, characterized in that after switching the logic level of an interrupt line ( 15, 16 ) to "interrupt active" the target processor ( 12, 10 ) runs through the following sequence ( Fig. 12):
  • a) note interrupt triggering in the control register ( 44, 43 ) (during or after access),
  • b) interrogation of the I / O port ( 20, 19 ) and comparison with the initialization values in the memory allocation register ( 14, 13 ),
  • c) depending on the signal levels of the memory allocation lines ( 17, 18 ), specification of the memory-specific address area for the alternating memory,
  • d) resetting the interrupt register ( 44, 43 ) to the initial value,
  • e) making the memory accesses,
  • f) activate memory allocation lines,
  • g) trigger interrupt on the other processor ( 10, 12 ).
11. Mehrprozessorsystem nach Anspruch 4 und 6, dadurch gekennzeichnet, daß die Speicherzuordnungssignalleitungen (17, 16) fehlen und durch die Speicherzuordnungsregister (13, 14) ersetzt werden, der Speicherwechsel (6, 7 bzw. 8, 9) mittels Wertinvertierung der Registerinhalte vorgegeben wird.11. Multi-processor system according to claim 4 and 6, characterized in that the memory allocation signal lines ( 17, 16 ) are missing and replaced by the memory allocation registers ( 13, 14 ), the memory change ( 6, 7 or 8, 9 ) is predetermined by inverting the value of the register contents becomes. 12. Mehrprozessorsystem nach Anspruch 4, 6 und 11, dadurch gekennzeichnet, daß nach Umschaltung des logischen Pegels der Interruptleitung (15, 16) auf "Interrupt aktiv" der Zielprozessor (12, 10) folgende Sequenz durchläuft (Abb. 13):
  • a) Wertinvertierung im Speicherzuordnungsregister (13, 14) und hierauf bezogen, Vorgabe des speicherspezifischen Adreßbereiches,
  • b) Tätigen der Speicherzugriffe,
  • c) Interrupt für den anderen Prozessor (10, 12) auslösen,
  • d) Interruptleitung (15, 16) auf die Schalter-Prozessor- (12, 10) Interruptsignalleitung (26, 23) durchschalten.
12. Multi-processor system according to claim 4, 6 and 11, characterized in that after switching the logic level of the interrupt line ( 15, 16 ) to "interrupt active" the target processor ( 12, 10 ) runs through the following sequence ( Fig. 13):
  • a) value inversion in the memory allocation register ( 13, 14 ) and related thereto, specification of the memory-specific address area,
  • b) making the memory accesses,
  • c) trigger interrupt for the other processor ( 10, 12 ),
  • d) Connect the interrupt line ( 15, 16 ) to the switch processor ( 12, 10 ) interrupt signal line ( 26, 23 ).
13. Mehrprozessorsystem nach Anspruch 4 und 9, dadurch gekennzeichnet, daß die Speicherzuordnungssignalleitungen (17, 18) fehlen und durch die Speicherzuordnungsregister (13, 14) ersetzt werden, der Speicherwechsel (6, 7 bzw. 8, 9) mittels Wertinvertierung der Registerinhalte vorgegeben wird.13. Multi-processor system according to claim 4 and 9, characterized in that the memory allocation signal lines ( 17, 18 ) are missing and replaced by the memory allocation registers ( 13, 14 ), the memory change ( 6, 7 and 8, 9 ) is predetermined by inverting the value of the register contents becomes. 14. Mehrprozessorsystem nach Anspruch 4, 9 und 13, dadurch gekennzeichnet, daß nach Umschaltung des logischen Pegels der Interruptleitung (15, 16) auf "Interrupt aktiv" der Zielprozessor (12, 10) folgende Sequenz durchläuft (Abb. 14):
  • a) Interruptauslösung im Steuerregister (44, 43) vermerken (während oder nach Zugriff),
  • b) Wert im Speicherzuordnungsregister (14, 13) invertieren und, auf den neuen Wert bezogen, Vorgabe des speicherspezifischen Adreßbereiches,
  • c) Zurücksetzen des Interruptregisters (44, 43) auf den Ausgangswert,
  • d) Tätigen der Speicherzugriffe,
  • e) Interrupt auf den anderen Prozessor (10, 12) auslösen,
  • f) Interruptregister prüfen auf "gesetzt" (gleich Taktfreigabe).
14. Multi-processor system according to claim 4, 9 and 13, characterized in that after switching the logic level of the interrupt line ( 15, 16 ) to "interrupt active" the target processor ( 12, 10 ) runs through the following sequence ( Fig. 14):
  • a) note interrupt triggering in the control register ( 44, 43 ) (during or after access),
  • b) invert the value in the memory allocation register ( 14, 13 ) and, based on the new value, specify the memory-specific address range,
  • c) resetting the interrupt register ( 44, 43 ) to the initial value,
  • d) making the memory accesses,
  • e) trigger interrupt on the other processor ( 10, 12 ),
  • f) Check interrupt register for "set" (same as clock enable).
15. Mehrprozessorsystem nach Anspruch 2 und 3, dadurch gekennzeichnet, daß bei takt- und zeitsymmetrischen Systemen (Abb. 10) den Prozessoren (10, 12) nur ein einziger Speicher zur Verfügung steht, dieser in logische Einheiten aufgeteilt ist, auf die die Prozessoren (10, 12) gemeinsam (6, 7, 8, 9) oder nur einzeln (46, 47) zugreifen und der eine Prozessor (10, 12) dann auf den Speicher zugreift, wenn sich der andere Prozessor (12, 10) gerade im Ruhetakt befindet.15. Multi-processor system according to claim 2 and 3, characterized in that with clock and time-symmetrical systems ( Fig. 10) the processors ( 10, 12 ) only a single memory is available, which is divided into logical units on which the processors ( 10, 12 ) access together ( 6, 7, 8, 9 ) or only individually ( 46, 47 ) and one processor ( 10, 12 ) accesses the memory when the other processor ( 12, 10 ) is currently is at rest. 16. Mehrprozessorsystem nach Anspruch 2 und 3, dadurch gekennzeichnet, daß ein Ladeprozessor (12) gleich eine Reihe von Programmprozessoren (10) bedient (Abb. 8) und für die Lade- (6, 7) und Datenübertragungsspeicher (8, 9) eines jeden Programmprozessors (10) die erforderlichen Interrupt- (44) und Zuordnungsregister (14) führt, desweiteren die Ansteuerung der einzelnen Programmprozessoren (10) wie beim Zweiprozessorsystem interruptgesteuert erfolgt mit Hilfe eines Prioritätensteuersteines (45).16. Multi-processor system according to claim 2 and 3, characterized in that a loading processor ( 12 ) serves a number of program processors ( 10 ) ( Fig. 8) and for the loading ( 6, 7 ) and data transfer memory ( 8, 9 ) one each program processor (10) performs the necessary interrupt (44) and assignment register (14), the actuation of the individual program processors (10) further such interrupt control in the two-processor system takes place by means of a priority control block (45). 17. Mehrprozessorsystem nach Anspruch 2 und 3, dadurch gekennzeichnet, daß zur Trennung von zeitgleichen Interrupten beim Wechsel von der Programm- auf die Datenübertragungsebene der Zugriff auf die Datenübertragungsspeicher (8, 9) über einen prioritätsgesteuerten Unterbrechungsbaustein oder über ein Speicherkopplungs- IC mit konfliktfreier Zugriffssteuerung erfolgt.17. Multi-processor system according to claim 2 and 3, characterized in that to separate simultaneous interrupts when changing from the program to the data transfer level, access to the data transfer memory ( 8, 9 ) via a priority-controlled interrupt module or via a memory coupling IC with conflict-free access control he follows.
DE19863610155 1986-03-26 1986-03-26 Multiprocessor system for parallel writing and reading of information Withdrawn DE3610155A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19863610155 DE3610155A1 (en) 1986-03-26 1986-03-26 Multiprocessor system for parallel writing and reading of information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19863610155 DE3610155A1 (en) 1986-03-26 1986-03-26 Multiprocessor system for parallel writing and reading of information

Publications (1)

Publication Number Publication Date
DE3610155A1 true DE3610155A1 (en) 1987-10-08

Family

ID=6297299

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863610155 Withdrawn DE3610155A1 (en) 1986-03-26 1986-03-26 Multiprocessor system for parallel writing and reading of information

Country Status (1)

Country Link
DE (1) DE3610155A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4029861A1 (en) * 1989-09-20 1991-03-28 Hitachi Ltd Drive and control method e.g. for several common stores - using two CPU(s) with two common stores and each with common store in it
EP0447685A2 (en) * 1990-03-19 1991-09-25 Hitachi, Ltd. Programmable controller
EP0483970A1 (en) * 1990-11-01 1992-05-06 International Business Machines Corporation Dynamically linking code segments in a multiprocessor system
CN109683968A (en) * 2018-12-18 2019-04-26 北京东土军悦科技有限公司 Interchanger quick start method, interchanger and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD231259A3 (en) * 1983-11-23 1985-12-24 Kontaktbau & Spezmaschbau Veb CIRCUIT ARRANGEMENT OF AN ALTERNATE MEMORY FOR A DOUBLE COMPUTER SYSTEM

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD231259A3 (en) * 1983-11-23 1985-12-24 Kontaktbau & Spezmaschbau Veb CIRCUIT ARRANGEMENT OF AN ALTERNATE MEMORY FOR A DOUBLE COMPUTER SYSTEM

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4029861A1 (en) * 1989-09-20 1991-03-28 Hitachi Ltd Drive and control method e.g. for several common stores - using two CPU(s) with two common stores and each with common store in it
US5551007A (en) * 1989-09-20 1996-08-27 Hitachi, Ltd. Method for controlling multiple common memories and multiple common memory system
EP0447685A2 (en) * 1990-03-19 1991-09-25 Hitachi, Ltd. Programmable controller
EP0447685A3 (en) * 1990-03-19 1992-11-19 Hitachi, Ltd. Programmable controller
EP0483970A1 (en) * 1990-11-01 1992-05-06 International Business Machines Corporation Dynamically linking code segments in a multiprocessor system
WO1992008192A1 (en) * 1990-11-01 1992-05-14 International Business Machines Corporation System and method for dynamically linking code segments in real time
CN109683968A (en) * 2018-12-18 2019-04-26 北京东土军悦科技有限公司 Interchanger quick start method, interchanger and storage medium
CN109683968B (en) * 2018-12-18 2022-03-29 北京东土军悦科技有限公司 Switch quick start method, switch and storage medium

Similar Documents

Publication Publication Date Title
DE1774296C2 (en) Restructurable control unit for electronic digital computers
DE2856483C2 (en)
DE3114961C2 (en)
DE3810231A1 (en) DIGITAL CALCULATOR WITH PROGRAMMABLE DMA CONTROL
DE3704056A1 (en) PERIPHERAL DMA CONTROLLER FOR DATA ACQUISITION SYSTEMS
EP0006164B1 (en) Multiprocessor system with jointly usable storages
DE2130299A1 (en) Input / output channel for data processing systems
CH634671A5 (en) CHANNEL MEMORY ADAPTER.
DE2448212A1 (en) ASYNCHRONOUS COLLECTIVE LINE FOR SELF-DETERMINED COMMUNICATION BETWEEN PARENT COMPUTER DEVICES AND SUBSIDIARY DEVICES
DE2744531A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE2635592A1 (en) MULTIPROCESSOR POLLING SYSTEM
DE2657848A1 (en) CONTROL UNIT FOR A DATA PROCESSING SYSTEM
DE3114934A1 (en) CENTRAL SUBSYSTEM FOR A DATA PROCESSING SYSTEM
DE2652869A1 (en) DATA BACKUP DEVICE
DE4018481A1 (en) MICROPROCESSOR HOLD AND LOCK CIRCUIT
EP0050305B1 (en) Unit to control the access of processors to a data bus
DE1524111C3 (en) Electronic data processing system
DE1774164B1 (en) DATA PROCESSING SYSTEM WITH SEVERAL PROCESSING UNITS OPERATING AT THE SAME TIME
DE2363846A1 (en) PROCEDURE FOR CONTROLLING THE TRANSFER OF DATA BETWEEN A MEMORY AND ONE OR MORE PERIPHERAL DEVICES AND A DATA PROCESSING SYSTEM WORKING IN ACCORDANCE WITH THIS PROCESS
DE3911721C2 (en)
DE112019000460T5 (en) ADAPTER FOR DIRECT MEMORY ACCESS
DE3610155A1 (en) Multiprocessor system for parallel writing and reading of information
DE2359037C2 (en) Computer system
DE4413459A1 (en) Programmable multiprocessor interrupt controller system
DE1762205B2 (en) CIRCUIT ARRANGEMENT FOR AN ELECTRONICALLY CONTROLLED SELF DIALING OFFICE

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee