JPH04251332A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH04251332A
JPH04251332A JP12786391A JP12786391A JPH04251332A JP H04251332 A JPH04251332 A JP H04251332A JP 12786391 A JP12786391 A JP 12786391A JP 12786391 A JP12786391 A JP 12786391A JP H04251332 A JPH04251332 A JP H04251332A
Authority
JP
Japan
Prior art keywords
address
loop
signal
program
program instruction
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.)
Granted
Application number
JP12786391A
Other languages
English (en)
Other versions
JP2977099B2 (ja
Inventor
Kazuhiko Sato
和彦 佐藤
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 JP3127863A priority Critical patent/JP2977099B2/ja
Publication of JPH04251332A publication Critical patent/JPH04251332A/ja
Application granted granted Critical
Publication of JP2977099B2 publication Critical patent/JP2977099B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラマブルコント
ローラ等に用いられ、プログラムメモリに格納されたプ
ログラム命令を順次に読出し、実行する演算処理装置に
関する。
【0002】
【従来の技術】従来の演算処理装置として代表的なプロ
セッサの回路構成を図7に示す。
【0003】プロセッサではプログラムアドレス制御部
15からプログラムメモリ(不図示)に対してアドレス
バス22aを介してアドレス指定を行ってプログラム命
令を順次に読出す。
【0004】図8に示すようなループ処理が規定された
プログラムを実行する場合、次のような処理手順でルー
プ処理のためのシステム処理が実行される。読出したプ
ログラム命令がインストラクションデコーダ20により
ループ処理の開始を示すループ命令(図8のステップS
1)であることを検出すると、演算器(ALU)17は
この命令の中に含まれるループ回数をカウンタレジスタ
16にセットする。以下、プログラムカウンタ18を更
新し、プログラム命令を読出す。この読出されたプログ
ラム命令をデータバス22bを介して入力したALU1
7はこのプログラム命令を実行する。図8におけるルー
プ処理の最後尾に記載された、カウンタレジスタ16の
更新命令により、ループ回数がALU17により数値“
1”減算される。ALU17はこの減算結果をカウンタ
レジスタ16に更新記憶する。
【0005】次に、読出されたプログラム命令(図8の
ステップS3)に従ってALU17はカウンタレジスタ
16の格納値が“0”、すなわちループ処理の終了を示
しているか否かを判定する。否定判定が得られた場合は
、プログラムカウンタ18の現在の計数値が図8のステ
ップS1Aのプログラム命令の格納アドレスに変更され
、以下、図8のステップS1Aのプログラム命令から順
次プログラム命令が読出される。
【0006】このような処理手順が順次に繰り返され、
指定された回数だけループ処理を繰り返すと、カウンタ
レジスタ16の計数値は数値“0”となるので、図8の
ステップS3のプログラム命令が読出されたときにAL
U17の判定処理において肯定判定が得られる。この後
、プログラムカウンタ18は+“1”だけ計数値が更新
され、図8のステップS4のプログラム命令に相当する
アドレスが設定される。
【0007】
【発明が解決しようとする課題】従来装置においては、
あらかじめループ回数をセット(1マシンサイクルで実
行)し、ループを1回ずつ実行する毎にループ回数のデ
クリメントおよび数値“0”との比較すなわち全ループ
処理の終了判定を行う。このため2マシンサイクル時間
が必要となる。たとえばN回のループ処理ではループ回
数の計数のために2N+1マシンサイクル時間だけ上述
のシステム処理を要する。
【0008】そこで、本発明の目的は、上述の点に鑑み
て、ループ処理を実行するために必要なシステム処理時
間を従来よりもさらに短縮することの可能な演算処理装
置を提供することにある。
【0009】
【課題を解決するための手段】このような目的を達成す
るために、本発明は、アドレスの指定によりプログラム
メモリから実行対象のプログラム命令を順次に読出す演
算処理装置において、初期値からプログラム命令の実行
毎に前記アドレスを数値“1”ずつ更新するアドレス発
生手段と、ループ処理の開始位置および終了位置ならび
にループ回数を示す特定プログラム命令に基づき、前記
プログラムメモリにおける、ループ処理の先頭のプログ
ラム命令および末尾のプログラム命令の格納アドレスを
算出するアドレス演算手段と、前記アドレス発生手段の
発生したアドレスと前記アドレス演算手段において算出
された前記ループ処理の末尾のプログラム命令の格納ア
ドレスとの一致比較を行うことにより1回のループ処理
の終了の有無を判定する判定手段と、該判定手段のルー
プ処理終了を示す第1信号の出力回数を計数し、前記特
定プログラム命令の示すループ回数に計数結果が到達し
たときに全ループ処理終了を示す第2信号を発生する計
数手段と、前記第1信号が発生しかつ前記第2信号が発
生しない場合にのみ、前記アドレス発生手段の発生アド
レスを前記アドレス演算手段により算出されたループ処
理の先頭のプログラム命令の格納アドレスに初期設定す
るアドレス制御手段とを具えたことを特徴とする。
【0010】また、本発明は、アドレスの指定によりプ
ログラムメモリから実行対象のプログラム命令を順次に
読み出す演算処理装置において、初期値からプログラム
命令の実行ごとに前記アドレスを数値“1”ずつ更新す
るアドレス発生手段と、ループ処理の開始位置および終
了位置ならびにループ回数を示す特定プログラム命令に
基づき、前記プログラムメモリにおける、ループ処理の
先頭のプログラム命令,末尾のプログラム命令の格納ア
ドレス、およびループ処理の次のプログラム命令の格納
アドレスを算出するアドレス演算手段と、前記アドレス
発生手段の発生したアドレスと前記アドレス演算処理に
おいて算出された末尾のプログラム命令の格納アドレス
との一致比較を行うことにより1回のループ処理の終了
の有無を判定し、当該1回のループ処理の終了の場合に
第1信号を発生させる判定手段と、前記アドレス発生手
段の発生したアドレスと前記アドレス演算処理において
算出された前記ループ処理の先頭のプログラム命令の格
納アドレスとの一致比較を行うことによりループ回数を
監視し、当該両アドレスが一致した場合に第2信号を発
生させる監視手段と、該監視手段の発生する第2信号の
出力回数を計数し、前記特定プログラム命令の示すルー
プ回数に計数結果が到達したときに全ループ処理終了を
示す第3信号を発生させる計数手段と、前記第1信号が
発生しかつ前記第3信号が発生しない場合にのみ、前記
アドレス発生手段の発生アドレスを前記アドレス演算手
段により算出されたループ処理の先頭のプログラム命令
の格納アドレスに初期設定し、また前記第3信号が発生
しかつ前記第2信号が発生したときにのみ前記アドレス
演算手段により算出されたループ処理の次のプログラム
命令の格納アドレスに初期設定するアドレス制御手段と
、前記第3信号が発生しかつ前記第2信号が発生した場
合には前記アドレス制御手段の初期設定の直前に読み出
したプログラム命令をフェッチしないように指示する命
令フェッチ停止信号を発生する命令制御手段とを具えた
ことを特徴とする。
【0011】
【作用】本発明では、1つの特定命令の中に上記開始位
置および終了位置を示す情報を含ませる。この特定命令
によりアドレス演算手段がループ処理の先頭および末尾
のプログラム命令の格納アドレスを算出する。算出され
た格納アドレスおよびプログラムメモリに対する読出し
アドレス(アドレス発生手段の発生アドレス)を比較す
ることによりループ処理の終了およびループ開始位置の
アドレスジャンプ処理を行う。
【0012】さらに、本発明では、ループ処理回数の計
数を、ループ処理の先頭プログラム命令の格納アドレス
と、現在設定されている命令読出アドレスとの一致比較
により行うため、分岐命令等によりループ処理の末尾の
プログラム命令を実行しないでループ処理の先頭のプロ
グラム命令のアドレスに戻ってもループ回数を計数でき
る。
【0013】従来ではループ処理の先頭位置および末尾
位置を2つの特定プログラム命令の記載位置で指示して
いるのに対し、本発明ではループ処理の前に1個の特定
命令を記載しておけばよく、ループ処理位置に特定プロ
グラム命令を記載する必要がない。この結果、ループ処
理のシステム処理のためにプログラム中に記載しておく
システム関連のプログラム命令の個数が減少し、以て、
プログラム処理時間を短縮することができる。
【0014】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0015】本第1実施例の演算処理装置の構成は図7
に示す回路とほぼ同様の構成とすることができるが、図
7のプログラムアドレス制御部15の構成が異なる。図
1にプログラムアドレス制御部15の回路構成を示す。
【0016】図1において、アドレス演算器(本発明の
アドレス演算手段)4はループ処理の開始命令(本発明
の特定プログラム命令)の示すループ処理の開始位置お
よび終了位置に対応するプログラムメモリのアドレスを
算出する。算出されたループ処理の開始アドレスはルー
プ開始アドレスレジスタ1に記憶され、ループ処理の終
了アドレスはアドレスコンパレータ3内のループエンド
(END)アドレスレジスタ9(図2参照)に記憶され
る。
【0017】ループ回数カウンタ2にはダウンカウンタ
が用いられ、汎用レジスタ19(図7参照)にループ開
始命令の示すループ回数が格納されたときに、このルー
プ回数が計数開始値として設定される。ループ回数カウ
ンタ(本発明の計数手段)2はアドレスコンパレータ3
から1回のループ処理の終了信号が出力される毎に計数
値を数値“1”減らし、計数値が数値“0”に到達した
ときに計数終了信号(本発明の第2信号)を発生する。
【0018】この計数終了信号が発生せずかつ後述の一
致信号が発生しているときにのみ論理回路のゲートが開
き、オンの切替信号がセレクタ7に出力される。セレク
タ7はオンの切替信号に応じてループ開始アドレスレジ
スタ1に保持されたループ開始アドレスをプログラムア
ドレスレジスタ5に転送する。切替信号がオンのときは
セレクタ7はプログラムカウンタ6の出力値をプログラ
ムアドレスレジスタ5に転送する。なお、セレクタ7は
プログラム命令の開始時にはアドレス演算器4により算
出されたプログラムアドレスを従来同様プログラムアド
レスレジスタ5に転送する。
【0019】プログラムアドレスレジスタ5はアドレス
バス8aと接続し、本発明のアドレス発生手段としてプ
ログラムメモリに対する読出しアドレスを保持出力する
【0020】アドレスコンパレータ3は図2に示すよう
にループENDアドレスレジスタ9,排他的論理和(E
XOR)ゲート10,多入力アンド(AND)ゲート1
1から構成される。ループENDアドレスレジスタ9に
保持されたループ終了アドレスと、プログラムアドレス
レジスタ5に保持された読出しアドレスの一致比較がE
XORゲート10,多入力ANDゲート11により行わ
れ、両アドレスが一致したときに1回のループ処理の終
了を示す一致信号(本発明の第1信号)が出力される。
【0021】本実施例ではプログラム中のループ処理の
先頭プログラム命令の前のステップに図3に示すような
ループ(開始)命令を記載しておく。
【0022】次に、本発明に関わるループ処理について
説明する。
【0023】プログラムメモリの開始アドレスは“10
0”から始まり、ループ命令がアドレス“109”、ル
ープ処理を行うプログラム命令がアドレス“110”〜
“115”に格納され、ループ処理は5回行うものとす
る。
【0024】プログラムの演算の実行開始にあたり、従
来同様、プログラムアドレスレジスタ5においてプログ
ラムメモリの先頭アドレス例えば“100”が保持され
、アドレスバス8aに出力される。データバス22b(
図7参照)上に読出されたプログラム命令はALU17
に入力され、ALU17において演算実行される。なお
、インストラクションデコーダ20は読出しのプログラ
ム命令を識別し、ループ命令であるときにALU17に
対して識別信号を発生する。
【0025】ALU17が1回プログラム命令を実行す
ると、ALU17からの実行終了信号またはマシンクロ
ック信号に応じて図1のプログラムカウンタ6は現在の
読出しアドレス“100”に“1”を加算した値“10
1”をセレクタ7に出力する。
【0026】一方、アドレスコンパレータ3ではループ
終了位置が設定されていないので、不一致信号をセレク
タ7に送出する。この結果、プログラムカウンタ6の出
力値“101”がプログラムアドレスレジスタ5に保持
され、読出しアドレスとしてアドレスバス8aに転送さ
れる。
【0027】以下、上述の手順で、プログラム命令が実
行される毎にプログラムアドレスレジスタ5の発生する
読出しアドレスが更新される。
【0028】読出しアドレスが“109”になったとき
にループ命令がプログラムメモリから読出される。この
とき、インストラクションデコーダ20から識別信号が
出力される。ALU17はこの識別信号に応じて、読出
しのループ命令からループ回数“5”、ステップ数“6
”を抽出する。次にALU17は汎用レジスタ19を介
して図1のアドレス演算器4にループ処理のステップ数
を報らせる。また、ALU17はループ回数カウンタ2
に対して計数開始値(ループ回数“5”)を汎用レジス
タ19を介して報らせる。
【0029】アドレス演算器4は、現在の読出しアドレ
ス“109”およびループ処理のステップ数“6”に基
づき、ループ終了アドレス“109”+“6”=“11
5”を算出する。この算出結果はループ開始アドレスレ
ジスタ1に保持記憶される。
【0030】このようなループ命令に関連する処理が終
了すると、プログラムカウンタ6は次アドレス値“11
0”を出力し、セレクタ7,プログラムアドレスレジタ
5を介してプログラムメモリに送出する。以下、順次読
出しアドレスが更新され、読出しアドレスがループ終了
アドレスになると、アドレスコンパレータ3から一致信
号が出力される。また、ループ回数カウンタ2はこの一
致信号に応じて現在の計数値“5”を“4”に更新する
。ループ回数カウンタ2は計数終了信号を発生していな
いのでこのとき、論理回路のゲートは開き、オンの切替
信号としてアドレスコンパレータ3の一致信号がセレク
タ7に出力される。このため、セレクタ7はループ開始
アドレスレジスタ1に保持されたループ開始アドレス“
110”をプログラムアドレスレジスタ5に転送する。 この結果、読出し命令はループ開始位置のプログラム命
令に戻る。
【0031】このとき、論理回路およびセレクタ7が本
発明のアドレス制御手段として動作する。
【0032】以下、上述の手順が繰り返され、読出しア
ドレスはループ開始アドレスからループ終了アドレスの
間で更新されるが、指示されたループ回数をループ回数
カウンタ2が計数し、計数終了信号を発生すると、ゲー
ト回路が閉じるので、ループ処理の最終アドレスを検知
したときにアドレスコンパレータ3の一致信号はセレク
タ7には出力されない。このため、以後、セレクタはプ
ログラムカウンタ6の出力値をプログラムアドレスレジ
スタ5に転送する。この結果、読出しアドレスはループ
終了アドレスに“1”を加算した値になるので、実行プ
ログラムはループ終了を脱却し、ループ処理以後のプロ
グラム命令の実行に移行することができる。
【0033】本第1実施例の他に次の例が挙げられる。
【0034】1)本実施例では、ループ処理の戻り先の
アドレス(ループ先頭アドレス)すなわち、プログラム
メモリに対する読出しアドレスの設定をセレクタ7の信
号切替えにより行っているが、図1のプログラムカンタ
6に計数開始値を可変設定可能なカウンタを用いれば、
最終回を除くループ処理終了時にループ開始アドレスレ
ジスタ1の格納値をプログラムカウンタ6の計数開始値
に初期設定するようにしてもよい。
【0035】2)本実施例では、ループ開始(先頭)ア
ドレスおよびループ終了(末尾)アドレスを図1のアド
レス演算器4により算出しているが、ALU17におい
て実行してもよいことは言うまでもない。
【0036】以上、説明したように本実施例ではプログ
ラム中ではループ命令1個を記載しておけばよく、ルー
プ処理の終了を示すプログラム命令を実際のループ処理
の終了位置のプログラム命令の後に記載する必要はない
。さらにループ回数を65535回(16ビットのルー
プ計数カウンタの最大許回ループ回数)としてもループ
回数の初期化に要する時間は60〜70nsであり、動
作周波数10MHzのRISIプロセッサでも充分にプ
ログラム命令の実行と読出しアドレスの設定を同時並行
処理で行うことができる。
【0037】上述の第1実施例では、図6のループ処理
中に条件分岐命令があるプログラムを実行する場合、プ
ログラムのアドレスを発生させる回路からループ処理の
末尾のプログラム命令の格納されているアドレスを出力
しない。このため、1回のループ処理の終了を示す信号
が出力されないので、分岐した場合ループ処理の先頭の
プログラム命令の格納アドレスに戻れない。そこで、ル
ープ処理の中で条件分岐命令を実行するようにした第2
実施例について図4により説明する。
【0038】第1実施例ではプログラムアドレスがルー
プ処理の末尾アドレスに到達した回数を計数することに
よってループ回数を計数しているが、第2実施例ではプ
ログラムアドレスがループ処理の開始アドレスに初期設
定された回数を計数することによりループ回数を計数す
る。
【0039】図4において、アドレス演算器(本発明第
2形態のアドレス演算手段)4はループ処理開始命令に
よりループ開始アドレス,ループ終了アドレスを算出し
、それぞれをループ開始アドレスレジスタ1,ループ終
了アドレスレジスタ58に格納する。
【0040】ループ回数カウンタ2(本発明第2形態の
計数手段)にはダウンカウンタが用いられ、ループ処理
開始命令によりループ回数が初期設定され、後述のアド
レスコンパレータ53a(本発明第2形態の監視手段)
の一致信号(本発明第2形態の第2信号)の発生回数を
ダウンカウントする。ループ回数カウンタ2はその計数
値が“0”となったとき全ループ処理の終了を示す計数
終了信号(本発明の第3信号)を発生する。
【0041】アドレスコンパレータ53aはプログラム
アドレスレジスタ5およびループ開始アドレスレジスタ
の格納値の一致判定を行う。一致判定が得られた場合ア
ドレスコンパレータ53aは一致信号を発生する。
【0042】アドレスコンパレータ53bはプログラム
アドレスレジスタ5およびループ終了レジスタ58の格
納値の一致判定を行って、分岐処理を行わない場合の1
回のループ処理の終了を検出する。一致判定が得られた
場合、アドレスコンパレータ53bは一致信号(本発明
第2の形態の第1信号)を発生する。
【0043】アドレスコンパレータ53a,53bの回
路構成の一例を図5に示しておく。
【0044】インクリメンタ59はループ終了アドレス
レジスタ58の格納値に“1”を加えた値、すなわち、
ループ処理後の次のプログラム命令の格納アドレスを出
力する。
【0045】ゲート回路60はループ回数カウンタ2の
計数終了信号,アドレスコンパレータ53a,53bの
一致信号を入力し、これら信号のレベルが次の条件に合
致したとき、セレクタ57に対して以下の選択すべき信
号を指示する指示信号を出力する。
【0046】a)アドレスコンパレータ53a,53b
が共に一致信号を発生せず、ループ回数カウンタ2も計
数終了信号を発生しない場合(ループ開始位置および終
了位置に実行対象のプログラム命令が位置していない場
合)には、プログラムカウンタ6の計数値をセレクタ5
7に選択させる。
【0047】b)アドレスコンパレータ53bが一致信
号を発生し、アドレスコンパレータ53aの一致信号お
よびループ回数カウンタ2の計数終了信号が発生してい
る場合(ループ処理の途中で、実行対象のプログラム命
令がループ処理の末尾に到達した場合)、ループ開始ア
ドレスレジスタ1の格納値をセレクタ57に選択させ、
プログラムアドレスレジスタ5に設定する。
【0048】図6に示す条件分岐命令がループ処理の中
に含まれたプロゴラムを実行する場合の回路動作を説明
する。
【0049】プログラムメモリの開始アドレスは“10
0”から始まり、図3のループ命令がアドレス“109
”,ループ処理を行うプログラム命令がアドレス“11
0”〜“120”に格納され、アドレス“115”に条
件分岐命令が格納され、ループ処理は5回行うものとす
る。
【0050】プログラムがアドレス“100”から実行
され、読み出しアドレスが“109”になったときルー
プ命令がプログラムメモリから読み出される。このとき
、インストラクションデコーダ20からループ回数“5
”,ステップ数“11”が抽出され、ループ回数カウン
タ2に“5”が、ループ開始アドレスレジスタ1には次
命令のアドレス“110”が、ループエンドアドレスレ
ジスタ58には“109”+“11”=“120”が格
納される。
【0051】このようなループ命令に関連する処理が終
了すると、プログラムアドレスレジスタ5の格納値はプ
ログラムカウンタ6の計数値、すなわち、次アドレス値
“110”に更新され、プログラムアドレスバス23a
に出力する。アドレス“110”の命令が読み出し、実
行と同時に、プログラムアドレスレジスタ5の内容とル
ープ開始アドレスレジスタ1の内容が一致したため、一
致信号(本発明の第2信号)がアドレスコンパレータ5
3aから出力され、ループ回数カウンタ2の内容が“5
”から“4”に更新される。以下順次読み出しアドレス
が更新され、アドレスが“120”になると、プログラ
ムアドレスレジスタ5の内容とループENDアドレスレ
ジスタ58の内容が一致したため、一致信号(本発明第
2形態の第1信号)がアドレスコンパレータ53bから
出力される。ループ回数カウンタ2の内容が“0”でな
いため計数終了信号(本発明第2形態の第3信号)は出
力されず、プログラムアドレスレジスタ5の格納内容は
ループ開始アドレスレジスタ1の内容“110”に更新
され、ループ回数カウンタ2の内容が“4”から“3”
に更新される。
【0052】また、プログラムアドレス“115”の条
件分岐命令の実行時において分岐の条件が満たされたと
き、分岐命令によりプログラムアドレスレジスタ5は“
110”に更新され、ループ回数カウンタ2の内容が“
3”から“2”に更新される。
【0053】このように順次、命令が実行され、ループ
回数カウンタ2の内容が“1”でプログラムアドレスレ
ジスタ5の内容が“110”になったとき、ループ回数
カウンタ2の内容が“1”から“0”に更新され、計数
処理終了信号が発生する。本信号が発生しかつアドレス
が“120”になると、プログラムアドレスレジスタ5
はループ開始アドレスレジスタ1の内容“110”が更
新されず“120”+“1”=“121”に更新され、
ループ処理を終了する。
【0054】また計数終了信号(本発明第2形態の第3
信号)が発生し、アドレス“115”において分岐の条
件が満たされたとき、分岐命令によりアドレス演算器4
→セレクタ→プログラムアドレスレジスタ5でアドレス
値が出力される。プログラムアドレスレジスタ5は“1
10”に更新され、ループ開始アドレスレジスタ1およ
びプログラムアドレスレジスタ5の格納値が一致し、ア
ドレスコンパレータ53aにおいて一致信号(本発明第
2形態の第2信号)が発生する。第3信号および第2信
号の発生を検出したゲート回路60(本発明第2形態の
命令制御手段)は命令フェッチ停止信号10aを発生す
る。この信号10aにより不図示の演算器では、現在読
み出している命令をフェッチせず、同時にループEND
アドレスレジスタ58の内容“120”+“1”=“1
21”にプログラムアドレスレジスタ5が更新され、ル
ープ処理を終了する。
【0055】この後、インクリメンタ59の出力値、す
なわち、ループ終了アドレスに“1”を加えた値がセレ
クタ57を介してプログラムレジスタ5に設定され、ル
ープ処理後のアドレス設定およびプログラムカウンタ6
に対する初期設定がなされる。
【0056】この後、プログラムカウンタ6の計数値が
従来通りプログラムセレクタ57を介してアドレスレジ
スタ5に設定され、プログラム命令の実行毎にプログラ
ム命令の読み出しアドレスが順次更新設定されて行く。
【0057】
【発明の効果】以上、説明したように、本発明によれば
、ループ処理の先頭および末尾の位置を示すシステム関
連のプログラム命令1個のみをプログラム中に記載して
おくだけで、自動的にプログラムアドレスに対する読出
しアドレスが設定できる。従来ではループ処理の存在を
示すシステム関連のプログラム命令およびループ処理の
範囲を示す2個のシステム関連のプログラム命令が必要
であり、ループ処理に関連してN+1(Nはループ回数
)回、システム関連のプログラム命令の実行時間を要す
る。これに対し、本発明では、1回のシステム関連の実
行時間があればよく、プログラムの処理時間が大幅に短
縮される。
【0058】また、ループ処理内の分岐処理も可能とな
るので、ループ処理内のプログラムに制約がなくなり自
由度が増す。
【図面の簡単な説明】
【図1】本発明第1実施例におけるアドレス制御部の回
路構成を示すブロック図である。
【図2】図1のアドレスコンパレータ3の回路構成を示
す回路図である。
【図3】本発明第1実施例のループ命令のマシンコード
のフォーマットを示す説明図である。
【図4】本発明第2実施例の回路構成を示すブロック図
である。
【図5】図4のアドレスコンパレータ53a,53bの
回路構成を示す回路図である。
【図6】本発明第2実施例のループ処理のプログラム例
を示すフローチャートである。
【図7】従来例のプロセッサの主要な回路構成を示すブ
ロック図である。
【図8】従来のループ処理のプログラム例を示すフロー
チャートである。
【符号の説明】
1  ループ開始アドレスレジスタ 2  ループ回数カウンタ 3  アドレスコンパレータ 4  アドレス演算器 5  プログラムアドレスレジスタ 6  プログラムカウンタ 7  セレクタ 8a  プログラムアドレスバス 8b  ループステップ数 8c  ループ回数 8d  ループ制御信号 9  ループENDアドレスレジスタ 10  EORゲート 11  多入力ANDゲート 12  命令を示すコード(ループ命令)13  ルー
プ回数 14  ループステップ数 15  プログラムアドレス制御部 16  カウンタレジスタ 17  ALU 18  プログラムカウンタ 19  その他の汎用レジスタ 20  インストラクションデコーダ 21  アドレス演算器 22a  アドレスバス 22b  データバス 53a,53b  アドレスコンパレータ58  ルー
プENDアドレスレジスタ59  インクリメンタ 60  ゲート回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  アドレスの指定によりプログラムメモ
    リから実行対象のプログラム命令を順次に読出す演算処
    理装置において、初期値からプログラム命令の実行毎に
    前記アドレスを数値“1”ずつ更新するアドレス発生手
    段と、ループ処理の開始位置および終了位置ならびにル
    ープ回数を示す特定プログラム命令に基づき、前記プロ
    グラムメモリにおける、ループ処理の先頭のプログラム
    命令および末尾のプログラム命令の格納アドレスを算出
    するアドレス演算手段と、前記アドレス発生手段の発生
    したアドレスと前記アドレス演算手段において算出され
    た前記ループ処理の末尾のプログラム命令の格納アドレ
    スとの一致比較を行うことにより1回のループ処理の終
    了の有無を判定する判定手段と、該判定手段のループ処
    理終了を示す第1信号の出力回数を計数し、前記特定プ
    ログラム命令の示すループ回数に計数結果が到達したと
    きに全ループ処理終了を示す第2信号を発生する計数手
    段と、前記第1信号が発生しかつ前記第2信号が発生し
    ない場合にのみ、前記アドレス発生手段の発生アドレス
    を前記アドレス演算手段により算出されたループ処理の
    先頭のプログラム命令の格納アドレスに初期設定するア
    ドレス制御手段とを具えたことを特徴とする演算処理装
    置。
  2. 【請求項2】  アドレスの指定によりプログラムメモ
    リから実行対象のプログラム命令を順次に読み出す演算
    処理装置において、初期値からプログラム命令の実行ご
    とに前記アドレスを数値“1”ずつ更新するアドレス発
    生手段と、ループ処理の開始位置および終了位置ならび
    にループ回数を示す特定プログラム命令に基づき、前記
    プログラムメモリにおける、ループ処理の先頭のプログ
    ラム命令,末尾のプログラム命令の格納アドレス、およ
    びループ処理の次のプログラム命令の格納アドレスを算
    出するアドレス演算手段と、前記アドレス発生手段の発
    生したアドレスと前記アドレス演算処理において算出さ
    れた末尾のプログラム命令の格納アドレスとの一致比較
    を行うことにより1回のループ処理の終了の有無を判定
    し、当該1回のループ処理の終了の場合に第1信号を発
    生させる判定手段と、前記アドレス発生手段の発生した
    アドレスと前記アドレス演算処理において算出された前
    記ループ処理の先頭のプログラム命令の格納アドレスと
    の一致比較を行うことによりループ回数を監視し、当該
    両アドレスが一致した場合に第2信号を発生させる監視
    手段と、該監視手段の発生する第2信号の出力回数を計
    数し、前記特定プログラム命令の示すループ回数に計数
    結果が到達したときに全ループ処理終了を示す第3信号
    を発生させる計数手段と、前記第1信号が発生しかつ前
    記第3信号が発生しない場合にのみ、前記アドレス発生
    手段の発生アドレスを前記アドレス演算手段により算出
    されたループ処理の先頭のプログラム命令の格納アドレ
    スに初期設定し、また前記第3信号が発生しかつ前記第
    2信号が発生したときにのみ前記アドレス演算手段によ
    り算出されたループ処理の次のプログラム命令の格納ア
    ドレスに初期設定するアドレス制御手段と、前記第3信
    号が発生しかつ前記第2信号が発生した場合には前記ア
    ドレス制御手段の初期設定の直前に読み出したプログラ
    ム命令をフェッチしないように指示する命令フェッチ停
    止信号を発生する命令制御手段とを具えたことを特徴と
    する演算処理装置。
JP3127863A 1990-12-20 1991-05-30 演算処理装置 Expired - Lifetime JP2977099B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3127863A JP2977099B2 (ja) 1990-12-20 1991-05-30 演算処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-404303 1990-12-20
JP40430390 1990-12-20
JP3127863A JP2977099B2 (ja) 1990-12-20 1991-05-30 演算処理装置

Publications (2)

Publication Number Publication Date
JPH04251332A true JPH04251332A (ja) 1992-09-07
JP2977099B2 JP2977099B2 (ja) 1999-11-10

Family

ID=26463710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3127863A Expired - Lifetime JP2977099B2 (ja) 1990-12-20 1991-05-30 演算処理装置

Country Status (1)

Country Link
JP (1) JP2977099B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015298A (ja) * 2008-07-02 2010-01-21 Nec Electronics Corp 情報処理装置及び命令フェッチ制御方法
JP2017228213A (ja) * 2016-06-24 2017-12-28 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015298A (ja) * 2008-07-02 2010-01-21 Nec Electronics Corp 情報処理装置及び命令フェッチ制御方法
JP2017228213A (ja) * 2016-06-24 2017-12-28 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Also Published As

Publication number Publication date
JP2977099B2 (ja) 1999-11-10

Similar Documents

Publication Publication Date Title
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
US7203827B2 (en) Link and fall-through address formation using a program counter portion selected by a specific branch address bit
JP2848606B2 (ja) マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置
JPH0810428B2 (ja) データ処理装置
EP0094535B1 (en) Pipe-line data processing system
JPS6125169B2 (ja)
JPH0213333B2 (ja)
US4580238A (en) Arithmetic operating system
JP2977099B2 (ja) 演算処理装置
JP3599499B2 (ja) 中央処理装置
US7020769B2 (en) Method and system for processing a loop of instructions
US5838961A (en) Method of operation and apparatus for optimizing execution of short instruction branches
JPH0256636A (ja) 分岐制御装置
JP3493110B2 (ja) 高速分岐処理装置
JPS6341092B2 (ja)
JPH0512009A (ja) デイジタル信号処理装置
US20020124159A1 (en) Data processing apparatus
JPH0248733A (ja) 情報処理装置
JP2689894B2 (ja) マイクロプログラム制御型情報処理装置
JPH04370832A (ja) プロセッサ回路
JP2763450B2 (ja) パイプライン処理データ処理装置
JP3414579B2 (ja) プログラマブルコントローラ
JPS61273637A (ja) 情報処理装置
JP2825315B2 (ja) 情報処理装置
JP2001034474A (ja) データ処理装置及びデータ処理方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070910

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 12