JP2784001B2 - プログラマブルコントローラの命令処理回路 - Google Patents
プログラマブルコントローラの命令処理回路Info
- Publication number
- JP2784001B2 JP2784001B2 JP62211773A JP21177387A JP2784001B2 JP 2784001 B2 JP2784001 B2 JP 2784001B2 JP 62211773 A JP62211773 A JP 62211773A JP 21177387 A JP21177387 A JP 21177387A JP 2784001 B2 JP2784001 B2 JP 2784001B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bit
- clock
- unit
- flag
- 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.)
- Expired - Lifetime
Links
Landscapes
- Programmable Controllers (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
[技術分野]
本発明はプログラマブルコントローラの命令処理回路
に関するものである。 [背景技術] プログラマブルコントローラの高速化が最近要求さ
れ、基本命令の実行速度が1.0μs以下の中型や大型機
種が実現されている。 しかしこれらの機種はビットスライスの組み合わせで
高速処理を図っているため、高速化ハードウェアのコス
トが高く、命令処理回路全体のコストが小型機種に比べ
て相当高くなり、コストと性能とのバランスがとれてい
ないという欠点があった。 又そしてI/O点数が128点以下の小型機種に対しても高
速化の要求が高まっているが、コストの面で問題があっ
た。 [発明の目的] 本発明は上述の問題点に鑑みて為されたもので、その
目的とするところは低コストで、高速化を図ったプログ
ラマブルコントローラの命令処理回路を提供するにあ
る。 [発明の開示] 本発明はユーザプログラムのアドレス及びデータメモ
リのアドレスを出力するアドレス発生部と、プログラム
メモリから読み出した命令を記憶して記憶した命令のデ
コードを行う命令フエッチ部と、データメモリから読み
出されたデータを格納するデータレジスタ、基本的なビ
ット操作の命令を演算するビットALU部、該ビットALU部
の演算結果を格納するフラグ部、タイマ命令、カウンタ
命令、シフトレジスタ命令を16ビット並列処理するため
のAcc部、減算、シフトを行うワードALU部、タイマ命令
専用のシフトと加算とを行うサブワードALU部から少な
くともなる演算実行部と、制御クロックを発生させる制
御クロック発生部とをゲートアレイで構成したプログラ
マブルコントローラの命令処理回路において、微分命令
の場合には、命令を格納したプログラムメモリに接続さ
れる16ビットデータバスとは別に、第1のクロックで前
スキャンの結果を、ビット専用バスにより1ビットRAM
からなるデータメモリよりロードし、第2のクロックに
より現スキャンの演算結果のフラグを上記1ビットRAM
からなるデータッモリに格納し、第2のクロックの立ち
下がりで演算結果をフラグ部にセットすることを特徴と
する。 以下本発明を実施例により説明する。 第1図は他の周辺回路を含めて2500ゲート程度でゲー
トアレイ化することができる本発明の実施例の回路構成
を示しており、本実施例の命令処理回路を大別すると、
アドレス発生部Aと、命令フエッチ部Bと、演算実行部
Cと、その他の部分を構成するCPUコマンドレジスタD
と、制御クロック発生部E等から構成されている。 アドレス発生部Aはプログラムカウンタ1と、データ
実アドレス部2とからなり、プログラムカウンタ1はバ
イナリカウンタで構成され、ユーザプログラムを格納し
たプログラムメモリ(図示せず)のアドレスを出力す
る。またデータ実アドレス部2は命令デコーダ信号とク
ロックステートの組合わせによりデータメモリ(図示せ
ず)のアドレスを出力する。 命令フエッチ部は、命令レジスタ3と、命令デコード
部4とからなり、命令レジスタ3はプログラムメモリか
らの命令を読み出して記憶するレジスタであり、命令デ
コード部4は命令レジスタ3に記憶された命令のデコー
ドを行い、上記アドレス発生部Aと、制御クロック発生
部Dと、演算実行部Cとに信号を出す。 演算実行部Cはデータレジスタ5と、ビットALU6と、
フラグ部7と、OUTL・A部8と、演算ステータスレジス
タ9と、Acc部10と、wALU部(ワードALU部)11と、swAL
U部(サブワードALU部)12と、Rレジスタ13と、タイム
ベースクロックカウンタ(BCNTと以下略す)14,15とか
らなり、データレジスタ5はデータメモリから読み出さ
れた接点データが16ビット単位で格納されるものであ
り、ビットALU部6は1ビット論理演算命令の演算部を
構成し、演算結果をフラグ部7に格納する。フラグ部7
は16ビットで構成された演算結果フラグレジスタで、上
記ビットALU部6との組み合わせで演算を行う。OUTL・
A部8はOUT命令、Keep命令等の出力命令を実行すると
き上記データレジスタ5とフラグ部7の値により接点デ
ータを操作するロジック部である。更に演算ステータス
レジスタ9はタイマ命令、カウンタ命令及びシフトレジ
スタ命令を実行するとき、前スキャンのフラグ部7の内
容をAcc部10に転送しておき、そのAcc部10と直前のフラ
グ部7の内容の組み合わせで、リセット、保持、演算の
動作モードを記憶するレジスタである。Acc部10はタイ
マ命令、カウンタ命令及びシフトレジスタ命令を実行す
るための16ビットアキュムレータであって、wALU部11と
の組み合わせで転送、シフト、減算等の機能を実現す
る。wALU部11は上記Acc部10との組み合わせで転送、シ
フト、減算等の機能を実現するロジック部である。swAL
U部12はタイマ命令専用の演算ロジック部で、Rレジス
タ13、BCNT14,15との組み合わせで、加算、シフト、転
送等の機能を実現するものである。Rレジスタ13はswAL
U部12との組合わせにより、BCNT14,15からの転送、BCNT
14,15との加算及びシフト機能を実現するためのもの
で、内容がwALU部11を介してAcc部10との減算機能にも
使用される。 BCNT14,15はタイマ命令を実行するときに、タイマ命
令、例えば10msec,100msecの基準クロックに該当する値
が夫々格納されるレジスタである。 CPUコマンドレジスタDは命令処理回路全体の動作モ
ードを指定するレジスタで、1ステップ動作、ブレーク
ポイント機能等を指定することができる。 制御クロック発生部Eは基本クロックCLKに基づいて
命令処理回路に必要な制御信号を作成するものであっ
て、制御クロック発生部Eには第2図に示す演算に必要
なクロックCK1,CK2,CK3を作成するための基準クロック
発生回路16を設けている。該基準クロック発生回路16は
3進カウンタ16aに基本クロックCLKを入力して上記クロ
ックCK1,CK2,CK3を作り出しており、クロックCK1は命令
のフェッチクロックとなり、クロックCK2はデータのロ
ード、又はフラグ(ステータス)の書き込みを行うクロ
ックとなり、該クロックCK2においてSTARTやANDの基本
命令の1ビット処理をビットALU部6とフラグ部7とを
用いて演算が為される。 そして微分命令の場合はクロックCK1で前スキャンの
結果を、命令を格納したプログラムメモリを構成するRA
Mを接続した16ビットデータバスD0〜D15とは別に、1ビ
ット専用バスSDにより1ビットRAMからなるデータメモ
リよりロードし、クロックCK2により現スキャンの演算
結果のフラグを1ビットRAMからなるデータメモリに格
納し、クロックCK2の立ち下がりで演算結果をフラグ部
7にセットするようになっている。 次に本発明命令処理回路の動作を第3図乃至第5図の
タイムチャートに基づいて説明する。 まず第3図はSTART、ANDの基本命令の実行タイムチャ
ートであって、同図(a)は基本クロックCLKを示し、
この基本クロックCLKに基づいて制御クロック発生部E
より同図(b)に示すAEN(アドレスイネーブル)信号
が発生し、本発明回路が能動状態に切替わる。つまりAE
N信号は本発明回路の能動、受動の各状態をハード的に
切り替える信号で、“H"のときに能動状態とする。 そして同図(i)(j)に示すチップセレクト信号で
ある▲▼信号、▲▼信号を制御クロツ
ク発生部Eより発生し、16ビットデータバスD0〜D15に
接続されるRAM及び1ビット専用バスSDに接続された1
ビットRAMをチップセレクトし、同図(n)の▲
▼信号によりプログラムカウンタ1のアドレス出力a
を選択してアドレスバスA1〜A15に同図(p)に示すよ
うに出力させる。そして上記AEN信号と、同図(c)に
示すクロックCK1とを組み合わせて作成された同図
(g)に示すラッチクロック信号であるOPCK信号により
命令レジスタ3にプログラムメモリからの命令を同図
(q)に示すように読み込み、命令デコード部4で命令
のデコードを行いアドレス発生部A、制御クロック発生
部E及び演算実行部Cにデコードに基づいた信号を出力
する。そしてOPCK信号の立ち下がりで、同図(o)に示
す▲▼信号をデータ実アドレス部2に与え、デー
タメモリのアドレスbを選択しA1〜A15のアドレスバス
に出力させる。このアドレス出力によりデータメモリよ
り接点データ(DATA)をデータレジスタ5に取込ませ、
そしてビットALU部6及びフラグ部7により演算を行わ
せる。このタイミングが同図(h)に示す期間であり、
同図(d)に示すクロックCK2の立ち下がり時点で演算
結果をフラグ部7に格納する。またこの期間の途中で同
図(m)に示すPCiNC信号をプログラムカウンタ1に与
えて、その立ち上がり時点でプログラムカウンタ1の値
をインクリメントさせる。ここでアドレスとしてはA0が
“L"に固定しているため、PC←PC+2の形になる。 そして同図(e)に示すクロックCK3の立ち下がり
で、リセットがかかり、この時点で、演算実行が終了す
る。 尚クロックCK3のパルス幅が短いのは基準クロック発
生回路16の3進カウンタ16aがリセット信号RESTにより
リセットされるためである。 ところで第3図(f)に示すsync信号はマシンサイク
ルの先頭を示すクロックで、このクロック発生期間Tが
命令実行時間Tとなり、例えば基準クロックCLKが5MHz
であれば命令実行時間Tは0.4μsとなり、4MHzであれ
ば0.5μsとなる。 又同図(k)(l)はメモリに対する読出信号▲
▼、書込信号▲▼を示す。 次に微分命令の処理に付いて第4図の実行タイムチャ
ートにより説明する。 第4図の(a)〜(g)及び(i)〜(q)は第3図
の(a)〜(g)及び(i)〜(q)に対応しており、
本命令の処理を行う場合には、▲▼信号により
プログラムカウンタ1のアドレス出力を選択してアドレ
スaをアドレスバスA1〜A15に出力し、クロックCK1にお
いて前スキャンの演算結果を1ビットRAMからロードし
て、クロックCK2では現スキャンの演算結果フラグの値
を1ビットRAMに格納させ(第4図(h)の期間)、ク
ロックCK2の立ち下がりで演算結果をフラグ部7にセッ
トするのである。 第5図はタイマ、カウンタ、シフトレジスタの各命令
処理を行う場合の実行タイムチャートを示しており、同
図(a)に示すようにsync信号の間隔、つまり命令実行
時間Tは同図(b)に示す基準クロックCLKの10個分に
対応しており、基準クロックCLKが5MHzなら2.0μsとな
る。 これらの命令に対しては第2図に示す基準発生クロッ
ク回路16では第5図(d),(e),(f)に示すクロ
ックCK1,CK2,CK3の他に、第5図(g)(h)示すφ1
とφ2相クロックを作成し、φ1のクロックをマシンス
テートカウンタ16bのクロック入力とし、クロックφ2
と第5図(i)に示すマシンステートカウンタ16bの出
力とを組み合わせて制御クロックを作る。そしてAcc部1
0と、wALU部11を中心に減算、カウント、右シフトを行
い、特にタイマ命令の場合swALU部12とRレジスタ13と
によって補助的な演算を平行して行うのである。 而して第5図(c)に示すAEN信号と、同図(d)に
示すクロックCK1とを組み合わせて作成される同図
(j)に示すOPCK信号により命令フエッチを行い、次に
同図(k)に示すステータスフェツチの場合、同図
(n)に示すAcc▲▼信号により前スキャンの演算
結果フラグを演算ステータスレジス9からAcc部10に転
送し、同図(p)のR▲▼信号によりBCNT1415の値
をRレジスタ13に転送する。次に同図(l)に示すデー
タロードにより接点データをデータレジスタ5に格納さ
せ、次に演算結果フラグと、Acc部10とによって、同図
(m)のステータス演算クロツクに基づいて演算条件を
作り、その結果を演算ステータスレジスタ9に格納させ
る。この結果により以後のステートでの処理が異なるの
である。 シフト、減算、インクリメント等の処理は同図(t)
に示すAccCLK信号により16ビット一括で演算を行う。タ
イマ命令の場合は同図(r)のTMP1信号でBCNT14又は15
の値とRレジスタ13とを加算して、その結果をRレジス
タ13に格納して同図(q)に示すラッチ信号によりRレ
ジスタ13をラッチし、同図(s)の2SRP信号によりRレ
ジスタ13を2シフトさせる。この際、現在値又は設定値
をAcc部10に転送させる。そして同図(t)のAccCLK信
号によりRレジスタ13の値がAcc部10によって減算され
る。又同図(o)のAcc▲▼信号によりAcc部10を出
力エネーブルとする。 尚第5図(u)の▲▼信号は現スキャンの
演算結果フラグをタイマ、カウンタのステータスエリア
に出力させるクロックであり、同図(v)の▲
▼信号は接点データをビットALU部6によって操作し
て出力させるクロックである。また同図(w)は▲
▼信号を、同図(x)を▲▼信号を、同図
(y)は▲▼信号を、同図(z)を▲
▼信号を夫々示す。また同図(α)はPCiNC信号を夫々
示す。 また同図(β)に示すINTCLK信号は命令実行終了時に
割り込みとか拡張命令等を検出し、これらの信号が入っ
ていれば命令の実行完了後、AEN信号を“H"から“L"に
切換え、本発明回路を受動状態に設定するための信号で
ある。 [発明の効果] 本発明は上述のように構成しており、ビット操作命
令、微分命令、タイマ命令、カウンタ命令などの各命令
を実行する専用の演算回路を設けているので、最短のマ
シンサイクルで各命令を実行することができ、命令処理
を高速処理することが可能となる。また周辺回路を内蔵
してもゲート数を少なくすることができ、ゲートアレイ
とメモリの2つの部品で構成できるのでコストを低減す
ることができ、16ビットCPUとマルチプロセッサ構成が
容易に実現できるという効果を奏する。また微分命令の
場合には、命令を格納したプログラムメモリに接続され
る16ビートデータバスとは別に、第1のクロックで前ス
キャンの結果を、ビット専用バスにより1ビットRAMか
らなるデータメモリよりロードし、第2のクロックによ
り現スキャンの演算結果のフラグを上記1ビットRAMか
らなるデータメモリに格納し、第2のクロックの立ち下
がりで演算結果をフラグ部にセットするので、微分命令
の場合には、16ビットのデータではなく、それに1ビッ
トを加えた17ビット構成とすることにより、微分命令の
使用の制限を無くし、しかも最短の2サイクルにより高
速化処理が図れるという効果を奏する。
に関するものである。 [背景技術] プログラマブルコントローラの高速化が最近要求さ
れ、基本命令の実行速度が1.0μs以下の中型や大型機
種が実現されている。 しかしこれらの機種はビットスライスの組み合わせで
高速処理を図っているため、高速化ハードウェアのコス
トが高く、命令処理回路全体のコストが小型機種に比べ
て相当高くなり、コストと性能とのバランスがとれてい
ないという欠点があった。 又そしてI/O点数が128点以下の小型機種に対しても高
速化の要求が高まっているが、コストの面で問題があっ
た。 [発明の目的] 本発明は上述の問題点に鑑みて為されたもので、その
目的とするところは低コストで、高速化を図ったプログ
ラマブルコントローラの命令処理回路を提供するにあ
る。 [発明の開示] 本発明はユーザプログラムのアドレス及びデータメモ
リのアドレスを出力するアドレス発生部と、プログラム
メモリから読み出した命令を記憶して記憶した命令のデ
コードを行う命令フエッチ部と、データメモリから読み
出されたデータを格納するデータレジスタ、基本的なビ
ット操作の命令を演算するビットALU部、該ビットALU部
の演算結果を格納するフラグ部、タイマ命令、カウンタ
命令、シフトレジスタ命令を16ビット並列処理するため
のAcc部、減算、シフトを行うワードALU部、タイマ命令
専用のシフトと加算とを行うサブワードALU部から少な
くともなる演算実行部と、制御クロックを発生させる制
御クロック発生部とをゲートアレイで構成したプログラ
マブルコントローラの命令処理回路において、微分命令
の場合には、命令を格納したプログラムメモリに接続さ
れる16ビットデータバスとは別に、第1のクロックで前
スキャンの結果を、ビット専用バスにより1ビットRAM
からなるデータメモリよりロードし、第2のクロックに
より現スキャンの演算結果のフラグを上記1ビットRAM
からなるデータッモリに格納し、第2のクロックの立ち
下がりで演算結果をフラグ部にセットすることを特徴と
する。 以下本発明を実施例により説明する。 第1図は他の周辺回路を含めて2500ゲート程度でゲー
トアレイ化することができる本発明の実施例の回路構成
を示しており、本実施例の命令処理回路を大別すると、
アドレス発生部Aと、命令フエッチ部Bと、演算実行部
Cと、その他の部分を構成するCPUコマンドレジスタD
と、制御クロック発生部E等から構成されている。 アドレス発生部Aはプログラムカウンタ1と、データ
実アドレス部2とからなり、プログラムカウンタ1はバ
イナリカウンタで構成され、ユーザプログラムを格納し
たプログラムメモリ(図示せず)のアドレスを出力す
る。またデータ実アドレス部2は命令デコーダ信号とク
ロックステートの組合わせによりデータメモリ(図示せ
ず)のアドレスを出力する。 命令フエッチ部は、命令レジスタ3と、命令デコード
部4とからなり、命令レジスタ3はプログラムメモリか
らの命令を読み出して記憶するレジスタであり、命令デ
コード部4は命令レジスタ3に記憶された命令のデコー
ドを行い、上記アドレス発生部Aと、制御クロック発生
部Dと、演算実行部Cとに信号を出す。 演算実行部Cはデータレジスタ5と、ビットALU6と、
フラグ部7と、OUTL・A部8と、演算ステータスレジス
タ9と、Acc部10と、wALU部(ワードALU部)11と、swAL
U部(サブワードALU部)12と、Rレジスタ13と、タイム
ベースクロックカウンタ(BCNTと以下略す)14,15とか
らなり、データレジスタ5はデータメモリから読み出さ
れた接点データが16ビット単位で格納されるものであ
り、ビットALU部6は1ビット論理演算命令の演算部を
構成し、演算結果をフラグ部7に格納する。フラグ部7
は16ビットで構成された演算結果フラグレジスタで、上
記ビットALU部6との組み合わせで演算を行う。OUTL・
A部8はOUT命令、Keep命令等の出力命令を実行すると
き上記データレジスタ5とフラグ部7の値により接点デ
ータを操作するロジック部である。更に演算ステータス
レジスタ9はタイマ命令、カウンタ命令及びシフトレジ
スタ命令を実行するとき、前スキャンのフラグ部7の内
容をAcc部10に転送しておき、そのAcc部10と直前のフラ
グ部7の内容の組み合わせで、リセット、保持、演算の
動作モードを記憶するレジスタである。Acc部10はタイ
マ命令、カウンタ命令及びシフトレジスタ命令を実行す
るための16ビットアキュムレータであって、wALU部11と
の組み合わせで転送、シフト、減算等の機能を実現す
る。wALU部11は上記Acc部10との組み合わせで転送、シ
フト、減算等の機能を実現するロジック部である。swAL
U部12はタイマ命令専用の演算ロジック部で、Rレジス
タ13、BCNT14,15との組み合わせで、加算、シフト、転
送等の機能を実現するものである。Rレジスタ13はswAL
U部12との組合わせにより、BCNT14,15からの転送、BCNT
14,15との加算及びシフト機能を実現するためのもの
で、内容がwALU部11を介してAcc部10との減算機能にも
使用される。 BCNT14,15はタイマ命令を実行するときに、タイマ命
令、例えば10msec,100msecの基準クロックに該当する値
が夫々格納されるレジスタである。 CPUコマンドレジスタDは命令処理回路全体の動作モ
ードを指定するレジスタで、1ステップ動作、ブレーク
ポイント機能等を指定することができる。 制御クロック発生部Eは基本クロックCLKに基づいて
命令処理回路に必要な制御信号を作成するものであっ
て、制御クロック発生部Eには第2図に示す演算に必要
なクロックCK1,CK2,CK3を作成するための基準クロック
発生回路16を設けている。該基準クロック発生回路16は
3進カウンタ16aに基本クロックCLKを入力して上記クロ
ックCK1,CK2,CK3を作り出しており、クロックCK1は命令
のフェッチクロックとなり、クロックCK2はデータのロ
ード、又はフラグ(ステータス)の書き込みを行うクロ
ックとなり、該クロックCK2においてSTARTやANDの基本
命令の1ビット処理をビットALU部6とフラグ部7とを
用いて演算が為される。 そして微分命令の場合はクロックCK1で前スキャンの
結果を、命令を格納したプログラムメモリを構成するRA
Mを接続した16ビットデータバスD0〜D15とは別に、1ビ
ット専用バスSDにより1ビットRAMからなるデータメモ
リよりロードし、クロックCK2により現スキャンの演算
結果のフラグを1ビットRAMからなるデータメモリに格
納し、クロックCK2の立ち下がりで演算結果をフラグ部
7にセットするようになっている。 次に本発明命令処理回路の動作を第3図乃至第5図の
タイムチャートに基づいて説明する。 まず第3図はSTART、ANDの基本命令の実行タイムチャ
ートであって、同図(a)は基本クロックCLKを示し、
この基本クロックCLKに基づいて制御クロック発生部E
より同図(b)に示すAEN(アドレスイネーブル)信号
が発生し、本発明回路が能動状態に切替わる。つまりAE
N信号は本発明回路の能動、受動の各状態をハード的に
切り替える信号で、“H"のときに能動状態とする。 そして同図(i)(j)に示すチップセレクト信号で
ある▲▼信号、▲▼信号を制御クロツ
ク発生部Eより発生し、16ビットデータバスD0〜D15に
接続されるRAM及び1ビット専用バスSDに接続された1
ビットRAMをチップセレクトし、同図(n)の▲
▼信号によりプログラムカウンタ1のアドレス出力a
を選択してアドレスバスA1〜A15に同図(p)に示すよ
うに出力させる。そして上記AEN信号と、同図(c)に
示すクロックCK1とを組み合わせて作成された同図
(g)に示すラッチクロック信号であるOPCK信号により
命令レジスタ3にプログラムメモリからの命令を同図
(q)に示すように読み込み、命令デコード部4で命令
のデコードを行いアドレス発生部A、制御クロック発生
部E及び演算実行部Cにデコードに基づいた信号を出力
する。そしてOPCK信号の立ち下がりで、同図(o)に示
す▲▼信号をデータ実アドレス部2に与え、デー
タメモリのアドレスbを選択しA1〜A15のアドレスバス
に出力させる。このアドレス出力によりデータメモリよ
り接点データ(DATA)をデータレジスタ5に取込ませ、
そしてビットALU部6及びフラグ部7により演算を行わ
せる。このタイミングが同図(h)に示す期間であり、
同図(d)に示すクロックCK2の立ち下がり時点で演算
結果をフラグ部7に格納する。またこの期間の途中で同
図(m)に示すPCiNC信号をプログラムカウンタ1に与
えて、その立ち上がり時点でプログラムカウンタ1の値
をインクリメントさせる。ここでアドレスとしてはA0が
“L"に固定しているため、PC←PC+2の形になる。 そして同図(e)に示すクロックCK3の立ち下がり
で、リセットがかかり、この時点で、演算実行が終了す
る。 尚クロックCK3のパルス幅が短いのは基準クロック発
生回路16の3進カウンタ16aがリセット信号RESTにより
リセットされるためである。 ところで第3図(f)に示すsync信号はマシンサイク
ルの先頭を示すクロックで、このクロック発生期間Tが
命令実行時間Tとなり、例えば基準クロックCLKが5MHz
であれば命令実行時間Tは0.4μsとなり、4MHzであれ
ば0.5μsとなる。 又同図(k)(l)はメモリに対する読出信号▲
▼、書込信号▲▼を示す。 次に微分命令の処理に付いて第4図の実行タイムチャ
ートにより説明する。 第4図の(a)〜(g)及び(i)〜(q)は第3図
の(a)〜(g)及び(i)〜(q)に対応しており、
本命令の処理を行う場合には、▲▼信号により
プログラムカウンタ1のアドレス出力を選択してアドレ
スaをアドレスバスA1〜A15に出力し、クロックCK1にお
いて前スキャンの演算結果を1ビットRAMからロードし
て、クロックCK2では現スキャンの演算結果フラグの値
を1ビットRAMに格納させ(第4図(h)の期間)、ク
ロックCK2の立ち下がりで演算結果をフラグ部7にセッ
トするのである。 第5図はタイマ、カウンタ、シフトレジスタの各命令
処理を行う場合の実行タイムチャートを示しており、同
図(a)に示すようにsync信号の間隔、つまり命令実行
時間Tは同図(b)に示す基準クロックCLKの10個分に
対応しており、基準クロックCLKが5MHzなら2.0μsとな
る。 これらの命令に対しては第2図に示す基準発生クロッ
ク回路16では第5図(d),(e),(f)に示すクロ
ックCK1,CK2,CK3の他に、第5図(g)(h)示すφ1
とφ2相クロックを作成し、φ1のクロックをマシンス
テートカウンタ16bのクロック入力とし、クロックφ2
と第5図(i)に示すマシンステートカウンタ16bの出
力とを組み合わせて制御クロックを作る。そしてAcc部1
0と、wALU部11を中心に減算、カウント、右シフトを行
い、特にタイマ命令の場合swALU部12とRレジスタ13と
によって補助的な演算を平行して行うのである。 而して第5図(c)に示すAEN信号と、同図(d)に
示すクロックCK1とを組み合わせて作成される同図
(j)に示すOPCK信号により命令フエッチを行い、次に
同図(k)に示すステータスフェツチの場合、同図
(n)に示すAcc▲▼信号により前スキャンの演算
結果フラグを演算ステータスレジス9からAcc部10に転
送し、同図(p)のR▲▼信号によりBCNT1415の値
をRレジスタ13に転送する。次に同図(l)に示すデー
タロードにより接点データをデータレジスタ5に格納さ
せ、次に演算結果フラグと、Acc部10とによって、同図
(m)のステータス演算クロツクに基づいて演算条件を
作り、その結果を演算ステータスレジスタ9に格納させ
る。この結果により以後のステートでの処理が異なるの
である。 シフト、減算、インクリメント等の処理は同図(t)
に示すAccCLK信号により16ビット一括で演算を行う。タ
イマ命令の場合は同図(r)のTMP1信号でBCNT14又は15
の値とRレジスタ13とを加算して、その結果をRレジス
タ13に格納して同図(q)に示すラッチ信号によりRレ
ジスタ13をラッチし、同図(s)の2SRP信号によりRレ
ジスタ13を2シフトさせる。この際、現在値又は設定値
をAcc部10に転送させる。そして同図(t)のAccCLK信
号によりRレジスタ13の値がAcc部10によって減算され
る。又同図(o)のAcc▲▼信号によりAcc部10を出
力エネーブルとする。 尚第5図(u)の▲▼信号は現スキャンの
演算結果フラグをタイマ、カウンタのステータスエリア
に出力させるクロックであり、同図(v)の▲
▼信号は接点データをビットALU部6によって操作し
て出力させるクロックである。また同図(w)は▲
▼信号を、同図(x)を▲▼信号を、同図
(y)は▲▼信号を、同図(z)を▲
▼信号を夫々示す。また同図(α)はPCiNC信号を夫々
示す。 また同図(β)に示すINTCLK信号は命令実行終了時に
割り込みとか拡張命令等を検出し、これらの信号が入っ
ていれば命令の実行完了後、AEN信号を“H"から“L"に
切換え、本発明回路を受動状態に設定するための信号で
ある。 [発明の効果] 本発明は上述のように構成しており、ビット操作命
令、微分命令、タイマ命令、カウンタ命令などの各命令
を実行する専用の演算回路を設けているので、最短のマ
シンサイクルで各命令を実行することができ、命令処理
を高速処理することが可能となる。また周辺回路を内蔵
してもゲート数を少なくすることができ、ゲートアレイ
とメモリの2つの部品で構成できるのでコストを低減す
ることができ、16ビットCPUとマルチプロセッサ構成が
容易に実現できるという効果を奏する。また微分命令の
場合には、命令を格納したプログラムメモリに接続され
る16ビートデータバスとは別に、第1のクロックで前ス
キャンの結果を、ビット専用バスにより1ビットRAMか
らなるデータメモリよりロードし、第2のクロックによ
り現スキャンの演算結果のフラグを上記1ビットRAMか
らなるデータメモリに格納し、第2のクロックの立ち下
がりで演算結果をフラグ部にセットするので、微分命令
の場合には、16ビットのデータではなく、それに1ビッ
トを加えた17ビット構成とすることにより、微分命令の
使用の制限を無くし、しかも最短の2サイクルにより高
速化処理が図れるという効果を奏する。
【図面の簡単な説明】
第1図は本発明の実施例の回路構成図、第2図は同上使
用の基本クロック発生回路の具体回路図、第3図、第4
図、第5図は同上の動作説明用のタイムチャートであ
る。 A……アドレス発生部、B……命令フエッチ部、C……
演算実行部、E……制御クロック発生部、1……プログ
ラムカウンタ、2……データ実アドレス部、3……命令
レジスタ、4……命令デコード部、6……ビットALU
部、7……フラグ部、10……Acc部、11……wALU部、12
……swALU部である。
用の基本クロック発生回路の具体回路図、第3図、第4
図、第5図は同上の動作説明用のタイムチャートであ
る。 A……アドレス発生部、B……命令フエッチ部、C……
演算実行部、E……制御クロック発生部、1……プログ
ラムカウンタ、2……データ実アドレス部、3……命令
レジスタ、4……命令デコード部、6……ビットALU
部、7……フラグ部、10……Acc部、11……wALU部、12
……swALU部である。
─────────────────────────────────────────────────────
フロントページの続き
(58)調査した分野(Int.Cl.6,DB名)
G05B 19/00 - 19/05
Claims (1)
- (57)【特許請求の範囲】 1.ユーザプログラムのアドレス及びデータメモリのア
ドレスを出力するアドレス発生部と、プログラムメモリ
から読み出した命令を記憶して記憶した命令のデコード
を行う命令フェッチ部と、データメモリから読み出され
たデータを格納するデータレジスタ、基本的なビット操
作の命令を演算するビットALU部、該ビットALU部の演算
結果を格納するフラグ部、タイマ命令、カウンタ命令、
シフトレジスタ命令を16ビット並列処理するためのAcc
部、減算、シフトを行うワードALU部、タイマ命令専用
のシフトと加算とを行うサブワードALU部から少なくと
もなる演算実行部と、制御クロックを発生させる制御ク
ロック発生部とをゲートアレイで構成したプログラマブ
ルコントローラの命令処理回路において、微分命令の場
合には、命令を格納したプログラムメモリに接続される
16ビットデータバスとは別に、第1のクロックで前スキ
ャンの結果を、ビット専用バスにより1ビットRAMから
なるデータメモリよりロードし、第2のクロックにより
現スキャンの演算結果のフラグを上記1ビットRAMから
なるデータメモリに格納し、第2のクロックの立ち下が
りで演算結果をフラグ部にセットすることを特徴とする
プログラマブルコントローラの命令処理回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62211773A JP2784001B2 (ja) | 1987-08-26 | 1987-08-26 | プログラマブルコントローラの命令処理回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62211773A JP2784001B2 (ja) | 1987-08-26 | 1987-08-26 | プログラマブルコントローラの命令処理回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6455602A JPS6455602A (en) | 1989-03-02 |
JP2784001B2 true JP2784001B2 (ja) | 1998-08-06 |
Family
ID=16611353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62211773A Expired - Lifetime JP2784001B2 (ja) | 1987-08-26 | 1987-08-26 | プログラマブルコントローラの命令処理回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2784001B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2522563B2 (ja) * | 1989-11-15 | 1996-08-07 | 松下電工株式会社 | プログラマブルコントロ―ラ |
JP2529429B2 (ja) * | 1989-12-26 | 1996-08-28 | 株式会社日立製作所 | プログラマブルコントロ―ラ |
JP4569812B2 (ja) * | 2004-11-30 | 2010-10-27 | ソニー株式会社 | 光ディスク装置、光ディスク装置の焦点位置制御方法及び焦点位置制御装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5856102A (ja) * | 1981-09-30 | 1983-04-02 | Toyoda Mach Works Ltd | シ−ケンスコントロ−ラ |
JPS59134804U (ja) * | 1983-02-23 | 1984-09-08 | 三菱電機株式会社 | シ−ケンス制御装置におけるシ−ケンス演算回路 |
JPS60237503A (ja) * | 1984-05-09 | 1985-11-26 | Sharp Corp | シ−ケンスコントロ−ラの高速処理方式 |
-
1987
- 1987-08-26 JP JP62211773A patent/JP2784001B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS6455602A (en) | 1989-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6361691B2 (ja) | ||
JPH0769791B2 (ja) | マイクロプロセッサ | |
JP2661222B2 (ja) | パルス出力装置 | |
JP2784001B2 (ja) | プログラマブルコントローラの命令処理回路 | |
US4641278A (en) | Memory device with a register interchange function | |
JP2752076B2 (ja) | プログラマブル・コントローラ | |
EP0462622B1 (en) | Microprocessor capable of ensuring flexible recovery time for I/O device | |
EP0503498A2 (en) | Single-chip microcomputer with program/data memory flag | |
JP2581080B2 (ja) | デバック用マイクロプロセッサ | |
JPS59123934A (ja) | プログラム可能な論理制御装置 | |
US5109516A (en) | Sequence controller for controlling next operating state with a short sequence | |
JP3511691B2 (ja) | 演算処理装置 | |
JPH05298088A (ja) | マイクロコンピュータ | |
JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
JPS62221061A (ja) | マイクロコンピユ−タ | |
KR940009427B1 (ko) | 어드레스공간 변경방법 및 장치 | |
JPS6133721Y2 (ja) | ||
JPS6235142B2 (ja) | ||
JPH04255028A (ja) | マイクロプロセッサ | |
JPS5838437Y2 (ja) | プログラム計算機の表示制御装置 | |
JPH03217988A (ja) | 1チップマイクロコンピュータ | |
JP2693598B2 (ja) | ディジタルシグナルプロセッサのプログラム実行制御装置 | |
JPH0683986A (ja) | シングルチップ・マイクロコンピュータ | |
JPS6015969B2 (ja) | マイクロ命令アドレス生成方式 | |
JPS5985546A (ja) | デ−タ転送制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080522 Year of fee payment: 10 |