JP2002182975A - Multi-processor system - Google Patents

Multi-processor system

Info

Publication number
JP2002182975A
JP2002182975A JP2000383806A JP2000383806A JP2002182975A JP 2002182975 A JP2002182975 A JP 2002182975A JP 2000383806 A JP2000383806 A JP 2000383806A JP 2000383806 A JP2000383806 A JP 2000383806A JP 2002182975 A JP2002182975 A JP 2002182975A
Authority
JP
Japan
Prior art keywords
memory
access
processor
priority
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000383806A
Other languages
Japanese (ja)
Inventor
Mitsunari Todoroki
晃成 轟
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000383806A priority Critical patent/JP2002182975A/en
Publication of JP2002182975A publication Critical patent/JP2002182975A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To properly set the degree of priority in memory access. SOLUTION: The degrees of priority of access from processor units 1-1 to 1-4 to memories 2-1 to 2-5 are controlled to be different for each memory or for each operation mode. Thus the degree of priority of memory access is properly set so that collisions in memory access between processors are reduced.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はマルチプロセッサシ
ステムに関し、特にマルチプロセッサシステムにおける
メモリアクセスの制御に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a multiprocessor system, and more particularly to control of memory access in a multiprocessor system.

【0002】[0002]

【従来の技術】従来のマルチプロセッサ、特にDSP
(digital signal processo
r)においては、複数のメモリの記憶内容同士が演算さ
れることが多い。この場合、複数のプロセッサが共通に
用いる共有メモリ(SharedMemory;SM)
を効率的に使用することが非常に重要になる。
2. Description of the Related Art Conventional multiprocessors, especially DSPs
(Digital signal processo
In r), the contents stored in a plurality of memories are often calculated. In this case, a shared memory (Shared Memory; SM) commonly used by a plurality of processors.
It is very important to use Efficiently.

【0003】図9を参照すると、同図に示されているマ
ルチプロセッサシステムは、複数のプロセッサユニット
(PU)80−1〜80−4と、これら複数のプロセッ
サユニット80−1〜80−4によって時分割にアクセ
スされる共有メモリ(SM)81−1,81−2と、プ
ロセッサユニットから共有メモリをアクセスするための
バス使用権を調停するバス調停部82と、このバス調停
部82の制御に従って各プロセッサユニットからのアク
セス信号を選択して出力するマルチプレクサ(MUX)
83−1,83−2とを含んで構成されている。かかる
構成において、バス調停部82は、各プロセッサユニッ
トからのアクセスの競合を調停する。具体的には、バス
調停部82の出力に応じてマルチプレクサ83−1及び
83−2が制御されることにより、あるタイミングにお
いては、1つのプロセッサユニットのみが1つの共有メ
モリに対してアクセスすることができる。このようなマ
ルチプロセッサシステムにおいては、アクセス優先度を
適切に制御するため、バスの調停をいかに行うかが重要
である。一般的には、バス使用権が全てのプロセッサユ
ニットに対して均等になるように、バスの調停が行われ
る。
Referring to FIG. 9, a multiprocessor system shown in FIG. 9 includes a plurality of processor units (PUs) 80-1 to 80-4 and a plurality of processor units 80-1 to 80-4. Shared memories (SM) 81-1 and 81-2 that are accessed in a time-division manner, a bus arbitration unit 82 that arbitrates the right to use a bus for accessing the shared memory from the processor unit, and a bus arbitration unit 82 that controls Multiplexer (MUX) for selecting and outputting an access signal from each processor unit
83-1 and 83-2. In such a configuration, the bus arbitration unit 82 arbitrates contention for access from each processor unit. Specifically, the multiplexers 83-1 and 83-2 are controlled in accordance with the output of the bus arbitration unit 82, so that only one processor unit accesses one shared memory at a certain timing. Can be. In such a multiprocessor system, it is important how to arbitrate the bus in order to appropriately control the access priority. Generally, bus arbitration is performed so that the right to use the bus is equal for all processor units.

【0004】[0004]

【発明が解決しようとする課題】バスの調停について
は、種々の技術が提案されている。例えば、特開平5−
128073号公報においては、バス上の衝突を防止す
るため、任意のタイミングにおいて、複数のプロセッサ
中の1つのプロセッサだけが共有メモリにアクセスする
ように構成している。しかしながら、このように構成し
た場合、共有メモリを複数のプロセッサによって有効に
用いることができない。
Various techniques have been proposed for bus arbitration. For example, Japanese Patent Application Laid-Open
In Japanese Patent Application Publication No. 128073, in order to prevent collision on the bus, only one of the plurality of processors accesses the shared memory at an arbitrary timing. However, in such a configuration, the shared memory cannot be effectively used by a plurality of processors.

【0005】また、特開平6−309276号公報にお
いては、固定のIDコードの他に、バス権獲得の要求信
号を出す毎に前回の値とはランダムに変化する値となる
可変IDコードを備え、この可変IDコードを比較する
ことによって、バス権を均等に割り振るようにしてい
る。しかしながら、バス権を均等に割り振ることは、マ
ルチプロセッサの処理内容によっては、最適な制御にな
らないことがある。
Japanese Patent Laid-Open Publication No. Hei 6-309276 discloses a fixed ID code and a variable ID code that changes randomly from the previous value each time a bus right acquisition request signal is issued. By comparing the variable ID codes, the bus rights are evenly allocated. However, evenly allocating the bus right may not be optimal control depending on the processing content of the multiprocessor.

【0006】本発明は上述した従来技術の欠点を解決す
るためになされたものであり、その目的はメモリアクセ
スの優先度を適切に設定することのできるマルチプロセ
ッサシステムを提供することである。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned drawbacks of the prior art, and an object of the present invention is to provide a multiprocessor system capable of appropriately setting the priority of memory access.

【0007】[0007]

【課題を解決するための手段】本発明によるマルチプロ
セッサシステムは、複数のプロセッサと、これらプロセ
ッサからそれぞれアクセスされる複数のメモリとを含む
マルチプロセッサシステムであって、前記プロセッサそ
れぞれから前記メモリそれぞれへのアクセスの優先度
が、該メモリ毎に異なるように制御する制御手段を含む
ことを特徴とする。各メモリそれぞれにおいて、アクセ
スの優先度を適切に設定することで、システム全体の処
理を高速にすることができる。
SUMMARY OF THE INVENTION A multiprocessor system according to the present invention is a multiprocessor system including a plurality of processors and a plurality of memories respectively accessed by the processors. A control means for controlling the access priority of each memory so as to be different for each memory. By appropriately setting the access priority in each memory, the processing of the entire system can be sped up.

【0008】本発明による他のマルチプロセッサシステ
ムは、複数のプロセッサと、これらプロセッサからそれ
ぞれアクセスされるメモリとを含み複数種類の動作モー
ドを有するマルチプロセッサシステムであって、前記プ
ロセッサそれぞれから前記メモリへのアクセスの優先度
が、前記動作モード毎に異なるように制御する制御手段
を含むことを特徴とする。動作モード毎にアクセスの優
先度を適切に設定することで、システム全体の処理を高
速にすることができる。
Another multiprocessor system according to the present invention is a multiprocessor system having a plurality of types of operation modes including a plurality of processors and memories respectively accessed from the processors. And a control means for controlling the access priority so as to be different for each operation mode. By appropriately setting the access priority for each operation mode, the processing speed of the entire system can be increased.

【0009】また、前記メモリに格納すべきデータの種
類を予め定め、前記データの種類に応じて前記メモリに
対する各プロセッサからのアクセスの優先度を定めても
良い。こうすることにより、データの種類に応じてより
適切に処理することができる。そして、アクセスの優先
度の低いプロセッサからのアクセス要求信号の応答を遅
延させることによってアクセスの優先度を設定する。遅
延の許容できるプロセッサのアクセスを遅延させること
により、システム全体の処理を高速にすることができ
る。
The type of data to be stored in the memory may be determined in advance, and the priority of access from each processor to the memory may be determined according to the type of data. By doing so, more appropriate processing can be performed according to the type of data. Then, the access priority is set by delaying the response of the access request signal from the processor having the lower access priority. By delaying the access of the processor which can accept the delay, the processing of the entire system can be performed at high speed.

【0010】なお、前記メモリは、複数の入出力ポート
を有するメモリであり、それら入出力ポートを介してそ
れぞれ異なるプロセッサが該メモリをアクセスするよう
にしても良い。デュアルポートメモリ等を用いることに
より、1つのメモリに対して書込みと読出しとを同時に
行うことができるので、処理をより高速に行うことがで
きる。
The memory may be a memory having a plurality of input / output ports, and different processors may access the memory via the input / output ports. By using a dual-port memory or the like, writing and reading can be performed simultaneously on one memory, so that the processing can be performed at higher speed.

【0011】[0011]

【発明の実施の形態】次に、図面を参照して本発明の実
施の形態について説明する。なお、以下の説明において
参照する各図では、他の図と同等部分は同一符号によっ
て示されている。図2は本発明によるマルチプロセッサ
システムの実施の一形態を示すブロック図である。同図
に示されているように、本実施形態によるマルチプロセ
ッサシステムは、メディアプロセッサ1内に実現されて
いる。すなわち、メディアプロセッサ1は、4つのサブ
プロセッサユニット(sub processor u
nit;SPU)1−1〜1−4と、これらサブプロセ
ッサユニット1−1〜1−4によってアクセスされるメ
モリ2−1〜2−5と、各プロセッサユニットが効率的
に各メモリをアクセスするように制御する優先順位付バ
ス調停部3と、各プロセッサユニットにクロックを与え
たり、その動作状態を制御するクロック制御・SPU動
作状態制御部4と、RISC(reduced ins
truction set computer)マイク
ロプロセッサ(MPU)5と、バスブリッジ6と、LC
D(liquid crystal display)9
0を制御して所定の表示を行うためのLCDコントロー
ラ(LCDC)9と、外部のホストコンピュータとのイ
ンタフェースをなすホストインタフェース(HostI
/F)10と、SDRAMやSRAM等の外部メモリ8
0とのインタフェースをなすメモリインタフェース8と
を含んで構成されている。
Next, an embodiment of the present invention will be described with reference to the drawings. In the drawings referred to in the following description, the same parts as those in the other drawings are denoted by the same reference numerals. FIG. 2 is a block diagram showing an embodiment of the multiprocessor system according to the present invention. As shown in the figure, the multiprocessor system according to the present embodiment is realized in the media processor 1. That is, the media processor 1 has four sub-processor units (sub processor units).
nit; SPU) 1-1 to 1-4, memories 2-1 to 2-5 accessed by these sub-processor units 1-1 to 1-4, and each processor unit accesses each memory efficiently. Bus arbitration unit 3 for controlling the operation in the above manner, a clock control / SPU operation state control unit 4 for supplying a clock to each processor unit and controlling its operation state, and a RISC (reduced ins)
construction set computer) microprocessor (MPU) 5, bus bridge 6, LC
D (liquid crystal display) 9
0 and a host interface (HostI) for interfacing with an external host computer.
/ F) 10 and an external memory 8 such as SDRAM or SRAM
And a memory interface 8 that interfaces with the memory interface 8.

【0012】本例では、メモリ2−1は、I/DRA
M、メモリ2−2及び2−3はD−RAM、メモリ2−
4及び2−5はI−RAMであるものとする。I−RA
Mはサブプロセッサユニット(SPU)のプログラムを
格納する命令メモリ(Instruction RA
M,I−RAM)を示し、D−RAMはサブプロセッサ
ユニット(SPU)の演算データを格納するデータメモ
リ(Data RAM,D−RAM)を示している。こ
れらの各メモリの個数は、同図に示されている数に限定
されず、処理内容に必要な記憶容量に応じてメモリの個
数を増減すれば良い。
In this example, the memory 2-1 stores the I / DRA
M, memories 2-2 and 2-3 are D-RAM, memory 2-
4 and 2-5 are I-RAMs. I-RA
M is an instruction memory (Instruction RA) for storing a sub-processor unit (SPU) program.
M, I-RAM) and D-RAM indicates a data memory (Data RAM, D-RAM) for storing operation data of the sub-processor unit (SPU). The number of these memories is not limited to the number shown in the figure, and the number of memories may be increased or decreased according to the storage capacity required for the processing content.

【0013】マイクロプロセッサ5は、例えば、内部プ
ロセッサ51と、ROM52と、RAM53とを含んで
構成されている。このメディアプロセッサ1は、ホスト
インタフェース10を介して、外部のホストCPU11
と、通信装置(Com.device)12と、ユーザ
インタフェース13と、フラッシュメモリ14と、SR
AM15と接続され、それら各部と信号を授受できるよ
うになっている。ユーザインタフェース13は、キーボ
ード(KB)やマイクロフォン(MIC)等からの信号
を入力し、またスピーカ(SPK)への信号を出力する
機能を有している。
The microprocessor 5 includes, for example, an internal processor 51, a ROM 52, and a RAM 53. The media processor 1 is connected to an external host CPU 11 via a host interface 10.
Communication device (Com. Device) 12, user interface 13, flash memory 14, SR
It is connected to the AM 15 so that signals can be exchanged with these units. The user interface 13 has a function of inputting a signal from a keyboard (KB), a microphone (MIC), or the like, and outputting a signal to a speaker (SPK).

【0014】同図に示されているように、本システム
は、複数のプロセッサによって複数のメモリをアクセス
するように構成されている。すなわち、本システムにお
いては、複数のプロセッサと共有メモリとが図3に示さ
れているように接続されている。同図を参照すると、本
システムは、複数のプロセッサユニット1−A、1−B
…と、複数の共有メモリ2−1,2−2…とがバス31
を介して接続された構成であり、このバス31の使用権
の調停をバス調停部82が行うのである。各共有メモリ
2−1,2−2…を使用して処理した結果は、外部メモ
リインタフェース8を介して外部メモリ80に書込まれ
る。
As shown in the figure, the present system is configured to access a plurality of memories by a plurality of processors. That is, in this system, a plurality of processors and a shared memory are connected as shown in FIG. Referring to FIG. 1, the system includes a plurality of processor units 1-A and 1-B.
, And a plurality of shared memories 2-1, 2-2,.
The arbitration of the right to use the bus 31 is performed by the bus arbitration unit 82. The result of processing using each of the shared memories 2-1, 2-2,... Is written to the external memory 80 via the external memory interface 8.

【0015】図3に示されているシステムの動作を示す
タイムチャートが図4である。同図には、クロックと、
バスリクエスト信号(BusRequest)と、バス
アクノレッジ信号(BusAck)と、アドレス信号
(Address)と、入力データ(DataIn)
と、出力データ(DataOut)と、バスセレクト信
号(BSel)と、バスレディ信号(BReady)
と、リード/ライト信号(RW)とが示されている。リ
ード/ライト信号がローレベルの期間においてはリード
動作が行われ、リード/ライト信号がハイレベルの期間
においてはライト動作が行われる。
FIG. 4 is a time chart showing the operation of the system shown in FIG. In the figure, the clock and
A bus request signal (BusRequest), a bus acknowledge signal (BusAck), an address signal (Address), and input data (DataIn)
, Output data (DataOut), a bus select signal (BSel), and a bus ready signal (BReady)
And a read / write signal (RW). A read operation is performed while the read / write signal is at a low level, and a write operation is performed while the read / write signal is at a high level.

【0016】リード動作においては、まず、プロセッサ
ユニットによってバスリクエスト信号がローレベルにさ
れアクティブ状態になる。これに応答してバス調停部に
よってバスアクノレッジ信号がローレベルにされアクテ
ィブ状態になる。この状態において、アドレスが指定さ
れるとデータが読出され、プロセッサへの入力データが
有効になる。以上のようにリード動作が行われていると
き、バスセレクト信号及びバスレディ信号はローレベル
にされアクティブ状態になり、リードライト信号はロー
レベルである。
In the read operation, first, the bus request signal is set to a low level by the processor unit to be in an active state. In response, the bus arbitration unit sets the bus acknowledge signal to low level and enters the active state. In this state, when an address is designated, data is read, and input data to the processor becomes valid. When the read operation is performed as described above, the bus select signal and the bus ready signal are set to the low level to be in the active state, and the read / write signal is at the low level.

【0017】一方、ライト動作においては、まず、プロ
セッサユニットによってバスリクエスト信号がローレベ
ルにされアクティブ状態になる。これに応答してバス調
停部によってバスアクノレッジ信号がローレベルにされ
アクティブ状態になる。この状態において、アドレスが
指定されるとプロセッサからの出力データが有効にな
り、データが書込まれる。このとき、バスセレクト信号
はローレベルにされアクティブ状態になっている。バス
レディ信号は、ローレベルとハイレベルとを繰返す。ま
た、リードライト信号はハイレベルである。
On the other hand, in the write operation, first, the bus request signal is set to the low level by the processor unit to be in the active state. In response, the bus arbitration unit sets the bus acknowledge signal to low level and enters the active state. In this state, when an address is specified, the output data from the processor becomes valid, and the data is written. At this time, the bus select signal is at a low level and is in an active state. The bus ready signal repeats a low level and a high level. The read / write signal is at a high level.

【0018】図3中のバス調停部82の構成例につい
て、図1を参照して説明する。同図において、バス調停
部82は、バス制御部82−Aと、制御信号レジスタ部
82−Bとを含んで構成されている。このような構成を
採用しているので、クロスバースイッチとしてバス調停
部を考えたとき、回路全体を小さくすることができる。
同図において、バス制御部82−Aの出力によってマル
チプレクサ83−A及び83−Bを制御する。そして、
複数のプロセッサユニット1−A、1−B、1−C、1
−Xのうち、プロセッサユニット1−A、1−B、1−
Cからのアクセス信号をマルチプレクサ83−Aによっ
て選択し、制御信号レジスタ部82−Bに一旦格納す
る。アクセス信号を一旦格納するため、メモリ2へのア
クセスが遅れることになる。この遅れたアクセス信号
は、もう1つのマルチプレクサ83−Bに入力される。
このマルチプレクサ83−Bにはプロセッサユニット1
−Xからの制御信号も入力されている。このような構成
においては、マルチプレクサ83−A及び制御信号レジ
スタ部82−Bを介してマルチプレクサ83−Bに入力
されたプロセッサユニット1−A、1−B、1−Cから
のアクセス信号と、プロセッサユニット1−Xからのア
クセス信号とが択一的に出力されることになる。このた
め、メモリ2については、プロセッサユニット1−A、
1−B、1−Cよりも、プロセッサユニット1−Xが優
先的にアクセスすることができる。このように、遅延の
許容できるプロセッサのアクセスを一旦レジスタ部で記
憶することにより、回路を高速化できる。
An example of the configuration of the bus arbitration unit 82 in FIG. 3 will be described with reference to FIG. In the figure, a bus arbitration unit 82 includes a bus control unit 82-A and a control signal register unit 82-B. Since such a configuration is employed, when considering a bus arbitration unit as a crossbar switch, the entire circuit can be reduced in size.
In the figure, multiplexers 83-A and 83-B are controlled by the output of a bus control unit 82-A. And
A plurality of processor units 1-A, 1-B, 1-C, 1
-X, processor units 1-A, 1-B, 1-
The access signal from C is selected by the multiplexer 83-A and temporarily stored in the control signal register 82-B. Since the access signal is temporarily stored, access to the memory 2 is delayed. This delayed access signal is input to another multiplexer 83-B.
This multiplexer 83-B has a processor unit 1
The control signal from -X is also input. In such a configuration, the access signals from the processor units 1-A, 1-B, 1-C input to the multiplexer 83-B via the multiplexer 83-A and the control signal register 82-B, and the processor The access signal from the unit 1-X is output alternatively. Therefore, for the memory 2, the processor units 1-A,
The processor unit 1-X can access with higher priority than 1-B and 1-C. As described above, the circuit speed can be increased by temporarily storing the access of the processor which can tolerate the delay in the register unit.

【0019】図1に示されているマルチプロセッサシス
テムの動作例について図5を参照して説明する。同図に
は、図1中のプロセッサ1−Xから出力される各信号
と、プロセッサ1−Aから出力される各信号と、クロッ
クとが示されている。同図に示されているプロセッサ1
−Xから出力される信号は、バスセレクト信号(X−B
Sel)、アドレス信号(X−Address)、入力
データ(X−DataIn)、出力データ(X−Dat
aOut)、バスレディ信号(X−BReady)、及
びリードライト信号(X−RW)である。また、同図に
示されているプロセッサ1−Aから出力される信号は、
バスセレクト信号(A−BSel)、アドレス信号(A
−Address)、入力データ(A−DataI
n)、出力データ(A−DataOut)、バスレディ
信号(A−BReady)、及びリードライト信号(A
−RW)である。
An example of the operation of the multiprocessor system shown in FIG. 1 will be described with reference to FIG. The figure shows each signal output from the processor 1-X in FIG. 1, each signal output from the processor 1-A, and a clock. Processor 1 shown in FIG.
The signal output from -X is a bus select signal (X-B
Sel), address signal (X-Address), input data (X-DataIn), output data (X-Dat)
aOut), a bus ready signal (X-BReady), and a read / write signal (X-RW). The signal output from the processor 1-A shown in FIG.
Bus select signal (A-BSel), address signal (A
-Address), input data (A-DataI)
n), output data (A-DataOut), bus ready signal (A-BReady), and read / write signal (A
-RW).

【0020】ここで、2つのプロセッサ1−A及び1−
Xから同時にメモリに対するアクセスが要求されたバス
セレクト信号が出力された場合を考える。同図に示され
ているように、バスセレクト信号が2つのプロセッサ1
−A及び1−Xから同時に出力された場合、バスセレク
ト信号A−BSel及びX−BSelが同時にローレベ
ルに変化することになる。この場合、本システムにおい
ては、プロセッサ1−Xのメモリアクセスが、プロセッ
サ1−Aによるメモリアクセスよりも優先されるので、
プロセッサ1−Xに対するバスレディ信号X−BRea
dyが先に立下り、これに応答してプロセッサ1−Xへ
の入力データX−DataInが有効になる。この後、
プロセッサ1−Aに対するバスレディ信号A−BRea
dyが遅れて立下り、これに応答してプロセッサ1−A
への入力データA−DataInが有効になる。以上の
ように、プロセッサ1−Xのメモリアクセスが、プロセ
ッサ1−Aによるメモリアクセスよりも優先されるので
ある。リード要求に限らず、ライト要求についても同様
である。
Here, two processors 1-A and 1-A
Consider a case where a bus select signal is output from X at the same time as a request to access the memory. As shown in FIG.
When the signals are simultaneously output from -A and 1-X, the bus select signals A-BSel and X-BSel simultaneously change to low level. In this case, in the present system, the memory access of the processor 1-X is given priority over the memory access of the processor 1-A.
Bus ready signal X-BRea for processor 1-X
dy falls first, and in response to this, the input data X-DataIn to the processor 1-X becomes valid. After this,
Bus ready signal A-BRea for processor 1-A
dy falls with a delay, and in response, processor 1-A
Input data A-DataIn becomes valid. As described above, the memory access of the processor 1-X has priority over the memory access of the processor 1-A. The same applies to a write request as well as a read request.

【0021】上述した従来のマルチプロセッサシステム
においては、バス使用権が均等になるように、バスの調
停が行われる。これに対し本システムにおいては、バス
使用権を均等にするのではなく、信号処理の内容に応じ
て、あるプロセッサユニットには、他のプロセッサユニ
ットよりも高い優先度を与える。アクセスの頻度が高い
ものの優先度を高くする。固定的に優先度を高くしても
良い。優先度の高いプロセッサからメモリへのアクセス
用信号線を、他のプロセッサからメモリへのアクセス用
信号線よりも短くしておく。こうすれば、信号線の短い
ものについて、高い優先度を与えることができる。この
場合、例えば、MPEG−4についての処理において
は、複数種類の演算を行うため、各演算処理の内容に応
じてその処理を行うプロセッサユニットについてのバス
使用権の優先度を決定する。
In the above-described conventional multiprocessor system, arbitration of the bus is performed so that the right to use the bus becomes equal. On the other hand, in the present system, a certain processor unit is given higher priority than another processor unit in accordance with the content of signal processing, instead of equalizing the bus use rights. Although the frequency of access is high, the priority is increased. The priority may be fixedly increased. A signal line for accessing a memory from a processor with a higher priority is shorter than a signal line for accessing a memory from another processor. In this case, a high priority can be given to a short signal line. In this case, for example, in the process of MPEG-4, since a plurality of types of operations are performed, the priority of the bus use right for the processor unit that performs the process is determined according to the content of each operation process.

【0022】複数種類のモードを設定しておき、各モー
ドにおいて各プロセッサユニットに対するバス使用権の
優先度を異なるものにしておいても良い。こうすれば、
モードを変更するだけで、各プロセッサユニットに対す
るバス使用権の優先度を変更することができる。ここ
で、優先順位付バス調停部3の構成例が図6に示されて
いる。同図に示されているように、各メモリに対応して
設けられたマルチプレクサ3−1〜3−5と、これらマ
ルチプレクサに対して選択制御信号SEL1〜SEL5
を与える優先順位設定部30とを含んで構成されてい
る。優先順位設定部30から出力される選択制御信号S
EL1〜SEL5によって、マルチプレクサ3−1〜3
−5内の優先度が制御される。
A plurality of modes may be set, and the priority of the bus use right for each processor unit may be different in each mode. This way,
Only by changing the mode, the priority of the bus use right for each processor unit can be changed. Here, a configuration example of the bus arbitration unit 3 with priority is shown in FIG. As shown in the figure, multiplexers 3-1 to 3-5 provided corresponding to respective memories, and selection control signals SEL1 to SEL5 for these multiplexers.
And a priority setting unit 30 that gives the priority. Selection control signal S output from priority setting section 30
Multiplexers 3-1 to 3-3 by EL1 to SEL5
Priority within -5 is controlled.

【0023】マルチプレクサ3−1には、プロセッサユ
ニット1−1,1−2及び1−4からのアクセス信号が
入力されている。マルチプレクサ3−1においては、プ
ロセッサユニット1−1からのアクセス信号が、他のプ
ロセッサユニット1−2及び1−4からのアクセス信号
よりも優先度が高く設定されている。マルチプレクサ3
−2には、プロセッサユニット1−2及び1−3からの
アクセス信号が入力されている。マルチプレクサ3−2
においては、プロセッサユニット1−3からのアクセス
信号が、他のプロセッサユニット1−2からのアクセス
信号よりも優先度が高く設定されている。
Access signals from the processor units 1-1, 1-2 and 1-4 are input to the multiplexer 3-1. In the multiplexer 3-1, the access signal from the processor unit 1-1 has a higher priority than the access signals from the other processor units 1-2 and 1-4. Multiplexer 3
-2, access signals from the processor units 1-2 and 1-3 are input. Multiplexer 3-2
In, the access signal from the processor unit 1-3 is set to have a higher priority than the access signals from the other processor units 1-2.

【0024】マルチプレクサ3−3には、プロセッサユ
ニット1−3及び1−4からのアクセス信号が入力され
ている。マルチプレクサ3−3においては、プロセッサ
ユニット1−3からのアクセス信号が、他のプロセッサ
ユニット1−4からのアクセス信号よりも優先度が高く
設定されている。マルチプレクサ3−4には、プロセッ
サユニット1−3及び1−4からのアクセス信号が入力
されている。マルチプレクサ3−4においては、プロセ
ッサユニット1−3からのアクセス信号が、他のプロセ
ッサユニット1−4からのアクセス信号よりも優先度が
高く設定されている。
Access signals from the processor units 1-3 and 1-4 are input to the multiplexer 3-3. In the multiplexer 3-3, the access signal from the processor unit 1-3 is set to have a higher priority than the access signals from the other processor units 1-4. Access signals from the processor units 1-3 and 1-4 are input to the multiplexer 3-4. In the multiplexer 3-4, the access signal from the processor unit 1-3 is set to have a higher priority than the access signals from the other processor units 1-4.

【0025】マルチプレクサ3−5には、プロセッサユ
ニット1−4からのアクセス信号のみが入力されてい
る。したがって、プロセッサユニット1−4からのアク
セス信号が最優先になる。ところで、メモリに対するア
クセス優先順位の設定は、アプリケーションの機能にあ
わせて予め設定することもできる他、DSPのプログラ
ム実行にあわせて動的に設定することもできる。ここで
は、図2に示されているマルチプロセッサシステムのよ
り具体的な動作例について、図7を参照して説明する。
同図においては、マルチプロセッサシステムをMPEG
(Moving PictureExperts Gr
oup)−4デコーダとして用いた場合におけるデータ
の流れと、SPUとメモリとの優先順位関係とについて
説明する。MPEG−4のデータをデコードする場合、
可変長復号データを逆量子化し、その逆量子化結果につ
いて、逆DCT処理、動き補償処理、ポストフィルタ処
理及び色変換処理を順に行うことになる。これらの各処
理を行うため、本システムでは、各メモリに格納すべき
データの種類を予め定め、そのデータの種類に応じてそ
のメモリに対する各プロセッサからのアクセスの優先度
を定めている。すなわち、メモリ2−1が可変長復号デ
ータ記憶用、メモリ2−2が逆量子化結果記憶用、メモ
リ2−3が逆DCT結果記憶用、メモリ2−4が動き補
償結果記憶用、メモリ2−5が色変換結果記憶用であ
る。
The multiplexer 3-5 receives only an access signal from the processor unit 1-4. Therefore, the access signal from the processor unit 1-4 has the highest priority. By the way, the setting of the access priority to the memory can be set in advance according to the function of the application, or can be set dynamically according to the execution of the program of the DSP. Here, a more specific operation example of the multiprocessor system shown in FIG. 2 will be described with reference to FIG.
In the figure, the multiprocessor system is MPEG
(Moving PictureExperts Gr
The data flow when used as an (up) -4 decoder and the priority relationship between the SPU and the memory will be described. When decoding MPEG-4 data,
The variable-length decoded data is inversely quantized, and an inverse DCT process, a motion compensation process, a post-filter process, and a color conversion process are sequentially performed on the result of the inverse quantization. In order to perform each of these processes, in this system, the type of data to be stored in each memory is determined in advance, and the priority of access from each processor to the memory is determined according to the type of data. That is, the memory 2-1 stores the variable-length decoded data, the memory 2-2 stores the inverse quantization result, the memory 2-3 stores the inverse DCT result, the memory 2-4 stores the motion compensation result, and the memory 2 -5 is for color conversion result storage.

【0026】同図において、まず、RISCプロセッサ
において可変長復号(VLD)処理されたデータ(VL
D−data)がメモリ2−1へ転送される(ステップ
)。サブプロセッサユニット1−1(SPU#1)
は、メモリ2−1からVLD−dataを読込み、逆量
子化(IQ)を行う(ステップ)。逆量子化結果は
(Q−data)メモリ2−2へ転送される(ステップ
)。サブプロセッサユニット1−2(SPU#2)は
メモリ2−2からQ−dataを読込み、逆DCT処理
(IDCT)を行う(ステップ)。逆DCT結果(I
DCT result)は、メモリ2−3へ転送される
(ステップ)。サブプロセッサユニット1−3(SP
U#3)はメモリ2−3から逆DCT結果(IDCT
result)を読込み、動き補償処理(MC)を行う
(ステップ)。動き補償結果(YUV)はフレームメ
モリであるメモリ2−4へ転送される(ステップ)。
サブプロセッサユニット1−4(SPU#4)はメモリ
からフレームデータ(YUV)を読込み、ポストフィル
タ処理(PF)及び色変換処理(CT)を行う(ステッ
プ)。色変換結果(RGB)は、フレームメモリであ
るメモリ2−5へ転送される(ステップ)。なお、メ
モリ2−5に書込まれたデータは、インタフェース8を
介して出力され、最終的に外部メモリ80に書込まれ
る。
In FIG. 1, first, data (VL) that has been subjected to variable length decoding (VLD) processing in a RISC processor is shown.
D-data) is transferred to the memory 2-1 (step). Sub-processor unit 1-1 (SPU # 1)
Reads VLD-data from the memory 2-1 and performs inverse quantization (IQ) (step). The inverse quantization result is transferred to (Q-data) memory 2-2 (step). The sub-processor unit 1-2 (SPU # 2) reads the Q-data from the memory 2-2 and performs an inverse DCT process (IDCT) (step). Inverse DCT result (I
DCT (result) is transferred to the memory 2-3 (step). Sub processor unit 1-3 (SP
U # 3) receives the inverse DCT result (IDCT) from the memory 2-3.
result), and performs motion compensation processing (MC) (step). The motion compensation result (YUV) is transferred to the memory 2-4, which is a frame memory (step).
The sub-processor unit 1-4 (SPU # 4) reads the frame data (YUV) from the memory and performs post-filter processing (PF) and color conversion processing (CT) (step). The color conversion result (RGB) is transferred to the memory 2-5, which is a frame memory (step). The data written in the memory 2-5 is output via the interface 8, and is finally written in the external memory 80.

【0027】この場合、各メモリに対するアクセスの優
先度は以下のようになっているものとする。メモリ(V
LD−data)はサブプロセッサユニット1−1(S
PU#1),MPU(RISC)の順に優先度が高い。
メモリ(Q−data)はサブプロセッサユニット1−
2(SPU#2),サブプロセッサユニット1−1(S
PU#1)の順に優先度が高い。メモリ(IDCT r
esult)はサブプロセッサユニット1−2(SPU
#2),サブプロセッサユニット1−3(SPU#3)
の順に優先度が高い。IDCT処理は最も高速性が要求
される。フレームメモリ(YUV)はサブプロセッサユ
ニット1−3(SPU#3),サブプロセッサユニット
(SPU#4)の順に優先度が高い。フレームメモリ
(RGB)はサブプロセッサユニット1−4(SPU#
4)の優先度が高い。以上は、MPEGデータの解凍処
理の場合であるが、同データの圧縮処理の場合について
も同様に、メモリ毎にアクセスの優先度を定めれば、処
理全体をより高速にすることができる。
In this case, it is assumed that the priority of access to each memory is as follows. Memory (V
LD-data) is the sub-processor unit 1-1 (S
PU # 1) and MPU (RISC) in order of priority.
The memory (Q-data) is stored in the sub processor unit 1-
2 (SPU # 2), sub-processor unit 1-1 (SPU
The priority is higher in the order of PU # 1). Memory (IDCT r
result is the sub-processor unit 1-2 (SPU
# 2), sub processor unit 1-3 (SPU # 3)
In the order of priority. IDCT processing requires the highest speed. The priority of the frame memory (YUV) is higher in the order of the sub processor unit 1-3 (SPU # 3) and the sub processor unit (SPU # 4). The frame memory (RGB) is stored in the sub processor units 1-4 (SPU #
4) has a high priority. The above is the case of decompression processing of MPEG data. Similarly, in the case of compression processing of the same data, if the access priority is determined for each memory, the entire processing can be performed at a higher speed.

【0028】なお、以上の説明において、各共有メモリ
に、周知のデュアルポートメモリを用いても良い。デュ
アルポートメモリは、図8に示されているように、2つ
のリードポートRead port−A、Read p
ort−B)と、2つのライトポート(Write p
ort−A、Write port−B)とを有してい
る。このため、それら2組のポートに、異なるプロセッ
サからのアクセス信号を入力しておけば、一方のプロセ
ッサがメモリに対して書込みを行っている時に、それと
並行して他方のプロセッサがそのメモリに対して読出し
を行うことができる。このように構成すれば、1つのメ
モリに対して書込みと読出しとを同時に行うことができ
るので、処理をより高速に行うことができる。このよう
に、デュアルポートメモリをLSIの内蔵メモリとして
用いることで、2ポート分のプロセッサからのアクセス
を高速にすることができる。
In the above description, a well-known dual-port memory may be used for each shared memory. The dual port memory has two read ports, Read port-A and Read p, as shown in FIG.
ort-B) and two write ports (Write P
ort-A, Write port-B). For this reason, if an access signal from a different processor is input to these two sets of ports, while one processor is writing to the memory, the other processor can access the memory in parallel. Readout. With this configuration, writing and reading can be performed simultaneously on one memory, so that the processing can be performed at higher speed. As described above, by using the dual-port memory as the internal memory of the LSI, it is possible to increase the speed of access from the processor for two ports.

【0029】請求項の記載に関し、本発明は更に以下の
態様を採り得る。(1)バスを使用可能な複数のプロセ
ッサのうち、特定のプロセッサのバス使用権を他のプロ
セッサのバス使用権よりも高くするように制御する制御
手段を含むことを特徴とするマルチプロセッサシステ
ム。(2)バスを使用可能な複数のプロセッサによる複
数種類の動作モードを有するマルチプロセッサシステム
であって、各プロセッサのバス使用権の優先度が、前記
複数の動作モードそれぞれにおいて異なることを特徴と
するマルチプロセッサシステム。
With respect to the description of the claims, the present invention can further take the following aspects. (1) A multiprocessor system including control means for controlling a bus right of use of a specific processor to be higher than a bus right of another processor among a plurality of processors that can use a bus. (2) A multiprocessor system having a plurality of types of operation modes by a plurality of processors capable of using a bus, wherein the priority of the bus use right of each processor is different in each of the plurality of operation modes. Multiprocessor system.

【0030】[0030]

【発明の効果】以上説明したように本発明は、プロセッ
サそれぞれからメモリそれぞれへのアクセスの優先度
が、メモリ毎に異なるように制御するか、動作モード毎
に異なるように制御することにより、メモリアクセスの
優先度を適切に設定できるので、プロセッサ間のメモリ
アクセスの衝突を軽減できるという効果がある。そし
て、遅延の許容できるプロセッサのアクセスを遅延させ
る一方で、優先すべきアクセスについての信号線を短く
することができるので、回路の遅延が少なくなり、アク
セスサイクルを速めることができ、動作周波数を上げる
ことができるという効果がある。
As described above, according to the present invention, the priority of access from the processors to the memories is controlled so as to be different for each memory, or the memory is controlled so as to be different for each operation mode. Since the access priority can be appropriately set, there is an effect that memory access collision between processors can be reduced. Then, while delaying the access of the processor which can accept the delay, the signal line for the access to be prioritized can be shortened, so that the delay of the circuit is reduced, the access cycle can be accelerated, and the operating frequency is increased. There is an effect that can be.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明によるマルチプロセッサシステムにおけ
るバス調停部の構成例を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of a bus arbitration unit in a multiprocessor system according to the present invention.

【図2】本発明によるマルチプロセッサシステムの実施
の一形態を示すブロック図である。
FIG. 2 is a block diagram showing one embodiment of a multiprocessor system according to the present invention.

【図3】本システムにおける、複数のプロセッサと共有
メモリとの接続関係を示すブロック図である。
FIG. 3 is a block diagram showing a connection relationship between a plurality of processors and a shared memory in the present system.

【図4】図3に示されているマルチプロセッサシステム
の動作を示すタイムチャートである。
FIG. 4 is a time chart illustrating an operation of the multiprocessor system illustrated in FIG. 3;

【図5】本発明によるマルチプロセッサシステムの動作
例を示すタイムチャートである。
FIG. 5 is a time chart showing an operation example of the multiprocessor system according to the present invention.

【図6】本発明によるマルチプロセッサシステムにおけ
る動作優先順位付バス調停部の構成例を示すブロック図
である。
FIG. 6 is a block diagram showing a configuration example of a bus arbitration unit with an operation priority in a multiprocessor system according to the present invention;

【図7】図2に示されているマルチプロセッサシステム
のより具体的な動作例を示す図である。
FIG. 7 is a diagram showing a more specific operation example of the multiprocessor system shown in FIG. 2;

【図8】デュアルポートメモリのポートの状態を示す図
である。
FIG. 8 is a diagram showing a state of a port of the dual port memory.

【図9】一般的なマルチプロセッサシステムの構成を示
すブロック図である。
FIG. 9 is a block diagram showing a configuration of a general multiprocessor system.

【符号の説明】[Explanation of symbols]

1−A、1−B、1−C、1−X プロセッサユニット 2 メモリ 82 バス調停部 82−A バス制御部 82−B 制御信号レジスタ部 83−A、83−B マルチプレクサ 1-A, 1-B, 1-C, 1-X Processor unit 2 Memory 82 Bus arbitration unit 82-A Bus control unit 82-B Control signal register unit 83-A, 83-B Multiplexer

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサと、これらプロセッサ
からそれぞれアクセスされる複数のメモリとを含むマル
チプロセッサシステムであって、前記プロセッサそれぞ
れから前記メモリそれぞれへのアクセスの優先度が、該
メモリ毎に異なるように制御する制御手段を含むことを
特徴とするマルチプロセッサシステム。
1. A multiprocessor system including a plurality of processors and a plurality of memories respectively accessed by the processors, wherein the priority of access from the processors to the respective memories is different for each of the memories. A multi-processor system including control means for performing such control.
【請求項2】 複数のプロセッサと、これらプロセッサ
からそれぞれアクセスされるメモリとを含み複数種類の
動作モードを有するマルチプロセッサシステムであっ
て、前記プロセッサそれぞれから前記メモリへのアクセ
スの優先度が、前記動作モード毎に異なるように制御す
る制御手段を含むことを特徴とするマルチプロセッサシ
ステム。
2. A multiprocessor system having a plurality of types of operation modes including a plurality of processors and memories respectively accessed by the processors, wherein the priority of access from each of the processors to the memory is A multiprocessor system including control means for performing control so as to be different for each operation mode.
【請求項3】 前記メモリに格納すべきデータの種類が
予め定められており、前記制御手段は、前記データの種
類に応じて前記メモリに対する各プロセッサからのアク
セスの優先度を定めることを特徴とする請求項1又は2
記載のマルチプロセッサシステム。
3. The type of data to be stored in the memory is determined in advance, and the control unit determines the priority of access from each processor to the memory in accordance with the type of the data. Claim 1 or 2
A multiprocessor system as described.
【請求項4】 前記制御手段は、アクセスの優先度の低
いプロセッサからのアクセス要求信号の応答を遅延させ
ることを特徴とする請求項1〜3のいずれかに記載のマ
ルチプロセッサシステム。
4. The multiprocessor system according to claim 1, wherein said control means delays a response to an access request signal from a processor having a low access priority.
【請求項5】 前記メモリは、複数の入出力ポートを有
するメモリであり、それら入出力ポートを介してそれぞ
れ異なるプロセッサが該メモリをアクセスするようにし
たことを特徴とする請求項1〜4のいずれかに記載のマ
ルチプロセッサシステム。
5. The memory according to claim 1, wherein the memory is a memory having a plurality of input / output ports, and different processors access the memories via the input / output ports. The multiprocessor system according to any one of the above.
JP2000383806A 2000-12-18 2000-12-18 Multi-processor system Withdrawn JP2002182975A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000383806A JP2002182975A (en) 2000-12-18 2000-12-18 Multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000383806A JP2002182975A (en) 2000-12-18 2000-12-18 Multi-processor system

Publications (1)

Publication Number Publication Date
JP2002182975A true JP2002182975A (en) 2002-06-28

Family

ID=18851392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000383806A Withdrawn JP2002182975A (en) 2000-12-18 2000-12-18 Multi-processor system

Country Status (1)

Country Link
JP (1) JP2002182975A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004338A (en) * 2005-06-22 2007-01-11 Renesas Technology Corp Data processor
JP2008509464A (en) * 2004-08-05 2008-03-27 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Message handler and method for controlling access to data in message memory of communication module
US7765250B2 (en) 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
JP2011159069A (en) * 2010-01-29 2011-08-18 Toshiba Corp Semiconductor storage device and control method thereof
JP2014093048A (en) * 2012-11-06 2014-05-19 Fujitsu Ltd Data processor and data processing method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008509464A (en) * 2004-08-05 2008-03-27 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Message handler and method for controlling access to data in message memory of communication module
US7765250B2 (en) 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
JP2007004338A (en) * 2005-06-22 2007-01-11 Renesas Technology Corp Data processor
JP2011159069A (en) * 2010-01-29 2011-08-18 Toshiba Corp Semiconductor storage device and control method thereof
US8140741B2 (en) 2010-01-29 2012-03-20 Kabushiki Kaisha Toshiba Semiconductor storage device and control method thereof
US8275935B2 (en) 2010-01-29 2012-09-25 Kabushiki Kaisha Toshiba Semiconductor storage device and control method thereof
JP2014093048A (en) * 2012-11-06 2014-05-19 Fujitsu Ltd Data processor and data processing method

Similar Documents

Publication Publication Date Title
US7519774B2 (en) Data processor having a memory control unit with cache memory
JP3406744B2 (en) Data processor with controlled burst memory access and method thereof
US5911149A (en) Apparatus and method for implementing a programmable shared memory with dual bus architecture
US6567426B1 (en) Preemptive timer multiplexed shared memory access
JP4820566B2 (en) Memory access control circuit
US5367494A (en) Randomly accessible memory having time overlapping memory accesses
JP3243615B2 (en) Method and apparatus for controlling linear and toggle mode burst access sequences using toggle mode increment logic
EP0646873A2 (en) Single-chip microcomputer
JP4786209B2 (en) Memory access device
US5860086A (en) Video processor with serialization FIFO
US20080091920A1 (en) Transferring data between registers in a RISC microprocessor architecture
US20060004976A1 (en) Shared memory architecture
US20010019331A1 (en) Unified memory architecture for use in computer system
US5696985A (en) Video processor
US5557759A (en) Video processor with non-stalling interrupt service
KR20030029030A (en) Memory control method, memory control circuit using the control method, and integrated circuit device with the memory control circuit
US7185133B2 (en) Data processor
JP2007018222A (en) Memory access control circuit
JP2002182975A (en) Multi-processor system
JPH0883237A (en) Data processor
JP2004078396A (en) Memory device
JPH10144073A (en) Access mechanism for synchronous dram
JP2001325148A (en) Method and device for controlling access
KR20010050234A (en) Addressing of a memory
US20090100220A1 (en) Memory system, control method thereof and computer system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304