JPH06348491A - Doループ実行時のオーバヘッドを最小化するデータ処理装置 - Google Patents

Doループ実行時のオーバヘッドを最小化するデータ処理装置

Info

Publication number
JPH06348491A
JPH06348491A JP5138549A JP13854993A JPH06348491A JP H06348491 A JPH06348491 A JP H06348491A JP 5138549 A JP5138549 A JP 5138549A JP 13854993 A JP13854993 A JP 13854993A JP H06348491 A JPH06348491 A JP H06348491A
Authority
JP
Japan
Prior art keywords
loop
address
register
program
stored
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
JP5138549A
Other languages
English (en)
Inventor
Hidenori Ohashi
秀紀 大橋
Takashi Uchino
高志 内野
Takashi Kuroda
隆 黒田
Akira Yoshida
昭 吉田
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP5138549A priority Critical patent/JPH06348491A/ja
Publication of JPH06348491A publication Critical patent/JPH06348491A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明は、Doループの開始、及び終了の際
のステータスレジスタとデータメモリとの間のステータ
スレジスタ値の退避・復帰動作を短時間に実行すること
が可能なデータ処理装置を提供することを目的とする。 【構成】 本発明は、インストラクションレジスタ3が
Do命令コードを解読すると、Doループの繰り返し回
数をループカウンタ10に、またDoループの先頭アド
レスをスタック4に、更にDoループの最終アドレスを
アドレスレジスタ9に夫々格納させると共に、インスト
ラクションレジスタ3からのDo命令コードに従ってア
ドレスアロケーションユニット8はステータスレジスタ
値の退避用のアドレス生成を行ない、このアドレス生成
されたアドレスに基づいてステータスレジスタ6のステ
ータスレジスタ値をデータメモリ7に退避させることを
特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、Doループを実行する
際のオーバヘッドを最小化するデータ処理装置に関す
る。
【0002】
【従来の技術】従来、データ処理装置におけるプログラ
ムの実行に於ては、Doループとして知られる繰り返し
演算を実行し乍ら演算を行っている。このDoループの
実行に際しては、Doループのプログラムの先頭アドレ
スをスタックに、またDoループの最終アドレス、及び
Doループの繰り返し回数をレジスタに予め格納させて
おき、Doループの実行に従ってインクリメントされる
アドレスが上記レジスタの最終アドレスと一致すると共
に、Doループの実際の繰り返し回数が上記レジスタの
繰り返し回数と一致するまでDoループを継続実行して
いる。
【0003】斯るDoループの実行に伴う操作は全てソ
フトウェアで実現されており、そのDoループを実行す
る従来のデータ処理装置の概略構成図を図8に示す。
【0004】尚、従来例に於けるDoループのプログラ
ムはプログラムメモリ1のアドレス(n+2)〜(n+4)
に格納されており、またDoループの繰り返し回数は2
回に設定されているものとする。
【0005】図8に於て、1はDoループを含む所定の
プログラムが記憶格納されているプログラムメモリ、2
はプログラムメモリ1に記憶格納されているプログラム
を演算実行する際のカウント値に対応するプログラムメ
モリ1のアドレスをインクリメントするプログラムカウ
ンタ、3はプログラムメモリ1に記憶格納されているプ
ログラムをロードし、そのプログラムの命令コードを解
読する機能を有するインストラクションレジスタ、4は
一時的に退避されたプログラムカウンタ2のカウント値
を記憶しておくスタック、5はプログラムカウンタ2の
カウント値を一時的に記憶するスタック4を指定するス
タックポインタ、6はインストラクションレジスタ3で
解読した命令コードに基づいて行われた演算の演算結
果、及び該演算結果のサイン、ゼロ、キャリー、オーバ
ーフロー等のフラグからなるステータスレジスタ値を記
憶しておくステータスレジスタであり、演算結果とはプ
ログラムを実行した際の結果を、またサインとはその演
算結果の符号を、ゼロとは演算結果が0であることを、
キャリーとは演算結果の桁送りを、オーバーフローとは
桁あふれを夫々示すフラグである。
【0006】7はステータスレジスタ6に記憶されてい
るステータスレジスタ値を一時的に退避させて記憶して
おくデータメモリ、8はステータスレジスタ6のステー
タスレジスタ値を記憶するデータメモリ7のアドレスを
格納するアドレスレジスタ、及びデータメモリ7のアド
レスのアドレス計算を実行するアドレス加減算器を含ん
だアドレスアロケーションユニット、9はDoループを
実行する場合にそのDoループの最終アドレスを記憶し
ておくループアドレスレジスタ、10はDoループを実
行する場合にそのDoループの繰り返し回数を記憶して
おくル−プカウンタ、11はプログラムカウンタ2とル
ープアドレスレジスタ9とのアドレスを比較する比較器
であり、この比較器11は比較した結果が一致すれば、
信号EQUALをプログラムカウンタ2に出力する構成
となっている。
【0007】上述の構成におけるデータ処理装置を用い
て、2回の繰り返しを行うDoループの実行動作を図9
乃至図11のタイミングチャートに基づいて説明する。
【0008】図9乃至図11に於て、クロックの立ち上
がり(以下CLKという。)Aに同期してアドレス(n
−2)がプログラムカウンタ2からプログラムメモリ1
に送出される。プログラムメモリ1のアドレス(n−2)
に格納されている命令コードP n-2は、CLK Bに同期
してインストラクションレジスタ3に送出され、解読さ
れる。このとき、解読された命令コードがデータメモリ
7のメモリアドレスデータを示す場合には、インストラ
クションレジスタ3はCLK Cに同期して、アドレス
アロケーションユニット8にステータスレジスタ6のス
テータスレジスタ値を一時格納すべきデータメモリ7の
メモリアドレスデータを送出する。
【0009】これと共に、プログラムメモリ1の命令コ
ードPn-1がインストラクションレジスタ3に送出され
解読される。この命令コードがステータスレジスタ6の
ステータスレジスタ値を退避させる命令である場合に
は、CLK Dに同期して、データメモリ7は書き込み
可能状態となり、ステータスレジスタ6のステータスレ
ジスタ値はデータメモリ7に退避される。
【0010】また、インストラクションレジスタ3はC
LK Dに同期して、命令コードPnを解読し、この命令
がDo命令である場合にはCLK Eに同期して送出さ
れる命令コードPn+1を繰り返し回数pと認識する。
【0011】この認識と共に、スタック4、及びループ
カウンタ10は夫々書き込み可能状態となり、次のCL
K Fに同期して、スタック4にDoループの先頭アド
レス(n+2)が、またループカウンタ10にDoループ
の繰り返し回数として2回が夫々書き込まれる。これと
共に、ループアドレスレジスタ9は書き込み可能状態と
なり、CLK Gに同期して、ループアドレスレジスタ
9にはDoループの最終アドレス(n+4)が書き込まれ
る。
【0012】CLK F、G及びHに同期して連続して
インクリメントされるプログラムカウンタ2のアドレス
は比較器11に入力され、このアドレスがループアドレ
スレジスタ9に書き込まれているDoループの最終アド
レス(n+4)と一致すれば、比較器11は信号EQUA
Lをプログラムカウンタ2に対して出力し、そのアドレ
スをDoループの先頭アドレスである(n+2)に変更す
る。
【0013】更に、2回目のDoループも1回目のDo
ループと同様に、CLK I、J及びKに同期して連続
してインクリメントされるプログラムカウンタ2のアド
レスがループアドレスレジスタ9に書き込まれているD
oループの最終アドレス(n+4)と一致し、且つループ
カウンタ10のアドレスが1になると、比較器11はル
ープエンドを検知し、信号EQUALをプログラムカウ
ンタ2に出力し、プログラムカウンタ2のアドレスを、
Doループを抜け出した先頭のアドレス(n+5)に変更
する。
【0014】最終的に、インストラクションレジスタ3
はCLK Mに同期して、命令コードPn+5を解読し、こ
の命令コードがデータメモリ7のメモリアドレスデータ
である場合には、インストラクションレジスタ3はCL
K Nに同期して、アドレスアロケーションユニット8
にデータメモリ7に格納された内容を読み出すべきアド
レスをデータメモリ7に送出する。
【0015】これと共に、プログラムメモリ1の命令コ
ードPn+6がインストラクションレジスタ3に送出され
解読される。この命令コードがデータメモリ7のステー
タスレジスタ値をステータスレジスタ6に復帰させる命
令である場合には、CLKOに同期してデータメモリ7
は読み出し可能状態となり、データメモリ7のステータ
スレジスタ値はステータスレジスタ6に復帰され、これ
によって、一連のDoループの実行が終了する。
【0016】然し乍ら、上述の如きDoループの実行に
伴うステータスレジスタ6のステータスレジスタ値をデ
ータメモリ7に退避させたり、また退避されたデータメ
モリ7のステータスレジスタ値をステータスレジスタ6
に復帰させたりする操作は全てソフトウェアで実現して
いたため、ステータスレジスタ値の退避、復帰動作、及
びデータメモリのアドレス計算等のデータ処理操作に長
時間を要していた。
【0017】
【発明が解決しようとする課題】本発明は、上述の問題
点に鑑みて為されたものであり、Doループの開始、及
び終了の際のステータスレジスタとデータメモリとの間
のステータスレジスタ値の退避・復帰動作を短時間に実
行することが可能なデータ処理装置を提供することを目
的とする。
【0018】
【課題を解決するための手段】本発明は、Doループを
含むプログラムを記憶格納するプログラムメモリと、該
プログラムメモリに記憶格納されているプログラムを演
算実行する際のカウント値を生成するプログラムカウン
タと、該プログラムカウンタのカウント値の増減に同期
し乍ら、上記プログラムメモリに記憶格納されているプ
ログラムをロードし、上記プログラムのDo命令コード
を解読するインストラクションレジスタと、上記プログ
ラムカウンタのカウント値を一時的に記憶しておくスタ
ックと、上記プログラムに従って演算を実行した際の演
算結果、及び該演算結果に基づくゼロ、サイン、キャリ
ー、オーバーフロー等のフラグからなるステータスレジ
スタ値を記憶しておくステータスレジスタと、該ステー
タスレジスタに記憶されているステータスレジスタ値を
一時的に退避させて記憶しておくデータメモリと、上記
ステータスレジスタ値を記憶するデータメモリのアドレ
スを格納するアドレスレジスタ、及び該データメモリの
アドレスのアドレス計算を実行するアドレス加減算器を
含んだアドレスアロケーションユニットと、Doループ
の繰り返し回数を格納しておくループカウンタと、Do
ループのプログラムの最終アドレスを格納するループア
ドレスレジスタと、該ループアドレスレジスタから送出
されるDoループの最終アドレス値と上記プログラムカ
ウンタから送出されるアドレス値とを比較した後、プロ
グラムカウンタのカウント値を変更する信号を送出する
比較器と、を具備し、上記インストラクションレジスタ
がDo命令コードを解読すると、Doループの繰り返し
回数を上記ループカウンタに、またDoループの先頭ア
ドレスをスタックに、更にDoループの最終アドレスを
ループアドレスレジスタに夫々格納させると共に、上記
インストラクションレジスタからのDo命令コードに従
って上記アドレスアロケーションユニットは上記ステー
タスレジスタ値の退避用のアドレス生成を行ない、この
アドレス生成されたアドレスに基づいてステータスレジ
スタのステータスレジスタ値をデータメモリに退避させ
ることを特徴とする。
【0019】更に、本発明は、外部ループ、及びこの外
部ループ含まれる内部ループからなるDoループを有す
るプログラムを記憶格納するプログラムメモリと、該プ
ログラムメモリに記憶格納されているプログラムを演算
実行する際のカウント値を生成するプログラムカウンタ
と、該プログラムカウンタのカウント値の増減に同期し
乍ら、上記プログラムメモリに記憶格納されているプロ
グラムをロードし、上記プログラムのDo命令コードを
解読するインストラクションレジスタと、上記プログラ
ムカウンタのカウント値を一時的に記憶しておくスタッ
クと、上記プログラムに従って演算を実行した際の演算
結果、及び該演算結果に基づくゼロ、サイン、キャリ
ー、オーバーフロー等のフラグからなるステータスレジ
スタ値を記憶しておくステータスレジスタと、該ステー
タスレジスタに記憶されているステータスレジスタ値を
一時的に退避させて記憶しておくデータメモリと、上記
ステータスレジスタ値を記憶するデータメモリのアドレ
スを指定するアドレスレジスタと、外部ループ、又は内
部ループの繰り返し回数を格納するループカウンタと、
該ループカウンタに格納されている外部ループの繰り返
し回数を格納するループカウンタスタックと、上記外部
ループ、又は内部ループのプログラムの最終アドレスを
格納するループアドレスレジスタと、該ループアドレス
レジスタに格納されている外部ループの最終アドレスを
格納するループアドレススタックと、上記ループアドレ
スレジスタから送出されるDoループの最終アドレス値
と上記プログラムカウンタから送出されるアドレス値と
を比較した後、プログラムカウンタのカウント値を変更
する信号を送出する比較器と、を具備し、上記インスト
ラクションレジスタが外部ループのDo命令コードを解
読すると、外部ループの繰り返し回数を上記ループカウ
ンタに、また外部ループの先頭アドレスをスタックに、
更にDoループの最終アドレスをループアドレスレジス
タに夫々格納させると共に、上記インストラクションレ
ジスタからのDo命令コードに従って上記アドレスアロ
ケーションユニットは上記ステータスレジスタ値の退避
用のアドレス生成を行ない、このアドレス生成されたア
ドレスに基づいてステータスレジスタのステータスレジ
スタ値をデータメモリに退避させて外部ループを実行
し、その後インストラクションレジスタが内部ループの
Do命令コードを解読すると、上記ループカウンタに格
納されている外部ループの繰り返し回数を上記ループカ
ウンタスタックに、また上記ループアドレスレジスタに
格納されている外部ループの最終アドレスをループアド
レススタックに、更に外部ループの先頭アドレスを上記
スタックに退避させて内部ループの実行を行うことを特
徴とする。
【0020】
【作用】Doループの開始の際に行われるステータスレ
ジスタ値の退避動作に於ては、そのDoループにおける
Do命令コード、及びその直後に送出されるループのプ
ログラムの最終アドレスをインストラクションレジスタ
が解読した直後に、その信号がアドレスアロケーション
ユニットに送出されることによって、ステータスレジス
タ値はデータメモリに書き込まれる。
【0021】一方、Doループの終了の際に行われるス
テータスレジスタ値の復帰動作に於ては、比較器がルー
プの繰り返し回数、及びループのプログラムの最終アド
レスに基づいてループの処理手続きの終了であることを
検知し、その信号がアドレスアロケーションユニットに
送出されることによって、データメモリに格納されたス
テータスレジスタ値はステータスレジスタに書き込まれ
る。
【0022】
【実施例】
[第1の実施例]図1は本発明のデータ処理装置の概略
構成図であり、また図2、及び図3はそのデータ処理装
置を用いた際のタイミングチャートであり、以下に2回
の繰り返しDoループの実行動作を図1乃至図3に基づ
いて説明する。尚、従来と同一構成については同一番号
を付すものとする。
【0023】本発明のデータ処理装置が従来のそれと大
きく異なる点は、比較器11からの信号EQUALをア
ドレスアロケーションユニット8に、またインストラク
ションレジスタ3からのDo命令コードをアドレスアロ
ケーションユニット8に出力させる構成にしたことであ
り、この結果アドレスアロケーションユニット8のアド
レス加減算器は、データメモリ7におけるステータスレ
ジスタ値の退避用のアドレス生成を行ない、このアドレ
ス生成されたアドレスに基づいてステータスレジスタ6
のステータスレジスタ値をデータメモリ7に一時的に記
憶させることができるようになっている。
【0024】以下に図1の本発明のデータ処理装置の動
作を図2、及び図3のタイミングチャートに基づいて説
明する。
【0025】図2、及び図3に於て、CLK Aに同期
してアドレスnがプログラムカウンタ2からプログラム
メモリ1に送出される。プログラムメモリ1のアドレス
nに格納されている命令コードPnは、CLK Bに同期
してインストラクションレジスタ3に送出され解読され
る。このとき、解読された命令コードがDoループの実
行を行うDo命令である場合にはインストラクションレ
ジスタ3はCLK Cに同期して送出された命令コード
n+1をDoループの繰り返し回数pと認識し、これに
よってループカウンタ10はループカウントの書き込み
可能状態となると共に、スタック4のアドレス(m−1)
はDoループの先頭アドレス(n+2)の書き込み可能状
態となる。
【0026】CLK Dに同期して、ループカウンタ1
0にはDoループの繰り返し回数の2回が、またスタッ
ク4のアドレス(m−1)にはDoループの先頭アドレス
(n+2)が夫々書き込まれ、これと共にデータメモリ7
は書き込み可能状態となり、ステータスレジスタ6のス
テータスレジスタ値がデータメモリ7に書き込まれると
共に、データメモリ7のアドレス値をディクリメントす
る。一方、ループアドレスレジスタ9は書き込み可能状
態となる。
【0027】CLK Eに同期してアドレスアロケーシ
ョンユニット8のアドレスレジスタにはDoループの最
終アドレス(n+4)が書き込まれる。
【0028】CLK Fに同期してループアドレスレジ
スタ9に格納されているDoループの最終アドレス(n
+4)と比較器11に入力されるプログラムカウンタ2
のアドレスが一致した場合には、比較器11はプログラ
ムカウンタ2、及びアドレスアロケーションユニット8
に対して信号EQUALを出力し、これによってスタッ
ク4のアドレス(m−1)は読み出し可能状態となり、1
回目のDoループが終了する。
【0029】次にCLK Gに同期してスタック4のア
ドレス(m−1)に格納されているDoループの先頭アド
レス(n+2)が読み出されて、プログラムカウンタ2の
カウンタ値はn+2となり、ここから2回目のDoルー
プの実行を行ない始め、これによってループカウンタ1
0のカウンタ値は1に変更される。
【0030】2回目のDoループの実行も1回目のそれ
と同様に実行され、CLK Iに同期してプログラムカ
ウンタ2のカウント値がループアドレスレジスタ9のア
ドレス値と一致すると共に、ループカウンタ10のカウ
ンタ値が1になることによって、スタック4、及びデー
タメモリ7は読み出し可能状態となり、データメモリ7
のステータスレジスタ値をステータスレジスタ6に復帰
させると共に、アドレスアロケーションユニット8のア
ドレス加減算器はデータメモリ7のアドレス値をインク
リメントする。
【0031】最終的に、CLK Jに同期してプログラ
ムカウンタ2のカウンタ値はn+5となることによって
Doループを抜け出すことができる。
【0032】尚、第1の実施例では、2回の繰り返しD
oループのみの処理について述べたが、これには限られ
ず3回以上の繰り返しDoループについても適用できる
ことは云うまでもない。 [第2の実施例]図4は本発明の第2の実施例のデータ
処理装置の概略構成図であり、また図5乃至図7はその
データ処理装置を用いた際のタイミングチャートであ
り、以下に第2の実施例として、外部ループの中に存在
する別の内部ループ、即ちネストされたDoループの実
行動作について説明する。尚、第1の実施例と同一構成
については同一番号を付し、その説明を割愛する。
【0033】図4に示す第2の実施例のデータ処理装置
が第1の実施例のそれと大きく異なる点は、外部ルー
プ、又は内部ループの最終アドレスを記憶するループア
ドレスレジスタ9に格納された最終アドレスを一時的に
格納するループアドレススタック12、並びに外部ルー
プ、又は内部ループの繰り返し回数を記憶するループカ
ウンタ10の繰り返し回数を一時的に格納するループカ
ウンタスタック13を設けたことである。
【0034】上述の第2の実施例のデータ処理装置を用
いてネストされたDoループの実行動作を図5乃至図7
のタイミングチャートに基づいて以下に説明する。尚、
そのDoループの実行に際しては、外部ループをp回
(但し、pは自然数とする。)、内部ループを2回夫々
繰り返すものとする。
【0035】図5乃至図7に於て、CLK Aに同期し
てアドレスnがプログラムカウンタ2からプログラムメ
モリ1に送出される。プログラムメモリ1のアドレスn
に格納されている命令コードPnは、CLK Bに同期し
てインストラクションレジスタ3に送出され解読され
る。
【0036】インストラクションレジスタ3によって解
読された命令コードがDoループ(以下外部ループとい
う。)の実行を行うDo命令である場合には、インスト
ラクションレジスタ3はCLK Cに同期して送出され
た命令コードPn+1を外部ループの最終アドレスと認識
し、これによってスタック4、及びループカウンタ10
は書き込み可能状態となると共に、ループアドレスレジ
スタ9から外部ループの最終アドレス(n+7)が読み出
される。
【0037】CLK Dに同期してループカウンタ10
のアドレスrに外部ループの繰り返し回数のp回が、ま
たスタック4のアドレス(m−1)にプログラムカウント
(n+2)が夫々書き込まれ、これと共にデータメモリ
7、及びアドレスレジスタ9は夫々書き込み可能状態と
なり、ステータスレジスタ6のステータスレジスタ値が
データメモリ7のアドレスqに書き込まれると共に、デ
ータメモリ7のアドレス値をディクリメントし、そのア
ドレス値をq−1にする。
【0038】CLK Eに同期してアドレスレジスタ9
には外部ループの最終アドレス(n+7)が書き込まれ
る。
【0039】CLK Fに同期してインストラクション
レジスタ3によって解読された命令コードがDoループ
(以下内部ループという。)の実行を行うDo命令であ
る場合には、インストラクションレジスタ3はCLK
Gに同期して送出された命令コードPn+4を内部ループ
の最終アドレスと認識し、これによってループアドレス
スタック12、及びループカウンタスタック13は書き
込み可能状態となると共に、ループアドレスレジスタ9
から内部ループの最終アドレス(n+6)が読み出され、
ここから内部ループの実行を行う。
【0040】CLK Hに同期してスタック4のアドレ
ス(m−2)に内部ループの先頭アドレス(n+5)が書き
込まれると共に、ループカウンタ10に格納されている
外部ループの繰り返し数p回は、ループカウンタスタッ
ク13に退避させられる。これと共に、そのループカウ
ンタ10には内部ループの繰り返し数2回が書き込まれ
る。これと共に、ステータスレジスタ6のステータスレ
ジスタ値はデータメモリ7のアドレス(q−1)に書き込
まれる。
【0041】一方、ループアドレスレジスタ9に格納さ
れている外部ループの最終アドレス(n+7)はループア
ドレススタック12に退避させられる。これと共に、そ
のループアドレスレジスタ9には内部ループの最終アド
レス(n+6)が書き込まれる。
【0042】CLK Iに同期してプログラムカウンタ
2から送出されるアドレス(n+6)とループアドレスレ
ジスタ9に格納されている内部ループの最終アドレス
(n+6)とが一致すると、内部ループの1回目の実行が
終了し、ループカウンタ10の内部ループの繰り返し数
は1回に書き換えられる。これと共に、比較器11に於
て、プログラムカウンタ2から送出されるアドレス(n
+6)とループアドレスレジスタ9から送出されてくる
アドレス(n+6)とが一致すると、比較器11は信号E
QUALをプログラムカウンタ2、及びアドレスアロケ
ーションユニット8に出力し、スタック4のアドレス
(m−2)に格納されているアドレス(n+5)をプログラ
ムカウンタ2に送出し、CLK J、Kに於て2回目の
内部ループを実行する。
【0043】このとき、CLK Kに同期してプログラ
ムカウンタ2から送出されるアドレス(n+6)とループ
アドレスレジスタ9から送出されてくるアドレス(n+
6)とが一致、且つループカウンタ10の繰り返し数が
1回である場合には、比較器11は信号EQUALをプ
ログラムカウンタ2、及びアドレスアロケーションユニ
ット8に出力し、ループアドレススタック12に格納さ
れているアドレス(n+7)をプログラムカウンタ2に送
出する。これと共に、データメモリ7のステータスレジ
スタ値をステータスレジスタ6に復帰させると共に、ア
ドレスアロケーションユニット8のアドレス加減算器は
データメモリ7のアドレス値をインクリメントし、qに
更新する。
【0044】CLK Lに同期して、ループアドレスス
タック12に格納されている外部ループの最終アドレス
(n+7)がループアドレススタック12から読み出さ
れ、その値がプログラムカウンタ2に送出され、これと
共に比較器11はプログラムカウンタ2から送出される
アドレス(n+7)とループアドレスレジスタ9から送出
されてくるアドレス(n+7)とが一致すれば、信号EQ
UALをプログラムカウンタ2に対して出力する。これ
によって、スタック4のアドレス(m−1)に格納されて
いるアドレス(n+2)がプログラムカウンタ2に送出さ
れて、2回の内部ループの実行を終了する。これと共
に、データメモリ7のステータスレジスタ値をステータ
スレジスタ6に復帰させると共に、アドレスアロケーシ
ョンユニット8のアドレス加減算器はデータメモリ7の
アドレス値をインクリメントする。
【0045】CLK M乃至CLK Pに於ては、CLK
D乃至CLK Lと同様な動作を繰り返し実行し、外部
ループの終了に際してはCLK Pに同期してプログラ
ムカウンタ2から送出されるアドレス(n+7)とアドレ
スレジスタ9から送出されるアドレス(n+7)とが一致
し、且つループカウンタ10の繰り返し数が1回である
場合には、外部ループの終了であることを検知し、比較
器11は信号EQUALをプログラムカウンタ2、及び
アドレスアロケーションユニット8に対して出力し、C
LK Qに同期してプログラムカウンタ2のアドレスは
n+8に変更される。
【0046】CLK Q、Rに同期してデータメモリ7
のアドレス(q−1)、qに格納されているステータスレ
ジスタ値はステータスレジスタ6に復帰されることによ
って、ネストされたDoループの実行が終了する。これ
と共に、データメモリ7のアドレス値はインクリメント
される。
【0047】このように、本願に於てはDoループの開
始・終了に際して、インストラクションレジスタ3のD
oループ命令コードをアドレスアロケーションユニット
8に送出し、一方Doループ処理手続の終了検知信号を
アドレスアロケーションユニット8に送出することとし
たので、ステータスレジスタ値、及び外部・内部ループ
の先頭・最終アドレス等のデータ格納を短時間で行うこ
とができるようになった。
【0048】
【発明の効果】本発明によれば、ステータスレジスタの
ステータスレジスタ値をデータメモリに格納させる場合
には、比較器からの信号EQUALをアドレスアロケー
ションユニットに、またインストラクションレジスタか
らのDo命令コードをアドレスアロケーションユニット
に直接出力させる構成にしたので、これに従ってアドレ
スアロケーションユニットは、ステータスレジスタ値の
退避用のアドレス生成を行ない、そのアドレスに基づい
てステータスレジスタのステータスレジスタ値をデータ
メモリに短時間に格納させることができる。
【0049】更に、上述のデータメモリに格納されたス
テータスレジスタ値をステータスレジスタに復帰させる
場合には、比較器からの信号EQUALをアドレスアロ
ケーションユニットに、またインストラクションレジス
タからのDoループ終了信号をアドレスアロケーション
ユニットに直接出力させる構成にしたので、そのアドレ
スアロケーションユニットによって指定されたアドレス
に基づいてデータメモリに格納されたステータスレジス
タ値をステータスレジスタに短時間に復帰させることが
でき、オーバヘッドを最小化にすることができる。
【図面の簡単な説明】
【図1】本発明の第一の実施例に係るデータ処理装置の
概略構成図
【図2】本発明の第一の実施例に係るデータ処理装置の
タイミングチャート
【図3】本発明の第一の実施例に係るデータ処理装置の
タイミングチャート
【図4】本発明の第二の実施例に係るデータ処理装置の
概略構成図
【図5】本発明の第二の実施例に係るデータ処理装置の
タイミングチャート
【図6】本発明の第二の実施例に係るデータ処理装置の
タイミングチャート
【図7】本発明の第二の実施例に係るデータ処理装置の
タイミングチャート
【図8】従来のデータ処理装置の概略構成図
【図9】従来のデータ処理装置のタイミングチャート
【図10】従来のデータ処理装置のタイミングチャート
【図11】従来のデータ処理装置のタイミングチャート
【符号の説明】
1 プログラムメモリ 2 プログラムカウンタ 3 インストラクションレジスタ 4 スタック 5 スタックポインタ 6 ステータスレジスタ 7 データメモリ 8 アドレスアロケーションユニット 9 ループアドレスレジスタ 10 ループカウンタ 11 比較器 12 ループアドレススタック 13 ループカウンタスタック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉田 昭 大阪府守口市京阪本通2丁目18番地 三洋 電機株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 Doループを含むプログラムを記憶格納
    するプログラムメモリと、該プログラムメモリに記憶格
    納されているプログラムを演算実行する際のカウント値
    を生成するプログラムカウンタと、該プログラムカウン
    タのカウント値の増減に同期し乍ら、上記プログラムメ
    モリに記憶格納されているプログラムをロードし、上記
    プログラムのDo命令コードを解読するインストラクシ
    ョンレジスタと、上記プログラムカウンタのカウント値
    を一時的に記憶しておくスタックと、上記プログラムに
    従って演算を実行した際の演算結果、及び該演算結果に
    基づくゼロ、サイン、キャリー、オーバーフロー等のフ
    ラグからなるステータスレジスタ値を記憶しておくステ
    ータスレジスタと、該ステータスレジスタに記憶されて
    いるステータスレジスタ値を一時的に退避させて記憶し
    ておくデータメモリと、上記ステータスレジスタ値を記
    憶するデータメモリのアドレスを格納するアドレスレジ
    スタ、及び該データメモリのアドレスのアドレス計算を
    実行するアドレス加減算器を含んだアドレスアロケーシ
    ョンユニットと、Doループの繰り返し回数を格納して
    おくループカウンタと、Doループのプログラムの最終
    アドレスを格納するループアドレスレジスタと、該ルー
    プアドレスレジスタから送出されるDoループの最終ア
    ドレス値と上記プログラムカウンタから送出されるアド
    レス値とを比較した後、プログラムカウンタのカウント
    値を変更する信号を送出する比較器と、を具備し、 上記インストラクションレジスタがDo命令コードを解
    読すると、Doループの繰り返し回数を上記ループカウ
    ンタに、またDoループの先頭アドレスをスタックに、
    更にDoループの最終アドレスをループアドレスレジス
    タに夫々格納させると共に、上記インストラクションレ
    ジスタからのDo命令コードに従って上記アドレスアロ
    ケーションユニットは上記ステータスレジスタ値の退避
    用のアドレス生成を行ない、このアドレス生成されたア
    ドレスに基づいてステータスレジスタのステータスレジ
    スタ値をデータメモリに退避させることを特徴とするD
    oループ実行時のオーバヘッドを最小化するデータ処理
    装置。
  2. 【請求項2】 上記比較器がDoループの処理手続の終
    了を検知すると、上記スタックに格納されているカウン
    ト値は上記プログラムカウンタに送出されると共に、上
    記データメモリに格納されているステータスレジスタ値
    は上記ステータスレジスタに復帰されることを特徴とす
    る請求項1記載のDoループ実行時のオーバヘッドを最
    小化するデータ処理装置。
  3. 【請求項3】 外部ループ、及びこの外部ループ含まれ
    る内部ループからなるDoループを有するプログラムを
    記憶格納するプログラムメモリと、該プログラムメモリ
    に記憶格納されているプログラムを演算実行する際のカ
    ウント値を生成するプログラムカウンタと、該プログラ
    ムカウンタのカウント値の増減に同期し乍ら、上記プロ
    グラムメモリに記憶格納されているプログラムをロード
    し、上記プログラムのDo命令コードを解読するインス
    トラクションレジスタと、上記プログラムカウンタのカ
    ウント値を一時的に記憶しておくスタックと、上記プロ
    グラムに従って演算を実行した際の演算結果、及び該演
    算結果に基づくゼロ、サイン、キャリー、オーバーフロ
    ー等のフラグからなるステータスレジスタ値を記憶して
    おくステータスレジスタと、該ステータスレジスタに記
    憶されているステータスレジスタ値を一時的に退避させ
    て記憶しておくデータメモリと、上記ステータスレジス
    タ値を記憶するデータメモリのアドレスを指定するアド
    レスレジスタと、外部ループ、又は内部ループの繰り返
    し回数を格納するループカウンタと、該ループカウンタ
    に格納されている外部ループの繰り返し回数を格納する
    ループカウンタスタックと、上記外部ループ、又は内部
    ループのプログラムの最終アドレスを格納するループア
    ドレスレジスタと、該ループアドレスレジスタに格納さ
    れている外部ループの最終アドレスを格納するループア
    ドレススタックと、上記ループアドレスレジスタから送
    出されるDoループの最終アドレス値と上記プログラム
    カウンタから送出されるアドレス値とを比較した後、プ
    ログラムカウンタのカウント値を変更する信号を送出す
    る比較器と、を具備し、 上記インストラクションレジスタが外部ループのDo命
    令コードを解読すると、外部ループの繰り返し回数を上
    記ループカウンタに、また外部ループの先頭アドレスを
    スタックに、更にDoループの最終アドレスをループア
    ドレスレジスタに夫々格納させると共に、上記インスト
    ラクションレジスタからのDo命令コードに従って上記
    アドレスアロケーションユニットは上記ステータスレジ
    スタ値の退避用のアドレス生成を行ない、このアドレス
    生成されたアドレスに基づいてステータスレジスタのス
    テータスレジスタ値をデータメモリに退避させて外部ル
    ープを実行し、その後インストラクションレジスタが内
    部ループのDo命令コードを解読すると、上記ループカ
    ウンタに格納されている外部ループの繰り返し回数を上
    記ループカウンタスタックに、また上記ループアドレス
    レジスタに格納されている外部ループの最終アドレスを
    ループアドレススタックに、更に外部ループの先頭アド
    レスを上記スタックに退避させて内部ループの実行を行
    うことを特徴とするDoループ実行時のオーバヘッドを
    最小化するデータ処理装置。
  4. 【請求項4】 上記比較器が内部ループの処理手続の終
    了を検知すると、上記ループカウンタスタックに格納さ
    れている外部ループの繰り返し回数は上記ループカウン
    タに、また上記ループアドレススタックに格納されてい
    る外部ループの最終アドレスは上記ループアドレスレジ
    スタに、更に上記スタックに格納されている外部ループ
    の先頭アドレスはプログラムカウンタに復帰されると共
    に、上記データメモリに格納されているステータスレジ
    スタ値は上記ステータスレジスタに復帰されて外部ルー
    プを実行することを特徴とする請求項3記載のDoルー
    プ実行時のオーバヘッドを最小化するデータ処理装置。
JP5138549A 1993-06-10 1993-06-10 Doループ実行時のオーバヘッドを最小化するデータ処理装置 Pending JPH06348491A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5138549A JPH06348491A (ja) 1993-06-10 1993-06-10 Doループ実行時のオーバヘッドを最小化するデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5138549A JPH06348491A (ja) 1993-06-10 1993-06-10 Doループ実行時のオーバヘッドを最小化するデータ処理装置

Publications (1)

Publication Number Publication Date
JPH06348491A true JPH06348491A (ja) 1994-12-22

Family

ID=15224751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5138549A Pending JPH06348491A (ja) 1993-06-10 1993-06-10 Doループ実行時のオーバヘッドを最小化するデータ処理装置

Country Status (1)

Country Link
JP (1) JPH06348491A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5693115A (en) * 1993-03-03 1997-12-02 Sumitomo Electric Industries, Ltd. Process for production of glass preform for optical fiber including consolidating in a furnace with a temperature gradient
KR19990017021A (ko) * 1997-08-21 1999-03-15 윤종용 마이크로 제어기와 디지탈 신호 처리기 통합 장치를구비한시스템 및 하드웨어 두 루프 실행 방법
US7080239B2 (en) 2002-06-26 2006-07-18 Oki Electric Industry, Co., Ltd. Loop control circuit and loop control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5693115A (en) * 1993-03-03 1997-12-02 Sumitomo Electric Industries, Ltd. Process for production of glass preform for optical fiber including consolidating in a furnace with a temperature gradient
KR19990017021A (ko) * 1997-08-21 1999-03-15 윤종용 마이크로 제어기와 디지탈 신호 처리기 통합 장치를구비한시스템 및 하드웨어 두 루프 실행 방법
US7080239B2 (en) 2002-06-26 2006-07-18 Oki Electric Industry, Co., Ltd. Loop control circuit and loop control method

Similar Documents

Publication Publication Date Title
JPH06348491A (ja) Doループ実行時のオーバヘッドを最小化するデータ処理装置
JP2548428B2 (ja) タイミング発生装置
CN107391440B (zh) 一种快速傅里叶变换算法输出数据的处理装置及方法
JPH05324452A (ja) 外部メモリインタフェース回路
JP3188042B2 (ja) ディジタル計算機におけるテーブル検索装置
JP2971875B2 (ja) 演算装置およびデータ処理装置
JPS63200234A (ja) デ−タ処理装置
JPH08330914A (ja) 波形発生器
JP2979653B2 (ja) 情報処理装置
JPS62143139A (ja) マイクロプログラム制御装置
JP2892375B2 (ja) パルス入力装置
JP3045731B2 (ja) シーケンス制御方式
JP2705359B2 (ja) トレース回路
JP2709201B2 (ja) マイクロコンピュータ
JPH0744382A (ja) サブルーチン処理における移行・復帰手続を高速化したディジタルシグナルプロセッサ
JP2001160025A (ja) データ転送装置
JPH01269140A (ja) メモリ拡張回路
JPH10214209A (ja) デバッギング機能を有するデータ処理装置
JPH06262897A (ja) ラスタ型プロッタのメモリ回路
JPS62113239A (ja) マイクロ命令生成方式
JPH05250252A (ja) アドレス発生回路
JPH04274521A (ja) 情報処理装置
JPH08286891A (ja) ソーティング装置
JPH06103493B2 (ja) 情報処理装置
JPH0778069A (ja) デジタルディレイ回路