JPH05204659A - スケジュール装置 - Google Patents

スケジュール装置

Info

Publication number
JPH05204659A
JPH05204659A JP1164392A JP1164392A JPH05204659A JP H05204659 A JPH05204659 A JP H05204659A JP 1164392 A JP1164392 A JP 1164392A JP 1164392 A JP1164392 A JP 1164392A JP H05204659 A JPH05204659 A JP H05204659A
Authority
JP
Japan
Prior art keywords
code
candidate
resource
column
resource reservation
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
JP1164392A
Other languages
English (en)
Inventor
Takahisa Horiuchi
香寿 堀内
Hiroaki Hirata
博章 平田
Mototsugu Shiraiwa
基紹 白岩
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1164392A priority Critical patent/JPH05204659A/ja
Publication of JPH05204659A publication Critical patent/JPH05204659A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 ループを対象にプログラムを自動並列化する
コード・スケジューリングを実現する。 【構成】 同時実行可能な資源に対応する資源列と、基
本サイクル行とからなるテーブルを管理する資源予約テ
ーブル部18と、資源列からなるテーブルを管理する待
機ステーション部19とを備え、コード確定部17にお
いて、スケジュール対象となる候補コードが使用する資
源と、候補イニシャルインターバル数とから決定される
資源予約テーブル18中の予約欄と、待機ステーション
テーブル19中の待機欄とを参照しながら、すべての候
補コードを確定し、イニシャル・インターバルの決定を
行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はループを対象にプログラ
ムを自動並列化するコンパイラのスケジュール装置に関
するものである。
【0002】
【従来の技術】近年、1サイクルに複数命令を発行する
ことの可能な計算機のためのコンパイラでは、ソフトウ
ェア・パイプライニングと呼ばれる手法に注目し、これ
を用いてコードのスケジューリングを行う研究や試みが
盛んに行なわれている。以下図面を参照しながら、上記
した従来のスケジュール装置の一例について説明する。
【0003】図5は、従来例及び本発明の実施例の対象
となるハードウェア・モデルのブロック図である。図5
において、51は命令キャッシュで、従来例及び本実施
例では、3本の命令スロットを持ち、1サイクルに3命
令の同時発行を行なう。52は命令フェッチユニット、
53は解読ユニットである。54は命令を待機させてお
く待機ステーションである。55は待機ステーション5
4の中から、定義された優先規則に従って、一つの命令
を選択する命令スケジュールユニットである。56は整
数演算ユニット、57は浮動小数点加算ユニット、58
は浮動小数点乗算ユニット、59はロード/ストアユニ
ットで、これらの4つのユニットは同時に動作可能であ
る。510はレジスタセットで、命令スロットの数、す
なわち従来例および本実施例では3セットあり、各命令
スロットから発行された命令が使用するレジスタセット
は決定済みである。
【0004】図6は従来のスケジュール装置を用いたコ
ンパイラのブロック図、図7は、図6におけるコード確
定部67が行なうスケジュール方法の流れ図である。図
3は、図7中のコード確定I75で行なう処理の流れ図
である。以上のように構成されたスケジュール装置につ
いて、以下その動作について説明する。
【0005】図6において、61はソースファイルであ
る。まず解析部62において、ソースファイル61の文
字列を言語として、意味を持つ最小単位に分割する字句
解析、言語の組み立て方に従った構文解析、および、言
語の意味的な整合性を検査する意味解析をおこなう。次
に中間コード生成部63において、解析部62で得た解
析情報をもとにした中間コードを生成し、ループ検出部
64において、ループ部分の中間コード列を検出する。
さらに依存解析部65において、ループ検出部64で検
出したループを対象に、データの依存解析を行い、各ノ
ードがある定義された優先度を持つデータ依存グラフを
作成する。
【0006】コードスケジュール部66は、依存解析部
65で得たデータ依存グラフの情報を基に、コード確定
部67および、4つの同時動作可能な資源に対応する資
源列と実行開始サイクル数に対応する基本サイクル行と
からなる資源予約テーブルを管理する資源予約テーブル
部68とを用いたモジュロ・スケジューリング法(情報
処理VOL.31 NO.6 通巻304号、P76
9、P771)に従ってコードスケジュールを行い、最
適化コード69を出力する。モジュロスケジューリング
法の目的は、tサイクル毎にループの新しい繰り返しを
開始することが可能な、最小のtを求めることである。
以下このtの値を、イニシャル・インターバルと呼ぶこ
とにする。
【0007】以下図7、図3を用いて、コード確定部6
7および資源予約テーブル部68を用いたモジュロ・ス
ケジューリング法の実現方法について説明する。図7に
おいて、まず、処理71で、イニシャル・インターバル
の候補(以下候補イニシャル・インターバル)を選択す
る。この従来例では、候補イニシャル・インターバルの
初期値は1とする。処理72では、スケジュールのサイ
クルをカウントするサイクル・カウンタを初期化する。
この従来例では初期値は0とする。次に、判断73にお
いて、実行に必要な資源が足りているか、ループ間の依
存を保っているか等のスケジュール条件を検査し、条件
を満たさない場合には、処理71に戻り、新しく候補イ
ニシャル・インターバルを選択する。この従来例では、
1を加えた値を新候補イニシャル・インターバルとす
る。
【0008】また、判断73において、スケジュール可
能である場合には、判断74で、候補コードの集合を参
照する。ここでは、ループ本体に含まれるコードの中で
まだ確定されていないコードの集合を、候補コード集合
とする。判断74において、候補コード集合が空の場合
には、スケジューリングの処理を終了する。また、候補
コード集合が空でない場合には、コード確定Iの処理7
5(図3)を行なう。最後に、処理76において、サイ
クル・カウンタをインクリメントし、処理73へ戻る。
【0009】次に、図7中のコード確定Iの処理75を
図3を用いて説明する。まず、処理31において、図6
中の処理65で得たデータ依存グラフにおいて、親ノー
ドを持たないか、または、親ノードがスケジュール済み
のノードの集合である候補コード集合から、定義された
優先度に従って候補コードを1つ選択する。判断32に
おいて、処理31で候補コードを選択できなかった場合
には、結果は失敗としてコード確定Iの処理を終了す
る。また判断32において、処理31で候補コードが選
択できた場合には、処理33で、資源予約テーブル部6
8中において、候補コードが使用する資源に対応する資
源列と、現在のサイクル・カウンタ数を候補イニシャル
・インターバル数で除算した剰余数である基本サイクル
数とから決定される予約欄を参照する。
【0010】判断34において、予約欄が記録済みの場
合には、処理31に戻り、次の候補コードを定義された
優先度に従って選択する。また判断34において、予約
欄が未記録の場合には、処理35で予約欄に、候補コー
ドを記録して予約する。最後に処理36において、記録
した候補コードをスケジュール・コードとして確定し、
結果は成功としてコード確定Iの処理を終了する。
【0011】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、対象とするハードウェアの同時命令発行
数の制限からイニシャル・インターバルの値が大きくな
るため、効率の良いコードが得られないという問題点を
有していた。
【0012】本発明は上記問題点に鑑み、命令スケジュ
ール時に待機ステーション部の存在を考慮して、これを
有効に利用することにより、より小さいイニシャル・イ
ンターバルの値を得ることができるスケジュール装置を
提供することを目的とする。
【0013】
【課題を解決するための手段】上記問題点を解決するた
めに本発明のスケジュール装置は、同時実行可能な資源
に対応する資源列と実行開始サイクル数に対応する基本
サイクル行とからなる資源予約テーブルを管理する資源
予約テーブル部と、同時に実行可能な資源数に対応する
資源列からなる待機ステーションテーブルを管理する待
機ステーション部と、スケジュール対象となる候補コー
ドが使用する資源と前記候補コードの実行開始サイクル
数に1を加えたサイクル数を候補イニシャルインターバ
ル数で除算した剰余数である基本サイクル数とから決定
される前記資源予約テーブル中の予約欄と前記待機ステ
ーションテーブル中の前記候補コードが使用する資源か
ら決定される待機欄とを参照し、まず実行可能で、かつ
その前記予約欄が未記録である候補コードを確定し、前
記候補コードが存在しない場合には、実行可能で、かつ
前記待機欄が使用中でない新候補コードを確定し、すべ
ての候補コードが確定できない場合には、新たに前記候
補イニシャルインターバルを選択し、すべてのコードが
確定され、かつ確定されたコード列全体の総実行サイク
ル数が候補イニシャルインターバルに同時発行可能な命
令数を乗じた値を越える場合には、新たに候補イニシャ
ルインターバルを選択するコード確定部という構成を備
えたものである。
【0014】
【作用】本発明は上記した構成によって、同時に実行可
能な資源数に対応する資源列からなる待機ステーション
テーブルを管理する待機ステーション部を設けることに
より、資源予約テーブル中の該当する予約欄が記録済み
の場合でも、待機ステーション中の該当する待機欄が空
いている場合には、コードを発行することとなる。
【0015】また、資源予約テーブルにおいて予約欄
を、スケジュール対象となる候補コードが使用する資源
と候補コードの実行開始サイクル数に1を加えたサイク
ル数を候補イニシャルインターバル数で除算した剰余数
である基本サイクル数とから決定することにより、命令
の発行サイクルと実行開始サイクルとの間の遅延を考慮
して、命令のスケジュールを行なうこととなる。
【0016】また、すべてのコードが確定された場合
に、確定されたコード列全体の総実行サイクル数が候補
イニシャルインターバルに同時発行可能な命令数を乗じ
た値を越える場合には、新たに候補イニシャルインター
バルを選択するコード確定部を設けることにより、現実
のハードウェアで実行不可能なコード列の生成を排する
こととなる。
【0017】
【実施例】以下本発明のスケジュール装置の実施例につ
いて図面を参照しながら説明する。図1は、本発明の実
施例におけるスケジュール装置を用いたコンパイラのブ
ロック図を示すものである。図2(A)は図1における
コード確定部17が行なうスケジュール方法の流れ図で
ある。図3は図2中のコード確定I25で行なう処理の
流れ図で、従来例と共通の処理を行なう。図4は図2中
のコード確定II27で行なう処理の流れ図である。以
上のように構成されたスケジュール装置について、以下
図1から図4を用いてその動作を説明する。
【0018】まず、図1において、11はソースファイ
ル、12は解析部で、ソースファイル11の文字列を言
語として、意味を持つ最小単位に分割する字句解析、言
語の組み立て方に従った構文解析、および、言語の意味
的な整合性を検査する意味解析をおこなう。13は中間
コード生成部で、解析部12で得た解析情報をもとにし
た中間コードを生成する。14は、ループ検出部で、ル
ープ部分の中間コード列を検出する。15は依存解析部
で、ループ検出部14で検出したループを対象に、デー
タの依存解析を行い、各ノードがある定義された優先度
を持つデータ依存グラフを作成する。以上の各部の処理
は、従来例と同様の処理である。
【0019】16は、コード確定部17、資源予約テー
ブル部18、待機ステーション部19からなるコードス
ケジュール部で、資源予約テーブル部18は、従来例の
資源予約テーブル部68と同様の構成から成り、待機ス
テーション部19は、同時に動作可能な資源の数(本実
施例では図5における整数演算ユニット56、浮動小数
点加算器57、浮動小数点乗算器58、ロード/ストア
ユニット59の4つ)に対応する資源列からなる待機ス
テーションテーブルを管理している。コードスケジュー
ル部16は、依存解析部15で得たデータ依存グラフの
情報を基に、コード確定部17、資源予約テーブル部1
8および待機ステーション部19を用いてコードスケジ
ュールを行ない、最適化コード20を出力する。
【0020】以下、図2(A)を用いて、コード確定部
17、資源予約テーブル部18、および待機ステーショ
ン部19を用いたスケジューリング方法について説明す
る。図7に示す従来のスケジューリング方法と異なる点
は、コード確定Iの処理を行なったあとに、機能ブロッ
ク2Aを付加したことである。図2(A)において、ま
ず処理21で従来例の処理71と同様に候補イニシャル
・インターバルを選択し、処理22で従来例の処理72
と同様にサイクル・カウンタの初期化を行なう。次に判
断23において、従来例の判断73と同様にスケジュー
ル条件を検査し、条件を満たさない場合には、処理21
に戻り、新しく候補イニシャル・インターバルを選択す
る。
【0021】また、判断23で、スケジュール可能な場
合には、判断24において、従来例の判断74と同様に
候補コード集合を参照する。判断24において、候補コ
ード集合が空の場合には、スケジューリングの処理を終
了する。また、候補コード集合が空でない場合には、図
3に示すコード確定Iの処理25の方法を用いてスケジ
ュール・コードを確定する。
【0022】さらに、判断26において、コード確定I
の処理25の結果が成功である場合には、処理28にお
いて、サイクル・カウンタをインクリメントし、判断2
3へ戻る。また、コード確定Iの処理25の結果が失敗
である場合には、図4に示すコード確定IIの処理27
を行なう。最後に、処理28においてサイクル・カウン
タをインクリメントし、判断23に戻る。ここで、コー
ド確定Iの処理25は、従来例のコード確定Iの処理7
5と同様の処理を行なう。次に、図2中のコード確定I
Iの処理27を図4を用いて説明する。
【0023】まず処理41において、図1中の処理15
で得たデータ依存グラフにおいて、親ノードを持たない
か、または、親ノードがスケジュール済みのノードの集
合である候補コード集合から、定義された優先度に従っ
て候補コードを1つ選択する。判断42において、処理
41で候補コードが選択できなかった場合には、コード
確定IIの処理27を終了する。また判断42におい
て、処理41で候補コードが選択できた場合には、処理
43で、待機ステーション部19中において、候補コー
ドが使用する資源から決定される待機欄を参照する。こ
こで判断44において、待機欄が使用中の場合には処理
41に戻り、また、待機欄が空きの場合には、処理45
において、待機欄に候補コードを記録して使用中とす
る。
【0024】次に処理46において、資源予約テーブル
部18を参照し、候補コードが使用する資源に対応する
資源列を、サイクル数の進行方向に検索して未記録の予
約欄を探す。処理47では、処理46で得た該当する予
約欄に候補コードを記録して予約し、最後に処理48に
おいて、候補コードをスケジュール・コードとして確定
し、コード確定IIの処理を終了する。
【0025】以上のように本実施例によれば、同時に実
行可能な資源数に対応する資源列からなる待機ステーシ
ョンテーブルを管理する待機ステーション部を設けるこ
とにより、資源予約テーブル中の該当する予約欄が記録
済みの場合でも、待機ステーション中の該当する待機欄
が空いている場合は、待機欄および、資源予約テーブル
中の資源が未使用である予約欄にコードを記録して発行
することにより、命令発行のより多くの機会を利用し
て、より小さいイニシャル・インターバルの値を得るこ
とが可能となる。
【0026】次に本発明のスケジュール装置の第2の実
施例について図面を参照しながら説明する。図1の第1
の実施例におけるスケジュール装置と異なる点は、コー
ド確定部17が行なうスケジュール方法で、具体的には
図2(A)の機能ブロック2Aを除いた図2(B)にお
けるコード確定I250の処理である。
【0027】以下コード確定I250の動作を図3を用
いて説明する。図3において、第1の実施例と異なる処
理は処理33であり、他の処理は同じである。すなわ
ち、処理31および32は、第1の実施例と同様の処理
を行なうが、処理33では、資源予約テーブル部18中
において、候補コードが使用する資源に対応する資源列
と、現在のサイクル・カウンタ数に1を加えたサイクル
数を候補イニシャル・インターバル数で除算した剰余数
である基本サイクル数とから決定される予約欄を参照す
る処理を行なう。なお、以降の処理である処理35およ
び処理36は、第1の実施例と同様の処理を行なう。
【0028】以上のように、資源予約テーブルにおい
て、予約欄を、スケジュール対象となる候補コードが使
用する資源と候補コードの実行開始サイクル数に1を加
えたサイクル数を候補イニシャルインターバル数で除算
した剰余数である基本サイクル数とから決定することに
より、複数の命令が1サイクルに同時発行するために、
命令の発行サイクルと命令の実行開始サイクルとの間に
遅延が生じるハードウェア構成において、スケジュール
時に遅延を考慮して、本スケジュール方法そのものを有
効なものとすると同時に、より小さいイニシャル・イン
ターバルの値を得ることが可能となる。
【0029】なお、第2の実施例では、図2(A)の機
能ブロック2Aを除き、コード確定I250の処理を用
いた図2(B)の処理について説明したが、図2(B)
に、図2(A)と同様、機能ブロック2Aを付加した処
理としてもよいことは言うまでもない。
【0030】以下、本発明の第3の実施例におけるスケ
ジュール装置について図面を参照しながら説明する。第
1、第2の実施例におけるスケジュール装置と異なる点
は、コード確定部17が行なうスケジュール方法で、具
体的には図2(C)におけるブロック2Bの判断29
が、第1もしくは第2の実施例におけるスケジュール装
置に付加されたことである。以下、第3の実施例の動作
を図2(C)を用いて説明する。
【0031】図2(C)の判断24で、候補コード集合
が空の場合に、判断29において、総実行サイクル数
が、同時発行可能な命令数に候補イニシャル・インター
バルを乗じた値を超える場合には、処理21に戻り、超
えない場合には、スケジューリング処理を終了する。な
お、他の処理は第1もしくは第2の実施例と同様であ
り、図2(C)では、代表として第1の実施例に機能ブ
ロック2Bを付加した流れ図を示している。
【0032】以上のように第3の実施例によれば、すべ
てのコードが一通り確定された場合に、確定されたコー
ド列全体の総実行サイクル数が候補イニシャルインター
バルに同時発行可能な命令数を乗じた値を越える場合に
は、新たに候補イニシャルインターバルを選択するコー
ド確定部を設けることにより、ハードウェアの命令発行
制約を満足しながら、より小さく、かつ有効なイニシャ
ル・インターバルの値を得ることが可能となる。
【0033】
【発明の効果】以上のように本発明は、同時に実行可能
な資源数に対応する資源列からなる待機ステーションテ
ーブルを管理する待機ステーション部を設けることによ
り、資源予約テーブル中の該当する予約欄が記録済みの
場合でも、待機ステーション中の該当する待機欄が空い
ている場合は、待機欄および、資源予約テーブル中の資
源が未使用である予約欄にコードを記録して発行するこ
とにより、命令発行の機会を増大し、より小さいイニシ
ャル・インターバルの値を得、従って、より効率の良い
コードを生成することが可能となる。
【0034】また、資源予約テーブルにおいて予約欄
を、スケジュール対象となる候補コードが使用する資源
と候補コードの実行開始サイクル数に1を加えたサイク
ル数を候補イニシャルインターバル数で除算した剰余数
である基本サイクル数とから決定することにより、複数
の命令が1サイクルに同時発行するために、命令の発行
サイクルと命令の実行開始サイクルとの間に遅延が生じ
るハードウェア構成においても、効率の良いコードを得
ることが可能となる。
【0035】また、すべてのコードが確定された場合
に、確定されたコード列全体の総実行サイクル数が候補
イニシャルインターバルに同時発行可能な命令数を乗じ
た値を越える場合には、新たに候補イニシャルインター
バルを選択するコード確定部を設けることにより、ハー
ドウェアの命令発行制約を満足しながら効率の良いコー
ドを得ることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例におけるスケジュール装置を用
いたコンパイラのブロック図
【図2】同実施例の図1におけるコード確定部17が行
なうスケジュール方法の流れ図
【図3】コード確定Iで行なう処理の流れ図
【図4】本発明の実施例における図2中のコード確定I
I27で行なう処理の流れ図
【図5】従来例及び本発明の実施例の対象となるハード
ウェア・モデルのブロック図
【図6】従来のスケジュール装置を用いたコンパイラの
ブロック図
【図7】従来のコード確定部が行なうスケジュール方法
の流れ図
【符号の説明】
11 ソースファイル 12 解析部 13 中間コード生成部 14 ループ検出部 15 依存解析部 16 コードスケジュール部 17 コード確定部 18 資源予約テーブル部 19 待機ステーション部 20 最適化コード 51 命令キャッシュ 52 命令フェッチ・ユニット 53 解読ユニット 54 待機ステーション 55 命令スケジュール・ユニット 56 整数演算ユニット 57 浮動小数点加算器 58 浮動小数点乗算器 59 ロード/ストア・ユニット 510 レジスタ・セット

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 同時実行可能な資源に対応する資源列と
    実行開始サイクル数に対応する基本サイクル行とからな
    る資源予約テーブルを管理する資源予約テーブル部と、 同時に実行可能な資源数に対応する資源列からなる待機
    ステーションテーブルを管理する待機ステーション部
    と、 スケジュール対象となる候補コードが使用する資源と前
    記候補コードの実行開始サイクル数を候補イニシャルイ
    ンターバル数で除算した剰余数である基本サイクル数と
    から決定される前記資源予約テーブル中の予約欄と前記
    待機ステーションテーブル中の前記候補コードが使用す
    る資源から決定される待機欄とを参照し、まず実行可能
    で、かつその前記予約欄が未記録である候補コードを確
    定し、前記候補コードが存在しない場合には、実行可能
    で、かつ前記待機欄が使用中でない新候補コードを確定
    し、すべての候補コードが確定できない場合には、新た
    に前記候補イニシャルインターバルを選択するコード確
    定部とを備えたことを特徴とするスケジュール装置。
  2. 【請求項2】 同時実行可能な資源に対応する資源列と
    実行開始サイクル数に対応する基本サイクル行とからな
    る資源予約テーブルを管理する資源予約テーブル部と、
    スケジュール対象となる候補コードが使用する資源と前
    記候補コードの実行開始サイクル数に1を加えたサイク
    ル数を候補イニシャルインターバル数で除算した剰余数
    である基本サイクル数とから決定される前記資源予約テ
    ーブル中の予約欄を参照し、実行可能で、かつその前記
    予約欄が未記録であるコードを確定し、すべての候補コ
    ードが確定できない場合には、新たに前記候補イニシャ
    ルインターバルを選択するコード確定部とを備えたこと
    を特徴とするスケジュール装置。
  3. 【請求項3】 同時実行可能な資源に対応する資源列と
    実行開始サイクル数に対応する基本サイクル行とからな
    る資源予約テーブルを管理する資源予約テーブル部と、
    同時に実行可能な資源数に対応する資源列からなる待機
    ステーションテーブルを管理する待機ステーション部
    と、スケジュール対象となる候補コードが使用する資源
    と前記候補コードの実行開始サイクル数に1を加えたサ
    イクル数を候補イニシャルインターバル数で除算した剰
    余数である基本サイクル数とから決定される前記資源予
    約テーブル中の予約欄と前記待機ステーションテーブル
    中の前記候補コードが使用する資源から決定される待機
    欄とを参照し、まず実行可能で、かつその前記予約欄が
    未記録である候補コードを確定し、前記候補コードが存
    在しない場合には、実行可能で、かつ前記待機欄が使用
    中でない新候補コードを確定し、すべての候補コードが
    確定できない場合には、新たに前記候補イニシャルイン
    ターバルを選択するコード確定部とを備えたことを特徴
    とするスケジュール装置。
  4. 【請求項4】 コード確定部が、すべてのコードが確定
    され、かつ確定されたコード列全体の総実行サイクル数
    が候補イニシャルインターバルに同時発行可能な命令数
    を乗じた値を越える場合には新たに候補イニシャルイン
    ターバルを選択することを特徴とする請求項1乃至3の
    いずれかに記載のスケジュール装置。
JP1164392A 1992-01-27 1992-01-27 スケジュール装置 Pending JPH05204659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1164392A JPH05204659A (ja) 1992-01-27 1992-01-27 スケジュール装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1164392A JPH05204659A (ja) 1992-01-27 1992-01-27 スケジュール装置

Publications (1)

Publication Number Publication Date
JPH05204659A true JPH05204659A (ja) 1993-08-13

Family

ID=11783635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1164392A Pending JPH05204659A (ja) 1992-01-27 1992-01-27 スケジュール装置

Country Status (1)

Country Link
JP (1) JPH05204659A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338616A (ja) * 2005-06-06 2006-12-14 Matsushita Electric Ind Co Ltd コンパイラ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338616A (ja) * 2005-06-06 2006-12-14 Matsushita Electric Ind Co Ltd コンパイラ装置
USRE45199E1 (en) 2005-06-06 2014-10-14 Panasonic Corporation Compiler apparatus

Similar Documents

Publication Publication Date Title
JP4042604B2 (ja) プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム
US6044222A (en) System, method, and program product for loop instruction scheduling hardware lookahead
US5303357A (en) Loop optimization system
US5386562A (en) Circular scheduling method and apparatus for executing computer programs by moving independent instructions out of a loop
JPH01108638A (ja) 並列化コンパイル方式
Chang et al. The importance of prepass code scheduling for superscalar and superpipelined processors
Faraboschi et al. Instruction scheduling for instruction level parallel processors
JPH09282179A (ja) オーバーヘッド命令を最小限にする最適化コンパイラにおける命令スケジューリングの方法および装置
JP2006338616A (ja) コンパイラ装置
Bharadwaj et al. The Intel IA-64 compiler code generator
WO2006020001A2 (en) Fast multi-pass partitioning via priority based scheduling
Govindarajan et al. Minimum register instruction sequencing to reduce register spills in out-of-order issue superscalar architectures
US20050198627A1 (en) Loop transformation for speculative parallel threads
Diavastos et al. Efficient instruction scheduling using real-time load delay tracking
US20140258697A1 (en) Apparatus and Method for Transitive Instruction Scheduling
Kessler Compiling for VLIW DSPs
JPH05204659A (ja) スケジュール装置
KR20150040663A (ko) 소프트웨어 파이프라이닝을 이용한 명령어 스케줄링 방법 및 장치
Govindarajan et al. Co-scheduling hardware and software pipelines
Sugino et al. Computational ordering of digital networks under pipeline constraints and its application to compiler for DSPs
Valluri et al. Modulo-variable expansion sensitive scheduling
Agarwal et al. Speculative trace scheduling in VLIW processors
Xianfeng Microarchitecture modeling for timing analysis of embedded software
JP3394353B2 (ja) 機械語命令スケジューリング装置
Govindarajan et al. Enhanced co-scheduling: A software pipelining method using modulo-scheduled pipeline theory