JP2006301776A - デュアルポートramへのプログラム書き込み回路 - Google Patents
デュアルポートramへのプログラム書き込み回路 Download PDFInfo
- Publication number
- JP2006301776A JP2006301776A JP2005119669A JP2005119669A JP2006301776A JP 2006301776 A JP2006301776 A JP 2006301776A JP 2005119669 A JP2005119669 A JP 2005119669A JP 2005119669 A JP2005119669 A JP 2005119669A JP 2006301776 A JP2006301776 A JP 2006301776A
- Authority
- JP
- Japan
- Prior art keywords
- port ram
- dual port
- program
- cpu
- bit arithmetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
【課題】 バスの切り替え回路が単純で部品点数が少なく、かつCPUのアドレス空間をビット演算プロセッサ用RAMエリアに占有されず効率の良いデュアルポートRAMへのプログラム書き込み回路を提供する。
【解決手段】 ビット演算プロセッサのプログラムカウンタ2の出力をデュアルポートRAM1のアドレスに入力し、CPUがデュアルポートRAM1をアクセスするときは、プログラムカウンタ2にビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込む。
【選択図】図1
【解決手段】 ビット演算プロセッサのプログラムカウンタ2の出力をデュアルポートRAM1のアドレスに入力し、CPUがデュアルポートRAM1をアクセスするときは、プログラムカウンタ2にビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込む。
【選択図】図1
Description
本発明は、デュアルポートRAM上でユーザプログラムを実行しビット演算を行うビット演算プロセッサを内蔵するプログラマブルコントローラで、CPUが電源投入時にデュアルポートRAMにユーザプログラムを書き込むデュアルポートRAMへのプログラム書き込み回路に関する。
産業機械のシーケンス制御を行うプログラマブルコントローラでは、従来からビット演算を高速に実行する、ゲートアレーなどを用いたビット演算プロセッサが使用されている。(例えば特許文献1参照)
このビット演算プロセッサには、ユーザが作成したシーケンス制御用のユーザプログラムをRAMに格納して、実行するものがある。従来このRAMにデータを書き込むにはデュアルポートRAMを使用し、プログラマブルコントローラのメインとなるCPUとビット演算プロセッサの双方からランダムに読めるメモリー構成として、電源投入時にCPUからユーザプログラムをデュアルポートRAMに書き込んでいた。
このビット演算プロセッサには、ユーザが作成したシーケンス制御用のユーザプログラムをRAMに格納して、実行するものがある。従来このRAMにデータを書き込むにはデュアルポートRAMを使用し、プログラマブルコントローラのメインとなるCPUとビット演算プロセッサの双方からランダムに読めるメモリー構成として、電源投入時にCPUからユーザプログラムをデュアルポートRAMに書き込んでいた。
図3は、従来のデュアルポートRAMへのプログラム書き込み回路の例を示す図である。
1はデュアルポートRAMである。ビット演算プロセッサ用のユーザプログラムはCPUによって書き込まれるのでCPUに隷属しているので、通常のデュアルポートRAMのようにバスのアービトレーションは行わず、CPUの出力である、ビット演算プロセッサ/CPU選択信号によってバッファを切り換える。
なお、図3に示す回路はプログラム書き込み時だけでなく、電源投入後、ビット演算プロセッサが有効になると、ビット演算プロセッサのプログラムカウンタを使用し、デュアルポートRAMに格納されたユーザプログラムから、ビット演算の命令をインストラクションとして読み出し実行するときにも使用する。
図4は従来のデュアルポートRAMへのプログラム書き込み回路を使用するときのCPUのアドレス空間とその内容を示す図である。図の上から順に、CPUのシステムプログラムエリア、ビット演算プロセッサ用のユーザプログラムエリア、ビット演算プロセッサ用デュアルポートRAMエリア、システム用RAMエリア、I/Oエリアである。なお、ビット演算プロセッサ用のユーザプログラムはあらかじめ作業者により格納されているものとする。
プログラマブルコントローラ電源投入時に、CPUがビット演算プロセッサ用のユーザプログラムをデュアルポートRAM1に書き込むときは、ビット演算プロセッサ/CPU選択信号をCPU側にして、ビット演算プロセッサ用ユーザプログラムエリアにあるユーザプログラムをCPUから見たデュアルポートRAM1のアドレスを使用し、デュアルポートRAM1に書き込む。
特開平9−152904号公報(10頁、図6)
1はデュアルポートRAMである。ビット演算プロセッサ用のユーザプログラムはCPUによって書き込まれるのでCPUに隷属しているので、通常のデュアルポートRAMのようにバスのアービトレーションは行わず、CPUの出力である、ビット演算プロセッサ/CPU選択信号によってバッファを切り換える。
なお、図3に示す回路はプログラム書き込み時だけでなく、電源投入後、ビット演算プロセッサが有効になると、ビット演算プロセッサのプログラムカウンタを使用し、デュアルポートRAMに格納されたユーザプログラムから、ビット演算の命令をインストラクションとして読み出し実行するときにも使用する。
図4は従来のデュアルポートRAMへのプログラム書き込み回路を使用するときのCPUのアドレス空間とその内容を示す図である。図の上から順に、CPUのシステムプログラムエリア、ビット演算プロセッサ用のユーザプログラムエリア、ビット演算プロセッサ用デュアルポートRAMエリア、システム用RAMエリア、I/Oエリアである。なお、ビット演算プロセッサ用のユーザプログラムはあらかじめ作業者により格納されているものとする。
プログラマブルコントローラ電源投入時に、CPUがビット演算プロセッサ用のユーザプログラムをデュアルポートRAM1に書き込むときは、ビット演算プロセッサ/CPU選択信号をCPU側にして、ビット演算プロセッサ用ユーザプログラムエリアにあるユーザプログラムをCPUから見たデュアルポートRAM1のアドレスを使用し、デュアルポートRAM1に書き込む。
従来のデュアルポートRAMへのプログラム書き込み回路では、バスの切り替え回路が多く部品点数が多く、かつCPUのアドレス空間をビット演算プロセッサ用デュアルポートRAMエリアが占有してしまい、システムとしての効率が悪い。
そこで本発明は、このような問題点に鑑みてなされたものであり、バスの切り替え回路が単純で部品点数が少なく、かつCPUのアドレス空間をビット演算プロセッサ用デュアルポートRAMエリアに占有されず効率の良いデュアルポートRAMへのプログラム書き込み回路を提供することを目的とする。
そこで本発明は、このような問題点に鑑みてなされたものであり、バスの切り替え回路が単純で部品点数が少なく、かつCPUのアドレス空間をビット演算プロセッサ用デュアルポートRAMエリアに占有されず効率の良いデュアルポートRAMへのプログラム書き込み回路を提供することを目的とする。
上記問題を解決するため、本発明は、次のように構成したのである。
請求項1に記載の発明は、デュアルポートRAM上でユーザプログラムを実行しビット演算を行うビット演算プロセッサを内蔵するプログラマブルコントローラにあって、CPUが電源投入時あらかじめ前記プログラマブルコントローラ内に格納されているユーザプログラムを前記デュアルポートRAMに書き込むデュアルポートRAMへのプログラム書き込み回路において、前記ビット演算プロセッサのプログラムカウンタの出力を前記デュアルポートRAMのアドレスに入力し、前記CPUがデュアルポートRAMをアクセスするときは、前記プログラムカウンタに前記ビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込むことを特徴とするものである。
また、請求項2に記載の発明は、前記CPUが出力するデュアルポートRAMの書き込み信号で前記プログラムカウンタをカウントアップし、該プログラムカウンタをオートインクリメントすることを特徴とするものである。
請求項1に記載の発明は、デュアルポートRAM上でユーザプログラムを実行しビット演算を行うビット演算プロセッサを内蔵するプログラマブルコントローラにあって、CPUが電源投入時あらかじめ前記プログラマブルコントローラ内に格納されているユーザプログラムを前記デュアルポートRAMに書き込むデュアルポートRAMへのプログラム書き込み回路において、前記ビット演算プロセッサのプログラムカウンタの出力を前記デュアルポートRAMのアドレスに入力し、前記CPUがデュアルポートRAMをアクセスするときは、前記プログラムカウンタに前記ビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込むことを特徴とするものである。
また、請求項2に記載の発明は、前記CPUが出力するデュアルポートRAMの書き込み信号で前記プログラムカウンタをカウントアップし、該プログラムカウンタをオートインクリメントすることを特徴とするものである。
本発明によれば、ビット演算プロセッサのプログラムカウンタの出力をデュアルポートRAMのアドレスに入力し、CPUがデュアルポートRAMをアクセスするときは、プログラムカウンタにビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込むようにしたので、バスの切り替え回路が単純化され部品点数が少なくなると共に、CPUのアドレス空間をビット演算プロセッサ用RAMエリアに占有されず効率の良いデュアルポートRAMへのプログラム書き込み回路を提供することができる。
以下、本発明の実施の形態について図を参照して説明する。
図1は、本発明のデュアルポートRAMへのプログラム書き込み回路の例を示す図である。本回路が従来技術と異なる点は、アドレスを生成する回路部である。
1はデュアルポートRAM、2はビット演算プロセッサのプログラムカウンタである。
ビット演算プロセッサのプログラムカウンタ2は開始アドレスが設定出来るように、CPUのI/Oの一部となっている。すなわち、ここはCPUが直接アクセスできるため、図3の従来技術に示すように、わざわざバスバッファの切り換えを行う必要はない。
そこで、図1に示すようにデュアルポートRAM1のアドレスは常にプログラムカウンタの出力となるようにする。電源投入時、デュアルポートRAM1をCPUがアクセスするときはI/Oを経由してプログラムカウンタ2にビット演算プロセッサ側から見たデュアルポートRAMの該当アドレスを書き込めば良い。
このときビット演算プロセッサは起動されていないので、プログラムカウンタが自走することはない。デュアルポートRAM1のアドレスを変更するには再度CPUがプログラムカウンタ2に新たなアドレスを書き込めば良い。このときプログラムカウンタ2は単なるDタイプフリップフロップとして使用しているだけである。
なお、CPUが出力するデュアルポートRAMの書き込み信号でプログラムカウンタ2をカウントアップするようにすれば、プログラムカウンタ2はオートインクリメントを行うためCPUはアドレス変更ごとに毎回アドレスをセットする必要はなくなり、CPUの負荷を低減することができる。
1はデュアルポートRAM、2はビット演算プロセッサのプログラムカウンタである。
ビット演算プロセッサのプログラムカウンタ2は開始アドレスが設定出来るように、CPUのI/Oの一部となっている。すなわち、ここはCPUが直接アクセスできるため、図3の従来技術に示すように、わざわざバスバッファの切り換えを行う必要はない。
そこで、図1に示すようにデュアルポートRAM1のアドレスは常にプログラムカウンタの出力となるようにする。電源投入時、デュアルポートRAM1をCPUがアクセスするときはI/Oを経由してプログラムカウンタ2にビット演算プロセッサ側から見たデュアルポートRAMの該当アドレスを書き込めば良い。
このときビット演算プロセッサは起動されていないので、プログラムカウンタが自走することはない。デュアルポートRAM1のアドレスを変更するには再度CPUがプログラムカウンタ2に新たなアドレスを書き込めば良い。このときプログラムカウンタ2は単なるDタイプフリップフロップとして使用しているだけである。
なお、CPUが出力するデュアルポートRAMの書き込み信号でプログラムカウンタ2をカウントアップするようにすれば、プログラムカウンタ2はオートインクリメントを行うためCPUはアドレス変更ごとに毎回アドレスをセットする必要はなくなり、CPUの負荷を低減することができる。
図2は、本発明のデュアルポートRAMへのプログラム書き込み回路を使用するときのCPUのアドレスと内容を示す図である。ビット演算プロセッサプログラムカウンタ用エリアが数バイト必要になるが、図4にあるビット演算プロセッサ用デュアルポートRAMエリアは不要となる。
このように、ビット演算プロセッサのプログラムカウンタの出力をデュアルポートRAMのアドレスに入力し、CPUがデュアルポートRAMをアクセスするときは、プログラムカウンタにビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込むようにしたので、バスの切り替え回路が単純化され部品点数が少なくなると共に、CPUのアドレス空間をビット演算プロセッサ用デュアルポートRAMエリアに占有されず効率の良いデュアルポートRAMへのプログラム書き込み回路を提供することができる。
このように、ビット演算プロセッサのプログラムカウンタの出力をデュアルポートRAMのアドレスに入力し、CPUがデュアルポートRAMをアクセスするときは、プログラムカウンタにビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込むようにしたので、バスの切り替え回路が単純化され部品点数が少なくなると共に、CPUのアドレス空間をビット演算プロセッサ用デュアルポートRAMエリアに占有されず効率の良いデュアルポートRAMへのプログラム書き込み回路を提供することができる。
1 デュアルポートRAM
2 プログラムカウンタ
2 プログラムカウンタ
Claims (2)
- デュアルポートRAM上でユーザプログラムを実行しビット演算を行うビット演算プロセッサを内蔵するプログラマブルコントローラにあって、CPUが電源投入時あらかじめ前記プログラマブルコントローラ内に格納されているユーザプログラムを前記デュアルポートRAMに書き込むデュアルポートRAMへのプログラム書き込み回路において、
前記ビット演算プロセッサのプログラムカウンタの出力を前記デュアルポートRAMのアドレスに入力し、
前記CPUがデュアルポートRAMをアクセスするときは、前記プログラムカウンタに前記ビット演算プロセッサから見たデュアルポートRAMのアドレスを書き込むことを特徴とするデュアルポートRAMへのプログラム書き込み回路。 - 前記CPUが出力するデュアルポートRAMの書き込み信号で前記プログラムカウンタをカウントアップし、該プログラムカウンタをオートインクリメントすることを特徴とする請求項1記載のデュアルポートRAMへのプログラム書き込み回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005119669A JP2006301776A (ja) | 2005-04-18 | 2005-04-18 | デュアルポートramへのプログラム書き込み回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005119669A JP2006301776A (ja) | 2005-04-18 | 2005-04-18 | デュアルポートramへのプログラム書き込み回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006301776A true JP2006301776A (ja) | 2006-11-02 |
Family
ID=37470021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005119669A Pending JP2006301776A (ja) | 2005-04-18 | 2005-04-18 | デュアルポートramへのプログラム書き込み回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006301776A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254218A (zh) * | 2011-07-02 | 2011-11-23 | 广西工学院 | Arm+fpga组成的计数器装置及其实现方法 |
-
2005
- 2005-04-18 JP JP2005119669A patent/JP2006301776A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254218A (zh) * | 2011-07-02 | 2011-11-23 | 广西工学院 | Arm+fpga组成的计数器装置及其实现方法 |
CN102254218B (zh) * | 2011-07-02 | 2014-02-26 | 广西工学院 | Arm+fpga组成的计数器装置及其实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009134565A (ja) | 仮想計算機システム及び仮想計算機システムの制御方法 | |
JP2006301776A (ja) | デュアルポートramへのプログラム書き込み回路 | |
KR900006854A (ko) | 프로그램어블 콘트롤러 | |
JP2012022479A (ja) | マイクロコントローラ及びその制御方法 | |
JP2009205277A (ja) | 工作機械の制御装置 | |
JP3349942B2 (ja) | 命令メモリ回路 | |
JP2006330778A (ja) | データトレース装置及びプログラムデバッグ装置 | |
JPH08249018A (ja) | マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JP2010049511A (ja) | 共有メモリへのアクセス方式およびマルチcpu構成のプログラマブルコントローラ | |
JP2010049556A (ja) | 画像処理装置 | |
JPH064398A (ja) | 情報処理装置 | |
JP5993687B2 (ja) | ワンチッププロセッサ | |
JP2009093270A (ja) | コンピュータシステム及びその起動方法 | |
JP2860655B2 (ja) | 並列命令実行型プロセッサ | |
JP2007058256A (ja) | プログラマブルコントローラ | |
JP2005267362A (ja) | Simdプロセッサを用いた画像処理方法及び画像処理装置 | |
JP2005250763A (ja) | マイクロプロセッサシステム | |
JP2007310524A (ja) | 演算プロセッサとモータ制御装置 | |
JP2016143367A (ja) | プログラマブルコントローラ | |
JP2006139645A (ja) | プロセッサおよび演算処理方法 | |
JP2010205094A (ja) | 電子制御装置およびプログラム起動切替方法 | |
JP2006259966A (ja) | 画像処理装置 | |
JP2007328647A (ja) | Cpu間のデータ転送方式 | |
JP2005056033A (ja) | レジスタ回路 |