JPH0916642A - データ処理装置のアーキテクチャ評価方法 - Google Patents

データ処理装置のアーキテクチャ評価方法

Info

Publication number
JPH0916642A
JPH0916642A JP7143762A JP14376295A JPH0916642A JP H0916642 A JPH0916642 A JP H0916642A JP 7143762 A JP7143762 A JP 7143762A JP 14376295 A JP14376295 A JP 14376295A JP H0916642 A JPH0916642 A JP H0916642A
Authority
JP
Japan
Prior art keywords
design
data processing
architecture
hardware
hardware configuration
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
JP7143762A
Other languages
English (en)
Inventor
Masayuki Yamaguchi
雅之 山口
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 JP7143762A priority Critical patent/JPH0916642A/ja
Publication of JPH0916642A publication Critical patent/JPH0916642A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【構成】 データ処理装置のシステム分割工程で設計さ
れたハードウエア構成を評価対象として入力する。デー
タ処理の要求仕様として与えられたアプリケーションプ
ログラムを設定する。アプリケーションプログラムを分
枝の発生が回避されたプログラム部分である各基本ブロ
ックまで分割する。ハードウエア構成の各構成が最大限
並列に動作できるように各構成をデータ転送経路を考慮
してスケジューリングして上記各基本ブロックの処理ス
テップ数をそれぞれ算出する。要求仕様に対応した入力
データを用いてハードウエア構成の動作をシミュレート
して、各基本ブロックの実行数をそれぞれ算出し、各処
理ステップ数と上記実行数とからハードウエア構成を評
価する。 【効果】 アーキテクチャ設計の初期段階にてハードウ
エア構成をより正確に評価できるので、アーキテクチャ
設計の最適化を迅速化できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、要求仕様に応じたアー
キテクチャ設計の最適化を迅速にできるデータ処理装置
のアーキテクチャ評価方法に関するものである。
【0002】
【従来の技術】一般に、データ処理装置は、汎用マイク
ロプロセッサや組み込み型専用プロセッサ等のLSIの
ように、幾つかの演算装置、記憶装置とそれらを接続す
る転送経路で構成され、それらはデータ処理装置の外部
もしくは内部の制御装置によって制御されている。
【0003】このようなデータ処理装置では、処理のデ
ータの流れにしたがって演算装置や記憶装置を転送経路
でハードウエア的に接続すれば単純な制御で目的のデー
タ処理を行うデータ処理装置は構成できるが、データ処
理が複雑化するにしたがって処理と同程度の複雑さを有
するハードウエアが必要になり、ハードウエア量が膨大
になる。
【0004】プログラム制御方式では、目的とするデー
タ処理をより小さい処理(基本処理)に部品化して、部
品の組み合わせで処理を実現する。基本処理をそれぞれ
演算装置、記憶装置、転送経路といったハードウエアで
実現し、基本処理をどのような順序で組み合わせてデー
タ処理を行うかをデータ処理プログラムとしてのソフト
ウエアにて実現する(図13参照)。
【0005】通常、データ処理プログラムはコンパイラ
によって基本処理を用いた手順に変換され、各基本処理
を実行する命令で記述されたプログラム(オブジェクト
プログラム)になる。データ処理装置は手順にしたがっ
て演算装置や転送経路を制御することでデータ転送や演
算などの種々のデータ処理を行い、目的のデータ処理を
実現する。プログラム制御方式を用いることで、複雑な
データ処理を小さなハードウエアで実現することが可能
となる。
【0006】このようなデータ処理装置の設計では、通
常、どのようなデータ処理をどのような処理速度で行う
かという要求仕様に基づいて図10に示す設計手順にし
たがって装置設計が行われる。
【0007】プログラム制御方式のデータ処理システム
では、要求仕様として与えられるデータ処理を、演算装
置、記憶装置、転送経路、制御装置などから構成される
ハードウエアと、そのハードウエアを制御するためのソ
フトウエアの組み合わせで実現する。ハードウエアとソ
フトウエアとは設計手法が大きく異なるため、通常、設
計の最初の段階にてシステム分割工程で分割され、それ
ぞれに対し詳細設計が行われる。
【0008】この設計手順において、最初にシステムの
大まかな構成や実現方式を決定するのが、アーキテクチ
ャ設計である。アーキテクチャ設計工程では、システム
をどのようなハードウエア上でどのようなデータ処理プ
ログラムを用いて実現するかを設計する。そのため、以
下の手順で設計が進められる。
【0009】(a)システム分割 データ処理装置をハードウエアで実現する部分とソフト
ウエアで実現する部分に分割する。プログラム制御方式
では、目的とするデータ処理をどのような基本処理の集
合に部品化するかを決定することで、データ処理装置を
どのようなハードウエアとソフトウエアとで実現するか
が決定される。基本処理の選択はすなわち、どのような
処理の部品を用いてデータ処理を実現するかを決定する
ことであり、それぞれの基本処理を実現するハードウエ
アを選択することである。
【0010】このとき、基本処理として複雑な処理を選
べば、ハードウエアのコストは増加するが、複雑な処理
を1回で行うことができるので、ソフトウエアの実行ス
テップ数は減少し、処理性能は向上する。
【0011】反対に基本処理として簡単な処理を選べ
ば、ハードウエアのコストは減少するが、多くの実行ス
テップ数が必要になり、性能は劣化する。したがって、
基本処理の選択は、データ処理の効率やハードウエア量
などのコストに大きな影響を与える重要な設計項目であ
る。
【0012】ハードウエアの実現部分は、基本処理を実
現する演算装置や記憶装置と転送経路をどのような構成
に設定するかというハードウエア構成が仕様として決定
される。このレベルのハードウエア仕様では、演算装置
や記憶装置などの接続関係は、すでに設計されているが
レジスタ数などについては後に決定されることが多い。
一方、ソフトウエアの実現部分は、基本処理をどのよう
な手順で組み合わされて処理を実現するかがソフトウエ
ア仕様として設定される。
【0013】(b)ハードウエア設計 ハードウエア設計では、システム分割で決定されたハー
ドウエア仕様に対し、その制御をどのような仕組みで行
うかや、レジスタ数や記憶装置の容量などの詳細な設計
項目が決定される。また、この設計項目の重要な項目と
して命令セット設計が行われる。
【0014】命令セットは、ハードウエア仕様として決
定したハードウエア構成の各要素を制御してデータ処理
を行うための様々な命令の集まりとして決定される。命
令セットは理想的にはハードウエアの各部が完全に並列
に制御できればハードウエアの能力を最大限に発揮させ
ることができるが、命令語長などの制限のため通常は命
令セットの設計において並列性に制限が加わる(図14
参照)。
【0015】図14の例では、図13に示すハードウエ
ア構成に対して、2つの形式の命令形式が与えられてい
る。ハードウエアを構成する要素は本来は並列に制御可
能である。(命令形式1)の命令セットでは演算装置1
・2、記憶装置1・2の制御には別々のフィールドが割
り当てられているため、並列に制御可能である。
【0016】しかし、(命令形式2)の命令セットでは
命令語長を短くするため、演算装置、記憶装置の制御フ
ィールドが共有され、2つの演算装置1・2、記憶装置
1・2を並列に制御できない。このように同じハードウ
エア構成でも命令セット設計により並列実行度に差が生
じてくる。
【0017】命令セット設計で命令セットの形状が決定
され、命令を解釈実行するためのハードウエア部分が設
計される。また、設計された命令セットはソフトウエア
設計側で利用するためにコンパイラ工程に渡される。ハ
ードウエアとして実現される部分は通常はハードウエア
記述言語で出力され、後の詳細設計に用いられる。
【0018】(c)ソフトウエア設計 ソフトウエア実現部分のアーキテクチャは、ソフトウエ
ア仕様からデータ処理プログラムとして実現される。こ
れは後の設計工程でハードウエア側で設計された命令セ
ットを用いたオブジェクトプログラムに変換される。オ
ブジェクトプログラムの生成は通常命令セットやハード
ウエアの情報をもとにコンパイラが設計され、それによ
って行われる。
【0019】次に、上記データ処理装置のアーキテクチ
ャの評価方法について説明する。データ処理装置は、そ
の処理性能や必要なコストで評価される。性能は要求さ
れたデータ処理を要求された時間内に実行できる(ある
いはどれだけ速く実行できるか)の評価である。コスト
はデータ処理装置のハードウエア量や消費電力等で表さ
れる。
【0020】アーキテクチャ設計工程ではシステムの基
本的な構成や実現方式が決定されるために、設計結果が
後の設計に大きな影響を与える。したがって、データ処
理装置の設計においてアーキテクチャ設計の最適化は重
要である。そのためには、アーキテクチャ設計工程で設
計したアーキテクチャを評価して、その結果をフィード
バックする必要がある。
【0021】プログラム制御方式のデータ処理装置の場
合、アーキテクチャ設計工程では(a)システム分割、
(b)ハードウエア設計、(c)ソフトウエア設計が行
われる。システム分割工程において、基本処理を選択す
ることでハードウエア実現部分とソフトウエア実現部分
との切り分けが行われる。基本処理の選択によるハード
ウエア実現部分とソフトウエア実現部分との分割は最終
的な性能やコストに与える影響が大きい。アーキテクチ
ャの最適化を行うためには、システム分割が妥当である
か否かを評価して最適化することが非常に重要である。
【0022】また、設計最適化のためには評価を設計の
各工程で行って、それを設計にフィードバックさせる必
要がある。各工程における評価が別々にできない場合に
は、複数の設計工程における設計の善し悪しの判断や、
要求仕様を満足しなかった場合にどの設計工程に原因が
あるかというボトルネックの解析が困難になる。また、
評価結果が不良の場合に生じる設計の後戻りが大きくな
り、設計期間の長期化を招くことになる。
【0023】例えば、システム分割段階で本来必要な性
能に不足するハードウエア仕様を選択した場合には、命
令セットの設計をどのようにしても性能の不足を補うこ
とはできない。このような場合にはシステム分割段階で
選択したハードウエア構成を評価して、それが悪いとい
う評価ができれば、この段階でシステム分割を最適化可
能である。
【0024】しかし、もし、これらの2つの段階を別々
に評価できず、アーキテクチャ設計後の評価で初めて要
求性能を満たしていないことが判明した場合に、システ
ム分割と命令セット設計の双方が評価結果に影響を及ぼ
すため、どちらの設計が原因なのかというボトルネック
が判別できない。
【0025】このため、システム分割工程の設計が原因
であっても設計を最適化しようとして命令セットの最適
化を何度も繰り返し試みる結果となる可能性もあり、た
とえシステム分割の変更により最適化しても設計の後戻
りが大きくなり、設計が完了するまでの時間が長くな
る。
【0026】したがって、アーキテクチャ設計を最適化
するためには、アーキテクチャ終了段階だけではなく、
システム分割工程以降の各工程でアーキテクチャを評価
することが必要であるという問題が存在する。しかし、
次の従来手法の節でも述べる通り、システム分割工程の
終了段階で確実にアーキテクチャ評価が行えるシステム
は今まで存在していない。
【0027】次に、アーキテクチャ評価の従来手法につ
いて説明する。従来、アーキテクチャ設計を最適化する
ために、アーキテクチャの評価を行う手法がいくつか提
案されている。
【0028】赤星ら(DAシンポジウム、1993年)は、
アーキテクチャの評価を行う手法として評価システム
“COACH”を提案している。上記評価システムで
は、評価部において命令セット(ハードウエアを制御す
るための命令の集合)を含むアーキテクチャ情報を与え
てコンパイラを生成し、データ処理の要求仕様であるア
プリケーションプログラムをオブジェクトコードプログ
ラムにコンパイルして実際のデータ処理を命令レベルで
実行し、処理ステップ数を求めることでアーキテクチャ
の評価を行っている。
【0029】また、システムのハードウエア/ソフトウ
エア協調設計の研究分野では、最適なハードウエアとソ
フトウエアの分割を求めるためにアーキテクチャの性能
やコスト評価を行っているシステムとして、「ASIP
向きハードウエア/ソフトウエア・コデザインシステム
PEAS−1におけるハードウエア生成手法」(信学技
報VLD93-93 )や特開平5-216957号公報に開示された
「回路設計方式」で提案されたシステムを挙げることが
できる。
【0030】これらのシステムにおけるアーキテクチャ
評価は、設計された命令セットを評価対象として評価用
コンパイラを用いてアプリケーションプログラムから完
全なオブジェクトプログラムを生成することで行うため
(図15参照)、アーキテクチャ設計が完全に終了し、
図10の左矢印Bにて示す命令セット設計まで終わった
段階において、アーキテクチャの評価を行っている。
【0031】
【発明が解決しようとする課題】ところが、上記従来の
各手法では、1)命令セットを評価対象としているため、
システム分割設計の妥当性を評価できないこと、2)アー
キテクチャを実際にはオブジェクトプログラム設計まで
終了した後に評価しているため、評価結果にはオブジェ
クトプログラムを生成するための評価用コンパイラの品
質が大きく影響し、アーキテクチャ自身を評価できない
可能性があること、3)アーキテクチャ設計が完了する段
階まで評価が行えず、ボトルネック解析等に時間がかか
り、アーキテクチャ設計の最適化に手間取ることがある
という問題を生じている。
【0032】本発明の目的は、アーキテクチャ設計が完
了してから評価を行うのではなく、システム分割直後か
らの各アーキテクチャ設計レベルで評価できる方法、つ
まりシステム分割段階以降の各工程の設計結果を別々に
評価可能なデータ処理装置のアーキテクチャ評価方法を
提供することにある。
【0033】
【課題を解決するための手段】本発明の請求項1記載の
データ処理装置のアーキテクチャ評価方法は、以上の課
題を解決するために、システム分割工程で決定された演
算装置、記憶装置およびそれらを用いてデータ処理する
ためのデータ転送経路とからなるハードウエア構成をス
テップ数解析のためにモデル化する第1ステップと、デ
ータ処理の要求仕様として与えられるアプリケーション
プログラムを、分枝の発生が回避されたプログラム部分
である各基本ブロックまで分割する第2ステップと、ハ
ードウエア構成の各構成が最大限並列に動作できるよう
に上記各基本ブロックをデータ転送経路を考慮してスケ
ジューリングして上記各基本ブロックの処理ステップ数
をそれぞれ算出する第3ステップと、要求仕様に対応し
た典型的な入力データを用いて上記ハードウエア構成の
動作をシュミレートして、上記各基本ブロックの実行数
をそれぞれ算出する第4ステップと、上記各処理ステッ
プ数と上記実行数とからハードウエア構成を評価する第
5ステップとを含むことを特徴としている。
【0034】本発明の請求項2記載のデータ処理装置の
アーキテクチャ評価方法は、請求項1記載のデータ処理
装置のアーキテクチャ評価方法において、さらに、第1
ステップでは、ハードウエア構成に制御装置設計や命令
セット設計の影響などによる並列化不可能な演算や転
送、制御の組み合わせを並列制約情報として付加し、第
3ステップでは、上記並列制約情報も考慮してスケジュ
ーリングすることを特徴としている。
【0035】
【作用】上記請求項1記載の方法によれば、データ処理
の要求仕様として与えられるアプリケーションプログラ
ムを、分枝の発生が回避されたプログラム部分である各
基本ブロックまで分割することと、ハードウエア構成の
各構成が最大限並列に動作できるように上記各基本ブロ
ックをデータ転送経路も考慮してスケジューリングする
こととにより、上記各基本ブロックの処理ステップ数を
それぞれ算出することができることから、上記ハードウ
エア構成を、上記各処理ステップ数と、シュミレートに
よる各基本ブロックでの実行数とから評価できる。
【0036】このことから、上記方法では、ハードウエ
ア構成の各構成が最大限並列に動作できるようにスケジ
ューリングすることにより、上記ハードウエア構成を評
価できるので、システム分割が終了してハードウエア構
成が決定した段階にて、上記ハードウエア構成の評価を
行うことができる。
【0037】上記請求項2記載の方法によれば、さら
に、ハードウエア構成に対し制御装置や命令セットによ
る並列制約情報を加えてハードウエア構成を評価するこ
とにより、システム分割によるハードウエア構成を予め
最適化しておけば、制御装置設計や命令セット設計によ
るアーキテクチャ評価に対する影響のみを考慮可能であ
るので、上記制御装置や命令セットの評価を正確に行う
ことができる。
【0038】
【実施例】本発明の一実施例について図1ないし図1
2、および図15に基づいて説明すれば、以下の通りで
ある。データ処理装置のアーキテクチャ評価方法では、
要求仕様に応じたシステム分割工程の結果として、図2
に示すように、まず、複数の演算装置であるMULT
1、ALU2や、複数の記憶装置であるRAM3、RO
M4や、それらを互いに接続するデータ転送経路5から
なるハードウエア構成が設定される。
【0039】このようなハードウエア構成を、評価のた
めのコンピュータに入力できるように記述形式に書き換
えて上記コンピュータに入力する。続いて、データ処理
の要求仕様をプログラム形式で記述したアプリケーショ
ンプログラムを上記コンピュータに入力する。
【0040】そして、上記方法では、図1に示すよう
に、下記の各ステップを含むことを特徴としている。ま
ず、ステップiとして、データ処理の要求仕様として与
えられるアプリケーションプログラムを、分枝の発生が
回避されたプログラム部分である各基本ブロックまで分
割する。
【0041】ステップiiとして、システム分割工程直後
の評価の場合にはアーキテクチャ設計のシステム分割工
程で設計される情報のみを用いて、また、ハードウエア
設計工程以降の評価では制御装置設計や命令セット設計
の影響を加味するための並列制約情報をさらに加えて、
ハードウエア構成の各構成が最大限並列に動作できるよ
うに簡易化したモデルを想定する。なお、ステップiお
よびステップiiは、それらの作業の手順を互いに前後し
てもよく、また、同時に進行させてもよい。
【0042】ステップiii として、上記各基本ブロック
をデータ転送経路も考慮してスケジューリングすること
により上記各基本ブロックの処理ステップ数をそれぞれ
算出する。
【0043】ステップivとして、要求仕様に対応した典
型的な入力データを用いて上記ハードウエア構成の動作
をシミュレートして、上記各基本ブロックにおける繰り
返し実行される実行数をそれぞれ算出する。ステップv
として、上記各処理ステップ数と上記各実行数とからハ
ードウエア構成を評価する。
【0044】上記簡易化したモデルは下記の各条件にし
たがって設定される。a) 全ての演算装置であるMUL
T1、ALU2は並列に動作可能とする。b) 全ての記
憶装置であるRAM3、ROM4は独立なアドレス空間
を有し、同時アクセス可能とする。
【0045】c) 汎用レジスタとしてハードウエア構成
には現れないレジスタファイルの存在を仮定し、どこか
らでもアクセス可能とする(データ処理の中間変数の格
納に用いる)。ただし、レジスタファイルの同時アクセ
ス数には制限を有することとする。d) 各ハードウエア
装置間を接続する転送経路5は同時には高々1つのデー
タのみ転送するように設定される。
【0046】そのハードウエア構成のグラフによるモデ
ル化は、リソースになるMULT1、ALU2、RAM
3、ROM4、および転送経路5のうち複数データの衝
突の可能性を考慮する必要がある部分(バスやマルチプ
レクサ等)を頂点に対応させ、それらの間の転送経路5
を有向辺にて対応させる。図2のハードウエアの構成の
場合、例えば図3のグラフとしてモデル化される。
【0047】また、ハードウエア構成が原因で生じる並
列実行の規約以外の理由による並列実行の制約、例えば
制御装置設計または命令セット設計が完了している場
合、必要に応じてハードウエア構成の並列制約情報を付
加する。この並列制約情報の付加により、例えば命令セ
ット設計による並列実行の制約付加をモデル化すること
ができる。
【0048】図2に示すハードウエア構成の場合、ハー
ドウエア構成の並列制約情報として、例えば以下の制約
が考えられる。
【0049】 演算−演算間制約の例 ALU(ADD)とMULT 演算−転送間制約の例 ALUとRAM→A 転送−転送間制約の例 RAM→XとROM→Y 上記方法では、並列動作できない演算や転送の組を制約
としてリストに保持し、静的解析における各動作のスケ
ジューリングにおいてリソース制約に加えて考慮する。
以下の説明では簡略化のため、付加されるハードウエア
並列実行の制約情報はないものとして説明を進める。
【0050】次に、転送経路5におけるデータ転送手順
の抽出について説明すると、最初に、RAM3、ROM
4間のデータの転送経路5を各ペア毎に抽出する。ハー
ドウエア構成のグラフの最短経路問題を解くことによっ
て、出力記憶装置−入力記憶装置間の有向道を各ペアに
ついて求める。抽出された経路を用いて演算時の入出力
データは転送されるとする。図2のハードウエア構成の
場合では、例えば以下のデータ転送手順が抽出される。
ただし、MULT1、ALU2を通る経路は考慮しな
い。
【0051】P→A:P→BUS→A P→B:P→BUS→B P→RAM:P→BUS→RAM C→A:C→BUS→A C→B:C→BUS→B C→RAM:C→BUS→RAM RAM→A:RAM→BUS→A RAM→B:RAM→BUS→B RAM→X:RAM→BUS→X ROM→Y:ROM→BUS→Y 続いて、アプリケーションプログラムから基本ブロック
の抽出について説明すると、アプリケーションプログラ
ムを基本ブロック(基本分枝のない部分)に分割して各
基本ブロックに対してDFG(データフローグラフ、Da
ta Flow Graph)を作成する。
【0052】図4に簡単なアプリケーションプログラム
と基本ブロックの関係を示す。基本ブロックはアプリケ
ーションプログラムの構文解析を行ってif文や for文な
どの分枝制御ごとに分割することによって抽出すること
ができる。図4のプログラムでは、5個の基本ブロック
が抽出されている。
【0053】このような基本ブロックの例として、高速
フーリエ変換のFFTプログラムにおける1つの基本ブ
ロックを下記に示す。下記基本ブロックに対して作成さ
れたDFGの例を図5に示した。以降ではこの基本ブロ
ックの例を元にしてプログラム静的解析を行う様子を実
施例として示す。
【0054】 xj + =xi +(xj ×cos −yj ×sin) yj + =yi +(yj ×cos +xj ×sin) xi + =xj −(xj ×cos −yj ×sin) yi + =yj −(yj ×cos +xj ×sin) 次に、プログラム静的解析として、下記の各処理によ
り、各DFGに対してハードウエア構成における転送経
路5による制約を考慮したスケジューリングを行い、ア
プリケーションプログラムにおける各基本ブロックに対
する予想実行ステップ数を求める。
【0055】1.ハードウエア構成において各演算を実
行する演算装置に入出力レジスタが存在する場合、入出
力レジスタへの転送をDFGの一つの頂点として追加す
る(図6参照)。本実施例では乗算の前後にMULTの
入出力レジスタであるX,Y,Pレジスタ、ALUの前
後にALUの入出力レジスタA,B,Cレジスタへの転
送がそれぞれ頂点として追加されている。ただし、本実
施例では、変数x,y等はRAMに格納し、定数sin, c
osはROMに格納されているものとしている。
【0056】2.追加したレジスタ等の記憶装置間のデ
ータ転送を考慮するために、データ転送に必要な転送を
データ転送手順にしたがって追加する(図7参照)。例
では、MULTの出力レジスタPからALUの入力レジ
スタA,Bへのデータ転送には少なくとも1度、転送経
路5としてのBUSを経由する必要があるので、BUS
への転送を示す頂点が追加されている。また、他の箇所
でも同様にBUSを経由するための転送手順が追加され
ている。
【0057】3.スケジューリングを行って実行ステッ
プ数を求める。スケジューリングではMULT、ALU
やBUSをリソース制約として考慮した並列制約を加
え、ステップ数ができる限り少なくなるように演算や転
送を行う時刻を決定する。
【0058】ハードウエア構成上の本来のデータ処理で
は、計算途中の中間変数を記憶装置上に格納する必要が
生じるため、本来はその転送も考慮する必要が生じる。
しかし、汎用レジスタの構成などの設計が行われていな
い段階では、何らかのモデル化を行って処理を行う。モ
デル化は設計が進むに従って実際に近いものに順次置き
換えられれば、ハードウエア構成のより正確な評価が行
える。
【0059】本実施例では、汎用レジスタのアクセス遅
延は無視するというモデル化を行う。このモデル化は、
どこからでも同時に瞬時にアクセス可能な無限の容量を
有する1つの大きな汎用レジスタが存在すると仮定する
モデル化である。スケジューリングの結果を図8に示
す。本実施例では、上記結果は、図8における各ステッ
プを示す引出し線の各数字にて示すように、19ステッ
プで完了している。
【0060】さらに、プログラム動的解析について説明
すると、入力データを用いてアプリケーションプログラ
ムを実行し、各基本ブロックについてそれぞれの実行回
数を求める。本実施例における図4に示した例での、各
基本ブロックにおける実行の結果を図9に、右矢印
(→)の左側にそれぞれ示した。
【0061】続いて、プログラム動的解析における実行
ステップ数の算出について説明すると、プログラム静的
解析部による各基本ブロックの実行ステップ数と、プロ
グラム動的解析部による実行回数から以下の計算式で実
行ステップ数を算出する。
【0062】基本ブロック数をnとして、各基本ブロッ
クBi (1≦i≦n)における動的解析結果による基本
ブロック実行数Xi 、静的解析のスケジュール結果によ
る実行ステップ数Si とすると、全実行ステップ数Tは
以下の式で表される。
【0063】
【数1】
【0064】図4のアプリケーションプログラムにおい
て、基本ブロック5の処理が図4に示したプログラムの
処理であり、その他の基本ブロックに対する実行回数と
予測実行ステップ数が表1で示される値である場合に
は、全体の実行ステップ数は3458ステップであると算出
される。
【0065】
【表1】
【0066】最後に、解析結果出力部では、要求仕様に
応じてそれぞれ設定された各ハードウエア構成の各解析
結果と、それらを元にした情報の提示、解析結果から推
測される事項を元にした、例えばMULT1の使用率が
極度に小さいといった設計ガイダンスとを提示する。
【0067】このように本発明の評価方法によれば、図
10に示すデータ処理装置の設計の各工程において、ア
ーキテクチャ設計のシステム分割の設計段階(左矢印
A)、命令セット設計等のハードウエア設計段階(左矢
印B)にて、設計したアーキテクチャをそれぞれ評価す
ることが可能になる。
【0068】したがって、上記方法では、図11にも示
すように、各設計段階での各評価に基づいて、アーキテ
クチャ設計のボトルネックがシステム分割にあるのか、
命令セット設計などのハードウエア設計にあるのか判別
することが可能になる。これにより、それぞれの個々の
アーキテクチャ設計の最適化が可能になる。
【0069】また、図12に示すように、従来生じてい
た個々の工程での最適化による設計の後戻りも、本願発
明では小さくできるので、データ処理装置の設計の最適
化を迅速化できる。
【0070】本発明の評価法の結果を用いて、アーキテ
クチャ設計者はアーキテクチャを変更し、性能やコスト
の変化を観察することでアーキテクチャを改良すること
ができる。これによって、アーキテクチャ設計の各設計
段階を最適化し、ハードウエアやソフトウエアの詳細設
計工程に進む前に最適なシステムアーキテクチャの設計
を可能にする。したがって、本発明の評価法は、高速な
データ処理が可能となるデータ処理装置の最適化を確実
に行うことができ、かつ、迅速化できるものとなってい
る。
【0071】また、上記方法では、従来手法と比較して
以下の利点も有する。
【0072】1) 図15に示すようにオブジェクトプロ
グラムを生成して評価する従来手法に比べ、コンパイラ
の影響がないため、アーキテクチャ設計そのものの評価
が可能である。
【0073】2) アーキテクチャ設計の途中段階から評
価を行うことができるため、設計の速い段階から利用で
きる。
【0074】3) コンパイラによるオブジェクトプログ
ラムの生成を省くことができるので、複雑なアーキテク
チャでも高速に評価できる。
【0075】
【発明の効果】本発明の請求項1記載のデータ処理装置
のアーキテクチャ評価方法は、以上のように、システム
分割によって設定されたハードウエア構成が最大限並列
に動作できるように、アプリケーションプログラムにお
ける分枝の発生が回避されたプログラム部分である各基
本ブロックをデータ転送経路を考慮してスケジューリン
グすることにより上記各基本ブロックの処理ステップ数
をそれぞれ算出し、かつ、要求仕様に対応した典型的な
入力データを用いて上記ハードウエア構成の動作をシミ
ュレートして、上記各基本ブロックの実行数をそれぞれ
算出することにより、上記各処理ステップ数と上記各実
行数とからハードウエア構成を評価する方法である。
【0076】それゆえ、上記方法は、要求仕様に応じた
システム分割によってハードウエア構成およびそれに準
じてデータ処理プログラムが設計され、ハードウエア構
成の各構成が最大限並列に動作できるようにスケジュー
リングすることにより上記ハードウエア構成を評価でき
るので、ハードウエア構成が得られた段階にて、上記ハ
ードウエア構成の評価を行うことができる。
【0077】このため、上記方法では、命令セット設計
によるアーキテクチャ評価への影響や、従来のようなコ
ンパイラの影響を排除したアーキテクチャ評価を、シス
テム分割を行った段階にて可能となるので、ハードウエ
ア構成の最適化を迅速化できることから、得られるデー
タ処理装置の最適化の手間を軽減できるという効果を奏
する。
【0078】本発明の請求項2記載のデータ処理装置の
アーキテクチャ評価方法は、請求項1記載のデータ処理
装置のアーキテクチャ評価方法において、さらに、ハー
ドウエア構成に制御装置設計や命令セット設計による並
列化不可能な演算や転送、制御の組み合わせを並列制約
情報として付加し、続いて、上記並列制約情報も考慮し
てスケジューリングする方法である。
【0079】それゆえ、上記方法は、さらに、ハードウ
エア構成に対し命令セットによる並列制約情報を加えて
ハードウエア構成を評価することにより、例えば制御装
置設計や命令セット設計によるアーキテクチャ評価に対
する影響が考慮可能であるので、システム分割を予め評
価しておけば上記命令セット等の評価も正確に行うこと
ができる。
【0080】そのため、上記方法では、アーキテクチャ
設計の各設計段階におけるアーキテクチャ評価がそれぞ
れ正確に可能となるので、アーキテクチャ設計工程にお
けるそれぞれの工程の最適化が、各段階での各評価結果
をフィードバックすることでそれぞれ可能になるので、
得られるデータ処理装置の最適化の手間をさらに軽減で
きるという効果を奏する。
【図面の簡単な説明】
【図1】本発明のデータ処理装置のアーキテクチャ評価
方法の手順を示すフローチャートである。
【図2】上記データ処理装置のハードウエア構成のブロ
ック図である。
【図3】上記ハードウエア構成のデータの流れを示す概
略図である。
【図4】上記データ処理装置に対するアプリケーション
プログラムの例を示す説明図である。
【図5】上記アプリケーションプログラムに対応するデ
ータフローグラフを示す説明図である。
【図6】上記データフローグラフに対し、上記ハードウ
エア構成における入出力レジスタをさらに考慮した他の
データフローグラフを示す説明図である。
【図7】上記の他のデータフローグラフに対し、上記ハ
ードウエア構成における転送経路であるBUSを考慮し
たさらに他のデータフローグラフを示す説明図である。
【図8】上記のさらに他のデータフローグラフに対し、
スケジューリングを行った結果を示す説明図である。
【図9】上記アプリケーションプログラムのプログラム
動的解析結果を示す説明図である。
【図10】上記データ処理装置の設計手順を示すフロー
チャートである。
【図11】上記アーキテクチャ評価方法の効果を示す説
明図である。
【図12】従来のアーキテクチャ評価方法を示す説明図
である。
【図13】従来のプログラム制御方式のデータ処理装置
の説明図である。
【図14】上記データ処理装置における命令セットの並
列性を示す説明図である。
【図15】上記データ処理装置のアーキテクチャ評価の
手順を示すフローチャートであり、従来方法における評
価段階と、本願発明の方法における評価段階を示すもの
である。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/60 672Z

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】システム分割工程で決定された演算装置、
    記憶装置およびそれらを用いてデータ処理するためのデ
    ータ転送経路とからなるハードウエア構成を、ステップ
    数解析のためにモデル化する第1ステップと、 データ処理の要求仕様であるアプリケーションプログラ
    ムを、分枝の発生が回避されたプログラム部分である各
    基本ブロックまで分割する第2ステップと、 ハードウエア構成の各構成が最大限並列に動作できるよ
    うに上記各基本ブロックをデータ転送経路を考慮してス
    ケジューリングすることにより上記各基本ブロックの処
    理ステップ数をそれぞれ算出する第3ステップと、 要求仕様に対応した典型的な入力データを用いて上記ハ
    ードウエア構成の動作をシミュレートして、上記各基本
    ブロックの実行数をそれぞれ算出する第4ステップと、 上記各処理ステップ数と上記各実行数とからハードウエ
    ア構成を評価する第5ステップとを含むことを特徴とす
    るデータ処理装置のアーキテクチャ評価方法。
  2. 【請求項2】請求項1記載のデータ処理装置のアーキテ
    クチャ評価方法において、 さらに、第1ステップでは、ハードウエア構成に制御装
    置設計や命令セット設計による並列化不可能な演算や転
    送、制御の組み合わせを並列制約情報として付加し、 第3ステップでは、上記並列制約情報も考慮してスケジ
    ューリングすることを特徴とするデータ処理装置のアー
    キテクチャ評価方法。
JP7143762A 1995-06-09 1995-06-09 データ処理装置のアーキテクチャ評価方法 Pending JPH0916642A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7143762A JPH0916642A (ja) 1995-06-09 1995-06-09 データ処理装置のアーキテクチャ評価方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7143762A JPH0916642A (ja) 1995-06-09 1995-06-09 データ処理装置のアーキテクチャ評価方法

Publications (1)

Publication Number Publication Date
JPH0916642A true JPH0916642A (ja) 1997-01-17

Family

ID=15346438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7143762A Pending JPH0916642A (ja) 1995-06-09 1995-06-09 データ処理装置のアーキテクチャ評価方法

Country Status (1)

Country Link
JP (1) JPH0916642A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513146B1 (en) 1999-11-16 2003-01-28 Matsushita Electric Industrial Co., Ltd. Method of designing semiconductor integrated circuit device, method of analyzing power consumption of circuit and apparatus for analyzing power consumption
JP2006505056A (ja) * 2002-10-31 2006-02-09 エス・アール・シィ・コンピューターズ・インコーポレイテッド 制御フローグラフ表現を制御データフローグラフ表現に変換するためのシステムおよび方法
JP2009157909A (ja) * 2007-12-05 2009-07-16 Fujitsu Ltd 消費電力見積プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、消費電力見積装置、および消費電力見積方法
WO2023128357A1 (ko) * 2021-12-29 2023-07-06 한국과학기술원 소프트웨어 기반의 개별분리 아키텍처 시스템 시뮬레이터 및 그의 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513146B1 (en) 1999-11-16 2003-01-28 Matsushita Electric Industrial Co., Ltd. Method of designing semiconductor integrated circuit device, method of analyzing power consumption of circuit and apparatus for analyzing power consumption
JP2006505056A (ja) * 2002-10-31 2006-02-09 エス・アール・シィ・コンピューターズ・インコーポレイテッド 制御フローグラフ表現を制御データフローグラフ表現に変換するためのシステムおよび方法
JP2009157909A (ja) * 2007-12-05 2009-07-16 Fujitsu Ltd 消費電力見積プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、消費電力見積装置、および消費電力見積方法
WO2023128357A1 (ko) * 2021-12-29 2023-07-06 한국과학기술원 소프트웨어 기반의 개별분리 아키텍처 시스템 시뮬레이터 및 그의 방법

Similar Documents

Publication Publication Date Title
US20030171907A1 (en) Methods and Apparatus for Optimizing Applications on Configurable Processors
US9087166B2 (en) Simulation using parallel processors
US6493863B1 (en) Method of designing semiconductor integrated circuit
JP4619606B2 (ja) 構成可能なプロセッサを設計する自動化されたプロセッサ生成システムおよびその方法
US8527972B2 (en) Method for forming a parallel processing system
US7076416B2 (en) Method and apparatus for evaluating logic states of design nodes for cycle-based simulation
WO2022068124A1 (zh) 一种可重构阵列处理器的指令调度系统及方法
US8990767B2 (en) Parallelization method, system and program
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
US11860227B2 (en) Machine learning delay estimation for emulation systems
US20230120227A1 (en) Method and apparatus having a scalable architecture for neural networks
US20050187750A1 (en) Data processing device designing method, data processing device designing apparatus, program and computer readable information recording medium
US9218317B2 (en) Parallelization method, system, and program
CN110210046B (zh) 应用程序及专用指令集处理器一体化敏捷设计方法
JPH0916642A (ja) データ処理装置のアーキテクチャ評価方法
Lopes et al. Generating optimized multicore accelerator architectures
Chen et al. Learning-oriented property decomposition for automated generation of directed tests
Xu et al. Design space exploration of heterogeneous MPSoCs with variable number of hardware accelerators
Garanina et al. Model Checking Meets Auto-Tuning of High-Performance Programs
Callanan et al. Estimating stream application performance in early-stage system design
Lang et al. A modeling approach and design tool for pipelined central processors
US11615225B2 (en) Logic simulation of circuit designs using on-the-fly bit reduction for constraint solving
JPH09167144A (ja) プログラム作成方法およびプログラム作成システム
Schwarz et al. Cycle-accurate software modeling for RTL verification of embedded systems
Kupriyanov et al. Automatic and optimized generation of compiled high-speed rtl simulators