(57)【要約】【課題】  ハザードの発生を充分防ぐことが可能なプロセッサを設計でき、しかもこの設計にかかる処理が簡易かつ効率的に行えるプロセッサ設計支援装置を提供する。【解決手段】  設計対象のパイプラインプロセッサにおいて実行される命令の各ステージにおける動作の定義を支援する設計支援装置を構成するにあたり、命令に含まれる複数の動作要素のうちの同一ステージにおいて同一のハードウェアリソースを占有するもの同士を汎用コンピュータのプロセッサ１０２で対応付け、主記憶装置１０６においてポリシーとして管理する。【選択図】  図１
2006119694.tif 000002
【特許請求の範囲】
【請求項１】
設計対象のパイプラインプロセッサにおいて実行される命令の各ステージにおける動作の定義を支援する設計支援装置であって、
前記命令が複数の動作要素を含み、同一ステージにおいて同一のハードウェアリソースを占有する動作要素同士の対応付けをポリシーとして管理するポリシー管理手段を備えることを特徴とするプロセッサ設計支援装置。
【請求項２】
前記命令のいずれかにおける動作要素を実行するステージが変更された場合、前記ポリシー管理手段によって管理されているポリシーで対応付けられた他の動作要素を実行するステージを同様に変更するステージ変更手段をさらに備えることを特徴とする請求項１に記載のプロセッサ設計支援装置。
【請求項３】
パイプラインプロセッサにおいて実行される命令の各ステージにおける動作の定義を支援する設計支援プログラムであって、
前記命令が複数の動作要素を含み、同一ステージにおいて同一のハードウェアリソースを占有する動作要素同士の対応付けをポリシーとして管理するポリシー管理機能と、
をコンピュータに実行させることを特徴とするプロセッサ設計支援プログラム。
【請求項４】
前記命令のいずれかにおける動作要素を実行するステージが変更された場合、前記ポリシー管理手段によって管理されているポリシーで対応付けられた他の動作要素を実行するステージを同様に変更するステージ変更機能をさらに含むことを特徴とする請求項３に記載のプロセッサ設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ設計支援装置及びプロセッサ設計支援プログラムに関する。
【背景技術】
【０００２】
現在、組込みシステムにおいて、特定の用途に向けて開発されたプロセッサが多く用いられている。このようなプロセッサは、ＡＳＩＰ（Application Specific Instruction set Processor）と呼ばれ、特定のアプリケーションに機能を特化することによって汎用的なプロセッサに比べてプロセッサの面積を削減し、処理効率を向上させることができる。
また、近年では、ハードウェアリソースのパラメータ、命令セット、各命令におけるマイクロ動作を記述するだけでＡＳＩＰが自動的に設計できるシステム（設計支援ツール）が開発されている。設計支援ツールの開発により、ＡＳＩＰの開発に係る困難性が軽減されるとともに、開発コストが低廉化する。
【０００３】
ＡＳＩＰの設計支援ツールとしては、例えば、大阪大学で開発されたＡＳＩＰ  Ｍｅｉｓｔｅｒがある（非特許文献１）。このＡＳＩＰ  Ｍｅｉｓｔｅｒは、ＲＩＳＣ（Reduced Instruction Set Computer）プロセッサの設計支援ツールである。ＡＳＩＰ  Ｍｅｉｓｔｅｒによれば、ハードウェアリソースや命令セットなどをパラメータとして定義することによって自動的にプロセッサのＨＤＬ（Hardware Description Language）だけでなく、アセンブラやコンパイラ、ＩＳＳ（Instruction Set Simulator）などを生成することができる。
【０００４】
ところで、ＡＳＩＰの設計支援ツールでは、プロセッサの設計にレジスタや演算器などのハードウェアリソースを定義することが必要である。また、命令デコーダの作成のためには命令セットの定義が必要となる。さらに、命令の内容（動作）を記述するマイクロ動作記述（Micro Operation Description）が必要になる。マイクロ動作記述に関する従来技術としては、例えば、特許文献１に記載された発明がある。
【０００５】
特許文献１の発明は、特にパイプライン制御に関するものであり、ハザードを起こすことがない命令動作を実現することを目的にしている。
ＡＳＩＰ  Ｍｅｉｓｔｅｒや特許文献１のマイクロ動作記述を実現するツール等では、アプリケーションに特化された命令の動作記述を行う際、あるハードウェアリソースの動作記述をどのステージで行うかに試行錯誤を要する場合がある。すなわち、ＡＳＩＰのように特定用途向けとして開発されたプロセッサでは、例えばＲ３０００のような基本的なプロセッサにないハードウェアリソースを用いたとき、このハードウェアリソースをどのステージで扱う（リードまたはライトするか）を決定することが必要になる。
【０００６】
特許文献１の発明では、ポリシーの決定にあたり、ハードウェアリソースが衝突することによってハザードが起きる全ての命令パターンを抽出する。そして、抽出された結果に基づいて、各パイプラインステージでの処理を進行させる、あるいは停止させる理論を自動的に生成している。
【非特許文献１】http://aoba.ics.es.osaka-u.ac.jp/eda-meister/asip-meister/
【特許文献１】特開平６−６０１４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記した特許文献１の発明は、ハザードが起きる全ての命令パターンを抽出する処理の処理量が大量で処理にかかる負荷が大きいという不具合がある。また、このような負荷の大きい処理を行った場合にも、プロセッサのハードウェアリソースや命令セット、マイクロ動作記述全てユーザが定義する場合、ハザードがまったく起きない論理を生成することは困難であり、適切な妥協点を見出してパイプライン処理の論理を構成することが必要となる場合も多い。
【０００８】
なお、適切な妥協点とは、例えば、あるパターンの命令の処理時においてハザードは発生するものの、処理全般にかかる時間が短時間ですむといった観点から論理を生成することをいう。
本発明は、上記した点に鑑みてなされたものであり、ハザードの発生を充分防ぐことが可能なプロセッサを設計でき、しかもこの設計にかかる処理が簡易かつ効率的に行えるプロセッサ設計支援装置及び設計支援プログラムを提供するものとする。
【課題を解決するための手段】
【０００９】
以上の課題を解決するため、本発明は、設計対象のパイプラインプロセッサにおいて実行される命令の各ステージにおける動作の定義を支援するプロセッサ設計支援装置であって、前記命令が複数の動作要素を含み、同一ステージにおいて同一のハードウェアリソースを占有する動作要素同士の対応付けをポリシーとして管理するポリシー管理手段を備えることを特徴とする。
【００１０】
このような発明によれば、命令に含まれる複数の動作要素同士を同一ステージにおいて同一のハードウェアリソースを占有するものごとに管理することができる。このため、同一ステージにおいて同一のハードウェアリソースを占有する動作要素同士を命令に関わらず対応付けて管理することができる。このため、１つの命令で動作要素を操作したとき、この動作要素に対応付けられる他の命令の動作要素をポリシーによって一括して検出し、対応して操作することができる。このような発明で動作要素をハザード防止のために操作した場合、ハザードの発生を充分防ぐことが可能なプロセッサを設計でき、プロセッサの設計にかかる処理が簡易かつ効率的に行えるプロセッサ設計支援装置を提供することができる。
【００１１】
また、本発明のプロセッサ設計支援装置は、前記命令のいずれかにおける動作要素を実行するステージが変更された場合、前記ポリシー管理手段によって管理されているポリシーで対応付けられた他の動作要素を実行するステージを同様に変更するステージ変更手段をさらに備えることを特徴とする。
このような発明によれば、設計対象となるプロセッサにおけるハザードの発生を防ぐために動作要素のステージを移動させたとき、この移動に伴って他の命令の動作要素を一括して移動させることができる。したがって、ハザードの発生を充分防ぐことが可能なプロセッサを設計でき、プロセッサの設計にかかる処理が簡易かつ効率的に行えるプロセッサ設計支援装置を提供することができる。
【００１２】
また、本発明のプロセッサ設計支援プログラムは、パイプラインプロセッサにおいて実行される命令の各ステージにおける動作の定義を支援する設計支援プログラムであって、前記命令が複数の動作要素を含み、同一ステージにおいて同一のハードウェアリソースを占有する動作要素同士の対応付けをポリシーとして管理するポリシー管理機能と、をコンピュータに実行させることを特徴とする。
【００１３】
このような発明によれば、命令に含まれる複数の動作要素同士を同一ステージにおいて同一のハードウェアリソースを占有するものごとに管理することができる。このため、同一ステージにおいて同一のハードウェアリソースを占有する動作要素同士を命令に関わらず対応付けて管理することができる。このため、１つの命令で動作要素を操作したとき、この動作要素に対応付けられる他の命令の動作要素をポリシーによって一括して検出し、対応して操作することができる。このような発明で動作要素をハザード防止のために操作した場合、ハザードの発生を充分防ぐことが可能なプロセッサを設計でき、プロセッサの設計にかかる処理が簡易かつ効率的に行えるプロセッサ設計支プログラムを提供することができる。
【００１４】
また、本発明のプロセッサ設計支援プログラムは、前記命令のいずれかにおける動作要素を実行するステージが変更された場合、前記ポリシー管理手段によって管理されているポリシーで対応付けられた他の動作要素を実行するステージを同様に変更するステージ変更機能をさらに含むことを特徴とする。
このような発明によれば、設計対象となるプロセッサにおけるハザードの発生を防ぐために動作要素のステージを移動させたとき、この移動に伴って他の命令の動作要素を一括して移動させることができる。したがって、ハザードの発生を充分防ぐことが可能なプロセッサを設計でき、プロセッサの設計にかかる処理が簡易かつ効率的に行えるプロセッサ設計支援プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図を参照して本発明に係る一実施形態のプロセッサ設計支援装置（以下、単に設計支援装置とも記す）を説明する。図１は、本実施形態の設計支援装置のブロック図である。本実施形態の設計支援装置は、パイプラインプロセッサの設計を支援するものとする。なお、パイプラインとは、コンピュータの高速化に使用する重複オペレーティングサイクル機能である。パイプライン化によって、一つの命令が終わる前に次の命令を始めることができ、複数の動作を並列的に実行することが可能になる。
【００１６】
図示したプロセッサ設計支援装置は、汎用的なコンピュータを使って構成されている。このコンピュータは、コンピュータを統括的に制御するプロセッサ１０２と、プロセッサ１０２に使用されるデータやプログラム等が記憶されていると共に、プロセッサ１０２による演算処理の結果が記憶される主記憶装置１０６と、コンピュータにプログラム等のデータを読み込ませる、あるいはコンピュータからデータを抽出する補助記録装置１０４とからなる本体１０３を有する。
【００１７】
さらに、コンピュータは、本体１０３をオペレータが操作するための入力装置１０５と、入力の結果等を表示させるためのモニタ１０１とを備えている。入力装置１０５としては、モニタ上をタッチして指示を入力するためのタッチペン、あるいはキーボード等が用いられる。また、モニタ１０１には、液晶等を用いたディスプレイ画面が用いられる。
このようなコンピュータは、コンピュータのＯＳ上のアプリケーションとしてプロセッサ設計支援プログラムを動作させ、設計支援装置として動作する。
【００１８】
また、本実施形態の設計支援装置は、設計対象のパイプラインプロセッサにおいて実行される命令の各ステージにおける動作の定義（マイクロ動作記述）を支援することによってパイプラインプロセッサの設計を支援する設計支援装置である。
すなわち、パイプラインプロセッサにおいて実行される命令は、複数の動作要素を含む。本実施形態では、動作要素とは、例えば、命令をＧＰＲ（General Purpose Register）からデータを読み込むＲｅａｄＧＰＲ等の単位に分割した要素をいい、以降ファンクションとも記す。
【００１９】
また、本実施形態の設計支援装置では、プロセッサ１０２及び主記憶装置１０６がポリシー管理手段として機能する。この構成においては、特にプロセッサ１０２が同一ステージにおいて同一のハードウェアリソースを占有するファンクション同士を対応付け、主記憶装置１０６がポリシーとして管理するものとする。
さらに、プロセッサ１０２及び主記憶装置１０６は、設計対象のプロセッサで実行される命令のいずれかにおけるファンクションを実行するステージが変更された場合、管理されているポリシーで対応付けられた他のファンクションを実行するステージを同様に変更するステージ変更手段としても機能する。
【００２０】
ポリシーは、パイプラインプロセッサの命令フェッチ（ＩＦ）やデコード（ＩＤ）といったステージにおいて同一のハードウェアリソースを占有するファンクション同士の対応付けである。なお、ハードウェアリソースとしては、例えばレジスタが挙げられる。図２は、ポリシーの概念を示すための模式図である。本実施形態のポリシーは、各ステージと、ステージで使用されるハードウェアリソースと、このハードウェアリソースを占有するファンクションとを対応付けている。
【００２１】
図３は、プロセッサを自動的に設計するための一連の処理（自動設計処理）について説明するための図である。図３によれば、プロセッサの自動設計処理は、基本仕様入力処理（Ｓ２０１）、リソース定義処理（Ｓ２０２）、命令セット定義処理（Ｓ２０３）、マイクロ動作記述処理（Ｓ２０４）、パラメータファイル生成処理（Ｓ２０５）、ＨＤＬ・ＳｙｓｔｅｍＣ記述処理（Ｓ２０６）６つの処理に大別される。本実施形態の設計支援装置は、上記した処理のうちのマイクロ動作記述処理（Ｓ２０４）を行うことによって設計を支援するものである。
【００２２】
すなわち、本実施形態の自動設計処理は、コンピュータシステムを使ったオペレータの操作による一連の処理として行われる。この一連の処理では、先ず、プロセッサのパイプライン段数、命令ビット長、データビット長などが入力される（基本仕様入力処理：Ｓ２０１）。次に、プロセッサに使用されるレジスタのビット数、レジスタファイルの個数や各々のビット数やポート数が定義される（リソース定義処理：Ｓ２０２）。
【００２３】
さらに、命令セットとして、命令の名称やビットアサイン、命令に含まれるオペランドの個数、種類、アドレッシングモードを定義する（命令セット定義処理：Ｓ２０３）。本実施形態の設計支援装置及び設計支援プログラムは、命令セットの定義後、命令セット定義でされた命令が各ステージで行う動作を記述する（マイクロ動作記述処理：Ｓ２０４）。記述に使用される言語については特に定めるものではないが、ハードウェア記述言語（ＨＤＬ：Hardware Description Language）に近い言語が望ましい。本実施形態にかかる動作の定義は、マイクロ動作記述処理において実行されるものである。
【００２４】
以上の処理によってプロセッサの処理の仕様が決定する。自動設計処理では、次に、決定した仕様からパラメータをまとめてファイル化することによってパラメータファイルを作成する（パラメータ作成処理：Ｓ２０５）。そして、このパラメータファイルから決定したプロセッサ全体の回路をＨＤＬやＳｙｓｔｅｍＣによって記述したデータを生成する（ＨＤＬ・ＳｙｓｔｅｍＣ記述処理：Ｓ２０６）。尚、パラメータ作成処理（S２０５）から直接HDL・ＳｙｓｔｅｍＣ記述処理（S２０６）を行なっても良い。
【００２５】
図４は、マイクロ動作記述のために表示される画面（マイクロ動作記述画面）を示した図である。図示したマイクロ動作記述画面は、テキストボックス３０３と、テキストボックス３０３に対応するビュー３０５を有している。また、グローバル変数を記述するテキストボックス３０９及びテキストボックス３０９に対応するビュー３１１、テキストボックス３０２ａないし３０２ｅと、テキストボックス３０２ａないし３０２ｅの各々に対応するビュー３０４ａないし３０４ｅとを有している。
【００２６】
テキストボックス３０３は、命令セット定義処理２０３においてユーザが定義した命令の名称（Lｄ：LoaD命令、Ｓｔ：STore命令等）が表示されている。図示した例では、ａｄｄ命令が選択されていて、このマイクロ動作記述画面がａｄｄ命令のものであることを示している。ビュー３０５には、テキストボックス３０３で選択された命令のビットフィールドやオペレータによって記述されたコメントが表示される。
【００２７】
図示した例では、ａｄｄ命令の構造が示されていて、ａｄｄ命令の先頭には命令体系（ｃｌａｓｓ）を示すデータがあり、続いてオペランドが示されている。本実施形態のａｄｄ命令は、２オペランド方式であって、ｏｐ１とｏｐ２とがある。さらに、ａｄｄ命令は、加算される値がＧＰＲから読み出される範囲ｒｄ、ｒｓを特定するデータを含み、ｒｄから読み出された値とｒｓから読み出された値とを加算してｒｄに書き戻すものであることが分かる。
【００２８】
また、テキストボックス３０２ａ〜３０２ｅ及びビュー３０４ａ〜３０４ｅは、各々が特定のステージに対応している。すなわち、テキストボックス３０２ａ及びビュー３０４ａは命令フェッチ（ＩＦ）のステージに対応し、テキストボックス３０２ｂ及びビュー３０４ｂは命令デコード（ＩＤ）のステージに対応する。また、テキストボックス３０２ｃ及びビュー３０４ｃは命令実行（ＥＸＥ）のステージに、テキストボックス３０２ｄ及びビュー３０４ｄはオペランドフェッチ（ＭＥＭ）のステージに、テキストボックス３０２ｅ及びビュー３０４ｅはライトバック（ＷＢ）のステージにそれぞれ対応している。
【００２９】
ビュー３０４ａ〜３０４ｅには、対応するテキストボックス３０２ａ〜３０２ｅにおいて行われる動作が表示される。図示した例では、ａｄｄ命令において、ＩＤステージでＧＰＲの読み込みを行い、ＥＸＥステージでＰＳＲ（Processor Status Register）へ書き込む動作を記述している。
さらに、テキストボックス３０１及びビュー３０７は、このような各ステージで行われる命令を調整するためのポリシーを設定するものである。ビュー３０７には、ＧＰＲからの読み出し（ＲｅａｄＧＰＲ；）やＰＳＲへの書き込み（ＷｒｉｔｅＰＳＲ；）といった動作を設定するファンクションが表示されている。
本実施形態の設計支援装置は、テキストボックス３０１及びビュー３０７を使って特定の動作にポリシーを付し、ポリシーが付された動作をオペレータが選択した任意のステージで行われるよう一括して設定するものである。
【００３０】
次に、以上述べた構成におけるポリシー付けの操作を説明する。オペレータは、例えばファンクションのうち「ＲｅａｄＧＰＲ；」の文字上でクリックすることによって図５に示すＧＰＲの読み込みのファンクションにポリシー付けをするポリシー記述画面を開くことができる。図５の画面において、オペレータは、Ｓｔａｇｅの欄でＲｅａｄＧＰＲのファンクションを実行させたいステージを選択する。
【００３１】
図５に示した例では、ＩＤステージが選択されており、ＩＤステージの選択によって図３に示したビュー３０４ｂにＲｅａｄＧＰＲのファンクションが自動的に表示される。この表示は、例えば赤によってなされ、このファンクションがポリシーを使って設定されたものであることを示す。ポリシーを使って設定されたファンクションは、基本的に以降の書き換えが禁止される。
【００３２】
また、図４に示したビュー３０７の「ＷｒｉｔｅＰＳＲ；」上でオペレータがクリックすることにより、図６に示した画面を開くことができる。図６に示した画面は、プロセッサステータスレジスタの書き込みのファンクションにポリシー付けをするポリシー記述画面である。図６の画面において、オペレータは、Ｓｔａｇｅの欄でＷｒｉｔｅＰＳＲのファンクションを実行させたいステージを選択する。
【００３３】
図６に示した例では、ＥＸＥステージが選択されており、ＩＤステージの選択によって図４に示したビュー３０４ｃにＷｒｉｔｅＰＳＲのファンクションが自動的に表示される。
ところで、パイプラインプロセッサは、ＩＦ、ＩＤ等のステージを同じタイミングで繰り返す命令を並列に実行すると共に、各命令の開始タイミングをずらすことによって各ステージで使用されるハードウェアリソースが競合することを防いでいる。
【００３４】
このため、各命令で実行されるファンクションのうち命令に共通のファンクションであって、かつ同一のハードウェアリソースを使用するものは、基本的に同じステージで実行されなければハザードを起こすことになる。このため、１つの命令でファンクションのステージを移動した場合、他の命令についてもポリシーによって対応付けられるファンクションを移動されたファンクションと同じステージに移動させることが必要になる。
【００３５】
本実施形態によれば、ステージとハードウェアリソースとファンクションとをポリシーで対応付けているため、同様のポリシーが付されたファンクションを一括して移動されたファクションの移動先にあたるステージに移動させることができる。このため、他の命令についてもファンクションのステージを移動させる作業をなくし、オペレータにかかる設計支援の負荷を軽減することができる。
【００３６】
また、本実施形態は、自動的にファンクションのステージを移動させることによって移動にかかる時間を短縮することができる。さらに、ファンクションをより正確に移動させることができる。
したがって、以上述べた本実施形態の設計支援システムは、任意のファンクションを所望のステージに移動させて設計対象のプロセッサで起こるハザードを防ぐと共に、ステージ移動に伴う操作を簡易かつ効率的に行うことができる。
【００３７】
次に、図７ないし図９を用い、以上述べたポリシー付けの効果について説明する。なお、ハザードの原因はハードウェアリソースの競合ばかりではない。しかし、以下の説明では、説明の簡単のため、同一ステージにおけるハードウェアリソースとファンクションとの関係についてのみ述べるものとする。
図７は、命令に共通な動作記述と例外的な動作記述について説明するための図である。図示した例では、命令Ａから命令Ｄの４つの命令が３つの動作ステージ（ＳＴＡＧＥ１、ＳＴＡＧＥ２、ＳＴＡＧＥ３）によって行われているものとする。また、各命令は、例えば「ａｄｄ％ｒ０，％ｒ１」のように２オペランド方式であって、あるレジスタで％ｒ０のレジスタ及び％ｒ１のレジスタの内容をリードすることが必要である。
【００３８】
図７では、上記した動作を実行するステージと、このステージで動作に使用されるハードウェアリソースのファンクション（リソースファンクションと記す）とを対応付けて示している。図中に記したリソースファンクションのうち、リソースファンクション１、リソースファンクション２は、命令Ａから命令Ｄのいずれにおいてもステージ１で実行される。このように全ての命令で同じステージで行われる動作を共通な動作という。
【００３９】
一方、リソースファンクション３は、命令Ａにおいてのみステージ３で実行される。また、リソースファンクション４は、命令Ｄにおいてのみステージ２で実行される。このように命令に共通でないリソースファンクションを例外的な動作と本実施形態ではいう。また、この説明において、すべてのリソースファンクションは、同一のハードウェアリソースを使って実行されるものとする（例えばＧＰＲからの読み出し動作等）。なお、本実施形態のリソースファンクション１とリソースファンクション２とは、同じハードウェアリソースを占有するものの、読み出すポートの違い等によって同じステージで実行されてもハザードを起こさないものとする。
【００４０】
このような状態において、ハードウェアリソースのハザードを避ける等のため、すべての命令でリソースファンクション１及びリソースファンクション２をステージ２に移動させる必要が生じた場合、本実施形態の設計支援装置は、マイクロ動作記述画面上で前記した操作をすることによってリソースファンクション１、リソースファンクション２のみをステージ２に移動させることができる。
【００４１】
図８（ａ）、（ｂ）、（ｃ）は、図７においてリソースファンクション１、リソースファンクション２のみをステージ２に移動させる操作を説明するための図である。（ａ）は、マイクロ動作記述画面のポリシーのテキストボックス及びビューを示している。また、（ｂ）、（ｃ）は、いずれもリソースファンクション１及びリソースファンクション２をクリックして開かれるポリシー記述画面を示している。
【００４２】
リソースファンクション１、リソースファンクション２を移動させる操作は、図８（ａ）に示した命令Ａにおいて、マイクロ動作記述画面のポリシーの欄でリソースファンクション１をクリックする。この操作により、（ｂ）に示す画面を開き、Ｓｔａｇｅの欄においてステージ２を選択する。また、オペレータは、マイクロ動作記述画面に戻り、ポリシーの欄でリソースファンクション２をクリックする。この操作により、（ｃ）に示す画面を開き、Ｓｔａｇｅの欄においてステージ２を選択する。
【００４３】
このような操作により、全ての命令でリソースファンクション１及びリソースファンクション２がステージ２に移動する。この状態を図９に示す。
図１０は、図９に示した本実施形態の効果と比較するために示した図であって、従来の設計支援装置の動作を示した図である。従来の設計支援装置では、各命令で一括してリソースファンクションを他のステージに移動させる場合、ステージ１の記述を変更し、ステージ２にテキスト置換する、あるいは一括移動コマンドを用いる。
【００４４】
このようにした場合、リソースファンクション１、リソースファンクション２と共に、同一のリソースを扱うものの他のステージにあって競合しないリソースファンクション３、リソースファンクション４までもステージ２に移動するという不具合が生じる。
したがって、以上述べた本実施形態は、ハザードの発生を充分防ぐことが可能なプロセッサを設計でき、しかもリソースファンクションのステージの変更処理を簡易、かつ確実に行うことができる。さらに、本実施形態は、所望のリソースファンクションのみを選択的にステージ移動させることができる点で従来よりも優れた効果を得ることができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態の設計支援装置のブロック図である。
【図２】本発明の一実施形態のポリシーの概念を示すための模式図である。
【図３】本発明の一実施形態のプロセッサを自動的に設計するための自動設計処理について説明するための図である。
【図４】本発明の一実施形態のマイクロ動作記述画面を示した図である。
【図５】図４に示したマイクロ動作記述画面から開かれるポリシー記述画面を示す図である。
【図６】図４に示したマイクロ動作記述画面から開かれる他のポリシー記述画面を示す図である。
【図７】本発明の一実施形態の命令に共通な動作記述と例外的な動作記述について説明するための図である。
【図８】図７に示したリソースファンクションのステージを移動させるための操作を説明するための図である。
【図９】図８に示した操作によって得られる結果を示した図である。
【図１０】図９に示した結果と比較される従来例を示した図である。
【符号の説明】
【００４６】
１０１  モニタ、１０２  プロセッサ、１０３  本体
１０４  補助記録装置、１０５  入力装置、１０６  主記憶装置
２０３  命令セット定義処理、３０１
３０１，３０２ａ〜３０２ｅ，３０３，３０９  テキストボックス
３０４ａ〜３０４ｅ，３０５，３０７，３１１  ビュー
【図１】
2006119694.tif 000003
【図２】
2006119694.tif 000004
【図３】
2006119694.tif 000005
【図４】
2006119694.tif 000006
【図５】
2006119694.tif 000007
【図６】
2006119694.tif 000008
【図７】
2006119694.tif 000009
【図８】
2006119694.tif 000010
【図９】
2006119694.tif 000011
【図１０】
2006119694.tif 000012