GB1576276A

GB1576276A – Data processing system comprising a plurality of processor
– Google Patents

GB1576276A – Data processing system comprising a plurality of processor
– Google Patents
Data processing system comprising a plurality of processor

Download PDF
Info

Publication number
GB1576276A

GB1576276A
GB665177A
GB665177A
GB1576276A
GB 1576276 A
GB1576276 A
GB 1576276A
GB 665177 A
GB665177 A
GB 665177A
GB 665177 A
GB665177 A
GB 665177A
GB 1576276 A
GB1576276 A
GB 1576276A
Authority
GB
United Kingdom
Prior art keywords
processor
command
instruction
processors
cpu2
Prior art date
1976-02-25
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
GB665177A
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.)

Siemens AG

Original Assignee
Siemens AG
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.)
1976-02-25
Filing date
1977-02-17
Publication date
1980-10-08

1977-02-17
Application filed by Siemens AG
filed
Critical
Siemens AG

1980-10-08
Publication of GB1576276A
publication
Critical
patent/GB1576276A/en

Status
Expired
legal-status
Critical
Current

Links

Espacenet

Global Dossier

Discuss

Classifications

G—PHYSICS

G06—COMPUTING; CALCULATING OR COUNTING

G06F—ELECTRIC DIGITAL DATA PROCESSING

G06F9/00—Arrangements for program control, e.g. control units

G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode

G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead

G06F9/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor

G06F9/3879—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Abstract

So that the difference between the processors (CPU1 and CPU2) actually existing can no longer be detected at the programming level of the machine language, a processor which cannot execute a command of its command sequence due to its lack of a function unit directly calls on a second processor which executes the command and reports the results back to the first processor, whereupon both processors continue processing their own command sequences.

Description

(54) IMPROVEMENTS IN OR RELATING TO
A DATA PROCESSING SYSTEM COMPRISING
A PLURALITY OF PROCESSORS
(71) We, SIEMENS AKTIENGESELL- SCHAFT, a German Company, of Berlin and Munich, Federal Republic of
Germany, do hereby declare the invention, for which we pray that a patent may be granted to us, and the method by which it is to be performed to be particularly described in and by the following state ment-: This invention relates to a data processing system comprising a plurality of processors which differ from one another in respect of the availability of hardware devices for particular functions, and in which when a processor encounters a command requiring facilities the processor does not possess, the command can be transferred to another processor for execution.
Arrangements which operate in this way are known for example from U.K. Patents
No. 1,327,779, 1,150,110 and 1,183,158.
These known arrangements however need the assistance of a superordinate operating programme or a superordinate control system in order to delegate commands not executable by one processor to another processor which is capable of executing them. In the case of the assistance of a superordinate operating programme one has the disadvantage that the inequality of the individual processors must be taken into account at the machine-language programming level. This means, for different system configurations, an adaptation of the operating system to the processors being used. On the other hand, superordinate control systems, which operate with or without the assistance of the operating programme, require an additional outlay.
A frequently occurring example of processors having different function units are those with integrated input-output control units. Whereas independent input-output control units can generally be reached direct from any processor, an integrated input-output control unit can only be approached via the processor which it is assigned.
According to the presnet invention there is provided a data processing system including a pair of processors which differ from one another in respect of the availability of hardware devices for particular functions, wherein the sytem is arranged, in operation, so that when a processor of the pair recognises a command requiring such a device not available therein but available in the other processor of the pair, it passes to said other processor an instruction and all the necessary parameters for execution of the required function, and said other processor interrupts the processing of its own programme at the next interrupt point, executes the instruction in accordance with the command parameters and returns the results to the first processor, communication of said instruction, parameters and results taking place directly without the participation of any superordinate control system, whereby the differences between the processors of the pair is not apparent at machine language level even in the execution of commands requiring such hardware devices.
In a preferred embodiment the system is arranged in operation so that in the event of an overlapping occurrence in both processors of a command requiring the facilities of the other processor the command counter of one processor is retarded so as to abandon execution of the command occurring therein, and said one processor executes the command transmitted by the other processor and repeats the transmission of said abandoned command to the other processor.
The invention will be further understood from the following description by way of example of an embodiment thereof, in which the processors have integrated inputoutput control units, with reference to the accompanying drawing, in which: Figure 1 schematically illustrates a simplified block diagram of a multiprocessor system; and
Figures 2, 3a, and 3b are time diagrams of command sequences.
Figure 1 illustrates a multi-processor system having two processors CPU1 and
CPU2, each of which is permanently assigned a respective one of input-output control units IOC1 and IOC2. It is assumed that each input-output control unit is integrated into the processor which it is assigned, this being illustrated in
Figure 1 by a broken boundary line between each processor and its assigned input-output control unit. Each inputoutput control unit is assumed to be able to supply four input-output channels I01 to I04 and 105 to I08. The processors
CPU1 and CPU2 have common access to a working or main store MM, and exchange information with one another via a multiple link IF.
If for example in a command sequence being processed by the processor CPU1 there occurs a command which the processor CPU1 interprets as being able to be handled only via for example the inputoutput channel I08, then the processor
CPUI emits to the processor CPU2 an instruction (request signal) together with all the command parameters which the latter requires to execute the command. The processor CPU2 generally receives this instruction at the next interruptable point of its own command sequence, executes the command with the parameters which it has been given until the desired results are achieved, and reports these results to the processor CPU1. It does not use the results itself, and in particular does not store them. The processor CPU1, which has been in a waiting state from the emission of the instruction until the report-back of the results, employs the fed-back results as if they were its own results, stores them for example, and completes the execution of the command.
The described sequences are schematically illustrated in Figure 2, in which vertical lines under headings CPU1 and
CPU2 represent commands or programme components in machine language which are executed by the processors. The interruptable points in the command sequences are marked by short transverse lines. It has been assumed that after a time T1, the processor CPU1 recognises that the complete execution of a command Bln requires a particular function unit which is integrated in the processor CPU2. Therefore the processor CPU1 transmits an instruction to the other processor CPU2 which, following the next interruptable point in its command sequence, is received and executed by the latter. The processor CPU2 supplies the results of the command execution to the processor CPU1 which then completes the command execution. Both processors can then continue with the processing of their own command sequences.
If, as is assumed here, two processors each possess a particular function unit, the situation can occur that each processor approaches the other processor with an instruction within the length of time required for the execution of corresponding commands. If no special provisions were made, in this situation both processors would wait for their instructions to be processed by the other processor. This would then lead to a mutual blocking of the two processor.
Two such conflict situations are represented in Figures 3a and 3b. In accordance with Figure 3a, after a time T1 which the processor CPU1 requires to interpret a command, this processor recognises that it is necessary to use a particular function unit in the processor
CPU2 to execute the command. However, the relevant instruction to the processor
CPU2 does not arrive there until an analogous command is already in progress in this processor, which command itself requires a particular function unit in the processor CPU1. Therefore the processor
CPU2 directs an instruction to the processor CPUI after the expiration of its own interpretation time T2.
In order to avoid a mutual blocking of the processors in such a conflict situation the following measures are adopted: a) For example by appropriate microprogramming, it is ensured that during the periods of time Tl and T2 which the processors require for the interpretation of commands, no irreversible changes occur in data, i.e. no data are modified either in the store MM or in registers; and
b) One of the two processors, for example the processor CPU1, having emitted an instruction, waits for at least the period of time T2 which the other processor CPU2 requires to interpret a command. If during this period of time the one processor CPU1 receives no instruction from the other processor CPU2 or if it receives back the results of its own instruction, the one processor CPU1 realises that the other processor CPU2 has not submitted an instruction. However, if an instruction arrives from the other processor
CPU2 during the additional waiting time
T2 of the one processor CPU1, the one processor CPU1 decrements its command counter. The one processor CPU1 thus arrives at an interruptable point in its command sequence and can process the instruction from the other processor CPU2.
When this instruction has been executed, it again emits its own instruction to the other processor CPU2. Generally, having reached an interruptable point in its command sequence, this processor CPU2 is now in a position to execute this command. Otherwise the above-described process is repeated.
Another example of the occurrence of a conflict situation is shown in Figure 3b, in which shortly after an interruptable point in the command sequence of the processor
CPU1, the processor CPU2 recognises a command which triggers an instruction to the processor CPU1. The latter recognises the alien instruction immediately following the emission of its own instruction. Therefore it can, as before, immediately turn back its command counter, and thus return to the previous interruptable point in its command sequence without an additional waiting time.
It should be expressly mentioned that the turning back of the command counter is only allowed to occur in one processor in a conflict situation.
WHAT WE CLAIM IS:
1. A data processing system including a pair of processors which differ from one another in respect of the availability of hardware devices for particular functions, wherein the system is arranged, in operation, so that when a processor of the pair recognises a command requiring such a device not available therein but available in the other processor of the pair, it passes to said other processor an instruction and all the necessary parameters for execution of the required function, and said other processor interrupts the processing of its own programme at the next interrupt point, executes the instruction in accordance with the command parameters and returns the results to the first processor, communication of said instruction, parameters and results taking place directly without the participation of any superordinate operating programme or superordinate control system, whereby the differences between the processors of the pair is not apparent at machine language level even in the execution of commands requiring such hardware devices.
2. A data processing system according to claim 1, arranged in operation so that in the event of an overlapping occurrence in both processors of the pair of a command requiring the facilities of the other processor the command counter of one processor is retarded so as to abandon execution of the command occurring therein, and said one processor executes the command transmitted by the other processor and repeats the transmission of said abandoned command to the other processor.
3. A data processing system substantially as herein described with reference to the accompanying drawing.
**WARNING** end of DESC field may overlap start of CLMS **.

Claims (3)

**WARNING** start of CLMS field may overlap end of DESC **. arrives at an interruptable point in its command sequence and can process the instruction from the other processor CPU2. When this instruction has been executed, it again emits its own instruction to the other processor CPU2. Generally, having reached an interruptable point in its command sequence, this processor CPU2 is now in a position to execute this command. Otherwise the above-described process is repeated. Another example of the occurrence of a conflict situation is shown in Figure 3b, in which shortly after an interruptable point in the command sequence of the processor CPU1, the processor CPU2 recognises a command which triggers an instruction to the processor CPU1. The latter recognises the alien instruction immediately following the emission of its own instruction. Therefore it can, as before, immediately turn back its command counter, and thus return to the previous interruptable point in its command sequence without an additional waiting time. It should be expressly mentioned that the turning back of the command counter is only allowed to occur in one processor in a conflict situation. WHAT WE CLAIM IS:

1. A data processing system including a pair of processors which differ from one another in respect of the availability of hardware devices for particular functions, wherein the system is arranged, in operation, so that when a processor of the pair recognises a command requiring such a device not available therein but available in the other processor of the pair, it passes to said other processor an instruction and all the necessary parameters for execution of the required function, and said other processor interrupts the processing of its own programme at the next interrupt point, executes the instruction in accordance with the command parameters and returns the results to the first processor, communication of said instruction, parameters and results taking place directly without the participation of any superordinate operating programme or superordinate control system, whereby the differences between the processors of the pair is not apparent at machine language level even in the execution of commands requiring such hardware devices.

2. A data processing system according to claim 1, arranged in operation so that in the event of an overlapping occurrence in both processors of the pair of a command requiring the facilities of the other processor the command counter of one processor is retarded so as to abandon execution of the command occurring therein, and said one processor executes the command transmitted by the other processor and repeats the transmission of said abandoned command to the other processor.

3. A data processing system substantially as herein described with reference to the accompanying drawing.

GB665177A
1976-02-25
1977-02-17
Data processing system comprising a plurality of processor

Expired

GB1576276A
(en)

Applications Claiming Priority (1)

Application Number
Priority Date
Filing Date
Title

DE19762607685

DE2607685C3
(en)

1976-02-25
1976-02-25

Method for operating processors in a multiprocessor system

Publications (1)

Publication Number
Publication Date

GB1576276A
true

GB1576276A
(en)

1980-10-08

Family
ID=5970849
Family Applications (1)

Application Number
Title
Priority Date
Filing Date

GB665177A
Expired

GB1576276A
(en)

1976-02-25
1977-02-17
Data processing system comprising a plurality of processor

Country Status (8)

Country
Link

AT
(1)

AT353363B
(en)

BE
(1)

BE851840A
(en)

CH
(1)

CH610122A5
(en)

DE
(1)

DE2607685C3
(en)

FR
(1)

FR2342530A1
(en)

GB
(1)

GB1576276A
(en)

IT
(1)

IT1078233B
(en)

NL
(1)

NL7701537A
(en)

Cited By (3)

* Cited by examiner, † Cited by third party

Publication number
Priority date
Publication date
Assignee
Title

EP0843254A2
(en)

*

1990-01-18
1998-05-20
National Semiconductor Corporation
Integrated digital signal processor/general purpose CPU with shared internal memory

WO2000026772A1
(en)

*

1998-10-30
2000-05-11
Telefonaktiebolaget Lm Ericsson
Processing arrangements

GB2391968A
(en)

*

2002-05-09
2004-02-18
Nec Corp
Running function expansion modules on parallel processors

Families Citing this family (1)

* Cited by examiner, † Cited by third party

Publication number
Priority date
Publication date
Assignee
Title

DE3486464D1
(en)

*

1983-04-18
1998-02-19
Motorola Inc

Method and device for coordinating the execution of instructions by an additional data processing unit

Family Cites Families (2)

* Cited by examiner, † Cited by third party

Publication number
Priority date
Publication date
Assignee
Title

BE625673A
(en)

*

1961-12-04

US3631405A
(en)

*

1969-11-12
1971-12-28
Honeywell Inc
Sharing of microprograms between processors

1976

1976-02-25
DE
DE19762607685
patent/DE2607685C3/en
not_active
Expired

1977

1977-01-13
CH
CH40477A
patent/CH610122A5/en
not_active
IP Right Cessation

1977-01-25
FR
FR7701981A
patent/FR2342530A1/en
active
Granted

1977-01-27
AT
AT50677A
patent/AT353363B/en
not_active
IP Right Cessation

1977-02-14
NL
NL7701537A
patent/NL7701537A/en
not_active
Application Discontinuation

1977-02-17
GB
GB665177A
patent/GB1576276A/en
not_active
Expired

1977-02-22
IT
IT2055377A
patent/IT1078233B/en
active

1977-02-25
BE
BE175270A
patent/BE851840A/en
not_active
IP Right Cessation

Cited By (8)

* Cited by examiner, † Cited by third party

Publication number
Priority date
Publication date
Assignee
Title

EP0843254A2
(en)

*

1990-01-18
1998-05-20
National Semiconductor Corporation
Integrated digital signal processor/general purpose CPU with shared internal memory

EP0843254A3
(en)

*

1990-01-18
1999-08-18
National Semiconductor Corporation
Integrated digital signal processor/general purpose CPU with shared internal memory

WO2000026772A1
(en)

*

1998-10-30
2000-05-11
Telefonaktiebolaget Lm Ericsson
Processing arrangements

AU763319B2
(en)

*

1998-10-30
2003-07-17
Telefonaktiebolaget Lm Ericsson (Publ)
Processing arrangements

US7197627B1
(en)

1998-10-30
2007-03-27
Telefonaktoebolaget Lm Ericsson (Publ)
Multiple processor arrangement for conserving power

GB2391968A
(en)

*

2002-05-09
2004-02-18
Nec Corp
Running function expansion modules on parallel processors

GB2391968B
(en)

*

2002-05-09
2006-10-11
Nippon Electric Co
Application parallel processing system

US7464377B2
(en)

2002-05-09
2008-12-09
Nec Corporation
Application parallel processing system and application parallel processing method

Also Published As

Publication number
Publication date

FR2342530A1
(en)

1977-09-23

FR2342530B1
(en)

1983-09-30

DE2607685B2
(en)

1980-04-30

IT1078233B
(en)

1985-05-08

BE851840A
(en)

1977-08-25

CH610122A5
(en)

1979-03-30

DE2607685C3
(en)

1981-01-15

DE2607685A1
(en)

1977-09-01

AT353363B
(en)

1979-11-12

ATA50677A
(en)

1979-04-15

NL7701537A
(en)

1977-08-29

Similar Documents

Publication
Publication Date
Title

US3473155A
(en)

1969-10-14

Apparatus providing access to storage device on priority-allocated basis

US4047161A
(en)

1977-09-06

Task management apparatus

US4663730A
(en)

1987-05-05

Sequence controller

US3480914A
(en)

1969-11-25

Control mechanism for a multi-processor computing system

US4488231A
(en)

1984-12-11

Communication multiplexer having dual microprocessors

US4103328A
(en)

1978-07-25

Control apparatus for controlling data flow between a control processing unit and peripheral devices

GB1108801A
(en)

1968-04-03

Improvements in or relating to electronic data processing systems

KR950001417B1
(en)

1995-02-24

Computer system

US4482982A
(en)

1984-11-13

Communication multiplexer sharing a free running timer among multiple communication lines

EP0013740A1
(en)

1980-08-06

Data processing apparatus having a system reset capability

GB1576276A
(en)

1980-10-08

Data processing system comprising a plurality of processor

US3778780A
(en)

1973-12-11

Operation request block usage

US3483522A
(en)

1969-12-09

Priority apparatus in a computer system

US3475729A
(en)

1969-10-28

Input/output control apparatus in a computer system

KR870011540A
(en)

1987-12-24

System Management System for Multiprocessor Systems

US4740910A
(en)

1988-04-26

Multiprocessor system

EP0049521A2
(en)

1982-04-14

Information processing system

US5206935A
(en)

1993-04-27

Apparatus and method for fast i/o data transfer in an intelligent cell

US4007444A
(en)

1977-02-08

Microprogrammed computing device

US3541517A
(en)

1970-11-17

Apparatus providing inter-processor communication and program control in a multicomputer system

JPH01124042A
(en)

1989-05-16

Line control system in virtual computer system

US3440616A
(en)

1969-04-22

Data storage access control apparatus for a multicomputer system

US3514772A
(en)

1970-05-26

Communication apparatus in a computer system

US3505652A
(en)

1970-04-07

Data storage access control apparatus for a multicomputer system

US3500334A
(en)

1970-03-10

Externally controlled data processing unit

Legal Events

Date
Code
Title
Description

1980-12-31
PS
Patent sealed

1988-10-12
PCNP
Patent ceased through non-payment of renewal fee

Download PDF in English

None