JP2010532509A - System for communication between a processor, a processor, the apparatus and method - Google Patents

System for communication between a processor, a processor, the apparatus and method Download PDF

Info

Publication number
JP2010532509A
JP2010532509A JP2010513947A JP2010513947A JP2010532509A JP 2010532509 A JP2010532509 A JP 2010532509A JP 2010513947 A JP2010513947 A JP 2010513947A JP 2010513947 A JP2010513947 A JP 2010513947A JP 2010532509 A JP2010532509 A JP 2010532509A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
processor
buffer
pointer
index
size
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.)
Granted
Application number
JP2010513947A
Other languages
Japanese (ja)
Other versions
JP5498378B2 (en )
Inventor
オーベルグ、パトリック
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Queuing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Queuing arrangements
    • H04L49/901Storage descriptor, e.g. read or write pointers

Abstract

A multi-processor system comprises a sending processor adapted to send a data message, a receiving processor adapted to receive the data message, and a memory unit associated with the receiving processor. The multi-processor system has a size-index table associated with the sending processor, and the sending processor is adapted to map a size of a payload portion of the data message to an index of the size-index table, and to send the data message containing the size, the index and the payload portion to the receiving processor. The multi-processor system also has mapping circuitry associated with the receiving processor. The mapping circuitry is adapted to map the index contained in the data message received from the sending processor to a pointer, wherein the pointer is associated with a buffer of the memory unit. The receiving processor is adapted to write the payload portion of the received data message to the buffer as indicated by the pointer. A receiving processor adapted to be comprised in a multi-processor system, an electronic apparatus comprising a multi-processor system and/or a receiving processor are also described as well as a method of receiving a data message at a processor.

Description

本発明は、デジタルプロセッサ分野に関し、特に、マルチプロセッサシステム内でのデジタルプロセッサ間での通信に関する。 The present invention relates to digital processor field, in particular, it relates to communication between digital processors in a multiprocessor system.

プロセッサ間の通信は、マルチプロセッサにおいて頻繁に利用されている。 Communication between processors is frequently utilized in a multiprocessor. マルチプロセッサシステムは、例えば、特定用途向け集積回路(ASIC:application−specific integrated circuit)のような単一チップ上に存在してもよい。 Multiprocessor system, for example, application specific integrated circuits: may be present on a single chip, such as (ASIC application-specific integrated circuit). 代替的に、マルチプロセッサシステムは、電子装置内の異なるチップ上に存在するプロセッサ、または、場合によっては地理的に離れている別々の装置内に存在するプロセッサによって構成されてもよい。 Alternatively, multi-processor systems, processors present on different chips within the electronic device, or, in some cases may be constituted by a processor present in the different devices that are geographically separated. マルチプロセッサシステムのプロセッサは、標準的な民生プロセッサであってもよく、または、特定のタスクまたは条件のために特別に設計された特別な用途向けのプロセッサであってもよい。 Processors in a multi-processor system may be a standard consumer processor, or may be a processor of the special applications which are specially designed for specific tasks or conditions.

マルチプロセッサシステムの各プロセッサは、各プロセッサ上で動作するオペレーティングシステムを有してもよい。 Each processor of the multiprocessor system may have an operating system running on each processor. オペレーティングシステムのコアは、各オペレーティングシステム上で動作するアプリケーションに分かるように通信する必要がある。 Core operating system, it is necessary to communicate as seen in applications running on the operating system. プロセッサ間の通信は、例えば、マルチプロセッサシステム内のプロセッサのうちの第1プロセッサと関連付けられたメモリユニットから、マルチプロセッサシステム内のプロセッサのうちの弟2プロセッサと関連付けられたメモリユニットへと送信される必要があるデータメッセージを含んでもよい。 Communication between processors, for example, from the memory unit associated with the first processor of the processors of the multiprocessor system, is transmitted to the memory unit associated with the brother 2 processors of the processors of a multiprocessor system it may include data message with a need. データメッセージを送信するために必要なことは、例えば、第2プロセッサと関連付けられたスレッドによって、このスレッドが第1プロセッサ上のサービスを利用している場合に、開始されてもよい。 All that is required to transmit the data message, for example, by a thread associated with the second processor, if the thread is using the service on the first processor may be initiated.

一般的に言えば、送信されるデータメッセージは、ペイロード部分、すなわち、通信される必要があるデータを含んでいる。 Generally speaking, the data message transmitted has a payload portion, i.e., contain data that needs to be communicated. ペイロード部分は特定のサイズを有し、例えば、バイト数で表されてもよい。 The payload portion has a certain size, for example, it may be expressed in bytes. ペイロード部分のサイズは、通信される必要がある異なるメッセージ間で異なっていてもよい。 The size of the payload portion may be different between different messages that need to be communicated. サイズが異なることもあり、かつ、データメッセージを受信する予定のプロセッサが、全ての可能性のあるサイズのメッセージの受信をサポートする必要があるため、受信されたデータメッセージを格納するための受信用プロセッサと関連付けられたメモリユニット内に、予め割り当てられた、固定サイズのバッファを有することは有利ではないこともある。 Sizes may differ, and processor that is to receive the data message, since it is necessary to support the reception of a message of size all possible, for reception for storing received data message in the memory unit associated with the processor, pre-assigned, is sometimes not advantageous to have a fixed size buffer. これは、このようなソリューションが一般的に、大量のいわゆるスラック、すなわち、メモリユニットに渡って広がる未使用のメモリをもたらすからである。 This is because, general such solutions, a large amount of so-called slack, i.e., because results in unused memory extending over the memory unit.

従って、受信用プロセッサ(または受信用プロセッサのサブシステム)は、メッセージのペイロード部分の受信前に適切なサイズのバッファを割り当てられるように、メッセージの大きさに関する情報を取得する必要がある。 Accordingly, the receiving processor (or receiving processor subsystem), such that the allocated buffers of suitable size before the reception of the payload portion of the message, it is necessary to obtain information about the size of the message. この情報は、ペイロード部分の送信前に送信用プロセッサによって送信されてもよい。 This information may be transmitted by the transmitting processor before sending the payload portion. サイズ情報の受信により、受信用プロセッサ内で割り込み信号が生成されてもよい。 Upon receipt of the size information, the interrupt signal in the receiving processor may be generated. その後、割り込み信号に応じて、受信用プロセッサはサイズを認識し、受信用プロセッサと関連付けられたメモリユニット内で適切なサイズのバッファを割り当てる。 Thereafter, in response to the interrupt signal, the receiving processor recognizes the size, allocates a buffer of appropriate size in the memory unit associated with the receiving processor. 幾つかの実現において、バッファが割り当てられている場合には、第2割り込み信号が受信用プロセッサ内で生成される。 In some implementations, if the buffer is assigned, a second interrupt signal is generated in the receiving processor.

バッファが割り当てられている場合には、ペイロードは受信可能であり、割り当てられたバッファに格納可能である。 If the buffer is allocated, the payload is able to receive, it can be stored in the allocated buffer. 例えばペイロードは、第2割り込み信号に応じて、または、第1割り込み信号に応じた手続きの実行の一部として受信可能であり、格納可能である。 For example payload, in response to the second interrupt signal, or may be received as part of the execution of the procedure according to the first interrupt signal, it can be stored. バッファへのデータメッセージのペイロード部分の格納が完了した場合には、更に別の割り込み信号が受信用プロセッサ内で生成されてもよい。 When the storage of the payload portion of the data message to the buffer is completed, it may be generated yet another interrupt signal in the receiving processor. この割り込み信号は、受信用プロセッサの中央処理ユニット(CPU:central processing unit)に、データメッセージが受信され、格納されていることを報知することを目的としている。 This interrupt signal, the central processing unit of the receiving processor: the (CPU central processing unit), the data message is received, aims at informing that it is stored. この全手続きは、マルチプロセッサシステムのプロセッサ間で通信される必要がある各データメッセージのために繰り返される必要がある。 This entire procedure has to be repeated for each data message that needs to be communicated between processors in a multiprocessor system.

マルチプロセッサシステムのプロセッサ内の高頻度な割り込み信号は、多くの状況において深刻な不利益となる。 Frequent interrupt signal in the processor of the multiprocessor system is a serious disadvantage in many situations. 各割り込み信号について、入力、実行、終了操作のような複数の工程が、割り込み信号が例えばキー入力または外部ハードウェア要求のようなかなり簡単な割り込み要求を伝える場合にも、この特定のプロセッサ上で動作するオペレーティングシステムによって実行される必要がある。 For each interrupt signal input, execution, a plurality of processes such as completion operations, when the interrupt signal conveys an example key input or fairly simple interrupt request such as an external hardware also required, on this particular processor It needs to be performed by the operation to the operating system. 割り込み信号が、例えばネスト型の割り込み(nested interrupt)のような、より複雑な割り込み要求を伝える場合には、オペレーティングシステムによって実行するための、より多くのステップが存在することもある。 Interrupt signal, such as a nested interrupts (nested interrupt), when conveying a more complex interrupt request for execution by the operating system, sometimes there are more steps.

従って、割り込み信号の頻度は、例えば、マルチプロセッサシステム内のプロセッサの性能に大きな影響を与える可能性がある。 Therefore, the frequency of the interrupt signal, for example, can have a significant impact on the performance of the processors in a multiprocessor system. 割り込み信号の頻度を下げることによって、プロセッサ上で動作するオペレーティングシステムにより行なわれるタスクの全実行時間が短縮されることもある。 By lowering the frequency of the interrupt signal, sometimes all the execution time of tasks performed by the operating system running on the processor is reduced. 特に、マルチプロセッサシステムが単一チップ上に存在する場合には、メッセージ転送が非常に速い速度で実行されるべきであることが予想される可能性がある。 In particular, when the multiprocessor system is present on a single chip, it is possible that the message transfer is expected that should be performed at a very fast rate. 従って、プロセッサ間のメッセージ転送のために必要な割り込みの数を低減することが、全マルチプロセッサシステムで有利であろうことが予想されるが、このような場合には特に望ましいであろう。 Therefore, reducing the number of necessary interrupts for message transfer between processors, it would be advantageous in all multiprocessor systems is expected, it would be particularly desirable in such cases.

マルチプロセッサシステムにおいて遭遇する他の問題は、メモリユニット内の特定の位置のための意図されたデータが、メモリユニット内または他のメモリユニット内の他の不適切な、または誤った位置に書き込まれる可能性がある場合である。 Another problem encountered in multiprocessor system, intended data for a particular location within the memory unit is written in addition to the improper or incorrect position of the memory unit or in other memory units it is a case where there is a possibility. このようなイベントは、例えば、ハッキング、ウィルスまたは出来の悪いコードによるものである可能性がある。 Such events, for example, hacking, may be due to a virus or can be bad code. さらに、ハッキングまたはウィルス攻撃が、メモリユニット内に自身のデータを書き込む可能性がある。 Furthermore, hacking or virus attack, there is a possibility to write their data into the memory unit. このような全ケースにおいて、後続の読み込みアクセスが、結果として、意図したものと全く異なるデータをもたらす可能性がある。 In all such cases, a subsequent read access, as a result, may result in completely different data than intended.

幾つかのマルチプロセッサシステムの更なる不利益は、共有メモリプロトコルのような、メモリポインタが異なるプロセッサ間で交換されるプロトコルが利用される場合である。 A further disadvantage of some multiprocessor system, such as a shared memory protocol is when the protocol memory pointers are exchanged between different processors are used. このようなソリューションにおいては、例えば、ウィルスまたはハッカーが接続に侵入し、ポインタを読み出し、データをダウンロードするため、またはコードをダウンロードし受信用プロセッサで動作させるために、ポインタにより示されるメモリアドレスを利用する可能性があるという危険性がある。 In such a solution, e.g., a virus or hacker enters the connection, reads the pointer, to download the data, or to operate in the downloaded receiving processor code, using a memory address indicated by the pointer there is a risk that there is likely to be. 代替的に、ウィルスまたはハッカーがポインタを変更する可能性があり、これによって、意図されるデータが誤ったメモリ位置に書き込まれる。 Alternatively, there is a possibility that a virus or hacker to change the pointer, whereby the data intended to be written to the wrong memory location.

従って、受信用プロセッサ内で出来る限り少ない割り込み信号を生成し、受信用プロセッサと関連付けられたメモリユニット内で出来る限り少ないスラックを生成する一方で、マルチプロセッサシステム内のプロセッサ間でデータメッセージを通信する必要性がある。 Therefore, to produce a less interrupt signal as possible in the receiving processor, while generating less slack as possible in the memory unit associated with the receiving processor, for communicating data messages between processors in a multiprocessor system there is a need.

本発明の課題は、上記の不利益の少なくとも幾つかを未然に防ぎ、マルチプロセッサシステム内のプロセッサ間でデータメッセージを通信するための改善されたシステム、プロセッサ、装置および方法を提供することである。 An object of the present invention is to prevent in advance at least some of the above disadvantages and to provide improved system for communicating data messages, the processor, the apparatus and method between processors in a multiprocessor system .

本発明の第1の観点によれば、このことは、データメッセージを送信する送信用プロセッサと、上記データメッセージを受信する受信用プロセッサと、上記受信用プロセッサと関連付けられたメモリユニットと、を含むマルチプロセッサシステムによって達成される。 According to a first aspect of the present invention, this involves a sending processor to send data messages, and the receiving processor for receiving the data message, and a memory unit associated with the receiving processor, a It is achieved by the multiprocessor system. マルチプロセッサシステムは、上記送信用プロセッサと関連付けられたサイズインデックステーブルを有し、上記送信用プロセッサは、上記サイズインデックステーブルのインデックスに、上記データメッセージのペイロード部分のサイズをマッピングし、上記サイズ、上記インデックス、および上記ペイロード部分を含む上記データメッセージを、上記受信用プロセッサに送信する。 Multiprocessor system has a size index table associated with the sending processor, the transmitting processor is the index of the size index table maps the size of the payload portion of the data message, the size, the index, and the data message including the payload portion is transmitted to the receiving processor. マルチプロセッサシステムは、上記受信用プロセッサと関連付けられたマッピング回路も有する。 Multiprocessor system also has mapping circuitry associated with the receiving processor. 上記マッピング回路は、上記送信用プロセッサから受信された上記データメッセージに含まれる上記インデックスを、ポインタにマッピングし、上記ポインタは上記メモリユニットのバッファと関連付けられている。 Said mapping circuit, the index included in the data messages received from the sending processor maps the pointer, the pointer is associated with a buffer of the memory unit. 上記受信用プロセッサは、上記受信されたデータメッセージの上記ペイロード部分を、上記ポインタによって示される上記バッファに書き込む。 The receiving processor, the payload portion of the received data message is written into the buffer pointed to by the pointer.

上記受信用プロセッサはさらに、システムの起動時に上記サイズインデックステーブルをセットアップしてもよい。 The receiving processor may be further set up the size index table at system startup.

マルチプロセッサシステムは、上記受信用プロセッサと関連付けられたダイレクトメモリアクセスコントローラをさらに含み、周辺部からメモリへの少なくとも1つの転送と、メモリからメモリへの少なくとも1つの転送とを含む分散チェーンを実行してもよい。 Multiprocessor system further includes a direct memory access controller associated with said receiving processor executes at least one transfer to the memory from the periphery, the distribution chain and at least one transfer from memory to memory it may be.

マルチプロセッサシステムは、上記送信用プロセッサと上記受信用プロセッサとに関連付けられたデータリンクをさらに含んでもよい。 Multiprocessor system may further include a data link associated with the above sending processor and the receiving processor. 上記送信用プロセッサは、上記データリンクと関連づけられた出力バッファを含み、上記受信用プロセッサは、上記データリンクと関連づけられた入力バッファを含んでもよい。 Said sending processor includes an output buffer associated with the data link, the receiving processor may include an input buffer associated with the data link.

上記マッピング回路は、ポインタを格納するためのポインタ配列と、インデックスレジスタと、ポインタレジスタと、を含んでもよい。 It said mapping circuit comprises a pointer array for storing the pointer, may include and index registers, a pointer register, a.

上記受信用プロセッサはさらに、システムの起動時に上記ポインタ配列をセットアップしてもよい。 The receiving processor may be further set up the pointer array at system startup.

上記ダイレクトメモリアクセスコントローラは、上記メモリユニットのバッファを割り当て、上記メモリユニットのバッファが割り当てられている場合には上記ポインタ配列を更新してもよい。 It said direct memory access controller allocates a buffer of the memory unit, when the buffer of the memory unit is allocated may update the pointer array.

上記受信用プロセッサの上記入力バッファは、上記サイズ、上記インデックス、および上記ペイロード部分を含む上記データメッセージを受信してもよい。 The input buffer of the receiving processor may receive the data message containing the size, the index, and the payload portion. 上記ダイレクトメモリアクセスコントローラはさらに、上記入力バッファから上記サイズを読み出し、上記入力バッファから上記インデックスを読み出し、上記インデックスレジスタに上記インデックスを書き込み、上記ポインタレジスタから、上記メモリユニットの上記バッファと関連付けられた上記ポインタを読み出し、上記入力バッファから上記ペイロード部分を読み出し、上記ポインタによって示される上記バッファに上記ペイロード部分を書き込んでもよい。 It said direct memory access controller further reads the size from the input buffer, reading out the index from the input buffer, writes the index into the index register, from the pointer register, associated with the buffer of the memory unit It reads the pointer, reads the payload portion from the input buffer may write the payload portion in the buffer indicated by the pointer.

上記ダイレクトメモリアクセスコントローラはさらに、上記ペイロード部分が上記バッファに書き込まれている場合に割り込み信号を生成してもよい。 It said direct memory access controller further the payload portion may generate an interrupt signal when written in the buffer.

上記ダイレクトメモリアクセスコントローラはさらに、システムスタックの上位レイヤに上記バッファを通知し、上記送信用プロセッサへと確認メッセージを送ってもよい。 Said direct memory access controller is further configured to notify said buffer to higher layers of the system stack may send a confirmation message to the sending processor.

上記バッファは第1バッファであってもよく、上記ダイレクトメモリアクセスコントローラはさらに、上記メモリユニットの第2バッファを割り当て、上記第2バッファは上記第1バッファと同じサイズを有しており、上記第2バッファと関連付けられたポインタで、上記ポインタ配列を更新してもよい。 The buffer may be a first buffer, said direct memory access controller is further assigned a second buffer of the memory unit, the second buffer has the same size as the first buffer, said first a pointer associated with the second buffer, may update the pointer array.

上記メモリユニットは第1メモリユニットであってもよく、上記マルチプロセッサシステムは、上記送信用プロセッサと関連付けられた第2メモリユニットをさらに含んでもよい。 The memory unit may be a first memory unit, the multiprocessor system may further comprise a second memory unit associated with the sending processor. 上記第2メモリユニットは、上記サイズインデックステーブルを格納してもよい。 The second memory unit may store the size index table.

本発明の第2の観点によれば、プロセッサは、マルチプロセッサシステムに含まれる。 According to a second aspect of the present invention, the processor is included in a multiprocessor system. 上記プロセッサは、ペイロード部分、上記ペイロード部分のサイズ、およびインデックスを含むデータメッセージを受信する受信用プロセッサである。 The processor, the payload portion is a receiving processor that receives data messages including the size of the payload portion, and an index. 上記マルチプロセッサシステムは、上記データメッセージを送信する送信用プロセッサと、上記受信用プロセッサと関連付けられたメモリユニットとをさらに含む。 The multiprocessor system further comprises a transmission processor for transmitting the data message, and a memory unit associated with the receiving processor. 上記プロセッサは、上記送信用プロセッサから受信された上記データメッセージに含まれる上記インデックスを、ポインタにマッピングするマッピング回路を有し、上記ポインタは上記メモリユニットのバッファと関連付けられている。 The processor, the index included in the data messages received from the sending processor has a mapping circuit that maps to a pointer, the pointer is associated with a buffer of the memory unit. 上記受信用プロセッサは、上記受信されたデータメッセージの上記ペイロード部分を、上記ポインタによって示される上記バッファに書き込む。 The receiving processor, the payload portion of the received data message is written into the buffer pointed to by the pointer.

さらに、第2の観点に従ったプロセッサは、第1の観点に従った実施形態の様々な特徴に対応する特徴を有してもよい。 Furthermore, the processor according to the second aspect may have features corresponding to the various features of embodiments according to the first aspect.

本発明の第3の観点によれば、電子装置は、第1の観点に従ったマルチプロセッサシステムと、第2の観点に従ったプロセッサと、の少なくとも1つを含む。 According to a third aspect of the present invention, an electronic device includes a multi-processor system according to the first aspect, a processor according to the second aspect, at least one of.

上記電子装置は、携帯型または手持ち型の移動無線通信機器、移動無線端末、携帯電話、ポケットベル、発信機、電子手帳、スマートフォン、コンピュータ、組込み型ドライブ、携帯型ゲーム機、時計、基地局、または、基地局コントローラであってもよい。 The electronic device, portable or handheld mobile radio communication equipment, a mobile radio terminal, a mobile telephone, a pager, a communicator, an electronic organizer, a smartphone, a computer, an embedded drive, a portable game machine, a watch, a base station, or it may be a base station controller.

本発明の第4の観点によれば、プロセッサにおいてデータメッセージを受信する方法において、上記データメッセージは、サイズ、インデックス、およびペイロード部分を含み、上記方法は、上記プロセッサの入力バッファから上記サイズを読み出す工程と、上記入力バッファから上記インデックスを読み出す工程と、ポインタへと上記インデックスをマッピングする工程と、上記入力バッファから上記ペイロード部分を読み出す工程と、上記プロセッサと関連付けられたメモリのバッファに、上記ペイロード部分を書き込む工程であって、上記バッファは上記ポインタにより示される、上記書き込み工程と、を含む。 According to a fourth aspect of the present invention, a method of receiving a data message in the processor, the data message includes the size, index, and a payload portion, the method reads the size from the input buffer of the processor a step, a step of reading the index from the input buffer, a step of mapping the index to a pointer, the step of reading the payload portion from the input buffer, the buffer memory associated with the processor, the payload a step of writing portion, the buffer is indicated by the pointer, including, and the writing process.

上記ポインタは、ポインタ配列内に含まれてもよい。 The pointer may be contained in the pointer array.

ポインタに上記インデックスをマッピングする上記工程は、インデックスレジスタに上記インデックスを書き込む工程と、上記ポインタに上記インデックスをマッピングする工程と、ポインタレジスタに上記ポインタを書き込む工程と、上記ポインタレジスタから上記ポインタを読み出す工程と、を含んでもよい。 The step of mapping the index to a pointer reads and writing the index in the index register, a step of mapping the index to the pointers, and writing the pointer to the pointer register, the pointer from the pointer register a step may comprise.

さらに、第4の観点に従った方法は、第1の観点に従った実施形態の様々な特徴に対応する特徴を有してもよい。 Furthermore, the method according to the fourth aspect may have features corresponding to the various features of embodiments according to the first aspect.

本発明のさらなる実施形態は、従属請求項に定義されている。 A further embodiment of the present invention are defined in the dependent claims.

本発明の実施形態の効果の1つは、プロセッサが他のプロセッサからデータメッセージを受信する場合にプロセッサ内で生成される割り込み信号の数が低減されることである。 One of the advantages of embodiments of the present invention is that the number of interrupt signals generated by the processor when the processor receives the data messages from other processors can be reduced. さらに正確には、データメッセージの受信と関連付けられた割り込み信号の数は、少なくとも半減されうる。 More precisely, the number of interrupt signals associated with the received data message may be at least halved. さらに、幾つかの実現に比べて3分の1でありうる。 Furthermore, it can be a one-third compared to some implementations.

本発明の実施形態の更なる効果は、非合法の、および/または望まれないメモリ利用を防止する内蔵型のセキュリティの仕組みが存在しうるということである。 A further advantage of embodiments of the present invention is that the illegal, and / or undesired built-in security mechanism to prevent the memory usage may be present.

本発明の実施形態の他の効果は、マルチプロセッサシステムのプロセッサ間でメモリポインタが送信されないことであり、このことがウィルスのような望まれないコードに対するセキュリティを向上させる。 Another advantage of the embodiment of the present invention is that the memory pointers are not sent between processors of a multiprocessor system, this may improve the security against such unwanted code as viruses.

本発明の実施形態の更に別の効果は、割り込み信号の数の低減を可能にするために、本発明の実施形態に従ってメモリ・バッファが予め割り当てられているとしても、スラック(slack)と呼ばれる、メモリユニットに渡って広がる未使用のメモリの量が未だに非常に低いレベルに保たれうるということである。 A further advantage of embodiments of the present invention, in order to allow a reduction in the number of interrupt signals, as memory buffers are allocated in advance in accordance with an embodiment of the present invention, referred to as slack (slack), the amount of unused memory extending over the memory unit is that it can be kept still very low levels.

本明細書で利用される場合「含む/含んでいる」(“comprises/comprising”)という語は、述べられている特徴、整数、ステップ、または構成要素の存在を特定するために利用されるが、1つまたは複数の他の特徴、整数、ステップ、または構成要素、またその集合の存在を排除するものではないことが強調される。 Word when used herein, "comprising / are comprising" ( "comprises / comprising") is stated features, integers, is used to identify the presence of steps or elements, , one or more other features, integers, steps or components, also that it is not intended to exclude the presence of the set, is emphasized.

本発明の更なる目的、特徴、および効果は、添付の図面を参照して、本発明の実施形態の以下の詳細な記載から明らかとなろう。 Further objects, features, and advantages of the present invention, with reference to the accompanying drawings, will be apparent from embodiments of the following detailed description of the present invention.
マルチプロセッサシステムの2つのオペレーションシステム間での通信を説明する図である。 Is a diagram illustrating communication between two operating systems in a multiprocessor system. 本発明の幾つかの実施形態に従ったマルチプロセッサシステムを説明するブロック図である。 It is a block diagram illustrating a multi-processor system according to some embodiments of the present invention. 本発明の幾つかの実施形態に従ったサイズインデックステーブルを説明するブロック図である。 It is a block diagram for explaining the size index table according to some embodiments of the present invention. 本発明の幾つかの実施形態に従ったマルチプロセッサシステムの2つのプロセッサ間で送信されるデータメッセージを説明する図である。 It is a diagram for explaining a data message sent between two processors of a multiprocessor system according to some embodiments of the present invention. 本発明の幾つかの実施形態に従ったインデックスポインタ・マッピング回路を説明するブロック図である。 Is a block diagram illustrating an index pointer mapping circuitry according to some embodiments of the present invention. 本発明の幾つかの実施形態に従ったポインタ配列において体系化された、メモリユニットのバッファとバッファのポインタとの間の関連付けを説明するブロック図である。 In the pointer array according to some embodiments of the present invention it has been organized, which is a block diagram illustrating an association between the buffer and the buffer pointer memory unit. 本発明の幾つかの実施形態に従ったマルチプロセッサシステムのプロセッサにおいてデータメッセージを受信する方法を説明する流れ図である。 It is a flow diagram illustrating a method of receiving a data message in a processor of a multiprocessor system according to some embodiments of the present invention. 本発明の幾つかの実施形態に従ったダイレクトメモリアクセス・分散チェーンの操作を説明する図である。 A diagram for explaining an operation of direct memory access distributed chains according to some embodiments of the present invention. 本発明の幾つかの実施形態に従ったマルチプロセッサシステム、またはマルチプロセッサシステムの一部を含むことが可能な移動端末の正面図である。 It is a front view of a mobile terminal that can include a portion of some of the multiprocessor system according to an embodiment or multiprocessor system, the present invention.

以下では、データメッセージがマルチプロセッサシステムの2つのプロセッサ間で通信される本発明の実施形態を記載することにする。 In the following be described an embodiment of the present invention in which data messages are communicated between two processors of a multiprocessor system. 図1は、このようなマルチプロセッサシステムの2つのオペレーションシステム間での通信を説明するものである。 Figure 1 illustrates the communication between the two operating systems such multiprocessor systems. 図1では、メッセージ150が、マルチプロセッサシステムの第1プロセッサ上で動作する第1オペレーティングシステム(OS:operating system)110によって、マルチプロセッサシステムの第2プロセッサ上で動作する第2オペレーティングシステム(OS)120へと通信されている。 In Figure 1, the message 150, the first operating system running on the first processor of a multiprocessor system: by (OS operating system) 110, a second operating system running on the second processor of a multiprocessor system (OS) It is communicated to 120. 第1オペレーティングシステムは、第1プロセッサと関連付けられたメモリユニット130の位置131から、データメッセージ150のペイロードを取り出し、それを第2オペレーティングシステム120へと通信する。 The first operating system, the location 131 of memory unit 130 associated with the first processor, retrieves the payload of a data message 150 and communicates it to the second operating system 120. 第2オペレーティングシステム120は、データメッセージ150を受信し、ペイロードを、第2プロセッサと関連付けられたメモリユニット140の位置141に格納する。 The second operating system 120 receives the data message 150 and stores the payload, the position 141 of the memory unit 140 associated with the second processor.

図2は、本発明の例示的な実施形態に従ったマルチプロセッサシステム200のブロック図を示している。 Figure 2 shows a block diagram of a multiprocessor system 200 according to an exemplary embodiment of the present invention. 図1の第1オペレーティングシステム110、第2オペレーティングシステム120は、例えば、プロセッサ210、220上それぞれで動作してもよい。 The first operating system 110 of FIG. 1, the second operating system 120, for example, may operate each on the processor 210, 220. 以下の記載を簡単にするために、プロセッサ210を送信用プロセッサと、プロセッサ220を受信用プロセッサと呼ぶことにする。 To simplify the following description, the processor 210 and transmit processor, it will be referred to as processor 220 and the receiving processor. しかし、当然のことながら、本発明の実施形態では、マルチプロセッサシステムのプロセッサは、送信用プロセッサと受信用プロセッサの双方としてふるまってもよい。 However, it will be appreciated that, in embodiments of the present invention, a processor of a multiprocessor system may behave as both a receiving processor and the transmission processor. さらに、本発明の実施形態に従ったマルチプロセッサシステムは、2つ以上のプロセッサを含んでもよく、本明細書に記載される実施形態は、マルチプロセッサシステム内の全てのプロセッサの対に適用されてもよいものと理解される。 Further, the multiprocessor system according to an embodiment of the present invention may include two or more processors, the embodiments described herein, are applied to pairs of all processors in the multiprocessor system it is also understood as may.

送信用プロセッサおよび受信用プロセッサのそれぞれは、中央処理ユニット(CPU)211、221を含んでいる。 Each sending processor and the receiving processor includes a central processing unit (CPU) 211 and 221. ダイレクトメモリアクセス(DMA:direct memory access)コントローラ250、および、所定のインタフェース280は、送信用プロセッサ210と関連付けられている。 Direct memory access (DMA: direct memory access) controller 250, and the predetermined interface 280 is associated with the sending processor 210. インタフェース280は、例えば、ファーストイン、ファーストアウト(FIFO:first−in first−out)のシフトレジスタのような、関連付けられたキュー281を有する。 Interface 280, for example, first-in, first-out: with (FIFO first-in first-out), such as a shift register, a queue 281 associated with it. さらに、送信用プロセッサ210は、関連付けられたメモリユニット130を有し、このメモリユニット130へのアクセスは、ダイレクトメモリアクセスコントローラ250により制御される。 Furthermore, the transmission processor 210, a memory unit 130 associated with access to the memory unit 130 is controlled by a direct memory access controller 250. 同様に、受信用プロセッサ220は、関連付けられたダイレクトメモリアクセス(DMA)コントローラ260と、それへのアクセスがダイレクトメモリアクセスコントローラ260により制御される、関連付けられたメモリユニット140と、関連付けられた所定のインタフェース290と、を有し、インタフェース290は、例えば、ファーストイン、ファーストアウト(FIFO)のシフトレジスタのような関連付けられたキュー291を有する。 Similarly, the receiving processor 220, a direct memory access (DMA) controller 260 associated with access to it is controlled by the direct memory access controller 260, a memory unit 140 associated with a given associated in It has an interface 290, an interface 290, for example, a first-in, the queue 291 associated with such a shift register of first-out (FIFO). 受信用プロセッサと関連付けられたダイレクトメモリアクセスコントローラ260は、分散チェーン(scatter chain)を実行することが可能であり、その際には、周辺部からメモリへの転送と、メモリからメモリへの転送とが同じ分散チェーン内で結び付けられうる。 Direct memory access controller 260 associated with the receiving processor is able to execute a distributed chain (scatter chain), in that case, the transfer from the peripheral unit to the memory, the transfer from the memory to the memory There may be tied in the same distributed chain. インタフェース280、290は、データリンク270を通じて接続されており、このデータリンク270は直列リンクバスであってもよいが、これに限定されない。 Interface 280, 290 is connected via a data link 270, the data link 270 may be a serial link bus, but is not limited thereto. データリンク270は、リンクハンドラ(図示せず)によって管理されてもよい。 Data link 270 may be managed by the link handler (not shown).

図3Aは、本発明の実施形態に従ったサイズインデックステーブル(size−index table)300を示している。 Figure 3A shows the size index table (size-index table) 300 in accordance with an embodiment of the present invention. サイズインデックステーブル300は、サイズ330の配列310と、インデックス340の対応する配列320と、を含む。 Size index table 300 includes an array 310 of size 330, the corresponding sequence 320 of index 340, a. テーブルでは、各サイズ330は対応するインデックス340を有し、各インデックス340は対応するサイズ330を有する。 In the table, each size 330 has a corresponding index 340, each index 340 has a corresponding size 330. 当然のことながら、本発明で使用される場合には「配列」(array)および「テーブル」(table)という語は広義に解釈される。 Of course, the term "sequence" (array) and "table" (table) if used in the invention be construed broadly. 例えば、「テーブル」は、単にサイズのベクトルを含んでもよい。 For example, "table" may simply include a vector of size. その場合には、インデックスは、ベクトルにおける各サイズの位置と同一である。 In that case, the index is the same as the position of each size in the vector. さらに、サイズインデックステーブルのサイズおよびインデックスは、例えば、別のハードウェアユニットとして、プロセッサに不可欠なハードウェア回路として、または、メモリユニット内に格納されたソフトウェアデータとして具現されてもよい。 Further, the size and index of size index table, for example, as a separate hardware unit, as an integral hardware circuitry to a processor, or may be embodied as software data stored in the memory unit.

ここで、図2および図3Aを参照することにする。 Here, reference will be made to Figure 2 and Figure 3A. 本発明の実施形態において、サイズインデックステーブル300は、送信用プロセッサ210と関連付けられてもよい。 In an embodiment of the present invention, the size index table 300 may be associated with the sending processor 210. 例として、サイズインデックステーブル300は、受信用プロセッサ220により、システムの起動時にセットアップされてもよい。 As an example, the size index table 300, the receiving processor 220 may be set up at system startup. サイズインデックステーブルは、受信用プロセッサ220のソフトウェアによって、セットアップされてもよい。 Size index table, by the software of the receiving processor 220 may be set up. このセットアップの手続きにおいて、受信用プロセッサ220は、サイズインデックステーブル300を作成するために、受信用プロセッサ220と関連付けられたメモリユニット140のために適切な複数のバッファサイズ330を決定し、これらサイズを配列において配置し、インデックス340を各サイズと関連付ける。 In the procedure of this setup, the receiving processor 220, in order to create the size index table 300 to determine the appropriate multiple of the buffer size 330 for memory unit 140 associated with the receiving processor 220, these sizes place in sequence, it associates the index 340 and each size. その後、受信用プロセッサ220は、テーブル300を送信用プロセッサ210に通信し、この送信用プロセッサ210は、例えば、メモリユニット130にテーブルを格納する。 Thereafter, the receiving processor 220 communicates the table 300 to the sending processor 210, the sending processor 210 stores, for example, a table in the memory unit 130. 代替的に、サイズインデックステーブルは、所定のものであってもよく、従って例えば、専用のハードウェアにハードコードされていても(hard−coded)よい。 Alternatively, the size index table may be a predetermined one, thus, for example, be hard-coded in dedicated hardware (hard-coded) good. 本発明の幾つかの実施形態において、受信用プロセッサ220は、例えばメモリユニット140内にサイズインデックステーブル300の複写も保持する。 In some embodiments of the present invention, the receiving processor 220, for example, copying the size index table 300 in the memory unit 140 also holds.

図3Bは、図2の送信用プロセッサ210と、図2の受信用プロセッサ220との間で送信されるデータメッセージ350を説明するものである。 Figure 3B is a diagram for explaining the transmitting processor 210 of FIG. 2, the data message 350 sent between the receiving processor 220 in FIG. 図3Bに加えて、再び図2および図3Aを参照しながら、本発明の実施形態についてさらに詳しく述べることにする。 In addition to FIG. 3B, again with reference to FIGS. 2 and 3A, will be discussed in more detail an embodiment of the present invention. メッセージのペイロード353が送信用プロセッサ210から受信用プロセッサ220に通信される場合に、送信用プロセッサ210は、サイズインデックステーブル300を用いて、メッセージ350をインデックス352と関連付ける。 When the payload 353 of the message is communicated to the receiving processor 220 from the transmitting processor 210, transmission processor 210, using size index table 300 associates a message 350 and index 352. 関連付けは、メッセージ350のペイロード部分353のサイズ351を、対応するインデックス352、340に対してマッピングし、メッセージ350にインデックスを挿入することによって行なわれる。 Association, the size 351 of the payload portion 353 of the message 350, and mapped to corresponding index 352,340, is performed by inserting an index in the message 350. その場合、データメッセージ350は、図3Bに示されるように、ペイロード353に加えて、サイズ351とインデックス352を含んでもよい。 In that case, data message 350, as shown in FIG. 3B, in addition to the payload 353 may include a size 351 and index 352.

サイズインデックステーブル300におけるサイズ330は、送信用プロセッサ210と受信用プロセッサ220との間で通信されるメッセージ350のペイロード部分353の全可能なサイズ351を処理できるべきである。 Size 330 in the size index table 300 should be processed all possible sizes 351 of the payload portion 353 of the message 350 communicated between the sending processor 210 and the reception processor 220. 通信されるメッセージ350のペイロード部分353が、サイズインデックステーブル300内のエントリのサイズ330に直接的に対応しないサイズ351を有する場合に、サイズインデックステーブル300内のより大きなサイズ330、例えば、メッセージ350のペイロード部分353のサイズ351よりも大きい、サイズインデックステーブル300内の最小サイズ330に対応するインデックス340が選択される。 Payload portion 353 of the message 350 to be communicated is, in the case having a size 351 that does not correspond directly to the size 330 of the entry in the size index table 300, the larger the size 330 of the size index table 300, e.g., message 350 larger than the size 351 of the payload portion 353, an index 340 corresponding to a minimum size 330 in the size index table 300 is selected. 従って、例えばマルチプロセッサシステムのプロセッサ間で通信されるメッセージのペイロード部分が、1〜16ビットの間のいずれかであってよい場合に、サイズインデックステーブルは、少なくとも1つのエントリを有する必要があり、但し、関連付けられたサイズは16ビット以上である。 Thus, for example, the payload portion of the message communicated between processors in a multiprocessor system, if may be either between 1-16 bits, the size index table, it is necessary to have at least one entry, However, size associated is 16 bits or more. 例えば、サイズインデックスは、サイズ4、6、8、および16ビットを含むことが可能であることもあり、対応するインデックスは、0、1、2、および3である。 For example, the size index Sometimes it is possible size 4, 6, 8 and including 16 bits, corresponding index is 0, 1, 2, and 3. 送信されるメッセージが7バイトのサイズのペイロード部分を有する場合に、サイズインデックステーブル内の、8バイトのサイズに対応するエントリ(7バイト以上であるテーブル内の最小サイズ)が選択され、ペイロードサイズがインデックス2にマッピングされる。 When having a payload portion of the transmitted message is 7 bytes size, in the size index table entry corresponding to the 8-byte size (minimum size of the table is 7 bytes or more) is selected, the payload size It is mapped to the index 2.

サイズとインデックスとの間のマッピングが行なわれている場合には、所定のインタフェース280、290によって予め定められてように、メッセージがデータリンク270を介して送信される。 If the mapping between the size and the index have been made, as predetermined by predetermined interface 280, 290, the message is transmitted over the data link 270. 図3Bに示されるように、ペイロード部分353には、ペイロード部分のサイズ351、および、関連付けられたインデックス352が伴う。 As shown in Figure 3B, the payload portion 353, a payload portion size of 351, and, accompanied by the index 352 associated with it. 図3Bに示されるフォーマットは単なる例であり、本発明の幾つかの実施形態において、メッセージ部分が他の順序で現れてもよいことに注意されたい。 Format shown in Figure 3B is merely an example, in some embodiments of the present invention, like the message part is noted that may appear in another order. 例えば、インデックス部分とサイズ部分とが入れ替えられてもよい。 For example, it may be swapped and the index portion and the size of the part. 本発明の幾つかの実施形態において、メッセージは追加的な部分を含んでもよい。 In some embodiments of the present invention, the message may include additional portions.

メッセージ350、または、メッセージ350の少なくとも一部が受信用プロセッサ220の入力キュー291に送信されている場合に、受信用プロセッサのダイレクトメモリアクセスコントローラ260は、サイズ351およびインデックス352をキューから読み出す。 Message 350, or, if at least part of the message 350 is transmitted to the input queue 291 of the receiving processor 220, a direct memory access controller 260 of the receiving processor reads the size 351 and index 352 from the queue. これらメッセージ部分を読み出す順番は、メッセージのフォーマット、および、キューがどのように管理されているかに依存する。 Order to read these messages moieties, the format of the message, and, depending on whether the queue is how is managed. どのような場合にも、インデックス352は、メモリユニット140内の予め割り当たられたバッファと関連付けられたポインタにマッピングされる。 In any case, the index 352 is mapped to a pointer associated with the pre-split hit a buffer in the memory unit 140. その後、ダイレクトメモリアクセスコントローラ260は、入力キュー291からメッセージのペイロード部分353を読み出し、このペイロード部分を、ポインタに示されるように、予め割り当てられたバッファに書き込む。 Thereafter, the direct memory access controller 260 reads out the payload portion 353 of the message from the input queue 291, the payload portion, as shown in the pointer, and writes the previously allocated buffer. これらの読み出し手続きおよび書き込み手続きにおいて読み出され、書き込まれるデータの量は、入力キューから事前に読み出されたサイズ351により定められる。 Read in these read procedures and writing procedures, the amount of data to be written is determined by the size 351 read in advance from the input queue.

ここで、図2、図4Aおよび図4Bを参照しながら、ポインタへのインデックス352のマッピングについてより詳細に記載することにする。 Here, FIG. 2, with reference to FIGS. 4A and 4B, will be described in more detail the mapping of the index 352 to a pointer. 図4Aは、本発明の例示的な実施形態に従ったインデックスポインタ・マッピング回路400を説明するものである。 Figure 4A illustrates the index pointer mapping circuit 400 in accordance with an exemplary embodiment of the present invention. このマッピング回路は、受信用プロセッサのサブシステムからのみ、読み出しおよび/または書き込みのためにアクセス可能であってもよい。 The mapping circuit is only from the subsystem of the receiving processor, may be accessible for reading and / or writing. マッピング回路400は、受信用プロセッサ220と関連付けられた別のハードウェア・ブロックとして実現されてもよく、または、受信用プロセッサ220の不可欠な部分であってもよい。 Mapping circuit 400 may be implemented as separate hardware blocks associated with the receiving processor 220, or may be an integral part of the receiving processor 220. マッピング回路400は、インデックスポインタテーブル430を含み、インデックスポインタテーブル430は、インデックス440の配列495と、ポインタ450の対応する配列490を含む。 Mapping circuit 400 includes an index pointer table 430, the index pointer table 430 includes an array 495 of index 440, the corresponding sequence 490 of pointers 450. テーブルにおいて、各インデックス440は対応するポインタ450を有し、各ポインタ450は対応するインデックス440を有する。 In the table, each index 440 has a corresponding pointer 450, each pointer 450 has a corresponding index 440. 以前に記載されたサイズインデックステーブルに関しては、当然のことながら、本明細書で使用される場合に「配列」(“array”)および「テーブル」(“table”)という語は広義に解釈される。 With respect to the size index table described previously, of course, the term "sequence" as used herein ( "array") and "Table" ( "table") is interpreted broadly . 例えば、「テーブル」は、単にポインタのベクトルを含んでもよい。 For example, "table" may simply include a vector of pointers. その場合、インデックスは、ベクトルにおける各ポインタの位置と同一である。 In that case, the index is the same as the position of each pointer in the vector. さらに、インデックスポインタテーブルのインデックスおよびポインタは、例えば、別のハードウェアユニットとして、プロセッサに不可欠なハードウェア回路として、または、メモリユニット内に格納されたソフトウェアデータとして具現されてもよい。 Furthermore, the index and pointer index pointer table, for example, as a separate hardware unit, as an integral hardware circuitry to a processor, or may be embodied as software data stored in the memory unit.

図4Aに示される実施形態において、マッピング回路はさらに、インデックスレジスタ410と、ポインタレジスタ420とを含む。 In the embodiment shown in Figure 4A, including mapping circuit further includes an index register 410, and a pointer register 420. 受信用プロセッサ220のダイレクトメモリアクセスコントローラ260が入力キュー291からインデックスを読み出している場合には、インデックスは、マッピング回路400のインデックスレジスタ410に書き込まれる。 When the direct memory access controller 260 of the receiving processor 220 is reading an index from the input queue 291, the index is written to index register 410 of the mapping circuit 400. マッピング回路は、インデックスレジスタ410内のインデックスに対応するポインタを検出し、このポインタをマッピング回路400のポインタレジスタ420に書き込むように構成され、但し、ポインタは、ダイレクトメモリアクセスコントローラ260により読み出されてもよい。 Mapping circuit detects the pointer corresponding to the index in the index register 410, is configured to write the pointer in the pointer register 420 of the mapping circuit 400, however, the pointer is read by the direct memory access controller 260 it may be. マッピング回路は、ポインタレジスタ420からポインタが読み出し可能であるまでは更なるメッセージアクセスが行なわれないように、インデックスレジスタ410に対する書き込みをハンドシェーク(handshake)してもよい。 Mapping circuit, as a pointer from the pointer register 420 is not performed further message access until readable, the writing to the index register 410 may be handshake (handshake).

ハンドシェークは例えば、インデックスレジスタ410にインデックスを書き込んだ後に、ポインタレジスタ420から即座に読み出すことをダイレクトメモリアクセスコントローラ260に許可されないように、遂行されてもよい。 Handshake example, after writing an index into the index register 410, a reading from the pointer register 420 immediately so as not to be allowed to the direct memory access controller 260 may be accomplished. 代わりに、ダイレクトメモリアクセスコントローラ260は、ポインタレジスタ420から読み出すことを許可されるまで待つ必要がある。 Alternatively, a direct memory access controller 260 has to wait for the permission to be read from the pointer register 420. マッピング回路400は、ポインタレジスタ420が更新され、読み出される準備が整うまで、例えば、書き込み操作に対する自身の応答を遅らせてもよい。 Mapping circuit 400, the pointer register 420 is updated, until ready to be read are complete, for example, may be delayed their response to a write operation. 代替的に、ポインタレジスタ420が更新され、読み出される準備が整っている場合には、マッピング回路400は、書き込み操作に対して即座に応答し、その後、ダイレクトメモリアクセスコントローラ260のための別の標識を作成してもよい。 Alternatively, the pointer register 420 is updated, when ready to be read is in place, the mapping circuit 400 is responsive to the real for write operation, then another labeled for direct memory access controller 260 it may be created.

以前に説明したように、ポインタレジスタ420から読み出されるポインタは、受信されたデータメッセージのペイロード部分が書き込まれるべき、メモリユニット140のバッファと関連付けられている。 As explained previously, the pointer is read from the pointer register 420, to the payload portion of the received data message is written, it is associated with a buffer memory unit 140. ポインタと関連付けられた、予め割り当てられたバッファのサイズは、サイズインデックステーブル内で、インデックスポインタテーブル内のポインタと同じインデックスと関連付けられているサイズに対応する。 Associated with the pointer, the size of the previously allocated buffer, in the size index table, corresponding to the size associated with the same index pointer in the index pointer table.

図4Bは、ポインタ配列490内のバッファポインタ450と、メモリユニット140の予め割り当てられた、例示的なバッファ460、470、480との間の関連付けを説明するものである。 4B is a buffer pointer 450 in the pointer array 490, pre-assigned memory unit 140, serve to explain the association between the exemplary buffers 460, 470, 480. ポインタ450は、図4Bに示されるように、バッファ460、470、480へのダイレクトポインタ(すなわち、メモリアドレス)であってもよいが、ポインタ450は、バッファ460、470、480を間接的に定めてもよいことに注意されたい。 Pointer 450, as shown in FIG. 4B, a direct pointer to the buffer 460, 470, 480 (i.e., memory address) may be a pointer 450 defines a buffer 460, 470, 480 indirectly it should be noted that may be. 例えば、ポインタ450は、レジスタユニットのレジスタ、または、バッファ位置とは異なるメモリ位置を指し示してもよい。 For example, the pointer 450, the register unit registers or may point to a different memory location than the buffer position. その場合、レジスタまたはメモリ位置は、反対に、バッファ460、470、480のメモリアドレスを含む。 In that case, register or memory location, on the contrary, contains the memory address of the buffer 460, 470, 480. このソリューションは、例えば、バッファのメモリアドレスが、レジスタアドレス、またはバッファ位置とは異なるメモリ位置のアドレスよりも長い場合に有利である可能性がある。 This solution, for example, the memory address of the buffer, can be advantageous if longer than the address of a different memory location than the register address or buffer location. このように、マッピング回路400にポインタ配列490を格納するために必要なローカルメモリの量を最小限にすることが可能である。 Thus, it is possible to minimize the amount of local memory required to store the pointer array 490 to the mapping circuit 400.

メッセージのペイロード部分がメモリユニット140の識別されたバッファ460、470、480に書き込まれている場合に、割り込み信号が、受信用プロセッサ内で生成されてもよい。 If the payload portion of the message is written to the buffer 460, 470, 480 that are identified in the memory unit 140, an interrupt signal may be generated in the receiving processor. この割り込み信号は、受信用プロセッサのCPUに、データメッセージが受信され格納されていることを報知することを目的とする。 This interrupt signal, the CPU of the receiving processor, and an object thereof is to notify that the stored data message is received. 従って、マルチプロセッサシステムのプロセッサ間でのメッセージ通信との関連で生成される割り込み信号の数は、本発明の実施形態を実施する際に、メッセージごとに1つの割り込み信号に低減される。 Therefore, the number of interrupt signals generated in connection with the message communication between the processors of the multiprocessor system, in practicing the embodiment of the present invention, is reduced to one interrupt signal for each message. 割り込み信号は、例えば、受信用プロセッサと関連付けられたシステムスタックの上位レイヤにバッファを通知し、メモリユニット140内の新しいバッファ460、470、480を割り当て、新しいバッファは上位レイヤへと正に通知されたバッファと同じサイズを有しており、ポインタ配列490内の適切なエントリに新しいバッファと関連付けられたポインタ450を書き込み、送信用プロセッサが他の目的のために送信用バッファを開放できるように送信用プロセッサに確認メッセージを送信する、といったタスクの実行を開始してもよい。 The interrupt signal may, for example, notifies the buffer to higher layers of the system stack associated with the receiving processor, it allocates a new buffer 460, 470, 480 in the memory unit 140, a new buffer is positively notified to the upper layer and have the same size as the buffer, the write pointer 450 associated with the new buffer to the appropriate entry in the pointer array 490, transmission processor sending to allow release the transmission buffers for other purposes sending a confirmation message to the credit processor, such as may initiate the execution of the task.

図2、図3A、および図4Aを再び参照するが、バッファ460、470、480は、受信用プロセッサ220において、システムの起動時に、サイズインデックステーブル300をセットアップしそれを送信用プロセッサ210に通信することに場合によっては関連して、割り当てられてもよい。 2, 3A, and although Referring again to Figure 4A, a buffer 460, 470, 480, at the receiving processor 220, at system startup, communicates the size index table 300 up to it to the transmission processor 210 associated in some cases particular, it may be assigned. サイズインデックステーブルにおける各サイズについて、この特別なサイズの対応するバッファ460、470、480が割り当てられる。 For each size in the size index table, a buffer 460, 470, 480 is allocated a corresponding one of the special size. 各バッファと関連付けられて、ポインタ450がポインタ配列490に格納される。 Associated with each buffer, the pointer 450 is stored in the pointer array 490. ポインタ配列490は、システムの起動時にセットアップされてもよい。 Pointer array 490 may be set up at system startup. ポインタ配列は、受信用プロセッサ220のソフトウェアによってセットアップされてもよい。 Pointer array may be set up by the software of the receiving processor 220. その場合、メッセージがバッファ460、470、480のうちの1つに書き込まれる度に、同じサイズの新しいバッファが割り当てられてもよく、ポインタ配列490の対応するエントリが、新しいバッファと関連付けられたポインタで更新されてもよい。 In that case, each time a message is written to one of the buffers 460, 470, 480, may be a new buffer is allocated the same size, the corresponding entry in the pointer array 490, a pointer associated with the new buffer in may be updated. ポインタ450がレジスタまたはメモリを指し示し、このレジスタまたはメモリ位置が反対にバッファ460、470、480のメモリアドレスを含む代替的な実現のために、ポインタ配列490の対応するエントリは、新しいバッファが割り当てられている場合には更新される必要はない。 Pointer 450 points to register or memory, for the register or memory location of the alternative implementations, including the memory address of the buffer 460, 470, 480 on the opposite, the corresponding entry in the pointer array 490, a new buffer is allocated and it does not need to be updated in the case are. 代わりに、レジスタユニットまたはメモリ位置の対応するエントリが、新しいバッファのアドレスで更新されてもよい。 Alternatively, the corresponding entry in the register unit or memory location may be updated with the address of the new buffer.

本発明の実施形態に従ってバッファを予め割り当て、更新する手続きは、メモリユニット140内に不必要なスラックをもたらすことなく実行されることに注意されたい。 Previously allocated buffers in accordance with an embodiment of the present invention, the procedure to be updated, it should be noted that to be performed without introducing unnecessary slack in the memory unit 140. このことは、予め割り当てられたバッファを備える他のシステムとは対象的である。 This is contrast to the other system comprising a pre-allocated buffer. このソフトウェア層において不可能ではないにしても、これらのバッファの寿命を予測することが非常に困難なのでこの特徴は重要である。 If not impossible in the software layer, this feature is so very difficult to predict the life of these buffers are important. 本発明の実施形態によれば、異なるサイズの複数のバッファを使用することによって、不必要なスラックを防止することが可能である。 According to an embodiment of the present invention, by using a plurality of buffers of different sizes, it is possible to prevent unnecessary slack. しかし、許容可能なスラックの量と、サイズインデックステーブル300内のエントリ数(従って、ポインタ配列490内のエントリ数)との間には、トレードオフ(trade−off)があるであろう。 However, the amount of allowable slack, between the size number of entries index table 300 (hence, the number of entries in pointer array 490), there would be a trade-off (trade-off).

他のメッセージ送信のソリューションは、割り当てられたバッファへのポインタが送信用プロセッサへと送信される技術を利用することも可能である。 Solutions of other message transmission may also be a pointer to the allocated buffer using a technique to be sent to the sending processor. このことは、ウィルスまたはハッカーが、バッファへのデータまたはコードをダウンロードするきっかけとなる。 This is, virus or hacker, the opportunity to download the data or code into the buffer. さらに、ポインタは、ウィルスまたはハッカーによって、または不完全に設計されたコードによって変更される可能性もある。 Further, the pointer, by a virus or hacker, or incompletely possibly be changed by the design code. ポインタが変更されている場合、意図されるデータが、場合によっては他のデータを上書きして、メモリ内のどこかに止まっている可能性がある。 If the pointer is changed, the data are intended, in some cases by overwriting other data, there is a possibility that has stopped somewhere in memory. このように、意図されるデータは追跡不可能なこともあり、上書きされたデータが失われることもある。 Thus, data that is intended sometimes untraceable, sometimes overwritten data is lost. 従って、本発明の実施形態に従ったソリューションが、このような非合法な、または望まれないメモリ利用を防止することが可能な内蔵型のセキュリティの仕組みを有することは注意に値する。 Thus, solutions according to the embodiment of the present invention is worthy of note that with such illegal or unwanted self-contained which can prevent the memory usage security mechanism. これらの実施形態は、メッセージ送信と関連付けられたポインタの送信を回避し、これによって、例えばウィルスやハッカーが、受信用プロセッサにおいてコードをダウンロードし、動作させることがより困難になる。 These embodiments avoid transmission of the pointer associated with the message transmission, by which, for example, viruses and hackers, download the code at the receiving processor, be operated more difficult. 代わりに、本実施形態に従ってバッファのインデックスが送信される。 Instead, the index of the buffer is transmitted according to the present embodiment.

図5には、本発明の幾つかの実施形態に従ってマルチプロセッサシステムのプロセッサにおいてデータメッセージを送信する方法を示す流れ図500が示されている。 Figure 5 is a flowchart 500 illustrating a method for transmitting data messages is shown in the processor of a multiprocessor system in accordance with some embodiments of the present invention. 本方法は、例えば、図2の受信用プロセッサ220のようなプロセッサにおいて実行されてもよく、図2のダイレクトメモリアクセスコントローラ260は、ダイレクトメモリアクセス・分散チェーンの操作の一部として本方法を実行する役目を果たしてもよい。 The method may, for example, may be executed in a processor, such as a receiving processor 220 of FIG. 2, the direct memory access controller 260 of FIG. 2, performing the method as part of the operation of the direct memory access distributed Chain it may serve to. 本方法は510において開始し、ステップ510では、受信されたデータメッセージのペイロード部分のサイズが、図2のFIFOレジスタ291のような、プロセッサの入力キューから読み出される。 The method begins at 510, in step 510, the size of the payload portion of the received data message, such as a FIFO register 291 of FIG. 2, is read from the processor input queue. メッセージに含まれるインデックスは、ステップ520において入力キューから読み出され、ステップ530においてポインタにマッピングされる。 Index included in the message is read from the input queue in step 520 are mapped to the pointer in step 530.

マッピングの手続きは、ステップ531におけるインデックスレジスタへのインデックスの書き込み、ステップ532におけるポインタへのマッピング、ステップ533におけるポインタレジスタへのポインタの書き込み、および、ステップ534におけるポインタレジスタからのポインタの読み出しによって行なわれてもよい。 Procedures mapping, writing an index into the index register in step 531, mapping to the pointer in step 532, the pointer writing to the pointer register at step 533, and is performed by reading the pointer from the pointer register at step 534 it may be. 先に述べたように、ポインタへのインデックスのマッピングは、ポインタの配列からの、インデックスに対応するエントリの読み出しによって実現されてもよい。 As mentioned earlier, the index of the mapping to the pointer, from an array of pointers may be realized by reading the entry corresponding to the index. ポインタの配列、インデックスレジスタ、およびポインタレジスタは、図4Aにおけるマッピング回路400として具現されてもよく、ポインタ532へのインデックスのマッピング、ポインタレジスタ533へのポインタの書き込みは、ダイレクトメモリアクセス・分散チェーンによってではなく、マッピング回路のハードウェアによって、行なわれてもよい。 Array of pointers, index registers, and pointer register may be embodied as a mapping circuit 400 in FIG. 4A, index mapping to the pointer 532, the write pointer to a pointer register 533, by a direct memory access distributed Chain rather, by hardware mapping circuit, it may be performed.

インデックスがポインタにマッピングされている場合には、本方法はステップ540に進み、ステップ540では、ペイロードの転送が、ステップ510において入力キューから読み出されたサイズと、ステップ530において読み出されたポインタを用いて行なわれる。 Pointer when the index is mapped to a pointer, the method proceeds to step 540, in step 540, the payload of the transfer, the size read from the input queue in step 510, read in step 530 using is done. ペイロードの転送は、ステップ541において開始してもよく、ステップ541では、データメッセージのペイロードが入力キューから読み出される。 Transfer of the payload may be started in step 541, in step 541, the payload of the data message is read from the input queue. ステップ542において、ペイロードの転送は、ステップ530において読み出されたポインタにより示されるように、バッファにペイロードを書き込むことによって進められてもよい。 In step 542, the transfer of the payload, as indicated by the pointer read in step 530, may proceed by writing the payload to the buffer. 本方法のステップ541および542は、第1データがステップ542においてバッファに書き込まれ、その一方で第2データがステップ541において入力バッファから読み出されるように、パイプライン方式で実行される(pipeline)。 Step 541 and 542 of the method, the first data is written into the buffer in step 542, while the second data is to be read from the input buffer in step 541, are performed in a pipelined manner (pipeline).

ペイロードの転送が完了している場合には、本方法は、本発明の幾つかの実施形態に従ってステップ550へと進み、ステップ550では、割り込み要求が実行される。 If the payload of the transfer is completed, the method proceeds to step 550 in accordance with some embodiments of the present invention, in step 550, an interrupt request is executed. 割り込み要求は、ステップ551、552、553、および554のうちの1つ、または幾つかを含んでもよい。 The interrupt request is one of steps 551, 552, 553, and 554, or may include several. ステップ551において、ステップ542において書き込まれたバッファが、システムスタックの上位レイヤに通知される。 In step 551, the written buffer in step 542, is notified to the upper layers of the system stack. ステップ542で書き込まれたバッファと同じサイズの新しいバッファが、ステップ552において割り当てられる。 New buffer of the same size as the written buffer in step 542 is assigned in step 552. ステップ553において、ポインタの配列が、新規に割り当てられたバッファと関連付けられたポインタで更新される。 In step 553, an array of pointers is updated with a pointer associated with the buffer assigned to the new. 最後に、ステップ554において、メッセージが完全に受信され格納されたことを伝えるために、確認メッセージが送信される。 Finally, in step 554, to tell that the message has been stored is completely received, a confirmation message is sent.

図6は、本発明の幾つかの実施形態に従ったダイレクトメモリアクセス・分散チェーン600の操作を説明するものである。 Figure 6 is a diagram for explaining the operation of the direct memory access distributed chain 600 according to some embodiments of the present invention. 分散チェーンリンク(scatter chain link)610、620、630、および640は、図5において説明された本方法のステップ510、520、530、および540に対応してもよい。 Distributed chain links (scatter chain link) 610,620,630, and 640 may correspond to steps 510, 520, 530, and 540 of the method described in FIG.

例示的な分散チェーン600のリンク610では、実サイズ(X)が入力バッファ291(SRC:RX FIFO)から読み出され、リンク620では、インデックスが入力バッファ291(SRC:RX FIFO)から読み出される。 In the link 610 of the exemplary distributed chain 600, the actual size (X) is the input buffer 291: read from (SRC RX FIFO), the link 620, the index is input buffer 291: read from (SRC RX FIFO). リンク620では、読み出されたインデックスはまた、インデックスレジスタ410(DST:インデックスレジスタ)に書き込まれる。 In the link 620, the index read also the index register 410: written to (DST index register). 例示的な分散チェーン600のリンク630において、バッファポインタが、ポインタレジスタ420(SRC:ポインタレジスタ)から読み出される。 In the link 630 of the exemplary distributed chain 600, a buffer pointer, the pointer register 420: read from (SRC pointer register). 例示的な分散チェーンのリンク640は、読み出された実サイズおよびバッファポインタそれぞれによってリンク640を更新するリンク610および630によって変更されることに注意されたい。 Link exemplary distributed chain 640 is noted to be changed by the link 610 and 630 to update the link 640 by the respective actual size and the buffer pointer read. このことは、矢印611および631により示されている。 This is illustrated by arrows 611 and 631. その後、ペイロードの転送がリンク640において行なわれ、リンク640では、サイズXのペイロードデータが入力バッファ291(SRC:RX FIFO)から読み出され、バッファポインタにより示されるように、バッファに書き込まれる。 Thereafter, the payload of the transfer is performed at the link 640, the link 640, input buffer 291 is the payload data size X: read from (SRC RX FIFO), as indicated by the buffer pointer is written to the buffer.

図6から分かるように、この例示的な分散チェーンにおける最初の4つの分散リンクが、ペイロードの転送をセットアップすることになっている。 As can be seen from FIG. 6, the first four distributed link in this exemplary distributed chain, it has to set up the transfer of the payload. 本例示的な実施形態において、ソースポインタおよび実サイズは、直列リンク270を介して送信用プロセッサ210から来る。 In the present exemplary embodiment, the source pointer and the actual size comes from the transmission processor 210 via a serial link 270. しかし、受信用バッファへのポインタは、ポインタレジスタ420から来る。 However, a pointer to the reception buffer comes from the pointer register 420. バッファポインタは、マッピング回路400によって、送信用プロセッサによりストリームに付けられたインデックスに基づいて選択される。 Buffer pointer by the mapping circuit 400, is selected based on the index attached to the stream by the sending processor. リンク640においてペイロード転送が完了した後に、ダイレクトメモリアクセス割り込み要求(IRQ)650が実行される。 After the payload transfer is completed in the link 640, a direct memory access interrupt request (IRQ) 650 is executed. 先に説明したように、この割り込み要求は、上位レイヤにバッファを通知し、同じサイズの新しいバッファを割り当て、従ってポインタ配列を更新し、送信用プロセッサに確認メッセージを送信してもよい。 As described previously, the interrupt request notifies the buffer to higher layers, allocates a new buffer of the same size, thus to update the pointer array may send a confirmation message to the sending processor.

本発明の記載された実施形態とその均等物は、デジタル信号プロセッサ(DSP:digital signal processor)、中央処理ユニット(CPU)、コプロセッサユニットのような、マルチプロセッサシステムと関連付けられた、もしくはマルチプロセッサシステムに不可欠な汎用回路によって、または、例えば特定用途向け集積回路(ASIC)もしくは他の集積回路(IC)のような特殊回路によって、実行されてもよい。 Embodiments and their equivalents as described in the present invention, a digital signal processor (DSP: digital signal processor), a central processing unit (CPU), such as a co-processor units, associated with the multiprocessor system, or a multi-processor the essential purpose circuit in the system or, for example, by a special circuit such as an application specific integrated circuit (ASIC) or other integrated circuit (IC), may be performed. このような全形態は、本発明の範囲内にあるように構想されている。 All such forms are envisioned to be within the scope of the present invention. 本発明は、本発明の実施形態のいずれかに従ったマルチプロセッサシステム、またはマルチプロセッサシステムの一部を含む電子装置において具現されてもよい。 The present invention may be embodied in an electronic device comprising a part of a multi-processor system or a multi-processor system, according to any of the embodiments of the present invention. 電子装置は、例えば、携帯型または手持ち型の移動無線通信機器、移動無線端末、携帯電話、ポケットベル、発信機、電子手帳、スマートフォン、コンピュータ、組込み型ドライブ、携帯型ゲーム機、または(腕)時計であってもよい。 The electronic device is, for example, portable or handheld mobile radio communication equipment, a mobile radio terminal, a mobile telephone, a pager, a communicator, an electronic organizer, a smartphone, a computer, an embedded drive, a portable game machine, or (arm) it may be a watch. 電子装置は、代替的に、通信システムにおける基地局、または基地局コントローラであってもよい。 The electronic device may alternatively be a base station or base station controller, in the communication system. マルチプロセッサシステムのプロセッサは、単一の電子機器内に、かつ単一チップ上に存在にしてもよく、または、場合によっては地理的に離れている別々の装置内に存在してもよい。 Processors in a multi-processor system, in a single electronic device, and may be in present on a single chip, or, in some cases may be present in separate devices that are geographically separated.

図7は、上記のようなマルチプロセッサシステムの少なくとも一部を含む例示的な電子装置としての、携帯電話700を説明するものである。 7, as an example electronic device including at least a portion of the multiprocessor system as described above, illustrates the cellular phone 700. 携帯電話700が、正面図で示されている。 Mobile telephone 700 is shown in a front view. この例示的な携帯電話700は、装置の筐体に取り付けられたアンテナ701を含む。 The exemplary cellular phone 700 includes an antenna 701 mounted on the housing of the device. 代替的に、携帯電話700は、装置の筐体内に取り付けられた内部アンテナを有してもよい。 Alternatively, the cellular phone 700 may have an internal antenna mounted within the housing of the device. 携帯電話700はさらに、携帯電話700を操作するためのマンマシン・インタフェース(man−machine interface)を共に提供する、表示部704と、キーパッド705と、スピーカー702と、マイクロホン706と、を含んでもよい。 Mobile phone 700 further provides man-machine interface for operating the mobile phone 700 (man-machine interface) together with the display unit 704, a keypad 705, a speaker 702, also include a microphone 706, a good.

携帯電話700は、無線基地局への無線リンクを介して移動通信ネットワークに接続するように適合される。 Mobile phone 700 is adapted to connect to a mobile communication network via a radio link to a radio base station. 従って、携帯電話700のユーザは、音声通話、データ通話、映像通話、およびファックス送信のような、従来の回線交換通信サービスと同様に、電子メッセージ、インターネット閲覧、電子商取引などのようなパケットに基づくサービスを利用することが可能である。 Thus, the user of the mobile phone 700, voice call, data call, such as video calls, and fax transmissions, as in the conventional circuit-switched communication services, packet-based, such as electronic messaging, Internet browsing, electronic commerce it is possible to use the service. この目的を達成するために、携帯電話は、例えば、移動通信のためのグローバルシステム(GSM:Global System for Mobile communications)、汎用パケット無線サービス(GPRS:General Packet Radio Service)、EDGE(Enhanced Data rate for GSM To this end, cellular phones, for example, Global System for Mobile Communication (GSM: Global System for Mobile communications), General Packet Radio Service (GPRS: General Packet Radio Service), EDGE (Enhanced Data rate for GSM
Evolution)、ユニバーサル移動通信システム(UMTS:Universal Mobile Telecommunications System)、またはUMTS LTE(UMTS Long Term Evolution)のような移動通信規格に則している。 Evolution), Universal Mobile Telecommunications System (UMTS: are with reference to the Universal Mobile Telecommunications System), or UMTS mobile communications standards such as LTE (UMTS Long Term Evolution).

様々な実施形態を参照しながら本発明を解説してきた。 With reference to the various embodiments have been describe the present invention. しかし、当業者には、本発明の範囲に依然として収まる、記載された実施形態に対する数多くの変形が明らかであろう。 However, those skilled in the art still fall within the scope of the present invention, numerous variations to the described embodiments will be apparent. 例えば、本明細書に記載される方法の実施形態は、ある一定の順序に従って実行される本方法のステップを通じて、本方法を記載している。 For example, embodiments of the methods described herein, through the steps of the method performed according to a certain order that describes the method. しかし、これらのイベントのシーケンスが、本発明の範囲から逸脱することなく、他の順序で行なわれることも可能であることが認識される。 However, the sequence of these events, without departing from the scope of the present invention, it is recognized that it is also possible to be performed in another order. さらに、幾つかの方法のステップは、連続して行なわれるように記載されているが、並行して行なわれてもよい。 Furthermore, the step of several methods have been described to be performed sequentially, or may be performed in parallel. 同様に、本発明の実施形態の記載では、特定のユニットへの機能ブロックの配分は、決して、本発明を制限するものではないことに注意されたい。 Similarly, in the description of embodiments of the present invention, the distribution of functional blocks into particular units, never should be note that this is not intended to limit the present invention. 反対に、これらの配分は単なる例である。 Conversely, these partitions are merely examples. 1つのユニットとして本明細書に記載される機能ブロックは、2つ以上のユニットに分けられてもよい。 Functional blocks described herein as one unit may be divided into two or more units. 同様に、2つ以上のユニットとして実現されるものとして本明細書に記載されている機能ブロックは、本発明の範囲を逸脱することなく、単一ユニットとして実現されてもよい。 Similarly, functional blocks that are described herein as being implemented as two or more units, without departing from the scope of the present invention may be implemented as a single unit.

従って、当然のことながら、記載される実施形態の限定は、単に例示することを目的としており、決して制限を目的とするものではない。 Therefore, of course, limited to the embodiments described are merely aims to be illustrative, and not for the purpose in any way limiting. 反対に、本発明は、添付の特許請求の範囲と、その全妥当な均等物によってのみ制限されるものと解釈される。 Conversely, the present invention includes a scope of the appended claims, be interpreted as being limited only by the full reasonable equivalents.

Claims (33)

  1. データメッセージ(150、350)を送信する送信用プロセッサ(210)と、 Sending processor to send data message (150, 350) and (210),
    前記データメッセージを受信する受信用プロセッサ(220)と、 Receiving processor for receiving the data message (220),
    前記受信用プロセッサと関連付けられたメモリユニット(140)と、 A memory unit associated with said receiving processor and (140),
    を含むマルチプロセッサシステムにおいて、 In a multiprocessor system comprising,
    前記送信用プロセッサと関連付けられたサイズインデックステーブル(300)と、 The size index table associated with the sending processor (300),
    前記データメッセージのペイロード部分(353)のサイズ(351)を、前記サイズインデックステーブルのインデックス(352、340)にマッピングし、前記サイズ、前記インデックス、前記ペイロード部分を含む前記データメッセージを、前記受信用プロセッサに送信する前記送信用プロセッサと、 The size (351) of the payload portion (353) of the data message, maps the index (352,340) of the size index table, the size, the index, the data message including the payload portion, for the reception It said sending processor to send to the processor,
    前記受信用プロセッサと関連付けられたマッピング回路(400)であって、前記マッピング回路は、前記送信用プロセッサから受信された前記データメッセージに含まれる前記インデックス(352、340、440)を、ポインタ(450)にマッピングし、前記ポインタは、前記メモリユニットのバッファ(460、470、480)と関連づけられている、前記マッピング回路(400)と、 Wherein a mapping circuit associated with the receiving processor (400), the mapping circuit, the index (352,340,440) included in the data message received from the sending processor, the pointer (450 ) the mapping, the pointer, the associated buffer memory unit (460, 470, 480), the mapping circuit and (400),
    前記受信されたデータメッセージの前記ペイロード部分を、前記ポインタによって示される前記バッファに書き込む前記受信用プロセッサと、 The payload portion of the received data message, and the receiving processor to write to the buffer pointed to by the pointer,
    を特徴とする、マルチプロセッサシステム。 Wherein the multiprocessor system.
  2. 前記受信用プロセッサ(220)はさらに、システムの起動時に前記サイズインデックステーブル(300)をセットアップする、請求項1に記載のマルチプロセッサシステム。 It said receiving processor (220) further sets up the size index table at system startup (300), a multi-processor system according to claim 1.
  3. 前記受信用プロセッサと関連付けられたダイレクトメモリアクセスコントローラ(260)をさらに含み、周辺部からメモリへの少なくとも1つの転送と、メモリからメモリへの少なくとも1つの転送とを含む分散チェーンを実行する、請求項1または請求項2のいずれか1項に記載のマルチプロセッサシステム。 Further comprising, performing at least one transfer to the memory from the periphery, the distribution chain and at least one transfer from memory to memory direct memory access controller associated with said receiving processor (260), wherein claim 1 or multiprocessor system according to any one of claims 2.
  4. 前記送信用プロセッサ(210)と前記受信用プロセッサ(220)とに関連付けられたデータリンク(270)をさらに含むマルチプロセッサシステムであって、前記送信用プロセッサは、前記データリンクと関連づけられた出力バッファ(281)を含み、前記受信用プロセッサは、前記データリンクと関連づけられた入力バッファ(291)を含む、請求項3に記載のマルチプロセッサシステム。 A multi-processor system including the sending processor (210) and the receiving processor (220) and the data link associated with the (270) further, the sending processor, the output buffer associated with the data link (281) comprises said receiving processor, said data link comprising an input buffer (291) associated with a multi-processor system according to claim 3.
  5. 前記マッピング回路は、ポインタを格納するためのポインタ配列(490)と、インデックスレジスタ(410)と、ポインタレジスタ(420)とを含む、請求項4に記載のマルチプロセッサシステム。 The mapping circuit comprises a pointer array for storing pointers and (490), an index register (410), and a pointer register (420), a multi-processor system according to claim 4.
  6. 前記受信用プロセッサ(220)はさらに、システムの起動時に前記ポインタ配列をセットアップする、請求項5に記載のマルチプロセッサシステム。 It said receiving processor (220) further sets up the pointer array at system startup, the multiprocessor system according to claim 5.
  7. 前記ダイレクトメモリアクセスコントローラ(260)は、前記メモリユニットのバッファ(460、470、480)を割り当て、前記メモリユニットのバッファが割り当てられている場合には前記ポインタ配列(490)を更新する、請求項5または請求項6のいずれか1項に記載のマルチプロセッサシステム。 It said direct memory access controller (260) allocates a buffer (460, 470, 480) of said memory unit, updates the pointer array (490) when the buffer of the memory unit is allocated, claim 5 or multiprocessor system according to any one of claims 6.
  8. 前記受信用プロセッサ(220)の前記入力バッファ(291)は、前記サイズ(351)、前記インデックス(352、340)、および前記ペイロード部分(353)を含む前記データメッセージ(150、350)を受信し、 Said input buffer (291) of said receiving processor (220), the size (351), the index (352,340), and receiving said data message (150, 350) comprising said payload portion (353) ,
    前記ダイレクトメモリアクセスコントローラ(260)は、 Said direct memory access controller (260),
    前記入力バッファから前記サイズを読み出し、 Reading said size from said input buffer,
    前記入力バッファから前記インデックスを読み出し、 Reading the index from the input buffer,
    前記インデックスレジスタ(410)に前記インデックスを書き込み、 Writes the index into the index register (410),
    前記ポインタレジスタ(420)から、前記メモリユニット(140)の前記バッファ(460、470、480)と関連付けられた前記ポインタ(450)を読み出し、 From the pointer register (420), said reading the buffer (460, 470, 480) and associated with the pointer of the memory unit (140) (450),
    前記入力バッファから前記ペイロード部分を読み出し、 Reading the payload portion from the input buffer,
    前記ポインタによって示される前記バッファに前記ペイロード部分を書き込む、請求項5〜請求項7のいずれか1項に記載のマルチプロセッサシステム。 Writing the payload portion in the buffer indicated by said pointer, the multi-processor system according to any one of claims 5 to 7.
  9. 前記ダイレクトメモリアクセスコントローラ(260)はさらに、前記ペイロード部分が前記バッファに書き込まれている場合に割り込み信号を生成する、請求項8に記載のマルチプロセッサシステム。 Said direct memory access controller (260) further generates an interrupt signal when the payload portion is written in the buffer, the multiprocessor system of claim 8.
  10. 前記ダイレクトメモリアクセスコントローラ(260)はさらに、システムスタックの上位レイヤに前記バッファを通知し、前記送信用プロセッサへと確認メッセージを送る、請求項8または請求項9のいずれか1項に記載のマルチプロセッサシステム。 Said direct memory access controller (260) is further configured to notify said buffer to higher layers of the system stack, the Send the confirmation message to the sending processor, multi according to any one of claims 8 or claim 9 processor system.
  11. 前記バッファ(460、470、480)は第1バッファであり、 It said buffer (460, 470, 480) is a first buffer,
    前記ダイレクトメモリアクセスコントローラ(260)はさらに、 Said direct memory access controller (260) further comprises
    前記メモリユニット(140)の第2バッファ(460、470、480)を割り当て、前記第2バッファは前記第1バッファと同じサイズを有しており、 The memory allocation unit (140) a second buffer (460, 470, 480), said second buffer have the same size as the first buffer,
    前記第2バッファと関連付けられたポインタで、前記ポインタ配列(490)を更新する、請求項8〜請求項10のいずれか1項に記載のマルチプロセッサシステム。 The second pointer associated with buffer, updating the pointer array (490), a multi-processor system according to any one of claims 8 to claim 10.
  12. 前記メモリユニット(140)は第1メモリユニットであり、前記マルチプロセッサシステムは、前記送信用プロセッサ(210)と関連付けられた第2メモリユニット(130)をさらに含み、前記第2メモリユニットは、前記サイズインデックステーブル(300)を格納する、請求項1〜請求項11のいずれか1項に記載のマルチプロセッサシステム。 Said memory unit (140) is a first memory unit, said multiprocessor system further includes a second memory unit said associated with the sending processor (210) (130), said second memory unit, the size storing an index table (300), a multi-processor system according to any one of claims 1 to 11.
  13. マルチプロセッサシステム(200)に含まれるプロセッサであって、前記プロセッサは、ペイロード部分(353)、前記ペイロード部分のサイズ(351)、およびインデックス(352)を含むデータメッセージ(150、350)を受信する受信用プロセッサ(220)であり、前記マルチプロセッサシステムは、前記データメッセージを送信する送信用プロセッサ(210)と、前記受信用プロセッサと関連付けられたメモリユニット(140)とをさらに含む、前記プロセッサにおいて、 A processor included in a multi-processor system (200), the processor, the payload portion (353), the size of the payload portion (351), and receives the data message (150, 350) comprising an index (352) a receiving processor (220), said multiprocessor system, the sending processor (210) for transmitting the data message, further comprising a memory unit associated with said receiving processor (140), in the processor ,
    前記プロセッサは、 Wherein the processor is,
    前記送信用プロセッサから受信された前記データメッセージに含まれる前記インデックス(352、340、440)を、ポインタ(450)にマッピングするマッピング回路(400)であって、前記ポインタは、前記メモリユニットのバッファ(460、470、480)と関連付けられている、前記マッピング回路(400)と、 Wherein the index included in the data messages received from the transmitting processor (352,340,440), a pointer (450) mapping circuit (400) that maps to the pointer, the buffer of the memory unit (460, 470, 480) and associated, with the mapping circuit (400),
    前記受信されたデータメッセージの前記ペイロード部分を、前記ポインタによって示される前記バッファに書き込む前記受信用プロセッサと、 The payload portion of the received data message, and the receiving processor to write to the buffer pointed to by the pointer,
    を特徴とする、プロセッサ。 And wherein the processor.
  14. さらにシステムの起動時にサイズインデックステーブル(300)をセットアップする、請求項13に記載のプロセッサ。 Further up the size index table (300) at system startup, the processor of claim 13.
  15. 周辺部からメモリへの少なくとも1つの転送と、メモリからメモリへの少なくとも1つの転送とを含む分散チェーンを実行するダイレクトメモリアクセスコントローラ(260)をさらに含む、請求項13または請求項14のいずれか1項に記載のプロセッサ。 At least one transfer to the memory from the peripheral portion, further comprising a direct memory access controller for executing a distributed chain and at least one transfer from memory to memory (260), any one of claims 13 or claim 14 the processor according to item 1.
  16. データリンク(270)と関連付けられた入力バッファ(291)をさらに含む、請求項15に記載のプロセッサ。 Data further comprising linking (270) the input buffer associated with the (291), the processor of claim 15.
  17. 前記マッピング回路は、ポインタを格納するためのポインタ配列(490)と、インデックスレジスタ(410)と、ポインタレジスタ(420)とを含む、請求項16に記載のプロセッサ。 The mapping circuit, pointer array for storing the pointer and (490), an index register (410), and a pointer register (420), the processor of claim 16.
  18. さらにシステムの起動時に前記ポインタ配列をセットアップする、請求項17に記載のプロセッサ。 Further setting up the pointer array at system startup, the processor of claim 17.
  19. 前記ダイレクトメモリアクセスコントローラ(260)は、前記メモリユニットのバッファ(460、470、480)を割り当て、前記メモリユニットのバッファが割り当てられている場合には前記ポインタ配列(490)を更新する、請求項17または請求項18のいずれか1項に記載のプロセッサ。 It said direct memory access controller (260) allocates a buffer (460, 470, 480) of said memory unit, updates the pointer array (490) when the buffer of the memory unit is allocated, claim 17 or processor according to any one of claims 18.
  20. 前記入力バッファ(291)は、前記サイズ(351)、前記インデックス(352)、および前記ペイロード部分(353)を含む前記データメッセージ(150、350)を受信し、 It said input buffer (291), the size (351), the index (352), and receives the data message said containing payload portions (353) (150, 350),
    前記ダイレクトメモリアクセスコントローラ(260)はさらに、 Said direct memory access controller (260) further comprises
    前記入力バッファから前記サイズを読み出し、 Reading said size from said input buffer,
    前記入力バッファから前記インデックスを読み出し、 Reading the index from the input buffer,
    前記インデックスレジスタ(410)に前記インデックスを書き込み、 Writes the index into the index register (410),
    前記ポインタレジスタ(420)から、前記メモリユニット(140)の前記バッファ(460、470、480)と関連付けられた前記ポインタ(450)を読み出し、 From the pointer register (420), said reading the buffer (460, 470, 480) and associated with the pointer of the memory unit (140) (450),
    前記入力バッファから前記ペイロード部分を読み出し、 Reading the payload portion from the input buffer,
    前記ポインタによって示される前記バッファに前記ペイロード部分を書き込む、請求項17〜請求項19のいずれか1項に記載のプロセッサ。 Writing the payload portion in the buffer indicated by the pointer, the processor according to any one of claims 17 to claim 19.
  21. 前記ダイレクトメモリアクセスコントローラ(260)はさらに、前記ペイロード部分が前記バッファに書き込まれている場合に割り込み信号を生成する、請求項20に記載のプロセッサ。 It said direct memory access controller (260) further generates an interrupt signal when the payload portion is written in the buffer, the processor of claim 20.
  22. 前記ダイレクトメモリアクセスコントローラ(260)はさらに、システムスタックの上位レイヤに前記バッファを通知し、前記送信用プロセッサへと確認メッセージを送る、請求項20または請求項21のいずれか1項に記載のプロセッサ。 Said direct memory access controller (260) is further configured to notify said buffer to higher layers of the system stack, sending a confirmation message to the sending processor, the processor according to any one of claims 20 or claim 21 .
  23. 前記バッファ(460、470、480)は第1バッファであり、 It said buffer (460, 470, 480) is a first buffer,
    前記ダイレクトメモリアクセスコントローラ(260)はさらに、 Said direct memory access controller (260) further comprises
    前記メモリユニット(140)の第2バッファ(460、470、480)を割り当て、前記第2バッファは前記第1バッファと同じサイズを有しており、 The memory allocation unit (140) a second buffer (460, 470, 480), said second buffer have the same size as the first buffer,
    前記第2バッファと関連付けられたポインタで、前記ポインタ配列(490)を更新する、請求項20〜請求項22のいずれか1項に記載のプロセッサ。 The second pointer associated with buffer, updating said pointer array (490), the processor according to any one of claims 20 to claim 22.
  24. 請求項1〜請求項12のいずれか1項に記載のマルチプロセッサシステムと、 A multiprocessor system according to any one of claims 1 to 12,
    請求項13〜請求項23のいずれか1項に記載のプロセッサと、 A processor according to any one of claims 13 23,
    の少なくとも1つを含む電子装置。 Electronic device comprising at least one of.
  25. 前記電子装置は、携帯型または手持ち型の移動無線通信機器、移動無線端末、携帯電話(700)、ポケットベル、発信機、電子手帳、スマートフォン、コンピュータ、組込み型ドライブ、携帯型ゲーム機、時計、基地局、または、基地局コントローラである、請求項24に記載の電子装置。 The electronic device, portable or handheld mobile radio communication equipment, a mobile radio terminal, a mobile telephone (700), a pager, a communicator, an electronic organizer, a smartphone, a computer, an embedded drive, a portable game machine, a watch, base station, or a base station controller, the electronic device according to claim 24.
  26. プロセッサ(220)においてデータメッセージ(150、350)を受信する方法において、前記データメッセージは、サイズ(351)、インデックス(352)、およびペイロード部分(353)を含み、 A method of receiving a data message (150, 350) in a processor (220), the data message includes a size (351), the index (352), and payload portion (353),
    前記方法は、 The method,
    前記プロセッサの入力バッファ(291)から前記サイズを読み出す工程と(510)、 A step of reading the size from the input buffer (291) of said processor (510),
    前記入力バッファから前記インデックスを読み出す工程と(520)、 A step of reading the index from the input buffer (520),
    ポインタ(450)へと前記インデックスをマッピングする工程と(530)、 A step of mapping the index to a pointer (450) (530),
    前記入力バッファから前記ペイロード部分を読み出す工程と(541)、 A step of reading the payload portion from the input buffer (541),
    前記プロセッサと関連付けられたメモリ(140)のバッファ(460、470、480)に、前記ペイロード部分を書き込む工程であって(542)、前記バッファは前記ポインタにより示される、前記書き込み工程と(542)、 A buffer (460, 470, 480) of the memory (140) associated with the processor, a step of writing said payload portion (542), the buffer is indicated by the pointer, and the writing step (542) ,
    を含む、方法。 Including, method.
  27. システムの起動時にサイズインデックステーブル(300)をセットアップする工程をさらに含み、前記データメッセージ(150、350)の前記ペイロード部分(353)の前記サイズ(351)は、前記サイズインデックステーブル内のインデックス(340)と関連付けられている、請求項26に記載の方法。 Further comprising the step of setting up the size index table (300) at system startup, wherein said size of the payload portion (353) of the data message (150, 350) (351), the index in the size index table (340 ) and associated method according to claim 26.
  28. 前記ポインタ(450)は、ポインタ配列(490)に含まれる、請求項26または請求項27のいずれか1項に記載の方法。 The pointer (450) is included in the pointer array (490), The method according to any one of claims 26 or claim 27.
  29. システムの起動時に前記ポインタ配列(490)をセットアップする工程をさらに含む、請求項28に記載の方法。 System startup further comprising the step of setting up the pointer array (490), The method of claim 28.
  30. 前記ペイロード部分(353)が前記バッファ(460、470、480)に書き込まれている場合に割り込み信号を生成する工程をさらに含む、請求項26〜請求項29のいずれか1項に記載の方法。 The payload portion (353) further comprises the step of generating an interrupt signal when written in the buffer (460, 470, 480), The method according to any one of claims 26 to claim 29.
  31. システムスタックの上位レイヤに前記バッファを通知する工程と(551)、 A step of notifying the buffer to higher layers of the system stack (551),
    前記データメッセージが受信されていることを示す確認メッセージを送信する工程(554)と、 A step (554) to send a confirmation message indicating that the data message has been received,
    をさらに含む、請求項26〜請求項30のいずれか1項に記載の方法。 Further comprising a method according to any one of claims 26 to claim 30.
  32. 前記バッファ(460、470、480)は第1バッファであり、 It said buffer (460, 470, 480) is a first buffer,
    前記方法は、 The method,
    前記メモリ(140)の第2バッファ(460、470、480)を割り当てる工程(552)であって、前記第2バッファは前記弟1バッファと同じ大きさを有する、前記割り当て工程と(552)、 Wherein a memory (140) of the second step of allocating a buffer (460, 470, 480) (552), said second buffer has the same size as the brother first buffer, said allocation step (552),
    前記第2バッファと関連付けられたポインタで前記ポインタ配列(490)を更新する工程と(553)、 A step of updating the pointer array (490) with a pointer associated with the second buffer (553),
    をさらに含む、請求項26〜請求項31のいずれか1項に記載の方法。 Further comprising a method according to any one of claims 26 to claim 31.
  33. ポインタに前記インデックスをマッピングする前記工程は、 Wherein the step of mapping the index pointer,
    インデックスレジスタ(410)に前記インデックス(352)を書き込む工程(531)と、 Index register (410) to the step of writing the index (352) and (531),
    前記ポインタ(450)に前記インデックスをマッピングする工程と(532)、 A step of mapping the index to the pointers (450) (532),
    ポインタレジスタ(420)に前記ポインタを書き込む工程と(533)、 And writing the pointer to a pointer register (420) (533),
    前記ポインタレジスタから前記ポインタを読み出す工程と(534)、 A step of reading the pointer from the pointer register (534),
    を含む、請求項26〜請求項32のいずれか1項に記載の方法。 Containing A method according to any one of claims 26 to claim 32.
JP2010513947A 2007-07-06 2008-06-27 System for communication between a processor, a processor, the apparatus and method Active JP5498378B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US94841207 true 2007-07-06 2007-07-06
EP20070111967 EP2017741B1 (en) 2007-07-06 2007-07-06 System,processor,apparatus and method for inter-processor communication
EP07111967.1 2007-07-06
US60/948,412 2007-07-06
PCT/EP2008/058329 WO2009007262A1 (en) 2007-07-06 2008-06-27 System, processor, apparatus and method for inter-processor communication

Publications (2)

Publication Number Publication Date
JP2010532509A true true JP2010532509A (en) 2010-10-07
JP5498378B2 JP5498378B2 (en) 2014-05-21

Family

ID=39512570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010513947A Active JP5498378B2 (en) 2007-07-06 2008-06-27 System for communication between a processor, a processor, the apparatus and method

Country Status (4)

Country Link
US (1) US8544024B2 (en)
EP (1) EP2017741B1 (en)
JP (1) JP5498378B2 (en)
WO (1) WO2009007262A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011007202A1 (en) * 2009-07-16 2011-01-20 Freescale Semiconductor, Inc. Data administration unit, data access unit, network element, network, and method for updating a data structure
US8706804B2 (en) * 2011-12-13 2014-04-22 Sap Ag Modeled chaining of service calls
US9378072B2 (en) * 2014-05-30 2016-06-28 GM Global Technology Operations LLC Mechanisms and apparatus for embedded controller reconfigurable inter-processor communications

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6208650B1 (en) * 1997-12-30 2001-03-27 Paradyne Corporation Circuit for performing high-speed, low latency frame relay switching with support for fragmentation and reassembly and channel multiplexing
US20020085551A1 (en) * 2000-11-14 2002-07-04 Altima Communications, Inc. Linked network switch configuration
JP2002209234A (en) * 2001-01-11 2002-07-26 Fujitsu Ltd Communication system
US20040042490A1 (en) * 2002-02-04 2004-03-04 Henderson Alex E. State record processing
JP2005328119A (en) * 2004-05-12 2005-11-24 Nec Electronics Corp Communication message converter, communication method, and communication system
US7003597B2 (en) * 2003-07-09 2006-02-21 International Business Machines Corporation Dynamic reallocation of data stored in buffers based on packet size

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7718420B2 (en) * 2006-10-10 2010-05-18 Postech Academy-Industry Foundation Microfluidic biochip for blood typing based on agglutination reaction

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6208650B1 (en) * 1997-12-30 2001-03-27 Paradyne Corporation Circuit for performing high-speed, low latency frame relay switching with support for fragmentation and reassembly and channel multiplexing
US20020085551A1 (en) * 2000-11-14 2002-07-04 Altima Communications, Inc. Linked network switch configuration
JP2002209234A (en) * 2001-01-11 2002-07-26 Fujitsu Ltd Communication system
US20040042490A1 (en) * 2002-02-04 2004-03-04 Henderson Alex E. State record processing
US7003597B2 (en) * 2003-07-09 2006-02-21 International Business Machines Corporation Dynamic reallocation of data stored in buffers based on packet size
JP2005328119A (en) * 2004-05-12 2005-11-24 Nec Electronics Corp Communication message converter, communication method, and communication system

Also Published As

Publication number Publication date Type
US20110173635A1 (en) 2011-07-14 application
JP5498378B2 (en) 2014-05-21 grant
EP2017741A1 (en) 2009-01-21 application
US8544024B2 (en) 2013-09-24 grant
WO2009007262A1 (en) 2009-01-15 application
EP2017741B1 (en) 2017-11-22 grant

Similar Documents

Publication Publication Date Title
US6070194A (en) Using an index and count mechanism to coordinate access to a shared resource by interactive devices
US7058735B2 (en) Method and apparatus for local and distributed data memory access (“DMA”) control
US5918028A (en) Apparatus and method for smart host bus adapter for personal computer cards
US7945955B2 (en) Virus detection in mobile devices having insufficient resources to execute virus detection software
US20040057380A1 (en) Controlling flow of data between data processing systems via a memory
US20030065856A1 (en) Network adapter with multiple event queues
US20040142682A1 (en) Communication device, program and recording media
US6912610B2 (en) Hardware assisted firmware task scheduling and management
EP0239937A2 (en) Serial communications controller
US20050289306A1 (en) Memory read requests passing memory writes
US20020144001A1 (en) Apparatus and method for enhanced channel adapter performance through implementation of a completion queue engine and address translation engine
US6449281B1 (en) Interface control of communication between a control processor and a digital signal processor
US20100191923A1 (en) Data Processing In A Computing Environment
US7930437B2 (en) Network adapter with shared database for message context information
US20100274868A1 (en) Direct Memory Access In A Hybrid Computing Environment
US6775764B1 (en) Search function for data lookup
US20040034718A1 (en) Prefetching of receive queue descriptors
US6742075B1 (en) Arrangement for instigating work in a channel adapter based on received address information and stored context information
US7187683B1 (en) Statistics data collection mechanism for distributed, high-speed data processing environments
US20020184446A1 (en) Queue pair context cache
US20050097226A1 (en) Methods and apparatus for dynamically switching between polling and interrupt to handle network traffic
US20050246500A1 (en) Method, apparatus and system for an application-aware cache push agent
US20050138638A1 (en) Object request broker for accelerating object-oriented communications and method
US20030105906A1 (en) Data processor architecture employing segregated data, program and control buses
US20060268936A1 (en) Communication apparatus and method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140307

R150 Certificate of patent or registration of utility model

Ref document number: 5498378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250