JPH02146688A - データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法 - Google Patents

データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法

Info

Publication number
JPH02146688A
JPH02146688A JP30185888A JP30185888A JPH02146688A JP H02146688 A JPH02146688 A JP H02146688A JP 30185888 A JP30185888 A JP 30185888A JP 30185888 A JP30185888 A JP 30185888A JP H02146688 A JPH02146688 A JP H02146688A
Authority
JP
Japan
Prior art keywords
hash
hash collision
data
node
queuing
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
JP30185888A
Other languages
English (en)
Other versions
JP2568657B2 (ja
Inventor
Hiromoto Naitou
裕幹 内藤
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP63301858A priority Critical patent/JP2568657B2/ja
Publication of JPH02146688A publication Critical patent/JPH02146688A/ja
Application granted granted Critical
Publication of JP2568657B2 publication Critical patent/JP2568657B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 (イ)産業上の利用分野 この発明はデータ駆動型マイクロプロセッサによるデー
タ処理装置におけるハツシュ衝突回避方式に関する。こ
こにデータ駆動とは各演算の開始を入力データの存在に
よって制御する命令実行方式のことを示す。
(ロ)従来の技術 従来データ駆動型マイクロプロセッサ(以下データフロ
ーマシンと呼称する)にて処理される記憶媒体の主なデ
ータ編成としてはハツシング、リストおよび索引編成の
3種類があり、これらのデータ編成の内のどの編成を選
択するかは、使用目的等によって決められている。デー
タ編成におけるハツシングは、データ自体に付けられた
値(これをキーと呼ぶ)から何らかの演算によって、そ
のデータの格納場所を決める方法である。キーから格納
場所を算出する変換式をハツシング関数と呼び、種々の
計算方法が考案されている。そして算出された格納場所
は、具体的な記憶装置の番地として扱うものや、記憶装
置上で論理的に定めた相対番地として扱うものがある。
ハツシングの最大の問題点は、ハツシング関数の選び方
によって、複数のデータが同一の場所に変換されるとい
う点である。これをハツシュ衝突といい、これに対する
対策きして、どの格納場所ら複数のデータが洛納できる
大きさにしておくことや、特別のあふれ領域を容易して
おくことによるハツシュ衝突回避方式が考えられている
。すなわちトークン(データフローグラフの各アーク上
を流れる各々のデータ)の待ち合わせ機構としてプログ
ラム記憶部と同じ大きさの領域を使うことが一般的であ
った。
さらに、ハツシュ衝突対策としての領域を小さくする方
法としていくつかの提案があり、その方法の1つとして
実行順序の解析を行う方法が考えられている。第5図は
従来のハツシュ衝突回避方式を示すフローヂャートであ
る。
(ハ)発明が解決しようとする課題 しかし従来のハツシュ衝突回避方式(実行順序の解析を
行う方法)では、ハツシュ衝突の発生確率を大幅に下げ
ることができるため、トークンの待ち合イっせ機構を小
さくすることができるという効果は有るものの、ハツシ
ュ衝突が無くなった訳ではなく、ハツシュ衝突発生時に
はやはり処理か遅くなるという問題があった。
この発明は以上の事情を考慮してなされたちのて、デー
タフローマシンに処理を行わせるためのプログラムから
、オブジェクト(実行形式の機械語)を生成する際に、
ハツシュ衝突を回避することのできるハツシュ衝突回避
方式を提供する。
(ニ)課題を解決するための手段 この発明は、ハツシングによりデータ編成された記憶媒
体を使用するデータ駆動型マイクロプロセッザにおいて
、あらかじめ解析したトークンの待ち合わけ部における
ハツシュ衝突に関するデータを基に、実行形式の機vj
、語を生成する際に、同一実行ランクのノートを入れ換
えることにより、実行時のハツシュ衝突を回避するデー
タ駆動型マイクロプロセッザにおけるバッジ、衝突回避
方式この発明における実行ランクとは実行順序の解析に
より得られる同時実行可能なノートの集まりを意味する
(ホ)作用 この発明によれば、処理を行わせるプロクラムからオブ
ジェクトを生成する際に、ハツシュ衝突が発生している
ノードを抽出し、ハツシュ衝突が発生しているノードと
、同一実行ランク内より得られる待ち合わせの必要のな
い命令(1人力命令)とを入れ換えハツシュ衝突を回避
するよう作用する。
(へ)実施例 以下図に示す実施例に基づいてこの発明を詳述する。な
お、これによってこの発明は限定されるものではない。
第1図は下記に示される式(1)、(2)を表現するプ
ログラムのフローグラフであり、人力値がx1定数a1
〜a4て出力値がy%Zである。また、ランク1〜ラン
ク7は、このフローグラフの実行ランクを示し、番号1
〜・16はノートアドレスを示す。
y=x*[x*(x*a 1)+a2+a3]+a4・
(1) z=x*[x*(x*a 1)−a2−a3]−a4・
・・・ ・(2) 第2図はこの発明のハツシュ回避方式を実行するために
使用されるデータフローマシンの一実施例の構成を示す
ブロック図である。同図において20はプログラム記憶
部、21は待ち合わせ部、22は演算処理部、23はキ
ュー・バッファ部、24は合流部、25は分岐部である
。待ち合わせ部21には8ノードが収納できるよう構成
されている。ただし収納できるノード数はハードウェア
によって決まるちのであり8ノードに限定されない。こ
の実施例においては1〜16のノードの内、2人力命令
はノードアドレスの下位3ビツトにより待ち合わせ場所
を決めるものとする。したがって2.10.4.12等
が同じ場所で待ち合わせを行う。
このような構成のデータ駆動型マイクロプロセッザにお
いて、処理を行わせるためのプログラム(高級言語でも
機械語でもよい)から、オブジェクトを生成する際に、
以下の方式によりハツシュ衝突を回避する。
第3図はこの実施例の動作を説明するフローヂャートで
ある。まず、実行にループがあるかどうか判断しくステ
ップ30)、Noであれば(1)実行ランク順に付され
たノードアドレスと待ち合わせ機構内のハツシュテーブ
ルとから後述する表1に示すハッンユ衝突解析テーブル
を作成しくステップ3I)、後述する表2に示す実行順
序解析表を作成しくステップ32)、ハツシュ衝突ノー
ドを表Iより抽出する(ステップ33)。
表1ハツシュ衝突解析表 34に戻る。ただしこの方式は、実行がループになって
いる場合には正確に解析できないという欠点がある。す
なわちステップ3oにおいてYESであれば、次ぎに示
す(2)の方式を併用する。また、交換によりノリシュ
衝突が回避できない場合や、ステップ34において同一
実行ランク内に1人力命令が無い場合には、同一ランク
内に1人力命令を入れるか、またはハツシュ衝突対象の
下位のノートの一方にNOPを挿入することにより待ち
合わせ場所の専有状態を変え、ハツシュ衝突を回避する
(ステップ36)。
(2)ステップ30において実行がループになっている
場合、生成されたオブジェクトを、ハツシュ衝突解析の
ためにシュミレーション実行、またはエミュレーション
実行を行い、得られたハツシュ衝突解析情報を基に、ハ
ツシュ衝突解析表を作成する(ステップ38)。次いで
前述した(1)の処理と同様、ステップ32に移り、ハ
ツシュ衝突が発生するノードに対し、どちらか適当な一
方のノートアドレスを同一ランクの1人力命令と入れ換
表2実行順序解析表 ハツシュ衝突が抽出された場合、ハツシュ衝突が発生す
るノードに対し、どちらか適当な一方のノードアドレス
を、同一ランクの1人力命令と入れ換える(ステップ3
4)。その際、新たな解析によりハツシュ衝突が発生し
た場合(ステップ35)、対象ランクにNOP (ノー
・オペレーション命令)を挿入しくステップ36)、ハ
ツシュ衝突を回避する。次いでハツシュ衝突ノートが終
了したかどうかを判断しくステップ37)、YESであ
れば処理を終了する。NOであればステップえて再度実
行し、ハツシュ衝突が無くなるかまたは最小になるよう
にすることによりハツシュ衝突を回避する。
第4図は第1図に示すフローグラフで発生するハツシュ
衝突を回避するために部分的に変更されたフローグラフ
である。
(ト)発明の効果 この発明によれば、ハツシュ衝突が発生しているノート
と、同一実行ランク内から得られる待ち合わせの必要の
ない命令とを入れ換えることができるので、ハツシュ衝
突が発生しなくなるか、またはハツシュ衝突の発生頻度
を大幅に減少させることができる。これにより実行効率
が飛躍的に向上し処理スピードを速めることができる。
【図面の簡単な説明】 第1図はこの発明の詳細な説明するために使用するプロ
グラムのフローグラフ、第2図は実施例に使用するデー
タ駆動型マイクロプロセッサの要部の構成を示すブロッ
ク図、第3図は実施例のハッンユ回避方式を説明するフ
ローチャート、第4図は第1図のフローグラフで発生ず
るハツシュ衝突を回避するために部分的に変更されたフ
ローグラフ、第5図は従来例のハツシュ衝突回避方式を
示すフローヂャートである。 =11 1じ 1′rX I) 1き

Claims (1)

  1. 【特許請求の範囲】 1、ハッシングによりデータ編成された記憶媒体を使用
    するデータ駆動型マイクロプロセッサにおいて、 あらかじめ解析したトークンの待ち合わせ部におけるハ
    ッシュ衝突に関するデータを基に、実行形式の機械語を
    生成する際に、同一実行ランクのノードを入れ換えるこ
    とにより、実行時のハッシュ衝突を回避するデータ駆動
    型マイクロプロセッサにおけるハッシュ衝突回避方式。
JP63301858A 1988-11-28 1988-11-28 データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法 Expired - Fee Related JP2568657B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63301858A JP2568657B2 (ja) 1988-11-28 1988-11-28 データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63301858A JP2568657B2 (ja) 1988-11-28 1988-11-28 データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法

Publications (2)

Publication Number Publication Date
JPH02146688A true JPH02146688A (ja) 1990-06-05
JP2568657B2 JP2568657B2 (ja) 1997-01-08

Family

ID=17902007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63301858A Expired - Fee Related JP2568657B2 (ja) 1988-11-28 1988-11-28 データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法

Country Status (1)

Country Link
JP (1) JP2568657B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242274A (ja) * 1992-02-26 1993-09-21 Sharp Corp データフロープログラムの実行制御方法
JP2015528603A (ja) * 2012-08-20 2015-09-28 オラクル・インターナショナル・コーポレイション 集約/グループ化動作:ハッシュテーブル法のハードウェア実装

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242274A (ja) * 1992-02-26 1993-09-21 Sharp Corp データフロープログラムの実行制御方法
JP2015528603A (ja) * 2012-08-20 2015-09-28 オラクル・インターナショナル・コーポレイション 集約/グループ化動作:ハッシュテーブル法のハードウェア実装

Also Published As

Publication number Publication date
JP2568657B2 (ja) 1997-01-08

Similar Documents

Publication Publication Date Title
JP3280449B2 (ja) コンパイル装置
JPH06103463B2 (ja) コード生成方法
Hosabettu et al. Proof of correctness of a processor with reorder buffer using the completion functions approach
CN105117269B (zh) 基于向量中断的编译器的优化方法
JPH02146688A (ja) データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法
JP3318051B2 (ja) 翻訳処理方法
JP2591212B2 (ja) 高速割込み処理装置
JP3637606B2 (ja) データ処理装置
JP2727023B2 (ja) 情報処理装置
JPH086797A (ja) 定数参照最適化処理装置
Kumar et al. Revolutionizing Compilation: Lexical Analysis Approaches for Parallel Multi-Core Processing
JPH04247527A (ja) コンピュータの命令スケジューラ
JP3240647B2 (ja) コンピュータ言語の構造化処理方式
JPH07105015A (ja) コンパイル方式
JPS62182843A (ja) 高速コンパイル/リンク方式
JP2001265605A (ja) コンパイラの命令列最適化方法、コンパイラ装置、記録媒体、及びプログラム
JPH04252336A (ja) プログラム最適化処理装置
El-Kharashi et al. A Java processor architecture with bytecode folding and dynamic scheduling
JPS63132335A (ja) 計算機言語処理系の実行方式
JPH04343140A (ja) コンパイラの最適化処理方法
Piotrowski Sequential and data flow models of processing
JPH03127133A (ja) 計算機シミュレーション方法
JPH02211589A (ja) データ駆動型制御方法およびコンパイル装置
JPH03100830A (ja) 命令の最適化方式
JPH0367336A (ja) コンパイル装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071003

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081003

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees