JPH0322044A - 命令出現頻度測定方式 - Google Patents

命令出現頻度測定方式

Info

Publication number
JPH0322044A
JPH0322044A JP1155844A JP15584489A JPH0322044A JP H0322044 A JPH0322044 A JP H0322044A JP 1155844 A JP1155844 A JP 1155844A JP 15584489 A JP15584489 A JP 15584489A JP H0322044 A JPH0322044 A JP H0322044A
Authority
JP
Japan
Prior art keywords
instruction
clocks
queuing
clock
instructions
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
JP1155844A
Other languages
English (en)
Inventor
Michinori Shinkai
新開 理規
Hirosada Tone
利根 廣貞
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1155844A priority Critical patent/JPH0322044A/ja
Publication of JPH0322044A publication Critical patent/JPH0322044A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概 要] パイプライン処理方式の情報処理装置での、実行される
命令の命令出現頻度測定方式に関し、従来は、モデルヶ
ースを想定したシュミレーションを行うか、オブジェク
トコードを人手により解析する等の方法を用いており、
多くの手間と時間を要すると共に、特定のモデルを想定
したものでなければ適用できながった問題の解決を目的
とし、 命令の実行に要するクロツクの計数手段と、計数結果を
所定のクロツク数と比較する手段と、該比較結果により
、所定のクロック数を越えた命令のコードをキューイン
グする機構と、該キューイング機構に保持されたデータ
を読み出し、命令コード毎にその出現回数を記録する機
構と、所定のクロツク数を越えない命令についてはその
総数の計数を行う手段を設けて構成する。
[産業上の利用分野] 本発明はパイプライン処理方式を採用した情報処理装置
の性能向上に関する情報を収集するための情報収集方式
に関し、特に実行される命令の命令出現の頻度を計数す
る命令出現頻度測定方式に関する。
[従来の技術1 般的に、情報処理装置の性能向上手段としては以下に示
すようなものがある。
(1)  動作クロックサイクルを短くする。
(2)特定の命令の処理時間を短くする。
(1)に示した動作クロツクサイクルの短縮はシステム
の性能を改善前の状態と比較して均等に向上させること
ができる。しかし、物理的な理由により、動作クロック
サイクルの短縮ができない位に既に動作クロックサイク
ルが短縮されている場合にはこの方法を採ることはでき
ない。
(2)に示した特定の命令の処理時間を短縮する方法は
、特定の環境下(例えばオンライントランザクション処
理、データーペース検索処理、科学技術演算処理など)
に於いて、出現頻度の高い命令を高速化することにより
、システムの見かけ上の性能を向上する方法である。
この方法では、既に動作クロックサイクルが物理的な限
界まで高速化されている場合にも適用することができる
可能性を持っている。しかし、性能を効果的に向上させ
るには各々の環境に於ける命令の出現頻度を正確に把握
する必要がある。そのため、各々の環境に於ける命令出
現頻度を高速に、かつ、正確に測定する手段が望まれる
従来、特定環境下に於ける命令出現頻度の測定は、モデ
ルケースを想定したシュミレーションにより測定したり
、オブジェクトコードを人手によって解析し、推測する
といった手段を用いていた。
しかし、これらの方法では命令出現頻度データを得るま
でに非常に多くの手間と時間を要していた。
[発明が解決しようとする課題〕 従来技術の方法による場合、命令出現頻度の測定に多《
の手間と時間を要するため、実際に適用する環境に対す
る測定データを全て揃えることができない場合が多く、
特定のモデルを想定したものでなければ適用することが
できなかった。
また、この場合、ソフトウエア環境に変動があった塙合
や予め想定したモデルケースと実際に適用する環境との
間に差がある場合、つまり、命令出現頻度の分布に変動
があった場合には、システムの見かけの性能が変動して
しまうため予測した性能が達成できない場合が生じる。
従って、もし、命令出現頻度が短時間に実測できるなら
ば、実環境あるいはそれに近い環境が整った時点でテス
ト運用を行い、その際に命令出現頻度を測定し、その結
果をもとに71−ドウェアアシストなどの単一命令性能
向上策を講じることができるため、効果的なシステム性
能向上を図ることができる。
本発明は上記問題点に鑑みなされたものであり、ユーザ
アプリケーション毎に命令頻度分布等のきめ細かいデー
タを実環境下で高速に測定し得る命令出現頻度測定方式
を提供することを目的とする。
[課題を解決するための手段] 本発明によれば、上述の目的は前記特許請求の範囲に記
載した手段により達或される。
すなわち、本発明は、命令を処理するための命令パイプ
ラインと、バッファメモリ又はその他の書き込み及び読
み出し可能な記憶手段とを有する情報処理装置において
、 実行される命令の処理に要するクロック数を計数するク
ロック計数手段と、該クロック計数手段の計数結果を、
予め設定したクロック数と比較する手段と、該比較手段
の比較結果により、予め設定されたクロック数を越える
クロック数を要した処理時間の命令は、その命令の最終
フローに同期して上記記憶手段の一部にキューイングす
る機構と、該キューイング機構で保持されたデータを読
み出し、命令パイプラインとの処理速度差を緩衝して、
命令コードごとにその出現回数を上記記憶手段に記録す
る機構と、上記比較手段の比較結果により、設定された
夕ロック数を越えないで処理が終了した命令については
その総数を計数する手段とを設けたことを特徴とする命
令出現頻度測定方式である。
[作 用コ 本発明の命令出現頻度測定方式では、命令パイプライン
を通過する命令の最終フローを示す信号に同期して動作
するキューイング機構と、キューイングされたデータを
所定の記憶手段に命令コードごとに累算する記録機構を
用いて構成する。また、指定されたクロック数をこえず
に実行が終了したためにキューイングされなかった命令
の総数を計数するカウンタを設けて構或する。
以下、図を用いて本発明の作用をより具体的に例を上げ
て説明する。
第l図は本発明の原理説明図を示しており、図中の最上
部の符号D,A,T,B,E,Wは命令バイブラインの
各処理ステージの区間区分記号を示し、一つの命令が6
ステージのパイプラインの多重フローで処理される例を
示しており、Dはデコード・サイクルであり、実行すべ
き命令を解読し、Aはアドレス計算サイクルであり、T
はアドレス変換サイクルであり、Bはバッファ読み出し
サイクル、Eは命令演算サイクルであり、Wは結果の格
納サイクルを表わし、良く知られたものである。
マタ、符号“DV.AVSTV,BVSEV,WV”は
各処理ステージの有効表示(VALID〉用のラッチを
表わし、“D  OPC,AOPC%T  OPC,B
  OPC,E  OPC,w  opc”は各処理ス
テージでのオペレーション・コード(OPERATIO
N  CODE)を保持するレジスタ、”D  IST
  FLOW,A  IST  PLOW,T  IS
T  FLOW,B  IsT  FLOW,E  I
ST  FLOW,W  IST  FLOW″は多重
フローのパイプライン処理での最初のフローでの処理の
進行状態に応じてセットされる各ラッチ、“D  EN
D一〇P,A  END  OP,T  END−○P
,B  END  OP%E  END  OP,WE
ND  OP″は多重フローのパイプライン処理での最
後のフローの処理の進行状態に応じてセットされる各ラ
ッチを表わしており、通常のパイプライン処理で普通に
用いられるものである。
そして、図中の破線部で示される部分が本発明が適用さ
れた部分である。
すなわち、図中の数字符lは本発明が適用された命令出
現頻度測定装置の全体を表わしており、2はキューイン
グ機構、3は記録機構、4はクロック計数手段、5はク
ロック数設定手段、6は比較手段、7は命令計数手段を
表わしている。
以下、本図を基にその作用を説明する。
(1)  まず、実行される命令の、パイプライン処理
での命令の開始から終了までを、該命令の先頭を示すW
〜IST  FLOWラッチと命令の終了を示すW  
END  OPラッチからの信号により検知し、命令の
処理に要したクロック数をクロック計数手段4により計
測する。
(2)次に、クロツタ計数手段4により計測された、命
令の処理に要したクロック数と、予め所定のクロック数
を設定した夕ロック数設定手段5の内容と比較手段6に
より比較する。
(3)比較手段6での比較結果により、実行された命令
に要したクロック数が所定の値と等しいか大きい場合に
は、実行された命令のコードがキューイング機構2にキ
ューイングされ、所定の値より小さい場合には、命令数
計数手段7、例えばカウンタがカウントアップする。
そして、クロック数設定手段5に0がセットされれば、
全命令がキューイングつまり命令コードごとの分類、記
録の対象となる。
(4)  キューイング機構2にキューイングされた命
令コードは、所定のタイミングで読み出され記録機構3
により命令コードの種類毎に分類して累算される。
以上、(1)〜(4)で述べた如き動作により本発明の
目的が達成される。
[実施例1 第2図は本発明の命令出現頻度測定方式の一実施例を示
す図であり、該実施例の詳細の構或ブロック図を示して
いる。
同図において、lOは命令出現頻度測定装置の全体(破
線部で囲まれる部分)、11はクロック・ジエネレータ
 (CLOCK  GENERAT○R)、12はキュ
ーイング用RAM (ランダム・アクセス・メモリ)、
l3は記録用RAM,14はクロック・カウンタ、l5
はスレッシュホールド・カウンタ(THRESHOLD
カウンタ〉、l6は比較回路、l7は記録しない命令の
総数を計数するノン・レコード・カウンタ(NON  
RECORD  COUNTER) 、20はキューイ
ング用RAMへのデータ書き込みアドレスを決めるキュ
ー・アドレス・レジスタ(Q  ADRREG)、21
はキューイング用RAMからのデータ読み出しアドレス
を決めるキュー・IJ一ド・アドレス・レジスタ(Q 
 READ  A[)R  REG)、22はアドレス
比較回路、23はキュー・ラップアラウンド・ラッチ(
Q  WRAPAROUND) 、.24はキ一一・ス
タート・ラッチ(Q  START) 、25はキュー
・エンビティ・ラッチ(Q  EMPTY) 、26は
キュー・オーバーフロー・ラッチ(Q  OVERFL
○W)、27はキュー・フル・ラッチ(Q  FULL
)、28はデコーダ、29は記録用RAMへのデータ読
み出し/書き込みアドレスを与えるレコード・アドレス
・レジスタ(RECORDADR  REG)、30は
命令パイプラインのWサイクルにある命令の先頭を示す
W  ISTFLOWラッチ、3lは命令の終了を示す
WEND  OPラッチを表わしている。
以下、第2図の実施例の動作説明を行う。
(1)  命令パイプラインのWサイクルにある命令の
先頭を示すW  IST  FLOWラッチ30がセッ
トされると、命令実行クロツク数の計測がクロックカウ
ンタl4により開始される。
(2)  命令が引き続きバイブラインを進行すると、
命令の終了を示すW  END  OPラッチ3lがセ
ットされクロックカウンタl4の計数が終了する。
また、THRESHOLDカウンタ15には予めスキャ
ンインデータ信号(+SCΔNI N  DATA)に
より所定のカウント値が設定されており、該THRES
HOLDカウンタl5ノ内容と、W  LST  FL
OWラ−/f30,l!71!ッ}さレテから、W  
END  OPラッチ31がセットされるまでのクロッ
クヵウンタl4で計測されたクロック数とが比較される
比較の結果、T}IREsHOLDカウンタ15(71
)値の方が大きい場合、NON  RECOR D  
C O U N T E R 17がカウントアップさ
れる。
比較ノ結果、THRESHoLDカウンタl5の値の方
が小さい場合で、かつ、その他のキューイング禁止条件
がない場合に、キューイング機構のクロックィネーブル
信号(+QCLOCK  ENABLE)が“l”とな
り、キューイング機構が起動される。
(3)  W  END  OPラッチ3lがセットさ
れ、かつ、+Q  CLOCK  E,NABLEが“
l”の時、+Q  DV信号が生成される。
この信号はキューイングするデータの正当性を示す。
+Q  CLOCK  ENABLEが“l”となり、
キューイング機構が起動されると、Wサイクルの命令コ
ードがキューイング用のRAM12に格納される。その
際、キューイング用RAMl2のどこに格納するかはキ
ュー・アドレス・レジスタ (Q  ADR  REG
)20で示される。
(4) Q  ADR  REG20は一つのデータが
キューイング用RAM12にキューイングされる度に“
1”だけアドレスが加算される。
Q  ADR  REG20がアドレスのインクリメン
ト(更進〉により、桁あぶれが生じた場合、Q  WR
APARO  UNDラッチ23がセットされる。その
際、アドレスは″01から再び計数される。
キューイング用RAMl2の中にデータが残っている場
合、すなわち、Q  ADR  REG20とQ  R
EAD  ADR  REG21が不一致で、かつ、Q
  EMPTYラッチ25がリセットされている時、Q
  STARTラッチ24がセットされる。
次に、キューイング機構により、キューイングされたデ
ータは記録機構により、命令コードごとに累算される。
(5〕  記録機構の動作は、キューイング用RAM1
2からのデータ読み出しとデコード、記録用RAM13
からのデータ読み出しとインクリメント、記録用RAM
l3への書き込みの3つのステートから或る。
記録機構はQ  STΔRTラッチ24がセットされて
いて、かつ、キューイング機構が動作していない時に起
動され、キューイング用RAMl2からデータを読み出
す。これは、今回想定しているRAMが読み書きを同時
に行うことができないためである。
キューイング用RAMl2のどのアドレスからデータを
読み出すかは、Q  READ  ADR  REG2
1で示される。Q  READADR  REG21は
読み出しが1回行われる度に“1”だけ加算される。
もし、このインクリメントにより、桁あふれが生じた場
合、Q  WRAPAROUNDラッチ23がリセット
される。その際、アドレスは“0”から再び計数される
(6)  キューイング用R A M 12から読み出
されたデータはデコーダ28によりデコードされ、記録
用RAM13のアドレスに変換されてRECORD  
ADR  REG29にセットされる。
RECORD  ADR  REG29にセットされた
アドレスで指定されるアドレスから読み出された記録用
R A 13のデータには“l”が加算され、同じアド
レスへ格納される。こうすることにより、命令コードご
とに出現回数が累算され記録用RAMl3内に記憶され
る。
(7)Q  ΔDR  REG20とREAD  AD
RREG21の内容が比較され、その結果両者が一致し
、かつ、Q  WRAPAROUNDラッチ22がセッ
トされているとき、キューが一杯になったことを示す。
その際、Q  FULLラッチ27がセットされる。こ
のQ  FULLラッチ27は記録機構によるキューの
読み出しがある度にリセットされる。
Q  FULLラッチ27がセットされ、リセットされ
る前に信号十Q  DVが“l”になるとQ−○VER
FLOWラッチ26がセットされると共に計測が中止さ
れる。
Q  ADR   REG20とQ  READ   
ADR  REG21の内容が比較され、その結果両者
が一致し、かつ、Q  WRAPAROUNDラッチ2
3がセットされていないとき、キューが空になったこと
を示す。その際、QEMPTYラッチ25がセットされ
る。このQEMPTYラッチ25がセットされるとQS
TARTラッチ24がリセットされる。また、記録機構
によるキューイング用RAMl2からのデータ読み出し
が禁止される。
Q  EMPTYラッチ25はQ  STARTラッチ
24がセットされるとリセットされる。
(8)  なお、前述の如<THRESHOLDカウン
タl5の値は予めスキャンインなどの手段により、必要
に応じて変更することができる。
また、THRESHOLDカウンタ15の設定値が小さ
いほどキューイングされるデータは増え、キューがオー
バーフローして、計測を中止しなくてはならなくなる可
能性が大きくなるが、キューの容量を十分に取れば実用
上支障はない。
[発明の効果] 本発明により、従来把握が困難であったユーザーアプリ
ケーションごとの命令頻度分布などのきめの細かいデー
タが実環境下で高速に実測できることにより、的確な高
速化対策を講じることが可能となる。
また、本発明ではキューイングされなかった命令の数も
計数しているので、全命令数に対する記録された特定命
令の出現頻度などの算出も簡単に行うことができる。
【図面の簡単な説明】
第l図は本発明の命令出現頻度測定方式の原理を説明す
る図、第2図は本発明の命令出現頻度測定方式の一実施
例を示す図である。 l・・・・・・命令出現頻度測定装置の全体、2・・・
・・・キューイング機構、3・・・・・・記録機構、4
・・・・・・夕ロック計数手段、5・・・・・・クロッ
ク数設定手段、6・・・・・・比較手段、7・・・・・
・命令数計数手段、10・・・・・・命令出現頻度測定
装置の全体、11・・・・・・クロック・ジェネレータ
(CLOCK  GENERATOR)、12・・・・
・・キューイング用RAM(ランダム・アクセス・メモ
リ)、l3・・・・・・記録用RAM%l4・・・・・
・クロック・カウンタ、15・・・・・・スレシュホー
ルド・カウンタ (THRE.SHOLDカウンタ〉、
l6・・・・・・比較回路、l7・・・・・・記録しな
い命令の総数を計数するノン・レコード・カウンタ  
(NON    RECORD    COUNTER
)  、20・・・・・・キューイング用RAMへのデ
ータ書き込みアドレスを決めるキューイング・アドレス
・レジスタ(A  ADR  REG) 、21・・・
・・・キューイング用RAMからのデータ読み出しアド
レスを決めるキュー・リード・アドレスレジスタ(Q 
 READ  ADR  REG) 、22・・・・・
・アドレス比較回路、23・・・・・・キュー・ラップ
アラウンド・ラッチ(Q  WRΔPAROUND)、
24・・・・・・キュー・スタート・ラッチ(Q  S
TART)、25・・・・・・キュー・エンピティ・ラ
ッチ(Q  EMPTY) 、26・・・・・・キュー
・オーバフo− ・ラフ+ (Q  OVERFLOW
) 、21・=・・・キュー・フル・ラッチ(Q  F
ULL)、28・・・・・・デコーダ、29・・・・・
・記録用RAMへのデータ読み出し/書き込みアドレス
を与えるレコード・アドレス・レジスタ (RECOD
  ADRREG)、30・・・・・・命令パイプライ
ンのWサイクルにある命令の先頭を示すW  IST 
 FL○Wラッチ、3l・・・・・・命令の終了を示す
W ENDOPラッチ

Claims (1)

  1. 【特許請求の範囲】 命令を処理するための命令パイプラインと、バッファメ
    モリ又はその他の書き込み及び読み出し可能な記憶手段
    を有する情報処理装置において、 実行される命令の処理に要するクロック数を計数するク
    ロック計数手段と、 該クロック計数手段の計数結果を、予め設定したクロッ
    ク数と比較する手段と、 該比較手段の比較結果により、予め設定されたクロック
    数を超えるクロック数を要した処理時間の命令は、その
    命令の最終フローに同期して上記記憶手段の一部にキュ
    ーイングする機構と、 該キューイング機構で保持されたデータを読み出し、命
    令パイプラインとの処理速度差を緩衝して、命令コード
    ごとにその出現回数を上記記憶手段に記録する機構と、 上記比較手段の比較結果により、設定されたクロック数
    を越えないで処理が終了した命令についてはその総数を
    計数する手段とを設け、実行される命令の出現頻度を測
    定することを特徴とする命令出現頻度測定方式。
JP1155844A 1989-06-20 1989-06-20 命令出現頻度測定方式 Pending JPH0322044A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1155844A JPH0322044A (ja) 1989-06-20 1989-06-20 命令出現頻度測定方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1155844A JPH0322044A (ja) 1989-06-20 1989-06-20 命令出現頻度測定方式

Publications (1)

Publication Number Publication Date
JPH0322044A true JPH0322044A (ja) 1991-01-30

Family

ID=15614732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1155844A Pending JPH0322044A (ja) 1989-06-20 1989-06-20 命令出現頻度測定方式

Country Status (1)

Country Link
JP (1) JPH0322044A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5132466A (en) * 1989-06-30 1992-07-21 Beecham Group P.L.C. Process for preparing 4-(6-methoxy-2'-naphthyl)butane-2-one

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5132466A (en) * 1989-06-30 1992-07-21 Beecham Group P.L.C. Process for preparing 4-(6-methoxy-2'-naphthyl)butane-2-one

Similar Documents

Publication Publication Date Title
Alur et al. Parametric real-time reasoning
US5615357A (en) System and method for verifying processor performance
US5845064A (en) Method for testing and verification of a CPU using a reference model
Ruiz et al. On non-decidability of reachability for timed-arc Petri nets
US5517629A (en) Methods for analyzing computer program performance
JPH07281930A (ja) 情報処理装置動作測定解析システム
JPS6049354B2 (ja) 事象発生記録方式
US6332117B1 (en) General event stamping scheme
CN107451038B (zh) 硬件事件采集方法、处理器和计算系统
JPH0322044A (ja) 命令出現頻度測定方式
KR100545950B1 (ko) 큐 성능 데이터를 수집하기 위한 방법 및 장치
JP6666216B2 (ja) 電子制御装置、解析システム
US7478258B2 (en) Identifying a processor in a multiprocessor system
Arons Using timestamping and history variables to verify sequential consistency
JPH0743647B2 (ja) データ処理装置における命令ループ捕捉機構
JPH05134895A (ja) トレースデータ格納管理方式
JP2775830B2 (ja) 命令頻度測定方式
WO2006054265A2 (en) Co-simulation of a processor design
US20030083849A1 (en) Statistical sampling process
JPH04287241A (ja) 履歴情報記憶装置
SU1615726A1 (ru) Устройство дл контрол хода программ
JPH10260872A (ja) 計算機システムおよび記録媒体
JPH0716189Y2 (ja) ブレーク回路
SU1497617A1 (ru) Устройство дл отладки программно-аппаратных блоков
SU1437874A1 (ru) Устройство дл анализа параметров графа