JP2004070642A - Communication system for performing data transfer through shared memory - Google Patents

Communication system for performing data transfer through shared memory Download PDF

Info

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
Application number
JP2002228552A
Other languages
Japanese (ja)
Inventor
Atsushi Suzuki
鈴木 敦
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.)
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Telecom Networks 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 Fujitsu Telecom Networks Ltd filed Critical Fujitsu Telecom Networks Ltd
Priority to JP2002228552A priority Critical patent/JP2004070642A/en
Publication of JP2004070642A publication Critical patent/JP2004070642A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication system for executing data transfer through a shared memory capable of quickening inter-system or inter-block communication by writing or reading the inter-system data for the shared memory, and quickly detecting information notice or the like from the other system device without imposing any labor on a central processing unit. <P>SOLUTION: In transmitting the data of a local memory 12 of an A system device 10 to a local memory 22 of a B system device 20, a direct memory access controller(DMAC) 13 directly accesses and transfers the data of the local memory 12 to a shared memory 30. The DMAC 13 notices the data transfer completion by interruption to both a central processing unit(CPU) 11 of its own system and a CPU 21 of the other B system device 20 through an interrupting branch circuit 14. The data transfer completion of the shared memory 30 is noticed to the CPU of the other system by interruption so that it is possible to quickly carry out information notice without suppressing the processing capability of the CPU 21, and to quicken inter-system communication. <P>COPYRIGHT: (C)2004,JPO

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 A-system device 10 and a B-system device 20. A shared memory 30 accessed from both systems is provided between the A-system device 10 and the B-system device 20.
[0032]
Now, in order to transmit the data in the local memory 12 of the A-system device 10 to the local memory 22 of the B-system device 20, the direct memory access controller (DMAC) 13 converts the data in the local memory 12 of the A-system device 10 into Control to directly access and write to the shared memory 30 is performed.
[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 branch circuit 14. Similarly, the interrupt branch circuit 14 also notifies the central processing unit (CPU) 21 of the other system B apparatus 20 of the completion of the data transfer by the direct memory access (DMA).
[0034]
In this way, by notifying the completion of data writing to the shared memory 30 to the other central processing unit (CPU) 21 as the transmission destination by interruption, the processing capacity of the central processing unit (CPU) 21 is not suppressed. Is notified of the completion of data writing to the shared memory 30, the other system device 20 as the transmission destination can quickly read data from the shared memory 30, and the central processing unit (CPU) related to inter-system communication 21 can be simultaneously realized and the speed of inter-system communication can be increased.
[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 memory 30 to the local memory 22 of the destination B-system device 20. And the completion of data reading by the direct memory access controller (DMAC) 23 is notified to the central processing unit (CPU) 21 of the own system via the interrupt branch circuit 24.
[0036]
Also, the interrupt branch circuit 24 branches the data read completion notification from the direct memory access controller (DMAC) 23 and sends it to the central processing unit (CPU) 11 of the A-system device 10 which is another system. Therefore, the completion of reading of the data in the shared memory 30 can be immediately notified to the central processing unit (CPU) 11 of the A-system device 10 as the transmission source by interruption.
[0037]
Therefore, the transmitting A-system device 10 can immediately detect the reading of the inter-system data on the receiving side, and determines the timing at which the data can be overwritten on the shared memory 30 by the central processing unit (CPU) 11. Thus, it is possible to quickly recognize the data without burdening the system, and it is possible to simultaneously reduce the load on the central processing unit (CPU) related to the inter-system communication and increase the speed of the inter-system communication.
[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 memory 30 to the local memory 22 of the B-system device 20 of the transmission destination. A direct memory access controller (DMAC) 23 is provided, and this direct memory access controller (DMAC) 23 notifies the central processing unit (CPU) 21 of its own system of the completion of the data reading.
[0039]
The B-system device 20 at the transmission destination includes an interrupt notification circuit 25 that directly generates an interrupt notification signal to the central processing unit (CPU) 11 of another system (A system). When the central processing unit (CPU) 21 of the B-system device 20 receives the interrupt notification of the completion of the data reading from the direct memory access controller (DMAC) 23, the CPU A of the transmission source A system via the interrupt notification circuit 25. The CPU 11 notifies the central processing unit (CPU) 11 of the completion of reading data from the shared memory 30 at an arbitrary timing.
[0040]
The central processing unit (CPU) 21 of the B-system device 20 on the receiving side sends an interrupt notification of the completion of data reading from the shared memory 30 at the timing when the preparation for receiving the next data is completed, and the A-system device 10 on the transmitting side. Can be notified to the central processing unit (CPU) 11, and strict synchronization of data transmission and reception in both systems can be realized without imposing a load on the central processing unit (CPU).
[0041]
FIG. 4 shows a fourth embodiment of the present invention. The fourth embodiment includes an information register 16 for storing setting information and additional information in communication of intersystem data in addition to the configuration of the first, second, or third embodiment described above. The stored setting information or additional information is transmitted to a partner system when data communication is performed between systems.
[0042]
In the illustrated embodiment, a plurality of storage areas 31 and 32 are provided in the shared memory 30, and when writing data from the local memory 12 of the source A-system device 10 to the storage area 32 of the shared memory 30, the direct memory access controller The (DMAC) 13 sets information specifying the storage area 32 of the shared memory 30 in the information register 16.
[0043]
The information set in the information register 16 is read by the central processing unit (CPU) 21 of the other device 20 on the receiving side, and in the other device 20 on the receiving side, the information is stored in the shared memory 30 set in the information register 16. The data is read from the storage area 32 of the shared memory 30 based on the address of the storage area 32 of.
[0044]
By setting storage area information of the shared memory 30 in the information register 16 read by another system and performing inter-system data communication, performing inter-system data communication using a plurality of storage areas on the shared memory 30 Thus, a large amount of inter-system data can be flexibly communicated by using a plurality of areas of the shared memory 30 dynamically.
[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-system device 20 on the receiving side is transmitted by the central processing unit (CPU) 11 of the A-system device 10 on the other side. It has an information register 26 that can be read.
[0046]
The information register 26 of the B-system device 20 on the receiving side stores data abnormalities such as garbled data detected based on the processing result of the inter-system communication data in the B-system device 20 on the receiving side, and the temporary reception buffer in the local memory 22. Additional information relating to the state of inter-system communication such as occurrence of busy due to depletion is set after the data is read from the shared memory 30, and the processing result and the apparatus state in the B-system apparatus 20 on the receiving side are transmitted to the A-system apparatus 10 as the transmission source. Notify
[0047]
The source A-system device 10 can recognize the processing result on the receiving side of the inter-system communication and the inter-system communication state from the setting information of the information register 26 together with the data reading completion notification of the receiving-side system. Inter-system communication with high coordination with the receiving side, such as busy control in inter-communication and recognition of garbled data, can be performed without burdening the central processing unit.
[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 functional block 60.
[0049]
As shown in FIG. 6, the A function block 50 includes a central processing unit (CPU) 51, a local memory 52, a direct memory access controller (DMAC) 53, and an interrupt branch circuit 54. , A central processing unit (CPU) 61, a local memory 62, a direct memory access controller (DMAC) 63, and an interrupt branch circuit 64. The shared memory 90 transmits and receives data between the A function block 50 and the B function block 60. Do through.
[0050]
As in the first embodiment shown in FIG. 1, a direct memory access controller (DMAC) 53 transmits data in the local memory 52 of the A function block 50 to the local memory 62 of the B function block 60. Controls direct access to and writing of data in the local memory 52 of the A function block 50 to the shared memory 90.
[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 branch circuit 54 and transmits the notification to the transmission destination. Also, the central processing unit (CPU) 61 of the B function block 60 is notified of interruption of data transfer completion by the direct memory access (DMA).
[0052]
In this way, by notifying the completion of data writing to the shared memory 90 to the central processing unit (CPU) 61 of the destination function block by the interruption, the processing capacity of the central processing unit (CPU) 61 is not reduced. The completion of data writing to the shared memory 90 is notified, and the destination function block 60 can quickly read data from the shared memory 90, thereby reducing the load on the central processing unit (CPU) 61 related to communication between the function blocks. And high speed can be realized at the same time.
[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 destination specifying register 57 for specifying one interrupt notification destination (in the illustrated example, the C function block 70) from a plurality of functional blocks. The interrupt branch circuit 54 gives an interrupt notification to the functional block specified by the interrupt destination specifying register 57 from among the interrupt destinations to a plurality of functional blocks.
[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 destination specifying register 57 of one functional block, and shared by the interrupt destination functional block. The completion of data writing to the memory 90 is notified by an interrupt, and the functional block that has received the interrupt reads the data from the shared memory 90, thereby extending the procedure similar to the procedure of the one-to-one inter-functional block communication. The communication between n functional blocks can be processed, so that the load on the central processing unit (CPU) can be reduced and the communication can be speeded up at the same time.
[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 destination designation register 57 for selecting and setting a plurality of interrupt notification destinations to be simultaneously notified of an interrupt. Then, by sending an interrupt notification to a plurality of destination function blocks (in the illustrated example, the B function block 60 and the D function block 80) designated by the interrupt destination designation register 57, the same data written in the shared memory 90 is transmitted. Can be broadcast to a plurality of functional blocks.
[0056]
The interrupt destinations of a plurality of functional blocks are set in the interrupt destination designation register 57, and the completion of writing of data to the shared memory 90 is notified to the plurality of functional blocks by an interrupt. When the broadcast is sent to the function block (1), the function block of the transmission source can perform the write processing to the shared memory 90 only once, thereby reducing the load on the central processing unit (CPU) and increasing the speed of the function block. Inter-communication can be realized.
[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 A-system device 10 and a B-system device 20, the A-system device 10 accommodates an HDLC line (HDLC-A), and the B-system device 20 accommodates an HDLC line (HDLC-B). In addition, the devices 10 and 20 of both systems are connected to the upper-level device 40 via a LAN line (LAN), and duplicately process data received from each HDLC line (HDLC-A, HDLC-B). Data is transmitted from one of the systems to the host apparatus 40 via a LAN line (LAN).
[0058]
As shown in the figure, a failure such as a disconnection occurs in the HDLC line (HDLC-B) accommodated in the B-system device 20, and the connection point between the A-system device 10 and the LAN line (LAN) also has a disconnection or the like. When a transmission failure has occurred, data received from the HDLC line (HDLC-A) accommodated in the A-system device 10 is transferred from the A-system device 10 to the B-system device 20 via the shared memory 30; It is transmitted from the B-system device 20 to the host device 40 via the LAN line (LAN).
[0059]
When the A-system device 10 completes writing the transmission data to the shared memory 30 using the direct memory access (DMA) 13, the A-system device 10 issues a direct memory access (DMA) completion interrupt through the interrupt branch circuit 14 to the B-system. The B-system device 20 that has notified the device 20 and received the interrupt notification immediately reads data from the shared memory 30 to the local memory 22 using the direct memory access controller (DMAC) 23.
[0060]
When the reading of data from the shared memory 30 is completed by the direct memory access controller (DMAC) 23 in the B-system device 20, the completion of the reading is notified to the A-system device 10 through the interrupt branch circuit 24 as an interrupt. Therefore, the A-system device 10 can immediately detect the timing at which the shared memory 30 becomes usable again.
[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 A function block 50 in an apparatus including four function blocks of the A function block 50, the B function block 60, the C function block 70, and the D function block 80. Is broadcast data, the received data is transferred to the HDLC line (HDLC-B) of the B function block 60, the HDLC line (HDLC-C) of the C function block 70, and the HDLC line (HDLC-C) of the D function block 80. -D).
[0062]
Here, the A function block 50 writes the transmission data to the shared memory 90 by the direct memory access controller (DMAC) 53, and stores the B function in the interrupt destination designation register 57 as the direct memory access (DMA) completion interrupt notification destination. By setting the block 60, the C function block 70, and the D function block 80, an interruption is notified to the designated function block through the interrupt branch circuit 54.
[0063]
The B function block 60, the C function block 70, and the D function block 80 use the direct memory access controllers (DMACs) 63, 73, and 83 of each function block to transfer from the shared memory 90 to each of the local memories 62, 72, and 82. The data is read, and the read data is transmitted from the respective HDLC lines (HDLC-B), (HDLC-C), and (HDLC-D).
[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.
前記割込み分岐回路により通知する割り込み通知先を任意に指定する割込み先指定レジスタを備え、該割込み分岐回路は、複数の機能ブロックの中から、該割込み先指定レジスタにより指定された機能ブロックに対して割込み通知を行い、複数の機能ブロックのうちの任意の機能ブロック間で通信を行う手段を備えたことを特徴とする請求項6乃至10の何れかに記載の共有メモリを介してデータ転送を行う通信システム。An interrupt destination designating register for arbitrarily designating an interrupt notification destination notified by the interrupt branch circuit is provided. The interrupt branch circuit is configured to perform, for a functional block designated by the interrupt destination designating register, a plurality of functional blocks. 11. A data transfer via a shared memory according to claim 6, further comprising means for performing an interrupt notification and performing communication between any of the plurality of function blocks. Communications system. 前記割込み先指定レジスタは、前記割込み分岐回路により通知する割り込み通知先を複数分設定する手段を有し、該割込み分岐回路は、割込み先指定レジスタに設定された複数の割込み通知先に対して割込み通知を行う手段を備え、送信側の機能ブロックから共有メモリに書き込んだ1つの転送データを複数の機能ブロックに同報送信する手段を備えたことを特徴とする請求項11に記載の共有メモリを介してデータ転送を行う通信システム。The interrupt destination designation register has means for setting a plurality of interrupt notification destinations to be notified by the interrupt branch circuit, and the interrupt branch circuit interrupts the plurality of interrupt notification destinations set in the interrupt destination designation register. 12. The shared memory according to claim 11, further comprising: means for notifying, and 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. Communication system that performs data transfer via the Internet.
JP2002228552A 2002-08-06 2002-08-06 Communication system for performing data transfer through shared memory Pending JP2004070642A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (11)

* Cited by examiner, † Cited by third party
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