JP2003036240A - マルチプロセッサ間通信装置 - Google Patents

マルチプロセッサ間通信装置

Info

Publication number
JP2003036240A
JP2003036240A JP2001223217A JP2001223217A JP2003036240A JP 2003036240 A JP2003036240 A JP 2003036240A JP 2001223217 A JP2001223217 A JP 2001223217A JP 2001223217 A JP2001223217 A JP 2001223217A JP 2003036240 A JP2003036240 A JP 2003036240A
Authority
JP
Japan
Prior art keywords
processor
data
register
fifo
communication device
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.)
Pending
Application number
JP2001223217A
Other languages
English (en)
Inventor
Hideyuki Odawara
秀幸 小田原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001223217A priority Critical patent/JP2003036240A/ja
Publication of JP2003036240A publication Critical patent/JP2003036240A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】マルチプロセッサ間通信の待ち行列に用いるF
IFO手段において、一度に転送できるデータ量を必要
に応じて一定の範囲で任意に変更する。 【解決手段】送信用と受信用に兼用するFIFOレジス
タ104へのアクセスを制御する回路103内にFIF
Oレジスタ104の段数を設定する容量設定レジスタ1
05を設け、この設定値により各プロセッサに対するF
IFOレジスタの容量配分を行う。また3つ以上のプロ
セッサ構成の場合は、優先順位を決める回路を用いて、
複数のプロセッサからFIFOレジスタ104に対する
同時アクセスを回避するように制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は待ち行列を使用して
プロセッサ間通信を行うマルチプロセッサ間通信装置に
関する。
【0002】
【従来の技術】マルチプロセッサシステムにおいては、
各プロセッサ間の通信手段として待ち行列が使用され
る。待ち行列はFIFO(First In First Out)構造を
有するデータ集合であり、FIFO構成のレジスタやメ
モリ内のFIFO構造体が使用される。
【0003】図6は従来のマルチプロセッサ間通信装置
を示すブロック図である。図6において、601と60
2はプロセッサ、603はプロセッサ601からプロセ
ッサ602へのデータ送信用FIFOレジスタ、604
はプロセッサ602からプロセッサ601へのデータ受
信用FIFOレジスタである。
【0004】プロセッサ601からプロセッサ602に
データを転送したい時は、プロセッサ601はデータ送
信用FIFOレジスタ603にデータを書き込む。プロ
セッサ602はデータ送信用FIFOレジスタの状態を
監視し、プロセッサ601からデータが書き込まれる
と、データ送信用FIFOレジスタ603からデータを
取り込む。この一連の動作により、プロセッサ601か
らプロセッサ602へのデータ転送が行なわれる。
【0005】プロセッサ602からプロセッサ601へ
の転送についても同様で、プロセッサ602はデータ受
信用FIFOレジスタ604にデータを書き込み、プロ
セッサ601はデータ受信用FIFOレジスタ604を
監視し、プロセッサ602からデータが書き込まれる
と、データ受信用FIFOレジスタ604からデータを
取り込む。
【0006】
【発明が解決しようとする課題】しかしながら従来のマ
ルチプロセッサ間通信装置においては、プロセッサ間で
一度に転送できるデータ量はそれぞれのFIFOレジス
タの段数により一意に決まるため、用途により、例えば
送信側だけ転送するデータ量を増やしたい場合は、ハー
ドウェアを変更することが必要であった。
【0007】本発明はかかる点に鑑みてなされたもので
あり、マルチプロセッサ間通信の待ち行列に用いるFI
FO手段において、一度に転送できるデータ量を必要に
応じて一定の範囲で任意に変更することが可能なマルチ
プロセッサ間通信装置を提供することを目的とする。
【0008】
【課題を解決するための手段】本発明に係るマルチプロ
セッサ間通信装置の第1の態様は、プロセッサ間通信の
待ち行列に使用するFIFO段数が可変なFIFOレジ
スタと、このFIFOレジスタのFIFO段数の設定を
変更する制御回路と、を具備する構成を採る。
【0009】この構成によれば、ハードウェアで与えら
れた1つのFIFOレジスタを送信用と受信用に兼用し
た場合に、その間の容量の配分を変更することが可能に
なるため、例えば送信側だけ転送するデータ量を増やし
たい場合に、FIFOレジスタの送信側の容量を拡張す
るように変更することができる。その結果、プロセッサ
間で一度に転送できる通信データ量をソフトウェアによ
り変更することが可能になる。
【0010】本発明に係るマルチプロセッサ間通信装置
の第2の態様は、前記第1の態様において、FIFOレ
ジスタに代えてメモリを使用し、このメモリに対してプ
ロセッサからのアクセスがあることを示すフラグを具備
する構成を採る。
【0011】この構成によれば、FIFOレジスタに代
えて使用するメモリが容量の大きなFIFOレジスタの
役割を果たすので、第1の態様の特徴を備えながら、よ
り大量のデータを一度に転送することが可能になる。こ
のとき、プロセッサからのアクセスがあることを示すフ
ラグを備えることにより、メモリに対する同時アクセス
が生じないように制御することができる。
【0012】本発明に係るマルチプロセッサ間通信装置
の第3の態様は、前記第1の態様または第2の態様にお
いて、複数のプロセッサからの読み出し要求に対する優
先度制御回路を具備する構成を採る。
【0013】この構成によれば、データを受け取るプロ
セッサが複数の場合にも、優先度制御により読み出し要
求をするプロセッサの優先順位が決定されるので、第1
の態様または第2の態様の特徴を備えながら、FIFO
レジスタが同時にアクセスされることなくデータ転送を
行うことができる。
【0014】本発明に係るマルチプロセッサ間通信装置
の第4の態様は、前記第3の態様のマルチプロセッサ間
通信装置を、システムに搭載するプロセッサの数だけ具
備する構成を採る。
【0015】この構成によれば、プロセッサが3つ以上
の場合においても、すべてのプロセッサ間で、FIFO
手段のデータ量を必要に応じて変更することを可能に
し、双方向のデータ通信を行うことができる。
【0016】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。
【0017】(実施の形態1)図1は、本発明の実施の
形態1に係るマルチプロセッサ間通信装置の構成を示す
ブロック図である。また、図2は、図1に示したマルチ
プロセッサ間通信装置におけるFIFO動作を説明する
ためのFIFOレジスタの構成図である。
【0018】図1において、101と102はプロセッ
サ、103はアクセス制御回路、104はFIFOレジ
スタ、105はプロセッサ101からプロセッサ102
へ送るデータ容量を設定する容量設定レジスタ、106
はプロセッサ101のデータをFIFOレジスタ104
に書き込むアドレスを示すライトポインタ、107はプ
ロセッサ102がFIFOレジスタ104から読み出す
アドレスを示すリードポインタ、108はプロセッサ1
02のデータをFIFOレジスタ104に書き込むアド
レスを示すライトポインタ、109はプロセッサ101
がFIFOレジスタ104から読み出すアドレスを示す
リードポインタである。
【0019】次に、上記構成を有するマルチプロセッサ
間通信装置の動作について図2を参照しながら説明す
る。ここでは、図2に示すようにFIFOレジスタのF
IFO段数を16段として説明する。
【0020】まず、図2の(a)に示すように、容量設
定レジスタ105の設定を送信側4段、受信側12段に
設定する。この設定により、プロセッサ101からFI
FOレジスタ104への書き込み用のライトポインタ1
06、およびFIFOレジスタ104からプロセッサ1
02への読み出し用のリードポインタ107の値は0か
ら3までとなる。一方、プロセッサ102からのFIF
Oレジスタ104への書き込み用のライトポインタ10
8、およびFIFOレジスタ104からプロセッサ10
1への読み出し用のリードポインタ109の値は4から
15までとなる。
【0021】このとき、プロセッサ101はFIFOレ
ジスタに4つのデータを書き込むと、ライトポインタ1
06とリードポインタ107が一致するため、これ以上
はデータを書き込むことができない。プロセッサ102
はFIFOレジスタ104に12個のデータを書き込む
と、ライトポインタ108とリードポインタ109が一
致するため、これ以上はデータを書き込むことができな
い。
【0022】この状態で、プロセッサ102がFIFO
レジスタ104からデータを読み出す場合、ライトポイ
ンタ106とリードポインタ107の値の差が1になる
までデータを読み出すことができ、4つのデータを取り
込むことができる。一方、プロセッサ101はライトポ
インタ108とリードポインタ109の値の差が1にな
るまでデータを読み出すことができ、12個のデータを
取り込むことができる。
【0023】次に、プロセッサ101から送信するデー
タ量を増やしたい場合に、図2の(b)に示すように、
容量設定レジスタ105の設定を、例えば送信側12
段、受信側4段に設定する。この設定により、ライトポ
インタ106とリードポインタ107の値は0から11
までとなり、プロセッサ101からプロセッサ102に
一度に送信することができるデータ量が12となる。一
方、ライトポインタ108とリードポインタ109の値
は12から15までとなる。
【0024】以上説明したように、本実施の形態によれ
ば、ハードウェアで与えられた1つのFIFOレジスタ
を送信用と受信用に兼用した場合に、その間の容量の配
分を変更することが可能になるため、プロセッサ間で一
度に転送できるデータ量を必要に応じて一定の範囲で任
意に可変にすることができるようになる。
【0025】(実施の形態2)図3は、本発明の実施の
形態2に係るマルチプロセッサ間通信装置の構成を示す
ブロック図である。
【0026】図3において、301と302はプロセッ
サ、303はアクセス制御回路、304は転送するデー
タを保存するメモリ、305はプロセッサ301からプ
ロセッサ302へ送るデータ容量を設定する容量設定レ
ジスタ、306はプロセッサ301のデータをメモリ3
04に書き込むアドレスを示すライトポインタ、307
はプロセッサ302がメモリ304から読み出すアドレ
スを示すリードポインタ、308はプロセッサ302の
データをメモリ304に書き込むアドレスを示すライト
ポインタ、309はプロセッサ301がメモリ304か
ら読み出すアドレスを示すリードポインタである。
【0027】さらに、図3において、311はプロセッ
サ301からメモリ304にアクセスしている事を示す
フラグ、312はプロセッサ302からメモリ304に
アクセスしていることを示すフラグである。
【0028】次に、上記構成を有するマルチプロセッサ
間通信装置の動作について説明する。実施の形態1にお
けるFIFOレジスタ104に代えて、実施の形態2で
はメモリ304が使用されている点以外は、プロセッサ
301からプロセッサ302へデータを転送する場合、
およびプロセッサ302からプロセッサ301へデータ
を転送する場合の基本的な動作は、実施の形態1におけ
る動作と同様である。
【0029】ただし、FIFOレジスタ104に代えて
メモリ304を使用しているために、メモリ304が2
つのプロセッサから同時にリード動作やライト動作を要
求することを禁止している場合は、これを考慮する必要
がある。図3においては、プロセッサ301はアクセス
フラグ312を参照し、プロセッサ302はアクセスフ
ラグ311を参照することにより、相手側のプロセッサ
がメモリ304にアクセスしていないときにリード動作
やライト動作を行うように制御することができる。
【0030】以上説明したように、本実施の形態によれ
ば、FIFOレジスタ104に代えてメモリ304を使
用することにより、メモリを送信用と受信用に兼用し、
その間の容量の配分を必要に応じて変えながら、一度に
大容量のデータを転送するプロセッサ間通信が可能とな
る。
【0031】(実施の形態3)図4は、本発明の実施の
形態3に係るマルチプロセッサ間通信装置の構成の一例
として、プロセッサが3つの場合を示すブロック図であ
る。
【0032】図4において、401はデータを送信する
側のプロセッサ、402と403はデータを受信する側
のプロセッサ、404はアクセス制御回路、405はF
IFOレジスタ、406は優先順位決定回路、407は
プロセッサ401からプロセッサ402と403へ送る
データ容量の配分を設定する容量設定レジスタ、408
はプロセッサ401からプロセッサ402に転送するデ
ータをFIFOレジスタ405に書き込むアドレスを示
すライトポインタ、409はプロセッサ402がFIF
Oレジスタ405から読み出すアドレスを示すリードポ
インタ、410はプロセッサ401からプロセッサ40
3に転送するデータをFIFOレジスタ405に書き込
むアドレスを示すライトポインタ、411はプロセッサ
403がFIFOレジスタ405から読み出すアドレス
を示すリードポインタである。
【0033】次に、上記構成を有するマルチプロセッサ
間通信装置の動作について説明する。プロセッサ401
からプロセッサ402へデータを転送する場合、および
プロセッサ401からプロセッサ403へデータを転送
する場合のそれぞれの基本的な動作は、実施の形態1に
おけるプロセッサ101からプロセッサ102へデータ
を転送する場合の動作と同様である。
【0034】本実施の形態においては、プロセッサ40
1からのデータ転送先のプロセッサが複数であるため、
容量設定レジスタ407によりデータ転送先のプロセッ
サに対するデータ容量の配分を設定する。ここではFI
FOレジスタ405の転送容量は16個分あり、プロセ
ッサ402に対し8個、プロセッサ403に対し8個の
転送をするように設定したとする。この場合はライトポ
インタ408とリードポインタ409は0から7、ライ
トポインタ410とリードポインタ411は8から15
までの値を使ってアクセスすることになる。
【0035】さらに、プロセッサ402とプロセッサ4
03は同時にFIFOレジスタからの読み出しを要求す
る可能性がある。そのため、優先順位決定回路406に
より、FIFOレジスタからの同時読み出し要求の調停
を行う。例えば、優先順位設定に従い、プロセッサ40
3の読み出し要求を待たせ、プロセッサ402の読み出
し要求を実行後にプロセッサ403からの読み出し要求
を実行するようにする。
【0036】以上説明したように、本実施の形態によれ
ば、複数のプロセッサからの同時読み出し要求を調停す
る優先順位決定回路を設けることにより、複数のプロセ
ッサで構成されるシステムにおいてもFIFOレジスタ
の同時アクセスを生ずることなく、プロセッサ間で一度
に転送できるデータ量を必要に応じて一定の範囲で可変
にするデータ転送を行うことができる。
【0037】なお、図4においては説明の便宜上からプ
ロセッサを3つとしたが、任意の複数のプロセッサで構
成されるシステムにおいて、本実施の形態の趣旨が実現
されることは明らかである。図5は、N個のプロセッサ
に対して、それぞれ実施の形態3のマルチプロセッサ間
通信装置を備えて構成されるシステムの構成例を示す図
である。
【0038】図5において、プロセッサはプロセッサ1
〜プロセッサNのN個のプロセッサを、便宜上重複して
表わしている。また、アクセス制御回路、FIFOレジ
スタ、優先順位決定回路は、概念的にはN個のそれぞれ
のプロセッサに対して設けられるものである。ただし、
実際のハードウェア設計においては、一般的な手法でこ
れらを統合的に実現することも可能である。
【0039】
【発明の効果】以上説明したように、本発明によれば、
複数のプロセッサを有するシステムにおけるマルチプロ
セッサ間通信において、待ち行列に用いるFIFO手段
のデータ量を必要に応じて一定の範囲で任意に変更する
ことが可能になり、プロセッサ間で一度に転送できる通
信データ量をソフトウェアにより変更できる柔軟なシス
テムを構成することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサ
間通信装置の構成を示すブロック図である。
【図2】本発明の実施の形態1に係るマルチプロセッサ
間通信装置におけるFIFO動作を説明するためのFI
FOレジスタの構成図である。
【図3】本発明の実施の形態2に係るマルチプロセッサ
間通信装置の構成を示すブロック図である。
【図4】本発明の実施の形態3に係るマルチプロセッサ
間通信装置の構成を示すブロック図である。
【図5】N個のプロセッサに対して、それぞれ実施の形
態3のマルチプロセッサ間通信装置を備えて構成される
システムの構成例を示す図である。
【図6】従来のマルチプロセッサ間通信装置の構成を示
すブロック図である。
【符号の説明】 101、102、301、302、401、402、4
03 プロセッサ 103、303、404 アクセス制御回路 104、405 FIFOレジスタ 105、305、407 容量設定レジスタ 106 プロセッサ101からのライトポインタ 107 プロセッサ102からのリードポインタ 108 プロセッサ102からのライトポインタ 109 プロセッサ101からのリードポインタ 304 メモリ 306 プロセッサ301からのライトポインタ 307 プロセッサ302からのリードポインタ 308 プロセッサ302からのライトポインタ 309 プロセッサ301からのリードポインタ 311 プロセッサ301からのアクセスフラグ 312 プロセッサ302からのアクセスフラグ 406 優先順位決定回路 408、410 プロセッサ401からのライトポイン
タ 409 プロセッサ402からのリードポインタ 411 プロセッサ403からのリードポインタ 601、602 プロセッサ 603 送信用FIFOレジスタ 604 受信用FIFOレジスタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ間通信の待ち行列に用いるF
    IFO段数が可変なFIFOレジスタと、前記FIFO
    レジスタのFIFO段数の設定を変更する制御回路と、
    を具備することを特徴とするマルチプロセッサ間通信装
    置。
  2. 【請求項2】 前記FIFOレジスタに代えてメモリを
    使用し、前記メモリに対してプロセッサからのアクセス
    があることを示すフラグを具備することを特徴とする請
    求項1記載のマルチプロセッサ間通信装置。
  3. 【請求項3】 複数のプロセッサからの読み出し要求に
    対する優先度制御回路を具備することを特徴とする請求
    項1または2記載のマルチプロセッサ間通信装置。
  4. 【請求項4】 請求項3記載のマルチプロセッサ間通信
    装置をシステムに搭載するプロセッサの数だけ具備する
    ことを特徴とするマルチプロセッサ間通信装置。
JP2001223217A 2001-07-24 2001-07-24 マルチプロセッサ間通信装置 Pending JP2003036240A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001223217A JP2003036240A (ja) 2001-07-24 2001-07-24 マルチプロセッサ間通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001223217A JP2003036240A (ja) 2001-07-24 2001-07-24 マルチプロセッサ間通信装置

Publications (1)

Publication Number Publication Date
JP2003036240A true JP2003036240A (ja) 2003-02-07

Family

ID=19056585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001223217A Pending JP2003036240A (ja) 2001-07-24 2001-07-24 マルチプロセッサ間通信装置

Country Status (1)

Country Link
JP (1) JP2003036240A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
US8583845B2 (en) 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
US8583845B2 (en) 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof

Similar Documents

Publication Publication Date Title
JP4560646B2 (ja) ハブベースのメモリシステムにおけるダイレクトメモリアクセス用の装置および方法
US6247100B1 (en) Method and system for transmitting address commands in a multiprocessor system
EP1307818B1 (en) Implementing locks in a distributed processing system
US6715055B1 (en) Apparatus and method for allocating buffer space
EP1381957A2 (en) Data processing apparatus and system and method for controlling memory access
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
US20050144338A1 (en) Data transfer apparatus
JP2000293436A (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
CN115361336A (zh) 具有缓存的路由器、路由交换网络系统、芯片及路由方法
US20060085606A1 (en) Method and Related Apparatus for Internal Data Accessing of Computer System
JP2007094649A (ja) アクセス調停回路
US7409486B2 (en) Storage system, and storage control method
WO2005036313A2 (en) Queue register configuration structure
JP2003036240A (ja) マルチプロセッサ間通信装置
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
US7240144B2 (en) Arbitration of data transfer requests
JP2009037639A (ja) ストリーミングidメソッドによるdmac発行メカニズム
JP2005107873A (ja) 半導体集積回路
JPH1185673A (ja) 共有バスの制御方法とその装置
JP2003087338A (ja) データ伝送装置
US6266777B1 (en) Information processing apparatus to control bus latency
JPH10240678A (ja) 拡張入出力バス
KR19990071122A (ko) 다중 프로세서 회로
US20060064553A9 (en) Data processing apparatus and system and method for controlling memory access
KR100278805B1 (ko) 멀티 프로세싱 시스템의 데이터 중재장치 및 방법