JP2017004337A - マルチ・プログラマブルデバイス・システムとその制御方法 - Google Patents

マルチ・プログラマブルデバイス・システムとその制御方法 Download PDF

Info

Publication number
JP2017004337A
JP2017004337A JP2015118946A JP2015118946A JP2017004337A JP 2017004337 A JP2017004337 A JP 2017004337A JP 2015118946 A JP2015118946 A JP 2015118946A JP 2015118946 A JP2015118946 A JP 2015118946A JP 2017004337 A JP2017004337 A JP 2017004337A
Authority
JP
Japan
Prior art keywords
address
programmable device
memory
write
shared memory
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.)
Granted
Application number
JP2015118946A
Other languages
English (en)
Other versions
JP6535516B2 (ja
Inventor
誠 森川
Makoto Morikawa
誠 森川
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.)
Azbil Corp
Original Assignee
Azbil Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Azbil Corp filed Critical Azbil Corp
Priority to JP2015118946A priority Critical patent/JP6535516B2/ja
Publication of JP2017004337A publication Critical patent/JP2017004337A/ja
Application granted granted Critical
Publication of JP6535516B2 publication Critical patent/JP6535516B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】プログラマブルデバイス・システムにおいて、一のデバイスが設定領域の書き換えた変更事象と箇所を、即時に他のデバイスに通知する手段を提供する。【解決手段】マルチ・プログラマブルデバイス・システムは、少なくとも2つのプログラマブルデバイス10、20と、共有メモリ300と、共有メモリ300への書き込みアドレスとその書き込みデータからなる書き込み情報を監視してプログラマブルデバイス10、20へ通知するライト監視回路100と、書き込み情報を蓄積するFIFO形式の保持メモリ200と、を備える。【選択図】図1

Description

本発明は、プロセッサその他のデバイス間通信方式に関した発明であって、特に、共有メモリと、複数のデバイスとから構成されて、その高速データ通信を実現する技術に関する。
旧来、あるデバイスAからデバイスBに対して、共有メモリを介して通信等のための動作変更・指示を行う場合、相手の振る舞いを即時変更させるように設定データが書き変わった場合は、その変更内容を知るためにソフトウェアで設定データ用に割り当てられた領域の中から、いずれが変化したかを知るために、該当領域をすべてサーチして知る必要があった。高速な応答性を要求する通信分野では、この検索に要する遅延(レイテンシ)が問題となっていた。
特許文献1にある発明は、そのようなデバイス(CPU)間通信における負荷の低減と処理時間の短縮を図るために、送信側のCPU1と受信側のCPU2は共有メモリを使用し、ブロック転送型共有データバスを介して通信データの授受を行なう。データ送信CPUは、前記共有メモリから前記バッファ状態フラグを読み出し、前記データバッファが使用中でなければ前記バッファ状態フラグの内容と送信データを一回のブロック転送で前記共有メモリに転送した後データ受信CPUにデータ引取要求を行ない、データ受信CPUは前記データ引取要求を割込みで受領して前記データバッファからデータの引取りを行なって前記バッファ状態フラグを未使用状態に書き換えてCPU間のデータ授受を行なう構成を有する。
このような共有メモリ回路は、汎用品を用いた場合、実装のためのコストが高いという問題があった。またFPGAなどに共有メモリブロックを内蔵させた場合、機能の実現は可能であるが、他の周辺制御回路も含むため回路の集積度が高まり、検証に非常に時間を要し早期に製品投入させるのが難しいという問題があった。そこで、特許文献2の発明は、FPGAに、セレクタを備え、各CPUが共有メモリを使用する状況に応じて、当セレクタで割込み/ビジー信号を選択し、CPUに出力して動作モードを切り替えた。こうすることで、製品を早期に市場投入を可能にするとともに、低コストでメモリ容量の拡張性を兼ね備えた共有メモリ切替え回路を提供する。
特許平5−81185号公報 特開2008−287571号公報
従来の発明では、マルチデバイス間で高速なデータ通信はある程度図ることができ、また実装上の問題も解決してきている。しかし、高速な即時通知の応答性を維持しつつ、複数デバイス間の、あるいは、1デバイスからの複数の通信指示を低レイテンシで伝達することには不充分であった。また、設計上で動作変更の必要な設定項目の数をハードウエア変更なしにメモリの範囲内で自由に増やすことも困難であった。特に、一つのデバイスからの指令が多重に行われた場合の多重割込み処理能力に欠ける問題があった。
この問題を解決するために、本願発明はプログラマブルデバイスを用いることにより、一のデバイスが設定領域の書き換えた変更事象を、即時に他のデバイスに通知する手段を提供する。
本願発明は、少なくとも2つのプログラマブルデバイスと、
共有メモリと、
ライト監視回路と、
前記共有メモリにかかる書き込み情報を記憶するアドレス保持メモリと、を備えて、
前記ライト監視回路は、
一方のプログラマブルデバイスからの前記共有メモリへの書き込みアドレスを監視して、前記共有メモリへの所定の書き込みがあった場合、
前記アドレス保持メモリにある前記書き込み情報を他方のプロセッサに通知するように制御することを特徴とするマルチ・プログラマブルデバイス・システムである。
また、本願発明は、前記保持メモリはFIFO形式であることを特徴とするものである。
さらに、本願発明はその制御方法の発明であって、
少なくとも2つのプログラマブルデバイスと、
共有メモリと、
ライト監視回路と、
前記共有メモリにかかる書き込み情報を記憶するアドレス保持メモリと、
を備えたマルチ・プログラマブルデバイス・システムの制御方法であって、
一方のプログラマブルデバイスが共有メモリへデータ改変を書き込むステップと、
前記ライト監視装置は、そのデータ改変にかかるアドレスを検知し所定条件で有効な場合に、他方のプログラマブルデバイスへ通知するステップと、
前記ライト監視装置が当該アドレス情報をアドレス保持メモリに蓄積するステップと、
他方のプログラマブルデバイスが前記通知を認識し起動されて前記アドレス保持メモリから当該アドレス情報を読み出すステップと、
を備えることを特徴とするマルチ・プログラマブルデバイス・システムの制御方法である。
また、アドレス保持メモリがFIFO形式を特徴とするものでもよい。
発明の作用・効果
本願発明により、プログラマブルデバイスにおける設定データ共有において、データの変更通知を提供する場合にハードウエアで構成された固定仕様の専用回路を実装しなくともよくなり、設定パラメータ数が増加するなどの仕様変更に柔軟に対応できる。
また、基板やチップなどによりマルチプログラマブルデバイス・システムが一旦出来上がってからも、変更通知可能な設定パラメータの追加変更が容易にできるようになった。
本願発明のマルチ・プログラマブルデバイス・システムの模式図を示す。 本願発明の実施の一態様であるマルチ・プログラマブルデバイス・システムの詳細構成を示す。 本願発明の実施の一態様であるマルチ・プログラマブルデバイス・システムの状態遷移チャートを示す。 本願発明の実施の一態様であるマルチ・プログラマブルデバイス・システムのアドレス保持メモリの概略を示す。
(1) 本願発明の構成要素
図1に示すように、本実施の形態に係るマルチ・プログラマブルデバイス・システムは複数のプログラマブルデバイスを能動要素として構成する。本願におけるプログラマブルデバイスとは、ソフトウェアでプログラムが可能なCPU(CentralProcessingUnit)コアやそれに付随するローカルメモリや入出力回路を備えたデバイスを意味する。本願ではこれ以降、単に「デバイス」と称する。
以降は詳細なる図2も用いて、構成要素を符号付けして説明する。まず、そのデバイスA,Bについてであるが、例えば、10のデバイスAはデータの変更操作を行うデバイス、20のデバイスBはその変更を認識する必要のあるデバイスとする。これらはバス500で接続される。
300はメモリであって、デバイスA,Bがバス経由で共有している記憶素子デバイスである。いわゆる共有メモリであるが、一方のデバイスA、他方のデバイスBの両方からアクセスできるものであれば、一般的なメモリでよく、同時アクセス性や共有のための調停手段は問わない。
100は本願発明の中枢的機能を担う制御回路であって、ライト監視回路と称する。そこには、データ変更通知制御レジスタ110、アドレス範囲判定部120、および通知判定部130を備える。以降、各機能部位を説明するが、特にそれが出力する機能について述べるために、図2の出力矢印符号で各機能モジュールの果たすことを示す。
データ変更通知制御レジスタ110は、バス500を通じて上位のデバイスから設定変更が可能な、データ変更通知に関する設定を行い、他の機能部位へ情報を伝達保持するための部位である。その出力機能は、アドレスのモニタ条件に関する通知111と、デバイスA,Bへの変更通知を有効化する112と、さらにアドレス保持メモリ200へのリード制御113がある。
アドレス範囲判定部120は、アクセスされたメモリアドレスが、設定変更としてモニタすべきアドレス空間であるかどうかを判断する部位である。範囲に該当しているかどうかの判定回路としては、比較器による方法や、マスク計算による方法がある、モニタ対象空間かどうかを判断できるロジックがあればよい。そして、通知判定部130に対してモニタ条件の判定通知121を行う。
通知判定部130は、アドレス範囲判定部120からのモニタ空間か否かの判定結果と、データ変更通知制御レジスタ110から通知された通知有効状態により、デバイスAないしBに変更情報を通知(割込み)出力131する部位である。その他、アドレス保持メモリ200へ変更アドレス情報のライト制御132を行う。
アドレス保持メモリ200は、通知判定部130により、改変されたことを記録すべきアドレスを履歴保持しておき、また変更通知を受けたデバイスから、バス500経由で、変更が発生したアドレス空間を順次照会可能にするメモリ機能を提供する。機能的には、本願発明は多重割込み処理を旨とするので、FirstIn−FirstOut(FiFo)であり、その旨のバッファであれば、キュー構造、リングバッファ構造は問わない。
その他に、バス500の内部バスを細分化すると、データバス、アドレスバス、そしてリード・ライトの指示や、要求の有効等を示すためのバス制御信号により構成される。ライト監視回路100はバス500をSnooping(覗き見)する機能を果たすため、バス本来の機能に論理的悪影響を与えることなく付加できる。また、90はバスコントローラであって、デバイス間でバス500の調停を行うものであるが、デバイス間にて相互直接的に調停が効くならその構成及びアルゴリズムは問わない。
それでは次に、各機能モジュールの動作と信号の流れを説明するために、図3の状態遷移チャートに基づいて説明する。
(2) 本願発明の動作
1.初期設定(レジスタ設定)する
デバイスAからの指示でライト監視装置100の動作設定を行うのが、図3の上段の例示である。この設定では、アドレスのモニタ条件に関する設定と、デバイスA,Bへの変更通知を有効化する設定を行う。
まず、デバイスAからデータ変更通知レジスタ110へモニタ条件通知指令を書き込む(以降図中ステップをSと記すと、S10である)。これは通常のバスアクセスで行う。
この指令を受けたデータ変更通知レジスタ110は、アドレス範囲判定部120へモニタ条件を通知する(S111)。続いて、データ変更通知レジスタ110は、通知判定部130へ通知制御を有効化する(S112)。こうして、以降のデバイスA、デバイスBとのやり取りに対する準備を行った。
以降は、ランタイムの動作であり、図3の中段以下で示す。
2.通知対象の設定変更する
これは、通知対象となる設定変更を行う(メモリ書き換え)ステップである。デバイスAからメモリ300の対象とする(改変)アドレスに書き込みを行う(S11)。これは同時に、ライト監視回路100にも通じているので、その部位であるアドレス範囲判定部120への変更箇所指示となる。
続いて、アドレス範囲判定部120は、該当のモニタ条件判定を行う(S121)。それが適正であったら、通知判定部130は、デバイスBへ変更通知(割込み)をかける(S131)。同時に、アドレス保持メモリ200に当該アドレス情報のライト処理を行う(S132)。このライト処理はFIFO形式に則って行われる必要がある。
3.変更された情報をメモリから取得する
中段から下段へ移行するステップS20で割り込みをかけられたデバイスBは、データ変更通知制御レジスタ110へアドレス保持メモリ200へのアクセスの準備を指令する(S21)。例えば、割込みベクタから解析して、アドレス保持メモリ200からの読み出しを行う(S21)。但し、データ変更通知制御レジスタ110によるアドレス保持メモリ200へのリード制御が、FIFO形式に則って行われる(S113)。後述するOutポインタの後処理などである。
同時に、デバイスBは、アドレス保持メモリ200から改変アドレスを取得する(S22)。これが設定取得である。その結果、得られたアドレスに基づくデバイスAからの変更に係る情報データを知るのである。
上記図3の処理フローでの説明のステップの番号付けは、機能部位をN、そのシーケンスをnと見なすと、S(N+n)の表記にしている。この符号は、図2の構成要素間の出力信号に一致しているはずである。
最後に、図4にアドレス保持メモリ200の内容概要を示す。
・Indexとして、Inポインタ/Outポインタで本保持メモリのバッファに書き込むべき位置/一方バッファから読み出すべき位置を示す。
・Bufferは、FIFO形式にかかる複数のイベント(図中古いものから#1、#2、#3、#4)に関して、そのデバイスAからの改変情報のありかを示すアドレス値がシングルワードアドレス値でストアされている。これをデバイスBは取得して改変データを得る訳である。本例では、#1の割込み起因の改変アドレスが読み出される。しかし、#2、#3はまだ処理されずにスタックされたままであり、新たにデバイスAからの書き込みがあれば#4のバッファが使用される。こうして多重割込み処理に対応する。
別の例として、開始アドレス/終了アドレス(またはデータ長)をセットにしてバッファにストアすれば、ブロックメモリ転送が可能で、バーストアクセスモードで可能性ある。なお、バッファの数は割込み数とデバイスの処理能力との関係から余裕を持たせた大きさにする必要はある。
昨今、多機能化したマイコンシステムでは、CPUを用いた複数のボードでの実装が行われる。メインのCPUボードとサブである周辺IOボードを組み合わせた例など多い。また、SoC(System On Chip)のようなワンチップ内の複数のCPUで構成されるコアを持つシステムでもバスを介してメモリをそれぞれからアクセスできるケースが一般的である。そのような開発の場面で、メモリを介して情報のやり取りをする場合に、本願発明は大いに効果がある。
特に、当初定めた仕様以外のサブCPUボードを増設する場合に、本願発明ではライト監視回路100の設定をデバイスからプログラマブルにしておけば、メインCPUのハードウエアの改造なしに、容易に新たなサブCPUボードに対応することができる。
本願の実施例で示した設計上の変更追加は可能であり、そのような変更を行ったとしても、本願発明の趣旨を逸脱しない限りはこの発明の範囲に入る。
10 デバイスA
20 デバイスB
90 バスコントローラ
100 ライト監視回路
110 データ変更通知制御レジスタ
120 アドレス範囲判定部
130 通知判定部
200 アドレス保持メモリ
300 共有メモリ
500 バス


Claims (4)

  1. 少なくとも2つのプログラマブルデバイスと、
    共有メモリと、
    ライト監視回路と、
    前記共有メモリにかかる書き込み情報を記憶するアドレス保持メモリと、を備えて、
    前記ライト監視回路は、
    一方のプログラマブルデバイスからの前記共有メモリへの書き込みアドレスを監視して、前記共有メモリへの所定の書き込みがあった場合、
    前記アドレス保持メモリにある前記書き込み情報を他方のプロセッサに通知するように制御することを特徴とするマルチ・プログラマブルデバイス・システム。
  2. 前記アドレス保持メモリはFIFO形式である請求項1のマルチ・プログラマブルデバイス・システム。
  3. 少なくとも2つのプログラマブルデバイスと、
    共有メモリと、
    ライト監視回路と、
    前記共有メモリにかかる書き込み情報を記憶するアドレス保持メモリと、
    を備えたマルチ・プログラマブルデバイス・システムの制御方法であって、
    一方のプログラマブルデバイスが共有メモリへデータ改変を書き込むステップと、
    前記ライト監視装置は、そのデータ改変にかかるアドレスを検知し所定条件で有効な場合に、他方のプログラマブルデバイスへ通知するステップと、
    前記ライト監視装置が当該アドレス情報をアドレス保持メモリに蓄積するステップと、
    他方のプログラマブルデバイスが前記通知を認識し起動されて前記アドレス保持メモリから当該アドレス情報を読み出すステップと、
    を備えることを特徴とするマルチ・プログラマブルデバイス・システムの制御方法。
  4. 前記ライト監視装置は、前記アドレス保持メモリに蓄積したデータ改変にかかるアドレス情報が残存している限りは、前記他方のプログラマブルデバイスへ通知するステップを継続することを特徴とする請求項3に記載のマルチ・プログラマブルデバイス・システムの制御方法。
JP2015118946A 2015-06-12 2015-06-12 マルチ・プログラマブルデバイス・システムとその制御方法 Active JP6535516B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015118946A JP6535516B2 (ja) 2015-06-12 2015-06-12 マルチ・プログラマブルデバイス・システムとその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015118946A JP6535516B2 (ja) 2015-06-12 2015-06-12 マルチ・プログラマブルデバイス・システムとその制御方法

Publications (2)

Publication Number Publication Date
JP2017004337A true JP2017004337A (ja) 2017-01-05
JP6535516B2 JP6535516B2 (ja) 2019-06-26

Family

ID=57751842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015118946A Active JP6535516B2 (ja) 2015-06-12 2015-06-12 マルチ・プログラマブルデバイス・システムとその制御方法

Country Status (1)

Country Link
JP (1) JP6535516B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226366A (ja) * 1986-03-28 1987-10-05 Nec Corp メモリ共有方式
JPH01233651A (ja) * 1988-03-15 1989-09-19 Fujitsu Ltd 通信制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226366A (ja) * 1986-03-28 1987-10-05 Nec Corp メモリ共有方式
JPH01233651A (ja) * 1988-03-15 1989-09-19 Fujitsu Ltd 通信制御方式

Also Published As

Publication number Publication date
JP6535516B2 (ja) 2019-06-26

Similar Documents

Publication Publication Date Title
US8051234B2 (en) Multiprocessor system
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
JP5360061B2 (ja) マルチプロセッサシステム及びその制御方法
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
US7895388B2 (en) Bus control device
US10346328B2 (en) Method and apparatus for indicating interrupts
JP4193746B2 (ja) マトリックス状バス接続システム
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
US10997105B2 (en) Semiconductor device and method of operating the same
JP6535516B2 (ja) マルチ・プログラマブルデバイス・システムとその制御方法
US7240144B2 (en) Arbitration of data transfer requests
US8966149B2 (en) Emulation of an input/output advanced programmable interrupt controller
US10802730B2 (en) Semiconductor device and reconfiguration control method of the same
JP2005107873A (ja) 半導体集積回路
JP2020140380A (ja) 半導体装置及びデバッグシステム
US11003474B2 (en) Semiconductor device for providing a virtualization technique
JP2013145445A (ja) 半導体装置
JP4480678B2 (ja) 半導体集積回路装置
US10733125B2 (en) Microcomputer
JP6626216B2 (ja) コントローラ
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JPH11282888A (ja) システム仕様記述に基づいて設計されるシステムでのデータ通信方法、割込コントローラ合成方法及びインターフェイス回路合成方法
JP2013109394A (ja) データ処理装置
JP2012173847A (ja) バス調停装置およびバス調停方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190603

R150 Certificate of patent or registration of utility model

Ref document number: 6535516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250