JP3531856B2 - プログラム制御方法及びプログラム制御装置 - Google Patents
プログラム制御方法及びプログラム制御装置Info
- Publication number
- JP3531856B2 JP3531856B2 JP00192798A JP192798A JP3531856B2 JP 3531856 B2 JP3531856 B2 JP 3531856B2 JP 00192798 A JP00192798 A JP 00192798A JP 192798 A JP192798 A JP 192798A JP 3531856 B2 JP3531856 B2 JP 3531856B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- repeat
- instructions
- block
- 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.)
- Expired - Lifetime
Links
Landscapes
- Advance Control (AREA)
Description
サ(MPU)、DSP(Digital Signal
Processor)等のプロセッサにおいて、命令
の並列的な実行制御を行なうプログラム制御方法及びそ
の実施に使用するプログラム制御装置に関する。
令数の削減を目的としたプログラム制御装置が開発され
てきている。
して、特公昭62−42301号公報に記載された、命
令を繰り返し実行するプログラム制御装置がある。図8
はこのプログラム制御装置のシステム構成を示す。
置は、命令が格納されるメモリ(プログラムメモリ)1
02と、メモリ102ヘアドレス信号を与えるプログラ
ムカウンタ101と、メモリ102の出力を一時保持す
る命令レジスタ103と、命令レジスタ103の出力を
デコードし、各種制御信号を出力する制御部104と、
プログラム繰り返し実行回数をカウントするリピートカ
ウンタ105とを備えて構成されている。
置の動作について説明する。
ウンタセット命令を、n+1番地に命令Aを、n+2番
地に命令Bをそれぞれ格納しておく。この状態で、プロ
グラムカウンタ101のカウント数(カウント値)がn
になると、メモリ102のn番地に格納されたリピート
カウンタセット命令が制御部104によって読み出さ
れ、命令レジスタ103に命令コードとして格納され
る。
ト回数がリピートカウンタ105の出力を受け、次に命
令レジスタ103に格納される命令コードをリピートカ
ウンタ105のカウント数が零になるまで繰り返す制御
を行なう。
ント数がn+1になり、メモリ102のn+1番地に格
納された命令Aが制御部104によって読み出され、命
令レジスタ103に格納されると、命令Aが実行される
ことになる。
繰り返し演算が終了するのを待って、次の命令を実行し
ているため、以下に示す問題点を有する。
P等の制御装置では、繰り返し演算と並列して他の処理
を実行する必要があるところ、上記のプログラム制御装
置では、繰り返し演算を行っている期間に、他の処理を
並列して演算することができない。このため、上記のプ
ログラム制御装置を、MPU、DSP等の制御装置に搭
載すると、高速演算を目的とするこれらの制御装置の利
点が損なわれることになる。
ラム制御装置の他の従来例として、特開平5−1586
87号公報に記載されたものがある。このプログラム制
御装置は、ある命令の繰り返し実行処理と並列に別の命
令を実行することにより、高速演算を達成している。
載されたプログラム制御装置のシステム構成を示す。こ
のプログラム制御装置は、命令が格納されるメモリ20
1と、メモリ201にアドレス信号を与え、クロックφ
1の立ち上がりで内容がインクリメントされるプログラ
ムカウンタ202と、メモリ201の出力をクロックφ
1の立ち上がりで取り込む命令レジスタ203と、命令
レジスタ203の出力をデコードするデコーダ204
と、演算を行なう演算器A205と、クロックφ1の立
ち上がりでデータを取り込むデコーダレジスタA206
と、演算を行なう演算器B207と、クロックφ1の立
ち上がりでデータを取り込むデコーダレジスタB208
と、リピート制御部209と、ラッチ211の出力を初
期値とし、クロックφ1の立ち上がりでカウントダウン
をするリピートカウンタ210と、リピートカウンタ2
10の初期値を保持するラッチ211と、更新禁止信号
を出力するシーケンス制御部212とを備えて構成され
ている。
行を指示するリピートセット命令がセットされるリピー
ト制御部209により、リピートカウンタ210のプリ
セットを行ない、メモリ201のリピートセット命令の
次番地に格納された繰り返し処理の対象となる命令の繰
り返し実行を行う。
リピートカウンタ210のカウントダウンを行なう。続
いて、メモリ201の繰り返し処理対象の命令が格納さ
れている番地以降に格納され、命令実行同期を行なうウ
ェイト命令がセットされると、リピート制御部209が
繰り返し処理対象の命令の繰り返し実行が終了したか否
かを判定する。命令の繰り返し実行が終了していないこ
とを確認した場合は、判定動作を継続する。これによ
り、繰り返し処理対象の命令と、これに続くウェイト命
令までの命令とを並列して実行することができる。
報に記載されたプログラム制御装置では、n番地のリピ
ート制御命令により、n+1番地の命令、即ち、n+1
番地に格納された1つの命令を指定された回数だけ繰り
返すという命令のみが並列して実行可能になっている。
行には、しばしば複数の命令からなるブロック命令を繰
り返して実行するブロック繰り返し命令制御も要求さ
れ、この要求に応えたプログラム制御装置の開発が要請
されている。
に記載されたプログラム制御装置では、上記のように、
1つの命令を指定された回数だけ繰り返すという命令の
みが並列して実行可能であり、ブロック繰り返し命令制
御を伴う演算との並列処理を行なうことはできない。こ
のような事情により、ブロック繰り返し命令制御を伴う
演算との並列処理を行えるプログラム制御方法及びプロ
グラム制御装置の開発が切に要請されているのが現状で
ある。
たものであり、ブロック繰り返し命令とブロック繰り返
し命令に続く命令群とを並列して実行でき、高速演算可
能なプログラム制御装置を実現することができるプログ
ラム制御方法及びプログラム制御装置を提供することを
目的とする。
返し命令を指示する命令を簡略化でき、命令数を削減す
ることができるプログラム制御方法及びプログラム制御
装置を提供することにある。
方法は、第1の演算器及び第2の演算器を備えたプログ
ラム制御装置のプログラム制御方法であって、インスト
ラクションメモリのn番地に格納された第1の命令に基
づき、n+1番地からn+x(xは1以上の正の整数)
番地に格納されたx個の第2の命令の繰り返し実行を該
第1の演算器に指示するステップと、該第2の命令の繰
り返し実行に並列して、該インストラクションメモリの
n+x+1番地以降の番地に格納された命令を順次実行
するように該第2の演算器に指示するステップとを包含
しており、そのことにより上記目的が達成される。
1の演算器及び第2の演算器を備えたプログラム制御装
置のプログラム制御方法であって、インストラクション
メモリのn番地に格納された第1の命令に基づき、n+
1番地からn+x(xは1以上の正の整数)番地に格納
されたx個の第2の命令の繰り返し実行を該第1の演算
器に指示するステップと、該第2の命令の繰り返し実行
中に、該第2の命令と並列に実行され、該インストラク
ションメモリのn+x+1番地以降の番地に格納された
第3の命令であって、n+x+y(yは1以上の正の整
数)番地に格納された繰り返し実行命令を該第1の演算
器に指示するステップと、該インストラクションメモリ
のn+x+y+1番地からn+x+y+m(mは1以上
の正の整数)番地に格納されたm個の繰り返し実行を行
なう第4の命令があると、該第4の命令を繰り返し制御
メモリに格納し、該第2の命令による繰り返し実行が終
了した直後に該第4の命令の繰り返し実行を該第1の演
算器に指示するステップと、該第2の命令及び該第4の
命令と並列にn+x+y+m+1番地以降の番地に格納
された命令を順次実行するステップとを包含しており、
そのことにより上記目的が達成される。
1の演算器及び第2の演算器を備えたプログラム制御装
置のプログラム制御方法であって、インストラクション
メモリのn番地に格納された第1の命令に基づき、n+
1番地からn+x(xは1以上の正の整数)番地に格納
されたx個の第2の命令の繰り返し実行を該第1の演算
器に指示するステップと、該第2の命令の繰り返し実行
中に、該第2の命令と並列に実行され、該インストラク
ションメモリのn+x+1番地以降の番地に格納された
第3の命令であって、n+x+y(yは1以上の正の整
数)番地に格納された繰り返し実行命令を該第2の演算
器に指示するステップと、該インストラクションメモリ
のn+x+y+1番地からn+x+y+m番地に格納し
たm個の繰り返し実行を行なう第4の命令があると、該
第2の命令の繰り返し実行を処理していない該第2の演
算器により、該第4の命令の繰り返し処理を実行させる
ステップと、該第2の命令又は該第4の命令による繰り
返し処理が早く終了した該演算器を用いて、n+x+y
+m+1番地以降の番地に格納した命令を順次実行する
ステップとを包含しており、そのことにより上記目的が
達成される。
求項1記載のプログラム制御方法を実行するプログラム
制御装置であって、繰り返し実行を指示する第1の命令
及び該第1の命令の次番地以降にx個格納された第2の
命令を含む複数の命令が記憶されたインストラクション
メモリと、該第1の命令及び該第2の命令をデコード
し、各種制御信号を出力するデコーダと、該第1の命令
によりセットされ、繰り返し命令が実行される毎に繰り
返し命令数又はブロック繰り返し数の値を1つずつディ
クリメントするカウンタと、ブロック繰り返しを行なう
x個の繰り返し命令を記憶する繰り返し制御メモリと、
該第1の命令がデコードされると、該ブロック繰り返し
数及び該繰り返し命令数のセットを実行する一方、該第
2の命令が実行される毎に、該カウンタに対して該ブロ
ック繰り返し数及び繰り返し命令数を示すカウント値を
指示し、且つ繰り返し演算が終了した時点で、該第1の
演算器に命令の終了を指示する繰り返し制御装置とを備
えており、そのことにより上記目的が達成される。
求項2記載のプログラム制御方法を実行するプログラム
制御装置であって、繰り返し実行を指示する第1の命
令、インストラクションメモリの該第1の命令の次番地
以降にx個格納された第2の命令、繰り返し実行を指示
する第3の命令及び該第3の命令に続く繰り返し処理を
実行するm個の第4の命令を含む複数の命令が記憶され
たインストラクションメモリと、これらの命令をデコー
ドし、各種制御信号を出力するデコーダと、該第1の命
令によりセットされ、繰り返し命令が実行される毎に繰
り返し命令数又はブロック繰り返し数の値を1つずつデ
ィクリメントするカウンタと、該ブロック繰り返しを行
なうx個の該第2の命令及び該m個の該第4の命令を記
憶する繰り返し制御メモリと、該第1の命令がデコード
されると、該ブロック繰り返し数及び該繰り返し命令数
を該カウンタにセットし、該第2の命令が実行される毎
に該カウンタに対して該該繰り返しブロック数及び該繰
り返し命令数を示すカウント値を指示し、繰り返し演算
が終了した時点で終了したことを該第1の演算器に指示
し、且つ該第3の命令がデコードされると、該第4の命
令を該繰り返し制御メモリに格納し、該第2の命令が終
了すると、引き続いて該第4の命令を実行することを該
第1の演算器に指示する繰り返し制御装置とを備えてお
り、そのことにより上記目的が達成される。
求項3記載のプログラム制御方法を実行するプログラム
制御装置であって、繰り返し実行を指示する第1の命
令、インストラクションメモリの該第1の命令の次番地
以降にx個格納された第2の命令、繰り返し実行を指示
する第3の命令及び該第3の命令に続く繰り返し処理を
実行するm個の第4の命令を含む複数の命令が記憶され
たインストラクションメモリと、これらの命令をデコー
ドし、各種制御信号を出力するデコーダと、該第1の命
令によりセットされ、繰り返し命令が実行される毎に繰
り返し命令数又はブロック繰り返し数の値を1つずつデ
ィクリメントする第1のカウンタと、該第3の命令によ
りセットされ、繰り返し命令が実行される毎に繰り返し
命令数又はブロック繰り返し数の値を1つずつディクリ
メントする第2のカウンタと、ブロック繰り返しを行な
うx個の前記第2の命令及びm個の前記第4の命令を記
憶する繰り返し制御メモリと、該第1の命令がデコード
されると、該第1のカウンタに対して、該ブロック繰り
返し数及び該繰り返し命令数をセットし、該第2の命令
が実行される毎に該ブロック繰り返し数及び該繰り返し
命令数を示すカウント値を指示し、繰り返し演算が終了
した時点で終了したことを該第1の演算器に指示すると
共に、該第3の命令がデコードされると、該第2の演算
器に対して、該第3の命令により該第4の命令を行なう
ことを指示し、該第2のカウンタに対して、該第4の命
令のブロック繰り返し数及び該繰り返し命令数をセット
し、該第4の命令が実行される毎に該ブロック繰り返し
数及び該繰り返し命令数を示すカウント値を指示し、且
つ該第2の命令と該第4の命令が先に終了した演算器に
対して、該第4の命令以降の番地に格納された命令を順
次実行させる繰り返し制御装置とを備えており、そのこ
とにより上記目的が達成される。
て、インストラクションメモリのn+x+1番地以降の
番地に格納された命令を順次実行するように第2の演算
器に指示する構成によれば、ブロック繰り返し命令とブ
ロック繰り返し命令に続く命令群を並列して実行できる
ので、上記従来のプログラム制御装置に比べて高速演算
が可能になる。また、並列実行される命令の1つは、ブ
ロック繰り返し命令であるので、命令が簡略化でき、命
令数を削減することができる。
その命令と並列に実行される命令中にブロック繰り返し
命令があると、そのブロック繰り返し命令を繰り返し制
御メモリに格納する構成によれば、実行中のブロック繰
り返し実行の終了に続いて他のブロック繰り返し実行を
行うことができ、しかも、これらのブロック繰り返し命
令と並列して、繰り返し命令に続く命令群を実行できる
ので、上記従来のプログラム制御装置に比べて高速演算
が可能になる。加えて、この構成によれば、命令を更に
簡略化でき、命令数を一層削減することができる。
その命令と並列に処理を行なっている命令中にブロック
繰り返し命令があると、そのブロック繰り返し命令をブ
ロック繰り返し処理を行なっていない演算器で繰り返し
実行を行なう上記構成によれば、より一層の高速演算化
を図ることができるプログラム制御装置を実現できる。
更には、この構成においても、ブロック繰り返し命令実
行とその命令と並列に処理を行なっている命令中のブロ
ック繰り返し命令とそれに続く命令群の並列実行を行う
ことができるので、プログラム制御装置の一層の高速演
算化を図ることができる。
に基づき具体的に説明する。
ラム制御装置の実施形態1を示す。まず、図1に基づ
き、このプログラム制御装置のシステム構成について説
明する。
る各装置に指示を与えるための命令が記憶されたインス
トラクションメモリ1と、インストラクションメメモリ
1からの出力をデコードし、各装置に指示を与える命令
を出力するインストラクションデコーダ2と、演算を行
なう演算器(演算装置)A6及び演算器B4にデータを
与えるデータメモリ3とを備えている。
受けとり、このデータに基づき各種演算を行ない、演算
結果をレジスタB5に出力する。一方、演算器A6はデ
ータメモリ3及びレジスタA7からデータを受けとり、
このデータに基づき各種演算を行ない、演算結果をレジ
スタA7に出力する繰り返し演算(ブロック繰り返し演
算)を行なう。
ロック繰り返し制御を行なう繰り返し制御装置8、ブロ
ック繰り返しカウンタ9及び繰り返し制御メモリ10が
搭載されている。
ンデコーダ2より出力されるブロック繰り返し命令に基
づき、ブロック繰り返し数及び繰り返し命令数を指示す
る。より具体的には、繰り返し制御メモリ10に繰り返
し命令を格納し、繰り返し制御メモリ3からの読み出し
を指示する。そして、演算が終了すると、演算が終了し
たことを演算器A6に指示する。
制御装置8からの指示により、ブロック繰り返し数及び
繰り返し命令数をセットし、繰り返し演算が行われる毎
にブロック繰り返し数又は繰り返し命令数のカウント値
を1つディクリメントする。
状態遷移について説明する。同図に示すように、繰り返
し制御装置8は、ブロック繰り返し処理を行なっていな
い待機状態(ウエイト状態)41と、ブロック繰り返し
数及び繰り返し命令数のブロック繰り返しカウンタ9に
対するセットを行ない、演算器A6に対して繰り返し演
算実行を指示し、これと同時に繰り返し制御メモリ10
に繰り返し演算命令を書き込む繰り返しセット状態42
と、繰り返し制御メモリ10から繰り返し演算命令を読
み出し、繰り返し演算を行なう繰り返し状態43との3
つの状態を有し、この状態間を移行する。
ログラム制御装置の動作を説明する。この動作は、図3
に示すサイクル1〜サイクル13を経て行われる。以下
に各サイクル中の動作について説明する。
ンストラクションメモリ1のn−1番地に格納されたイ
ンストラクション(命令n−1)がインストラクション
メモリ1からインストラクションデコーダ2に送出され
る。次サイクル以降も同様に、各々の番地の命令がイン
ストラクションメモリ1からインストラクションデコー
ダ2に送出される。
4によって、インストラクションメモリ1のn−1番地
に格納されたインストラクションによる命令n−1が処
理される。このとき、繰り返し制御装置8は待機状態4
1から繰り返しセット状態42に移行する。
ラクションメモリ1のn番地に格納されたブロック繰り
返し命令nに基づき、繰り返し制御装置8がブロック繰
り返しカウンタ9の繰り返し命令数及びブロック繰り返
し数をセットする。ここでは、繰り返しカウンタ9に繰
り返し命令数=2(3個の命令)及びブロック繰り返し
数=2(3回のループ)がセットされる。
算終了フラグを“0”にセットする。
演算器A6によって、繰り返し命令n+1、n+2(ブ
ロック繰り返し1回目)が順次実行され、繰り返し命令
n+1、n+2が繰り返し制御メモリ10に順次書き込
まれる。
り繰り返し命令数が1つディクリメントされる。
6によって、繰り返し命令n+3(ブロック繰り返し1
回目)が実行され、繰り返し命令n+3が繰り返し制御
メモリ10に書き込まれる。
ブロック繰り返し数が2であるので、ブロック繰り返し
数が1つディクリメントされ、繰り返し命令数は2にセ
ットされる。このとき、繰り返し制御装置8は、繰り返
しセット状態42から繰り返し状態43に移行する。
演算器A6によって、繰り返し制御メモリ10から繰り
返し命令n+1、n+2(ブロック繰り返し2回目)が
順次呼び出され実行される。また、演算器B4によっ
て、命令n+4、n+5が順次実行される。そして、繰
り返し制御装置8の指示によりブロック繰り返しカウン
タ9の繰り返し命令数が1つディクリメントされる。
6によって、繰り返し制御メモリ10から繰り返し命令
n+3(ブロック繰り返し2回目)が呼び出されて実行
される。また、演算器B4によって、命令n+6が実行
される。
ブロック繰り返し数が1であるので、ブロック繰り返し
カウンタ9のブロック繰り返し数が1つディクリメント
され、繰り返し命令数は2にセットされる。
1では、演算器A6によって、繰り返し制御メモリ10
から繰り返し命令n+1、n+2(ブロック繰り返し3
回目)が順次呼び出されて実行される。また、演算器B
4によって、命令n+7、n+8が順次実行される。そ
して、繰り返し制御装置8の指示によりブロック繰り返
しカウンタ9の繰り返し命令数が1つディクリメントさ
れる。
器A6によって、繰り返し制御メモリ10から繰り返し
命令n+3(ブロック繰り返し3回目)が呼び出されて
実行される。また、演算器B4によって、命令n+9が
実行される。
つブロック繰り返し数が0であるので、ブロック繰り返
しカウンタ9は停止し、繰り返し制御装置8によって繰
り返し終了フラグが“1”にセットされる。
状態43から待機状態41に移行する。
器B4によって、命令n+10が処理される。
御装置によれば、演算器A6による繰り返し命令の実行
と、この繰り返し命令に続く、演算器B4による複数の
命令実行とを並列して行うことができる。即ち、ブロッ
ク繰り返し命令とブロック繰り返し命令に続く命令群と
を並列して実行できるので、高速演算可能なプログラ並
列実行される命令の1つは、ブロック繰り返し命令であ
るので、命令が簡略化でき、命令数を削減できる。
グラム制御装置の実施形態2を示す。本実施形態2のプ
ログラム制御装置のシステム構成は、図1と同様である
ので、以下では同様の符号を用いて説明する。
まり、状態遷移を示しており、ブロック繰り返し処理を
行なっていない待機状態51と、ブロック繰り返し数及
び繰り返し命令数のセットを行ない、繰り返し演算実行
を指示し、同時に繰り返し制御メモリ10に繰り返し演
算命令を書き込む繰り返しセット状態52と、繰り返し
制御メモリ10から繰り返し演算命令を読み出し、繰り
返し演算を行なう繰り返し状態53との3つの状態を有
し、この状態間を移行する。
遷移は、以下の点で実施形態1の繰り返し制御装置8の
状態遷移とは異なっている。即ち、本実施形態2におい
ては、繰り返し制御装置8は、繰り返し演算終了に引続
き、次の繰り返し演算を行なう構成をとるため、待機状
態51を経ずに、次の繰り返し演算の繰り返しセット状
態52に移行する。
ログラム制御装置の動作を説明する。この動作は、図5
に示すサイクル1〜サイクル14を経て行われる。以下
に各サイクル中の動作について説明する。
実施形態1同様のインストラクションにより、実施形態
1と同様の動作を行なうので、ここでは、説明を省略す
る。
ンストラクションメモリ1のn+6番地に格納されたイ
ンストラクション(ブロック繰り返し命令n+6)がイ
ンストラクションデコーダ2に送出される。
御メモリ10から繰り返し命令n+2(ブロック繰り返
し2回目)が呼び出されて実行される。また、演算器B
4によって、命令n+5が実行される。そして、繰り返
し制御装置8の指示によりブロック繰り返しカウンタ9
の繰り返し命令数が1つディクリメントされる。また、
繰り返し制御装置8は未処理のブロック繰り返し命令数
を示す繰り返し演算待ち数を1にセットする。
6によって、繰り返し制御メモリ10から繰り返し命令
n+3(ブロック繰り返し2回目)が呼び出されて実行
される。
ブロック繰り返し数が1であるので、ブロック繰り返し
数が1つディクリメントされ、繰り返し命令数は2にセ
ットされる。
令n+6により、繰り返し命令数=1(2個の命令)及
びブロック繰り返し数=2(3回のループ))が繰り返
し制御メモリ10に書き込まれる。
1では、演算器A6によって、繰り返し制御メモリ10
から繰り返し命令n+1、n+2(ブロック繰り返し3
回目)が順次呼び出されて実行される。そして、ブロッ
ク繰り返しカウンタ9により繰り返し命令数が1つディ
クリメントされ、続いて、繰り返し命令n+7、n+8
が繰り返し制御メモリ10に順次書き込まれる。
器A6によって、繰り返し制御メモリ10から繰り返し
命令n+3(ブロック繰り返し3回目)が呼び出されて
実行される。また、演算器B4によって、命令n+9が
実行される。
ロック繰り返し数が0であるが、繰り返し演算待ち数が
1であるので、ブロック繰り返しカウンタ9に繰り返し
命令数及びブロック繰り返し数がセットされる。このと
き、繰り返し制御装置8は繰り返し状態53から繰り返
しセット状態52に移行する。
器A6によって、繰り返し制御メモリ10から繰り返し
命令n+7(ブロック繰り返し1回目)が呼び出されて
実行される。また、演算器B4によって、命令n+10
が実行される。そして、ブロック繰り返しカウンタ9に
より繰り返し命令数が1つディクリメントされる。
制御メモリ10に格納されているので、繰り返し制御装
置8は繰り返しセット状態52から繰り返し状態53に
移行する。
器A6によって、繰り返し制御メモリ10から繰り返し
命令n+8(ブロック繰り返し1回目)が呼び出されて
実行される。また、演算器B4によって、命令n+11
が実行される。
ブロック繰り返し数が1であるので、ブロック繰り返し
数が1つディクリメントされ、繰り返し命令数は1にセ
ットされる。
ても、実施形態1のプログラム制御装置同様の効果を奏
することができる。加えて、本実施形態2のプログラム
制御装置によれば、命令を更に簡略化でき、命令数を一
層削減できる利点がある。
グラム制御装置の実施形態3を示す。まず、図6に基づ
き本実施形態3に係るプログラム制御装置のシステム構
成について説明する。
各装置に指示を与えるための命令が記憶されたインスト
ラクションメモリ21と、インストラクションメモリ2
1からの出力をデコードし、各装置に指示を与えるイン
ストラクションデコーダ22と、演算器A26及び演算
器B24にデータを与えるデータメモリ23とを備えて
いる。
タを受けとり、各種演算を行ない、演算結果をレジスタ
B25に出力する繰り返し演算を実行する。演算器A2
6はデータメモリ23及びレジスタA27からデータを
受けとり、各種演算を行ない、演算結果をレジスタA7
に出力する繰り返し演算を行なう。このように、本実施
形態3の演算器A26及び演算器B24は、いずれも繰
り返し演算を行う。
ロック繰り返し制御を行なう繰り返し制御装置28、ブ
ロック繰り返しカウンタA29,B30及び及びブロッ
ク繰り返し制御メモリA31,B32が搭載されてい
る。即ち、本実施形態3のプログラム制御装置では、繰
り返し制御メモリ及びブロック繰り返しカウンタがそれ
ぞれ2個ずつ設けられている点が、実施形態1のプログ
ラム制御装置のシステム構成と異なっている。
クションデコーダ22より出力されたブロック繰り返し
命令により、演算器A26、演算器B24にブロック繰
り返し数及び繰り返し命令数を指示し、且つ繰り返し命
令を繰り返し制御メモリA31,B32に格納する。ま
た、繰り返し制御メモリA31、B32からの読み出し
を指示する。そして、演算が終了すると、演算が終了し
たことを演算器A26及び演算器B24に指示する。
ック繰り返し制御装置28の指示により、演算器A26
で行われる演算のブロック繰り返し数及び繰り返し命令
数をセットし、繰り返し演算を行なう毎にブロック繰り
返し数又は繰り返し命令数のカウント値を1つディクリ
メントする。また、ブロック繰り返しカウンタB30
は、ブロック繰り返し制御装置28の指示により、演算
器B24で行われる演算のブロック繰り返し数及び繰り
返し命令数をセットし、繰り返し演算を行なう毎にブロ
ック繰り返し数又は繰り返し命令数のカウント値を1つ
ディクリメントする。
御装置28の指示により、演算器A26でのブロック繰
り返し命令を格納し、或いは読み出しをするためのもの
である。繰り返し制御メモリB32は、繰り返し制御装
置28の指示により、演算器B24でのブロック繰り返
し命令を格納し、或いは読み出しをするためのものであ
る。
内部状態として演算器26A、24Bそれぞれに対して
図2の状態を持つ。
ログラム制御装置の動作を説明する。この動作は、図7
に示すサイクル1〜サイクル13を経て行われる。以下
に各サイクル中の動作について説明する。
実施形態1同様のインストラクションにより、実施形態
1と同様の動作を行なうので、ここでは説明を省略す
る。
ンストラクションメモリ21のn+6番地に格納された
インストラクション(ブロック繰り返し命令n+6)が
インストラクションデコーダ22に送出される。
制御メモリA31から繰り返し命令n+2(ブロック繰
り返し2回目)が呼び出されて実行される。また、演算
器B24によって、命令n+5が実行される。そして、
ブロック繰り返しカウンタA29により繰り返し命令数
Aが1つディクリメントされる。
B24に対する繰り返し制御は待機状態41から繰り返
しセット状態42に移行する。
26によって、繰り返し制御メモリA31から繰り返し
命令n+3(ブロック繰り返し2回目)が呼び出されて
実行される。
が、ブロック繰り返し数Aが1であるので、ブロック繰
り返し数Aが1つディクリメントされ、繰り返し命令数
Aは2にセットされる。
ラクションメモリ21のn+6番地に格納されたブロッ
ク繰り返し命令n+6に基づき、繰り返し命令数B=1
(2個の命令)及びブロック繰り返し数B=2(3回の
ループ)を演算器24Bの繰り返し制御のためにセット
する。そして、繰り返し演算終了フラグBを“0”にセ
ットする。
器A26によって、繰り返し制御メモリA31から繰り
返し命令n+1(ブロック繰り返し3回目)が呼び出さ
れて実行される。そして、ブロック繰り返しカウンタA
29により繰り返し命令数Aが1つディクリメントされ
る。
クションメモリ21のn+7番地に格納された繰り返し
命令n+7(ブロック繰り返し1回目)が実行される。
そして、繰り返し制御装置28の指示により、繰り返し
命令n+7が繰り返し制御メモリB32に書き込まれ、
且つブロック繰り返しカウンタB30の繰り返し命令数
Bが1つディクリメントされる。
器A26及び演算器B24は共に繰り返し演算フラグが
“0”であるので、インストラクションデコーダ22か
らの次の命令は演算器A26、B24では実行されな
い。
制御メモリA31から繰り返し命令n+2(ブロック繰
り返し3回目)が呼び出されて実行される。そして、繰
り返し制御装置28の指示により、ブロック繰り返しカ
ウンタA29の繰り返し命令数Aが1つディクリメント
される。
の繰り返し命令n+8(ブロック繰り返し1回目)が実
行される。そして、繰り返し命令n+8が繰り返し制御
メモリB32に書き込まれる。
が、ブロック繰り返し数Bが2であるので、ブロック繰
り返し数Bが1つディクリメントされ、繰り返し命令数
Bは1にセットされる。
し制御が繰り返しセット状態42から繰り返し状態43
になる。
器A26及び演算器B24は共に繰り返し演算フラグが
“0”であるので、インストラクションデコーダ22か
らの次の命令は演算器A26及び24Bでは実行されな
い。
制御メモリA31から繰り返し命令n+3(ブロック繰
り返し3回目)が呼び出されて実行される。また、演算
器B24によって、繰り返し制御メモリB32から繰り
返し命令n+7(ブロック繰り返し2回目)が呼び出さ
れて実行される。
ブロック繰り返し数Aが0であるので、ブロック繰り返
しカウンタA29、B30は停止し、繰り返し終了フラ
グAは“1”となる。
Aに対する繰り返し制御は繰り返し状態43から待機状
態41に移行する。また、ブロック繰り返しカウンタB
30により繰り返し命令数Bが1つディクリメントされ
る。
器B24によって、繰り返し制御メモリB32から繰り
返し命令n+8(ブロック繰り返し2回目)が呼び出さ
れて実行される。
が、ブロック繰り返し数Bが1であるので、ブロック繰
り返し数Bが1つディクリメントされ、繰り返し命令数
Bは1にセットされる。
ば、ブロック繰り返し命令の実行中に、その命令と並列
に処理を行なっている命令中にブロック繰り返し命令が
あると、そのブロック繰り返し命令をブロック繰り返し
処理を行なっていない演算器A26(又は演算器B2
4)が繰り返し実行するので、より一層の高速演算化を
図ることができるプログラム制御装置を実現できる。
れば、第2の命令の繰り返し実行に並列して、インスト
ラクションメモリのn+x+1番地以降の番地に格納さ
れた命令を順次実行するように第2の演算器に指示する
構成をとるので、ブロック繰り返し命令とブロック繰り
返し命令に続く命令群を並列して実行することができ
る。このため、上記従来のプログラム制御装置に比べて
高速演算が可能になる。また、並列実行される命令の1
つは、ブロック繰り返し命令であるので、命令が簡略化
でき、命令数を削減することができる。
発明によれば、ブロック繰り返し命令の実行中に、その
命令と並列に実行される命令中にブロック繰り返し命令
があると、そのブロック繰り返し命令を繰り返し制御メ
モリに格納する構成をとるので、実行中のブロック繰り
返し実行の終了に続いて他のブロック繰り返し実行を行
うことができる。しかも、これらのブロック繰り返し命
令と並列して、繰り返し命令に続く命令群を実行できる
ので、上記従来のプログラム制御装置に比べて高速演算
が可能になる。加えて、この構成によれば、命令を更に
簡略化でき、命令数を一層削減することができる。
発明によれば、ブロック繰り返し命令の実行中に、その
命令と並列に処理を行なっている命令中にブロック繰り
返し命令があると、そのブロック繰り返し命令をブロッ
ク繰り返し処理を行なっていない演算器で繰り返し実行
を行なう構成をとるので、より一層の高速演算化を図る
ことができるプログラム制御装置を実現できる。
り返し命令実行とその命令と並列に処理を行なっている
命令中のブロック繰り返し命令とそれに続く命令群の並
列実行を行うことができるので、この点においても、プ
ログラム制御装置の一層の高速演算化を図ることができ
る。
ム構成を示すブロック図。
の状態遷移を示す図。
順を示す図。
の状態遷移を示す図。
順を示す図。
ム構成を示すブロック図。
順を示す図。
構成を示すブロック図。
テム構成を示すブロック図。
Claims (6)
- 【請求項1】 第1の演算器及び第2の演算器を備えた
プログラム制御装置のプログラム制御方法であって、 インストラクションメモリのn番地に格納された第1の
命令に基づき、n+1番地からn+x(xは1以上の正
の整数)番地に格納されたx個の第2の命令の繰り返し
実行を該第1の演算器に指示するステップと、 該第2の命令の繰り返し実行に並列して、該インストラ
クションメモリのn+x+1番地以降の番地に格納され
た命令を順次実行するように該第2の演算器に指示する
ステップとを包含するプログラム制御方法。 - 【請求項2】 第1の演算器及び第2の演算器を備えた
プログラム制御装置のプログラム制御方法であって、 インストラクションメモリのn番地に格納された第1の
命令に基づき、n+1番地からn+x(xは1以上の正
の整数)番地に格納されたx個の第2の命令の繰り返し
実行を該第1の演算器に指示するステップと、 該第2の命令の繰り返し実行中に、該第2の命令と並列
に実行され、該インストラクションメモリのn+x+1
番地以降の番地に格納された第3の命令であって、n+
x+y(yは1以上の正の整数)番地に格納された繰り
返し実行命令を該第1の演算器に指示するステップと、 該インストラクションメモリのn+x+y+1番地から
n+x+y+m(mは1以上の正の整数)番地に格納さ
れたm個の繰り返し実行を行なう第4の命令があると、
該第4の命令を繰り返し制御メモリに格納し、該第2の
命令による繰り返し実行が終了した直後に該第4の命令
の繰り返し実行を該第1の演算器に指示するステップ
と、 該第2の命令及び該第4の命令と並列にn+x+y+m
+1番地以降の番地に格納された命令を順次実行するス
テップとを包含するプログラム制御方法。 - 【請求項3】 第1の演算器及び第2の演算器を備えた
プログラム制御装置のプログラム制御方法であって、 インストラクションメモリのn番地に格納された第1の
命令に基づき、n+1番地からn+x(xは1以上の正
の整数)番地に格納されたx個の第2の命令の繰り返し
実行を該第1の演算器に指示するステップと、 該第2の命令の繰り返し実行中に、該第2の命令と並列
に実行され、該インストラクションメモリのn+x+1
番地以降の番地に格納された第3の命令であって、n+
x+y(yは1以上の正の整数)番地に格納された繰り
返し実行命令を該第2の演算器に指示するステップと、 該インストラクションメモリのn+x+y+1番地から
n+x+y+m番地に格納したm個の繰り返し実行を行
なう第4の命令があると、該第2の命令の繰り返し実行
を処理していない該第2の演算器により、該第4の命令
の繰り返し処理を実行させるステップと、 該第2の命令又は該第4の命令による繰り返し処理が早
く終了した該演算器を用いて、n+x+y+m+1番地
以降の番地に格納した命令を順次実行するステップとを
包含するプログラム制御方法。 - 【請求項4】 請求項1記載のプログラム制御方法を実
行するプログラム制御装置であって、 繰り返し実行を指示する第1の命令及び該第1の命令の
次番地以降にx個格納された第2の命令を含む複数の命
令が記憶されたインストラクションメモリと、 該第1の命令及び該第2の命令をデコードし、各種制御
信号を出力するデコーダと、 該第1の命令によりセットされ、繰り返し命令が実行さ
れる毎に繰り返し命令数又はブロック繰り返し数の値を
1つずつディクリメントするカウンタと、 ブロック繰り返しを行なうx個の繰り返し命令を記憶す
る繰り返し制御メモリと、 該第1の命令がデコードされると、該ブロック繰り返し
数及び該繰り返し命令数のセットを実行する一方、該第
2の命令が実行される毎に、該カウンタに対して該ブロ
ック繰り返し数及び繰り返し命令数を示すカウント値を
指示し、且つ繰り返し演算が終了した時点で、該第1の
演算器に命令の終了を指示する繰り返し制御装置とを備
えたプログラム制御装置。 - 【請求項5】 請求項2記載のプログラム制御方法を実
行するプログラム制御装置であって、 繰り返し実行を指示する第1の命令、インストラクショ
ンメモリの該第1の命令の次番地以降にx個格納された
第2の命令、繰り返し実行を指示する第3の命令及び該
第3の命令に続く繰り返し処理を実行するm個の第4の
命令を含む複数の命令が記憶されたインストラクション
メモリと、 これらの命令をデコードし、各種制御信号を出力するデ
コーダと、 該第1の命令によりセットされ、繰り返し命令が実行さ
れる毎に繰り返し命令数又はブロック繰り返し数の値を
1つずつディクリメントするカウンタと、 該ブロック繰り返しを行なうx個の該第2の命令及び該
m個の該第4の命令を記憶する繰り返し制御メモリと、 該第1の命令がデコードされると、該ブロック繰り返し
数及び該繰り返し命令数を該カウンタにセットし、該第
2の命令が実行される毎に該カウンタに対して該該繰り
返しブロック数及び該繰り返し命令数を示すカウント値
を指示し、繰り返し演算が終了した時点で終了したこと
を該第1の演算器に指示し、且つ該第3の命令がデコー
ドされると、該第4の命令を該繰り返し制御メモリに格
納し、該第2の命令が終了すると、引き続いて該第4の
命令を実行することを該第1の演算器に指示する繰り返
し制御装置とを備えたプログラム制御装置。 - 【請求項6】 請求項3記載のプログラム制御方法を実
行するプログラム制御装置であって、 繰り返し実行を指示する第1の命令、インストラクショ
ンメモリの該第1の命令の次番地以降にx個格納された
第2の命令、繰り返し実行を指示する第3の命令及び該
第3の命令に続く繰り返し処理を実行するm個の第4の
命令を含む複数の命令が記憶されたインストラクション
メモリと、 これらの命令をデコードし、各種制御信号を出力するデ
コーダと、 該第1の命令によりセットされ、繰り返し命令が実行さ
れる毎に繰り返し命令数又はブロック繰り返し数の値を
1つずつディクリメントする第1のカウンタと、該第3の命令によりセットされ、繰り返し命令が実行さ
れる毎に繰り返し命令数又はブロック繰り返し数の値を
1つずつディクリメントする第2のカウンタと、 ブロック繰り返しを行なうx個の前記第2の命令及びm
個の前記第4の命令を記憶する繰り返し制御メモリと、 該第1の命令がデコードされると、該第1のカウンタに
対して、該ブロック繰り返し数及び該繰り返し命令数を
セットし、該第2の命令が実行される毎に該ブロック繰
り返し数及び該繰り返し命令数を示すカウント値を指示
し、繰り返し演算が終了した時点で終了したことを該第
1の演算器に指示すると共に、該第3の命令がデコード
されると、該第2の演算器に対して、該第3の命令によ
り該第4の命令を行なうことを指示し、該第2のカウン
タに対して、該第4の命令のブロック繰り返し数及び該
繰り返し命令数をセットし、該第4の命令が実行される
毎に該ブロック繰り返し数及び該繰り返し命令数を示す
カウント値を指示し、且つ該第2の命令と該第4の命令
が先に終了した演算器に対して、該第4の命令以降の番
地に格納された命令を順次実行させる繰り返し制御装置
とを備えたプログラム制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00192798A JP3531856B2 (ja) | 1998-01-07 | 1998-01-07 | プログラム制御方法及びプログラム制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00192798A JP3531856B2 (ja) | 1998-01-07 | 1998-01-07 | プログラム制御方法及びプログラム制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11203137A JPH11203137A (ja) | 1999-07-30 |
JP3531856B2 true JP3531856B2 (ja) | 2004-05-31 |
Family
ID=11515248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00192798A Expired - Lifetime JP3531856B2 (ja) | 1998-01-07 | 1998-01-07 | プログラム制御方法及びプログラム制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3531856B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1346279A1 (en) * | 2000-12-07 | 2003-09-24 | Koninklijke Philips Electronics N.V. | Digital signal processing apparatus |
-
1998
- 1998-01-07 JP JP00192798A patent/JP3531856B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11203137A (ja) | 1999-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2943464B2 (ja) | プログラム制御方法及びプログラム制御装置 | |
JP3237858B2 (ja) | 演算装置 | |
JPH0348537B2 (ja) | ||
JP3531856B2 (ja) | プログラム制御方法及びプログラム制御装置 | |
JPH0363092B2 (ja) | ||
KR100188374B1 (ko) | 연산처리장치 | |
JP2553200B2 (ja) | 情報処理装置 | |
JPS63113634A (ja) | プログラムカウンタ相対アドレス計算方式 | |
JP2812610B2 (ja) | パイプライン制御方式 | |
JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
JPS6242301B2 (ja) | ||
JP3211791B2 (ja) | ループ処理方式 | |
JP2504263B2 (ja) | デ―タ処理装置 | |
JP2825315B2 (ja) | 情報処理装置 | |
JPH04346129A (ja) | プログラムリピート制御方法及びプログラムリピート制御装置 | |
JPH06161778A (ja) | マルチフロー命令制御方法及び命令処理装置 | |
JP2675226B2 (ja) | タイミング調整方法 | |
JP3063593B2 (ja) | プログラマブルコントローラ | |
JPH0887411A (ja) | パイプライン演算方法およびパイプライン演算装置 | |
JPS5896346A (ja) | 階層型演算方式 | |
JPH05250156A (ja) | Riscプロセッサ | |
JPH01284926A (ja) | 演算装置の命令読出方式 | |
JPS63208124A (ja) | マイクロプログラム制御装置 | |
JPH03164945A (ja) | データ処理装置 | |
JPH04168526A (ja) | ループ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20031128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040203 |
|
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: 20040227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080312 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090312 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100312 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100312 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110312 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120312 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120312 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130312 Year of fee payment: 9 |