JPS635442A - プログラムル−プ検出記憶装置 - Google Patents

プログラムル−プ検出記憶装置

Info

Publication number
JPS635442A
JPS635442A JP61150281A JP15028186A JPS635442A JP S635442 A JPS635442 A JP S635442A JP 61150281 A JP61150281 A JP 61150281A JP 15028186 A JP15028186 A JP 15028186A JP S635442 A JPS635442 A JP S635442A
Authority
JP
Japan
Prior art keywords
register
address
branch destination
comparator
output
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
JP61150281A
Other languages
English (en)
Inventor
Kazumi Yamada
和美 山田
Masaya Miyazaki
雅也 宮崎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP61150281A priority Critical patent/JPS635442A/ja
Publication of JPS635442A publication Critical patent/JPS635442A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 3、発明の詳細な説明・ 産業上の利用分野 本発明はプログラムデパック装置に関するものであり、
特にプログラムのループを検出し記憶するプログラムル
ープ検出記憶装置に関するものである。
従来の技術 従来のプログラムループ検出記憶装置としては、例えば
特開昭53−104880号公報に示されている。
第4図はこの従来のプログラムループ検出記憶装置のブ
ロック図を示すものであり、1はサンプル信号17によ
り外部から入力される命令アドレスを記憶する第1のレ
ジスタ、2はサンプル信号17により第1のレジスタ1
の出力値を記憶する第2のレジスタ、3は第1のレジス
タ1の出力値が第2のレジスタ2の出力値より小さい時
、第1のレジスタ1の出力値を記憶する第3のレジスタ
、4は第1のレジスタ1の出力値が第2のレジスタ2の
出力値よシ小さい時出力がアクティブになる第1の比較
器、5は第1のレジスタ1の出力値と第3のレジスタの
値が同値なら出力がアクティブになる第2の比較器、6
は第1のメモリ7と第2のメモリ8の書込みアドレスを
決めるアドレスカウンタ、7は第2の比較器5の出力が
アクティブになった時第1のレジスタ1の出力値をアド
レスカウンタ6の示すアドレスに記憶する第1のメモリ
、8は第1のメモリ7と同様に第2の比較器5の出力が
アクティブになった時第2のレジスタ2の出力値をアド
レスカウンタ6の示すアドレスに記憶する第2のメモリ
、9は一定周期のサンプル信号を送るクロック回路、1
了はサンプル信号線、2oは第1のメモリ7、第2のメ
モリ8にデータを書込んだ後アドレスカウンタ6の値を
インクリメントさせるための遅延回路である。
以上のように構成された従来のプログラムループ検出記
憶装置においては、第1のレジスタ1の出力値が第2の
レジスタ2の出力値よシ小さい時は第1の比較器4はア
クティブになる。すなわち、プログラムに於いて負方向
へ分岐した事にょシループを形成する可能性があるので
その分岐先を示す第1のレジスタ1の出力値を第3のレ
ジスタ3に記憶する。そしてまた同じ様に第1のレジス
タ1の出力値が第2のレジスタ2の出力値より小さくな
り負方向分岐して、第1のレジスタ1の出力値と第3の
レジスタ3の出力値が同値の時、これは前回の分岐先と
分画の分岐先が同じ分岐先であることを示し、明らかに
ループを形成している事になる。従ってこの時は第2の
比較器6の出力がアクティブになり分岐先アドレスを第
1のメモリ1に書込み、分岐元のアドレスを第2のメモ
リに書込む事によりプログラムループを検出していた。
発明が解決しようとする問題点 しかしながら上記のような構成では、入れ子に −なっ
たループすなわち第2図に示すようにループBの中ルー
プAが存在する場合、ループAは検出されるが、ループ
Bは検出されないという問題点を有していた。なぜなら
ループBを検出するには、ループBの先頭アドレス(第
2図では1番地)は、ループBの終了アドレス(第2図
ではL+1番地)が実行されるまで第3のレジスタ3に
記憶されていなければならない。しかしながらループA
が存在してるので第3のレジスタ3の内容は、ループA
の先頭アドレス(第2図ではI+2番地)に書き変えら
れてしまうからである。
本発明はかかる点に鑑み、第2図に示すループBも検出
する事のできるプログラムループ検出装置を提供するこ
とを目的とする。
問題点を解決するための手段 本発明は、サンプル信号により命令のアドレスを記憶す
る第1のレジスタと、前記サンプル信号により前記第1
のレジスタの出力値を記憶する第2のレジスタと、前記
第1のレジスタの出力値が前記第2のレジスタの出力値
より小さい時、出力がアクティブになる第1の比較器と
、前記第1の比較器の出力がアクティブで第3の比較器
の出力がインアクティブの時、前記第1のレジスタの出
力値を記憶する第3のレジスタと、前記第1のレジスタ
の出力値と前記第3のレジスタの出力値が同値であれば
出力がアクティブになる第2の比較器と、前記第2の比
較器の出力がアクティブになると、前記第1および第2
のレジスタの内容をそれぞれ書込む第1および第2のメ
モリと、前記第1のメモリと前記第2のメモリの書込み
アドレスを決めるアドレスカウンタと、負方向に分岐す
る命令が格納されている分岐元アドレスと前記命令の分
岐先アドレスを一対として記憶する分岐先テーブルと、
前記第1のレジスタの出力値と前記分岐先テーブルに記
憶された分岐元アドレスを比較し対応する分岐先アドレ
スを出力する分岐先検索手段と、前記第1のレジスタと
前記第2のレジスタの出力を、各々前記分岐元アドレス
と前記分岐先アドレスとして前記分岐先テーブルに書込
む分岐先アドレス登録手段と、前記分岐先テーブルの出
力値と前記第1のレジスタの出力値が、同値なら出力が
アクティブになる前記第3の比較器と、前記第1のレジ
スタと前記第2のレジスタに前記サンプル信号を出力す
るクロック回路を備えたプログラムループ検出記憶装置
である。
作  用 本発明は前記した構成により、クロック回路の出力する
サンプル信号により外部からデータを第1のレジスタに
記憶させ、同時に第1のレジスタの出力値を第2のレジ
スタに記憶させる。この時第1のレジスタの出力値が第
2のレジスタの出力値よシ大きい時は、ループを形成す
る可能性がないので次のサンプルに進み、小さい時は、
負方向分岐をしている事になシ、前回の分岐先アドレス
を記憶している第3のレジスタと第1のレジスタの出力
値を第2の比較器によシ比較し同じ値ならまた第1のメ
リモ及び第2のメモリに書込まれていないループを形成
していると判断しループの先頭アドレスを示している第
1のレジスタの出力値を第1のメモリに書込み、ループ
の終了アドレスを示している第2のレジスタの出力値を
第2のメモリに書込む。また負方向分岐をした時は常に
、第1のレジスタの値(分岐先アドレス)が以前にルー
プの先頭アドレスとして第1のメモリに書込まれている
か分岐先テーブル及び第3の比較器で調べる。そして第
1のメモリに書込まれていなければ第3のレジスタに第
1のレジスタの出力値を記憶させ、書込まれている時は
第3のレジスタには何も書込まない。
以上のような操作を繰シ返せば、第2図に示した入れ子
型のループAが存在しても、−度ループAの先頭アドレ
スと終了アドレスが各々第1のメモ°りと第2のメモリ
に書込まれると、そのループの先頭アドレスは、第3の
レジスタに記憶されない0従ってそのループは無視され
るため、第2図に示しだループBも検出することが可能
となる。
実施例 第1図は本発明の一実施例におけるプログラムループ検
出記憶装置のブロック図を示すものである。第1図にお
いて、1はサンプル信号17により外部からの命令アド
レスを記憶する第1のレジスタ、2はサンプル信号17
により第1のレジスタの出力値を記憶する第2のレジス
タ、3は前回の分岐先アドレスを記憶している第3のレ
ジスタ、4は第1のレジスタ1の出力値が第2のレジス
タ2の出力値よシ小さければ出力がアクティブになる。
第1の比較器、5は第3のレジスタ3の出力値と第1の
レジスタ1の出力値を比較する第2の比較器、6は第1
のメモリ7と第2のメモリ8の書込みアドレスを決める
アドレスカウンタ、7はループ先頭アドレスである分岐
先アドレスを書込む第1のメモリ、8はループ終了アド
レスである分岐元アドレスを書込む第2のメモリ、9は
第1のレジスタ1と第2のレジスタ2ヘサンプル信号を
送るクロック回路、10は第1のレジスタ1の出力値が
以前に分岐先アドレスとして第1のメモリ7に書込んで
いるか調べる分岐先テーブルで、第3図に示す構成をし
たFIFO型連想メモリを用いる。その動作は、次の通
りである。サンプル信号17によシ第1のレジスタ1の
出力するアドレスすなわち分岐元アドレス(第3図の1
8)をタグとして入力し、次のクロック信号時に、−致
するアドレスが分岐先テーブルに存在すれば入力された
分岐元アドレスに対応する分岐先アドレスを第3図の2
1に出力する。そして存在しなければ、分岐先テーブル
出力信号線@3図の12)がアクティブになる。さらに
第1のレジスタ1の出力値がループの先頭アドレスであ
る分岐先アドレスで第2のレジスタ2の出力値がループ
の終了アドレスである分岐元アドレスと判明し、まだ分
岐先テーブル10に記憶されていなければ、第1のレジ
スタ1の出力値を分岐先アドレスとし第2のレジスタ2
の出力値を分岐命令アドレスとして新しく分岐先テーブ
ルに記憶させる。11は分岐先テーブル10の出力デー
タ線21の出力値と第1のレジスタ1の出力値が同値な
ら出力がアクティブになる第3の比較器、12は分岐先
テーブル10に入力された第1のレジスタ1の出力値が
分岐先テーブル1oに記憶されていなければアクティブ
になる信号線、13は第3の比較器11の出力線で第1
のレジスタ1の出力値と分岐先テーブル1oのするとア
クティブになる信号線、15は第2の比較器5の出力線
でループが発生するとアクティブになる信号線、16は
第3のレジスタ3への書込み信号線、1了は第1のレジ
スタ1と第2のレジスタ2へのサンプリング信号線、1
8は第1のレジスタの出力データ線、19は第2のレジ
スタの出力データ線、2oは第1のメモリ7、第2のメ
モリ8にデータを書込んだ後、アドレスカウンタ6の値
をインクリメントさせるための遅延回路、21は分岐先
テーブル10の出力データ線。
以上のように構成された本実施例のプログラムループ検
出記憶装置について、以下その動作を説明する。
第1のレジスタ1にサンプリング信号線17がアクティ
ブになると、外部から命令のアドレスが第1のレジスタ
1に記憶されると共に第2のレジスタ2に一つ前のサン
プリング信号によって第1のレジスタに記憶されていた
データが転送される。
この時第1のレジスタ1の出力値が第2のレジスタ2の
出力値より小さいと、負方向分岐を起した、と判断し第
1の比較器4の出力信号14がアクティブになる。また
、第2の比較器5によシ第1のレジスタ1の出力値と前
分岐アドレスを記憶している第3のレジスタ3の出力値
を比較し同値であれば第1のレジスタ1の出力値はルー
プの先頭アドレスである分岐先アドレスで第2のレジス
タ2の出力値はループの終了アドレスである分岐元アド
レスとなり第2の比較器5の出力信号15がアクティブ
になる。従ってアドレスカウンタ6の示すアドレスに、
第1のメモリ7には第1のレジスタ1の出力値、第2の
メモリ8には第2のレジスタ2の出力値を書込み、アド
レスカウンタらがインクリメントされる。
また、サンプル信号によシ第1のレジスタ1の出力値を
分岐先テーブル1oに入力し、次のサンプル信号時に第
1のレジスタの出力値が以前にループ終了アドレスすな
わち分岐元アドレスとして分岐先テーブル1oに記憶さ
れていれば、そのループ先頭アドレスすなわち分岐先ア
ドレスを分岐先テーブル出力データ線21から出力し、
第1のレジスタの出力値が、分岐先テーブル1oに記憶
されていなければ分岐先テーブル出力信号線12をアク
ティブにする。そして第3の比較器11は分岐先テーブ
ル1oの出力信号線12がアクティブの時は検索結果信
号線13をインアクティブにし、分岐先テーブル1oの
出力信号線12がインアクティブの時は出力データ線2
1と第1のレジスタ1の出力値を比較して同値であれば
検索結果信号線13をアクティブにする。また検索結果
信号線13がインアクティブでさらに第1の比較器4に
より第1のレジスタ1の出力値と第2のレジスタ2の出
力値が負方向分岐を生じていると判定し、出力信号線1
4がアクティブになった場合、分岐先アドレス値である
第1のレジスタ1の出力値を第3のレジスタ3に記憶さ
せる。
以上のように本実施例によれば、既にメモリに書込んだ
ループを検索する機能を設けることにより、−度メモリ
に書込んだループを無視することができる。つまり第2
図に示した入れ子型ループAが存在しても一度ループA
の先頭アドレス(第2図ではJ+2番地)と終了アドレ
ス(第2図ではに番地)をメモリに書込めば、ループB
を検出すを時ループAを無視するので、第3のレジスタ
3がループBの先頭アドレス(第2図ではJ番厄を記憶
しても、ループAの先頭アドレス(第2図ではJ+2番
地)によシ記憶され直す事がない。
従ってループBもループとして検出する事ができる。
発明の効果 以上説明したように、本発明によれば、第2図に示した
入れ子型ループのループAを含んだループであるループ
Bの検出も可能であり、その実用的効果は大きい。
【図面の簡単な説明】
第1図は本発明における一実施例のプログラムループ検
出記憶装置のブロック図、第2図は“入れ子型ループ“
を説明するループ説明図、第3図は分岐先テーブルの説
明図、第4図は従来のプログラムループ検出記憶装置の
ブロック図である。 1・・・・・・第1のレジスタ、2・・・・・・第2の
レジスタ、3・・・・・・第3のレジスタ、4・・・・
・・第1の比較器、6・・・・・・第2の比較器、6・
・・・・・アドレスカウンタ、7・・・・・・第1のメ
モリ、8・・・・・・第2のメモリ、9・・・・・・ク
ロック回路、10・・・・・・分岐先テーブル、11・
・・・・・第3の比較器、12・・・・・・分岐先テー
ブル出力信号線、13・・・・−・検索結果信号線、1
4・・・・・・第1の比較器の出力信号線、15・・・
・・・第2の比較器の出力信号線、16・・・・・・第
3のレジスタ書込み信号線、17・・・・・・クロック
信号線、18・・・・・・第1のレジスタ出力データ線
、19・・・・・・第2のレジスタ出力データ線、2o
・・・・・・遅延素子、21・・・・・・分岐先テーブ
ル出力データ線。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第2

Claims (1)

    【特許請求の範囲】
  1. サンプル信号により命令のアドレスを記憶する第1のレ
    ジスタと、前記サンプル信号により前記第1のレジスタ
    の出力値を記憶する第2のレジスタと、前記第1のレジ
    スタの出力値が前記第2のレジスタの出力値より小さい
    時、出力がアクティブになる第1の比較器と、前記第1
    の比較器の出力がアクティブで第3の比較器の出力がイ
    ンアクティブの時、前記第1のレジスタの出力値を記憶
    する第3のレジスタと、前記第1のレジスタの出力値と
    前記第3のレジスタの出力値が同値であれば出力がアク
    ティブになる第2の比較器と、前記第2の比較器の出力
    がアクティブになると、前記第1および第2のレジスタ
    の内容をそれぞれ書込む第1および第2のメモリと、前
    記第1のメモリと前記第2のメモリの書込みアドレスを
    決めるアドレスカウンタと、負方向に分岐する命令が格
    納されている分岐元アドレスと前記命令の分岐先アドレ
    スを一対として記憶する分岐先テーブルと、前記第1の
    レジスタの出力値と前記分岐先テーブルに記憶された分
    岐元アドレスを比較し対応する分岐先アドレスを出力す
    る分岐先検索手段と、前記第1のレジスタと前記第2の
    レジスタの出力を、各々前記分岐元アドレスと前記分岐
    先アドレスとして前記分岐先テーブルに書込む分岐先ア
    ドレス登録手段と、前記分岐先テーブルの出力値と前記
    第1のレジスタの出力値が、同値なら出力がアクティブ
    になる前記第3の比較器と、前記第1のレジスタと前記
    第2のレジスタに前記サンプル信号を出力するクロック
    回路を備えたプログラムループ検出記憶装置。
JP61150281A 1986-06-26 1986-06-26 プログラムル−プ検出記憶装置 Pending JPS635442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61150281A JPS635442A (ja) 1986-06-26 1986-06-26 プログラムル−プ検出記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61150281A JPS635442A (ja) 1986-06-26 1986-06-26 プログラムル−プ検出記憶装置

Publications (1)

Publication Number Publication Date
JPS635442A true JPS635442A (ja) 1988-01-11

Family

ID=15493542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61150281A Pending JPS635442A (ja) 1986-06-26 1986-06-26 プログラムル−プ検出記憶装置

Country Status (1)

Country Link
JP (1) JPS635442A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19718097B4 (de) * 1996-09-30 2008-01-31 Hitachi, Ltd. Differenzdruckbetätigter Bremskraftverstärker
JP2008532142A (ja) * 2005-02-24 2008-08-14 クゥアルコム・インコーポレイテッド ループ終結分岐により分岐履歴レジスタの更新を抑制すること
JP2009530754A (ja) * 2006-03-17 2009-08-27 クゥアルコム・インコーポレイテッド 複数のビットを有する分岐ヒストリレジスタにおいてループ分岐を表すこと

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19718097B4 (de) * 1996-09-30 2008-01-31 Hitachi, Ltd. Differenzdruckbetätigter Bremskraftverstärker
JP2008532142A (ja) * 2005-02-24 2008-08-14 クゥアルコム・インコーポレイテッド ループ終結分岐により分岐履歴レジスタの更新を抑制すること
JP2011100466A (ja) * 2005-02-24 2011-05-19 Qualcomm Inc ループ終結分岐により分岐履歴レジスタの更新を抑制すること
JP2015007995A (ja) * 2005-02-24 2015-01-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated ループ終結分岐により分岐履歴レジスタの更新を抑制すること
JP2009530754A (ja) * 2006-03-17 2009-08-27 クゥアルコム・インコーポレイテッド 複数のビットを有する分岐ヒストリレジスタにおいてループ分岐を表すこと

Similar Documents

Publication Publication Date Title
US4943916A (en) Information processing apparatus for a data flow computer
JPS635442A (ja) プログラムル−プ検出記憶装置
JPH0436416B2 (ja)
JPS5810243A (ja) デ−タ処理装置
JPS607529A (ja) バツフアメモリ装置
JPH04245333A (ja) 情報処理装置
JPH01273132A (ja) マイクロプロセッサ
JPS6391750A (ja) ブランチアドレストレ−ス装置
JP2984670B1 (ja) タイマ回路
JPS63165931A (ja) 不連続命令フエツチアドレス情報記憶方式
JPS61151745A (ja) 割込処理方式
JPH04310138A (ja) データ伝送装置のデバッグ方法
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPH0210441A (ja) トレース回路
JPH0387937A (ja) トレース制御方式
JPH03288241A (ja) レジスタ装置
JPS61123937A (ja) データ処理装置のデータ駆動型制御方式
JPH01300490A (ja) 先入れ先出しメモリ
JPS5854430A (ja) メモリ間のデ−タ転送方式
JPS62184561A (ja) 入出力バツフア制御装置
JPS62108333A (ja) 半導体装置
JPH02249040A (ja) 情報履歴記憶回路
JPH0340075A (ja) マイクロコンピュータ
JPH0482077A (ja) Fifoメモリ
JPH01265350A (ja) データストリーム発生器