JPH04275603A - プログラマブル・コントローラ - Google Patents

プログラマブル・コントローラ

Info

Publication number
JPH04275603A
JPH04275603A JP3636591A JP3636591A JPH04275603A JP H04275603 A JPH04275603 A JP H04275603A JP 3636591 A JP3636591 A JP 3636591A JP 3636591 A JP3636591 A JP 3636591A JP H04275603 A JPH04275603 A JP H04275603A
Authority
JP
Japan
Prior art keywords
nop
instruction
program
counter
address
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
JP3636591A
Other languages
English (en)
Inventor
Akio Ikui
生井 章夫
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP3636591A priority Critical patent/JPH04275603A/ja
Publication of JPH04275603A publication Critical patent/JPH04275603A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、NOP命令に付加され
たNOP実行回数指示機能に基づいてNOP命令を実行
するプログラマブル・コントローラに関する。
【0002】
【従来の技術】従来より、RISCアーキテクチャによ
り処理を行うプログラマブル・コントローラ(以下、P
Cと記載する)においては、図6に示すような命令60
1([PUSH]、[ST  A]、[NOP]、[L
D  B]、[POP]等)、すなわちプログラムを、
プログラムメモリ602に格納して、これにより処理を
行っていた。このプログラムは、個々の命令601毎に
アドレスm+i(i=0、1、2、・・・)で区切られ
ており、各命令601は、それぞれその読み出しが1ク
ロックで終了できるように、データ長(1ステップ)が
4バイトに設定されいる。
【0003】また、このように、全ての命令を4バイト
の固定長としているのは、命令を順次読み出しながら連
続的に処理できるようにするためのものでもあり、RI
SCアーキテクチャの特徴でもある。
【0004】図7は、上記のような構成のRISCアー
キテクチャにおけるPCの処理動作を、なかでも、NO
P命令の使用例を示したものである。これは通常PCで
使用している汎用CPUの処理機能を向上させるために
、コプロセッサ(補助CPU)が併用されるが、そのコ
プロセッサ停止時のフローチャートである。  図7に
おいて、コプロセッサは、汎用CPUがコプロセッサに
対する停止コマンド[ST  A]を実行しても直ぐに
は停止せず、処理で区切りのいいところまで終了したと
ころで停止するようになっている。このため、汎用CP
Uは、所定のN回のNOP命令を使って、コプロセッサ
が停止しているべき時間を計測したのち、コプロセッサ
の停止を確認するためにステイタスレジスタBの内容を
読み出す(コマンド[LD  B])。そして「B=0
」であればコプロセッサは停止しており、この場合は正
常終了と判断する。しかし「B=1」であればコプロセ
ッサは動作中であり、この場合はハードウエアに異常が
あると判断し、異常処理に移るようになている。
【0005】
【発明が解決しようとする課題】上述のように、RIS
Cアーキテクチャにおいては、[PUSH]、[POP
]、[NOP]等の1又は2バイトで表現可能な命令で
も、例えば上記の例の如く4バイトの固定長データとし
て使用するため、一般にプログラムメモリの使用効率は
決して良いものではない。加えて、PCにおいては、処
理のタイミングを調整するための[NOP]命令の使用
頻度が特に高い。この場合、例えば、ある1つのタイミ
ング調整に10回の[NOP]命令が必要な場合、その
ために10ステップのプログラムメモリが必要であった
【0006】このように、従来のRISCプロセッサの
命令形式では、CPUの制御命令の中のタイミングを調
整するために、従来通りに[NOP]命令を使用してい
たのでは、プログラムメモリ容量(ステップ数)が増大
しプログラムメモリの使用効率が非常に悪くなるという
問題点を有していた。
【0007】本発明の目的は、[NOP]命令を連続し
て実行する場合でも、プログラムメモリ容量(ステップ
数)が増大しないようなPCを提供することにある。
【0008】
【課題を解決するための手段】本発明は、RISCアー
キテクチャを採用して処理を行うプログラマブル・コン
トローラに適用される。
【0009】機能付加手段は、例えばRAM(ランダム
・アクセス・メモリ)等からなり、NOP命令にNOP
実行回数を指示する機能を付加する。例えば、NOP命
令が書き込まれた1ステップのアドレスビット位置等に
NOP命令の実行回数を示すデータを保持する。
【0010】実行手段は、例えばマイクロプロセッサ等
からなり、機能付加手段により付加された機能により指
示されたNOP実行回数に基づいてNOP命令を実行す
る。例えば、1ステップのNOP命令を1個読み出し、
そのアドレスビット位置のデータが実行回数「10」を
示していれば、NOP命令を10回繰り返す。
【0011】
【作用】本発明では、機能付加手段によりNOP命令に
NOP実行回数を指示する機能が付加される。すると、
実行手段により、上記付加された機能により指示された
NOP実行回数に基づいてNOP命令が実行される。
【0012】このように、1ステップのNOP命令が1
個読み出されただけで、例えば10回のNOP実行回数
の指示が付加されていれば、NOP命令が10回繰り返
されることになる。したがって、NOP命令を連続して
実行する場合でも、NOP命令を1ステップで表現でき
るのでメモリが増大することがない。
【0013】
【実施例】以下、図面を参照しながら本発明の実施例に
ついて詳細に述べる。図1は、本発明の実施例に係わる
PCの回路構成図である。
【0014】PCは、CPU1、そのCPU1とアドレ
スバス、データバス等で接続されているプログラムメモ
リ2、データメモリ3、特には図示しない入力出力装置
等から成っている。
【0015】プログラムメモリ2は、PCの処理内容を
記述したプログラムを格納している。このプログラムが
後述するようにCPU1により順次読み出され、その読
み出されたプログラムに従ってPCの処理が実行される
【0016】データメモリ3は、各種演算に使用される
データを記憶している。CPU1は処理を実行する際に
は、このデータを読み出して演算を行う。また、データ
メモリ3は、CPU1により、演算の結果を書き込まれ
る。
【0017】CPU1は、各種のレジスタ、セレクタ、
カウンタ、制御回路等から構成されている。次に、これ
を説明する。プログラムカウンタ11は、プログラムメ
モリ2から命令を読み出すためのアドレス情報を順次増
加して生成する。プログラムカウンタ11は、そのアド
レス情報を保持するレジスタ機能を備えており、このレ
ジスタに保持されたアドレス情報は、アドレスセレクタ
16aに供給される。
【0018】アドレスセレクタ16aは、プログラムカ
ウンタ11から供給されるアドレス情報をセレクトする
。セレクトされたアドレス情報は、ドライバ(駆動回路
)17aを介してプログラムメモリ2に与えられる。 また、アドレスセレクタ16aには、後述する命令レジ
スタ12からもアドレス情報が供給されている。そして
、この命令レジスタ12からのアドレス情報の供給によ
り、不連続なプログラムカウント値の増加動作を行う。 この不連続なプログラムカウント値の増加により、CP
U1は飛び越し処理ができるようになっている。
【0019】命令レジスタ12はプログラムメモリ2か
ら読み出した命令を保持するためのものである。この、
命令レジスタ12上の命令フォーマットは、通常、図2
に示すように、命令の種類を示す命令コード部OP、演
算データが格納さているデータメモリ3に対するデータ
アドレス部DA、又はプログラムの飛び越し先を示すプ
ログラムメモリ2に対するプログラムアドレス部PAか
らなる。命令レジスタ12上の上記命令コード部OPは
制御回路13へ供給される。また、データアドレス部D
A、またはプログラムアドレス部PAは、それぞれデー
タメモリ3、プログラムメモリ2に供給される。
【0020】制御回路13は、上記命令コード部OPを
解読して、対応する制御信号を生成し、その制御信号を
CPU1を構成する各回路に供給することにより、各部
(回路)に命令に応じた動作指示を行って、システム全
体を制御する。
【0021】レジスタファイル14は応用命令を実行す
る際、データメモリ3から読み出したデータを一時的に
保持し、或いは、演算結果を保持する。ALU(ari
thmetic logic unit: 算術論理演
算装置)15は応用命令の算術演算を行う。
【0022】ここで、本発明のNOP命令のプログラム
フォーマットについて説明しておく。本発明では、図2
に示すプログラムフォーマットにおいて、NOP命令の
NOPが命令コード部OPに、NOP命令のNOP実行
回数がプログラムアドレス部PAに入った形になってい
る。
【0023】図3は、このようなプログラムフォーマッ
トでプログラムメモリ2上に記憶(格納)されているプ
ログラムを模式的に示したものである。同図において、
アドレスm+0、m+1、m+2には、それぞれ、命令
[ST  A]、[NOP  2]、[LD  B]が
記憶(格納)されている。アドレスm+1に格納されて
いる命令[NOP  2]がNOP処理を2回行うこと
を指示したプログラムフォーマットである。
【0024】図4(a)〜(h)は、上記のプログラム
に基づいて動作する図1に示す各部のタイムチャートで
ある。 同図(a)〜(h)は、上から、クロック信号CLK、
アドレスセレクタ16aの保持するアドレス情報(PA
)、そのアドレス情報(PA)に対応するプログラムメ
モリ2のプログラム情報(PA´)、そのプログラムメ
モリ2からのプログラム情報出力(PD)、その出力さ
れたプログラム情報を保持する命令レジスタ12の内容
(IR)、データメモリ3への入力(DA)、そのデー
タメモリ3からの出力(DD)、及びプログラムカウン
タ停止信号(SG)である。
【0025】同図(a) の、クロック信号CLKの周
期t´がフェッチのサイクルである。すなわち、同図(
b) に示すように、時刻t0で、プログラムカウンタ
11により与えられているアドレスセレクタ16aのア
ドレス情報PA(「m+0」)が、ドライバ17aを介
してプログラムメモリ2に与えられる。続いて時刻t1
で、プログラムカウンタ11により増加・更新された次
のアドレス情報PA(「m+1」)がプログラムメモリ
2に与えられ、さらに、時刻t2では、その次のアドレ
ス情報PA(「m+2」)がプログラムメモリ2に与え
られる。
【0026】そして、同図(c) に示すように、上記
順次更新されて与えられるアドレス情報PA(「m+0
」、「m+1」、「m+2」)に対応するプログラムメ
モリ2上のプログラム情報PA´、すなわち、[ST 
 A],[NOP  2],[LDB]が、それぞれ、
同図(d) に示すように、時刻t0−1、t1−1、
t2−1で、プログラムメモリ2から信号PDとなって
出力される。
【0027】この、プログラムメモリ2から出力された
信号PDは、同図(e) に示すように、まず初めの信
号PD([ST  A])が、時刻t1で命令レジスタ
12に信号IRとして保持され、制御回路13により読
み出される。
【0028】制御回路13は、命令レジスタ12から読
み出した信号IRの命令コード部OP(図2参照)を解
読して[ST  A]命令であることを判別し、その命
令に付加されているアドレス及びデータに基づいて、外
部デバイスであるデータメモリ3の上記指定されてたア
ドレスに上記データを書き込む(図4(f) の時刻t
1〜t2)。
【0029】同時(時刻t2)に、次の信号PD([N
OP  2])が、命令レジスタ12に信号IRとして
保持され、ふたたび、制御回路13により読み出される
。 制御回路13は、その読み出した次の命令が[NOP 
 2]であることを判別すると直ちにプログラムカウン
タ11に対してアクティブな停止信号SGを出力する(
図4(e)、(h) 参照)。このため、プログラムカ
ウンタ11は、この[NOP  2]命令の次の命令で
あるプログラム情報PA´([LDB])のアドレス情
報PA(「m+2」)を作成した時点で停止する。すな
わち、アドレスセレクタ16aのアドレス情報PAは時
刻t2でPA=「m+2」となった後、時刻t3におい
ても、PA=「m+2」のままとなって同じアドレスを
出力し続ける(同図(b) 参照)。
【0030】また、同時(時刻t2)に制御回路13は
、プログラムメモリ2のアドレス、データ及びライト信
号をハイ・インピーダンスとする。このため、上記アド
レス情報PA(「m+2」)に対応するプログラム情報
PA´([LD  B])も、データバス上に出力され
たままとなる。ただし読み込みは行われない(同図(c
)、(d) 参照)。
【0031】さらに、制御回路13は、上記[NOP 
 2]命令を読み出すと直ちにその命令機能に付加され
ているNOP実行回数を制御回路13に内臓された特に
は図示しない減算カウンタに取り込み、これも特には図
示しない動作クロックを用いて上記減算カウンタをデク
リメントする。そして、その減算カウンタのカウント値
が「1」となったならば、プログラムカウンタ11に対
してアクティブに出力していた停止信号SGを反転させ
てアドレスカウントを再開させると共に、自らは上記デ
ータバス上に出力されたままとなっていた次の命令を読
み出して実行する(同図(e)、(f) 参照)。
【0032】上記、減算カウンタのカウント値が「1」
となった時点でプログラムカウンタ11のアドレスカウ
ントが再開されるのは、図4のタイミングチャートから
も明らかなごとく、2回のNOP命令が実行されるため
には、その「2」から「1」減算した処理タイミング回
数、つまりは1回分だけプログラムカウンタ11が停止
していればよいからである。
【0033】すなわち、NOP命令が読み込まれた最初
の処理タイミングで、減算カウンタがデクリメントされ
るが、これと同時に最初のNOP命令も実行される(同
図(f)、(g) 時刻t2〜t3参照)。この実行後
、停止しているプログラムカウンタ11によって次のN
OP命令が読み込まれる。このように、減算カウンタに
よるデクリメントは、その処理タイミングにおけるNO
P命令実行に対応している。従って、次のNOP命令の
読み込みは当該NOP命令に対応する減算カウンタのデ
クリメント処理より先に行われるものであるから、当該
NOP命令実行後にデクリメントすべき減算カウンタの
カウント値が「1」となっているときは、当該NOP命
令は一連のNOP命令の最終の(最後に1個残った)N
OP命令である。したがって、もう、その処理タイミン
グでカウント値を減算する必要がないばかりでなく、つ
ぎの他の命令を読み出す準備が必要となる。  すなわ
ち、N回のNOP命令であれば処理タイミング「N−1
」回のプログラムカウンタ11の停止でN回のNOP命
令信号を命令レジスタ12に挿入でき、これによりN回
のNOP命令が実行できるものである。そして、所定の
一連のNOP命令実行後は、続く処理タイミングで、1
処理タイミング前に再開されているプログラムカウンタ
11により支障なく直ちに次の他の命令を読み出して、
その他の命令による処理の実行に移行できるものである
【0034】図5は、上記のNOP処理回数が大きく増
加している場合のCPU1による処理動作を示すフロー
チャートである。同図において、先ず、CPU1がコプ
ロセッサに対する停止コマンド[STA]を実行する(
ステップS501)。
【0035】既に述べたように、コプロセッサは直ぐに
は停止せず、区切りのいいところまで処理したところで
停止するようになっている。例えば図5の場合、区切り
のいいところまで長時間を見積もる必要があり、このた
め、NOP命令を10回実行することが要求されている
。そして、CPU1はそのNOP命令を読み出すと、図
4で説明したようにNOP命令を10回実行する(Sス
テップ502)。このステップS502では、特には図
示しないが、減算カウンタのデクリメントと、そのデク
リメント後のカウント値の判別処理が行われており、ま
た、プログラムカウンタ11のカウント停止、再開の処
理も行われている。
【0036】上記10回のNOP処理が終了すると、直
ちにコマンド[LD  B]を実行する。すなわち、コ
プロセッサの停止を確認するためにステイタスレジスタ
Bの内容を読み出す(ステップS503)。そして「B
=0」であればコプロセッサは停止しており、この場合
は正常終了と判断する。しかし「B=1」であればコプ
ロセッサは動作中であり、この場合はハードウエアに異
常があると判断し、異常処理に移る。
【0037】このように、ステップS502は、従来で
あれば10回記述される必要があったが、本実施例では
1回の記述でよく、減少した9回分のステップ記述に対
応するプログラムメモリ2の記憶領域が開放される。
【0038】このように開放されたプログラム記憶領域
については、予め開放が見込めるものであればその領域
をシステム構築時に削減してコスト低減を計ることがで
きる。また、プログラムメモリ2の容量が不変のもので
あれば、従来より多くのプログラムを実装できるように
なり、効率のよいシステム構築が可能となる。
【0039】
【発明の効果】本発明によれば、NOP命令を連続して
実行する場合でも、NOP命令を1ステップで表現でき
るので、連続するNOP命令が要求されるプログラムを
メモリに記憶させる場合でも、メモリが増大することが
ない。従ってプログラムメモリの使用効率が上昇し、こ
れによりコストの低減を計ることができる。また、効率
のよいシステム構築が可能となる。
【図面の簡単な説明】
【図1】本発明に係わる実施例のPCの回路構成図であ
る。
【図2】実施例のプログラムフォーマットである。
【図3】プログラムメモリ上のプログラムフォーマット
を説明する図である。
【図4】実施例のPCの各部の動作を示すタイムチャー
トである。
【図5】実施例のフローチャートである。
【図6】従来のアーキテクチャによるプログラム構成の
例を示す図せある。
【図7】従来のアーキテクチャによる処理を示すフロー
チャートである。
【符号の説明】
1  CPU 2  プログラムメモリ 3  データメモリ 11  プログラムカウンタ 12  命令レジスタ 13  制御回路 16a、16b  アドレスセレクタ 17a、17c、17d  ドライバ(駆動回路)PA
  プログラムアドレス信号 PD  プログラムデータ信号 DA  制御信号入力 DD  制御信号出力

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  RISCアーキテクチャを採用して処
    理を行うプログラマブル・コントローラにおいて、NO
    P命令にNOP実行回数を指示する機能を付加する機能
    付加手段と、  該機能付加手段により付加された機能
    により指示されたNOP実行回数に基づいてNOP命令
    を実行する実行手段と、を備えたことを特徴とするプロ
    グララマブル・コントローラ。
JP3636591A 1991-03-01 1991-03-01 プログラマブル・コントローラ Pending JPH04275603A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3636591A JPH04275603A (ja) 1991-03-01 1991-03-01 プログラマブル・コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3636591A JPH04275603A (ja) 1991-03-01 1991-03-01 プログラマブル・コントローラ

Publications (1)

Publication Number Publication Date
JPH04275603A true JPH04275603A (ja) 1992-10-01

Family

ID=12467811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3636591A Pending JPH04275603A (ja) 1991-03-01 1991-03-01 プログラマブル・コントローラ

Country Status (1)

Country Link
JP (1) JPH04275603A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149297A (ja) * 2003-11-18 2005-06-09 Renesas Technology Corp プロセッサおよびそのアセンブラ
JP2007257477A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体装置及び命令制御方法
WO2022030037A1 (ja) * 2020-08-07 2022-02-10 LeapMind株式会社 ニューラルネットワーク回路およびニューラルネットワーク回路の制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149297A (ja) * 2003-11-18 2005-06-09 Renesas Technology Corp プロセッサおよびそのアセンブラ
JP2007257477A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体装置及び命令制御方法
WO2022030037A1 (ja) * 2020-08-07 2022-02-10 LeapMind株式会社 ニューラルネットワーク回路およびニューラルネットワーク回路の制御方法
JP2022030486A (ja) * 2020-08-07 2022-02-18 LeapMind株式会社 ニューラルネットワーク回路およびニューラルネットワーク回路の制御方法

Similar Documents

Publication Publication Date Title
JP2008077294A (ja) マイクロプロセッサおよびそれを用いたマイクロコンピュータ
JPH04275603A (ja) プログラマブル・コントローラ
US7020788B2 (en) Reduced power option
KR100321745B1 (ko) 외부메모리액세스를위한마이크로컨트롤러유닛
JP3786575B2 (ja) データ処理装置
US6704853B1 (en) Digital signal processing apparatus and method for controlling the same
US7421595B2 (en) Device and method for managing a standby state of a microprocessor
JP2001014161A (ja) プログラマブルコントローラ
JP2000029696A (ja) プロセッサおよびパイプライン処理制御方法
JP7384374B2 (ja) 中央演算処理装置
JP3164690B2 (ja) アドレス制御装置
JPH06324861A (ja) Cpu制御システム及び制御方法
JPH0573296A (ja) マイクロコンピユータ
JPH1020959A (ja) 低消費電力マイクロプロセッサ
JP2721610B2 (ja) プログラマブルコントローラ
JP2009199424A (ja) マイクロコンピュータ
JP2002278753A (ja) データ処理システム
JP3366235B2 (ja) データ読み出し制御装置
JP3063593B2 (ja) プログラマブルコントローラ
JPH0158522B2 (ja)
JPS62151936A (ja) マイクロプロセツサに内蔵されるキヤツシユ回路
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPH04311225A (ja) マイクロプロセッサ命令実行方式
JPH08161222A (ja) プロセッサ及びそのプログラム作成方法
JPH08305564A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19981027