特許第6535516号(P6535516)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アズビル株式会社の特許一覧

特許6535516マルチ・プログラマブルデバイス・システムとその制御方法
<>
  • 特許6535516-マルチ・プログラマブルデバイス・システムとその制御方法 図000002
  • 特許6535516-マルチ・プログラマブルデバイス・システムとその制御方法 図000003
  • 特許6535516-マルチ・プログラマブルデバイス・システムとその制御方法 図000004
  • 特許6535516-マルチ・プログラマブルデバイス・システムとその制御方法 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6535516
(24)【登録日】2019年6月7日
(45)【発行日】2019年6月26日
(54)【発明の名称】マルチ・プログラマブルデバイス・システムとその制御方法
(51)【国際特許分類】
   G06F 15/167 20060101AFI20190617BHJP
【FI】
   G06F15/167 610B
【請求項の数】3
【全頁数】7
(21)【出願番号】特願2015-118946(P2015-118946)
(22)【出願日】2015年6月12日
(65)【公開番号】特開2017-4337(P2017-4337A)
(43)【公開日】2017年1月5日
【審査請求日】2018年3月27日
(73)【特許権者】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(72)【発明者】
【氏名】森川 誠
【審査官】 大桃 由紀雄
(56)【参考文献】
【文献】 特開平01−233651(JP,A)
【文献】 特開昭62−226366(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 15/167
(57)【特許請求の範囲】
【請求項1】
少なくとも2つのプログラマブルデバイスと、
共有メモリと、
ライト監視回路と、
前記共有メモリにかかる書き込み情報をFIFO形式で記憶するアドレス保持メモリと、
を備え、
前記ライト監視回路は、
一方のプログラマブルデバイスからの前記共有メモリへのデータの書き込みがあった場合、データが書き込まれた前記共有メモリのアドレスが所定条件を満たすかを判定し、
満たすと判定した場合に、他方のプログラマブルデバイスへデータの書き込みを通知すると共に、データが書き込まれた前記共有メモリのアドレスの情報を、前記書き込み情報として前記アドレス保持メモリに記録し、
前記ライト監視回路からの通知を受けた他方のプログラマブルデバイスは、
前記ライト監視回路からの通知に基づき前記アドレス保持メモリから前記アドレスの情報を読み出し、
前記アドレス保持メモリから読みだされた前記アドレスの情報に基づき前記共有メモリからデータを取得する、マルチ・プログラマブルデバイス・システム。
【請求項2】
少なくとも2つのプログラマブルデバイスと、
共有メモリと、
ライト監視回路と、
前記共有メモリにかかる書き込み情報をFIFO形式で記憶するアドレス保持メモリと、
を備えたマルチ・プログラマブルデバイス・システムの制御方法であって、
一方のプログラマブルデバイスが前記共有メモリへデータを書き込むステップと、
前記ライト監視回路がデータが書き込まれた前記共有メモリのアドレス所定条件を満たすかを判定し、満たすと判定した場合に、他方のプログラマブルデバイスへデータの書き込みを通知するステップと、
前記ライト監視回路、データが書き込まれた前記共有メモリのアドレスの情報を、前記書き込み情報として前記アドレス保持メモリに記録するステップと、
他方のプログラマブルデバイスが前記ライト監視回路からの通知に基づき前記アドレス保持メモリから前記アドレス情報を読み出すステップと、
他方のプログラマブルデバイスが、前記アドレス保持メモリから読みだされた前記アドレスの情報に基づき前記共有メモリからデータを取得するステップと、
有する、マルチ・プログラマブルデバイス・システムの制御方法。
【請求項3】
前記ライト監視回路は、前記アドレス保持メモリに前記アドレス情報が記憶されている限りは、前記他方のプログラマブルデバイスへ通知するステップを継続する、請求項2に記載のマルチ・プログラマブルデバイス・システムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プロセッサその他のデバイス間通信方式に関した発明であって、特に、共有メモリと、複数のデバイスとから構成されて、その高速データ通信を実現する技術に関する。
【背景技術】
【0002】
旧来、あるデバイスAからデバイスBに対して、共有メモリを介して通信等のための動作変更・指示を行う場合、相手の振る舞いを即時変更させるように設定データが書き変わった場合は、その変更内容を知るためにソフトウェアで設定データ用に割り当てられた領域の中から、いずれが変化したかを知るために、該当領域をすべてサーチして知る必要があった。高速な応答性を要求する通信分野では、この検索に要する遅延(レイテンシ)が問題となっていた。
【0003】
特許文献1にある発明は、そのようなデバイス(CPU)間通信における負荷の低減と処理時間の短縮を図るために、送信側のCPU1と受信側のCPU2は共有メモリを使用し、ブロック転送型共有データバスを介して通信データの授受を行なう。データ送信CPUは、前記共有メモリから前記バッファ状態フラグを読み出し、前記データバッファが使用中でなければ前記バッファ状態フラグの内容と送信データを一回のブロック転送で前記共有メモリに転送した後データ受信CPUにデータ引取要求を行ない、データ受信CPUは前記データ引取要求を割込みで受領して前記データバッファからデータの引取りを行なって前記バッファ状態フラグを未使用状態に書き換えてCPU間のデータ授受を行なう構成を有する。
【0004】
このような共有メモリ回路は、汎用品を用いた場合、実装のためのコストが高いという問題があった。またFPGAなどに共有メモリブロックを内蔵させた場合、機能の実現は可能であるが、他の周辺制御回路も含むため回路の集積度が高まり、検証に非常に時間を要し早期に製品投入させるのが難しいという問題があった。そこで、特許文献2の発明は、FPGAに、セレクタを備え、各CPUが共有メモリを使用する状況に応じて、当セレクタで割込み/ビジー信号を選択し、CPUに出力して動作モードを切り替えた。こうすることで、製品を早期に市場投入を可能にするとともに、低コストでメモリ容量の拡張性を兼ね備えた共有メモリ切替え回路を提供する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許平5−81185号公報
【特許文献2】特開2008−287571号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の発明では、マルチデバイス間で高速なデータ通信はある程度図ることができ、また実装上の問題も解決してきている。しかし、高速な即時通知の応答性を維持しつつ、複数デバイス間の、あるいは、1デバイスからの複数の通信指示を低レイテンシで伝達することには不充分であった。また、設計上で動作変更の必要な設定項目の数をハードウエア変更なしにメモリの範囲内で自由に増やすことも困難であった。特に、一つのデバイスからの指令が多重に行われた場合の多重割込み処理能力に欠ける問題があった。
【0007】
この問題を解決するために、本願発明はプログラマブルデバイスを用いることにより、一のデバイスが設定領域の書き換えた変更事象を、即時に他のデバイスに通知する手段を提供する。
【課題を解決するための手段】
【0008】
本願発明は、少なくとも2つのプログラマブルデバイスと、
共有メモリと、
ライト監視回路と、
前記共有メモリにかかる書き込み情報を記憶するアドレス保持メモリと、を備えて、
前記ライト監視回路は、
一方のプログラマブルデバイスからの前記共有メモリへの書き込みアドレスを監視して、前記共有メモリへの所定の書き込みがあった場合、
前記アドレス保持メモリにある前記書き込み情報を他方のプロセッサに通知するように制御することを特徴とするマルチ・プログラマブルデバイス・システムである。
【0009】
また、本願発明は、前記保持メモリはFIFO形式であることを特徴とするものである。
【0010】
さらに、本願発明はその制御方法の発明であって、
少なくとも2つのプログラマブルデバイスと、
共有メモリと、
ライト監視回路と、
前記共有メモリにかかる書き込み情報を記憶するアドレス保持メモリと、
を備えたマルチ・プログラマブルデバイス・システムの制御方法であって、
一方のプログラマブルデバイスが共有メモリへデータ改変を書き込むステップと、
前記ライト監視装置は、そのデータ改変にかかるアドレスを検知し所定条件で有効な場合に、他方のプログラマブルデバイスへ通知するステップと、
前記ライト監視装置が当該アドレス情報をアドレス保持メモリに蓄積するステップと、
他方のプログラマブルデバイスが前記通知を認識し起動されて前記アドレス保持メモリから当該アドレス情報を読み出すステップと、
を備えることを特徴とするマルチ・プログラマブルデバイス・システムの制御方法である。
また、アドレス保持メモリがFIFO形式を特徴とするものでもよい。
【発明の作用・効果】
【0011】
本願発明により、プログラマブルデバイスにおける設定データ共有において、データの変更通知を提供する場合にハードウエアで構成された固定仕様の専用回路を実装しなくともよくなり、設定パラメータ数が増加するなどの仕様変更に柔軟に対応できる。
また、基板やチップなどによりマルチプログラマブルデバイス・システムが一旦出来上がってからも、変更通知可能な設定パラメータの追加変更が容易にできるようになった。
【図面の簡単な説明】
【0012】
図1】本願発明のマルチ・プログラマブルデバイス・システムの模式図を示す。
図2】本願発明の実施の一態様であるマルチ・プログラマブルデバイス・システムの詳細構成を示す。
図3】本願発明の実施の一態様であるマルチ・プログラマブルデバイス・システムの状態遷移チャートを示す。
図4】本願発明の実施の一態様であるマルチ・プログラマブルデバイス・システムのアドレス保持メモリの概略を示す。
【発明を実施するための形態】
【0013】
(1) 本願発明の構成要素
図1に示すように、本実施の形態に係るマルチ・プログラマブルデバイス・システムは複数のプログラマブルデバイスを能動要素として構成する。本願におけるプログラマブルデバイスとは、ソフトウェアでプログラムが可能なCPU(CentralProcessingUnit)コアやそれに付随するローカルメモリや入出力回路を備えたデバイスを意味する。本願ではこれ以降、単に「デバイス」と称する。
【0014】
以降は詳細なる図2も用いて、構成要素を符号付けして説明する。まず、そのデバイスA,Bについてであるが、例えば、10のデバイスAはデータの変更操作を行うデバイス、20のデバイスBはその変更を認識する必要のあるデバイスとする。これらはバス500で接続される。
【0015】
300はメモリであって、デバイスA,Bがバス経由で共有している記憶素子デバイスである。いわゆる共有メモリであるが、一方のデバイスA、他方のデバイスBの両方からアクセスできるものであれば、一般的なメモリでよく、同時アクセス性や共有のための調停手段は問わない。
【0016】
100は本願発明の中枢的機能を担う制御回路であって、ライト監視回路と称する。そこには、データ変更通知制御レジスタ110、アドレス範囲判定部120、および通知判定部130を備える。以降、各機能部位を説明するが、特にそれが出力する機能について述べるために、図2の出力矢印符号で各機能モジュールの果たすことを示す。
【0017】
データ変更通知制御レジスタ110は、バス500を通じて上位のデバイスから設定変更が可能な、データ変更通知に関する設定を行い、他の機能部位へ情報を伝達保持するための部位である。その出力機能は、アドレスのモニタ条件に関する通知111と、デバイスA,Bへの変更通知を有効化する112と、さらにアドレス保持メモリ200へのリード制御113がある。
【0018】
アドレス範囲判定部120は、アクセスされたメモリアドレスが、設定変更としてモニタすべきアドレス空間であるかどうかを判断する部位である。範囲に該当しているかどうかの判定回路としては、比較器による方法や、マスク計算による方法がある、モニタ対象空間かどうかを判断できるロジックがあればよい。そして、通知判定部130に対してモニタ条件の判定通知121を行う。
【0019】
通知判定部130は、アドレス範囲判定部120からのモニタ空間か否かの判定結果と、データ変更通知制御レジスタ110から通知された通知有効状態により、デバイスAないしBに変更情報を通知(割込み)出力131する部位である。その他、アドレス保持メモリ200へ変更アドレス情報のライト制御132を行う。
【0020】
アドレス保持メモリ200は、通知判定部130により、改変されたことを記録すべきアドレスを履歴保持しておき、また変更通知を受けたデバイスから、バス500経由で、変更が発生したアドレス空間を順次照会可能にするメモリ機能を提供する。機能的には、本願発明は多重割込み処理を旨とするので、FirstIn−FirstOut(FiFo)であり、その旨のバッファであれば、キュー構造、リングバッファ構造は問わない。
【0021】
その他に、バス500の内部バスを細分化すると、データバス、アドレスバス、そしてリード・ライトの指示や、要求の有効等を示すためのバス制御信号により構成される。ライト監視回路100はバス500をSnooping(覗き見)する機能を果たすため、バス本来の機能に論理的悪影響を与えることなく付加できる。また、90はバスコントローラであって、デバイス間でバス500の調停を行うものであるが、デバイス間にて相互直接的に調停が効くならその構成及びアルゴリズムは問わない。
【0022】
それでは次に、各機能モジュールの動作と信号の流れを説明するために、図3の状態遷移チャートに基づいて説明する。
【0023】
(2) 本願発明の動作
1.初期設定(レジスタ設定)する
デバイスAからの指示でライト監視装置100の動作設定を行うのが、図3の上段の例示である。この設定では、アドレスのモニタ条件に関する設定と、デバイスA,Bへの変更通知を有効化する設定を行う。
【0024】
まず、デバイスAからデータ変更通知レジスタ110へモニタ条件通知指令を書き込む(以降図中ステップをSと記すと、S10である)。これは通常のバスアクセスで行う。
この指令を受けたデータ変更通知レジスタ110は、アドレス範囲判定部120へモニタ条件を通知する(S111)。続いて、データ変更通知レジスタ110は、通知判定部130へ通知制御を有効化する(S112)。こうして、以降のデバイスA、デバイスBとのやり取りに対する準備を行った。
【0025】
以降は、ランタイムの動作であり、図3の中段以下で示す。
2.通知対象の設定変更する
これは、通知対象となる設定変更を行う(メモリ書き換え)ステップである。デバイスAからメモリ300の対象とする(改変)アドレスに書き込みを行う(S11)。これは同時に、ライト監視回路100にも通じているので、その部位であるアドレス範囲判定部120への変更箇所指示となる。
【0026】
続いて、アドレス範囲判定部120は、該当のモニタ条件判定を行う(S121)。それが適正であったら、通知判定部130は、デバイスBへ変更通知(割込み)をかける(S131)。同時に、アドレス保持メモリ200に当該アドレス情報のライト処理を行う(S132)。このライト処理はFIFO形式に則って行われる必要がある。
【0027】
3.変更された情報をメモリから取得する
中段から下段へ移行するステップS20で割り込みをかけられたデバイスBは、データ変更通知制御レジスタ110へアドレス保持メモリ200へのアクセスの準備を指令する(S21)。例えば、割込みベクタから解析して、アドレス保持メモリ200からの読み出しを行う(S21)。但し、データ変更通知制御レジスタ110によるアドレス保持メモリ200へのリード制御が、FIFO形式に則って行われる(S113)。後述するOutポインタの後処理などである。
【0028】
同時に、デバイスBは、アドレス保持メモリ200から改変アドレスを取得する(S22)。これが設定取得である。その結果、得られたアドレスに基づくデバイスAからの変更に係る情報データを知るのである。
【0029】
上記図3の処理フローでの説明のステップの番号付けは、機能部位をN、そのシーケンスをnと見なすと、S(N+n)の表記にしている。この符号は、図2の構成要素間の出力信号に一致しているはずである。
【0030】
最後に、図4にアドレス保持メモリ200の内容概要を示す。
・Indexとして、Inポインタ/Outポインタで本保持メモリのバッファに書き込むべき位置/一方バッファから読み出すべき位置を示す。
・Bufferは、FIFO形式にかかる複数のイベント(図中古いものから#1、#2、#3、#4)に関して、そのデバイスAからの改変情報のありかを示すアドレス値がシングルワードアドレス値でストアされている。これをデバイスBは取得して改変データを得る訳である。本例では、#1の割込み起因の改変アドレスが読み出される。しかし、#2、#3はまだ処理されずにスタックされたままであり、新たにデバイスAからの書き込みがあれば#4のバッファが使用される。こうして多重割込み処理に対応する。
【0031】
別の例として、開始アドレス/終了アドレス(またはデータ長)をセットにしてバッファにストアすれば、ブロックメモリ転送が可能で、バーストアクセスモードで可能性ある。なお、バッファの数は割込み数とデバイスの処理能力との関係から余裕を持たせた大きさにする必要はある。
【産業上の利用可能性】
【0032】
昨今、多機能化したマイコンシステムでは、CPUを用いた複数のボードでの実装が行われる。メインのCPUボードとサブである周辺IOボードを組み合わせた例など多い。また、SoC(System On Chip)のようなワンチップ内の複数のCPUで構成されるコアを持つシステムでもバスを介してメモリをそれぞれからアクセスできるケースが一般的である。そのような開発の場面で、メモリを介して情報のやり取りをする場合に、本願発明は大いに効果がある。
【0033】
特に、当初定めた仕様以外のサブCPUボードを増設する場合に、本願発明ではライト監視回路100の設定をデバイスからプログラマブルにしておけば、メインCPUのハードウエアの改造なしに、容易に新たなサブCPUボードに対応することができる。
【0034】
本願の実施例で示した設計上の変更追加は可能であり、そのような変更を行ったとしても、本願発明の趣旨を逸脱しない限りはこの発明の範囲に入る。
【符号の説明】
【0035】
10 デバイスA
20 デバイスB
90 バスコントローラ
100 ライト監視回路
110 データ変更通知制御レジスタ
120 アドレス範囲判定部
130 通知判定部
200 アドレス保持メモリ
300 共有メモリ
500 バス


図1
図2
図3
図4