CN1332334C - Multi-processor communication and its communication method - Google Patents

Multi-processor communication and its communication method Download PDF

Info

Publication number
CN1332334C
CN1332334C CNB200410000825XA CN200410000825A CN1332334C CN 1332334 C CN1332334 C CN 1332334C CN B200410000825X A CNB200410000825X A CN B200410000825XA CN 200410000825 A CN200410000825 A CN 200410000825A CN 1332334 C CN1332334 C CN 1332334C
Authority
CN
China
Prior art keywords
communication
processor
port
multiprocessor
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB200410000825XA
Other languages
Chinese (zh)
Other versions
CN1641619A (en
Inventor
谢应科
付博
姚萍
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB200410000825XA priority Critical patent/CN1332334C/en
Publication of CN1641619A publication Critical patent/CN1641619A/en
Application granted granted Critical
Publication of CN1332334C publication Critical patent/CN1332334C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

The present invention relates to a multi-processor communication device and a communication method, which comprises communication ports and a crossing and exchanging unit, wherein an external memory interfaces of a processor are connected with the communication ports; data transmission between the communication port is carried out through the crossing and exchanging unit; the communication ports comprise interruption control units and communication port register groups. The present invention realizes full interconnection and direct real-time communication between different types of processors and improves the commonality of the multi-processor communication device. An interruption generator is arranged in multi-processor communication device. Once other processors generate a communication request to the processor, an interruption signal can be generated. The interruption signal can be suitable for an electric level triggering and an edge triggering requirements. When a plurality of processors send the communication request to the same processor simultaneously, interruption information can not be lost. The present invention realizes the information exchange of each communication port by using the crossing and exchanging unit in the multi-processor communication device and can carry out communication between the processors in a system independently.

Description

A kind of multiprocessor communication device and communication means thereof
Technical field
The present invention relates to a kind of communicator and communication means thereof, relate in particular to a kind of communicator that is applied to communicate by letter between multiprocessor and communication means thereof.
Background technology
Using multiprocessor to carry out parallel processing at present is to improve one of best method of system performance, and large-scale embedded device also often is designed to multiple processor system.Multiple processor system is widely used in real-time application system, reaches other in the exigent disposal system of computing power.These systems are just increasingly sophisticated, they may need to use a plurality of processors of same type to constitute a parallel system, also may need to use dissimilar a plurality of processors to constitute a system, any situation no matter, generally all need between the processor to communicate, especially in using in real time, more need at a high speed means of communication reliably, with the real-time of effective assurance system.
In order to solve the interconnected communication problem of a plurality of processors, in the prior art, adopt the high-speed interface of processor design itself to carry out interconnected communication, but the port that high-speed interface is the processor itself that designs voluntarily to be had, these interfaces are the enterprises standard usually, generally can only communicate by letter with processor of the same type.That is to say that adopting this high-speed interface to carry out between multiprocessor interconnected communication does not have a versatility, most of processors do not have the ability of this direct communication, have brought difficulty for the high-speed traffic of these interprocessors.
Summary of the invention
The technical problem to be solved in the present invention provides a kind of multiprocessor communication device and communication means thereof, improve its versatility, realize complete interconnected connection between multiprocessor, the communication information can be directly in real time, stable transfer, avoid the communication information to lose, thereby improved communication reliability.
In order to solve the problems of the technologies described above, the invention provides a kind of multiprocessor communication device, comprise a plurality of communication port and cross exchange unit, one of the external memory interface of polyprocessor each processor and described a plurality of communication port links to each other, carry out data transmission by described cross exchange unit between described communication port, described communication port comprises interrupt control unit and communication port registers group, described communication port registers group comprises communications setting register, communication response register, communication sources register and message registers group, wherein:
Described communications setting register is used for sending communication request to other communication port;
Described communication response register is used for sending the communication response signal to other communication port;
Described communication sources register is used to indicate communication sources;
Described message registers group is used to store the communication information from interrupt source signal.
In such scheme, described cross exchange unit is interconnected fully, and each communication is separate, and described cross exchange unit uses unified clock signal, and the clock of the described processor that is connected with described communicator is irrelevant.
In such scheme, described communication port is sent look-at-me with interrupt mode response communication, and described interrupt control unit receives the look-at-me that described communication port is sent, and carries out break in service and handles; By described communication port registers group, the external memory interface of processor is directly controlled the read-write of described communication port registers group.
In such scheme, described interrupt control cell processing level triggered interrupts and edge are triggered and are interrupted, when multiport sent communication request to same port, promptly a plurality of processors sent communication request to same processor, and described interrupt control unit repeatedly sends interrupt request.
In such scheme, described communications setting register is made up of low level and Gao Li two parts, and low level is the communication target code, and a high position is used to describe the communication information.
In such scheme, each of described communication response register and described communication sources register is represented a processor.
In such scheme, the corresponding processor of each in the described message registers group.
In such scheme, the described communication information has the self-defining communication code of software.
In such scheme, described communication port is with the inquiry mode responding communication, and processor is checked communication request by the described communication sources registers group of direct visit.
The invention provides a kind of multiprocessor communication means, be applied to may further comprise the steps in the multiple processor system:
A) the source processor sends communication request by described communicator to target processor, and communication request comprises the target information and the communication information;
B) described communicator writes the communication information in the communication port of target processor correspondence and preserves, and indicates communication sources in the communication port of target processor correspondence, sends look-at-me to target processor simultaneously;
C) after target processor receives the look-at-me that the source processor sends, enter the Interrupt Process service, judgement is the communication request that the source processor is sent;
D) target processor reads the content of the communication information of having preserved, and content is judged;
E) target processor is handled accordingly according to judged result;
F) target processor is removed the interruption that the source processor is sent;
Does g) target processor judge whether and need send response message to the source processor? if, forward step a) to,
This moment, source processor and target processor location swap if not, were carried out next step;
H) sign off.
As from the foregoing, can realize complete interconnected direct, real-time Communication for Power between dissimilar multiprocessors by described communicator and communication means, use the cross exchange unit to realize the message exchange of each communication port in the communicator, any interprocessor can communicate independently in the system; Described communicator can connect dissimilar processors, has improved versatility.
In addition, the interruption generating means is arranged in the described communicator, when same processor sends communication request simultaneously, also can not lose interrupting information, thereby improved the reliability of communication at a plurality of processors.
Description of drawings
Fig. 1 is the structured flowchart of embodiment of the invention multiprocessor communication device;
Fig. 2 is the communication port composition diagram in the embodiment of the invention multiprocessor communication device;
Fig. 3 is the interrupt control logic figure in the communication port of embodiment of the invention multiprocessor communication device;
Fig. 4 a is the communication means process flow diagram of multiprocessor communication device of the present invention;
Fig. 4 b is the communication means process flow diagram of embodiment of the invention multiprocessor communication device;
Embodiment
Will communicate between multiprocessor, just need send and received communication information by communicator, this just needs the read-write external memory storage.The external memory interface of processor can be divided into 2 types, sync cap and asynchronous interface.Sync cap is used for being connected with synchronous memories (as SDRAM, DDR RAM etc.), asynchronous interface is used for being connected with asynchronous memory (as DRAM, FLASH, ROM etc.), the asynchronous memory interface is clock system when not required generally, extensively exist in various processors, the present invention uses the asynchronous memory interface.
The asynchronous memory interface is made up of three parts usually: address signal, control signal, data bus define address-bus width and data-bus width according to the map addresses situation and the data access situation of particular procedure machine.
Describe technical scheme of the present invention in detail referring to accompanying drawing.
Fig. 1 is the structured flowchart of multiprocessor communication device, and as shown in the figure, multiprocessor communication device comprises communication port and cross exchange unit.The communicator that connects N processor has N communication port, first communication port 11, second communication port one 2, third communication port one 3, the four-ways letter port one 4, the five-ways letter port one 5, and N communication port 16, carry out exchanges data by cross exchange unit 17 between the above communication port.Each port organization is formed all identical, and each port has a look-at-me, is used for sending interrupt control to processor; In addition, each port has one group of register, is called the communication port registers group, and the external memory interface of processor is directly controlled the read-write of these communication port registers group.
Describe the communication port of the multiprocessor communication device in the embodiment of the invention in detail below in conjunction with Fig. 2.
Fig. 2 is the communication port structure composition diagram in the communicator, and as shown in the figure, communication port comprises one group of communication port registers group 26 and interrupt control unit 25 of being used for interprocessor communication.The communication port registers group is made up of communications setting register 21, communication response register 22, communication sources register 23 and message registers group 24.Wherein:
Communications setting register 21 is to be used for sending communication request to other processor, it is made up of two parts, low level is (N-1) bit walk object code, high (M) position is used to describe the communication information, the communication information is by the self-defining communication code of software, can carry out low-volume information at a high speed by these communication informations between the processor and transmit, reach the requirement of quick response, also can use these communication informations that the implication of communication this time is described.That is to say, can not only finish the operation that mutual transmission is interrupted between the processor, can also directly transmit data, for concrete data volume, can be self-defined as required.
Communication response register 22 is used for sending the communication response signal to other processor, and it is made up of (N-1) position, and a processor in every representative system except that this processor is write 1 look-at-me of indicating to remove with corresponding processor.
It is which processor is a communication sources that communication sources register 23 is used for indication, it by (N-1) position form, each correspondence a processor, if certain place value is 1, then the corresponding processor of expression has sent communication request to this processor, is that 0 expression does not have communication request.
Deposited from look-at-me communication information in a steady stream in (N-1) message registers group 24, the width of each register is the M position, and the corresponding processor of each register is used to store the communication information that other processor is sent.
As depicted in figs. 1 and 2, if the communications setting register of certain processor in its port register group carried out write operation, the cross exchange unit will be according to the communication target code content in the communications setting register, the communication information in the communications setting register is write in the message registers that communication target code intermediate value is 1 alignment processing machine, and the correspondence position 1 of the communication sources register of target processor.Cross exchange unit 17 in the communicator is fully interconnected, and each communication all is separate.Cross exchange unit 17 uses unified clock signal, and irrelevant with the clock of processor, the processor in the system can be operated in identical frequency, also can be operated in different frequencies, and these processors can also be dissimilar.
In the communication port registers group, each processor that need communicate all has corresponding register to control, it can accept the communication request that sends from any one or a plurality of processor, also can send communication request information to any one or a plurality of processor, the processing function in the system is carried out complete interconnected communication.When the source processor after target processor sends communication request, the communication sources register of target processor will put 1 in corresponding position, the interrupt control unit can send look-at-me to target processor simultaneously, look-at-me is carried out the look-at-me processing in the logic control element 25 of communication port, target processor reads information from the source processor then.
Describe the processing of the interrupt control cell pairs break signal in the communication port in detail below in conjunction with Fig. 3.
Fig. 3 is the interrupt control unit schematic diagram of communication port in the communicator, and as shown in the figure, after the system reset, the output terminal (B) of counting logic is 1.When any one or a few position 0 (the becoming 0) of communication sources register by 1, the input end (A end) of counting logic has the high level of one-period, the counting logic detection is counter reset 0 behind the high level of input A, and output B is changed to 0, counter begins to add 1 counting, when counter is full, stop counting, output B is changed to 1, so force when any or a few position 1 of communication sources register, look-at-me has a low level.
The communication information can be avoided losing in the interrupt control unit.If processor A has sent interrupt request among Fig. 3, at this moment will produce a look-at-me, during machine-readable its communication sources register of target processing, processor B sends a communication request again, and at this moment processor can not be handled this request at once.Handle the communication request of processor A at target processor after, will write 0 to the A position of its communication sources register, interrupt control logic will provide the interruption of processor B once more after certain time-delay (by counter controls).
The edge triggering of processor is interrupted and the requirement of level triggered interrupts because the effect of counting logic, the look-at-me that the interrupt control unit produces can be satisfied simultaneously.The interrupt control unit has guaranteed that at a plurality of processors when same processor sent communication request simultaneously, the interrupt control unit can repeatedly send interrupt request, can not lose interrupting information.
Processor is except the mode responding communication that can use interruption, also can directly visit the communication request that its communication sources register judges whether other processor, this mode is called inquiry mode, uses this communication mode, and processor can not need the external interrupt interface.Because each interrupt source all has corresponding message registers, when a plurality of processors sent communication request to same processor, the communication information also was separate, and target processor also can identify each communication request.
Shown in Fig. 4 a, a kind of multiprocessor communication means that is applied in the multiple processor system may further comprise the steps:
A) the source processor sends communication request by communicator to target processor, and communication request comprises the target information and the communication information;
B) communicator writes the communication information in the communication port of target processor correspondence and preserves, and indicates communication sources in the communication port of target processor correspondence, sends look-at-me to target processor simultaneously;
C) after target processor receives the look-at-me that the source processor sends, enter the Interrupt Process service, judgement is the communication request that the source processor is sent;
D) target processor reads the content of the communication information of having preserved, and content is judged;
E) target processor is handled accordingly according to judged result;
F) target processor is removed the interruption that the source processor is sent;
Does g) target processor judge whether and need send response message to the source processor? if, execution in step a),
This moment, source processor and target processor location swap if not, were carried out next step;
H) sign off.
Below polyprocessor communication means is described with the communication example.4 processors are arranged in the system, with 3 bit representation communication target codes, describe the communication information in the communications setting register with 4.The communication target code of each processor visit and each corresponding relation of communication sources register are as follows:
Position 1 Position 2 Position 3
Processor 1 Processor 2 Processor 3 Processor 4
Processor 2 Processor 1 Processor 3 Processor 4
Processor 3 Processor 1 Processor 2 Processor 4
Processor 4 Processor 1 Processor 2 Processor 3
Shown in Fig. 4 b, when first processor when the 3rd processor sends the communication information (0001), communicator is finished communication process and be may further comprise the steps:
Step 100, first processor writes (0001010) in its communications setting register, and " 1 " representative in wherein back three 010 sends the communication information 0001 to this alignment processing machine, and promptly first processor sends communication request 0001 to the 3rd processor;
Step 110, cross unit is according to the target information content (010) in the communications setting register, the communication information (0001) is write in first message registers of the 3rd processor, and to the 3rd processor transmission look-at-me, the correspondence position 1 of the communication sources register in the third communication port of the 3rd processor of handle connection simultaneously, i.e. 100 (tables in the contrast);
Step 120, the 3rd processor receives the look-at-me that first processing unit sends, enter the Interrupt Process service, carrying out look-at-me in the interrupt control unit in the communication port that connects the 3rd processor handles, read the value 100 of its communication sources register, can judge the communication request that first processor sends;
Step 130, the 3rd processor read the information of first message registers in the communication port, judge Content of Communication;
Step 140, the 3rd processor is handled accordingly;
Write 000 on step 150, the 3rd processor communication response register in communication port, remove the interruption that sends from first processor.
Step 160 after the 3rd processor pair communication information is finished dealing with, sends communications feedback information for if desired first processor, just can send information to first processor according to above method.
In above-mentioned communication process, if when the 3rd processor successively receives the look-at-me that first processor and second processor send, by the description of above-mentioned interrupt control Elementary Function as can be known, connect interrupt control unit in the communication port of the 3rd processor after handling the look-at-me that first processor sends, the interrupt control unit is after certain time-delay, provide the look-at-me of second processor once more, then it is handled.The processing of look-at-me is identical with step 130, just reads the value difference of communication sources register.
Under the interconnected situation of multiprocessor (greater than 3), above-mentioned communication process step and Interrupt Process process are suitable equally, just the length of communications setting register, communication response register, communication sources register is along with the number of processor changes, and every value is along with the difference of the communication object regulation according to each register changes.

Claims (10)

1, a kind of multiprocessor communication device, comprise the cross exchange unit, it is characterized in that, also comprise a plurality of communication port, one in the external memory interface of polyprocessor each processor and the described a plurality of communication port links to each other, carry out data transmission by described cross exchange unit between described communication port, described communication port comprises interrupt control unit and communication port registers group, described communication port registers group comprises communications setting register, communication response register, communication sources register and message registers group, wherein:
Described communications setting register is used for sending communication request to other communication port;
Described communication response register is used for sending the communication response signal to other communication port;
Described communication sources register is used to indicate communication sources;
Described message registers group is used to store the communication information from interrupt source signal.
2, multiprocessor communication device as claimed in claim 1, it is characterized in that described cross exchange unit is interconnected fully, each communication is separate, described cross exchange unit uses unified clock signal, and the clock of the described processor that is connected with described communicator is irrelevant.
3, multiprocessor communication device as claimed in claim 1 is characterized in that, described communication port is sent look-at-me with interrupt mode response communication by described interrupt control unit; By described communication port registers group, the external memory interface of processor is directly controlled the read-write of described communication port registers group.
4, multiprocessor communication device as claimed in claim 1, it is characterized in that, described interrupt control cell processing level triggered interrupts and edge are triggered and are interrupted, when multiport sends communication request to same port, be that a plurality of processors send communication request to same processor, described interrupt control unit can repeatedly send interrupt request.
5, multiprocessor communication device as claimed in claim 1 is characterized in that, described communications setting register is made up of low level and high-order two parts, and low level is the communication target code, and a high position is used to describe the communication information.
6, multiprocessor communication device as claimed in claim 1 is characterized in that, each of described communication response register and described communication sources register is represented a processor.
7, multiprocessor communication device as claimed in claim 1 is characterized in that, the corresponding processor of each in the described message registers group.
8, multiprocessor communication device as claimed in claim 5 is characterized in that, the described communication information has the self-defining communication code of software.
9, multiprocessor communication device as claimed in claim 1 or 2 is characterized in that, described communication port is directly visited described communication sources registers group and checked communication request with the inquiry mode responding communication.
10, a kind of application rights requires 1 described multiprocessor communication device to carry out the processor communication means, may further comprise the steps:
A) the source processor sends communication request by described communicator to target processor, and communication request comprises the target information and the communication information;
B) described communicator writes the communication information in the communication port of target processor correspondence and preserves, and indicates communication sources in the communication port of target processor correspondence, sends look-at-me to target processor simultaneously;
C) after target processor receives the look-at-me that the source processor sends, enter the Interrupt Process service, judgement is the communication request that the source processor is sent;
D) target processor reads the content of the communication information of having preserved, and content is judged;
E) the target processor limit is handled accordingly according to judged result;
F) target processor is removed the interruption that the source processor is sent;
G) target processor judges whether and need send response message to the source processor, if, forwarding step a) to, this moment, source processor and target processor location swap if not, were carried out next step;
H) sign off.
CNB200410000825XA 2004-01-17 2004-01-17 Multi-processor communication and its communication method Expired - Fee Related CN1332334C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200410000825XA CN1332334C (en) 2004-01-17 2004-01-17 Multi-processor communication and its communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200410000825XA CN1332334C (en) 2004-01-17 2004-01-17 Multi-processor communication and its communication method

Publications (2)

Publication Number Publication Date
CN1641619A CN1641619A (en) 2005-07-20
CN1332334C true CN1332334C (en) 2007-08-15

Family

ID=34866905

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200410000825XA Expired - Fee Related CN1332334C (en) 2004-01-17 2004-01-17 Multi-processor communication and its communication method

Country Status (1)

Country Link
CN (1) CN1332334C (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236576B (en) * 2008-01-31 2011-12-07 复旦大学 Interconnecting model suitable for heterogeneous reconfigurable processor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248021A (en) * 1999-08-23 2000-03-22 张科峰 Super-Internet server with exchanging multi-processor
WO2003046749A1 (en) * 2001-11-28 2003-06-05 Interactive Content Engines, Llc. Interactive broadband server system
CN1423460A (en) * 2001-12-01 2003-06-11 深圳市中兴通讯股份有限公司上海第二研究所 Multi-processing unit route system
WO2003048951A1 (en) * 2001-11-30 2003-06-12 Advanced Micro Devices, Inc. A switching i/o node for connection in a multiprocessor computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248021A (en) * 1999-08-23 2000-03-22 张科峰 Super-Internet server with exchanging multi-processor
WO2003046749A1 (en) * 2001-11-28 2003-06-05 Interactive Content Engines, Llc. Interactive broadband server system
WO2003048951A1 (en) * 2001-11-30 2003-06-12 Advanced Micro Devices, Inc. A switching i/o node for connection in a multiprocessor computer system
CN1423460A (en) * 2001-12-01 2003-06-11 深圳市中兴通讯股份有限公司上海第二研究所 Multi-processing unit route system

Also Published As

Publication number Publication date
CN1641619A (en) 2005-07-20

Similar Documents

Publication Publication Date Title
US10394747B1 (en) Implementing hierarchical PCI express switch topology over coherent mesh interconnect
CN1608255B (en) Communicating transaction types between agents in a computer system using packet headers including an extended type/extended length field
CN100438524C (en) Virtual interface structure user layer network communication system based on hardware support
US20090307408A1 (en) Peer-to-Peer Embedded System Communication Method and Apparatus
CN101477512B (en) Processor system and its access method
US20120260005A1 (en) Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller
US20020087720A1 (en) System and method for communications management and control over an unreliable communications network
CN101765838A (en) Be used to improve the system and method for the performance of routable fabric
US6789183B1 (en) Apparatus and method for activation of a digital signal processor in an idle mode for interprocessor transfer of signal groups in a digital signal processing unit
CN100511207C (en) Communication method between two processors
CN111913898A (en) PCIE root complex message interrupt generating method using end point
US7346725B2 (en) Method and apparatus for generating traffic in an electronic bridge via a local controller
US9053092B2 (en) System authorizing direct data transfers between memories of several components of that system
CN105700859A (en) Network-processor-based hardware table traversal method and apparatus
CN1332334C (en) Multi-processor communication and its communication method
CN105530153A (en) Slave device communication method in network, communication network, master device and slave device
EP1267269A2 (en) Apparatus and method for distribution of signals from a high level data link controller to multiple digital signal processor cores
US7302548B1 (en) System and method for communicating in a multi-processor environment
EP1218823A1 (en) Method and apparatus for handling invalidation requests to processors not present in a computer system
CN100432968C (en) Direct access device of storage and data transmission method thereof
CN100387006C (en) Computer system and method of using network changing inside
US6959352B1 (en) System and method for allowing non-trusted processors to interrupt a processor safely
CN103853692B (en) A kind of multiprocessor data means of communication based on interruption judgment mechanism
JP2011113163A (en) Inter-end point communication control device and method in io access communication system
US5355463A (en) Circuit configuration for transforming the logical address space of a processor unit to the physical address space of a memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070815

Termination date: 20190117

CF01 Termination of patent right due to non-payment of annual fee