JP2004070642A - Communication system for performing data transfer through shared memory - Google Patents
Communication system for performing data transfer through shared memory Download PDFInfo
- Publication number
- JP2004070642A JP2004070642A JP2002228552A JP2002228552A JP2004070642A JP 2004070642 A JP2004070642 A JP 2004070642A JP 2002228552 A JP2002228552 A JP 2002228552A JP 2002228552 A JP2002228552 A JP 2002228552A JP 2004070642 A JP2004070642 A JP 2004070642A
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- data
- central processing
- processing unit
- interrupt
- 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
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、共有メモリを介してデータ転送を行う通信システムに関し、特に、ダイレクトメモリアクセスコントローラ(DMAC)を使用し、二重化装置の系間通信又は複数の機能ブロックから成る装置の機能ブロック間通信を、共有メモリを介して行う通信システムに関する。
【0002】
二重化構成は、高い信頼性が要求されるシステム装置に対して一般的に適用される構成で、システムを構成する二つの系の装置は、互いに入力情報を補完し、片系装置での処理結果を両系装置で扱えるように、系間通信によって相互に情報のやりとりを行う。
【0003】
装置を複数の機能ブロックに分割して構成した装置も、故障時の部分縮退運転や二重化構成と組み合わせての部分代行運転により、やはり高い信頼性を要求されるシステムに対して一般的に採用されている構成で、各機能ブロックの処理結果等の情報を機能ブロック間通信によって相互にやりとりする構成が必要となる。
【0004】
ところが、近年の情報処理装置への高速化の要望及び扱うデータ情報の複雑化・大量化に対応するために、装置の系間通信又は機能ブロック間通信において、非常に高速でなおかつ信頼性の高い情報転送を行うことが要求されるようになり、従来のHDLC等の伝送手順による伝送回線を使用した通信ではなく、装置の系間又は機能ブロック間に共有メモリを配し、該共有メモリを経由して高速に大量の情報のやりとりを行う構成が多く採用されている。本発明は、このような系間又は機能ブロック間で通信を行う装置における共有メモリ及びダイレクトメモリアクセスコントローラ(DMAC)を使用する通信システムに関する。
【0005】
【従来の技術】
従来の共有メモリを使用する系間通信は、1つの系の中央処理装置(CPU)がその系のローカルメモリ内のデータを共有メモリに書き込み、相手系は共有メモリを一定の間隔でスキャニングして共有メモリの更新を監視し、共有メモリに新たに書き込まれたデータを相手系の中央処理装置(CPU)がその系のローカルメモリに読み出すことによって系間データの転送を行っていた。
【0006】
また、系間通信において、相手系の中央処理装置(CPU)による共有メモリのデータの読み出し前に、共有メモリの上書きを行わないようにするために、共有メモリ上の系間データを相手系が読み出したことを確認する処理を行う必要がある。更に、片系のみがデータを処理する場合に、該データを自系で破棄する前に、該データの保証のために該データを他系側が共有メモリから読み出したことの確認が必要な場合がある。
【0007】
従来は、この共有メモリ上のデータの読み出しの確認処理を省略し、該確認処理の代わりに、他系側による読み出しに対して、十分な時間が経過するまで待ち合わせることなどにより対処していた。或いは、他系が共有メモリ上のデータの読み出し時に読み出し完了フラグを共有メモリに書き込み、該フラグの書き込みを送信側の系でスキャニングしながら待ち続けて確認していた。
【0008】
また、系間通信において、データ送受の同期化などのために、他系による系間データの読み出し自体だけでなく、その直後の、例えば当該データの回線送出のタイミング等を厳密に確認しなければならない場合がある。このような場合、従来は、他系が共有メモリに書き込むデータ送出完了フラグの書き込みタイミングを、スキャニングしながら待ち続けて確認していた。
【0009】
また、系間通信のデータが多量に有る場合、通信データ量のピーク時には瞬間的に、他系側がデータの全てを共有メモリから読み出し終える前に、次の系間データを送信しなければならない場合がある。このような場合に対処するためは、共有メモリに複数の記憶エリアを設けておき、書き込み側は空き状態のどの記憶エリアにデータを書き込んだのかを、読み出し側に通知する必要がある。従来はこれを、ピーク時のオーバーフローとして廃棄又は送信待ち合わせを行うか、或いは、共有メモリの複数の記憶エリアを必ず所定の順番で使用することによって対処していた。
【0010】
また、系間通信において、受信側の系が送信側の系に対して、受信バッファの一時的な枯渇によるビジー状態を通知したり、受信した系間データの異常や再送要求を通知したりすることが必要な場合がある。このような場合、従来は、受信側の系が共有メモリに書き込む通知情報を、送信側の系でスキャニングして確認することにより対処していた。
【0011】
また、複数の機能ブロックにより構成される装置での各機能ブロック間の通信においても、前述の系間通信と同様のデータ転送確認等の要求が有り、それらの要求に対し、従来は、前述の系間通信と同様に、共有メモリへのフラグ書き込みをスキャニングして確認することにより対処していた。
【0012】
また、機能ブロック間の通信においては、1つの機能ブロックのデータ送信先が、複数の機能ブロックになる場合がある。この場合、従来は、共有メモリ上にそれぞれの送信先毎の記憶エリアを設けておき、該送信先毎の記憶エリアを用いて、1対1の通信処理を送信先の機能ブロック数の分、行うことにより対処していた。
【0013】
また、機能ブロック間の通信においては、1つの機能ブロックから複数の機能ブロックに対して、同一データの配信が必要な場合がある。従来は、これを1対1の通信で対処していたので、同一データを配信先機能ブロックの数の分、処理しなければならなかった。
【0014】
【発明が解決しようとする課題】
従来の系間通信のように、共有メモリへの系間データの書き込み及び読み出しを、各系の中央処理装置(CPU)がスキャニングにより常時監視する構成では、各系における中央処理装置(CPU)の装置本来の処理を行う時間を圧迫することとなり、処理性能の劣化をもたらす要因となっていた。
【0015】
また、共有メモリに対する系間データの書き込み又は読み出しの完了を、迅速に認識するためには、該共有メモリの書き込み又は読み出しのスキャニングを高速に行わなければならず、該スキャニングを高速に行おうとすると、中央処理装置(CPU)の処理能力を圧迫するという問題があった。
【0016】
本発明は、中央処理装置(CPU)の処理能力を圧迫せず、共有メモリに対する系間データの書き込み又は読み出しを迅速に検出することができる、共有メモリを介してデータ転送を行う通信システムを提供することを目的とする。
【0017】
また、本発明は、他系装置からの情報通知を、中央処理装置(CPU)の処理能力を圧迫せずに迅速に確認することができ、また、系間データ量のピーク時にもデータ抜けがなく系間通信を行うことができ、しかも共有メモリへの書き込み順、読み出し順に制限を加えることなく、ダイナミックに系間データのやりとりを行うことができ、また、受信側の系の処理結果や処理状況などを送信側の系に迅速に通知することができる、共有メモリを介してデータ転送を行う通信システムを提供することを目的とする。
【0018】
また、本発明は、複数の機能ブロックから成る装置の機能ブロック間通信でも、上記系間通信と同様に高速に確実に、しかも中央処理装置(CPU)の処理能力を圧迫することなく、機能ブロック間データをやりとりすることができ、また、複数の機能ブロックにデータを送信する場合又は同報送信を行う場合に、中央処理装置(CPU)の処理能力を圧迫せず、高速に送信することを可能にする、共有メモリを介してデータ転送を行う通信システムを提供することを目的とする。
【0019】
【課題を解決するための手段】
本発明の共有メモリを介してデータ転送を行う通信システムは、(1)二重化装置の系間のデータ転送を、各系の装置で共通に使用される共有メモリを介して行う通信システムにおいて、各系の装置のローカルメモリと共有メモリとの間のデータ転送を制御する各系毎のダイレクトメモリアクセスコントローラと、該ダイレクトメモリアクセスコントローラによるローカルメモリから共有メモリへのデータ転送の完了を、自系及び他系の中央処理装置に割り込み通知する割込み分岐回路とを備え、ローカルメモリのデータの共有メモリへの書き込み完了を、送信先である他系の中央処理装置に割込み通知する手段を備えたものである。
【0020】
また、(2)前記ダイレクトメモリアクセスコントローラによる共有メモリからローカルメモリへのデータ転送の完了を、自系及び他系の中央処理装置に割り込み通知する割込み分岐回路を備え、共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他系の中央処理装置に割込み通知する手段を備えたものである。
【0021】
また、(3)前記ダイレクトメモリアクセスコントローラによる共有メモリからローカルメモリへのデータ転送の完了を、中央処理装置からの指令により任意のタイミングで、直接、他系の中央処理装置へ割込み通知する割込み通知回路を備え、共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他系の中央処理装置に、任意のタイミングで割込み通知する手段を備えたものである。
【0022】
また、(4)各系の装置内に、他系の中央処理装置によって設定情報が読み取られる情報レジスタを備え、送信側の系の情報レジスタに、共有メモリ上の転送データ書き込みアドレスを設定する手段と、受信側の系で、送信側の系の情報レジスタに設定された共有メモリ上のアドレスを読み取って該アドレスから転送データを読み出す手段とを備え、共有メモリ上の複数の記憶エリアを使用して系間通信を行う手段を備えたものである。
【0023】
また、(5)前記情報レジスタに、受信側の系におけるデータ処理結果又は装置状態を示す情報を、共有メモリ上のデータの読み出し後に設定する手段を備え、受信側の系におけるデータ処理結果又は装置状態を、送信側の系の中央処理装置に通知する手段を備えたものである。
【0024】
また、(6)複数の機能ブロックから成る装置における機能ブロック間のデータ転送を、各機能ブロック間で共通に使用される共有メモリを介して行う通信システムにおいて、各機能ブロックのローカルメモリと共有メモリとの間のデータ転送を制御する各機能ブロック毎のダイレクトメモリアクセスコントローラと、該ダイレクトメモリアクセスコントローラによるローカルメモリから共有メモリへのデータ転送の完了を、自及び他の機能ブロックの中央処理装置に割り込み通知する割込み分岐回路とを備え、ローカルメモリのデータの共有メモリへの書き込み完了を、送信先である他の機能ブロックの中央処理装置に割込み通知する手段を備えたものである。
【0025】
また、(7)前記ダイレクトメモリアクセスコントローラによる共有メモリからローカルメモリへのデータ転送の完了を、自及び他の機能ブロックの中央処理装置に割り込み通知する割込み分岐回路を備え、共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他の機能ブロックの中央処理装置に割込み通知する手段を備えたものである。
【0026】
また、(8)前記ダイレクトメモリアクセスコントローラによる共有メモリからローカルメモリへのデータ転送の完了を、中央処理装置からの指令により任意のタイミングで、直接、他の機能ブロックの中央処理装置へ割込み通知する割込み通知回路を備え、共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他の機能ブロックに、任意のタイミングで割込み通知する手段を備えたものである。
【0027】
また、(9)各機能ブロック内に、他の機能ブロックの中央処理装置によって設定情報が読み取られる情報レジスタを備え、送信側の機能ブロックの情報レジスタに、共有メモリ上の転送データ書き込みアドレスを設定する手段と、受信側の機能ブロックで、送信側の機能ブロックの情報レジスタに設定された共有メモリ上のアドレスを読み取って該アドレスから転送データを読み出す手段とを備え、共有メモリ上の複数の記憶エリアを使用して機能ブロック間通信を行う手段を備えたものである。
【0028】
また、(10)前記情報レジスタに、受信側の機能ブロックにおけるデータ処理結果又は装置状態を示す情報を、共有メモリ上のデータの読み出し後に設定する手段を備え、受信側の機能ブロックにおけるデータ処理結果又は装置状態を、送信側の機能ブロックの中央処理装置に通知する手段を備えたものである。
【0029】
また、(11)前記割込み分岐回路により通知する割り込み通知先を任意に指定する割込み先指定レジスタを備え、該割込み分岐回路は、複数の機能ブロックの中から、該割込み先指定レジスタにより指定された機能ブロックに対して割込み通知を行い、複数の機能ブロックのうちの任意の機能ブロック間で通信を行う手段を備えたものである。
【0030】
また、(12)前記割込み先指定レジスタは、前記割込み分岐回路により通知する割り込み通知先を複数分設定する手段を有し、該割込み分岐回路は、割込み先指定レジスタに設定された複数の割込み通知先に対して割込み通知を行う手段を備え、送信側の機能ブロックから共有メモリに書き込んだ1つの転送データを複数の機能ブロックに同報送信する手段を備えたものである。
【0031】
【発明の実施の形態】
図1に本発明の第1の実施形態を示す。同図は、A系装置10とB系装置20とから成る二重化装置における系間通信の実施形態を示している。A系装置10とB系装置20との間には、両系からアクセスされる共有メモリ30を備える。
【0032】
今、A系装置10のローカルメモリ12のデータを、B系装置20のローカルメモリ22へ送信するために、ダイレクトメモリアクセスコントローラ(DMAC)13は、A系装置10のローカルメモリ12のデータを、共有メモリ30へ直接アクセスして書き込む制御を行う。
【0033】
ダイレクトメモリアクセスコントローラ(DMAC)13は、ダイレクトメモリアクセス(DMA)によるデータ転送完了通知を、割込み分岐回路14を介して、自系の中央処理装置(CPU)11に割り込み通知する。割込み分岐回路14は、他系のB系装置20の中央処理装置(CPU)21にも同様に、該ダイレクトメモリアクセス(DMA)によるデータ転送完了を割り込み通知する。
【0034】
このように、共有メモリ30へのデータ書き込み完了を、送信先である他系の中央処理装置(CPU)21に割込みによって通知することにより、中央処理装置(CPU)21の処理能力を圧迫せずに、共有メモリ30へのデータ書き込み完了が通知され、送信先である他系装置20では迅速に共有メモリ30からのデータの読み出しを行うことができ、系間通信に係る中央処理装置(CPU)21の負荷の低減と系間通信の高速化とを同時に実現することができる。
【0035】
図2は本発明の第2の実施形態を示す。この第2の実施形態は、第1の実施形態の構成に加え、共有メモリ30のデータを、送信先のB系装置20のローカルメモリ22へ転送する制御を行うダイレクトメモリアクセスコントローラ(DMAC)23を備え、このダイレクトメモリアクセスコントローラ(DMAC)23によるデータ読み出し完了を、割込み分岐回路24を介して自系の中央処理装置(CPU)21に割り込み通知する。
【0036】
また、割込み分岐回路24は、ダイレクトメモリアクセスコントローラ(DMAC)23からのデータ読み出し完了通知を分岐して、他系であるA系装置10の中央処理装置(CPU)11にも送出する。従って、共有メモリ30内のデータの読み出し完了を、即時に、送信元であるA系装置10の中央処理装置(CPU)11に割り込み通知することができる。
【0037】
そのため、送信側のA系装置10は、受信側の系間データの読み出しを即時に検出することができ、共有メモリ30上にデータの上書きが可能となるタイミングを、中央処理装置(CPU)11に負担を懸けずに迅速に認識することができ、系間通信に係る中央処理装置(CPU)負荷の低減と、系間通信の高速化とを同時に実現することができる。
【0038】
図3は本発明の第3の実施形態を示す。この第3の実施形態は、第2の実施形態と同様に第1の実施形態の構成に加え、共有メモリ30のデータを、送信先のB系装置20のローカルメモリ22へ転送する制御を行うダイレクトメモリアクセスコントローラ(DMAC)23を備え、このダイレクトメモリアクセスコントローラ(DMAC)23は、該データ読み出し完了を自系の中央処理装置(CPU)21に割り込み通知する。
【0039】
送信先のB系装置20には、直接、他系(A系)の中央処理装置(CPU)11に割込み通知信号を発生する割込み通知回路25を備える。そして、B系装置20の中央処理装置(CPU)21は、ダイレクトメモリアクセスコントローラ(DMAC)23からデータ読み出し完了の割り込み通知を受けると、該割込み通知回路25を介して、送信元のA系の中央処理装置(CPU)11に、共有メモリ30からのデータ読み出し完了を任意のタイミングで割込み通知する。
【0040】
受信側のB系装置20の中央処理装置(CPU)21は、次のデータの受け取り準備が完了したタイミングで、該共有メモリ30からのデータ読み出し完了の割り込み通知を、送信側のA系装置10の中央処理装置(CPU)11に通知することができるので、厳密な両系でのデータ送受の同期化を中央処理装置(CPU)に負荷を懸けないで実現することができる。
【0041】
図4は本発明の第4の実施形態を示す。第4の実施形態は、前述の第1、第2又は第3の実施形態の構成に加え、系間データの通信における設定情報や付加情報を格納する情報レジスタ16を備え、該情報レジスタ16に格納された設定情報又は付加情報を、系間のデータ通信に際して相手系装置に伝達するようにしたものである。
【0042】
図示の実施形態では、共有メモリ30に複数の記憶エリア31,32を設け、送信元のA系装置10のローカルメモリ12から、共有メモリ30の記憶エリア32にデータを書き込む場合、ダイレクトメモリアクセスコントローラ(DMAC)13は、該共有メモリ30の記憶エリア32を指定する情報を情報レジスタ16に設定する。
【0043】
該情報レジスタ16に設定された情報は、受信側の他系装置20の中央処理装置(CPU)21によって読み取られ、受信側の他系装置20では、情報レジスタ16に設定された共有メモリ30内の記憶エリア32のアドレスに基づいて、共有メモリ30の記憶エリア32からデータを読み出す。
【0044】
他系によって読み取られる情報レジスタ16に、共有メモリ30の記憶エリア情報を設定して系間データ通信を行うことにより、共有メモリ30上の複数の記憶エリアを使用して系間データ通信を行うことができ、共有メモリ30の複数のエリアをダイナミックに使用して大量の系間データの通信を柔軟に行うことができる。
【0045】
図5は本発明の第5の実施形態を示す。第5の実施形態は、第3又は第4の実施形態の構成に加え、受信側のB系装置20で設定した情報を他系の送信側A系装置10の中央処理装置(CPU)11によって読み取られる情報レジスタ26を備えている。
【0046】
受信側のB系装置20の情報レジスタ26には、受信側のB系装置20における系間通信データの処理結果により検出したデータ化け等のデータ異常や、ローカルメモリ22における一時的な受信バッファの枯渇によるビジー発生などの系間通信の状態に関する付加情報を、共有メモリ30内のデータ読み出し後に設定し、受信側のB系装置20における処理結果や装置状態を、送信元であるA系装置10に通知する。
【0047】
送信元のA系装置10は、系間通信の受信側の処理結果や系間通信状態を、情報レジスタ26の設定情報から、受信側の系のデータ読み出し完了通知と共に認識することができ、系間通信でのビジー制御やデータ化けの認識など、受信側との高度な連携を保った系間通信を、中央処理装置の負担を懸けずに行うことができる。
【0048】
図6に本発明の第6の実施形態を示す。第6の実施形態は、A系装置及びB系装置から成る二重化構成の装置に適用した第1、第2、第3、第4又は第5の実施形態の構成を、A機能ブロック50及びB機能ブロック60の複数の機能ブロックから成る装置の各機能ブロック間のデータ通信に適用したものである。
【0049】
図6に示すように、A機能ブロック50には、中央処理装置(CPU)51、ローカルメモリ52、ダイレクトメモリアクセスコントローラ(DMAC)53、割り込み分岐回路54を備え、また、B機能ブロック60には、中央処理装置(CPU)61、ローカルメモリ62、ダイレクトメモリアクセスコントローラ(DMAC)63、割り込み分岐回路64を備え、A機能ブロック50とB機能ブロック60との間のデータ送受を、共有メモリ90を介して行う。
【0050】
そして、図1に示した第1の実施形態と同様に、A機能ブロック50のローカルメモリ52のデータを、B機能ブロック60のローカルメモリ62へ送信するために、ダイレクトメモリアクセスコントローラ(DMAC)53は、A機能ブロック50のローカルメモリ52のデータを、共有メモリ90へ直接アクセスして書き込む制御を行う。
【0051】
ダイレクトメモリアクセスコントローラ(DMAC)53は、ダイレクトメモリアクセス(DMA)によるデータ転送完了通知を、割込み分岐回路54を介して、自機能ブロックの中央処理装置(CPU)51に割り込み通知するとともに、送信先のB機能ブロック60の中央処理装置(CPU)61にも、該ダイレクトメモリアクセス(DMA)によるデータ転送完了を割り込み通知する。
【0052】
このように、共有メモリ90へのデータ書き込み完了を、送信先機能ブロックの中央処理装置(CPU)61に割込みによって通知することにより、中央処理装置(CPU)61の処理能力を圧迫せずに、共有メモリ90へのデータ書き込み完了が通知され、送信先機能ブロック60では迅速に共有メモリ90からのデータ読み出しを行うことができ、機能ブロック間通信に係る中央処理装置(CPU)61の負荷の低減と高速化とを同時に実現することができる。
【0053】
図7は本発明の第7の実施形態を示す。第7の実施形態は、第6の実施形態の構成に加え、複数の機能ブロックの中から1つの割込み通知先(図示の例では、C機能ブロック70)を指定するための割込み先指定レジスタ57を備え、割込み分岐回路54は、複数の機能ブロックへの割込み先の中から、割込み先指定レジスタ57によって指定された機能ブロックに割り込み通知を行う。
【0054】
1つの機能ブロックが複数の機能ブロックと通信を行わなければならない装置であっても、1つの機能ブロックの割込み先指定レジスタ57に送信先機能ブロックを設定し、該割込み先の機能ブロックに、共有メモリ90へのデータ書き込み完了を割り込み通知し、該割込み通知を受けた機能ブロックが共有メモリ90からデータを読み出すことにより、1対1の機能ブロック間通信の手順と同様の手順の延長として1対nの機能ブロック間通信を処理することができ、中央処理装置(CPU)負荷の低減と、通信の高速化を同時に実現することができる。
【0055】
図8は本発明の第8の実施形態を示す。第8の実施形態は、第6の実施形態の構成に加え、同時に割り込み通知する割り込み通知先を複数選択して設定するための割込み先指定レジスタ57を備えたもので、複数の機能ブロックの中から、割込み先指定レジスタ57によって指定された複数の送信先機能ブロック(図示の例では、B機能ブロック60とD機能ブロック80)に割込み通知を行うことで、共有メモリ90に書き込んだ同一のデータを、複数の機能ブロックに同報送信することができる。
【0056】
割込み先指定レジスタ57に複数の機能ブロックの割り込み通知先を設定し、共有メモリ90へのデータの書き込み完了を、複数の機能ブロックに割り込み通知することにより、1つの機能ブロックから同一のデータを複数の機能ブロックに同報送信する場合に、送信元の機能ブロックは、共有メモリ90への書き込み処理を1回のみとすることができ、中央処理装置(CPU)負荷を抑え、かつ高速な機能ブロック間通信を実現することができる。
【0057】
【実施例】
図9は前述の本発明による第2の実施形態の実施例を示す。同図に示すように、A系装置10とB系装置20とから成る二重化装置において、A系装置10はHDLC回線(HDLC−A)、B系装置20はHDLC回線(HDLC−B)を収容し、また、両系の装置10,20は、LAN回線(LAN)を介して上位装置40と接続され、各HDLC回線(HDLC−A,HDLC−B)から受信したデータを重複処理し、両系の何れか一方の片系の装置からLAN回線(LAN)を介して上位装置40にデータを送信する。
【0058】
図に示すように、B系装置20に収容されたHDLC回線(HDLC−B)に断線等の故障が生じ、また,A系装置10とLAN回線(LAN)との接続点にも断線等の伝送障害が生じている場合に、A系装置10に収容されたHDLC回線(HDLC−A)から受信したデータを、A系装置10から共有メモリ30を経由してB系装置20に転送し、B系装置20からLAN回線(LAN)を介して上位装置40に送信する。
【0059】
ここで、A系装置10は、ダイレクトメモリアクセス(DMA)13を使用して共有メモリ30への送信データの書き込みを完了すると、ダイレクトメモリアクセス(DMA)完了割込みを、割込み分岐回路14を通してB系装置20に通知し、該割込み通知を受けたB系装置20は、直ちにダイレクトメモリアクセスコントローラ(DMAC)23を使用して、共有メモリ30からデータをローカルメモリ22に読み出す。
【0060】
B系装置20において、ダイレクトメモリアクセスコントローラ(DMAC)23により共有メモリ30からのデータ読み出しを完了すると、該読み出し完了を、割込み分岐回路24を通してA系装置10に割込み通知する。このため、A系装置10は共有メモリ30が再び使用可能になるタイミングを即座に検知することができる。
【0061】
図10は本発明による第8の実施形態の実施例を示す。この実施例は、A機能ブロック50、B機能ブロック60、C機能ブロック70、D機能ブロック80の4つの機能ブロックから成る装置において、A機能ブロック50のHDLC回線(HDLC−A)から受信したデータが同報データであった場合に、該受信データを、B機能ブロック60のHDLC回線(HDLC−B)、C機能ブロック70のHDLC回線(HDLC−C)及びD機能ブロック80のHDLC回線(HDLC−D)から送信する動作例を示している。
【0062】
ここで、A機能ブロック50は共有メモリ90に、ダイレクトメモリアクセスコントローラ(DMAC)53により送信データを書き込むが、そのダイレクトメモリアクセス(DMA)完了割込み通知先として、割込み先指定レジスタ57に、B機能ブロック60、C機能ブロック70及びD機能ブロック80を設定しておくことにより、割込み分岐回路54を通して、該指定された機能ブロックに割込み通知される。
【0063】
B機能ブロック60、C機能ブロック70及びD機能ブロック80では、各機能ブロックのダイレクトメモリアクセスコントローラ(DMAC)63,73,83を使用して、共有メモリ90から各ローカルメモリ62,72,82にデータを読み出し、読み出したデータをそれぞれのHDLC回線(HDLC−B),(HDLC−C),(HDLC−D)から送出する。
【0064】
【発明の効果】
以上説明したように、本発明によれば、送信側で行った共有メモリへのデータ書き込みの完了を、受信側に割込みによって通知するために、受信側では迅速に共有メモリからのデータ読み出しを行うことができ、中央処理装置に処理負担を懸けることなく、共有メモリを介したデータ転送を高速におこなうことができる。
【0065】
また、受信側で行った共有メモリからのデータ読み出しの完了を、送信側に割込みによって通知するために、送信側では即時に共有メモリ上へのデータ上書きが可能となるタイミングを、中央処理装置に負荷を懸けずに認識することができる。このため、系間通信又は機能ブロック間通信に係る中央処理装置負荷の低減と通信の高速化とを同時に図ることができる。
【0066】
また、本発明によれば、系間又は機能ブロック間通信のデータを受信側において処理完了したタイミングを、送信側に割り込み通知することにより、系間又は機能ブロック間における厳密なデータ送受同期を、中央処理装置に大きな負荷を懸けることなく実現することができる。
【0067】
また、本発明によれば、共有メモリ上における複数の記憶エリアのアドレスを通信相手先に通知する手段を備えることにより、共有メモリをダイナミックに系間又は機能ブロック間通信で使用することができ、大量のデータの系間又は機能ブロック間通信を柔軟に実施することができる。
【0068】
また、本発明によれば、系間又は機能ブロック間通信の受信側の処理結果や通信状態を、受信側のデータ読み出しの完了通知とともに送信側に通知することにより、系間又は機能ブロック間通信におけるビジー制御やデータ化け認識などの通信異常に対する、送信側及び受信側の間で高度な連携を保った通信制御を、中央処理装置に大きな負担を懸けることなく実現することができる。
【0069】
また、本発明によれば、共有メモリへの転送データの書き込み完了の通知の通知先を指定し、該指定された機能ブロックに対して割り込み通知する手段を備えたことにより、1つの機能ブロックが、複数の機能ブロックのと通信を行わなければならない装置においても、1対1の機能ブロック間通信の手順と同様の手順の延長として1対nの機能ブロック間通信を処理することができ、中央処理装置の負荷の低減と通信の高速化とを同時に実現することができる。
【0070】
また、本発明によれば、共有メモリへの転送データの書き込み完了の通知の通知先を複数設定して、複数の機能ブロックに割り込み通知する手段を備えることにより、1つの機能ブロックが同一データを複数の機能ブロックに同報する場合に、共有メモリへ1回のみ書き込んだ送信元データを用いて同報送信することができ、中央処理装置に大きな負荷を懸けることなく高速な同報通信を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示す図である。
【図2】本発明の第2の実施形態を示す図である。
【図3】本発明の第3の実施形態を示す図である。
【図4】本発明の第4の実施形態を示す図である。
【図5】本発明の第5の実施形態を示す図である。
【図6】本発明の第6の実施形態を示す図である。
【図7】本発明の第7の実施形態を示す図である。
【図8】本発明の第8の実施形態を示す図である。
【図9】本発明による第2の実施形態の実施例を示す図である。
【図10】本発明による第8の実施形態の実施例を示す図である。
【符号の説明】
10 A系装置
20 B系装置
11,21 中央処理装置
12,22 ローカルメモリ
13 ダイレクトメモリアクセスコントローラ
14 割り込み分岐回路
30 共有メモリ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication system for performing data transfer via a shared memory, and in particular, uses a direct memory access controller (DMAC) to perform communication between systems of a duplex device or communication between functional blocks of a device including a plurality of functional blocks. And a communication system performed through a shared memory.
[0002]
The duplex configuration is a configuration generally applied to system devices that require high reliability. The two system devices that compose the system complement each other with input information, and the processing result of one system device Are exchanged by inter-system communication so that both can be handled by both systems.
[0003]
Devices that are configured by dividing the device into multiple functional blocks are also commonly used for systems that also require high reliability due to partial degeneration operation in the event of a failure or partial substitution operation in combination with a redundant configuration. In such a configuration, it is necessary to provide a configuration for mutually exchanging information such as the processing result of each functional block by communication between the functional blocks.
[0004]
However, in order to respond to recent demands for high-speed information processing devices and to complicate and increase the amount of data information to be handled, extremely high-speed and high-reliability communication between systems of devices or communication between functional blocks is required. It is now required to perform information transfer, and instead of communication using a transmission line according to a conventional transmission procedure such as HDLC, a shared memory is arranged between systems or between functional blocks of a device and passed through the shared memory. In many cases, a large amount of information is exchanged at high speed. The present invention relates to a communication system using a shared memory and a direct memory access controller (DMAC) in an apparatus for performing communication between systems or between functional blocks.
[0005]
[Prior art]
In the conventional communication between systems using a shared memory, a central processing unit (CPU) of one system writes data in a local memory of the system to the shared memory, and a partner system scans the shared memory at regular intervals. The update of the shared memory is monitored, and the data newly written to the shared memory is read out by the central processing unit (CPU) of the partner system to the local memory of the system to transfer data between systems.
[0006]
Further, in the inter-system communication, before the data of the shared memory is read out by the central processing unit (CPU) of the other system, the other system transmits the inter-system data on the shared memory so as not to overwrite the shared memory. It is necessary to perform processing for confirming that the data has been read. Further, when only one system processes data, it may be necessary to confirm that the other system has read the data from the shared memory in order to guarantee the data before discarding the data in the own system. is there.
[0007]
Conventionally, the confirmation process of reading data on the shared memory has been omitted, and instead of the confirmation process, a countermeasure has been taken such as waiting for a sufficient time to elapse for reading by another system. Alternatively, the other system writes a read completion flag to the shared memory when reading data in the shared memory, and scans the writing of the flag by the transmitting side system while waiting for confirmation.
[0008]
In addition, in inter-system communication, in order to synchronize data transmission / reception, not only the reading of inter-system data itself by another system but also strict confirmation of, for example, the timing of the line transmission of the data immediately thereafter, etc. May not be. In such a case, conventionally, the writing timing of the data transmission completion flag to be written to the shared memory by the other system has been continuously confirmed while scanning while waiting.
[0009]
Also, when there is a large amount of inter-system communication data, the next inter-system data must be transmitted instantaneously at the peak of the communication data amount, before the other system side finishes reading all of the data from the shared memory. There is. To cope with such a case, it is necessary to provide a plurality of storage areas in the shared memory, and the writing side needs to notify the reading side which of the empty storage areas has written the data. Conventionally, this has been dealt with by discarding or waiting for transmission as an overflow at the peak, or by always using a plurality of storage areas of the shared memory in a predetermined order.
[0010]
Also, in inter-system communication, the receiving system notifies the transmitting system of a busy state due to temporary exhaustion of the reception buffer, or notifies an abnormality of the received inter-system data or a retransmission request. May be necessary. Conventionally, in such a case, the notification information written in the shared memory by the receiving system is scanned and confirmed by the transmitting system.
[0011]
Also, in communication between functional blocks in an apparatus configured with a plurality of functional blocks, there are requests for data transfer confirmation and the like in the same manner as in the above-described inter-system communication. As in the case of inter-system communication, a countermeasure was taken by scanning and confirming the writing of a flag to the shared memory.
[0012]
In communication between functional blocks, a data transmission destination of one functional block may be a plurality of functional blocks. In this case, conventionally, a storage area for each transmission destination is provided on the shared memory, and one-to-one communication processing is performed using the storage area for each transmission destination by the number of functional blocks of the transmission destination. By doing it.
[0013]
Further, in communication between functional blocks, it is sometimes necessary to distribute the same data from one functional block to a plurality of functional blocks. Conventionally, this has been dealt with by one-to-one communication, so that the same data has to be processed by the number of distribution destination function blocks.
[0014]
[Problems to be solved by the invention]
In a configuration in which the central processing unit (CPU) of each system constantly monitors writing and reading of intersystem data to and from the shared memory by scanning as in the conventional intersystem communication, the central processing unit (CPU) of each system is The time required to perform the original processing of the apparatus is reduced, which causes deterioration of the processing performance.
[0015]
In addition, in order to quickly recognize the completion of writing or reading of data between systems to the shared memory, scanning of writing or reading of the shared memory must be performed at a high speed. There is a problem that the processing capacity of the central processing unit (CPU) is squeezed.
[0016]
The present invention provides a communication system for transferring data through a shared memory, which can quickly detect writing or reading of data between systems to a shared memory without squeezing the processing capacity of a central processing unit (CPU). The purpose is to do.
[0017]
Further, according to the present invention, it is possible to promptly confirm information notification from another system device without squeezing the processing capacity of the central processing unit (CPU). Communication between systems can be performed without any restrictions on the order of writing and reading to and from the shared memory, and data can be exchanged dynamically between systems. It is an object of the present invention to provide a communication system for transferring data via a shared memory, which can promptly notify a transmitting side of a situation or the like.
[0018]
Also, the present invention provides a method for communicating between functional blocks of a device including a plurality of functional blocks, as well as the above-described inter-system communication, at high speed and without fail, and without impairing the processing capability of a central processing unit (CPU). Data can be transmitted and received between the plurality of functional blocks, or when performing broadcast transmission, it is possible to transmit data at high speed without reducing the processing capacity of the central processing unit (CPU). It is an object of the present invention to provide a communication system that enables data transfer via a shared memory.
[0019]
[Means for Solving the Problems]
The communication system for performing data transfer via a shared memory according to the present invention includes: (1) a communication system for performing data transfer between systems of a duplexer via a shared memory commonly used by devices of each system; A direct memory access controller for each system that controls data transfer between the local memory and the shared memory of the system device, and the completion of the data transfer from the local memory to the shared memory by the direct memory access controller. An interrupt branch circuit for notifying an interrupt to the other central processing unit; and a means for notifying the other central processing unit which is the transmission destination of the completion of the writing of the data in the local memory to the shared memory. is there.
[0020]
(2) An interrupt branching circuit for notifying the completion of the data transfer from the shared memory to the local memory by the direct memory access controller to the central processing units of the own system and the other system is provided, and the local memory of the data of the shared memory is provided. Means for notifying the other central processing unit which is the transmission source of the completion of the reading to the CPU.
[0021]
(3) An interrupt notification for notifying the completion of the data transfer from the shared memory to the local memory by the direct memory access controller to the other central processing unit directly at an arbitrary timing by a command from the central processing unit. A circuit is provided, and a means is provided for notifying the completion of reading of the data in the shared memory to the local memory to the central processing unit of the other system as a transmission source at an arbitrary timing.
[0022]
(4) Means for setting the transfer data write address on the shared memory in the information register of the transmission side system in the apparatus of each system having an information register from which setting information is read by the central processing unit of the other system. And means for reading the address on the shared memory set in the information register of the transmitting system on the receiving side and reading out the transfer data from the address, and using a plurality of storage areas on the shared memory. And means for performing intersystem communication.
[0023]
(5) The information register further includes means for setting information indicating a data processing result or a device state in the receiving system after reading the data in the shared memory, wherein the data processing result or the device in the receiving system is provided. It is provided with means for notifying the state to the central processing unit of the transmission side system.
[0024]
(6) In a communication system in which data transfer between functional blocks in an apparatus including a plurality of functional blocks is performed via a shared memory commonly used among the functional blocks, a local memory and a shared memory of each functional block are used. And a direct memory access controller for each functional block that controls data transfer between the local memory and the shared memory by the direct memory access controller. An interrupt branch circuit for notifying an interrupt; and a means for notifying the central processing unit of another functional block as a transmission destination of the completion of writing of the data in the local memory to the shared memory.
[0025]
(7) An interrupt branch circuit for notifying the completion of the data transfer from the shared memory to the local memory by the direct memory access controller to the central processing unit of the own and other functional blocks is provided. It is provided with a means for notifying the completion of reading to the memory to the central processing unit of another function block that is the transmission source.
[0026]
(8) The completion of data transfer from the shared memory to the local memory by the direct memory access controller is directly notified at an arbitrary timing by a command from the central processing unit to the central processing unit of another functional block by interruption. An interrupt notification circuit is provided, and means for notifying the completion of reading of the data in the shared memory to the local memory to the other function block that is the transmission source at an arbitrary timing is provided.
[0027]
(9) In each function block, an information register from which setting information is read by the central processing unit of another function block is provided, and a transfer data write address on the shared memory is set in the information register of the function block on the transmission side. And a means for reading the address on the shared memory set in the information register of the function block on the transmitting side by the function block on the receiving side, and reading out the transfer data from the address. It is provided with means for performing communication between functional blocks using the area.
[0028]
(10) The information register includes means for setting a data processing result or a device status in the receiving-side functional block after reading the data in the shared memory, wherein the data processing result in the receiving-side functional block is provided. Alternatively, there is provided a means for notifying the central processing unit of the function block on the transmission side of the apparatus state.
[0029]
(11) An interrupt destination specifying register for arbitrarily specifying an interrupt notification destination to be notified by the interrupt branch circuit, wherein the interrupt branch circuit is specified by the interrupt destination specifying register from among a plurality of functional blocks. A means for notifying an interrupt to a functional block and communicating between arbitrary functional blocks among a plurality of functional blocks is provided.
[0030]
(12) The interrupt destination specifying register has means for setting a plurality of interrupt notification destinations to be notified by the interrupt branch circuit, and the interrupt branch circuit includes a plurality of interrupt notification destinations set in the interrupt destination specifying register. It is provided with a means for notifying an interrupt to the destination and a means for broadcasting one transfer data written from the function block on the transmission side to the shared memory to a plurality of function blocks.
[0031]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows a first embodiment of the present invention. FIG. 1 shows an embodiment of inter-system communication in a duplex device including an
[0032]
Now, in order to transmit the data in the
[0033]
The direct memory access controller (DMAC) 13 notifies the completion of data transfer by direct memory access (DMA) to the central processing unit (CPU) 11 of the own system via the interrupt
[0034]
In this way, by notifying the completion of data writing to the shared
[0035]
FIG. 2 shows a second embodiment of the present invention. In the second embodiment, in addition to the configuration of the first embodiment, a direct memory access controller (DMAC) 23 that controls the transfer of data in the shared
[0036]
Also, the interrupt
[0037]
Therefore, the transmitting
[0038]
FIG. 3 shows a third embodiment of the present invention. In the third embodiment, similarly to the second embodiment, in addition to the configuration of the first embodiment, control is performed to transfer data in the shared
[0039]
The B-
[0040]
The central processing unit (CPU) 21 of the B-
[0041]
FIG. 4 shows a fourth embodiment of the present invention. The fourth embodiment includes an
[0042]
In the illustrated embodiment, a plurality of
[0043]
The information set in the information register 16 is read by the central processing unit (CPU) 21 of the
[0044]
By setting storage area information of the shared
[0045]
FIG. 5 shows a fifth embodiment of the present invention. In the fifth embodiment, in addition to the configuration of the third or fourth embodiment, information set in the B-
[0046]
The information register 26 of the B-
[0047]
The
[0048]
FIG. 6 shows a sixth embodiment of the present invention. In the sixth embodiment, the configuration of the first, second, third, fourth, or fifth embodiment applied to an apparatus having a duplex configuration including an A-system device and a B-system device is described by using the A function blocks 50 and B The present invention is applied to data communication between functional blocks of an apparatus including a plurality of functional blocks of a
[0049]
As shown in FIG. 6, the
[0050]
As in the first embodiment shown in FIG. 1, a direct memory access controller (DMAC) 53 transmits data in the
[0051]
The direct memory access controller (DMAC) 53 notifies the data transfer completion notification by the direct memory access (DMA) to the central processing unit (CPU) 51 of the own function block via the interrupt
[0052]
In this way, by notifying the completion of data writing to the shared
[0053]
FIG. 7 shows a seventh embodiment of the present invention. In the seventh embodiment, in addition to the configuration of the sixth embodiment, an interrupt
[0054]
Even in a device in which one functional block needs to communicate with a plurality of functional blocks, a destination functional block is set in the interrupt
[0055]
FIG. 8 shows an eighth embodiment of the present invention. The eighth embodiment includes, in addition to the configuration of the sixth embodiment, an interrupt
[0056]
The interrupt destinations of a plurality of functional blocks are set in the interrupt
[0057]
【Example】
FIG. 9 shows an example of the second embodiment according to the present invention described above. As shown in the figure, in a duplex device including an
[0058]
As shown in the figure, a failure such as a disconnection occurs in the HDLC line (HDLC-B) accommodated in the B-
[0059]
When the
[0060]
When the reading of data from the shared
[0061]
FIG. 10 shows an example of the eighth embodiment according to the present invention. In this embodiment, the data received from the HDLC line (HDLC-A) of the
[0062]
Here, the
[0063]
The
[0064]
【The invention's effect】
As described above, according to the present invention, the completion of data writing to the shared memory performed on the transmission side is notified to the reception side by an interruption, so that the reception side quickly reads data from the shared memory. Therefore, data transfer via the shared memory can be performed at high speed without imposing a processing load on the central processing unit.
[0065]
In addition, in order to notify the transmission side of the completion of the data read from the shared memory performed by the reception side by an interrupt to the transmission side, the transmission side immediately notifies the central processing unit when the data can be overwritten on the shared memory. It can be recognized without burden. For this reason, it is possible to simultaneously reduce the load on the central processing unit related to inter-system communication or inter-functional block communication and speed up communication.
[0066]
According to the present invention, strict data transmission / reception synchronization between systems or between functional blocks is performed by notifying the transmission side of the timing at which processing of communication data between systems or between functional blocks is completed on the receiving side by notifying the transmitting side of the completion. This can be realized without imposing a large load on the central processing unit.
[0067]
Further, according to the present invention, by providing means for notifying the address of a plurality of storage areas on the shared memory to the communication partner, the shared memory can be dynamically used for communication between systems or between functional blocks, Communication between a large amount of data between systems or between functional blocks can be performed flexibly.
[0068]
Further, according to the present invention, by notifying the transmission side of the processing result and communication state of the receiving side of inter-system or inter-functional block communication together with the completion of data reading of the receiving side, the inter-system or inter-functional block communication is performed. , Communication control in which communication between the transmitting side and the receiving side is maintained at a high level with respect to communication abnormalities such as busy control and data corruption recognition can be realized without imposing a heavy load on the central processing unit.
[0069]
Further, according to the present invention, by designating a notification destination of a notification of completion of writing of transfer data to the shared memory and providing a means for notifying an interruption to the specified function block, one function block is provided. In a device that must communicate with a plurality of functional blocks, the communication between one and n functional blocks can be processed as an extension of the same procedure as the communication between one and one functional blocks. It is possible to simultaneously reduce the load on the processing device and increase the speed of communication.
[0070]
Further, according to the present invention, a plurality of notification destinations of notification of completion of writing of transfer data to the shared memory are set, and a means for interrupting a plurality of functional blocks is provided, so that one functional block transmits the same data. When broadcasting to a plurality of functional blocks, broadcasting can be performed using the source data written only once in the shared memory, and high-speed broadcasting can be performed without imposing a large load on the central processing unit. be able to.
[Brief description of the drawings]
FIG. 1 is a diagram showing a first embodiment of the present invention.
FIG. 2 is a diagram showing a second embodiment of the present invention.
FIG. 3 is a diagram showing a third embodiment of the present invention.
FIG. 4 is a diagram showing a fourth embodiment of the present invention.
FIG. 5 is a diagram showing a fifth embodiment of the present invention.
FIG. 6 is a diagram showing a sixth embodiment of the present invention.
FIG. 7 is a diagram showing a seventh embodiment of the present invention.
FIG. 8 is a diagram showing an eighth embodiment of the present invention.
FIG. 9 is a diagram showing an example of the second embodiment according to the present invention.
FIG. 10 is a diagram showing an example of the eighth embodiment according to the present invention.
[Explanation of symbols]
10 A system equipment
20 B system equipment
11,21 Central processing unit
12,22 local memory
13 Direct memory access controller
14 Interrupt branch circuit
30 shared memory
Claims (12)
各系の装置のローカルメモリと共有メモリとの間のデータ転送を制御する各系毎のダイレクトメモリアクセスコントローラと、
該ダイレクトメモリアクセスコントローラによるローカルメモリから共有メモリへのデータ転送の完了を、自系及び他系の中央処理装置に割り込み通知する割込み分岐回路とを備え、
ローカルメモリのデータの共有メモリへの書き込み完了を、送信先である他系の中央処理装置に割込み通知する手段を備えたことを特徴とする共有メモリを介してデータ転送を行う通信システム。In a communication system in which data transfer between systems of a duplex device is performed via a shared memory commonly used by devices of each system,
A direct memory access controller for each system that controls data transfer between the local memory and the shared memory of the device of each system,
An interrupt branch circuit that notifies the completion of the data transfer from the local memory to the shared memory by the direct memory access controller to the own and other central processing units,
A communication system for performing data transfer via a shared memory, comprising: a means for notifying the completion of writing of data in the local memory to the shared memory to another central processing unit as a transmission destination.
共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他系の中央処理装置に割込み通知する手段を備えたことを特徴とする請求項1に記載の共有メモリを介してデータ転送を行う通信システム。Completion of the data transfer from the shared memory to the local memory by the direct memory access controller, an interrupt branch circuit that notifies the central processing unit of its own system and the other system of an interrupt,
2. The data transfer via the shared memory according to claim 1, further comprising means for notifying the other central processing unit which is the transmission source of the completion of reading of the data of the shared memory into the local memory. Communication system to perform.
共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他系の中央処理装置に、任意のタイミングで割込み通知する手段を備えたことを特徴とする請求項1に記載の共有メモリを介してデータ転送を行う通信システム。Completion of the data transfer from the shared memory to the local memory by the direct memory access controller, at an arbitrary timing according to a command from the central processing unit, an interrupt notification circuit that directly notifies the other central processing unit of an interrupt,
2. The shared memory according to claim 1, further comprising means for notifying, at an arbitrary timing, the completion of reading of the data of the shared memory to the local memory to the other central processing unit which is the transmission source. A communication system that performs data transfer via the Internet.
送信側の系の情報レジスタに、共有メモリ上の転送データ書き込みアドレスを設定する手段と、受信側の系で、送信側の系の情報レジスタに設定された共有メモリ上のアドレスを読み取って該アドレスから転送データを読み出す手段とを備え、
共有メモリ上の複数の記憶エリアを使用して系間通信を行う手段を備えたことを特徴とする請求項1、2又は3の何れかに記載の共有メモリを介してデータ転送を行う通信システム。In each system, an information register from which setting information is read by a central processing unit of another system is provided,
Means for setting a transfer data write address on the shared memory in the information register of the transmitting system, and reading and writing the address on the shared memory set in the information register of the transmitting system by the receiving system. Means for reading transfer data from the
4. A communication system for transferring data via a shared memory according to claim 1, further comprising means for performing inter-system communication using a plurality of storage areas on the shared memory. .
受信側の系におけるデータ処理結果又は装置状態を、送信側の系の中央処理装置に通知する手段を備えたことを特徴とする請求項4に記載の共有メモリを介してデータ転送を行う通信システム。The information register further includes a unit configured to set information indicating a data processing result or a device state in a receiving-side system after reading data from the shared memory,
5. A communication system for transferring data via a shared memory according to claim 4, further comprising means for notifying a data processing result or a device state in a receiving side system to a central processing unit in a transmitting side system. .
各機能ブロックのローカルメモリと共有メモリとの間のデータ転送を制御する各機能ブロック毎のダイレクトメモリアクセスコントローラと、
該ダイレクトメモリアクセスコントローラによるローカルメモリから共有メモリへのデータ転送の完了を、自及び他の機能ブロックの中央処理装置に割り込み通知する割込み分岐回路とを備え、
ローカルメモリのデータの共有メモリへの書き込み完了を、送信先である他の機能ブロックの中央処理装置に割込み通知する手段を備えたことを特徴とする共有メモリを介してデータ転送を行う通信システム。In a communication system in which data transfer between functional blocks in an apparatus including a plurality of functional blocks is performed through a shared memory commonly used between the functional blocks,
A direct memory access controller for each functional block that controls data transfer between the local memory of each functional block and the shared memory;
An interrupt branch circuit that notifies the completion of the data transfer from the local memory to the shared memory by the direct memory access controller to the central processing unit of its own and other functional blocks,
A communication system for performing data transfer via a shared memory, comprising: means for interrupting completion of writing of data in a local memory to the shared memory to a central processing unit of another function block as a transmission destination.
共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他の機能ブロックの中央処理装置に割込み通知する手段を備えたことを特徴とする請求項6に記載の共有メモリを介してデータ転送を行う通信システム。Completion of data transfer from the shared memory to the local memory by the direct memory access controller, an interrupt branch circuit that notifies the central processing unit of its own and other functional blocks an interrupt,
7. The system according to claim 6, further comprising means for notifying the completion of reading of the data of the shared memory to the local memory to the central processing unit of another function block which is the transmission source. A communication system that performs transfers.
共有メモリのデータのローカルメモリへの読み出し完了を、送信元である他の機能ブロックに、任意のタイミングで割込み通知する手段を備えたことを特徴とする請求項6に記載の共有メモリを介してデータ転送を行う通信システム。An interrupt notification circuit is provided for directly notifying the completion of data transfer from the shared memory to the local memory by the direct memory access controller to the central processing unit of another functional block at an arbitrary timing according to a command from the central processing unit. ,
7. The system according to claim 6, further comprising means for notifying, at an arbitrary timing, the completion of reading of the data of the shared memory to the local memory to the other function block, which is the transmission source, at an arbitrary timing. A communication system that performs data transfer.
送信側の機能ブロックの情報レジスタに、共有メモリ上の転送データ書き込みアドレスを設定する手段と、受信側の機能ブロックで、送信側の機能ブロックの情報レジスタに設定された共有メモリ上のアドレスを読み取って該アドレスから転送データを読み出す手段とを備え、
共有メモリ上の複数の記憶エリアを使用して機能ブロック間通信を行う手段を備えたことを特徴とする請求項6、7又は8の何れかに記載の共有メモリを介してデータ転送を行う通信システム。Each function block includes an information register from which setting information is read by a central processing unit of another function block,
Means for setting the transfer data write address on the shared memory in the information register of the function block on the transmission side, and reading the address on the shared memory set in the information register of the function block on the transmission side by the function block on the reception side. Means for reading the transfer data from the address,
9. Communication for performing data transfer via a shared memory according to claim 6, further comprising means for performing communication between functional blocks using a plurality of storage areas on the shared memory. system.
受信側の機能ブロックにおけるデータ処理結果又は装置状態を、送信側の機能ブロックの中央処理装置に通知する手段を備えたことを特徴とする請求項9に記載の共有メモリを介してデータ転送を行う通信システム。The information register includes a unit configured to set information indicating a data processing result or a device state in a functional block on a receiving side after reading data on a shared memory,
10. The data transfer via the shared memory according to claim 9, further comprising means for notifying a central processing unit of the function block on the transmission side of a data processing result or a device state in the function block on the reception side. Communications system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002228552A JP2004070642A (en) | 2002-08-06 | 2002-08-06 | Communication system for performing data transfer through shared memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002228552A JP2004070642A (en) | 2002-08-06 | 2002-08-06 | Communication system for performing data transfer through shared memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004070642A true JP2004070642A (en) | 2004-03-04 |
Family
ID=32015202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002228552A Pending JP2004070642A (en) | 2002-08-06 | 2002-08-06 | Communication system for performing data transfer through shared memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004070642A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008021040A (en) * | 2006-07-11 | 2008-01-31 | Canon Inc | Bus master circuit, bus control method and computer program |
JP2008158938A (en) * | 2006-12-26 | 2008-07-10 | Fujitsu Ltd | Data transfer system |
JP2009064340A (en) * | 2007-09-07 | 2009-03-26 | Murata Mach Ltd | Data transfer system |
WO2010073510A1 (en) * | 2008-12-26 | 2010-07-01 | 日本電気株式会社 | Information processor and memory control method therefor |
US7774529B2 (en) | 2007-07-03 | 2010-08-10 | Panasonic Corporation | Bus communication apparatus that uses shared memory |
US20110084875A1 (en) * | 2009-10-13 | 2011-04-14 | Seiko Epson Corporation | Execution method of position calculating circuit, position calculating circuit, operation control method of position calculating circuit, host device, and electronic apparatus |
US8886915B2 (en) | 2008-03-27 | 2014-11-11 | Samsung Electronics Co., Ltd. | Multiprocessor system having direct transfer function for program status information in multilink architecture |
US9286066B2 (en) | 2009-11-24 | 2016-03-15 | Nec Corporation | Processor, and method of loop count control by processor |
CN105824779A (en) * | 2016-03-16 | 2016-08-03 | 享拍科技(深圳)有限公司 | Data communication method and system used between double cores |
-
2002
- 2002-08-06 JP JP2002228552A patent/JP2004070642A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008021040A (en) * | 2006-07-11 | 2008-01-31 | Canon Inc | Bus master circuit, bus control method and computer program |
JP2008158938A (en) * | 2006-12-26 | 2008-07-10 | Fujitsu Ltd | Data transfer system |
US7774529B2 (en) | 2007-07-03 | 2010-08-10 | Panasonic Corporation | Bus communication apparatus that uses shared memory |
JP2009064340A (en) * | 2007-09-07 | 2009-03-26 | Murata Mach Ltd | Data transfer system |
US8886915B2 (en) | 2008-03-27 | 2014-11-11 | Samsung Electronics Co., Ltd. | Multiprocessor system having direct transfer function for program status information in multilink architecture |
WO2010073510A1 (en) * | 2008-12-26 | 2010-07-01 | 日本電気株式会社 | Information processor and memory control method therefor |
US20110084875A1 (en) * | 2009-10-13 | 2011-04-14 | Seiko Epson Corporation | Execution method of position calculating circuit, position calculating circuit, operation control method of position calculating circuit, host device, and electronic apparatus |
US8629804B2 (en) * | 2009-10-13 | 2014-01-14 | Seiko Epson Corporation | Execution method of position calculating circuit, position calculating circuit, operation control method of position calculating circuit, host device, and electronic apparatus |
US20140097983A1 (en) * | 2009-10-13 | 2014-04-10 | Seiko Epson Corporation | Execution method of position calculating circuit, position calculating circuit, operation control method of position calculating circuit, host device, and electronic apparatus |
US9286066B2 (en) | 2009-11-24 | 2016-03-15 | Nec Corporation | Processor, and method of loop count control by processor |
CN105824779A (en) * | 2016-03-16 | 2016-08-03 | 享拍科技(深圳)有限公司 | Data communication method and system used between double cores |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920001552B1 (en) | Local area network system with a multi-computer system coupled method and method for controlling the same | |
US9219695B2 (en) | Switch, information processing apparatus, and communication control method | |
JP2004070642A (en) | Communication system for performing data transfer through shared memory | |
JPH04346151A (en) | Data processor | |
JP2006172142A (en) | Multiprocessor system | |
WO2007096712A1 (en) | A method and device for exchanging data using a virtual fifo data structure | |
CN113169857A (en) | Network device, network system, network method, and network program | |
US20060129714A1 (en) | Method and apparatus for transferring data | |
US20020089940A1 (en) | Duplexing apparatus and method in large scale system | |
US20030041176A1 (en) | Data transfer algorithm that does not require high latency read operations | |
JP2001268092A (en) | Redundant communication card | |
JP3149047B2 (en) | Redundant data processor | |
JP2004062589A (en) | Information processor | |
JP4220430B2 (en) | Redundant network control system | |
US6532231B1 (en) | Arrangement for changing the destination of single link, single destination data messages | |
JP3842790B2 (en) | Wireless transmission device | |
JPS60196866A (en) | Data processor | |
JP2573790B2 (en) | Transfer control device | |
JP2000105753A (en) | Two-way data transfer method | |
JP2513128B2 (en) | Information processing system | |
JPS5936456A (en) | Communication controller | |
JPS62181551A (en) | Gate way device | |
JP2007334528A (en) | System switching system and method, and host device for use therein | |
CN117413491A (en) | Communication control system, control device, communication control method, and communication control program | |
JPH04362835A (en) | Data transfer method |