JP4105102B2 - パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法 - Google Patents

パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法 Download PDF

Info

Publication number
JP4105102B2
JP4105102B2 JP2004004590A JP2004004590A JP4105102B2 JP 4105102 B2 JP4105102 B2 JP 4105102B2 JP 2004004590 A JP2004004590 A JP 2004004590A JP 2004004590 A JP2004004590 A JP 2004004590A JP 4105102 B2 JP4105102 B2 JP 4105102B2
Authority
JP
Japan
Prior art keywords
pipeline processor
time
execution
memory access
execution cycle
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
JP2004004590A
Other languages
English (en)
Other versions
JP2005196677A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004004590A priority Critical patent/JP4105102B2/ja
Priority to US11/002,186 priority patent/US7308548B2/en
Publication of JP2005196677A publication Critical patent/JP2005196677A/ja
Application granted granted Critical
Publication of JP4105102B2 publication Critical patent/JP4105102B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、構成変更可能なパイプラインプロセッサを備えるシステムLSIの開発設計に利用される、コンピュータシステム上で動作する複数のソフトウエアから構成されるパイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法並びにパイプラインプロセッサに関する。
従来のシステムLSI生成装置は、システムLSIの開発設計に利用されるコンピュータシステム上で動作する複数のソフトウェアで構成し、システムLSIの開発設計に関わる可変項目定義情報に基づいてソフトウェアを動作させ、システムLSIのハードウェア記述、検証環境および開発設計ツールを生成するシステムLSI開発環境生成部を具備し、可変項目定義情報が、オプション命令情報、ユーザ定義モジュールおよびマルチプロセッサ構成に関する情報の少なくとも1つを含むプロセッサ生成装置が存在していた(例えば、特許文献1参照。)。
特開2002−230065号公報(第3頁4欄、第1図)
以上述べたプロセッサ生成装置を用いて内部メモリをシステムLSIに実装した場合、内部メモリにデータを記憶して命令を実行することはアプリケーションの処理速度向上に有効であり、より大容量の内部メモリが求められていた。
しかしながら、内部メモリの容量を増加させると、アドレスビットの増加に伴いメモリアクセス時間が増加し、パイプライン制御のプロセッサでは、パイプラインステージのサイクルタイム内にメモリアクセス動作が終了しないという課題が発生する。
このため、メモリアクセスステージ以降のパイプラインステージで正しいデータが得られずパイプラインプロセッサの正常動作が保証されないという問題があった。
この問題を解消するため、プロセッサのサイクルタイムを大きくすると、パイプライン処理のスループットが低下してプロセッサの性能が低下し、パイプライン制御回路の再設計を行うとコスト増加と開発時間が長期化することが多い。
そこで、内部メモリ容量を増大させると共に、高速なハードウェアリソースを増加させながら、パイプライン処理のストール増加を防止し、システムLSIの仕様を満足させるパイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法を提供することを目的とする。
上記目的を達成するために、本発明の第1の特徴は、例えば、パイプラインプロセッサの実行サイクル時間を算出する実行サイクル算出部と、パイプラインプロセッサに内蔵される内部メモリのメモリアクセス時間を算出するメモリアクセス時間算出部と、内部メモリのメモリアクセス時間がパイプラインプロセッサの1実行サイクル時間より長い場合、パイプラインプロセッサの実行サイクル時間の2以上の整数倍に再設定した内部メモリのメモリアクセス時間を記憶するコンフィグレーション記憶部と、を備えるパイプラインプロセッサ生成装置であることを要旨とする。
本発明の第2の特徴は、例えば、メモリアクセス時間算出部がパイプラインプロセッサに内蔵される内部メモリのメモリアクセス時間を算出するアクセス時間算出工程と、実行サイクル算出部がパイプラインプロセッサの実行サイクル時間を算出する実行サイクル算出工程と、システムLSI生成部が内部メモリのメモリアクセス時間がパイプラインプロセッサの1実行サイクル時間より長い場合、パイプラインプロセッサの実行サイクル時間の2以上の整数倍に再設定した内部メモリのメモリアクセス時間をコンフィグレーション記憶部に記憶する内部メモリアクセス時間算出工程と、を備えるパイプラインプロセッサ生成方法であることを要旨とする。
本発明によれば、内部メモリ容量を増大させると共に、高速なハードウェアリソースを増加させながら、パイプライン処理のストール増加を防止し、システムLSIの仕様を満足させるパイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法を提供するという、格別な効果を奏する。
以下、本発明の実施形態を図示例と共に説明する。図1から図7は、発明の実施形態であって、各図中に同一または類似の符号を付した部分は同一物または相当物を表わし、重複した説明は省略するものとする。
(第1の実施の形態)
図1は、本発明の第1の実施形態に係るプロセッサ生成装置40のブロック図である。プロセッサ生成装置40は、図中央の制御部48に接続された、実行サイクル算出部41、メモリアクセス時間算出部42、システムLSI生成部43、性能評価部45、終了判定部46、コンフィグレーション記憶部47、入出力インタフェイス部49を備える。
プロセッサ生成装置40は、内部に各種情報を入力するための入力部50とプロセッサ生成装置40からの各種情報を出力するための出力部51とに接続されている。ここで、入力部50の形態としては、例えば、キーボード、マウスポインタ、テンキー、タッチパネルを採用することができる。
また、出力部51の形態としては、例えば、ディスプレイ装置や印刷装置を採用することができる。
実行サイクル算出部41は、コンフィグレーション記憶部47に記憶したパイプラインプロセッサのオプション命令の有無に基づいて演算回路の最大演算処理時間と、コンフィグレーション記憶部47に記憶したコンフィグレーション情報に基づいてパイプラインプロセッサの実行サイクル時間と、を比較する。
比較結果に基づき実行サイクル時間として実現できる実行サイクルの中から短時間なサイクルを基準サイクル時間として算出する。
メモリアクセス時間算出部42は、パイプラインプロセッサに内蔵する内部メモリのメモリアクセス時間をメモリ容量から算出する。メモリ容量に基づきアクセス時間を算出するのは、内部メモリをアクセスするアドレスのビット数又はワード数が増加するため、メモリセルの選択時間が延長するからである。
システムLSI生成部43は、コンフィグレーションの可能な全ての組み合わせについて、システムLSIのハードウェア、検証環境および開発設計ツールを生成する。
また、システムLSI生成部43は、コンパイラを生成してC言語プログラムのアプリケーションをコンパイルすることができ、アセンブラを生成して、アプリケーションがアセンブリ言語で記述された場合でも、アセンブルの結果としてオブジェクトファイルを得ることができる。
システムLSI生成部43は、シミュレータを生成して、実行ファイルをシミュレートすることもできる。シミュレータは、シミュレーション結果を表示するだけでなく、シミュレート時に実行される命令を1つずつカウントすることで、アプリケーション全体の実行命令数を計測することができる。
さらに、システムLSI生成部43は、リンカー、デバッガを生成して、実行ファイルを修正することもできる。
システムLSI生成部43が、コンフィグレーションの可能な全ての組み合わせに対応したツールを生成し、ツール生成完了に応じてユーザはアプリケーションを実行させる。そして、アプリケーション実行後、性能評価部45が、アプリケーションの実行結果を読出して、アプリケーションの性能を評価する。
性能評価部45は、アプリケーションのコードサイズ、実行命令数、実行サイクル数、チップのゲートサイズおよび消費電力を見積ることができる。
システムLSI生成部43は、3つの実行ステージに跨ってメモリアクセスを実行するパイプラインプロセッサを生成することができる。
例えば、システムLSI生成部43は、実行ステージ数がPnの基本クロックサイクルで動作するパイプライン制御回路とバイパス回路などを含むプロセッサの設計情報を生成して出力部51に出力する共に、コンフィグレーション記憶部47にメモリアクセスステージのパイプライン段数としてPnの値「3」を書き込む。
性能評価部45は、アプリケーションのコードサイズを評価することができると共に、アプリケーション実行時のキャッシュミスの測定、実行される各命令のサイクル数の計測を行って、アプリケーション全体の正確なサイクル数を測定することができる。
また、性能評価部45は、アプリケーションプログラム内に実行命令数計測の開始点と終了点を意味する命令を記述することにより、アプリケーションプログラムの指定された2点間の実行命令数を測定することもできる。
性能評価部45は、実行サイクル数の測定を実行することもできる。例えば、区間指定の方法は実行命令数の場合と同様であり、プログラムの内側のフォアループの実行サイクル数を測定する場合、内側のフォアループの前後に開始(START)と終了(END)を書き加える。
性能評価部45は、システムLSI生成部43から出力されるRTL記述を読出して、市販ツールによって消費電力あるいは消費電力に換算可能な数値を抽出する。また、RTL記述を利用して、ゲートサイズあるいはゲートサイズに換算可能な数値を抽出する。
このように、ゲートサイズに関する情報を抽出することにより、最適なチップ面積を決定でき、LSI製造時のコストを抑えることにつながる。
なお、性能評価部45は、システムLSI生成部43が生成したRTL記述、コンパイラ、シミュレータ、検証環境を利用して、キャッシュのミス率(あるいはヒット率)を抽出することもできる。
終了判定部46は、性能評価部45による性能評価結果に基づいて、設計されたシステムLSIがユーザが予め設定した目標性能を満たしているか否かを判別する。
そして、目的性能を満たしていない場合には、コンフィグレーション記憶部47が、性能評価部45による評価結果に基づいて、次回以降の設定値を導出するように構成する。
コンフィグレーション記憶部47は、パイプラインプロセッサのオプション命令や、コンフィグレーション情報を記憶し、導出することができる。
制御部48は、入出力インタフェイス部49を通してユーザの指示に従って、プロセッサ生成装置40内の構成要素の制御を行う。
次に、プロセッサ生成装置40を用いたパイプラインプロセッサ生成処理について説明する。
ユーザは、始めに、キャッシュサイズ、演算装置の性能に関して最大のコンフィグレーションをプロセッサ生成装置40に対して入力する。コンフィグレーションが入力されると、プロセッサ生成装置40内のシステムLSI生成部43が、コンフィグレーションの可能な全ての組み合わせに対応したツールを生成し、ツール生成完了に応じてユーザはアプリケーションを実行させる。
次に、アプリケーション実行後、性能評価部45が、アプリケーションの実行結果を読出して、アプリケーションの性能を評価する。性能評価部45による性能評価が完了すると、終了判定部46が、最初のコンフィグレーションによる性能が所望の基準に達しているか否かを判別する。
性能が基準に達している場合には、性能を満足する最小のパイプラインプロセッサの構成を抽出し、検証環境およびドキュメントを入出力インタフェイス部49を通して出力部51に出力し、ユーザに確認させることができる。
ここで、出力部51に表示されるドキュメントには、指定されたコンフィグレーションを確認するための項目についての記述が含まれているものとする。
一方、性能が満足しない場合には、ユーザは、ユーザ定義のモジュールを設計し、開発ツール内に組み込み、ユーザ定義モジュールを利用するようにアプリケーションを書き換える。
そして、再びアプリケーションを実行し、書き換えたアプリケーションが所望の性能を満たしているか否かを判別する。
上述したプロセッサ生成装置40は、構成変更可能なパイプラインプロセッサを用いたシステムLSIの設計において、パイプラインプロセッサに内蔵する内部メモリのメモリアクセス時間をメモリサイズから算出する。
一方、パイプラインプロセッサのオプション命令の有無から求めた演算回路の最大演算処理時間とコンフィグレーション情報から得たプロセッサの実行サイクル時間と比較し実行サイクル時間として実現できるサイクル時間の中から短時間なサイクル時間を基準サイクル時間として選択する。
そして、メモリアクセス時間を基準サイクル時間で除算して小数点以下を切り上げた整数のPnを求め、内部メモリアクセスステージをPnのサイクル数で実行するパイプライン制御回路やバイパス回路を含むパイプラインプロセッサの設計情報をシステムLSI生成部43により生成することができる。
図1のブロック図及び図2のフローチャートを参照して、本発明の第1の実施形態に係るプロセッサ生成方法について説明をする。
設計者は、アルゴリズム記述処理ステップST1(以下、ステップを単に「ST」と略記する)で、C言語によるアプリケーションのプログラムを記述し、入力部50から入出力インタフェイス部49及び制御部48を経由してコンフィグレーション記憶部47に記憶させる。
次に、パイプラインプロセッサの性能判定処理ST2に進み、入力部50からパイプラインプロセッサの構成を選択し、システムLSI生成部43を動作させコンパイラ、シミュレータなどの設計ツールを生成する。
システムLSI生成部43で生成したコンパイラ、シミュレータを利用して、パイプラインプロセッサが所望の性能を達成したか否かを、パイプラインプロセッサの性能判定処理ST2で確認する。
判定結果が是(YES)のときは、実装処理ST7へ分岐しソフトウエアの微調整(チューニング)や、回路の高位合成処理を実行する。必要であれば、実装処理ST7で人手による微調整設計を追加してもよい。
一方、判定結果が非(NO)のときは、構成確認処理ST3に分岐し、評価すべきパイプラインプロセッサ構成の選択の組み合わせが完了したか出力部51でユーザが確認し、システムLSIの仕様をC言語で記述したソースプログラムの性能を評価する。
構成確認処理ST3の判定結果が非(NO)のときは、処理ST2へ復帰させパイプラインプロセッサの構成を他の構成に変更する。
構成確認処理ST3の判定結果が是(YES)のときは、内部メモリ容量増加処理ST4へ分岐し、システムLSI生成部43を動作させパイプラインプロセッサの構成を生成し、コンパイラ、シミュレータの設計ツールも生成する。
すべてのプロセッサの変更可能な組合せでシステムLSIを評価しても、システムLSIの性能が満足しない場合、処理ST4で内部メモリサイズ変更評価を実行する。
処理ST4では、構成要素の組み合わせの中で性能未達成であるが性能の優れたコンフィグレーションのプロセッサ(Pa)に対して、更に性能向上を図るために予め準備された内部メモリ容量を超えるメモリ容量を指定して性能評価を行う。
システムLSI生成部43で生成したコンパイラ、シミュレータを利用して、パイプラインプロセッサが容量を増大させた内部メモリをアクセスし、所望の性能に達成したか否かを、パイプラインプロセッサの性能判定処理ST4で確認する。
判定結果が是(YES)のときは、内部メモリ容量判定処理ST5へ分岐し所望の性能に達したパイプラインプロセッサの内部メモリ容量を判定する。この判定処理は、1実行サイクル又は複数の実行サイクルでアクセスできる内部メモリの上限容量以上であるか否かを判定する。
プログラムとして記述されたシステムLSIの処理性能が所望の性能を達成したときは、算出された内部メモリサイズが、パイプラインプロセッサのチップサイズの実装上の上限で決まるメモリサイズ、及びパイプラインプロセッサのチップコストから求められるチップサイズの上限で決まるメモリサイズと比較し、上限サイズより小さければ、実装処理ST7に移行する。
同様に、算出された内部メモリサイズが、上限サイズより大きければ、その内部メモリサイズを採用できないため、ソフトウェアのハードウェア化を検討する処理ST6に移行する。
プロセッサ生成装置40を用いれば、システムLSIをC言語でプログラム記述して設計を行う設計者が、プロセッサの変更可能な構成要素の組み合わせで性能評価をしてもシステムLSIの性能が満足できない場合に有効である。
例えば、ハードウェア化する回路のハードウェアに関する情報や知識が必要なソフトウェア及びハードウェアの機能分割化による設計に着手する前に、内部メモリ容量を増やして実効的なメモリアクセス速度を向上させたときのシステムLSIの性能評価を精度よく容易に行うことができ、設計開発期間が短縮できるという利点がある。
内部メモリ容量が上限以下と判定(YES)された場合は、実装処理ST7へ分岐するが、内部メモリ容量が上限を超えると判定(NO)されたときは、機能分割処理ST6へ分岐しシステムLSIを構成するハードウエア化部分を入力部50で選択する。
一方、パイプラインプロセッサの性能判定処理ST4の判定結果が非(NO)のときは、機能分割処理ST6へ分岐する。
ユーザは、機能分割処理ST6でシステムLSIのハードウエア部とソフトウエア部の機能分割を入力部50から指示し、システムLSI生成部43からコンパイラとシミュレータを生成し、システムLSIのソフトウエアプログラムをコンパイルしてから、シミュレーションする。
ユーザは、機能分割処理ST6で出力部51に表示されたシステムLSIのシミュレーション結果を見て、システムLSIが所望の性能に達成したか否かを判定することができる。判定結果が是(YES)のときは、実装処理ST7へ分岐し、判定結果が非(NO)の場合は、再設計処理ST8へ分岐してから処理ST2へ戻る。
再設計処理ST8は、システムLSIのアルゴリズム選択を含めてパイプラインプロセッサを再設計する処理である。
(第2の実施の形態)
図3(a)は、本発明の第2の実施形態に係るパイプラインプロセッサの実行ステージを示す図である。パイプラインプロセッサ10は、合計5段のステージ20からなるパイプライン構成で命令を実行する。
5段のステージ20は、第1のステージで命令をフェッチ12(IF)し、第2のステージで命令をデコード13(ID)し、第3のステージで命令を実行14(EXE)し、第4のステージでメモリアクセス17(MEM)し、第5のステージでレジスタライトバック15(WB)をするように構成する。
命令のフェッチ12(IF)のステージは、命令キャッシュメモリ18から命令をレジスタ処理11a経由で読込み、デコード13(ID)のステージで、フェッチ12した命令をレジスタ処理11b経由でデコード13し、汎用レジスタ19(Reg.File)からレジスタファイルを読出してレジスタ処理11cでレジスタに保存する。
ここで、レジスタ処理は、例えば、プロセッサを構成する演算論理回路(ALU)の演算結果を1マシンクロックの期間保持するステージや、命令キャッシュメモリ18からデータを1マシンクロックの期間保持するステージを意味する。
なお、命令キャッシュメモリ18の代替手段として、命令RAMから命令をフェッチ12してもよいことは勿論である。
引き続き、実行14(EXE)のステージは、デコード13の結果に従い命令を実行し実行結果をレジスタ処理11bでレジスタに保存する。
メモリアクセス17(MEM)のステージは、ロード命令、ストア命令の場合は、データキャッシュメモリやデータRAMにアクセスしてデータの読み書きを処理し結果をレジスタ処理11hでレジスタに保存する。
レジスタライトバック15(WB)のステージでは、レジスタ処理11eから命令実行結果を受取りレジスタ処理11i経由で汎用レジスタへ命令の実行結果を書き戻すように構成する。
一方、ロード命令やストア命令が実行される時は、メモリアクセス17(MEM)でアクセスするメモリのアドレス計算16(AC)のステージが実行14(EXE)のステージと並列して動作する。
アドレス計算16(AC)は、レジスタ処理11f経由で命令を受け取り、アドレス算結果をレジスタ処理11gによりレジスタに保存する。
また、レジスタライトバック15(WB)のステージでは、レジスタ処理11hからメモリアクセス結果を受取りレジスタ処理11i経由で汎用レジスタへメモリアクセス結果を書き戻すように構成する。
5段のステージ20からなるパイプライン構成は、後続のパイプラインの命令実行の際に、命令実行結果Aや、第4段目のステージでレジスタ処理11d経由で保持する命令実行結果Bや、メモリアクセス17のアクセス結果Cや、ライトバックするデータMを利用させることができる。
すなわち、従来のパイプラインプロセッサが第5段目の実行ステージで出力されるデータを後続のパイプライン処理に利用させる処理時間に比して、第3段目、第4段目、第5段目の夫々の実行ステージの中間結果(A、B、C、M)を後続のパイプライン処理に利用させるのでパイプラインストール(NOP挿入)が増加しないという利点がある。
設計者としてのユーザは、構成変更可能なプロセッサを用いてシステムLSI設計を行う際に、大規模集積回路を製造するLSIメーカから提供される設計環境生成システムを利用して、パイプラインプロセッサの変更可能な構成要素の組合せを選択し評価する。
システムLSIのシミュレーション結果を確認し、システムLSIの性能が所望の値に達した段階で、実装処理(図2参照)を遂行する。
図4は、本発明の第2の実施形態に係るパイプラインプロセッサのブロック図である。パイプラインプロセッサ10は、プロセッサコア62と命令キャッシュメモリ18とデータキャッシュメモリ60とを半導体基板に備え、合計5段のステージ20からなるパイプライン構成で命令を実行するシステムLSIである。
なお、図3(a)で説明した各段のレジスタ処理に用いられるレジスタは、図示していないが、第1段目〜第5段目までの実行ステージでデータを一時記憶するのは勿論である。
パイプラインプロセッサ10は、例えば、命令フェッチ処理を実行するアドレス計算ユニット56を備え、アドレス計算結果に基づいて命令キャッシュメモリ18から命令を出力させ、命令キャッシュメモリ18に接続した命令デコーダ57が、命令キャッシュメモリ18から出力する命令をデコード処理する。
また、パイプラインプロセッサ10は、命令デコーダ57に接続し、デコードされた命令を実行する演算ユニット59と、演算ユニット59に接続し、デコードされた命令の実行結果を記憶すると共に、演算ユニット59の実行サイクル時間の整数倍(例えば、1倍)にメモリアクセス時間が設定されたデータキャッシュメモリ60を備える。
さらに、パイプラインプロセッサ10は、演算ユニット59に接続し、実行結果をレジスタファイルとして記憶する汎用レジスタ19と、汎用レジスタ19の出力側と演算ユニット59の入力側との間に配置され、実行結果を演算ユニット59へ供給するバイパス制御ユニット58と、をさらに備える。
アドレス計算ユニット56は、外部から入力されるアドレスデータに基づき命令キャッシュメモリ18に記憶した複数の命令の中から1つの命令を選択して命令デコーダ57へ出力させる。例えば、繰返し実行される命令を命令キャッシュメモリ18に記憶し外部のメモリに比して高速な命令フェッチ処理を遂行することができる。
また、アドレス計算ユニット56は、命令デコーダ57に接続し、アドレス計算結果を命令デコーダ57へ渡すことができる。例えば、分岐命令やジャンプ命令のようなプログラムポインタが大きく変化する命令処理に対して有効である。
命令デコーダ57は、デコードした命令を演算ユニット59へ直接渡すこともできるが、バイパス制御ユニット58を経由して演算ユニット59へデコードした命令を間接的に渡すこともできる。
演算ユニット59は、メモリアクセスを実行する場合は、第4段目の実行ステージで命令の実行結果をデータキャッシュメモリ60へ記憶させ、第5段目の実行ステージでデータキャッシュメモリ60から読み出したデータを汎用レジスタ19へライトバック(WB)する。
データキャッシュメモリ60は、1マシンクロックで演算ユニットからメモリアクセスでき、1マシンクロックで汎用レジスタ19へライトバックできるように構成されている。
演算ユニット59は、命令の実行結果を次のパイプライン処理に使用させる場合は、第4段目の実行ステージで実行結果をバイパス制御ユニット58へ書込み、バイパス制御ユニット58経由で演算ユニット59へデータを渡すことができる。
同様に、演算ユニット59は、第4段目の実行ステージで実行結果をバイパス制御ユニット58へ書込み、バイパス制御ユニット58経由で演算ユニット59へデータを渡すこともでき、第5段目の実行ステージでも実行結果をバイパス制御ユニット58へ書込み、バイパス制御ユニット58経由で演算ユニット59へデータを渡すことができる。
さらに、演算ユニット59は、第5段目の実行ステージで実行結果を汎用レジスタ19へ書込むこともできる。なお、実行結果が書き込まれるレジスタファイルは実行結果を書き込む命令が命令デコーダ57でデコードされた際に出力され、パイプラインを伝搬してきたレジスタアドレス信号に基づき選択される。
バイパス制御ユニット58は、第2段目の実行ステージで命令デコーダ57から出力されるイミディエートデータと、汎用レジスタ19から出力されるデータを受信し、所定の実行ステージでイミディエートデータとデータとを演算ユニット59へ出力する。
(第3の実施の形態)
図3(b)は、本発明の第3の実施形態のパイプラインプロセッサの実行ステージを示す図である。第3の実施形態で図示した構成要素の中で、第2の実施形態と同一の構成要素については重複する説明を省略する。
第3の実施形態では、合計7段のステージ20からなるパイプライン構成で命令を実行するパイプラインプロセッサである点で、第2の実施形態のパイプラインプロセッサと構成要素が相違する。
コンフィグレーション記憶部47(図1参照)に書込まれたPn値「3」に基づき生成されるパイプラインプロセッサは、メモリアクセス17a、メモリアクセス17b、及びメモリアクセス17cの3段メモリアクセスステージを構成する。
第3の実施形態でも、第3段目、第4段目、第5段目、第6段目、第7段目の夫々の実行ステージの中間結果(A、B、C、D、E、M)を後続のパイプライン処理に利用させるのでパイプラインストール(NOP挿入)が増加しないという利点がある。
しかも、メモリアクセスステージが3つのメモリアクセス17a、メモリアクセス17b、及びメモリアクセス17cに分割されているため、大容量のメモリアクセスを1実行サイクルで処理する場合に比して、短い1実行サイクルで刻みながらパイプライン処理全体を高速化することができる。
また、メモリアクセス17aで、内部メモリにアクセスしてデータの読出処理を開始し、信号伝搬時間を経てから、メモリアクセス17bの開始段階で後続パイプライン命令による内部メモリの他のアドレスに対してデータの読出処理を開始し、メモリアクセス17bの終了段階でメモリアクセス17aの読出処理によるデータを取得する多重アクセス方式を採用することができる。
この場合、内部メモリのデータが信号伝搬時間を経てから出力するので、アクセスとデータ読出しは内部バスで衝突しないことは勿論である。また、内部メモリのアクセス位置はメモリマットで物理的に離れているほうが、データリテンションを未然に防止することができる。
さらに、内部メモリを用いて多重アクセス方式を説明したが、本発明はこの構成に限定されず、例えば、内部メモリとキャッシュメモリを同一のメモリアクセスステージでアクセスしても多重アクセス方式を採用することができる。
図5は、本発明の第3の実施形態に係るパイプラインプロセッサのブロック図である。パイプラインプロセッサ10aは、プロセッサコア62と命令キャッシュメモリ18とデータキャッシュメモリ60とデータメモリ61を備え、合計7段のステージ20からなるパイプライン構成で命令を実行する。
第3の実施形態のパイプラインプロセッサ10aは、データメモリ61を備える点で第2の実施形態と相違する。また、第2の実施形態と同一の構成要素については、重複する説明を省略する。
なお、図3(b)で説明した各段のレジスタ処理に用いられるレジスタは、図示していないが、第1段目〜第7段目までの実行ステージでデータを一時記憶するのは勿論である。
パイプラインプロセッサ10aは、演算ユニット59から出力する演算結果をデータキャッシュメモリ60とデータメモリ61へ記憶させることができる。データキャッシュメモリ60は第3の実施形態と同様に1マシンクロックの実行ステージでメモリアクセスをする。
一方、データメモリ61は、データキャッシュメモリ60と並行して実行結果を書込めるが、内部に記憶したデータの読出しサイクルが、例えば、3つの実行ステージ(第4段目、第5段目、第6段目)に亘って長くなる点で相違する。
データメモリ61は、コンフィグレーション情報に基づいて製造され、演算ユニット59に接続し、デコードされた命令の実行結果を記憶すると共に、演算ユニット59の実行サイクル時間の整数倍(例えば、3倍)にメモリアクセス時間が設定されている。
パイプラインプロセッサ10aは、バイパス制御ユニット58が第6段目の実行ステージでデータメモリ61のデータを要求している場合、第4段目の実行ステージでデータメモリ61の読出サイクルを開始し、第5段目の実行ステージを経て第6段目の実行ステージでデータメモリ61からデータを読出し、バイパス制御ユニット58へデータを書込むように制御する。
また、パイプラインプロセッサ10aは、汎用レジスタ19が第7段目の実行ステージでデータメモリ61のデータを要求している場合、第4段目の実行ステージでデータメモリ61の読出サイクルを開始し、第5段目の実行ステージを経て第6段目の実行ステージでデータメモリ61からデータを読出し、レジスタにデータを保持してから第7段目の実行ステージで汎用レジスタ19へデータを書込むように制御することもできる。
(第4の実施の形態)
図6は、本発明の第4の実施形態によるパイプラインプロセッサの生成フローを示すフローチャートである。
図1のブロック図及び図6のフローチャートを参照して、パイプラインプロセッサの生成フローを説明する。
入力部50からユーザが予め用意されたコンフィグレーションの組合せと異なる指定を行うと、この段階で実行されるプロセッサ生成フローは、図6の処理ST21に移行する。
入力部50から入出力インタフェイス部49、制御部48を経由して、ユーザが指定した内部メモリサイズ情報をコンフィグレーション記憶部47に記憶する。
メモリアクセス時間算出部42は、内部メモリサイズ情報に基づきコンフィグレーション記憶部47に記憶したメモリ構成情報を読出して、内部メモリのアクセスタイム(Ta)を算出する。
この段階で、システムLSI生成部43は、処理ST21に示した式を用い、パイプラインステージで必要なセットアップ時間や出力遅延時間を合計した遅延時間(Td)を内部メモリのアクセスタイム(Ta)に加算する。加算した値は変数Tmaに対応させてコンフィグレーション記憶部47に保存する。
次に処理ST22に移行し、実行サイクル算出部41は、オプション命令を含めた命令を実行する時の演算回路の最大演算処理時間(Tb)を算出する。
この段階で、システムLSI生成部43は、処理ST22に示した式を用い、パイプラインステージで必要なセットアップ時間や出力遅延時間を合計した遅延時間(Td)を最大演算処理時間(Tb)に加算し変数Tabに対応させてコンフィグレーション記憶部47に保存する。
処理ST23は、実行サイクル算出部41が構成変更可能なプロセッサ(Pa)の構成を指定するコンフィグレーション情報で指定されたプロセッサの実行サイクルタイム(Tc)を算出する。
この段階で、プロセッサ生成装置40は、Tma、Tabを算出する場合、プロセッサ構成の候補選定段階であると位置付けて、システムLSI生成部43でシミュレータを生成し、予めコンフィグレーション記憶部47に登録した数値を用いてシステムLSIのシミュレーションを実行する。
また、コンフィグレーション記憶部47に登録された値の中間の値や、登録した範囲を超えた値が指定された時も、システムLSI生成部43にプログラムされた簡単な計算式でシミュレーション結果を求めて、システムLSIの良好な応答性を維持することができる。
次に、プロセッサ生成装置40は、プロセッサの基準クロックサイクルタイム(Te)を次の処理工程で定める。
システムLSI生成部43は、処理ST24で、ユーザが、パイプラインプロセッサと連携して動作する外部回路や、システムによって固定となるシステムクロックを指定していると判定(YES)したときは、処理ST25へ分岐する。
システムLSI生成部43は、処理ST25で、基準クロックサイクルタイム(Te)として、パイプラインプロセッサの実行サイクルタイム(Tc)を選択しコンフィグレーション記憶部47に保存する。
一方、システムLSI生成部43は、処理ST24で、システムサイクルに制約がないと判定(NO)した場合は、処理ST27へ分岐しTcとTabを比較する。TabがTcより小さな値(YES)のときは、処理ST28へ移行し基準クロックサイクルタイム(Te)として、Tabを選択しコンフィグレーション記憶部47に保存する。
また、システムLSI生成部43は、処理ST27でTcがTabより小さな値(NO)の場合は、処理ST25へ分岐しコンフィグレーション記憶部47に記憶したプロセッサの実行サイクルタイム(Tc)を基準クロックサイクルタイム(Te)に書き換える。
引き続き、システムLSI生成部43は、処理ST26で、メモリのアクセスタイム(Ta)に設計システムで予め定めた遅延時間(Td)を加えた時間Tmaを、基準クロックサイクルタイム(Te)で除算する。この除算結果の小数点以下を切り上げた数値を整数のPnとしてコンフィグレーション記憶部47に保存する。
言い換えれば、システムLSI生成部43は、メモリアクセス時間がパイプラインプロセッサの1実行サイクル時間より長い場合、パイプラインプロセッサの実行サイクル時間の整数倍に再設定し、コンフィグレーション記憶部47に内部メモリのメモリアクセス時間を保存すればよい。
システムLSI生成部43は、メモリアクセスステージ数がPnの基本クロックサイクルで動作するパイプライン制御回路と、バイパス回路を含むプロセッサの設計情報を生成して出力部51(図1参照)に出力(ST29)すると共に、コンフィグレーション記憶部47にメモリアクセスステージパイプライン段数を整数のPnとしてコンフィグレーション情報を書込む(ST30)。
(第5の実施の形態)
図7(a)は、本発明の第5の実施形態によるパイプラインプロセッサのタイミングチャートである。
内部メモリアクセスとキャッシュメモリアクセスの各ステージが1サイクルの時は、図示するように、内部のメモリアクセス命令52a(ロードワード命令)「LW $10,($1)」、キャッシュのメモリアクセス命令52b(ロードワード命令)「LW $11,($2)」、及び加算命令52c(アッド)「ADD $10,$11」、の3種類の命令は、合計8サイクルで実行が終了する。
内部のメモリアクセス命令52aは、レジスタ「1」番で指定した内部メモリのデータをレジスタ「10」番に保存する命令である。
キャッシュのメモリアクセス命令52bは、レジスタ「2」番で指定したキャッシュメモリのデータをレジスタ「11」番に保存する命令である。
加算命令52cは、レジスタ「10」番のデータとレジスタ「11」番のデータを加算してレジスタ「10」番に保存する命令である。
本発明は、この3種類の命令に限定するものではなく、パイプラインプロセッサが備える多数の命令を実行することができることは勿論である。
インストラクション52の一部である内部のメモリアクセス命令52a「LW $10,($1)」は、フェッチ31、命令デコード32、アドレス算出33、メモリアクセス34、レジスタライトバック35の5段パイプライン処理で実行が完了する。
キャッシュのメモリアクセス命令52b「LW $11,($2)」は、パイプラインの第2実行ステージからフェッチ31a、命令デコード32a、アドレス算出33a、メモリアクセス34a、レジスタライトバック35aの5段パイプライン処理で実行が完了する。
加算命令52c「ADD $10,$11」は、パイプラインの第3実行ステージからフェッチ31b、命令デコード32b、ストール37、命令実行36、次サイクル処理38、レジスタライトバック35bの6段パイプライン処理で実行が完了する。
(第6の実施の形態)
図7(b)は、本発明の第6の実施形態によるパイプラインプロセッサのタイミングチャートである。
上述した第5の実施形態と同一の構成要素については重複する説明を省略するが、第6の実施形態では、内部メモリアクセスが2サイクルの分割アクセスに構成した点が相違する。
図示するように、内部のメモリアクセス命令52a「LW $10,($1)」、内部のメモリアクセス命令52b「LW $11,($2)」、及び加算命令52c「ADD $10,$11」、の3つ命令は、合計9サイクルで実行が終了する。
インストラクション52の一部である内部のメモリアクセス命令52a「LW $10,($1)」は、第4実行ステージでメモリアクセス34bを開始し、メモリアクセス34c、レジスタライトバック35の6段パイプライン処理で実行が完了する。
キャッシュのメモリアクセス命令52b「LW $11,($2)」は、パイプラインの第6実行ステージでメモリアクセス34aを実行し、レジスタライトバック35aの6段パイプライン処理で実行が完了する。
メモリアクセス34aは、内部のメモリアクセス命令52aのレジスタライトバック35と並行して同時に実行するが、第6実行ステージにおける加算命令52cは、NOP命令のようなストールが挿入されている。
加算命令52c「ADD $10,$11」は、パイプラインの第3実行ステージからフェッチ31b、命令デコード32b、ストール37、ストール37、命令実行36、次サイクル処理38、レジスタライトバック35bの7段パイプライン処理で実行が完了する。
(第7の実施の形態)
図7(c)は、本発明の第7の実施形態によるパイプラインプロセッサのタイミングチャートである。
上述した第5及び第6の実施形態と同一の構成要素については重複する説明を省略するが、第7の実施形態では、内部メモリアクセスステージが独立した2ステージの分割アクセスに構成した点が相違する。
図示するように、内部のメモリアクセス命令52a「LW $10,($1)」、内部のメモリアクセス命令52b「LW $11,($2)」、及び加算命令52c「ADD $10,$11」、の3つ命令は、合計9サイクルで実行が終了する。
インストラクション52の一部である内部のメモリアクセス命令52a「LW $10,($1)」は、第4実行ステージでメモリアクセス34dを実行し、第5実行ステージでメモリアクセス34eを実行し、第6実行ステージでレジスタライトバック35を実行する合計6段パイプライン処理で実行が完了する。
キャッシュのメモリアクセス命令52b「LW $11,($2)」は、パイプラインの第5実行ステージでメモリアクセス34fを実行し、第6実行ステージで次サイクル処理を遂行し、第7実行サイクルでレジスタライトバック35aを実行する合計6段パイプライン処理で実行が完了する。
メモリアクセス34fは、内部のメモリアクセス命令52aのメモリアクセス34eと並行して同時に実行するが、第5実行ステージにおける加算命令52cは、ストールが挿入されている。
加算命令52c「ADD $10,$11」は、パイプラインの第3実行ステージからフェッチ31b、命令デコード32b、ストール37、命令実行36、次サイクル処理38、次サイクル処理38b、レジスタライトバック35bを実行する合計7段パイプラインで実行が完了する。
第7の実施形態では、キャッシュのメモリアクセス命令52b「LW $11,($2)」の第5実行ステージでメモリアクセス34fを実行しているので、第6の実施の形態に比してキャッシュメモリのデータアクセスが1実行サイクルだけ早く実行できるため、後続の命令処理にキャッシュメモリのデータを利用させることができるという利点がある。
同様に、第6実行ステージで命令実行36を処理しているので、第6の実施の形態に比して命令実行結果を1実行サイクルだけ早く利用できるため、後続の命令処理に命令実行結果を利用させることができるという利点もある。
システムLSI生成部43(図1参照)は、キャッシュメモリアクセスステージで、キャッシュがヒットした時に1実行サイクルで処理が実行されるので、Pnが2以上の時コンフィグレーションファイルにメモリアクセスステージパイプライン段数をPnとしてメモリアクセス分割情報をコンフィグレーション記憶部47(図1参照)に書込む。
また、システムLSI生成部43は、内部メモリアクセスステージを2種類の実行ステージに分割して、例えば、MA1とMA2のメモリセルをそれぞれ独立に平行動作可能にしたパイプライン制御回路及びバイパス回路を含む設計情報に加えて、プロセッサの内部メモリへのアクセスパスとキャッシュメモリへのアクセスパスを分離させたプロセッサの設計情報を生成し出力部51へ出力し、同時にコンフィグレーション記憶部47に書込む。
第7の実施形態では、内部メモリとキャッシュメモリを並行して同時にアクセスするように構成したが、本発明はこの構成に限定されず、例えば、図3(b)に示した第3の実施形態と同様に、内部メモリの一部分と内部メモリの他の部分を並行して同時にアクセスするように構成することができるのは勿論である。
この場合、内部メモリの信号伝搬時間を利用し、一方をメモリセルのアクセス処理を実行させ、他方をメモリセルからのデータ出力処理を実行させるとよい。
以上のように構成されたプロセッサ生成装置によれば、システムLSIをC言語でプログラム記述をして設計を行う設計者が、プロセッサの変更可能な構成要素の全ての組み合わせで性能評価をすることができる。
この場合、システムLSIの性能が初期の仕様を満足しないときに、ハードウェア化する回路などのハードウェアに関する情報や知識が必要なソフトウェア及びハードウェアの機能分割化による設計に着手する前に、内部メモリ容量を増やして実効的なメモリアクセス速度を向上させたときのシステムLSIの性能評価を精度よく容易に行うことができ、設計開発期間を短縮することができる。
なお、本発明の各実施形態に記載された、作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、本発明の実施の形態に記載されたものに限定されるものではない。
第1の実施形態としてのプロセッサ生成装置の模式的なブロック図。 第1の実施形態としてのプロセッサ生成のフローチャート。 本発明の実施形態のパイプラインプロセッサの実行ステージを示す図。 第2の実施形態としてのパイプラインプロセッサのブロック図。 第3の実施形態としてのパイプラインプロセッサのブロック図。 本発明の実施形態としてのパイプラインプロセッサ生成のフローチャート。 本発明の実施形態のパイプラインプロセッサのタイミングチャート。
符号の説明
10、10a パイプラインプロセッサ
18 命令キャッシュメモリ
19 汎用レジスタ
40 プロセッサ生成装置
41 実行サイクル算出部
42 メモリアクセス時間算出部
43 システムLSI生成部
45 性能評価部
46 終了判定部
47 コンフィグレーション記憶部
48 制御部
49 入出力インタフェイス部
50 入力部
51 出力部
56 アドレス計算ユニット
58 バイパス制御ユニット
59 演算ユニット
60 データキャッシュメモリ
61 データメモリ
62 プロセッサコア

Claims (5)

  1. パイプラインプロセッサの実行サイクル時間を算出する実行サイクル算出部と、
    前記パイプラインプロセッサに内蔵される内部メモリのメモリアクセス時間を算出するメモリアクセス時間算出部と、
    前記内部メモリのメモリアクセス時間が前記パイプラインプロセッサの1実行サイクル時間より長い場合、前記パイプラインプロセッサの実行サイクル時間の2以上の整数倍に再設定した前記内部メモリのメモリアクセス時間を記憶するコンフィグレーション記憶部と、
    を備えることを特徴とするパイプラインプロセッサ生成装置。
  2. 前記実行サイクル算出部が算出した実行サイクル時間と演算回路の最大演算処理時間に遅延時間を加算した実行サイクル時間とを比較し、小さな値の実行サイクル時間を前記パイプラインプロセッサの実行サイクル時間に書換えるシステムLSI生成部をさらに備えることを特徴とする請求項1に記載のパイプラインプロセッサ生成装置。
  3. 前記実行サイクル算出部は、前記コンフィグレーション記憶部に記憶したコンフィグレーション情報に基づき前記パイプラインプロセッサの実行サイクル時間を算出することを特徴とする請求項1又は請求項2に記載のパイプラインプロセッサ生成装置。
  4. 前記メモリアクセス時間算出部で算出した内部メモリアクセス時間が複数の実行サイクルでアクセスする場合、前段の実行サイクル又は後段の実行サイクルで他のメモリをアクセスできるように構成されたプロセッサを生成するシステムLSI生成部をさらに備えることを特徴とする請求項1乃至請求項3の何れか1項に記載のパイプラインプロセッサ生成装置。
  5. メモリアクセス時間算出部がパイプラインプロセッサに内蔵される内部メモリのメモリアクセス時間を算出するアクセス時間算出工程と、
    実行サイクル算出部が前記パイプラインプロセッサの実行サイクル時間を算出する実行サイクル算出工程と、
    システムLSI生成部が前記内部メモリのメモリアクセス時間が前記パイプラインプロセッサの1実行サイクル時間より長い場合、前記パイプラインプロセッサの実行サイクル時間の2以上の整数倍に再設定した前記内部メモリのメモリアクセス時間をコンフィグレーション記憶部に記憶する内部メモリアクセス時間算出工程と、
    を備えることを特徴とするパイプラインプロセッサ生成方法。
JP2004004590A 2004-01-09 2004-01-09 パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法 Expired - Fee Related JP4105102B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004004590A JP4105102B2 (ja) 2004-01-09 2004-01-09 パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法
US11/002,186 US7308548B2 (en) 2004-01-09 2004-12-03 Processor organizing apparatus and method for organize a pipeline processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004004590A JP4105102B2 (ja) 2004-01-09 2004-01-09 パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法

Publications (2)

Publication Number Publication Date
JP2005196677A JP2005196677A (ja) 2005-07-21
JP4105102B2 true JP4105102B2 (ja) 2008-06-25

Family

ID=34792078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004004590A Expired - Fee Related JP4105102B2 (ja) 2004-01-09 2004-01-09 パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法

Country Status (2)

Country Link
US (1) US7308548B2 (ja)
JP (1) JP4105102B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4125475B2 (ja) * 2000-12-12 2008-07-30 株式会社東芝 Rtl生成システム、rtl生成方法、rtl生成プログラム及び半導体装置の製造方法
JP2002230065A (ja) * 2001-02-02 2002-08-16 Toshiba Corp システムlsi開発装置およびシステムlsi開発方法
US7984272B2 (en) * 2007-06-27 2011-07-19 International Business Machines Corporation Design structure for single hot forward interconnect scheme for delayed execution pipelines
US20120185820A1 (en) * 2011-01-19 2012-07-19 Suresh Kadiyala Tool generator
JP4905597B1 (ja) * 2011-03-15 2012-03-28 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
GB2550614B (en) * 2016-05-25 2019-08-07 Imagination Tech Ltd Assessing performance of a hardware design using formal verification and symbolic tasks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0338725A (ja) * 1989-07-05 1991-02-19 Mitsubishi Electric Corp データ処理装置及びマイクロプロセッサ
US6973417B1 (en) * 1999-11-05 2005-12-06 Metrowerks Corporation Method and system for simulating execution of a target program in a simulated target system
US6359827B1 (en) * 2000-08-22 2002-03-19 Micron Technology, Inc. Method of constructing a very wide, very fast distributed memory
JP2002230065A (ja) 2001-02-02 2002-08-16 Toshiba Corp システムlsi開発装置およびシステムlsi開発方法

Also Published As

Publication number Publication date
US20050166027A1 (en) 2005-07-28
JP2005196677A (ja) 2005-07-21
US7308548B2 (en) 2007-12-11

Similar Documents

Publication Publication Date Title
US6477697B1 (en) Adding complex instruction extensions defined in a standardized language to a microprocessor design to produce a configurable definition of a target instruction set, and hdl description of circuitry necessary to implement the instruction set, and development and verification tools for the instruction set
US20080141253A1 (en) Cascaded Delayed Float/Vector Execution Pipeline
Beck et al. CACO-PS: a general purpose cycle-accurate configurable power simulator
Gulati et al. Accelerating statistical static timing analysis using graphics processing units
Katz et al. Learning microarchitectural behaviors to improve stimuli generation quality
JP4105102B2 (ja) パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法
Yang et al. Metacore: an application specific dsp development system
US20020032558A1 (en) Method and apparatus for enhancing the performance of a pipelined data processor
US9250900B1 (en) Method, system, and computer program product for implementing a microprocessor with a customizable register file bypass network
Yang et al. MetaCore: An application-specific programmable DSP development system
Liu et al. TLIA: Efficient reconfigurable architecture for control-intensive kernels with triggered-long-instructions
EP1190305B1 (en) Method and apparatus for jump delay slot control in a pipelined processor
US20080162894A1 (en) structure for a cascaded delayed execution pipeline
JPH11161692A (ja) 消費電力のシミュレーション方法
Goel et al. Power reduction in VLIW processor with compiler driven bypass network
US20060168431A1 (en) Method and apparatus for jump delay slot control in a pipelined processor
Sreekumar et al. Bespoke behavioral processors
Wang et al. Acceleration of control flows on reconfigurable architecture with a composite method
Park et al. Fast cycle-accurate behavioral simulation for pipelined processors using early pipeline evaluation
Bautista et al. Quantitative study of the impact of design and synthesis options on processor core performance
Kim et al. A framework for energy estimation of VLIW architecture
Mishra et al. Architecture description language driven design space exploration in the presence of coprocessors
Si et al. Optimizing behavioral near on-chip memory computing systems
US20240192958A1 (en) Branch target buffer operation with auxiliary indirect cache
Multanen et al. Power optimizations for transport triggered SIMD processors

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080326

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees