MEMoms OF 5▲ G▲ Ml IN餌T :丁叮1圏 OF T]CHNOLOGT Vo1
.
烈),
No.
1,
1986チ
ュー ナ
ブ
ル・
アー
キ
テ ク
チ ャ計
算 機
シ ス テ ムに
お
け
る
チ
ュー
ニ ング
過
程
に
つ いて
深
沢良 彰
*・
岸 野
覚
* *・
門 倉
敏 夫
* *ATuning
Process
in
aTunable
Archtecture
Computer
System
Yoshiaki
FuKAzAwA
,SatQru
Kls
且INo andToshio
KADoKuRA
Atuning
process in a tunable archtecture computer is described.
We
have
designed
a computer system with tunable archtecture.
Main
components of this computerare four AM 2903
bit−
slice chips.
The
control schema of microinstructions
is
horizontal
・
type,
and the length of each instruction is 104bits.
Our
tunable algorithm utilizes an execution history of machinelevel
instructions,
because
theexecution history can be regarded as a property of the user program
.
In
executionhistories
of similar programs , same sequences of machineinstructions
must appear.
Each sequence is synthesizedinto
anew machine instruction by means of microprogramming
.
In order to select new machine instructions,
this algorithm uses not only the enlarged amount of necessary control storage
but
also theimprovement
Of eXeCUtiOn eMCienCy.
1.
は じ め に 従 来の汎 用 計 算機は,
広範囲の 問 題を平均 的な効 率で 実 行,
処 理 するこ とを 目的 として設 計されて きた 。 とこ ろが,
ユー
ザは 計 算 機に対 し,
よ り高い処 理 能 力 を 求め て きて い る。 こ の要 求に対 応 して,
さ ま ざ ま な 専 用アー
キ テクチ ャを もつ 計算 機が開発さ れ てきた。 し か し なが ら,
こ の ような専用アー
キテ ク チ ャ をもつ 計算機の性能 を十 分に発揮で ぎる応 用 問 題は限 られて い る のが 現 状である。 例 えば
,Floating
Point
Systems
社のAP −120BD
は
,
フー
リエ 変換を も ちい た応用問 題に対 し て し か優れ た性能を 示 さ ない 。 我々は汎 用 性 を 重 視し, 対 象 とする応 用 問題は限 定せ ず,
同種の問題 が繰 り返し実 行される場 合に処理効 率が 向上 して い く計 算 機 シ ス テ ム を設 計し た。 本シ ス テ ム は,
機 械 語の 実 行 履 歴を解析し,
まず,
出 現 する命令列 すべ てを 1命令に 合 成し,
その 中か ら適当な命令 (合成 * 情 報工 学 科 講 師 * * 早稲田大 学理 工 学 部1985
年10
月30
日受 付 命令) を選択 するこ とに よ り実 行 効 率の向 上をは か るも の で ある。 本論文で はチ ュー
ニ ン グのた めの ア ル ゴ リズ ムお よ び シ ミュ
レー
シ ョ ン に よ る結 果につ い て述べ る。2
.
チ ュー
= ングの概 要と特 徴 プロ グ ラ ムが実 行された ときの機 械 語の 履歴は,
処理 する問題の特性であ ると考 え られ る。 そ して,
同種の 問 題を 処 理する プロ グ ラム が 繰 り返 し実行される場 合,
そ れらの実 行の履歴には, せ まい 範囲で見れ ばよく似た命 令 列が出 現し て い る と考えられ る。 こ の よ うな命 令 列 を 1つ の命令に合 成 し, 命 令セ ッ トに追 加 す れ ば, 実 行 効 率は向上 すると考え られる2) 。 本 シ ス テム では,
合 成 を 行な う命令 列の対 象と し て,
プロ ヅ ク と隣接 命令を考えて い る。 ブ ロ ッ クと は,
プ ロ グラ ムの制 御 フ 卩一
に 注 目し て分 割さ れ た単 位である。 実 行の制 御は ブ ロ ッ クの先 頭命令 に渡 さ れ,
ブロ ッ クの最 後の 命 令は,
制 御を他の ブ巨 ヅ ク に移 す。 本 シ ス テムでの ブロ ッ クは一
般の コ ン パ イ ラ相 模工 業 大 学 紀 要 第
20
巻 第1
号 がオ ブ ジェ ク ト・
コー
ドの最 適 化を行な うときに使 用 す る基 本ブ 卩 ッ クS) とほ とん ど同じ であ る。 隣 接 命 令とは,
ブロ ッ ク内で続けて実 行 さ れる命 令の ペ ア の こ とであ る。 本 研 究 と目的 を 同じくする Abd・
Alla らの 手法4)は,
プ巨 グラ ムのルー
プ だけに注 目し て , これをマ イク ロ ・ プロ グ ラムで 合成し, 新しい 1 つ の 命 令にするこ とに よっ て, 実 行 効率
の 向上 を目指 す もの である。 ま た,
坂 村 らの 手 法S−
6)IX,
続 けて実 行 さ れ る命令の 出 現 頻 度だ けに注 目す るもの で ある。 本チュー
ニ ン グの特 徴は,
隣 接 命 令とブ ロ ッ クの出現 回数の他に 合 成,
追 加 さ れ た 命 令に よっ て増 加 す る 制 御 記 憶の量 に も考 慮し,
合 成された命 令の中か ら 適 当 な命 令 を 選 択 してい る点であ る。 これ に よっ て, 経 済的で効 率の 良い チ ュー
= ソ グを 可 能 と し てい る。 本チェー
ニ ン グ と 同 様の手 法 を 用い たチ ュー
ニ ング法の研究に坂村ら の 研 究T)があ るが , 命 令の選択に用い る評価関 数の 求め 方が異なっ てい る。 本チ ュー
ニ ングを繰 り返し行な うこ と に よ り,
対象と する問題に対 する機 械 語 レ ベ ル で の アー
キ テ ク チ ャ の是 非を考察する こ とも 可 能である。3
.
本
シ ス テ ム の ハー
ドウェ ア構 成の概略
本シ ステ ム のハー
ド ウェ ア は 既 存の マ イ クロ・
プロ セ ッ サ (EP ).
と, ビッ ト・ ス ラ イス ・ チ ッ プAM
2900
シ リー
ズe)を 用 い たマ イ ク ロ・
プロ グラ ム 可 能 なプロ セ ッ サ (MP
)か ら 構 成 されて い る。 これ を 図1
に 示 す。 3.
1. MP
の概 要 MP の構成,
MP
の マ イ ク ロ プ ロ グラ ム につ い て 以 下 に述ぺ る。3.
1.
1. MP
の構 成 MP は ALU 部, プロ グ ラム 制 御部, デー
タ パ ス 部,1
!0
イン ター
フ ェー
ス部,
メモ リ制 御 部,
制 御 記憶,
主 記 憶か ら構 成さ れ てい る。 図2 に MP の構成 図を 示す。ALU
部は4
個の ビッ ト・
ス ラ イス・
チッ プAM2903
で構成されて い る。
デー
タ パ ス部には,16
ピ ッ ト の デー
タ バ スを4
ビ ッ ト単 位で取 り出 すセ レ ク タ を 設 け, オペ ラソ ド圧縮を行なっ た命 令の実 行が 可能と な っ て い る。 プロ グラ ム制 御 部は プ ロ グ ラム。
カ ウン タを 制御 する部 分で あ り,
カ ウ ンタを1
語 (16
ビッ b) また は2
語 増 減 するこ とが 可能で ある。 制御 記 憶は書 き換え可能で あ1
μP可能な計 算機 (MP )’
既 存の計 算 機 (EP )娼
1
図 1 本シ ス テ ム の プ ロ セ ッ サ 構成 ADDRESS BUS DATA BUS DATAPATH 制御記 憶 主 記 憶 PCU [Pr。9ramCo 冂trolUnltI,
■
囓
■
匸
マ イク囗・
コー
ド ALU 「1
/0イ ン ター
フェー
ス メ モ リ制 御 図 2 MP の 構成 る。 マ イ クロ 。 プロ グ ラ ムは,
デー
タ バ ス を通 して ロー
ドさ れる.
制 御 記 憶の 1 語は 104 ピ ッ ト で あり,
容量 は2K
語である。 デー
タパ ス部の構成 を 図3
に示 す。 3.
1.
2.
MP
のマ イ クロ・
プログ ラム マ イ クロ 命 令の形 式は間接水平型で あ り,MP
の各 部 を柔 軟に 制 御 するこ と が 可能 である。 V イ ク ロ 命 令の フ ォー
マ ッ トを図4 に示 す。 また, 命 令フ ェ ッ チ, 命 令 デコー
ド, オペ ラン ド ・ フ ェ ッ チ,
命 令 実 行の 各フ ェー
ズ はすべ て マ イ ク ロ・
プ ロ グラム で実現されて お り,
プ ロ グ ラム の実行 履 歴の 収 集 も,
マ イ クロ・
プロ グ ラムで 実 現して い る。チ ュ
ー
ナ ブル ・アー
キ テク チャ 計 算 機シ ス テム に おけるチュー
ニ ン グ過 程につ い て (深 沢 良 彰・岸 野 覚・門 倉 敏 夫 } DATABUS Z
−
Reg 16 16 ZO−
Reg Z1−
Reg8 EX−
Re9 16 トReg SELECTOR ALL 「’
8ZO
−
Reg MICRO・
INST.
DE−
Reg MUX.
,
■
闇M 4 DB 日US 44 DA BUS SELECTOR尸
4 A−
Port 図 3 デー
タ パ ス の構 成 B・
PortExtraSelector and Decode ControtALUData PathProgram ControlMemory Control
103
−
9695−91
90一
ア877−65
64−54
53−
49Control StrobesControl BitStatusTestSeque 冖ce ControlNext Addres5&l lmmediate
48
−
43 42−
35 34−
2625−
20 19−
16 15−
O 図4
マ イ ク ロ 命 令の フ ォー
マ ッ ト4 . 本
シス テ ム の流 れ 本シ ス テ ム の 流れ を 図 5 に示す。 チ ュー
ニ ン グは 以 下 の手 順に 従っ て行なわれる。 (1> 対 象 と なる プロ グラム をEP
上 でMP
用に ク ロ ス・
コ ソ パ イル, アセ ン ブル する。 (2) 生 成した オ ブジ ェ ク ト・
プPt グラ ム を MP 用 の主記憶に ロー
ドし,
実 行 する。 (3) 実行された機械語の ア ドレ ス が,MP
の マ イ ク ロ・
プロ グラ ム に よっ て,
実 行 履歴 として 出 力 さ れる。 (4) 実 行 履 歴が解 析さ れ て隣 接命令,
ブ ロ ッ クそ れ ぞ れの出 現回数を出 力 する。 (5) ア セ ン ブル 時に 生成 され る情 報 と あ らか じめ設 定 されてい るマ イ ク ロ・
プロ グラ ム の ソー
スか ら,
すべ て の隣 接命令,
すべ ての ブ ロ ッ クに 対 して命 令合 成 が行 な わ れる。 (6) 出 現回数,
制 御記憶の増加,
実行時間の 向 上を 考 慮し た評価関 数 を 用い て 合 成 さ れ た 命 令の中から新 し く命令セ ッ ト に加え られるべ き機 械 語 が選択される。 (7) 選 択 さ れ た命令のた めの マ イク ロ。
プ 卩 グ ラ ム を初 期 設 定 さ れて い る マ イ ク ロ・
プ ロ グラム に 組み込 み,
統合 さ れ たマ イ ク 卩 ・ プロ グ ラ ムを生 成 する。
(8) 命 令選択に よっ て選択された機械 語に関 する情 報は合成機 械語命令情報の作成,
更 新部に渡されるQ相 模工 業大学紀 要 第 20 巻 第 1 号 図 5 本シ ス テ ム の 流 れ (9) 統合さ れ たマ イ クロ
・
プロ グラ ム はマ イ ク ロ ・ ア セ ン ブル部で V イ ク ロ・
プ ロ グ ラムの オ ブ ジェ
ク ト・
コー
ドに ア セ ン ブル され,MP
の制御記 憶に 卩一
ドされ る。(10) 次の 対象プロ グ ラムに つ いて (
1
)か ら繰り返 す。5
. 本
シ ス テ ム の構
成 本 シ ス テ ムは,
コ ンパ イル 部,
ア セ ン ブル 部,
履歴解 析部,
命令合 成部,
命 令選択 部,
V イク ロ・
プロ グラ ム 統 合 部から構 成さ れ てい る。 以 下, 各 部に つ い て説 明 す るo 5・
1.
コンパイル部 コ ン パ イル 部は,
高 水準言語に よっ て記 述 された プ ロ グラ ムを 入力と し,
ブ ロ ッ ク情 報を含ん だ MP 用 の 初 期アセ ン ブ リ言語を出力 する。 ブP ッ ク情 報はア セ ン ブ リ言 語の ラ ベ ル と して出 力 され る。
機 械語の中に新た に生成された命 令を 真に組 み 込 むに は
,
多機 種 用 の コー
ド生 成 系9)を 利 用 して,
合 成命 令を 含ん だオ ブジェ
ク ト・ コー
ド生 成 を 行 な うこ とが望 まし い 。 し か し, 本シ ス テ ム が行 な う命令合 成で は,
コ ソ パ イル結果をアセ ンブ リ言 語で 作 成し,
ブ ロ ッ ク情報を出 力するコ ン パ イラがあ れば一
応の評価が 可能な た め, こ の ような 構 成 とし た。5・
2・
アセン ブル部 コ ン パ イル 部が生 成し たア セ ソ ブ リ言語プ ロ グラ ム をMP
用の オ ブジ ェ ク ト・ プ Pt グラ ム とし て 出 力 する。 コ ン パ イル 部が生 成 するアセ ン ブリ言語は初期設 定 さ れ た命 令に 固 定 さ れてい る。 こ のた め,
コ ン パ イル部 が 出 力 し たア セ ンブ リ言 語の プ卩 グラ ムを合 成命 令を使っ た プロ グラ ム に変更 する機 能を もっ て い る。ま た
ロ
ア セ ンプル 部はプ ロ ヅ ク の先 頭ア ドレス,
隣 接 命令, ブ ロ ッ ク, そし て ア ドレ ス と機 械語との対 応 表 を 出 力 する。5。
3.
履 歴 解 析部履 歴 解析 部は
,MP
に よっ て実 行された機 械語の ア ド レ ス (実 行履歴),
ブロ ッ ク, ブ ロ ッ ク の 先 頭ア ドレ ス, 隣 接 命 令,
そ し て ア ドレ ス と機 械 語との対応表を 入力と し,
ブロ ッ ク出現回数, 隣 接命令 出 現 回 数 を 出 力 する 。 ア ドレ ス と機 械 語との対 応 表は, ア ドレ ス とし て格納 さ れ て い る実 行 履 歴か ら機 械語 を得る た めに使わ れ る。 この アル ゴ リ ズ ム を 以 下に示 す。do
while (履 歴フ ァ イル が続く); ア ドレ ス を 1つ 取 り出 す;if
ア ドレ ス= ブロ ッ ク の先 頭ア ドレ ス then こ の ブロ ッ ク出 現 回数を 1増 し,
こ の ア ド レ ス か ら機 械 語を得て,
隣接命令の初めの 命令とする ; elsedo
; ア ドレ ス を 1つ 取 り出し, こ の ア ドレ ス か ら機 械 語 を 得る;if
ア ドレ ス = ブロ ッ クの先 頭ア ドレ ス then こ の ブロ ッ ク 出 現回数を 1 増し,
今得たチ
ュー
ナ ブル・
アー
キテ ク チャ計 算機シ ス テ ム に お ける チ ュー
ニ ン グ 過 程 につ い て (深 沢 良 彰・岸 野覚
・
門 倉敏 夫 )機 械語は 隣接 命令の 初 め の 命令であると する ; else
今 得た機 械語は隣 接 命 令の終わ りの命 令と し
,
その隣 接 命 令 出現回数を 1 増す; end ; end ; 5・
4・
命令合成 部 命令 合 成部は プ 卩 ヅ ク,
隣 接 命 令,
前 回の チュー
ニ ン グで 得 られ たマ イ ク ロ。
プ ロ グラ ム の ソー
ス を入 力 と し,
すべ ての ブ ロ ッ ク,
すべ て の 隣 接命令に 対し て合成 さ れ たマ イ ク P。
プロ グ ラ ム の ソー
ス を 出 力 するQ 命 令の 合 成は,
デコー
ド部の合 成,
実 行 部の合 成の順 で行 な われ る。 デコー
ド部の合成におい て は,
合 成 され た 命 令の オペ コー
ド と,
デ コー
ドの 対 象 と なる命 令の オペ コー
ドとを 比 較 するQ こ の両 者 が一
致し た場 合に は合 成 され た命令 の 実 行へ 制 御を移すように デコー
ド部 を合成する 。 し か し, デコー
ド部が合 成 さ れた段 階で は,
合 成して い る命 令が命 令 選 択 部で合 成命 令として選 択 されるとは 限 ら な い ため,
この命 令に対 する オペ コー
ドは,
決 定 するこ と ができない。 従っ て,
こ の決 定は 命 令 選 択 部で行なっ て い る。実行 部の合 成は次の
2
つ の手 法の ど ち ら かに よっ て 行 なわれるD(1) 命 令圧縮を行 なわず
,
命 令の フ ェ ッ チ,
デコー
ドを減らす。 (2) 命 令 圧 縮を 行 ない,
命 令の フ = ッ チ , デコー
ド, オ ペ ラ ン ド・
フ ェ ッ チ を減らす。
(1)はマ イ ク ロ
・
プ ロ グラム 中の シー
ケ ソ サ用命 令を 変 更 す るこ と に よ り実現 さ れる。 (2)は合 成の対 象と な る命 令 列に従 っ て, 種々 の 方法で行な われる。 (1)と(2) の例を 以下に示 す。まず, (1)に よ る命令合 成の 例 を 示 す。 対象と な る命 令列と合 成された 命 令を
,
図 6に示 す。 (a)は デ n ス プ レー
ス メ ン ト DATA に イ ン デ ヅ ク ス レジ ス タ X2 のDRLA
SYN1
図6
値を 加 え,
その値 を実 効ア ドレ ス とし,
その ア ドレ ス の 内 容をレ ジ ス タ 1に ロー
ドする命 令である。 (b)は レジ ス タ2
とレ ジス タ3
の 内容を加え,
その結 果の格納場 所 が レ ジス タ 2 に なる 命 令 で ある。 (c)は本シ ス テ ム に よっ て合 成された命 令で,
(a)の 演 算と,
(b)の演算を1
命 令に よっ て行 な う もの で ある。
シ ス テ ムは =一
モ ニ ッ クと し て,
こ こ ではSYN
1
を 与 えてい る。(a)に 対 するマ イ ク P 命令中 の シ
ー
ケ ン サ 用命 令を SYN 1 の オ ベ ラ ン ド R2 , R 3 をフ=
ッ チする ため の サ LD RI.
X2 (DATA ) の実行 シー
ケン ス LD? NOYES (デコー
ド) Displacement Address の決 定 Call Displacement Fetch Routine Operand Addre55 の 計 算 CalL Operand FetchRoutine Routine AR R2
.
R3 の実 行シー
ケン ス ド) RoutineR1
,X2
(DATA )…_
(a ) R2,
R3……
(b)↓
R1
,X2
(DATA ),
R 2,
R3
・
…・
・
(c) 合 成対象の 命令 列と その合 成 命 令 〈手法 (1)〉 図 7LD 命令 と AR 命 令の実 行 シー
ケ ン ス NOSYN’
YES (デコー
ド) ↓ Displacement Addre55 の決 定Call Displacement Fetch Routine
Operand Addre55 の計 算
Call Operand Fetoh Routine
R1
一
〇perand Call Operand Fetch RoutineR2
・
一
匚R2P [R3]Jump 命 令 Fetch Routine
膠
一 一
一
冖 ,
. 一
.
命 令Fe しch Routine LD 命令と 同じ R2R3 の Fetch
,
図 8 手 法 (1)に よ り合成 さ れ た命 令 SYN 1 の実 行シー
ケ ンス相 摸工 業 大 学紀要 第 20 巻 第 1 号 ブル
ー
チ ン 。 コー
ル に変更 し,
こ の後に (b
)に対 するマ イ クロ・
プ ロ グ ラ ム を 結 合 し (c) を 実 行 するマ イク ロ ・ プロ グラム が合成され るo (a),
(b
}の 実行 シー
ケ ン ス を 図 7,
(c)の 実 行シー
ケ ン ス を図 8 に示す。 次に , (2)に よ る命令合 成の例を 示す。 対 象と な る命 令 列と合 成された命 令を 図9
に 示 す。 対 象 と なる命令 列, (d
)〜
(f
)は レ ジス タ間で ロー
ド,
加 算, 減 算 を 行 な う命 令列で あ り,
各々の結 果の格納 場 所で ある第1
オペ ラ ン ドが 同一
である と仮 定 する。 そこ で,
不 必要なオペ ラン ド情報 の排 除 を 行 ない,
オ ペ ラン ドを 圧縮し た命令 を 合 成 する。デ
ー
タパ ス 中の セ レ ク タはこの ような命 令を実 行す る た めに ある。 セ レ ク タ の機 能は オペ ラ ン ドをバ ヅ フ ァ リ ン グするレ ジス タ の 出 力をビ ッ ト単 位で取り出し,ALU へ 出 力 するもの である 。(d)にあた るv イ クロ 命令の シ
ー
ケ ンサ用 命 令がオペ RRR LAS R1 ,R2
R1 ,
R3
Rl
,R4
↓
…
響
・
・
(d)・
…・
・
(e)・
・
・
…
(f)SYN2
R1,
R2,
R3
,R4
……
(g) 図9
合 成 対 象の命令列と その 合 成 命 令 く手 法 (2
)〉 LR Rl,
R2 命 令の実 行 シー
ケン ス Routine ARR1,
R3 命 令の実行 シー
ケン ス Reutine 図11
手 法 (2
)に よ り合成 さ れ た命 令 SYN 2 の 実 行シー
ケ ン ス SRR1,
R4 命 令の実 行 シー
ケン ス NOSR ? YES (デコー
ド )一 一一一_一
一
一
R←
[Rl]一
[R ]Jum 命 令 Fetch Routinθ
一 一
一 一
_ 凾 辱一 一一 一
一 ●
一
命 令 Feteh Ro凵t 図10LR
命 令,
AR
命令,
SR
命令の 実 行シー
ケ ン ス ラ ン ド・ フ ェ ヅ チのた めの サ ブルー
チ ン呼び出 し に変 更 さ れ る。 これに よ りSYN
2 の オペ ラ ン ド R3 , R4 が バ ッ フ ァ リン グレ ジス タ に ロー
ドされる 。 (e)に対 する V イ クロ 。 プロ グラ ム中のセ レ クタ制 御命令は , オペ ラ ン ドの 1つ と し てR3
を 取 り出 すよ うに変 更 される 。 ま た,
シー
ケ ンサ用 命令は,
次の マ イク Pt命 令に制御を 移 す命 令に変 更され る。 (f
)に 対 してはセ レ クタ制 御 命 令が,
(e)と同 様にR4
を出 力 する よ うに変更 される。
(d),
(e), (f)の 各 々の実 行シー
ケ ン ス を 図10
に,
(g) の実 行シー
ケ ンスを 図11
に示す。 5・
5・
命 令 選 択 部命 令選択部は ブ ロ ッ ク出 現回数
,
隣接 命令出 現 回数,
そして 合成 されたマ イ クロ・
プロ グラ ムの ソー
ス を 入力 とし, 新しく命令セ ッ ト に加 えるべ き機 械 語と その 情 報, そ して その た め の マ イ クロ プロ グ ラム を 出 力 する。 選 択の ため の評価関 数は次にあげるFm
を 用い る。Fm =
塩・
」7
諞μs
皿 m :ある隣接 命令ま た は,
ある ブ 卩 ッ クKm
: m の 出 現 回 数ATm
:m に よ る実行時 間の 向上分riSm
: m に よる 増 加 制 御 記 憶 分 (時 間に換 算)dTm
とASm
は,
マ イ クロ・
プ ロ グ ラ ム の ス テ ッ プ 数に 1マ イ クロ 命令の実 行 時 間を乗 じて求め てい る。 こ れ は,
時 間を動 的に調べ るこ とが不可 能な ため で ある。チ =
_
ナカ レ.
アー
キ テクチ 。計 算 機シス テ ム にお けるチ ・一
ニ ン グ過程につ い て (深 沢良 彰・
岸野 覚’
門 倉敏刔 そこで,
静的に正 確に わか らない 部 分 を 近 似し て求めて い る。 例えぽ,
デ コー
ド時 間に関して ば,
デコー
ド用の マ イ ク ロ・
プロ グラ ム量の 半 分を時 間に換算し,
マ イ ク ロ ・ プ卩 グラ ム・
レ ベ ル での条 件 分 岐に対 し て は,
最 悪 経 路 と最 良 経 路の和の 半 分の マ イ クロ 。 プロ グラ ム量 を 時 間に換 算 す るQ命 令選 択の ア ル ゴ リズ ムを次に示 す。 隣接 命 令
,
ブロ ッ クすべ て に対 してFm
= Km’
ATmtdSnt を計 算する ;do
while (空 き制 御 記 憶 量>o);空 き制 御 記憶量を補正 し ながら
Fm
が大 きな値をもつ m か ら 順 に選 択 すべ き命 令の候補と する;
もし候補 と なっ た m がブロ ッ ク で か つ m に含
ま れ る 隣 接命 令ゴが すで に選 択 すべ き命 令の候 補
な ら
,
再び iに対 する評 価を や りな おす ; end ; 合 成 命 令の候 補に残っ て い る隣 接 命 令,
ブ ロ ッ クを 合 成 命 令 と して選 択する; 1.
↑
0.
0.
0.
0.
Uh
一
0
1 2 3 4 チ ュー
ニ ング回 数 → 図 12 チ=一
ニ ン グ の結果 最 終 的に , 選択された合 成 命 令に 1バ イ トの オ ペ コー
ドをあた える。 現 段階で は オペ コー
ドが 1パ イ トの 固 定 長 と なっ てい る ため,
命 令の総 数が 256 をこ えた場 合,
本ア ル ゴ リズム は終 了するQ 5・
6.
マ イクロ・
プロヴ ラム統 合 部マ イ ク P
・
プ ロ グ ラ ム 統合 部は最 終 的に選 択さ れ た命 令の た めのマ イ クロ ・ プロ グラ ムを初期 命 令セ ッ ト のた め のマ イ ク ロ 。 プP グラ ム に 組 み 込 み,
新 しい マ イク ロ・
プロ グラ ム の ソー
ス を作る。6
.
シ ミュ レー
シ ョ ン結果
以 上の ア ル ゴ リズ ムに よ り
,
シ ミュ
レー
シ ョ ソで得ら れ た結果を図12
に示 す。 対象と し た プロ グラ ムは2
次 方 程 式の 解を求め るもの で ある。 ま た,
シ ミュ
レー
タ は,IBM
4341
シ ス テ ム上にPL11
を 用い て作成されて い る。こ こ では 1回目の チ
ュー
ニ ン グに おい て,
ルー
トを計 算する部 分が ブ ロ ッ クと認められ,
その他い くつ かの隣 接命 令が合成される。2
回 目で は,
い く ら かの合 成命 令 どう しも合 成 され てい る。3
回 目の チューニ
ン グで は,
評 価関 数が 大 ぎな値を持っ た隣接命令が多 く見つ か っ た ため実行 時間比が大 き く減 少し てい る。 これは,
命 令 合 成 の手法 (2
)が有 効に使用された か らである。7
.
お わ り に本論文で は
,
繰り返 し実 行される同 種の問 題の動的 な 特 性 を機 械 語の実行 履 歴とい う形でと ら え,
これ を解 析 し個々 の命 令 列 をマ イ ク ロ ・ プロ グラムで 1つ の 新 しい 命 令に合 成 する。 そ し て, 合成し た命 令か ら新 しい 命令 として 適 当であると 評 価 さ れ た命 令を選 択するこ と に よっ て効 率の良い チ ュー
ニ ン グ を行な う方法を示 し た。 し か し,
合 成されたマ イク 卩・
プロ グラ ム の最適化を行 なっ てい ない こ と,
本 シス テムの評価が不十 分であるこ と,
現 在1
バ イ トの固定長で あるオペ コー
ド・
フ ィー
ル ドまた は, 命 令全 体 を 可 変 長に し た場 合に本 シ ス テ ム は どの ように変 更され,
どの程 度の効 果が得ら れる か を考 察するこ と,
な どが今後の課題 として残 され てい る。 )1
)2
) 3 参 考 文 献Hockny ,
R.
W.
andJesshope
, C
.
R .
:“
Parallel
Computers ”,
Adam
HilgerLtd.
,Bristol
(1981
).
Rauscher,
T .
G .
andAgrauwara ,
A .
K .
: Na−
tionalComputer
Conference,
pp。
715−
722(1976).
Aho,
A .
V .
and Ullman,
J
.
D .
:“Principles of相 模工業大学紀 要 第 20 巻 第 1 号 ) 4 ) ) )
FD67
Comiler Design
”
, Addison−
Wesley PublishingCo .
(1977
).
Abd
−
Alla,A .
M.
and Karlgaard , D.
C .
:IEEE
Trans.
onComputers
,
Vo1.
C −23
, No.
8, pp.
802−807
(1974
).
坂 村
,
相 磯 : 電 子 通 信 学 会 論 文誌,
Nov.
1977.
坂 村, 相磯, 飯 塚: 信 学 技 報
,
EC75−
28.
Sakamura , Kり Morokuma , T
.
, Aiso, H.
andIizuka
,
H.
: NationalCompute
Conference,
pp。
499
−
512 (1979).
8> AM 2900
Bipolar
MicroprocessorFamily,
AMD社
.
9)
Ganapathi,
M.
,
Fischer,
C.
N.
and Hennessy,
∫