JP3311761B2 - 並列処理プログラムシミュレータ - Google Patents

並列処理プログラムシミュレータ

Info

Publication number
JP3311761B2
JP3311761B2 JP24957291A JP24957291A JP3311761B2 JP 3311761 B2 JP3311761 B2 JP 3311761B2 JP 24957291 A JP24957291 A JP 24957291A JP 24957291 A JP24957291 A JP 24957291A JP 3311761 B2 JP3311761 B2 JP 3311761B2
Authority
JP
Japan
Prior art keywords
processors
processor
procedure
execution
parallel
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.)
Expired - Fee Related
Application number
JP24957291A
Other languages
English (en)
Other versions
JPH0588911A (ja
Inventor
喜弘 林
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.)
Nitto Seiko Co Ltd
Original Assignee
Nitto Seiko 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 Nitto Seiko Co Ltd filed Critical Nitto Seiko Co Ltd
Priority to JP24957291A priority Critical patent/JP3311761B2/ja
Publication of JPH0588911A publication Critical patent/JPH0588911A/ja
Application granted granted Critical
Publication of JP3311761B2 publication Critical patent/JP3311761B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列処理システム設定
支援装置や並列処理プログラム開発装置等に適用され、
複数のプロセッサを同時に作動させるための高水準言語
による並列処理プログラムのシミュレーションを行う並
列処理プログラムシミュレータに関するものである。
【0002】
【従来の技術】従来のシミュレータは、1つのプロセッ
サで複数のプロセスをシミュレーションするために、一
定時間毎にプロセスを順次切り換える構成であった。す
なわち、例えば他のプロセスの処理結果を利用するため
に同期待ちが生じた場合には、その同期待ちが解除され
るか、または上記一定時間が経過するまで、同期待ちで
事実上停止している処理さえもシミュレートするように
なっていた。
【0003】
【発明が解決しようとする課題】従来のシミュレータ
は、一定時間毎にプロセスを順次切り換える構成であっ
たので、無駄な待ち時間や切換が多く、シミュレーショ
ンに多くの時間を要していた。本発明はかかる事情に鑑
みて成されたものであり、複数のプロセッサを同時に作
動させるための高水準言語による並列処理プログラムの
シミュレーションを行うに際して、シミュレーションに
要する時間を短縮できる並列処理プログラムシミュレー
タを提供することを目的とする。
【0004】
【課題を解決するための手段】本発明は、複数のプロセ
ッサを同時に作動させるための高水準言語による並列処
理プログラムのシミュレーションを行う並列処理プログ
ラムシミュレータであって、現在実行中のプロセスにつ
いて、同期をとる為の続行条件が不成立であれば現在実
行中のプロセスの情報を退避させて次のプロセスの情報
と切り換えることにより次のプロセスを実行させる切換
手段を設けたことを特徴としている。
【0005】
【作用】切換手段は、現在実行中のプロセスの続行条件
が不成立であれば現在実行中のプロセスの情報を退避さ
せて次のプロセスの情報と切り換えることにより次のプ
ロセスを実行させる。
【0006】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明の一実施例における並列処理プ
ログラムシミュレータを備えた並列処理システム設計支
援装置の概略構成図で、この並列処理システム設計支援
装置は、入力手段1と、シミュレータ2と、並列処理プ
ログラムコンパイル装置3と、マルチプロセッサシミュ
レータ4とにより構成されている。
【0007】入力手段1は、入力機能と表示機能とを有
していると共に、図形表現型言語を計算機処理に有利な
テキスト型言語に自動変換する機能を有している。シミ
ュレータ2は、入力手段1を用いて入力される設計者の
指示に基づいて、入力手段1によりテキスト型言語に変
換された並列処理プログラムを実行して、文法チェック
等を行うと共に、各プロセスの実行時間等を計測するこ
とにより並列処理プログラムコンパイル装置3による機
能分割に必要なデータを生成して入力手段1に表示させ
る。さらにシミュレータ2は、入力手段1を用いて入力
される設計者の指示に基づいて、並列処理プログラムコ
ンパイル装置3により機能分割された各プロセッサ毎の
プログラムを実行して、各プロセッサの動作時間や同期
待ち時間等を計測することにより並列処理プログラムコ
ンパイル装置3による最適プロセッサ数および結合方式
の決定に必要なデータを生成すると共に入力手段1に表
示させる。
【0008】並列処理プログラムコンパイル装置3は、
入力手段1を用いて入力される設計者の指示に基づい
て、テキスト型の高水準言語で記述された並列処理プロ
グラムをコンパイルして複数のプロセッサを作動させる
ための命令コードを生成すると共に、最適なプロセッサ
の数とプロセッサ間の結合方式を決定する。マルチプロ
セッサシミュレータ4は、入力手段1を用いて入力され
る設計者の指示に基づいて、並列処理プログラムコンパ
イル装置3により生成された各プロッセッサ毎の命令コ
ードを実行し、各プロセッサやプロセッサ間の結合方式
の効率等を計測して入力手段1に表示させる。
【0009】この並列処理システム設計支援装置は、例
えばワークステーションあるいはパーソナルコンピュー
タ等により実現される。図2は並列処理プログラムコン
パイル装置3の構成図で、並列処理プログラムコンパイ
ル装置3は、機能分割手段7と、プロセッサ台数・結合
方式決定手段8と、,命令コード生成手段9とにより構
成されており、機能分割手段7は、非再帰化処理手段1
0と、剥離処理手段11と、1ループ化処理手段12と
により構成されている。
【0010】機能分割手段7は、入力手段1によりテキ
スト型に変換された並列処理プログラムを各プロセッサ
毎のプログラムに分割する。プロセッサ台数・結合方式
決定手段8は、機能分割手段7の分割結果に基づいてプ
ロセッサの台数およびプロセッサ間の結合方式を決定
し、ネットリストを生成する。
【0011】命令コード生成手段9は、機能分割手段7
により機能分割されたプログラムをコンパイルしてプロ
セッサを駆動するための命令コードを生成する。図3は
シミュレータ2の構成図で、シミュレータ2は、コマン
ド解析手段14と、字句解析手段15と、構文解析手段
16と、実行手段17と、データ生成手段18とにより
構成されており、実行手段17は切換手段19を備えて
いる。
【0012】コマンド解析手段14は、入力手段1を介
して供給される設計者からの指示を解析し、シミュレー
ションを制御する。字句解析手段15は、入力手段1に
よりテキスト型に変換された並列処理プログラムあるい
は並列処理プログラムコンパイル装置3の機能分割手段
7により機能分割されたプログラムを読み込んで字句を
解読し、つづりの間違いをチェックする。
【0013】構文解析手段16は、字句解析手段15か
らの単語を受け取って文法を解析し、文法の間違いをチ
ェックする。実行手段17は、構文解析手段16から解
析結果を受け取り、構文に従って各種の演算処理を行
う。データ生成手段18は、プログラムの処理時間等を
計測し、プログラムの効率を予測して並列処理プログラ
ムコンパイル装置3の機能分割手段7による機能分割の
ためのデータあるいは並列処理プログラムコンパイル装
置3のプロセッサ台数・結合方式決定手段8によるプロ
セッサ台数や結合方式の決定のためのデータを生成する
と共に、その結果を入力手段1に表示させる。
【0014】切換手段19は、実行手段17があるプロ
セスの演算を実行中に同期待ちになり、続行条件が成立
しないときに、実行中のプロセス情報を退避させ、別の
プロセスの演算に切り換える。図4はマルチプロセッサ
シミュレータ4の構成図で、マルチプロセッサシミュレ
ータ4は、スケジューリング手段21と、プロセッサエ
ミュレーション手段22と、メモリ管理手段23と、並
列性解析手段24とにより構成されている。
【0015】スケジューリング手段21は、入力手段1
を介して入力される設計者の指示に基づいて、プロセッ
サの数や結合方式の種類やプロセッサのシミュレーショ
ン順位等を決定した後、並列処理プログラムコンパイル
装置3の命令コード生成手段9により生成された命令コ
ードおよびプロセッサ台数・結合方式決定手段8により
生成されたネットリストを読み込んでシミュレーション
を制御する。
【0016】プロセッサエミュレーション手段22は、
スケジューリング手段21により呼び出され、プロセッ
サの動作を命令サイクル単位で実行する。またこの間に
ハードウエアレベルの実行状態および通信路毎のアクセ
ス状態の各種時間を計測する。メモリ管理手段23は、
プロセッサエミュレーション手段22により呼び出さ
れ、例えば4Gバイトの仮想記憶25と例えば4Mバイ
トの主記憶26との対応をとると共に、ネットリストに
基づいてプロセッサ間通信の制御を行う。
【0017】並列性解析手段24は、スケジューリング
手段21により呼び出され、各プロセッサのソフトウェ
アレベルの実行時間を計測すると共に、システムの効率
を演算し、結果を入力手段1に表示させる。次に動作を
説明する。先ず、上記並列処理システム設計支援装置を
用いた設計法の概略について述べる。
【0018】設計者は、並列アルゴリズムを論理的な処
理単位である手続き毎に設計する。このとき、手続きは
必ずしも物理的なプロセッサと1対1に対応していな
い。また、手続き外部との通信は引数によって表され
る。しかも、この段階では引数は他の変数と全く同様に
扱われ、引数の仕様や引数への代入に関しての同期は一
切不要である。並列処理の記述に関しては、同時に実行
する処理をまとめて1つの並列実行文として記述する。
つまり、1つの並列実行文内の処理がすべて終了される
まで自動的に同期がとられかつ実行終了段階ですべての
変数の値が更新されることを保証する並列アルゴリズム
(以下「同期化並列アルゴリズム」という)として記述
する。この記述レベルを以下PDL(Procedur
eDescription Level)という。
【0019】並列処理プログラムコンパイル装置3は、
シミュレータ2によりシミュレーションされたPDL記
述に基づいて、各プロセッサ単位の処理を設計する。先
ず、並列性を考慮して同期化並列アルゴリズムを可能な
数のプロセス(並列実行文中で呼び出され、並列実行文
を直接あるいは間接的に含まない手続き)に機能分割す
る。このとき、逐次実行されている部分は各プロセスに
そのまま複写され、並列実行文についてはできるだけプ
ロセス間の処理時間が均一になるように振り分ける。そ
して、あらかじめ一組の論理型変数を用意しておき、分
割前に並列実行文の間である条件が成立するまで処理を
ストップさせるための同期文とこれらの論理型変数への
代入文を組み合わせた通信文を発生させて、各プロセス
間の同期をとる。これらの一連の処理は、多数のプロセ
スが張り合わされた状態であったものが強制的に引き剥
がされて、別々の手続きになるようすを表していること
から、剥離処理と呼ぶ。そして、最初に実行する手続き
のみが並列実行文を含む記述(以下「並列プロセス」と
いう)に変換する。すなわち、PDL記述の段階におけ
るフローグラフが図5のようである場合、剥離処理後の
フローグラフは図6のようになる。この状態で、各プロ
セス間の処理時間および稼働率が設計仕様を満足すれ
ば、各プロセスを各々1つのプロセッサに割り付ける。
設計仕様を満足していない場合、特にプロセス間の処理
時間の格差が激しい場合は、プロセス中に1つのループ
文のみ含むように分割し、同期文を発生する。この場合
1つのループ文とは、あるループ文が他のループ文を完
全に含む構造(入れ子構造)になっていないループ文の
数である。したがって、2つのループ文が入れ子構造を
構成している場合は、1つのループ文として扱う。そし
て、処理時間が均等化されるように各プロセス間の比率
を求め、その比率にできるだけ近づくようにBerns
teinの条件を用いてプロセスを分割する。このプロ
セッサ単位の記述レベルをSDL(Structure
Description Level)と呼ぶ。もし
この段階で設計仕様を明らかに満足しない場合は、PD
L設計からやり直す必要がある。
【0020】さらに並列処理プログラムコンパイル装置
3は、シミュレータ2によりシミュレーションされたS
DL記述に基づいて各プロセッサ間の通信状態を判断
し、通信の頻繁に行われているプロセッサ同士をすべて
結合する。しかも、通信が必要なプロセッサのうちどの
プロセッサとも通信できないプロセッサ(孤立プロセッ
サ)がないように結合し、これをネットワークとする。
そして、SDL記述をプロセッサ固有の命令コードに変
換する。また決定したネットワークを、結合するプロセ
ッサの論理番号の組からなるネットリストに変換する。
さらにネットリストから、各プロセッサが直接あるいは
間接に通信すべきプロセッサの論理番号リストをプロセ
ッサ毎に生成し、命令コード中に付加する。なお、ネッ
トワーク中で直接結合していないプロセッサ同士が通信
を行うためには、第3のプロセッサを経由して通信を行
う必要がある(間接通信)。そのために、各プロセッサ
は他の全てのプロセッサにデータを転送するために必要
な中継用プロセッサの候補を記憶する必要がある。この
段階で、再度設計仕様を検討し、これを満足しない場合
は設計のやり直しをする必要がある。ネットワークに対
して、軽度なものならば標準的なネットワークに変更す
ることも可能であるが、重度なものではPDL設計を変
更する必要がある。
【0021】次に、上記並列処理システム設計支援装置
を用いた設計法の詳細について述べる。設計者は、図形
表現型の高水準言語により記述されたPDL記述の並列
プログラムを入力手段1に入力する。これにより入力手
段1は、図形表現型の言語をテキスト型の言語に変換
し、図外の記憶手段に格納する。
【0022】次に設計者は、入力手段1に並列プログラ
ムのシミュレーションを行う旨の指示を入力する。これ
によりシミュレータ2の字句解析手段15は、図7のよ
うに、記憶手段からPDL記述の並列プログラムaを逐
次読み出し、単語を文章中から切り出して、予め記憶手
段に記憶されている記号表bからシンボルに対応した属
性を探し出した後、シンボルと属性とをシンボル・属性
リストcとして出力する。なお記号表bは、プログラム
言語の種類に応じて作成しておく。
【0023】次に構文解析手段16は、図8のように、
字句解析手段15から1文単位でシンボル・属性リスト
cを受け取り、予め記憶手段に記憶されている文法規則
表dからシンボル・属性リストcに対応した文の種類を
特定し、構文解析表eを作成する。なお文法規則表d
は、プログラム言語の種類に応じて作成しておく。次に
実行手段17は、図9のように、構文解析手段16から
構文解析表eを受け取り、解析結果に従った処理を予め
記憶手段に記憶されている実行関数表fから探し出し、
実行する。このとき、処理に必要なデータを予め記憶手
段に記憶されている処理管理表gから取り出し、結果を
処理管理表gの対応する箇所に書き込む。
【0024】一方データ生成手段18は、図10のよう
に、構文解析手段16から構文解析表eを受け取り、対
応するアセンブリコードを等価コード表hに作成して、
その等価コードの実行時間を予め記憶手段に記憶されて
いる命令コード表iとアドレッシングモード表jとを参
照しながら計算し、現在実行中のプロセスの時間表kに
実行時間を加算する。
【0025】シミュレーションが終了すると、結果が入
力手段1に表示される。結果が仕様を満足していれば、
次の段階に進む。仕様を満足していなければ、PDL記
述の段階から設計をやり直す。次に設計者は、入力手段
1に並列プログラムをPDL記述からSDL記述に変換
する旨の指示を入力する。これにより並列処理プログラ
ムコンパイル装置3は、設計者の指示に基づいて記憶手
段から並列プログラムを逐次読み出し、機能分割手段7
により機能分割を行う。この機能分割は、PDL記述で
表された同期化並列アルゴリズムをSDL記述で表され
る並列プロセスに変換するものであって、再帰プロセス
の非再帰化処理と、剥離処理と、1ループ化処理とから
なり、以下に詳細を説明する。なお、以下の説明で用い
る用語の定義を下記表1、2に示す。
【0026】
【表1】
【0027】
【表2】
【0028】非再帰化処理手段10は、並列プログラム
中の並列実行文を含む再帰手続きである再帰プロセスを
通常の再帰手続きに変換する。すなわち再帰プロセス
は、再帰呼び出しが実行される回数分のプロセスが生成
され、これらの処理が同時に実行されるものであり、実
行するまで発生するプロセスの数が確定しないため、機
能分割を困難にすることから、機能分割を実行するに当
たり、再帰プロセスを普通の再帰手続きに変換する必要
がある。この再帰プロセスの非再帰化処理により、図1
1(A)のようなプロセスモデルが図11(B)のよう
なプロセスモデルに変換される。具体的には、下記
(1)、(2)の処理を実行する。
【0029】(1)並列実行文を含む手続きがその並列
実行文から呼び出している手続きによってさらに呼び出
されている場合、該当する全ての手続きAに対して手続
き名をA’に変えて複製をとり、並列実行文を逐次実行
文に置き換える。 (2)並列実行文中で呼び出しされているすべての手続
きに対して呼び出している手続き名をAからA’に置き
換える。
【0030】剥離処理手段11は、分割処理と、同期機
構・通信プロトコルの発生処理と、被分割集合の手続き
化処理と、インライン展開処理とからなる剥離処理を行
う。分割処理は、最大の実行文を持つ並列実行文と同数
の文の集合に、各処理量が均等化されるようにmin−
max原理に基づいて処理を分割するものである。具体
的には、下記(1)〜(5)の処理を行う。
【0031】(1)変数型の分割・合成処理により、従
属型並列処理の前後に変換部を発生させる。 (2)従属型並列処理を構成するすべての並列実行文
(下記数1)を1文単位の集合(下記数2)に分割し、
この最大要素数mi を被分割手続き数とする。 (3)各文の実行時間に対するmin−max原理に基
づいて、集合(下記数2)をmi 個の集合(下記数3)
にまとめる。
【0032】(4)従属型並列処理を含んでいた実行部
をmi 個コピーし、その中に下記数3の要素を埋め込
む。 (5)各処理に対して、埋め込みが起こった基本ブロッ
ク内で他の処理に分配された変数定義が使用されている
場合は送受信用の代入文を発生させる。
【0033】
【数1】
【0034】
【数2】
【0035】
【数3】
【0036】同期機構・通信プロトコルの発生処理は、
分割後の各集合に対して通信プロトコルを生成するもの
である。具体的には、下記(1)〜(3)の処理を行
う。 (1)変数の分類を行い、すべての受信・放送変数ak
に対して同期変数fk を生成し、通信変数vk とする。
このとき、同期変数の受信側および送信側の要素数はそ
の変数を受信および送信している手続きの数に合わせ
る。
【0037】(2)下記〜の規則にしたがって、受
信点・放送点・中継点にそれぞれ同期機構・通信プロト
コルを発生させる。このとき、正論理または負論理で統
一し、しかも初期値の挿入は1つの変数につき1回とす
る。なお、受信点とは並列実行文中で受信変数が使用さ
れる場所をいい、放送点とは並列実行文中で放送変数が
使用される場所をいい、中継点とは代入文両辺に中継変
数が存在する場所をいう。
【0038】受信(放送)点が制御構造の実行文中に
あれば、受信(放送)点に受信(放送)プロトコルを発
生させる。制御構造に属さない場合、受信(放送)点が
1つ以上存在すれば受信(放送)プロトコルを、それ以
外は同期機構を発生させる。 中継点に中継プロトコルを発生させる。
【0039】制御構造の有無により同期変数の値変化
に差がでてはならない。 (3)同期変数f endを生成し、他のすべての実行
文を下記数4で挟む。
【0040】
【数4】
【0041】被分割集合の手続き化処理は、被分割集合
を実行部とする手続きを生成し、これらの手続きを呼び
出す1つの並列実行文を生成し、これを元の実行部と置
き換えるものである。具体的には、下記(1)〜(4)
の処理を行う。 (1)生成された通信変数の複製をとる。また、各被分
割集合の同期変数f endの複製を変数名が重ならぬよ
うにとる。
【0042】(2)下記〜の規則にしたがって、被
分割集合を実行部とする手続き宣言部を生成する。この
とき変数と変数型との対応をとる。 受信変数となっているものおよび同期文中に現れた論
理型変数は入力変数とする。 放送変数となっているものおよび定義された論理型変
数は出力変数とする。
【0043】中継変数となっているものについては、
受信点と放送点とにおける変数名を変更した後で入出力
変数とする。 自動的に生成された変数は内部変数とする。 (3)複製された通信変数を引数として、生成された手
続きをすべて呼び出す1つの並列実行文を生成する。こ
のとき、それぞれの手続き宣言部の入出力変数に対応し
て入出力引数を生成する。
【0044】(4)生成された並列実行文に各手続きか
らの同期変数f endi に対し下記数5の終了判定文
を加えた逐次実行文を元の実行部と置き換える。
【0045】
【数5】
【0046】インライン展開処理は、展開前の手続きが
カーネルでなければ、手続きを呼び出している手続きに
対して、手続き呼び出し文を展開後の実行部で置き換え
るものである。具体的には、下記(1)〜(5)の手続
きを実行する。なお、カーネルとは最初に実行される手
続きをいう。 (1)手続き呼び出し文を対応する手続きの実行部で置
き換える。
【0047】(2)実行部に含まれる内部変数を、変数
名が重複する場合は名前を変更し、重複しない場合はそ
のまま定義する。 (3)変数の型が存在しない場合は変数型の定義を行っ
た後、変数を型に対応させる。 (4)実行部に含まれる入出力変数を入出力引数で、変
更された内部変数を変更後の名前でそれぞれ置き換え
る。
【0048】剥離処理により生成されたカーネルは、複
数の並列実行文が逐次的に実行される構造を持つことに
なる。剥離処理では、各並列実行文毎にはプロセスに対
する処理量の均等化を考慮している。しかし、カーネル
から呼び出されている全てのプロセスに対する処理量の
均等化については考慮していない。したがって、生成さ
れた並列プロセス全体としての各プロセスの処理量の均
等化を行うことにより、最適なシステムとなる。そこ
で、並列実行文間でプロセスの処理量の比により、それ
ぞれのプロセスの実行プロセッサ数を決定する必要があ
る。そこでは、各プロセスの処理をn分割する必要が生
じる。そして、これが可能なものは、手続き内にループ
文を含んでいる場合である。このループ文に着目した分
割法を適用可能とするために、すべての手続きを1ルー
プ化する必要が生じる。この1ループ化処理は下記
(1)〜(6)の手順により実現される。
【0049】(1)2つ以上のループ文を含む手続きの
実行部をループ文の終了部分で分割する。 (2)分割した文の集合の間にデータ依存関係が存在す
る場合、その変数を記憶する。 (3)下記〜の規則にしたがい、分割した文の集合
を実行部とする手続き宣言部を生成する。
【0050】データ依存関係が存在する変数が実行部
で使用されているものは入力変数とする。 データ依存関係が存在する変数が実行部で定義されて
いるものは出力変数とする。 データ依存関係が存在する変数が実行部で使用・定義
されているものについては、変数名を分離して入出力変
数とする。さらに、実行部の使用箇所と定義箇所の変数
名を入出力変数名で置き換える。
【0051】データ依存関係が存在しない変数は局所
変数とする。 (4)実行部の使用・定義箇所をそれぞれ受信・放送点
と見做して同期機構・通信プロトコルを発生させる。 (5)各手続きに同期変数f endを生成して、下記
数4で実行部をはさむ。
【0052】(6)元のプロセスを呼び出している箇所
に分割した手続き呼び出し文を生成する。 次に設計者は、入力手段1に機能分割処理後のプログラ
ムのシミュレーションを行う旨の指示を入力する。これ
によりシミュレータ2の字句解析手段15は、図7のよ
うに、記憶手段から並列プログラムaを逐次読み出し、
単語を文章中から切り出して、記号表bからシンボルに
対応した属性を探し出した後、シンボルと属性とをシン
ボル・属性リストcとして出力する。
【0053】次に構文解析手段16は、図8のように、
字句解析手段15から1文単位でシンボル・属性リスト
cを受け取り、文法規則表dからシンボル・属性リスト
cに対応した文の種類を特定し、構文解析表eを作成す
る。次に実行手段17は、図9のように、構文解析手段
16から構文解析表eを受け取り、解析結果に従った処
理を実行関数表fから探し出し、実行する。このとき、
処理に必要なデータを処理管理表gから取り出し、結果
を処理管理表gの対応する箇所に書き込む。また実行手
段17は、構文解析手段16から受け取った構文解析表
eの文がwait文であれば切換手段19を起動する。
【0054】これにより切換手段19は、図12のよう
に、構文解析表eの条件部を参照し、続行条件がT(Tr
ue)であれば何もせずに処理を続行する。続行条件がF
(False)であれば、現在の状態をプロセス管理表mに
記入した後、タイムホイールnを1ステップ進めて次に
実行すべきプロセス名を取得し、プロセス管理表mに従
って実行すべきプログラムに切り換える。
【0055】すなわち図13のように、第iプロセスを
実行し(ステップS1)、同期待ちか否かを判断し(ス
テップS2)、同期待ちであれば処理続行の条件が不成
立であるか否かを判断し(ステップS3)、不成立であ
れば第iプロセスを退避させ(ステップS4)、iに1
を加えてiとし(ステップS5)、第iプロセスを呼び
出して(ステップS6)、ステップS1に戻る。ステッ
プS2で同期待ちでなければステップS1に戻る。ステ
ップS3で条件不成立でなければステップS1に戻る。
【0056】一方データ生成手段18は、図10のよう
に、構文解析手段16から構文解析表eを受け取り、対
応するアセンブリコードを等価コード表hに作成して、
その等価コードの実行時間と同期待ち時間とを、予め記
憶手段に記憶されている命令コード表iとアドレッシン
グモード表jとを参照しながら計算し、現在実行中のプ
ロセスの時間表kに実行時間と同期待ち時間とに分けて
加算する。
【0057】シミュレーションが終了すると、結果が入
力手段1に表示される。結果が仕様を満足していれば、
次の段階に進む。仕様を満足していなければ、PDL記
述の段階から設計をやり直す。次に設計者は、入力手段
1にプロセッサ台数およびプロセッサ間の結合方式を決
定し、プロセッサを作動させるための命令コードを生成
する旨の指示を入力する。これにより並列処理プログラ
ムコンパイル装置3のプロセッサ台数・結合方式決定手
段8は、シミュレータ2のデータ生成手段18により生
成されたデータを参照して、プロセッサの台数およびプ
ロセッサ間の結合方式を決定すると共に、中継用プロセ
ッサリストを生成する。
【0058】結合方式の決定は、下記(1)〜(3)の
手順で行う。 (1)すべてのプロセッサの組(p i ,p j
に対して結合力を計算し、結合力行列F=(Fij)を求
める。ここで結合力とは、プロセス間の通信量であり、
変数のサイズと処理実行中に送受信した回数とにより決
定することができ、本実施例では下記数6を結合力関数
とする。この関数は、プロセスが実行中に通信した情報
量に比例した量であると見做すことができる。
【0059】
【数6】
【0060】(2)得られた結合力行列Fのすべての要
素に対し、そのヒストグラムをとる。 (3)ヒストグラムがいくつかの分布に分割される場合
は、結合力の大きな分布から順に分布に属するプロセッ
サの組をネットワークとして直接結合し、ネットリスト
を作成する。このとき、通信が必要なプロセッサのうち
どのプロセッサとも直接あるいは間接的に結合せず孤立
するプロセッサが存在しなくなるまで分布を採用する。
また、分布が分割しない場合は、この分布に属するすべ
てのプロセッサをネットワークとして直接結合し、ネッ
トリストを作成する。
【0061】このように結合方式を決定することによ
り、プロセス間の通信量の小さなものについては直接結
合させずに中継させることで、通信用の回路の増大を抑
えることができ、通信量の大きなものについては直接結
合させることで、中継に伴う通信のオーバヘッドを減少
させることができる。以上の手順でネットワークが決定
すると、とりあえずプロセッサ間の通信は可能となる
が、これは単に線がつながったに過ぎない。つまり、す
べてのプロセッサが互いに接続された場合を除いて、直
接通信のできないプロセッサの組が存在する。このプロ
セッサ同士は、第3者を経由しないと通信することがで
きない。ところが、どのプロセッサを経由すれば通信を
行うことが可能であるのかといっった情報はまだ決定さ
れていない。したがって、この情報を決定する必要があ
る。これはネットリストが与えられれば、決定すること
は可能である。この問題は、与えられた2点間の最短経
路を決定する問題として知られ、ダイクストラ(Dij
kstra)法等の解法が有名である。本実施例では、
ダイクストラ法を用いて通信経路を決定しているので、
詳細なアルゴリズムの説明は省略する。自分以外のプロ
セッサへ通信するための情報としては、そのプロセッサ
へ通信するために、直接通信すべきプロセッサのリスト
を記憶しておけばよい。また、最短経路が複数存在して
も差し支えなく、これをすべて記憶しておけば、特定の
通信路のみが混雑することを防ぐことが可能となる。
【0062】また並列処理プログラムコンパイル装置3
の命令コード生成手段9は、機能分割手段7により機能
分割されたプログラムをコンパイルして、プロセッサを
作動させるための命令コードを生成する。次に設計者
は、入力手段1に並列処理プログラムコンパイル装置3
により生成された命令コードおよびネットリストを用い
てシミュレーションを行う旨の指示を入力する。これに
よりマルチプロセッサシミュレータ4がシミュレーショ
ンを行う。マルチプロセッサシミュレータ4は、図14
のように、(A)の共有メモリ型や、(B)の木構造型
や、(C)の配列型や、(D)のトーラス型や、(E)
の超立方体型(ハイパーキューブ型)等の代表的なネッ
トワークを実現可能であり、ネットワークの性能を比較
できるようになされている。
【0063】スケジューリング手段21は、設計者の指
示に基づいて、プロセッサの数、ネットワークの種類、
プロセッサのシミュレーション順位等を決定した後、並
列処理プログラムコンパイル装置3のコード生成手段9
が生成したコードおよびプロセッサ台数・結合方式決定
手段8が決定したネットリストを読み込んで、シミュレ
ーションの制御を行う。すなわち図15のように、初期
設定時には、メモリ管理手段23に通信網情報と初期値
データとを渡し、タイムホイールpにプロセッサの実行
順序を設定する。そしてシミュレーション時には、タイ
ムホイールpの実行プロセッサのプロセッサ番号をプロ
セッサエミュレーション手段22に渡し、タイムホイー
ルpのポインタを1つ進める。
【0064】プロセッサエミュレーション手段22は、
スケジューリング手段21により呼び出され、対象とす
るプロセッサの動作を命令サイクル単位で実行する。こ
の間にハードウェアレベルの実行状態(演算中、命令呼
び出し、ローカルメモリ読み出し・書き込み・呼び出し
待ち・書き込み待ち、共有メモリ呼び出し・書き込み、
呼び出し待ち、書き込み待ち、I/O呼び出し・書き込
み・呼び出し待ち・書き込み待ち)および通信路毎のア
クセス状態(呼び出し・書き込み・呼び出し待ち・書き
込み待ち)の時間を計測する。すなわち図16のよう
に、命令コードすなわちアセンブリ言語で書かれたプロ
グラムqを実行する。例えば、mov a,doを読み
込み、aに対するアドレスを出力してメモリ管理手段2
3からデータdata(a)を受理する。そして命令が
movであることから、プロセッサデータファイルrの
レジスタファイル中のdoへデータdata(a)を代
入した後、ポインタを1つ進める。このとき同時に、各
サイクルに要した時間を、命令サイクル時間表sを参照
してプロセッサデータファイルr中の時間情報部に記入
する。
【0065】メモリ管理手段23は、プロセッサエミュ
レーション手段22から呼び出され、仮想空間すなわち
仮想記憶25と物理空間すなわち主記憶26との対応を
とる。同時に、I/O空間を介してネットワークによる
プロセッサ間の通信の制御を行う。すなわち図17のよ
うに、初期設定時にはスケジューリング手段21により
通信網の形態情報を受け取り、各ポートに対してアクセ
ス可能なプロセッサを示す属性をセットすることによっ
て、通信網tを設定する。このポートは属性にセットさ
れた1組のプロセッサのみがアクセス可能であり、これ
によって通信を行うことが可能である。そしてシミュレ
ーションが開始されると、メモリ管理手段23はプロセ
ッサから指定されたプロセッサ番号とアドレスとによっ
て、対応するデータをプロセッサエミュレーション手段
22に返す。なおuはプロセッサデータ、vは共有デー
タである。
【0066】並列性解析手段24は、スケジューリング
手段21により呼び出され、各プロセッサのソフトウェ
アレベルの実行状態に関する時間を計測する。すなわち
マルチプロセッサシミュレータ4には、各プロセッサ毎
に10個のシステム変数が用意されており、この変数を
設定することにより、変数が設定されている間の時間を
独立に計測することが可能となる。設計者は、この変数
を用いることによって任意の処理の実行時間を計測する
ことが可能となる。10個のシステム変数のうち、pr
b0〜prb2はシステムで予約されており、それぞ
れ、処理実行中、通信中、待機中の時間の計測を行う。
処理実行中は、プロセッサが自分の与えられた仕事を実
行している時間であり、通信中は、処理に必要なデータ
の送受信または他のプロセッサへの中継処理を行ってい
る時間であり、待機中は、何もせずにただ待っている時
間である。それぞれのシステム変数に対する計測を実行
すると共に、計測された結果をハードウェアレベルの結
果と合わせて集計し、データファイルとして出力する。
【0067】シミュレーションが終了すると、結果が入
力手段1に表示される。結果が仕様を満足していれば、
設計を終了する。仕様を満足していなければ、PDL記
述の段階から設計をやり直す。なお、通信の効率が満足
できない場合は、図14(A)〜(E)のような既存の
ネットワークと効率を比較し、既存のネットワークで仕
様を満足すればそれを採用する。
【0068】以上の手順で開発された並列処理プログラ
ムを実行する並列処理プロセッサは、例えば図18のよ
うに、ローカルメモリ280 〜28n-1 を有する複数の
プロセッサ290 〜29n-1 が通信網により結合し、通
信路を介して他の複数のプロセッサ290 〜29n-1
の通信を行うものである。通信網は、複数のプロセッサ
290 〜29n-1 同士の結合状態を示すネットリストに
よりデータバス30と双方向メモリブロック310 〜3
n-1 との対応を切り換える汎用スイッチ32と、汎用
スイッチ32を制御するネットワークコントローラ33
とからなる。通信は、結合可能な複数のプロセッサ29
0 〜29n-1 のみがアクセス可能な複数の双方向メモリ
ブロック310 〜31n-1 の書き込みにより行われる。
またこの通信網は、すべてのプロセッサ290 〜29
n-1 がアクセス可能な共有メモリ34を持ち、共有メモ
リ34を介してもプロセッサ290 〜29n-1 同士は通
信可能である。プロセッサ290 〜29n-1 同士の通信
におけるハードウェアレベルでの排他制御は自動的に行
われているものとし、さらにソフトウェア的には、各プ
ロセッサ290 〜29n-1 は非分割の読み書きサイクル
のtas(Testand Set)命令を備えている
ものとする。図19はメモリ空間(仮想空間)の全体構
成図で、メモリ空間は大きく3つの部分(ローカルメモ
リ空間、共有メモリ空間、I/O空間)に分かれてい
る。ローカルメモリ空間は、それぞれ対応するプロセッ
サ290 〜29n-1 のみがアクセス可能な領域であり、
各プロセッサ290 〜29n-1 毎に存在する。ローカル
メモリ空間は、さらにプロセッサ290 〜29n-1 固有
の例外ベクタ領域(プロセッサ290 〜29n-1 によっ
ては存在しない場合もある)、PE結合情報部、ユーザ
領域からなっている。共有メモリ空間は、すべてのプロ
セッサ290 〜29n-1 がアクセス可能な領域であり、
ネットワークコントローラ33により排他制御され、同
時には1つのプロセッサ290 〜29n-1 のみがアクセ
ス可能である。I/O空間は多数のメモリブロックから
なっており、各ブロックは特定の1組のプロセッサのみ
がアクセス可能である。その排他制御は、各プロセッサ
290 〜29n-1 の結合状態を表すネットリストにした
がって、ネットワークコントローラ33が行う。この領
域は、各ブロック毎に同時にアクセス可能である。PE
(プロセッサ)結合情報部は、ローカルメモリ空間中に
存在し、図20のように、プロセッサ290 〜29n-1
の論理番号、ネットワークの種類、ネットワーク用パラ
メータ、そのプロセッサが直接I/Oを介して通信可能
なプロセッサの番号とそのI/Oアドレス等を格納す
る。ユーザ領域は、図21のように、プロセッサ290
〜29n-1 が実行するプログラムを格納する領域とプロ
セッサ290 〜29n-1 のみがアクセスするデータを格
納する領域とからなる。なお例外ベクタ領域は、各プロ
セッサ290 〜29n-1 により異なるため、その構造の
説明を省略する。I/O空間は、図22のように、1ブ
ロック16バイトで構成され、これを介して1組のプロ
セッサが通信を行うことができる。1ブロックは、さら
に属性領域、送受信バッファ、予備領域からなる。プロ
セッサ290 〜29n-1 がアクセス可能な領域は送受信
バッファおよび予備領域であり、属性領域はネットワー
クコントローラ33のみがアクセス可能である。
【0069】以下、上記並列処理プログラムコンパイル
装置の主要な動作について、具体的な動作を説明する。 (具体的実施例1)再帰プロセスの非再帰化処理につい
て、下記数7に示すガウス関数を含む不定積分値を求め
る手続きIntGauss( ) の非再帰化処理を用いて
説明する。
【0070】
【数7】
【0071】不定積分値Gm は、mの偶数・奇数によ
り、下記数8のように2つの場合に分かれる。
【0072】
【数8】
【0073】ここで、上記数8の値は下記数9〜数11
により計算できる。
【0074】
【数9】
【0075】
【数10】
【0076】
【数11】
【0077】Gm の値を求める手続きをIntGaus
s( ) 、En の値を求める手続きをIntEGauss
( ) 、On の値を求める手続きをIntOGauss
( ) 、On の積分値を求める手続きをIntIOGau
ss( ) とすると、プログラムは図23〜図26のよう
になる。なお図24の網かけ部分は並列実行文である。
手続きIntEGauss( ) において、手続きInt
OGauss( ) および手続きIntIOGauss
( ) は並列実行文中で呼び出されているため、プロセス
である。さらに、手続きIntOGauss( ) は手続
きIntEGauss( ) を呼び出しているため、手続
きIntEGauss( ) は再帰手続きである。したが
って、手続きIntEGauss( ) は再帰プロセスで
ある。
【0078】再帰プロセスに対する非再帰化処理は、下
記(1)(2)の原理に基づいて行う。 (1)再帰プロセスAの並列実行文を順次実行文とした
手続きA’を新たに生成する。 (2)再帰プロセスAから呼び出される手続きに対し
て、再帰プロセスAを呼び出す手続き名をすべてA’に
変更する。
【0079】すなわち、非再帰化処理後の手続きInt
EGauss( ) は図27のようになる。また新たに生
成された手続きIntEGauss1( ) を図28に示
し、修正された手続きIntOGauss( ) を図29
に示す。なお図29において網かけ部分は変更箇所を示
す。 (具体的実施例2)機能分割からネットワークの決定ま
での処理について、図30のプログラムのように高速フ
ーリエ変換におけるバタフライ演算を実行する手続きc
alcを用いて説明する。なお、この例では再帰プロセ
スは存在せず、また、全ての手続きは1ループ化されて
いるため、再帰プロセスの非再帰化処理および1ループ
化処理を行う必要がないので、説明を省略する。
【0080】(1)分割処理 図30のプログラムからは図31のようなフローグラフ
が得られる。このフローグラフの節は各実行文を表し、
複数の分岐すなわち破線で囲んだ部分は並列実行を表
す。分割処理を施した結果、図32のようなフローグラ
フになる。 (2)同期機構・通信プロトコルの発生処理 変数の分類処理による手続きcalcに対する変数の分
類結果は、図33のようになる。変数yre,yim,
xre,ximは、この手続き中では独立した変数であ
るが、手続きcalcを呼び出している手続きcfft
中ではどちらも変数zre,zimであるため、この両
者は同一変数として扱われる。したがって、変数yr
e,yim,xre,ximは中継変数となる。続い
て、分類結果を基に孤立変数以外の全ての変数に対し
て、同期変数を発生させ、通信変数とする。このように
して得られた通信変数を図34に示す。また、同期機構
・通信プロトコルの発生処理後のプログラムの処理実行
部分を図35〜図38に示す。なお図35〜図38にお
いて、網かけ部分は並列処理プログラムコンパイル装置
3の機能分割手段7の剥離処理手段11により生成され
た同期機構・通信プロトコルを表す。
【0081】(3)非分割集合の手続き化処理およびイ
ンライン展開処理 同期機構・通信プロトコルの発生が行われた後、この集
合を処理実行部とする手続きを生成する。そして、この
手続きcalcに対してインライン展開処理が実行され
る。 (4)ネットワークの決定 ネットワークの決定に必要な結合力分布を求めるため
に、シミュレータ2により再度シミュレーションを行
う。シミュレーションの結果得られた結合力行列を図3
9に示し、これにより作成された結合力分布を図40に
示す。なお図39において、P0はシステム全体の管
理、P1〜P7は三角関数表作成、P8〜P11はバタ
フライ演算、P12〜P14はビットリバース演算であ
る。この結合力分布から、結合力が8以上(図39中*
印部)のプロセッサの組(ネット)については直接結合
し、これをネットワークとする。この結果として得られ
たネットワークを図41にグラフの形で示す。このグラ
フの節はプロセッサを表し、実線の枝は通信路を表す。
また破線の枝は、直接は結合していないが通信を行って
いること、つまり、これらの間の通信には第3のプロセ
ッサが必要であることを表す。
【0082】なお上記実施例では、プロセッサ同士を直
接結合する範囲を決定するに際して、通信の必要なプロ
セッサ同士が直接あるいは間接的にすべて結合される最
大の結合力を基準にしたが、この基準になる結合力は入
力手段1を用いて設計者がもっと小さい値を設定できる
ように構成してもよい。また上記実施例では、必ず1ル
ープ化処理を実行するように構成したが、1ループ化処
理は設計者が入力手段1を用いて指示した場合にのみ実
行するように構成してもよい。
【0083】
【発明の効果】以上説明したように本発明によれば、複
数のプロセッサを同時に作動させるための高水準言語に
よる並列処理プログラムのシミュレーションを行う並列
処理プログラムシミュレータであって、現在実行中のプ
ロセスについて、同期をとる為の続行条件が不成立であ
れば現在実行中のプロセスの情報を退避させて次のプロ
セスの情報と切り換えることにより次のプロセスを実行
させる切換手段を設けたので、無駄な待ち時間がなく、
しかも切換回数が減少することから無駄なタスクが減少
し、シミュレーションに要する時間を短縮できるという
優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例における並列処理プログラム
シミュレータを備えた並列処理システム設計支援装置の
概略構成図である。
【図2】並列処理プログラムコンパイル装置の構成図で
ある。
【図3】シミュレータの構成図である。
【図4】マルチプロセッサシミュレータの構成図であ
る。
【図5】PDL記述によるプロセスモデルのフローグラ
フである。
【図6】剥離処理後のプロセスモデルのフローグラフで
ある。
【図7】字句解析手段の動作説明図である。
【図8】構文解析手段の動作説明図である。
【図9】実行手段の動作説明図である。
【図10】データ生成手段の動作説明図である。
【図11】非再帰化処理前後のプロセスモデルのフロー
グラフである。
【図12】切換手段の動作説明図である。
【図13】切換手段の動作を説明するためのフローチャ
ートである。
【図14】マルチプロセッサシミュレータにより実現可
能なネットワークの構成図である。
【図15】スケジューラ手段の動作説明図である。
【図16】プロセッサエミュレーション手段の動作説明
図である。
【図17】スケジューラ手段の動作説明図である。
【図18】並列処理プロセッサの実モデルの構成図であ
る。
【図19】仮想空間の構成図である。
【図20】PE結合情報部の構成図である。
【図21】ユーザ領域の構成図である。
【図22】I/O空間の構成図である。
【図23】PDL記述によるプログラムの説明図であ
る。
【図24】PDL記述によるプログラムの説明図であ
る。
【図25】PDL記述によるプログラムの説明図であ
る。
【図26】PDL記述によるプログラムの説明図であ
る。
【図27】非再帰化処理後のプログラムの説明図であ
る。
【図28】非再帰化処理後のプログラムの説明図であ
る。
【図29】非再帰化処理後のプログラムの説明図であ
る。
【図30】PDL記述によるプログラムの説明図であ
る。
【図31】PDL記述によるプロセスモデルのフローグ
ラフである。
【図32】分割処理後のプロセスモデルのフローグラフ
である。
【図33】変数の分類結果の説明図である。
【図34】通信変数の説明図である。
【図35】同期機構・通信プロトコルを埋め込んだプロ
グラムの説明図である。
【図36】同期機構・通信プロトコルを埋め込んだプロ
グラムの説明図である。
【図37】同期機構・通信プロトコルを埋め込んだプロ
グラムの説明図である。
【図38】同期機構・通信プロトコルを埋め込んだプロ
グラムの説明図である。
【図39】結合力行列の説明図である。
【図40】結合力分布の説明図である。
【図41】ネットワークの説明図である。
【符号の説明】
19 切換手段
フロントページの続き (56)参考文献 特開 昭62−226241(JP,A) 特開 昭56−153456(JP,A) 特開 昭50−31749(JP,A) 特公 昭55−49343(JP,B1) 林喜弘 他,ADLによる並列処理プ ロセッサ設計支援手法,情報処理学会第 39回(平成元年後期)全国大会講演論文 集,P.1642−1643 (58)調査した分野(Int.Cl.7,DB名) G06F 9/45 - 9/46 G06F 11/22 - 11/36 G06F 15/16 - 15/177

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサを同時に作動させるた
    めの高水準言語による並列処理プログラムのシミュレー
    ションを行う並列処理プログラムシミュレータであっ
    て、 現在実行中のプロセスについて、同期をとる為の続行条
    件が不成立であれば現在実行中のプロセスの情報を退避
    させて次のプロセスの情報と切り換えることにより次の
    プロセスを実行させる切換手段を設けたことを特徴とす
    る並列処理プログラムシミュレータ。
JP24957291A 1991-09-27 1991-09-27 並列処理プログラムシミュレータ Expired - Fee Related JP3311761B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24957291A JP3311761B2 (ja) 1991-09-27 1991-09-27 並列処理プログラムシミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24957291A JP3311761B2 (ja) 1991-09-27 1991-09-27 並列処理プログラムシミュレータ

Publications (2)

Publication Number Publication Date
JPH0588911A JPH0588911A (ja) 1993-04-09
JP3311761B2 true JP3311761B2 (ja) 2002-08-05

Family

ID=17195002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24957291A Expired - Fee Related JP3311761B2 (ja) 1991-09-27 1991-09-27 並列処理プログラムシミュレータ

Country Status (1)

Country Link
JP (1) JP3311761B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林喜弘 他,ADLによる並列処理プロセッサ設計支援手法,情報処理学会第39回(平成元年後期)全国大会講演論文集,P.1642−1643

Also Published As

Publication number Publication date
JPH0588911A (ja) 1993-04-09

Similar Documents

Publication Publication Date Title
Herrera et al. Systematic embedded software generation from SystemC
US6067415A (en) System for assisting a programmer find errors in concurrent programs
Williamson et al. Synthesis of parallel hardware implementations from synchronous dataflow graph specifications
JP3721780B2 (ja) 複数のパイプライン処理機構を有するデータ処理装置
EP0867820A2 (en) A design environment and a method for generating an implementable description of a digital system
US20050055190A1 (en) Circuit operation verification device and method
JP3246668B2 (ja) 並列処理プログラムコンパイル装置
JP3311761B2 (ja) 並列処理プログラムシミュレータ
JP2927583B2 (ja) 並列処理プログラミングシミュレータ
JPH0588912A (ja) マルチプロセツサシミユレータ
JP2663893B2 (ja) アーキテクチャ・シミュレータ
JP2001256048A (ja) データ処理装置のシミュレーション
Jerraya et al. SYCO—a silicon compiler for VLSI ASICs specified by algorithms
US6775814B1 (en) Dynamic system configuration for functional design verification
JP2004021907A (ja) 性能評価用シミュレーションシステム
JPS62217325A (ja) アセンブラコ−ド最適化方式
JPH0916642A (ja) データ処理装置のアーキテクチャ評価方法
JP2004118518A (ja) シミュレータ、そのシミュレータをコンピュータ読み取り可能に記録した記録媒体
JP2982418B2 (ja) 機能シミュレーション装置
JP2001022808A (ja) 論理回路削減装置ならびに論理シミュレーション方法および装置
JPH10177487A (ja) プロセッサの命令シミュレーション方法および命令シミュレーション・システム
Berry Esterel v7 for the Hardware Designer
JPH05282395A (ja) ハードウェアシミュレータの双方向ピン入出力切換え方法
Yoo et al. Translating Concurrent Programs into Petri Nets for Synthesis of Asynchronous Circuits
Barnes et al. A dynamically configurable discrete event simulation framework for many-core chip multiprocessors

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees