Vol. 0

情報処理学会論文誌

No. 0

1959

発行時間差に基づいた命令ステアリング方式
服
入

部 直
江 英

也†1,†2 高嗣†1,†3 坂

田 正
井 修

法†1
一†1

岡 部
田 中

淳†1
英 彦†1,†4

マイクロプロセッサの高クロック動作と高 IPC を両立させるために，小規模な演算資源の塊を間接的に接続した クラスタアーキテクチャが提案されている．このアーキテクチャでは，命令発行に関する遅延を軽減するために，『最も発行遅延が少ないクラスタ』を特定し，そこへ命令をステアリング
することが望ましい．しかし，そのようなクラスタを厳密に求めるには複雑な計算を要するため，これまでに提案された命令ステアリング方式は，種々の近似を用いてクラスタを選択していた．
本論文では，従来方式が用いている近似の精度を解析し，命令の集中／分散の判断に改善の余地があることを明らかにする．そしてこの判断を改善するために，データ生成命令と消費命令の命令間距離を用いる方式を提案する．シミュレータを用いた評価の結果，提案方式は従来方式に比べて，OOO
発行構成に対しては 9.2%，FIFO 発行構成に対しては 5.0% 性能が向上することを確認した．

Instruction Steering Algorithms Based on Issue Delay
Naoya Hattori, †1,†2 Masanori Takada, †1 Jun Okabe,†1
Hidetsugu Irie,†1,†3 Shuichi Sakai†1 and Hidehiko Tanaka†1,†4
To achieve both high clock rate and high IPC of microprocessors, clustered architecture has
been proposed. In this architecture, instruction should be steered into “the cluster with minimum Issue Delay”. But to detect such a cluster causes too complex calculation. Therefore,prior instruction steering algorithms use some approximations.
This paper analyzes the precision of such approximations, and finds the room for improvement at concentration / distribution heuristics. To improve it, Local Distance Steering - a
more precise approximation algorithm using Instruction Distance - is proposed. The evaluation by simulation shows that Local Distance Steering improves on performance 9.2% with
Out-of-Order Issue architectures, 5.0% with FIFO Issue architectures.

1. は じ め に両者のバランス良い改善が望ましい．しかし実際には，

近年プロセッサの性能は目覚ましく向上しているある．

動作クロックを向上させると IPC は低下する傾向にが，高性能化への要求は留まるところを知らない．近パイプラインを深くすると各処理に必要なサイクル

年のプロセッサは主に，パイプラインを深く設計する数が増加し，依存関係にある命令の発行間隔が大きく

Deeper Pipeline 技術と，半導体技術の微細化による高クロック化によって性能を向上させてきた．プロセッ
サの性能は動作クロック と IPC （Instructions Perなるために，IPC が低下する5),14) ．また半導体技術の微細化に関しては，今後ゲート遅延に対して配線遅延

Cycle） の積で求められるため，性能向上のためには

設計者は，処理遅延の増加を容認するか，演算資源をが支配的になることが知られている．アーキテクチャ
減らして遅延増加を抑えるかの選択を迫られるが，いずれにしても IPC が低下すると考えられている1) ．

†1 東京大学大学院 情報理工学系研究科
Graduate School of Information Science and Technology, University of Tokyo†2 現在，日立製作所中央研究所
Presently with Hitachi, Ltd., Central Research Laboratory†3 現在，科学技術振興機構
Presently with Japan Science and Technology Agency†4 現在，情報セキュリティ大学院大学
Presently with Institute of Information Security

IPC の低下要因は，制御依存による発行間隔の拡
大，レジスタデータ依存による発行間隔の拡大，メモ
リデータ依存による発行間隔の拡大，の 3 種に大別されるが，最も影響が大きいのはレジスタデータ依存
である5),14) ．そこでレジスタデータ依存に関係する機構として，演算器間のデータフォワーディング機構と命令発行機構 （IQ : Issue Queue）に関する配線遅延1

情報処理学会論文誌

2
Cluster
Steering
Frontend

命令ステアリングの質がその性能を左右する．クラス
タ内の高速な信号転送を利用するためには，データ依

EX

IQ

1959

BackendEX

存関係にある命令を同じクラスタへ集中して割り当てることが必要である．しかしプロセッサのスループッ

図 1 Execution-Driven アーキテクチャ

Fig. 1 Execution-Driven Steering Architecture

トを利用するためには，命令を適度に分散させる必要がある．従って命令を滞りなく処理し続けるためには命令ステアリングの際に，何らかの方法で集中と分散

Steeringのバランスを取らなければならない．

Cluster
IQ

命令ステアリングの理想は，データ生成命令と消費

EX

Frontend

BackendIQ

EX

図 2 Dispatch-Driven アーキテクチャ
Fig. 2 Dispatch-Driven Steering Architecture

命令の『発行時間差』を短縮するために，『最も早く発行可能なクラスタ』を選択することである．これまでに提案されたステアリング方式は，発行時間差を近似的に求めてクラスタを選択していたが，その近似精度に問題があった．

が重要視されており，これまでに様々な研究がなされ4),5),8)∼ 10),13),15)ている．本研究ではその中の，クラスタアーキテクチャに着目する．

Alpha 212646),7) に代表されるクラスタアーキテク
チャでは，演算資源をクラスタリングすることで IPC低下問題を改善している．IPC に大きな影響を与える，演算器間のデータフォワーディング遅延に関しては，少数の演算器の塊（クラスタ）を形成することで対処する．クラスタ内の演算器は少数であるため，
フォワーディングの距離を短くすることが可能であり，遅延を抑えられる．しかし，個々のクラスタのスルー
プットは小さい．そこで複数のクラスタを用意して，本論文では『発行時間差』を明確に意識した高精度な近似方式として，『命令間距離』に着目した Local

Distance Steering と Global Distance Steering を提案，評価する．
本論文は以下の様に構成される．2 節では命令ステ
アリングとクラスタアーキテクチャの性能に関して検討し，命令の発行時刻情報を利用した，理想的な命令
ステアリング方式を提示する．3 節では命令ステアリ
ングに関する先行研究を紹介し，理想命令ステアリン
グを近似する方法とその不備を検討する．4 節では本論文で想定するアーキテクチャと評価環境について述べる．5 節で先行ステアリング方式の性能と近似の妥

それらを間接的に接続することで，プロセッサ全体の当性を解析し，それを受けて 6 節ではより優れた近似

スループットを確保する．

方式を提案，評価する．7 節では提案手法に対して閾

命令発行時には，後続命令のオペランドが揃ったこ

値，クラスタ構成を変えた場合の評価を行い，8 節でと（Wakeup）の判断のために，全 IQ エントリに発は異なるクラスタアーキテクチャとの比較を行う．最行された命令のタグを送信するが，この命令タグ転送

後に 9 節で全体をまとめる．

遅延も IPC に与える影響が大きい．そこで，IQ に対

2. 命令ステアリング

してもデータフォワーディングと同様に，クラスタ化
することが有用である．図 1 のように演算器のみを

命令ステアリングは，処理レイテンシとスループッ

クラスタ化したアーキテクチャは Execution-Driven
Steering Microarchitecture10) ，図 2 のように命令発の IPC に影響を与える．命令発行には Wakeup と行機構までクラスタ化したアーキテクチャは DispatchDriven Steering Microarchitecture10) と呼ばれている．尚，図中の縦線はクラスタ間を結ぶネットワーク
である．
本研究では，文献 4)，8) など，多くの文献で支持されている，Dispatch-Driven アーキテクチャに着目する．以下では特に断らない限り，Dispatch-Driven
を前提とする．また，クラスタ間ネットワークに関しては最も理解し易いクロスバトポロジを前提とする．
Dispatch-Driven では命令をクラスタに割り当てる，トという 2 つの観点から，クラスタアーキテクチャ

Select の 2 段階のプロセスが存在するが，両者はこのプロセスそれぞれに対応している．
クラスタ間通信による Wakeup 遅延
本論文では，データを生成する命令（Producer）が発行されてからデータを消費する命令（Consumer）
が Wakeup するまでの時間差を Wakeup 遅延 (又はΔ Wakeup) と呼ぶ．Producer と Consumer を異なるクラスタにステアリングする場合は，クラスタ間の命令タグフォワーディングが通信遅延の分だけ遅れることになる．その様子を 図 3 に示す．図中の W は

Vol. 0

No. 0

3

Time
Producer b = a + 1 Steer W S
Consumer c = b & 1 SteerWSㅢାㆃᑧ
Consumer c = b & 1 SteerWS

図 3 命令ステアリングと Wakeup 遅延の関係
Fig. 3 Relationship between Instruction Steering andWakeup Delay

Wakeup 遅延に関してはデータ依存命令を特定クラス
タへ集中させることで，Select 遅延に関しては命令を
多数のクラスタへ分散させることで軽減できる．しかし一般に実プログラム中の命令列には複雑なデータ依存関係があるため，Wakeup 遅延の改善は Select 遅延を招き，Select 遅延の改善は Wakeup 遅延を招く．
従って命令発行の遅延を改善するためには，両遅延のバランスを取ることが必要である．つまり，Wakeup
遅延や Select 遅延といった個々の要素だけにとらわ
れず，『最も早く発行可能なクラスタ』を選ぶことが命
令ステアリングの本質である．

Time

๮઎ a b = a + 1 Steer W S
๮઎ b y = x + 1 Steer W Stall S

究極的には，正確な命令発行時刻を計算してクラスタを選択することができれば，理想的な性能が得られると考えられる．全てのクラスタの中から『最も早く発行可能な』クラスタを選択することから，本論文ではそのような方式を min(ALL) と呼ぶ．

๮઎ b y = x + 1 Steer W S

しかし命令発行時刻の計算，特に Select 遅延の計
算には，命令発行を行うのと同程度以上の複雑性と遅延を要するため，現実的ではない．そのため，これま

図 4 命令ステアリングと Select 遅延の関係
Fig. 4 Relationship between Instruction Steering and
Select Delay

でに近似的な手法が提案されてきた．

3. 関 連 研 究

Wakeup， S は Select の略で，縦線はクロックを意味する．また，矢印はデータ依存関係を示している．
Producer と Consumer を同じクラスタに割り当てる

Wakeup 遅延に関しては，オペランド数が多いほど計算が複雑になる．しかし大多数の命令は，実行時に未解決であるオペランドは 1 つ以下であることが知られている2),9) ため，本論文では特に断らない限り複（上段）場合は，Consumer は次のサイクルで Wakeup

数オペランドに関する説明は省略する．通信遅延が固するが，異なるクラスタに割り当てる（下段）とクラ

定時間となるクロスバトポロジの採用を仮定すると，スタ間通信遅延と等しい Wakeup 遅延が発生する．

Consumer が Producer と同じクラスタにある場合
は Wakeup 遅延が 0 になり，それ以外のクラスタにある場合は固定サイクル (C) の通信遅延が発生する．
Wakeup 遅延は最大でも 2 値しか取りえないので，発行時間差 (= Wakeup 遅延 + Select 遅延) が最も小
さいクラスタは，以下のいずれかの条件を満たす．
• 0 入力命令の場合:
Select 遅延が最小のクラスタ．

命令集中による Select 遅延
命令が Wakeup してから Select されるまでの時間差を，本論文では Select 遅延 (又はΔ Select) と呼ぶ．
クラスタアーキテクチャは一般に，個々のクラスタの命令発行幅が狭い．そのため，同時に Wakeup する複数の命令を同クラスタにステアリングする場合，発行幅を超える後続命令には Select 遅延が発生する．この様子を 図 4 に示す．依存関係のない命令 a，命令

b を同じクラスタに割り当てる（上段）と，発行資源が利用可能になるまで命令 b は Stall する．これに対して，命令 b を異なるクラスタに割り当てる（下段）場合は命令 a と同時に発行可能である．
Wakeup 遅延と Select 遅延のバランス
命令を速やかに発行するためには，Producer とConsumer の『発行時間差』(又はΔ Issue) を短縮することが必要である．
『発行時間差』は前述の定義より，Wakeup 遅延と Select 遅延の総和で求められる．

• 1 入力命令の場合:
Wakeup 遅延が 0 である唯一のクラスタ，又は，Select 遅延が最小のクラスタ
Wakeup 遅延が 0 であるクラスタは比較的容易に特定可能であるが，Select 遅延が最小となるクラスタを求めることは一般に難しい．そのため多くの命令ス
テアリング方式では，Wakeup 遅延が 0 であるクラスタと，近似的に求めた Select 遅延が最小と思しきクラスタの中から，ヒューリスティックに従って一方を選択している．

情報処理学会論文誌

4ᧂ⸃᳿䉥䊕䊤
䊮䊄䈏ή䈇䋿
No

Yes

ᦨዋ๮઎ᢙ
䉪䊤䉴䉺

๮઎⇟ภ䈏
N䈱୚ᢙ䋿

Yes

No

ᦨ䉅⧯䈇ᧂ⸃᳿
䉥䊕䊤䊮䊄䉪䊤䉴䉺⋥೨䈱๮઎䈱
ᰴ䈱䉪䊤䉴䉺

⋥೨䈱๮઎䈫
ห䈛䉪䊤䉴䉺

図 5 Dependence Based Steering のアルゴリズム
Fig. 5 Dependence Based Steering Algorithm

図 6 Modulo Steering のアルゴリズム
Fig. 6 Modulo Steering Algorithm

3.1 Wakeup 遅延重視の Dependence BasedSteering
Wakeup 遅延の回避に特化した単純な命令ステアリ
ングとして，図 5 に示す Dependence Based Steering が考案されている3) ．この方式では Select 遅延が十分に小さいと仮定し，対象命令に未解決のオペラ
ンドが存在する場合は常に未解決オペランドと同じクラスタ (以下 OP-クラスタと略記 : OP は Operand
Producer の略）へのステアリングを行う．未解決オ
ペランドが存在しない場合は，最低負荷クラスタ（以下 LW-クラスタと略記 : LW は Lowest Workloadの略）の Select 遅延が最小であるという近似に基づいてステアリングを行う．この方式は Select 遅延が小さいことを仮定しているため，クラスタの発行幅が狭い場合のように Select 遅延の影響が大きい構成には不向きである．
3.2 Select 遅延重視の Modulo Steering
Select 遅延の回避に特化した単純な命令ステアリン

1959ᧂ⸃᳿䉥䊕䊤
䊮䊄䈏ή䈇䋿Yes

ᦨᄢ DCOUNT䈏㑣୯એ਄䋿Yes

LW-䉪䊤䉴䉺

No

LW-䉪䊤䉴䉺

No

OP-䉪䊤䉴䉺
図 7 Parcerisa らのアルゴリズム
Fig. 7 Parcerisa’s algorithm

は Parcerisa 方式と呼ぶ）．そのアルゴリズムを 図 7に示す．この方式では，負荷が均衡している場合はどのクラスタも Select 遅延が同程度であると判断してOP-クラスタ へステアリングする．逆に負荷集中が発生している場合は Select 遅延が最も小さいと予想される LW-クラスタ へステアリングする．
彼らは負荷の均衡状態を把握するために，DCOUNTという指標を採用している．DCOUNT は各クラスタ

グとして，Modulo Steering が考案されている3) ．この状態を示す符号付整数値で，命令がそのクラスタにの方式では Wakeup 遅延が十分小さいという仮定と，ステアリングされた場合に [クラスタ数–1] だけ増加し，累計ステアリング命令数が少ないクラスタは Select 遅

他のクラスタにステアリングされた場合に 1 だけ減少

延が小さい という仮定の下に，命令を Round-Robin

する．負荷状態を判断する際には，最大の DCOUNTにステアリングする．

値が閾値よりも大きければ負荷集中とみなし，小さけ

この方式は Wakeup 遅延が無視できないアーキテク
チャには不向きであるが，その点を改良した Modulo-

N Steering も提案されている．Modulo-N Steering
では連続する命令には依存関係があると仮定し，連続する N 命令ずつの塊を Round-Robin にステアリング

れば負荷は均衡しているとみなす．
この方式では Select 遅延の推定に，Consumer を
Wakeup する時点での負荷ではなく，Consumer をステアリングする時点での負荷を用いている．従ってステアリングと Wakeup に時間差が大きい場合など，することで，Wakeup 遅延の影響を軽減する (図 6)．

Wakeup 時の負荷状態とステアリング時の負荷状態が

尚，Modulo Steering は N=1 の場合の Modulo-N

異なる命令に対しては，この方式では適切な判断がでSteering と等価であるため，以下では両者を区別無く，Modulo Steering と呼ぶ．
この方式は発行時間差の計算に多数の近似を用いているため，近似精度が低下し易いことが問題である．
3.3 Out-of-Order 発行向けの Parcerisa 方式
Wakeup 遅延と Select 遅延の双方の影響を避ける
ために，Parcerisa らはクラスタ間の負荷バランスに着目した方式を提案している11),12)（以後，本論文中できない．

3.4 FIFO 発行向けの Palacharla 方式
Palacharla らは文献 10) で，マイクロプロセッサを高速化する上で，命令発行の遅延が問題になっていることを指摘し，この遅延を短縮するために FIFO 発
行方式に着目している．この方式では，FIFO 先頭の命令のみを発行可能とすることで，命令タグフォワー
ディング配線を短縮し，高速化することができる．しVol. 0No. 0
Steering

Frontend

5
EX
EX
EX
EX
EX
EX
EX
EX

Backendᧂ⸃᳿䉥䊕䊤
䊮䊄䈏ή䈇䋿

YesNoᧂ⸃᳿䉥䊕䊤䊮䊄 Yes
䈱 Producer 䈏 OP-FIFOᧃየ䈮䈅䉎䋿

FIFO IQ

No⋥೨䈱๮઎䈫
ห䈛䉪䊤䉴䉺䈮

図 8 Palacharla らの FIFO 発行クラスタアーキテクチャ

NW-FIFO 䈏䈅䉎䋿

Fig. 8 Palacharla’s FIFO Issue clustered architecture

Yes

No

かし，命令発行に制限が課せられているため，各命令に対して FIFO を選択する，命令ステアリングが重OP-FIFO⋥೨䈱๮઎䈫ห䈛䉪䊤䉴䉺䈱NW-FIFOછᗧ䈱NW-FIFO(ή䈔䉏䈳 stall )図 9 Palacharla 方式のアルゴリズム
Fig. 9 Palacharla’s algorithm

要になる．彼らは独自の命令ステアリングを提案している（以後，本論文中では Palacharla 方式と呼ぶ）．
文献 10) で提案されているアーキテクチャは，図 8に示す様に，4 つの FIFO を搭載した 2-cluster から構成される．また，図中の縦線で示すように命令タグやデータをフォワーディングする，クラスタ間ネット
ワークが存在する．Palacharla 方式は単一クラスタ内

Cluster
Steering

Frontendの FIFO 選択方法を拡張された形で考案されている．
単一クラスタ内の FIFO に対しては通信遅延が存在しないため，Wakeup 遅延は常に一定である．その

IQ

RF

EX

$

IQ

RF

EX

$

IQ

RF

EX

$

IQ

RF

EX

$

IQ

RF

EX

$

IQ

RF

EX

$

IQ

RF

EX

$

IQ

RF

EX

$

Backend

図 10 想定するアーキテクチャの構成
Fig. 10 Target architecture

ため命令ステアリングには，Select 遅延を可能な限り避けることが要求される．一般にはその様なクラスタを特定することは難しいが，特定の条件下において簡る．しかし，正確には Wakeup 遅延と Select 遅延の単に求めることができる．

和が最小になるクラスタを選択すべきであり，その様(1)

無負荷 FIFO (以下 NW-FIFO と略記 : NW

な選択のためには，Select 遅延を数値として算出する必要がある．

は No Workload の略) が存在する場合 :NW-FIFO へステアリングすれば，Consumer
は常に FIFO の先頭に位置する．
( 2 ) 未解決オペランドの Producer が FIFO の末尾にある場合 :Producer と同じ FIFO (以下 OP-FIFO と略記) にステアリングすれば，Producer の発行
直後に Consumer が OP-FIFO の先頭に位置する．
Palacharla 方式ではこれらの性質を受けて，条件

4.1 本研究で想定するプロセッサ構成
本研究で想定するアーキテクチャの構成を 図 10に示す．想定するアーキテクチャは Frontend，クラスタ部，Backend から構成される．Frontend では命
令のフェッチ，デコード，レジスタリネーミングを行
い，分散した IQ への命令ステアリングを行う．IQ（2）を満たす FIFO があればその FIFO （OP-FIFO）

からキャッシュまではクラスタに含まれており，レジへ，無ければ条件 （1） を満たす NW-FIFO へステ

スタとキャッシュはそれぞれが完全な複製を保持する．

アリングする．NW-FIFO が不足した場合には，いずBackend は主にリタイア処理を行う．尚，本論文ではIQ の発行方式として，Out-of-Order（OOO） 発行と FIFO 発行の 2 方式を評価の対象とする．
4.2 基本評価環境
以下で評価に用いるシミュレータの基本設定を 表 1に示す．1 並列のクラスタ 8 つから成る構成とし，キャッシュやメモリ依存予測は理想化した．また，各クラスタの演算器は完全にパイプライン化されていると仮定

れかの FIFO が空になるまでステアリングステージ
以前のパイプラインを stall させる．逆に NW-FIFO
が複数存在する場合は，直前の命令と同じクラスタに属する FIFO を優先することで，クラスタ間通信の影響を軽減する．この方式のアルゴリズムフローチャー
トを 図 9 に示す．
この方式では，Select 遅延の有無のみに着目してい4. 本研究で想定するプロセッサ構成と評価
環境情報処理学会論文誌

6
表 1 シミュレータの基本設定
Table 1 Baseline simulator conﬁguration

Total Pipeline Depth
Issue-to-Wakeup
D1 Access
L2 Access
クラスタ間通信遅延
整数演算遅延
整数乗算遅延
浮動小数点演算遅延
分岐予測
メモリ依存予測命令キャッシュ
データキャッシュ
各クラスタの発行幅と総数
クラスタ間ネットワークトポロジ
各 IQ のエントリ数
Active List の大きさ
命令発行方式
フェッチ幅
リタイア幅
演算器の機能命令セット
測定命令数

20 stages
1 cycle2 cycles
12 cycles
2 cycles1 cycle15 cycles
4 cyclesGshare （64k エントリ）
理想化
100% hit
100% hit
1-issue × 8-cluster
クロスバ
32
256
OOO or FIFO
8
8
全種類の命令を処理可能
Alpha 21264
256M 命令

0.8
0.7
0.6
0.5
IP
C0.4
0.3
0.2
0.1
0.0

1959

min
(ALL)

min
(OP, LW)min(OP, NW)

Parcerisa Dependence

Modulo

図 11 従来方式の CPI 比較 (OOO 発行)
Fig. 11 Performance analysis of prior steering algorithms(OOO Issue)

選択する．

5.1 OOO 発行に対する先行方式の性能解析
OOO 発行の想定アーキテクチャに対して，各種ス
テアリング方式を用いた場合の CPI を 図 11 に示す．

尚 Sensitivity の評価のために，クラスタ間通信遅まず理想的な方式に着目すると，min(OP, LW) はmin(OP, NW) よりも CPI が小さく，min(ALL) との差が殆ど見受けられない．これは，Select 遅延が最小となるクラスタとして LW-クラスタ を選択する近似の妥当性を示唆している．
また従来方式に関しては，Parcerisa 方式の CPI が最も小さい．これは Parcerisa 方式で用いている近似
が，他方式の近似よりも精度が高いことを示している．
ここで，min(OP, LW) と Parcerisa 方式に着目す

延，クラスタの並列度，キャッシュに関しては，それると，両者は Select 遅延が最小となるクラスタとしてぞれ変化させたデータも測定する．

LW-クラスタを選択している点で共通しており，OPクラスタと LW-クラスタの一方を選択する判断基準のみが異なる．従って両者の CPI の差は，Parcerisa
方式のクラスタ選択の判断基準が不正確であることに起因する．つまり，Parcerisa 方式はクラスタの判断基準に改善の余地が残っていることが確認された．
5.2 FIFO 発行に対する先行方式の性能解析
同様に，FIFO 発行の想定アーキテクチャに対して，
各種ステアリング方式を用いた場合の CPI を 図 12

し，それぞれ Alpha 21264 の全ての種類の演算を実行できると仮定した．分岐ミスペナルティとなる総パ
イプライン段数は，全部で 20 段とし，データ依存のある命令の発行間隔（Issue-to-Wakeup 遅延）は最短
で 1 サイクルとした．クラスタ間の通信遅延に関しては 2 サイクルと仮定して評価を行った．

性能評価には SPECint95 の train 10 種を全て使用し，これらのアプリケーションを 256M 命令動作
させ，平均 CPI （Clocks Per Instruction : IPC の逆数） を求めた．バイナリは OSF1 上で gcc 2.95.2
を用いて作成した．また測定にはトレースシミュレー
タを用いた．

5. 先行命令ステアリング方式の性能
Wakeup 遅延が最小となるクラスタは OP-クラス
タであるが，Select 遅延が最小となるクラスタを正確に特定することは難しい．そこで，Select 遅延最小クラスタの近似として, 従来方式が用いている LW-クラ
スタ や NW-クラスタ を用いる近似の精度を調べる
ために，min(OP, LW)，min(OP, NW) という項目も用意した．これらは min(ALL) が全てのクラスタからΔ Delay が最小であるクラスタを選択するのに対し，OP-クラスタと LW-クラスタ 又は NW-クラ
スタ の中だけからΔ Issue が最小であるクラスタをに示す．

FIFO 発 行 の 場 合 は ，min(OP, NW) の 方 がmin(OP, LW) よりも CPI が小さく，min(ALL) との差が殆ど見受けられない．これは，Select 遅延が最小となるクラスタとして NW-クラスタ を選択する近似の妥当性を示唆している．
従来方式に関しては，Palacharla 方式の CPI が最も小さい．これは Palacharla 方式で用いている近似
が，他方式の近似よりも精度が高いことを示している．
OOO 発行の場合と同 様に，min(OP, NW) とVol. 0

No. 0

7

1.2
1.0

ᧂ⸃᳿䉥䊕䊤
䊮䊄䈏ή䈇䋿

0.8

LW-䉪䊤䉴䉺

No

IP
C0.6

ᧂ⸃᳿䉥䊕䊤䊮䊄 Yes
䈫䈱 Distance䈏㑣୯એౝ䋿

Producer

0.4

OP-䉪䊤䉴䉺

No

0.2
0.0

Yes

LW-䉪䊤䉴䉺

min
(ALL)

min
(OP, LW)min(OP, NW) Palacharla Dependence

図 12従来方式の CPI 比較 (FIFO 発行)

ModuloFig. 12 Performance analysis of prior steering algorithms(FIFO Issue)

Producer⊒ⴕConsumer
WakeupConsumer⊒ⴕ㰱/ TOP-䉪䊤䉴䉺

図 14 Out-of-Order 発行向け提案手法のアルゴリズム

Fig. 14 Proposal algorithm for OOO issue

0 に近似する．よって，通信遅延を C とすると以下の近似式が成り立つ．
W akeupDelay(OP ) = 0
W akeupDelay(∗W ) = C
SelectDelay(OP ) = ∆/T

Palacharla 方式の CPI の差は，Placharla 方式のク
ラスタ選択の判断基準が不正確であることに起因する．
つまり，Palacharla 方式はクラスタの判断基準に改善

SelectDelay(∗W ) = 0
従って，両クラスタの発行時間差は以下の式で求められる．
IssueDelay(OP ) = ∆/T
IssueDelay(∗W ) = C
すると『最も早く発行可能なクラスタ』は ∆/T とC の大小比較，つまり ∆ と C×T の大小比較で決定できる．
∆ を正確に算出する方法としては，ステアリングされた命令に対して，クラスタ毎に通し番号を付けるこの余地が残っていることが確認された．

とが考えられる．この通し番号の差を Local Distance*W-䉪䊤䉴䉺

C
Consumer
WakeupConsumer⊒ⴕ

図 13 発行時間差の近似計算
Fig. 13 Issue Delay apploximation

6. 依存命令の発行時間差に基づいた命令ステ
アリング方式の提案と評価と呼ぶ．

関連研究に於けるクラスタ選択の不正確性を改善すため，複雑性が増加する可能性がある．この様な複雑るために，本研究では，『最も早く発行可能なクラスタ』

性の増加を避けたい場合には，クラスタ毎の通し番号の高精度な推定に着目した．以下で説明する推定方式

を，アクティブリスト中の間の命令数で代用することの概要を 図 13 に示す．この図は OP-クラスタ，*W-が考えられる．この命令タグの差を Global Distance

クラスタ (LW-クラスタ と NW-クラスタの総称) にと呼び，その値は Δ Select に比例するとみなす．

しかしクラスタ毎に命令の通し番号を付けるには，番号の生成や記憶等の管理ハードウェアが必要になる

Consumer 命令をステアリングする場合の，Producer

C×T に関しては，実効スループットを求めることの発行時刻，Consumer の Wakeup 時刻及び発行時も考えられるが，本研究では簡単のために適当な定数

刻を順に示している．

を設定することにした．

Producer が発行してから Consumer が発行するまでの時間差（IssueDelay）は，次の式で求められる．
IssueDelay = W akeupDelay + SelectDelay
ここで OP-クラスタ内の実際の命令発行スループッ
トを T，OP-クラスタに於ける Producer と Consumer の間の命令数を ∆ とすると，OP-クラスタに於ける Select 遅延は ∆ / T である．また，*W-クラスタに於ける Select 遅延は小さいと考えられるため，

従って，先の比較計算は，Local （Global）Distanceと 閾値（定数） の比較に帰着された．

Local Distance や Global Distance を判断基準とす
る命令ステアリングは，OOO 発行向け，FIFO 発行向け命令ステアリングそれぞれの枠組みである，min(OP,
LW)，min(OP, NW) に従って図 14，図 15 の形になる．

情報処理学会論文誌

8

1959

0.65

ᧂ⸃᳿䉥䊕䊤
䊮䊄䈏ή䈇䋿
No

Yes

0.60

NW-䉪䊤䉴䉺
(ή䈔䉏䈳 stall )ᧂ⸃᳿䉥䊕䊤䊮䊄 Yes
䈫䈱 Distance䈏㑣୯એౝ䋿

Producer

0.55
IP
C0.50

OP-䉪䊤䉴䉺

0.45

No

0.40

NW-䉪䊤䉴䉺
(ή䈔䉏䈳 stall )

0.35

図 15

FIFO 発行向け提案手法のアルゴリズム
Fig. 15 Proposal algorithm for FIFO issuemin(ALL) min(OP, NW) Palacharla

Local
Distance

GlobalDistance

図 17 従来方式と提案方式の CPI 比較 (FIFO 発行)
Fig. 17 Performance comparison of prior and proposed
steering algorithms (FIFO Issue)

0.65
0.60
0.55

7. Sensitivity Analysis

IP
C0.50

7.1 提案手法の閾値依存性

0.45

次に，基本設定に於ける，各アプリケーション・閾

0.40
0.35

値毎の CPI を測定した．その結果を 図 18，図 19 にmin(ALL) min(OP, LW) Parcerisa

Local
Distance

GlobalDistance

図 16 従来方式と提案方式の CPI 比較 (OOO 発行)
Fig. 16 Performance comparison of prior and proposed
steering algorithms (OOO Issue)

6.1 評
価
表 1 で示した基本構成に於ける各種方式の CPI を，
図 16，図 17 に示す．それぞれ OOO 発行，FIFO 発行の場合の CPI を示している．
提案方式 Local Distance Steering は OOO 発行では 9.2%，FIFO 発行では 5.0%，従来方式よりも CPIが改善されている．これは Local Distance Steeringが Select 遅延の推定に用いている近似の精度が，各従来方式が用いている近似の精度よりも高いためである．
特に OOO 発行の場合は，Local Distance Steeringと理想方式 min(ALL) との性能差が 3.3% と極めて小さく，優れた近似精度であることが伺える．

Global Distance Steering に関しては，OOO 発行

示す．左側の 5 つの棒は Local Distance （LD） の閾値 0〜4 に対応しており，右側の 5 つの棒は Global

Distance （GD） の閾値 2〜6 に対応している．
OOO 発行の場合は各アプリケーションとも，平均と同様緩やかな CPI 推移を示しており，閾値を LD02，
GD04 前後に設定しておけば概ね最適な設定になっている．しかし FIFO 発行の場合には，急激な CPI 変化を示すアプリケーションが存在する．
Local / Global Distance は閾値が無限であればDependence Based と同じ動作をする．その場合は，
図 20 の様に，出力が複数回使用される命令を含むデー
タフローが特定のクラスタに集中し，Select 遅延のために性能が低下する．閾値を下げれば，その様なデー
タフローが分割され易くなり，Wakeup 遅延が増加する代わりに Select 遅延が軽減される．m88ksim や
perl-p の様に，閾値による急激な CPI 変化を示すア
プリケーションは，図 20 の様なデータフローの実行回数が多いためであると考えられる．実際 m88ksim
に関しては，『出力が複数回使用される命令』(図 20 のの場合は Parcerisa 方式よりも CPI が 5.7% 改善さA) の実行頻度が，他のアプリケーションに比べて顕れているが，FIFO 発行の場合は Palacharla 方式と著に多いことを確認している．

比べて 0.6% と僅かながら CPI が劣化している．こ7.2 通信遅延を変化させた場合の評価
基本設定から，通信遅延を 1〜4 の間で変化させながら測定した CPI を，図 21，図 22 に示す．尚，各方式に関して，それぞれ最適な閾値を用いた場合の CPIを掲載した．
通信遅延が大きいほどΔ Wakeup が増加するため，
CPI が増加している．ただし，OOO 発行の場合のれは Global Distance Steering が用いている，Δ Se-

lect(OP) が Global Distance に比例するという近似の精度が，Parcerisa 方式が用いている近似の精度より高く，Palacharla 方式が用いている近似の精度より低いことを示している．

Vol. 0

No. 0

9

LD0

LD1

LD2

LD3

LD4

go

eg
ijp

li

GD2

GD3

GD4

GD5

GD6

1.2
1.0
0.8

IP
C 0.6
0.4
0.2
0.0
s
5
es cc9
pr
g
m
co

l-j
l-s
95
l-p
sim perk
er per tex
p
8
r
8
vo
m

e
ag
er
v
a

図 18 提案方式の閾値とアプリケーション毎の CPI (OOO 発行)
Fig. 18 Performance of individual applications with diﬀerent threshold values (OOO issue)

LD0

LD1

LD2

LD3

LD4

go

eg
ijp

li

GD2

GD3

GD4

GD5

GD6

1.2
1.0
0.8

IP
C 0.6
0.4
0.2
0.0
s
5
es cc9prgmcoj
im erll-s
95
l-p
ks
er per tex
p
p
8
r
8
vo
m

ge
ra
e
av

図 19 提案手法の閾値とアプリケーション毎の CPI (FIFO 発行)
Fig. 19 Performance of individual applications with diﬀerent threshold values (FIFO issue)

A:ᄙᢙ Consumer ဳB:⚵䉂ว䉒䈞ဳ延に依らず一定である．つまり，Δ Wakeup に起因する推定誤差の分だけ CPI が劣化し，各方式の性能差が広がっている．また，提案方式 Local DistanceSteering は通信遅延の大小に関わらず，CPI を削減できている．
基本的に，通信遅延が変化しても各方式間の優劣は
図 20 閾値が問題になり易いデータフローグラフの例
Fig. 20 Example of threshold sensitive Data Flow Graph

変化しないが，FIFO 発行の場合の Palacharla 方式
だけは，通信遅延が増加した場合に CPI が大きく劣化し，Global Distance Steering との優劣が逆転してmin(ALL) と min(OP, LW) の差や，FIFO 発行の場
合の min(ALL) と min(OP, NW) の差の様に，純粋にΔ Select の推定誤差に起因する性能差は，通信遅いる．これは，Palacharla 方式は Δ Wakeup =0 を前提に設計されているため，通信遅延が増加した場合に他方式よりも大きな近似誤差が発生することが原因

情報処理学会論文誌

10
min(ALL)

min(OP, LW)

Parcerisa

Local Distance

1959

Global Distance

0.55

min(ALL)

Parcerisa

Local Distance

Global Distance

0.55

0.50

0.50

IP
C

IP
C

0.45

0.45

0.40
0.40

0.35
1

2

3

4

0.35

inter-cluster commnication lantecy

1-issue x 8-cluster

図 21 通信遅延を変化させた場合 (OOO 発行)
Fig. 21 Impact of inter-cluster communication latency on
CPI (OOO issue)min(ALL)

min(OP, NW)

Palacharla

Local Distance2-issue x 4-cluster

4-issue x 2-cluster

図 23 発行幅を変化させた場合 (OOO 発行)
Fig. 23 Impact of issue width per cluster on CPI (OOO
issue)

Global Distancemin(ALL)

Palacharla

Local Distance

Global Distance

0.65

0.65

0.60

0.60

0.55

0.55

IP
C

IP
C

0.50

0.50

0.45
0.45
0.40
0.40
0.35
1

2

3

4

inter-cluster communication latency

図 22 通信遅延を変化させた場合 (FIFO 発行)
Fig. 22 Impact of inter-cluster communication latency on
CPI (FIFO issue)

0.35
1-issue x 8-cluster

2-issue x 4-cluster

4-issue x 2-cluster

図 24 発行幅を変化させた場合 (FIFO 発行)
Fig. 24 Impact of issue width per cluster on CPI (FIFO
issue)

である．

Cluster
Steering

7.3 発行幅を変化させた場合の評価
同様に，発行幅を変化させた場合の CPI を 図 23，
図 24 に示す．尚，クラスタ全体の発行幅を 8 に固定するために，発行幅を増やした分だけクラスタ数を減少させている．
OOO 発行の場合は，クラスタの並列度が上がるとステアリング方式による CPI 差が小さくなっているが，FIFO 発行の場合は，並列度が上がっても CPI 差
があまり小さくならない．これは，OOO 発行の場合プットを固定値で近似しているため，キャッシュミスのFrontend

IQ
IQ
IQ

EX
EX

IQ
IQ
IQ

EX
EX

Backend

図 25 Dispatch-Driven OOO 発行アーキテクチャ (2x2)
Fig. 25 Dispatch-Driven OOO Issue Architecture

Global Distance Steering は OP-クラスタのスルー

は並列度が上がると 図 25 の様に，ステアリングの選影響を受けやすい可能性がある．そこで本節では，現択肢が減少するのに対し，FIFO 発行の場合は図 26

実的なキャッシュパラメータに対する性能を測定した．

の様に並列度に関わらず，ステアリングの選択肢が一4 節で述べたように，本研究では全クラスタに複製されたキャッシュが搭載されていることを仮定している．また，クラスタアーキテクチャの意義から考えて，個々のクラスタに 8k bytes という小さめのキャッシュ容量を想定した．尚，内容を全クラスタに複製するため，正味のキャッシュ容量はプロセッサ全体でも 8k
bytes となる．その他のパラメータは 表 2 に示す．
また，そのパラメータで測定した，各方式の CPI を定であることに起因する．つまり，OOO 発行の場合はステアリングの選択肢数が減少するため，運良く最適なクラスタを選択できる可能性が増加していると考えられる．

7.4 現実的なデータキャッシュを用いた場合
基本構成ではデータキャッシュを 100%ヒットとして理想化していたが，Local Distance Steering やVol. 0No. 0

11Palacharla

Cluster
Steering

EX
EX

Frontend

Local Distance

Global Distance

0.65
0.60

Backend

EX
EX

0.55

IP
C0.50

FIFO IQ

0.45

図 26 Dispatch-Driven 複数 FIFO アーキテクチャ (2x2)
Fig. 26 Dispatch-Driven FIFO Issue Architecture

0.40
0.35
cache 100%hit

表 2 キャッシュパラメータ
Table 2 cache parameters

L1 Data Cache
L1 Instruction Cache
L2 Uniﬁed Cache

Capacity
8k bytes
Associativity
2-way
Line Size
32 bytes/line
100%hit
100%hit

8k-cache

図 28 8k のデータキャッシュを用いた場合 (FIFO)
Fig. 28 CPI with 8KB data cache (FIFO issue)

8. 異なるクラスタアーキテクチャとの比較
冒頭でも述べたように，クラスタアーキテクチャには Dispatch-Driven の他に Execution-Driven というParcerisa

Local Distance

Global Distance0.65

構成が存在する．本節では，Execution-Driven 構成と提案方式を用いた Dispatch-Driven 構成の比較を

0.60

行う．

0.55

Dispatch-Driven の特徴
Dispatch-Driven では，IQ がクラスタ化されているため，Wakeup 遅延と Select 遅延の総和を小さくするステアリングが必要である．
Execution-Driven の特徴
それに対して Execution-Driven では IQ がクラスタ化されていないため，Δ Select =0 と見なして良い．

IP
C0.50
0.45
0.40
0.35
cache 100%hit

8k-cache

図 27 8k のデータキャッシュを用いた場合 (OOO)
Fig. 27 CPI with 8KB data cache (OOO issue)

そのため Wakeup 遅延だけを小さくするステアリン
グを行えば良く，Dispatch-Driven よりも発行遅延を

図 27，図 28 に示す．

軽減することが可能である．つまり，高い IPC が期

理 想 的 な 性 能 を 意 味 す る min(ALL)，min(OP,待できる．従って，OOO 発行 Execution-Driven は，

LW)，min(OP, NW) は正確な処理レイテンシを元に算出する必要があるため，キャッシュを理想化しなければ測定できない．そのため，これらの項目は 図 27，
図 28 には掲載していない．それ以外の方式に関して
は，OOO 発行，FIFO 発行のいずれも 8k-byte キャッシュを用いることに伴う性能劣化はほぼ同程度であり，

OOO 発行 Dispatch-Driven の IPC 上限と考えることができる．
しかしその反面，各クラスタに対して利用可能なオペランドを把握する必要があるため，IQ が複雑になる．
小林らのアーキテクチャの特徴

提案方式 Local Distance Steering が最も高性能であ

小林らは文献 16) で，Execution-Driven の IPC をることが確認された．FIFO 発行であってもキャッシュ

更に向上させるために，データフローグラフの最長パミスの影響を大きく受けない理由としては，各方式とスの命令に着目して，発行待ち命令に優先順位を設けも基本的にはデータ依存に基づいてステアリングさることを提案している．小林らは複数 FIFO からなる
IQ と PIT (Path Information Table) を用いて，デー
タフローの最長パスを計算し，優先すべき重要な命令を認識している．従って，小林らのアーキテクチャは
図 29 の様に FIFO 発行の Execution-Driven という構成になる．IQ が複数の FIFO から構成されている
ため，FIFO に対するステアリングも必要であるが，れていることが考えられる．つまり，キャッシュミスを起こしたロード命令とその後続命令が，同じクラス
タに隣接してステアリングされることが多いために，
キャッシュミスの影響は軽減されていると考えられる．

情報処理学会論文誌12

表 3 各種アーキテクチャ構成
Table 3 architecture conﬁgurations

Cluster
Steering

Steering

EX

Frontend

Backend
FIFO IQ

1959

EX

図 29 小林らのアーキテクチャ
Fig. 29 Kobayashi’s Architecture

Execution-Driven(OOO)

小林らの構成(FIFO)

これには DFG 解析に応用可能な Palacharla 方式を用いている．このアーキテクチャでは，一度目のステアリングで Select 遅延が決定し，二度目のステアリ

Dispatch-Driven(OOO/FIFO 共通)

ングで Wakeup 遅延が決定する．Execution-Driven

IQ エントリ数
発行幅
クラスタ数
クラスタの演算能力
IQ エントリ数
発行幅
クラスタ数
FIFO 数クラスタの演算能力
IQ エントリ数
クラスタの発行幅
クラスタ数
クラスタの演算能力

256
8 命令/cycle
81 命令/cycle
32/FIFO
8 命令/cycle
816
1 命令/cycle
32/cluster
1 命令/cycle
81 命令/cycleのステアリングを行う点，優先順位を設ける点，の 2
点のために複雑性が増加するが，Wakeup, Select 遅

0.50

延を個別に決定できるために発行遅延を軽減し易く，

IPC 向上が期待できる．
従って，小林らのアーキテクチャは，FIFO 発行

Dispatch-Driven の IPC 上限であると考えられる．
評
価
各アーキテクチャの CPI 測定に関して 表 3 に示す
パラメータを用いた．表中に記載のないパラメータは
表 1 の値を用いている．尚，小林らの方式は FIFO 数が少ない構成では本来の性能を発揮できないため，評
価には 16 FIFO 構成を用いた．また，小林らの提案方式に加えて，優先順位を設けない方式 (FIFO 発行
Execution-Driven) も比較対象とした．各種アーキテ
クチャに対する CPI を図 30，図 31 に示す．

OOO 発行に関しては，理想方式 min(ALL) を用いることで 性能上限である Execution-Driven と遜色のない CPI が得られている．同様に，提案方式 Local Distance Steering も良好な CPI が得られており，
Execution-Driven との差は 3.3% である．このことから OOO 発行の場合は，Dispatch-Driven 構成に提案方式を導入することで，複雑な Execution-Drivenに近い性能が得られることが確認された．
FIFO 発行に関しては，Execution-Driven に対して小林らの方式を用いることで 4.5% CPI を改善でき

0.45

PI
C
0.40

0.35

(Palacharla)
Exec. Drivenmin(ALL)

Local DistanceDisp. Driven

Parcerisa

図 30 異なるアーキテクチャとの比較 (OOO 発行)
Fig. 30 CPI comparison of various architectures (OOO
Issue)

0.55
0.50

IP
C0.45
0.40
0.35

ዊᨋᣇᑼ

(Palacharla)
Exec. Drivenmin(ALL)

Local Distance Palacharla
Disp. Driven

図 31 異なるアーキテクチャとの比較 (FIFO 発行)
Fig. 31 CPI comparison of various architectures (FIFO
Issue)ている．これに対し，Dispatch-Driven の CPI 下限である min(ALL) は 4.4% CPI が増加しており，提案方式 Local Distance Steering は 12% CPI が増加している．このように FIFO 発行の場合は，各方式の9. ま と め

性能は複雑性とのトレードオフなっている．従って提本論文では，命令の発行時刻情報を用いた理想的な案方式は，小林らの様な複雑な方式には適わないが，

命令ステアリング方式に対する，有効な近似方式を検比較的単純な構成を仮定する場合には有効な方式であ討した．先行研究に於ける近似方式では，選択するク

る と位置付けられる．

ラスタを（1）Wakeup 遅延に着目して，未解決オペ
ランド生成クラスタ，（2）Select 遅延に着目して，命Vol. 0No. 013

令数が少ないクラスタ に限定する近似は妥当であったが，両者から 1 つを選択する部分に近似の劣化が確認された．
そこで我々は，命令の発行時刻の定義から導出した近似式を用いて，データ生成命令と消費命令の命令間距離を用いることで，先行方式よりも高精度な Select
遅延推定を行う Local Distance Steering を提案した．
この方式は OOO 発行のクラスタアーキテクチャに対して，先行研究 Parcerisa 方式から 9.2% の CPI 改
善を確認し，残る性能向上の余地は 3.3% しか存在しないことを確認した．また FIFO 発行のクラスタアー
キテクチャに対しては，先行研究 Palacharla 方式から 5.0% の CPI 改善が確認された．
更に我々は，Local Distance をより簡単な方法で近似する Global Distance Steering を提案した．この方式は OOO 発行のクラスタアーキテクチャに対して，Parcerisa 方式から 5.7% の CPI 改善が確認された．しかし FIFO 発行のクラスタアーキテクチャに対しては，Palacharla 方式からの改善は確認されなかった．
また，通信遅延やクラスタの発行幅を変えた場合，
或いはデータキャッシュを理想化しない場合でも，提案手法 Local Distance Steering が有効であることを確認した．更に，OOO 発行の場合は提案方式を用いた Dispatch-Driven なクラスタアーキテクチャが，Execution-Driven に迫る性能を発揮することを確認した．
今後の課題としては，以下の 2 点を考えている．今回の提案は，全クラスタにレジスタファイルやキャッシュの内容が複製されることを前提としていた．しかし資源の利用効率を考えると，そのような複製には無駄が多い．そこで，複製を制限するアーキテクチャに対しても提案方式を適用させたいと考えている．また，今回はクロスバ型のネットワークトポロジを前提にしていたが，リング等の他のトポロジに対しても提案方式の評価，或いは改良を行う必要があると考えている．
謝辞 本論文の研究は，一部 21 世紀 COE 「情報技術戦略コア」による．

参

考

文

献

1) Vikas Agarwal, M.S. Hrishikesh, Stephen W.
Keckler, and Doug Burger. Clock Rate versus
IPC: The End of the Road for Conventional
Microarchitectures. ISCA 2000, pp. 248–259,
2000.
2) André Seznec and Eric Toullec and Olivier
Rochecouste. Register Write Specialization

Register Read Specialization: A Path toComplexity-Eﬀective Wide-Issue Superscalar
Processors. MICRO 2002, pp. 383–394, 2002.
3) Amirali Baniasadi and Andreas Moshovos.
Instruction Distribution Heuristics for QuadCluster Dynamically-Scheduled, Superscalar
Processors. MICRO 2000, pp. 337–347, 2000.
4) Ramon Canal, Joan-Manuel Parcerisa, andAntonio González. A Cost-Eﬀective Clustered
Architecture. PACT 1999, pp. 160–168, 1999.
5) M.S. Hrishikesh, Norman P. Jouppi, Keith I.
Farkas, Doug Burger, Stephen W. Keckler, andPremkishore Shivakumar. The Optimal Logic
Depth Per Pipeline Stage is 6 to 8 FO4 Inverter
Delays. ISCA 2002, pp. 14–24, 2002.
6) Keith I. Farkas, Paul Chow, Norman P.
Jouppi, and Zvonko Vranesic. The Multicluster
Architecture: Reducing Cycle Time ThroughPartitioning. MICRO 1997, pp. 149–159, 1997.
7) R. E. Kessler. The Alpha 21264 Microprocessor. IEEE Micro, pp. 25–36, 1999.
8) Ho-Seop Kim and James E. Smith. An Instruciton Set and Microarchitecture for Instruction Level Distributed Processing. ISCA
2002, pp. 71–86, 2002.
9) Ilhyun Kim and Mikko H.Lipasti. Half-Price
Architecture. ISCA 2003, pp. 28–38, 2003.
10) Subbarao Palacharla, Norman P. Jouppi, andJ. E. Smith. Complexity-Eﬀective Superscalar
Processors. ISCA 1997, pp. 206–218, 1997.
11) Joan-Manuel Parcerisa and Antonio González.
Reducing Wire Delay Penalty through Value
Prediction. MICRO 2000, pp. 317–326, 2000.
12) Joan-Manuel Parcerisa, Julio Sahuquillo, Antonio González, and José Duato. Eﬃcient Interconnects for Clustered Microarchitectures.
PACT 2002, pp. 291–300, 2002.
13) Steven E. Raasch, Nathan L. Binkert, andSteven K. Reinhardt. A Scalable Instruction
Queue Design Using Dependence Chains. ISCA
2002, pp. 318–329, 2002.
14) Eric Sprangle and Doug Carmean. Increasing Processor Performance by Implementing
Deeper Pipelines. ISCA 2002, pp. 25–34, 2002.
15) Jared Stark, MaryD. Brown, and YaleN. Patt.
On Pipelining Dynamic Instruction Scheduling
Logic. MICRO 2000, pp. 57–66, 2000.
16) 小林良太郎, 安藤秀樹, 島田俊夫. データフロー・
グラフの最長パスに着目したクラスタ化スーパス
カラ・プロセッサにおける命令発行機構. JSPP
2001, pp. 31–38, 2001.
(平成 16 年 01 月 31 日受付)
(平成 16 年 05 月 21 日採録)

情報処理学会論文誌

14

服部 直也

1959

坂井 修一（正会員）

1976 年生. 1999 年東京大学工学

昭和 56 年東京大学理学部情報科

部電子情報工学科卒業. 2004 年同学科卒業．昭和 61 年同大学院工学

大学院情報理工学系研究科電子情報系研究科情報工学専門課程修了．工学専攻博士課程修了. 情報理工学博

学博士．同年工業技術院電子技術総士. プロセッサアーキテクチャなど

合研究所入所．平成 3 〜4 年，米国の研究に従事.

マサチューセッツ工科大学招聘研究員，平成 5 〜8 年

RWC 超並列アーキテクチャ研究室室長．平成 8 年筑波大学電子・情報工学系助教授．平成 10 年東京大学
大学院工学系研究科助教授，平成 13 年同大学院情報理工学系研究科教授．計算機システム一般，特にアー高田 正法（学生会員）

キテクチャ，並列処理，スケジューリング問題，マル1979 年生．2003 年東京大学工学

チメディア応用などの研究に従事．著書「論理回路入部電子情報工学科卒業．現在, 同大学門」，「図説コンピュータアーキテクチャ」．電子情報院情報理工学系研究科電子情報学専

通信学会，人工知能学会，IEEE ，ACM 各会員．

攻修士課程在学中．プロセッサアー
キテクチャなどの研究に従事．

岡部淳

田中 英彦（正会員）

1976 年生. 1999 年早稲田大学理

昭和 40 年東京大学工学部電子工

工学部電子通信学科卒業. 2001 年

学科卒業．昭和 45 年同大学院工学東京大学工学系研究科情報工学専攻系研究科博士課程修了．工学博士．

終了. 現在，東京大学院情報理工学

同年同大学工学部講師．昭和 46 年

系研究科電子情報学専攻博士課程在同助教授．昭和 62 年同教授．平成13 年より同大学院情報理工学系研究科教授・研究科長．

学中. プロセッサアーキテクチャなどの研究に従事.

この間昭和 53 〜54 年米国ニューヨーク市立大学客員教授．計算機アーキテクチャ，並列処理，自然言語処
入江 英嗣（正会員）

1975 年生. 1999 年東京大学工学部電子情報工学科卒業. 2004 年同
大学院情報理工学系研究科電子情報学専攻博士課程修了. 情報理工学博士. プロセッサアーキテクチャなどの研究に従事.

理，メディア処理，分散処理，CAD 等の研究に興味を持っている．著書「非ノイマンコンピュータ」，「情報
通信システム」，「Parallel Inference Engine -PIE-」，共著書「計算機アーキテクチャ」，「VLSI コンピュー「ソフトウェア指向アーキテクチャ」．本会
タ I,II 」，
フェロー．電子情報通信学会，人工知能学会，日本ソフトウェア科学会，IEEE ，ACM 各会員．