JP2010049510A - バス調停方式およびマルチcpu構成のプログラマブルコントローラ - Google Patents

バス調停方式およびマルチcpu構成のプログラマブルコントローラ Download PDF

Info

Publication number
JP2010049510A
JP2010049510A JP2008213493A JP2008213493A JP2010049510A JP 2010049510 A JP2010049510 A JP 2010049510A JP 2008213493 A JP2008213493 A JP 2008213493A JP 2008213493 A JP2008213493 A JP 2008213493A JP 2010049510 A JP2010049510 A JP 2010049510A
Authority
JP
Japan
Prior art keywords
cpu
bus
shared memory
memory
fpga
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
JP2008213493A
Other languages
English (en)
Inventor
Masahiko Yokoo
雅彦 横尾
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.)
Koyo Electronics Industries Co Ltd
Original Assignee
Koyo Electronics Industries Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koyo Electronics Industries Co Ltd filed Critical Koyo Electronics Industries Co Ltd
Priority to JP2008213493A priority Critical patent/JP2010049510A/ja
Publication of JP2010049510A publication Critical patent/JP2010049510A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

【課題】マルチCPUシステムにおいて、各CPUが、共有メモリにアクセス中でも、それぞれの内部バスに接続されている各種メモリの使用を可能として、また、各CPU自体はバス調停を行う必要性をなくす。
【解決手段】本方式は、CPU21に内部バスB21を介してFPGA26を接続し、FPGA16,26それぞれを外部バスB13,B23を介してモジュールバス30に共通接続すると共に、FPGA26にメモリバスB22を介して共有メモリ27を接続し、FPGA26は、CPU21が共有メモリ27にアクセス中でメモリバスB22を占有中のときに、CPU11からアクセス要求があると、CPU21のアクセス優先、アクセス先着順、CPU11アクセス優先かの判断により、共有メモリ27にCPU11がアクセスするためのバス調停を行う。
【選択図】図1

Description

本発明は、複数のCPUを備えたプログラマブルコントローラにおいて、各CPUが1つのメモリを共有メモリとして、当該メモリへアクセスするときのバス調停方式に関するものである。
プログラマブルコントローラはシーケンスプログラムを実行してそれに接続された制御機器をシーケンス制御するようになっている。このようなプログラマブルコントローラにおいて、CPUモジュールにはモジュールバスを介して複数の入出力モジュール等の各種モジュールが接続されている。CPUモジュールに内蔵するCPUはシーケンスプログラムの実行により、例えば入出力モジュールに対してデータ送信要求を行い、入出力モジュールはこれに応答してセンサなどの入力デバイスデータをCPUに送信し、CPUはアクチュエータなどの出力デバイスを制御する。
しかしながら、上記プログラマブルコントローラで、1つのCPUにより高速制御化を図るには、CPUを、高速制御が可能であるが価格が高価なCPUに交換することが必要である。そこで、CPUモジュールを複数化し、それぞれのCPUモジュール内のCPUをモジュールバスに接続し、これらCPUに制御を分散する、いわゆるマルチCPU方式化することが考えられる。特許文献1参照。このようなマルチCPU方式構成では、CPUを高速制御可能な高価なものと交換する必要がなくなる。
図4を参照して従来のプログラマブルコントローラにおけるマルチCPU方式を説明すると、CPUモジュール10,20それぞれのCPU11,21をモジュールバス30に共通接続し、モジュールバス30には上記両CPU11,21に共有される共有メモリ40を接続している。モジュールバス30には各種モジュール50を接続している。また、CPUモジュール10のCPU11は内部バスB11でワークメモリ14に接続されている。CPUモジュール20のCPU21は内部バスB21でワークメモリ24に接続されている。
しかしながら、上記マルチCPU方式では、モジュールバス30にCPU11,21を接続し、モジュールバス30に接続した共有メモリ40を各CPU11,21間で共有使用する場合、各CPU11,21間でモジュールバス30使用上からバス調停を行う必要があった。
図5を参照して、CPU11が共有メモリ40をアクセス中の時刻t0−t1は、モジュールバス30がCPU11により占有されているので、CPU21は、共有メモリ40にアクセスすることができないで、ウエイトとなる。一方、CPU11も共有メモリ40にアクセス中であるために、内部バスB11は占有されていて、CPU11はワークメモリ14にアクセスすることができないし、また、CPU11はワークメモリ14を用いたワークができない。CPU21が共有メモリ40をアクセス中の時刻t2−t3は、モジュールバス30がCPU21により占有されているので、CPU11は、共有メモリ40にアクセスすることができないで、ウエイトとなる。一方、CPU21も共有メモリ40にアクセス中であるために、内部バスB21は占有されていて、CPU21はワークメモリ24にアクセスすることができないし、また、CPU21はワークメモリ24を用いたワークができない。このようにしてCPU11,21は互いに割り込みINTにより、バス調停する必要があり、複雑膨大な負荷を制御する場合に上記バス調停を行うと、負荷を高速処理することが困難化する。特に、各CPU11,21間で割り込み処理宣言でバス使用の調停を行う場合、各CPU11,21間で統率をとることが難しく、負荷処理の整然たる分担には不向きである。なお、特許文献には以下のものがある。
特開2006−031426号公報 特開2002−024165号公報
本発明は、各CPUが、共有メモリにアクセス中であっても、このアクセス経路をそれぞれの内部バスと切り離すことで当該内部バスに接続されている各種メモリの実行を可能とし、また、各CPU自体はバス調停を行う必要性をなくすことで、負荷の高速制御を可能としたプログラマブルコントローラにおけるバス調停方式を提供するものである。
本発明によるマルチCPU構成で共有メモリを備えたプログラマブルコントローラにおけるバス調停方式は、それぞれが制御プログラムを実行するCPUを内蔵した複数のCPUモジュールを備え、各CPUが少なくとも1つのメモリを共有メモリとするプログラマブルコントローラにおいて、各CPUが該共有メモリにアクセスするときのバス調停方式であって、それぞれのCPUモジュールは、内部のCPUそれぞれに内部バスを介してFPGAを接続し、各FPGAそれぞれを外部バスを介してモジュールバスに接続すると共に、少なくとも一方のFPGAにメモリバスを介して共有メモリを接続した構成となし、上記FPGAは、上記内部バスと切り離して各CPUの共有メモリへのアクセスのためのバス調停を行うように、その回路構成がコンフィグレーションされるようになっていることを特徴とするものである。
本発明によれば、各CPUのうちいずれか一のCPUが共有メモリにアクセス中であっても、他のCPUは内部バスに接続されているワークメモリにワークすることで負荷のデータ処理等ができる一方、各CPUは、共有メモリへのアクセスのためのバス調停を行う必要がなくなるので、バス調停に要していた時間を負荷のデータ処理に使用することができるようになり、各CPUにより負荷の高速制御が可能となる。
本発明によると、各CPUは、共有メモリにアクセスするバス調停中であっても、それぞれの内部バスに接続されている各種メモリを用いて制御が可能であり、また、バス調停を行う必要がないから、負荷の高速制御を行うことができる。
以下、添付した図面を参照して、本発明の実施の形態に係るマルチCPU構成のプログラマブルコントローラにおけるバス調停方式を説明する。図1は本実施の形態のマルチCPU構成のプログラマブルコントローラの構成を示し、図1において、10,20はCPUモジュールであり、このCPUモジュール10,20は、それぞれ、CPU11,21を内蔵する。このCPU11,21の内部バスB11,B21にシステムプログラムを格納するシステムメモリ12,22、シーケンスプログラムを格納するプログラムメモリ13,23、CPU11,21の作業等に用いるワークメモリ14,24、フラッシュメモリ等からなるコンフィグレーションデータメモリ15,25が接続されている。
コンフィグレーションデータは、コンフィグレーションすべき回路構成のデータである。そして、この内部バスB11,21には、バス調停デバイスとしてFPGA16,26が接続されている。
FPGA16,26は、SRAM型のフィールドプログラマブルゲートアレイ(Field Programmable Gate Array)であり、図2で示すように、論理ブロックと入出力ブロックと配線とを有する書換え可能な半導体集積回路により構成されている。FPGA16,26は、コンフィグレーションデータメモリ15,25に記憶された回路構成のデータを読み込んで所望の回路構成にコンフィグレーションされる。そして、FPGA16,26は外部バスB13,B23を介してモジュールバス30に接続されている。
以上の構成において、本実施の形態では、FPGA16,26に、メモリバスB12,B22を介して共有メモリ17,27が接続されている。CPUモジュール20のFPGA26は、CPU21が共有メモリ27にアクセス中でメモリバスB22を占有中のときに、CPUモジュール10のCPU11から共有メモリ27へのアクセス要求があると、FPGA26は、CPU21のアクセスをCPU11のそれよりも優先するか、アクセス先着順とするか、CPU11のアクセスをCPU21のそれよりも優先するかの判断を行う。この判断により、共有メモリ27に対するCPU11,21のアクセスするためのバス調停を行うようになっている。
このバス調停を、図3を参照して説明する。図3でAは図1の点線(A)で示すCPU21の共有メモリ27へのアクセスを示し、Bは図1の点線(B)で示すCPU11の共有メモリ27へのアクセスを示す。
図3(a)で示すように、FPGA26は、CPU21のアクセスをCPU11のそれよりも優先する場合(A>B)では、CPU21が共有メモリ27にアクセス中であるときに、CPU11からアクセス要求があっても、CPU11にウエイトをかけ、CPU21のアクセスが終了すると、メモリバスB22を開放すると共に、CPU11に対するウエイトを解除して、CPU11のアクセスを許可する。
図3(b)で示すように、FPGA26は、アクセス先着順(A=B)の場合では、CPU21がCPU11よりも先に共有メモリ27にアクセスしているのであれば、CPU11にウエイトをかけ、CPU21のアクセスが終了すると、メモリバスB22を開放すると共に、CPU11に対するウエイトを解除して、CPU11のアクセスを許可する。
図3(c)で示すように、FPGA26は、CPU21のアクセスよりもCPU11のそれを優先する場合(A<B)では、CPU21が共有メモリ27にアクセス中であっても、CPU11からアクセス要求があると、CPU21にウエイトをかけ、CPU11のアクセスを優先的に許可し、CPU11のアクセスが終了すると、メモリバスB22を開放すると共に、CPU21のウエイトを解除して、CPU21のアクセス続行を許可する。
上記いずれのバス調停においても、各CPU11,21それぞれの内部バスB11,B21はバス調停から切り離されており、各CPU11,21は内部バスB11,B21を使用して制御を実行することができる。
そして、上記したようにFPGA26がバス調停を行うから、CPU21は、内部バスB21を用いてワークメモリ24にアクセスしてワークを行って負荷のデータ処理等ができると共に、CPU21は、バス調停を行う必要がなくなるので、バス調停に要していた時間を負荷のデータ処理に使用することができるようになり、負荷の高速制御が可能となる。
なお、CPUモジュール10のFPGA16、共有メモリ17も、同様に、バス調停を行うことができるようにしてもよい。
なお、図1で示す実施の形態では、ワークメモリ14,24とは別に共有メモリ17,27を設けているが、上記ワークメモリ14,24を共有メモリ17,27とすることもできる。
なお、図1で示す実施の形態では、共有メモリ17,27をそれぞれのCPUモジュール10,20が内蔵しているが、一方のCPUモジュール10にのみ共有メモリ17を設け、他方のCPUモジュール20の共有メモリ27を設けずに、かつ、その共有メモリ17をCPUモジュール10のFPGA16と、CPUモジュール20のFPGA26とに接続した構成とし、両FPGA16,26がバス調停するようにしてもよい。この場合、両FPGA16,26の間でバス調停に関するデータを通信して互いのバス調停を監視できるようにしてもよい。
図1は本発明の実施形態に係るプログラマブルコントローラの構成を示す図である。 図2はコンフィグレーションデータメモリの構成を示す図である。 図3は共有メモリへのアクセスのためのバス調停の説明に供する図である。 図4は従来のプログラマブルコントローラの構成を示す図である。 図5は共有メモリへのアクセスのためのバス調停の説明に供する図である。
符号の説明
10,20 CPUモジュール
30 モジュールバス
50 モジュール
11,21 CPU
12,22 システムメモリ
13,23 プログラムメモリ
14,24 ワークメモリ
15,25 コンフィグレーションデータメモリ
16,26 FPGA
17,27 共有メモリ
B11,B21 内部バス
B12,B22 メモリバス
B13,B23 外部バス

Claims (2)

  1. それぞれが制御プログラムを実行するCPUを内蔵した複数のCPUモジュールを備え、各CPUが少なくとも1つのメモリを共有メモリとするプログラマブルコントローラにおいて、各CPUが該共有メモリにアクセスするときのバス調停方式であって、
    それぞれのCPUモジュールは、内部のCPUそれぞれに内部バスを介してFPGAを接続し、各FPGAそれぞれを外部バスを介してモジュールバスに接続すると共に、少なくとも一方のFPGAにメモリバスを介して共有メモリを接続した構成となし、
    上記FPGAは、上記内部バスと切り離して各CPUの共有メモリへのアクセスのためのバス調停を行うように、その回路構成がコンフィグレーションされる、プログラマブルコントローラにおけるバス調停方式。
  2. それぞれが制御プログラムを実行するCPUを内蔵した複数のCPUモジュールを備え、各CPUが少なくとも1つのメモリを共有メモリとするプログラマブルコントローラであって、各CPUが該共有メモリにアクセスするときのバス調停方式が上記請求項1に記載の方式である、プログラマブルコントローラ。
JP2008213493A 2008-08-22 2008-08-22 バス調停方式およびマルチcpu構成のプログラマブルコントローラ Pending JP2010049510A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008213493A JP2010049510A (ja) 2008-08-22 2008-08-22 バス調停方式およびマルチcpu構成のプログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008213493A JP2010049510A (ja) 2008-08-22 2008-08-22 バス調停方式およびマルチcpu構成のプログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JP2010049510A true JP2010049510A (ja) 2010-03-04

Family

ID=42066542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008213493A Pending JP2010049510A (ja) 2008-08-22 2008-08-22 バス調停方式およびマルチcpu構成のプログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP2010049510A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413355B2 (en) 2014-09-26 2016-08-09 Canon Kabushiki Kaisha Information processing apparatus and control method therefor
CN109446130A (zh) * 2018-10-29 2019-03-08 杭州迪普科技股份有限公司 一种i/o设备状态信息的获取方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413355B2 (en) 2014-09-26 2016-08-09 Canon Kabushiki Kaisha Information processing apparatus and control method therefor
CN109446130A (zh) * 2018-10-29 2019-03-08 杭州迪普科技股份有限公司 一种i/o设备状态信息的获取方法及系统

Similar Documents

Publication Publication Date Title
US20160004647A1 (en) Method and circuit arrangement for accessing slave units in a system on chip in a controlled manner
JP2008176360A (ja) マルチプロセッサシステム
JP2007026366A (ja) メモリコントローラ
JP2009245009A (ja) 車両制御装置及びマルチコアプロセッサ
JP2010049510A (ja) バス調停方式およびマルチcpu構成のプログラマブルコントローラ
JP5322567B2 (ja) データ処理システム及び半導体集積回路
JP2005258509A (ja) ストレージ装置
JP2007272554A (ja) データ処理装置
JP2010049511A (ja) 共有メモリへのアクセス方式およびマルチcpu構成のプログラマブルコントローラ
US10540305B2 (en) Semiconductor device
US20080209085A1 (en) Semiconductor device and dma transfer method
JP2008077151A (ja) 共有メモリ装置
JP2009251783A (ja) マルチcpuバス占有方式
JP2007172430A (ja) 半導体集積回路
JP2020204877A (ja) 半導体装置及びその動作方法
EP2627007A2 (en) Semiconductor integrated circuit device and data processing system
US8764874B2 (en) Arrangement, method, integrated circuit and device for routing requests
JP2010049512A (ja) 高速バス転送方式およびマルチcpu構成のプログラマブルコントローラ
JP5644197B2 (ja) コンピュータシステムおよび割込要求処理方法
JP6535516B2 (ja) マルチ・プログラマブルデバイス・システムとその制御方法
JP2005107873A (ja) 半導体集積回路
TWI464593B (zh) 輸出輸入控制裝置與其控制方法
JP4887044B2 (ja) 半導体集積回路装置
JP5087884B2 (ja) データ処理ユニット、およびこれを使用したデータ処理装置
JP5000858B2 (ja) データ処理装置