DAシンポジウム
Design Automation Symposium

DAS20162016/9/14

不定サイクル演算に対応した分散制御における投機的実行
清水 美帆1

石浦 菜岐佐1

概要：本稿では, データフローグラフ境界を越えて動的スケジューリングを行う分散制御方式に投機的実行を導入する手法を提案する. 一般的な高位合成手法で用いられる静的スケジューリングでは, 実行時にサイ
クル数が変動する演算が存在する場合, 余分な待ちが発生する. このような回路を効率的に制御する手法として, 演算の実行タイミングを動的に調整する分散制御方式が提案されているが, 我々はこれを拡張し, 複数のデータフローグラフにまたがって動的な演算スケジューリングを実現する手法を提案している. これに対し本稿では, さらに分岐予測に基づく演算の動的な投機的実行を可能にする手法を提案する. 2 つの回路に対する実験では, 投機的実行を行わない分散制御に対し約 5.0%の回路規模の増加で, サイクル数を平均 15.2%削減できた.
キーワード：高位合成, 分散制御, 動的スケジューリング, 分岐予測, 投機的実行

Speculative Execution in Distributed Controllers
for High-Level Synthesis
Shimizu Miho1

Ishiura Nagisa1

Abstract: This article proposes a method of incorporating speculative execution into distributed control
which enables dynamic scheduling of operations beyond the boundaries of basic blocks. In the presence ofvariable latency units, the static scheduling scheme in conventional high-level synthesis causes wasteful waits.
Distributed control enables dynamic scheduling of operations, of which we previously proposed an extension
to allow operation motion across two dataflow graphs. In this article, we further introduce speculative execution based on branch prediction into our previous scheme. Experimental results on two examples showedthat the execution cycles were reduced by 15.2% on average as compared with our previous method without
speculative execution, while the circuit size was increased by 5.0%.
Keywords: high-level synthesis, distributed controller, dynamic scheduling, branch prediction, speculative
execution

1. はじめに技術 [1] の研究が進められている.
従来の高位合成手法では, 演算の実行に要するサイクル

近年の集積回路技術の発展に伴って, 実装可能なハード数は固定として静的なスケジューリングが行われていた.

ウェアの機能や規模は年々増大している. 一方で, 製品サ

しかし, 演算の中には, オペランドや演算器の状況等に依存

イクルは短縮化の傾向にあり, ハードウェアの開発期間短して実行時にサイクル数が変化する「不定サイクル演算」

縮に対する要求は益々厳しくなっている. ハードウェアのが存在する. 通常は実行に要する最大サイクル数を想定し設計を効率化する手法の一つとして, C 言語等による動作てスケジューリングを行うが, 演算がそれよりも早く完了

記述からハードウェアの設計記述を自動生成する高位合成

した場合には無駄な待ち時間が発生してしまう.
演算器からの完了信号に基づいて演算の実行タイミング

1

関西学院大学 理工学部
Kwansei Gakuin University, 2-1 Gakuen, Sanda, Hyogo,
669–1337, Japanⓒ 2016 Information Processing Society of Japanを動的に調整すれば無駄な待ちを解消できるが, 従来の制御方式では状態機械の状態数が著しく増加し, 回路規模が

56

DAシンポジウム
Design Automation Symposium

A
a

b c

+1 ∗2
+3

M

+1

d

DAS20162016/9/14

A

M

A

+1 ∗2

∗
2

+3

+3

u

∗4

4
(b)

(a)

A

+1

4

FSM

∗

S0
S1

+3

4
(c)

M

2

∗
∗

∗

t

M

+1 ∗2
+3

S3

∗

(d)

S4

4
図 1

A

S2

M

FSMA FSMM

+1 ∗2

S1

S2

+3 ∗4

S3

S4

不定サイクル演算を含む回路の制御(a) 集中制御方式
図 2(b) Del Barrio の分散制御方式
DFG を制御する状態機械

非現実的になってしまう [2]. これに対し, 演算器毎に状態機械を設ける分散制御方式を用いれば回路規模の増加を抑制することができる. 分散制御の方式としては, Del Barrioの方式 [3], Pilato の方式 [4], 山下の方式 [5] が提案されて

enA
endA

endA

いる. しかし, これらの分散制御方式はいずれも, 単一のendA

データフローグラフを対象としたものであった.
我々は [7] において, 複数のデータフローグラフに対応し

FSMA

FSMM

start1
S1
endA
start3S3
endA

start2
S2
endM
start4
S4
endM

図 3

endM
endM

en M
end M

Del Barrio の分散制御方式

た分散制御方式を提案している. この方法では, データフ
ローグラフ境界を越えて演算の実行タイミングを調整できな待ち時間が発生することになる.

る. しかし, データフローグラフの最終サイクルより前に

文献 [2] では, 演算器からの完了信号を用いて演算の開始

分岐先が決定していない場合には, 動的スケジューリング

タイミングを動的に制御する手法を提案しており, (d) のの効果が見込めない.

ような制御を行うことができる. しかし, 状態数が著しくそこで本稿では, データフローグラフ境界を越えて動的増加し, 制御回路の規模が増大してしまう.

スケジューリングを行う分散制御方式に投機的実行を導入する手法を提案する. 本手法では, 分岐予測により, 分岐先

2.2 Del Barrio の分散制御方式が決定していなくてもデータフローグラフ境界を越えた投Del Barrio の分散制御方式 [3] は, 1 つの演算器に 1 つの機的実行を行う. 2 つのベンチマークを用いて評価実験を

状態機械を割り当てて演算の実行を制御する手法である.

行ったところ, 提案手法は従来の集中制御や投機的実行を

図 2(a) は, 従来法である集中制御の制御例を表している.

行わない従来方式と比べ, 約 30%の回路規模の増加で, 実

DFG 中の演算 1, 3 は演算器 A で, 演算 2, 4 は演算器 M で行に必要な総サイクル数を大幅に削減することができた.

2. 不定サイクル演算と分散制御方式
2.1 不定サイクル演算
データパス中の演算器が実行に要するサイクル数は, オ

実行される. 有向枝はデータ依存を, 破線の有向枝は順序を示している. (a) は集中制御による制御例を表しており,

FSM は状態機械を表す. (b) は Del Barrio の分散制御方式
による制御例を表している. 演算 1, 3 は FSM A, 演算 2, 4
は FSM M という状態機械でそれぞれ制御される.

ペランドや演算器の状態に依存して変動することがある.

Del Barrio の分散制御方式の状態機械を図 3 に示す. 状

例えば, 加減算の繰り返しによる乗算器や除算器では, 乗数

態 1 では, 演算 1 の開始条件である readyS1 が 1 になるとの一部分や中間結果の被除数が 0 になれば, 計算を省略し演算 1 を実行する. 各状態には, 演算が完了したことを示すてサイクル数を短縮できる. メモリアクセスに要するサイレジスタ done があり, 演算 1

クル数は, アドレスの系列に依存して変動する. また, 経年となる. 演算器 A の完了信号 Aend が 0 である間は演算劣化等による遅延の変動によって演算に要するサイクル数器からの完了信号を待ち, Aend が 1 になれば, done を 0

が変わることもある. 本稿ではこのような演算器を不定サから 1 に書き換え, 次の状態へ遷移する. 演算の開始条件

イクル演算器 (variable-latency unit) と呼ぶ.

は, 演算の依存関係から決まる. 例えば, 演算 3が完了すると doneS1 = 1

は演算実行に 1 サイクルを要する加算器 A と, 実行に 1〜2 サ

2 の後に実行できるので, readyS3 = S4 ∨ doneS2 となる.

イクルを要する乗算器 M を用いて 1 (a) のデータフロー

Si は状態 i にあることを示す. 演算器 A が演算中である

グラフ (以下 DFG と略する) の計算を実行する場合を考え場合は runningA = 1 とする. 演算器 A への開始信号は,る. 従来の高位合成手法では, 乗算には 2 サイクルを要す

startA = (runningA = 0)∧(S1∧readyS1 )∨(S3∧readyS3 )るものとして (b) のようにスケジューリングを行う. しかと表す.

し, 演算 2 が 1 サイクルで完了した場合, (c) のように余分ⓒ 2016 Information Processing Society of Japan

これにより, 各状態機械内で演算の開始のタイミングを

57

DAシンポジウム
Design Automation Symposium

DAS20162016/9/14

DFG1

DFG1

main

が決定している場合にのみ有効であり, それ以外の場合は

S0

S2

S0

S2

従来手法のトレーススケジューリングに比べて, サイクル

S1

S3

S1

S3

数が増大してしまう場合がある.

DFG2

DFG3

DFG2

DFG3

frontier

S5

S7

S9

S11

S5

S7

S9

S11

S6

S8

S10

S12

S6

S8

S10

S12

3. 分散制御への投機的実行の導入
3.1 概要
本稿では, 投機的実行の導入により, この課題を解決する

(a)
図 4

(b)

データフローグラフ境界を越えた動的スケジューリング

手法を提案する.
本手法では, 分岐予測に基づいて, 分岐先が決まる前に

DFG 境界を越えて投機的に動的スケジューリングを行う.
動的に変更することができる. ただし, 同一演算器にバイン分岐予測が外れた場合には, それが判明した時点で正しい

ディングされている演算は, 設計時に決められた順序でし

分岐先の DFG に状態遷移を行う.

か実行できない. この Del Barrio の分散制御方式は, Pilato

DFG 間で依存のあるレジスタについては, 投機的実行をや山下の方式に比べると, 実行時に演算の順序や, 演算を実行っている間は書き込みを行わず, 別のレジスタに値を保行する演算器を動的に決定することはできないが, 最も簡持する. 分岐予測が当たった場合にはそのレジスタから書潔であり, 回路規模や遅延も最も小さい.

き戻しを行い, 分岐予測が外れた場合にはそのレジスタのDel Barrio はこの方式を, 単一の DFG のループに拡張
し, あるアイテレーションの全演算の完了を待たずに次のアイテレーションの演算を実行できるようにしている. し値は破棄する.
なお, 演算を同時に実行できる DFG 数は本稿でも [7] と同様, 2 までとする.

かし, 複数の DFG からなる制御は扱っておらず, 条件分岐が発生する場合を扱うことはできない.

3.2 定式化
3.2.1 データフローグラフ境界を越えた動的スケジューリング

2.3 データフローグラフ境界を越えた動的スケジューリ
ング
この課題に対し我々は, 複数の DFG に対応した分散制御方式を提案している [7]. この手法は, データ依存関係が満

以下本稿では, 演算が行われている 1 つ目の DFG をメイン, 2 つ目の DFG をフロンティアと呼ぶ. 図 4 (b) では,

DFG1 がメイン, DFG3 がフロンティアである.

たされていれば, ある DFG の全演算の完了を待たずに次の演算器の集合を U とする. 演算器 u ∈ U の現サイクル

DFG の演算の実行を開始するというものであり, DFG 境

における出力を ou , 完了信号を eu とする. DFG の集合を界を越えて演算を動的にスケジューリングすることができD とする. DFG d ∈ D における u ∈ U の動作を制御するる. 例えば, 図 4 において, 回路中の 2 つの演算器が 2 つのFSM を Fd,u , その状態の集合を Sd,u とする. Fd,u の最後

FSM で制御されているとき, (a) において, S0 と S3 の演の状態を fd,u とする.

算が完了し, かつ, DFG1 から DFG3 への遷移が確定して

DFG d と状態 s ∈ Sd,u に対し, γ(s), Γ(s), および ζ(d)いるとする. このような場合, 本稿の制御方式では, DFG1を次のように定義する. Γ(s) は, 状態 s の演算の実行が現の全演算の完了を待たずに DFG3 の S11 の演算の実行をサイクルの開始までに完了していることを, γ(s) は, 状態開始する.

s の演算の実行が現サイクルの終了までに完了することを,

ただし, DFG のループの扱いには注意が必要である. [7]e(d) は, 現サイクルで DFG d の実行が終了することを意では, 同時に演算を行える DFG は 2 つ以下に限定し, DFG

味する. σd,u は Fd,u の現サイクルでの状態を表し, Γ0 (s)の自己ループは展開するという方式を採っている.

と Γ′ (s) は, それぞれ Γ(s) の初期値と次のサイクルでの値

この手法では, 基本ブロックの境界を越えて演算の実行タイミングを調整できるため, 演算のサイクル数が固定の場合でも, トレーススケジューリングやループスケジュー
リングとほぼ同等の高速化効果をが得られる. 演算のサイクル数が変動する場合には, スケジューリングを動的に調整できるため, 実行に要する総サイクル数を大幅に削減すを表す.
γ(s) = Γ(s) ∨ ((σd,u = s) ∧ eu )∧e(d) =
γ(fd,u )u∈UΓ0 (s) = 0
Γ′ (s) = if e(d) then 0 else γ(s)ることができる. 変数の生存区間が長くなるため, 必要な

また, e(d) が 1 になれば, 全ての u ∈ U について, Fd,u のレジスタ数やマルチプレクサが増えるが, 回路規模の増加

次状態を初期状態とする.

は集中制御方式に比べて 24%程度である.
しかしこの手法は, DFG の最終サイクルより前に分岐先ⓒ 2016 Information Processing Society of Japan∆(e, d) は DFG e から d に遷移することが現サイクルの開始までに確定していることを, δ(e, d) は DFG e

58

DAシンポジウム
Design Automation Symposium

DAS20162016/9/14

から d に遷移することが現サイクルの終了までに確定

P(d) ∧ P ′ (d) のとき (投機的から非投機的に遷移)することを表す. d が e の唯一の後続 DFG の場合は,r′ = if eu then ou else tr∆(e, d) = δ(e, d) = 1 である. e の後続 DFG が複数ある場

t′r = tr

合, 遷移は状態 t において演算器 u で行わる演算の結果が1 のときに e から d への遷移が起きるとすると, δ(e, d) と∆(e, d) は次のように定義される. (∆0 (e, d) と ∆′ (e, d) は,それぞれ ∆(s) の初期値と次のサイクルでの値を表す.)

4. 実験結果
2 つのベンチマークについて提案手法に基づく回路をδ(e, d) = ∆(e, d) ∨ ((σe,d = t) ∧ eu ∧ ou )Verilog HDL で設計し, 集中制御および [7] の分散制御と比∆0 (e, d) = 0

較する実験を行った. 本稿の実験では, 分岐予測は静的であ∆′ (e, d) = if e(e) then 0 else δ(e, d)

り, 集中制御のトレーススケジューリングと同じ方向の分M(d) は DFG d がメインとして実行されていることを表す. d の前の DFG の集合を Pd とすると, M(d) の初期

岐のみを選ぶものとした. 乗算にかかるサイクル数は 1〜2とし, それ以外の演算のサイクル数は全て 1 とした.

′

値 M0 (d) と次サイクルの値 M (d) は次のように表せる.
M0 (d) = if d が先頭 DFG then 1 else 0M′ (d) = if e(d) then 0∨
else M(d) ∨(e(e) ∧ δ(e, d))e∈PdF(d) は DFG d がフロンティアとして実行されているこ

4.1 ベンチマーク CDFG
いずれのベンチマークも, 条件分岐を決定する演算は

DFG の最終サイクルでしか行えないものである.
(1) bicubic
図 5(a) の DFG を加算器 A1, A2, 乗算器 M1, M2 で実とを意味し, その初期値 F0 (d) と次サイクルの値 F ′ (d) は行する. 分散制御のスケジューリング例を図 5(b) に示す.

次のように表せる.

図 5(b) 中の実線の有効枝と番号は, 依存関係と状態の番号

F0 (d) = 0
F ′ (d) = if M′ (d) then 0∨
else F(d) ∨(M′ (e) ∧ δ(e, d))e∈Pd

3.2.2 投機的実行の導入
文献 [7] では DFG d は M(d) ∨ F (d) のときそのときに限り実行されるとしていた. これに対し, 本稿では, DFG e
から d への分岐が予測されていることを表す B(e, d) と,DFG d が投機的に実行されることを表す P(d) を導入し,DFG d は M(d) ∨ F (d) ∨ P(d) のときそのときに限り実行されるものとする.

B(e, d) は, 静的に決定されていても, 動的に決定されても良い. P(d) の初期値 P0 (d) と次サイクルの値 P ′ (d) は次のように定義される.
P0 (d) = 0
P ′ (d) = if M′ (d) ∨ F ′ (d) then 0∨
else P(d) ∨(M′ (e) ∧ B(e, d))e∈Pdを示している. 自己ループを除去するために, DFG0 はコ
ピーを作成している. 図 5(c) は比較実験のために, 従来の集中制御においてループスケジューリングを行った結果である. このスケジューリングは, 分岐予測に基づいて投機的実行を行うものである.

(2) m-lerp
図 6(a) の DFG を加算器 A1, A2, 乗算器 M1, M2 および EQ (比較回路) で実行する. 分散制御のスケジューリン
グ例を図 6(b) に, 集中制御のループスケジューリング例を
図 6(c) に示す.

4.2 サイクル数
2 つのベンチマークについてサイクル数の比較を行った
結果を表 1 に示す. ループ回数は 128 とした. 表中の集中制御は図 5(c) および図 6(c) のループスケジューリング/ト
レーススケジューリングに基づく結果であり, 乗算は 2 サ
イクルとしてスケジューリングを行っている. r は乗算のDFG d において, 他の DFG の値に依存がある値を格納

サイクル数が 2 となる割合であり, r = 1.0 は全ての乗算にするレジスタの集合を R とする. また, d への遷移が確定

2 サイクルを要した場合, r = 0.0 は全ての乗算が 1 サイク

するまでレジスタ r ∈ R の値を保持する一時レジスタをルで完了した場合を表す. 分岐予測が当たる確率は 75%とtr とし, r に値を供給する演算器を u とする. レジスタ r′ ,した.

t′r の次サイクルでの値 r′ , t′r は次のように定義される.
P(d) ∧ P ′ (d) のとき (投機的実行)′提案手法と投機的実行を行わない従来手法 [7] を比較す
ると, 提案手法では r がいずれの場合もサイクル数が削減

r =rされている. 削減率は平均 15.2%であり, これは, 投機的実

t′r = if eu then ou else tr

行の導入による効果と考えられる. 集中制御で投機的実行

P(d) ∧ P ′ (d) のとき (非投機的実行)を行うトレーススケジューリングと比較すると, r = 1.0 の′

r = if eu then ou else r

場合には提案手法のほうがサイクル数が増加している. 本

t′r = tr

手法では演算の実行は 1 DFG 先までと限定されるので, こⓒ 2016 Information Processing Society of Japan59

DAシンポジウム
Design Automation Symposium

DAS20162016/9/14

表 1

実験結果 (サイクル数)

集中制御

分散制御

(投機的実行)

投機的実行なし [7]提案手法 (投機的実行)

r = 1.0

r = 0.5

r = 0.0

r = 1.0

r = 0.5

r = 0.0

bicubic

990

1193

1047

928

1043

888

735

m-lerp

763

913

895

789

764

753

709

乗算のサイクル数: 1〜2,

r: 乗算のサイクル数が 2 サイクルの割合,

分岐予測が当たる割合: 75%

表 2 実験結果 (回路規模)
集中制御

分散制御

(投機的実行)

投機的実行なし [7]提案手法 (投機的実行)

FFs

LUTs

delay [ns]

FFs

LUTs

delay [ns]

FFs

LUTs

delay [ns]bicubic

276

802

14.62

363

945

16.64

366

985

15.50

m-lerp

428

923

14.94

562

1299

15.44

567

1373

15.03

の点でトレーススケジューリングに劣る場合がある. なお,

参考文献

分岐予測が外れた際のサイクル数はトレーススケジューリ[1]ングと同等である. r = 0.5, r = 0.0 の場合にはサイクル数が大幅に削減されており, これは, 動的スケジューリングによる効果と考えられる.

[2]

4.3 回路規模[3]

2 つのベンチマークの論理合成結果を表 2 に示す. 論理
合成は Xilinx ISE (14.7) を使用し, FPGA (Spartan–3E)をターゲットに行った. 状態の符号化にはワンホット符号を用いた [6]. 表中, FFs はフリップフロップ数, LUTs は[4]

ルックアップテーブル数, delay は回路遅延を示している.
従来の集中制御に対し FFs 約 32.5%, LUTs 約 35.2%, 投機
的実行を行わない従来手法 [7] に対し FFs 約 0.9%, LUTs[5]

約 5.0%の増加が見られたが, 遅延はほぼ同じであった.

5. おわりに[6]

本稿では, DFG 境界を越えて動的スケジューリングを行う分散制御方式に投機的実行を導入する手法を提案した.
これにより, DFG の最終サイクルまでに分岐先が決定しな[7]

Daniel D. Gajski, Nikil D. Dutt, Allen C-H Wu, andSteve Y-L Lin: High-Level Synthesis: Introduction to
Chip and System Design, Kluwer Academic Publishers (1992).
Yuki Toda, Nagisa Ishiura, and Kousuke Sone: “Static
scheduling of dynamic execution for high-level synthesis,” in Proc. SASIMI 2009, pp. 107–112 (Mar. 2009).
Alberto A. Del Barrio, Seda Ogrenci Memik, Marı́a C.
Molina, José M. Mendı́as, and Román Hermida: “A Distributed Controller for Managing Speculative Functional
Units in High-Level Synthesis,” in Proc. (DATE 2011),
pp. 350–363 (Mar. 2011).
Christian Pilato, Vito Giovanni Castellana, Silvia
Lovergine, and Fabrizio Ferrandi: “A runtime adaptive controller for supporting hardware components withvariable latency,” in Proc. NASA/ESA (AHS-2011), pp.
153–160 (June 2011).
山下真司, 石浦菜岐佐: “不定サイクル演算に対応した分散制御における動的演算バインディング,” 信学技報,
VLD2013–128 (Jan. 2014).
清水美帆, 石浦菜岐佐: “不定サイクル演算に対応した分散制御のための状態符号化の検討,” 信学ソ大, A-3-14 (Sept.
2014).
清水美帆, 石浦菜岐佐: “高位合成における分散制御のデー
タフローグラフ境界を越えた拡張,” 信学技報, VLD2015–
61 (Dec. 2015).

い場合においても, 次の DFG の演算を開始することができる. 2 つのベンチマークを用いて評価実験を行ったところ, 提案手法は投機的実行を行わない従来手法 [7] に対し約5.0%の回路規模の増大でサイクル数を平均 15.2%削減する
ことができた.
今後の課題として, 回路面積の削減やバインディング/ス
ケジューリングの自動化等が挙げられる.
謝辞

本稿の研究にあたり, ご指導, ご助言を頂きました京都高度技術研究所の神原弘之氏, 立命館大学の冨山宏
之教授, 元立命館大学の中谷嵩之氏に感謝いたします. また, 本研究に関してご討論, ご協力頂いた関西学院大学石浦研究室の諸氏に感謝いたします. なお, 本研究は一部 JSPS
科研費 16K00088 の助成による.

ⓒ 2016 Information Processing Society of Japan60

DAシンポジウム
Design Automation Symposium

DAS20162016/9/14

XB
X0

I

−2

1

X1

+1

dx

a*b

2

dist_xaDFG0

dist_x

dist_xweight

∗7

1

+ 12

0

∗6

R6

∗8

−9
+ 10

P1’

DFG2

R3 * R4

+8

+ 12
D2

DFG1

R5

weight

dy

DFG1

dy

− 9 C0 dy C2∗ 10 ∗ 11

D1

R4

R4

R3 * R4

41− 5 C0 dx C1
R5
∗6 ∗7

P1

∗5

P0

∗ 11

==
R4

dx

1

a*b
CP

dy

R3
a*b

P1

3

R3

b

SY

−2
0

==

< 3 < 4
DFG0

SX Y1

−1

DFG2

C2

∗ 14

R6 D1

∗ 13 + 15
+ 16

(a)

D3

A1

A2

M1

+ d0 + 1

DFG3

M2∗ d0 ∗ d0

(a)

−2

DFG0

< 35

6

EQ

<4
DFG0

+ 1c ∗

+
d0c

− 2c

DFG0

d0c

∗

==

3

==

4

d0c

M1

−2

∗ d0 ∗ d0

DFG012+ d1 ∗ 5

∗6

∗7

∗8

−9

==

3c

==

4c

==

d1

M2

7

∗
d0c

< 4c

−5

d0c

+ d1 ∗ 7
∗6

DFG1

+8

+ 10

2
==

+ d2 ∗ 11 ∗ d2
DFG2

A2

−1

− 1c − 2c ∗

< 3c

DFG1

A1

d2

2

−9

+ d2 ∗ 11
∗ 10

DFG2

+ 12

+ 12

6

5

(b)
==

d3

+ d3

∗ 14 2 6

+ 15

DFG3

a*b

8

∗ 13

+ 16

a*b
a*b

<3
<4

+1
∗
−2
11
+ 12
∗

<3
<4

∗
5

∗

+1
−2

a*b

∗

∗
5

R3 * R4

−9

6

6

∗
7

(b)

a*b
8

−9
+ 10

==

3

==

4

− 1 + 16
−5 −2

− 1 + 12

∗
6

∗
14

+ 15

11
10

∗
7

+8

∗
∗

R3 * R4

∗

−1

13

(c)
図 5 ベンチマーク bicubic

(c)
図 6

ⓒ 2016 Information Processing Society of Japan

ベンチマーク m-lerp

61