• 検索結果がありません。

仮想キューマシンVQMの構成と基本性能評価

N/A
N/A
Protected

Academic year: 2021

シェア "仮想キューマシンVQMの構成と基本性能評価"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)社団法人 情報処理学会 研究報告 IPSJ SIG Technical Report. 2004−HPC−98 (6) 2004/4/13. 仮想キューマシン VQM の構成と基本性能評価 川田. 宗 太 郎†. 曽. 和. 将. 容††. キュー計算モデルに基づく新しい並列プロセッサ「キューマシン」に、仮想的にキューを長くする 「仮想キュー」を導入することを提案する。このプロセッサは、仮想レジスタの導入によってプログラ ムサイズが小さいまま大並列実行が可能である。スーパスカラプロセッサとしてシステムを設計し、 シミュレーションによって基本的な性能評価を行った。その結果、プロセス切り替えの効率が良く、 プログラムサイズを考慮するとパフォーマンスが上がることが分かった。これは限られたハードウェ ア資源を有効に使うプロセッサである。. Construction and Basic Performance Evaluation of Virtual Queue Machine Sotaro Kawata† and Masahiro Sowa†† In this paper we propose a novel parallel processor, named Queue Machine, based on the queue calculation model. A ”Virtual Queue” is introduced so that the queue length becomes virtually unlimited. Parallel processing can be easily performed by the proposed machine with the introduction of virtual registers while keeping small program size. We design the system as a super scalar processor and evaluate its basic performance. The results show that the processor decreases the process switching costs. In addition, programs for the proposed machine are considerably compact. Moreover, the processor makes good use of the limited hardware resources.. 1. は じ め に プロセッサの計算モデルは、アキュムレータ型、レ ジスタ型、スタック型が良く知られている。最も代表 的な仮想マシンの一つである Java1) は、スタック計 算モデル2) 3) に基づいたマルチプラットフォームなマ シンである。スタックはデータの入出力が1箇所であ るため、前後の命令に依存関係が発生してしまい、並 列計算のパフォーマンスが悪いという欠点がある。と ころが、キューを用いればこの問題点が解決される。 キューの構造上、データの入出力がお互いに独立して いるためである。キュー計算モデルは Bruno ら4) に よって研究されていたが、そのモデルの持つ並列性 は、前田ら5) や曽和6) によって見出された。そして、 キュー計算モデルに基づく並列プロセッサ「キューマシ ン」の基礎6) が確立され、スーパスカラプロセッサと しての設計および基本性能評価が行われてきた7) 8)9) 。 キューマシンでは、キューは長ければ長いほど大並列 † 東京大学 大学院新領域創成科学研究科 基盤情報学専攻 The University of Tokyo, Graduate School of Frontier Science, Department of Frontier Informatics †† 電気通信大学 大学院情報システム学研究科 情報ネットワーク学 専攻 The University of Electro-Communications, Graduate School of Information Systems, Department of Information Network Science. 実行が可能となる。しかしながら、物理レジスタで長 いキューを実現するのは困難である。以前に設計され たキューマシン7) は PLD 化を目指したシミュレー ション上のものであり、キューは全て物理レジスタで 構築されることを想定していた。よって演算部分に利 用できるキューが短く、データ退避用のキューを必要 とした。 そこで筆者らは、仮想レジスタを取り入れることに より長いキューを仮想的に実現するキューマシンを提 案する。このキューマシンは、キューからデータを溢 れないようにするための spill コードを含める必要が ないため最小限のプログラムで済み、しかも、プログ ラムの実行時間も物理キューのものと比べそれほど劣 らない。また、ハードウェアが自動的にレジスタを選 択するため、限られたハードウェア資源を有効に使う 方式である。本稿では仮想キューマシンの構成と、そ れを基にしたシミュレーションによる性能評価を行っ た結果を報告する。尚、この研究内容は筆頭著者の卒 業研究8) として成し遂げられたものである。 キューマシンは非常に新しい概念であり、まだ一般 にはほとんど知られていない。しかしながら、レジス タマシンと比べて実行プログラムサイズが 1/3 程度で あること、並列実行が可能であること、また、アーキ テクチャが非常にシンプルであることを考慮すると、 複雑化しすぎた現在のプロセッサ10) に代わる、新たな プロセッサ方式の 1 つであることは確実である。現在、 汎用プロセッサへのキュー計算モデルの導入11) 12) 、C. −31− 1.

(2) コンパイラの開発13) 、Queue-Java の開発14) など、研 究の裾野が広がりつつある。更に、他のアーキテクチャ との定量的な比較評価を行なうプロジェクトも進行中 である。. レジスタ計算モデルの場合、命令がデータを読み書 きするレジスタを明示的に指定するが、キュー計算モ デルの場合、図 2(a) のように、オペランドを必要と しない分、命令サイズが小さくなる。また、キュー計 算モデルでは、命令はレジスタを意識せずキューのみ を考慮する。命令は、キューからデータを取り出し、 演算をし、再びキューにデータ (演算結果) を入れるだ けである。尚、○はキューに即値を入力する命令、□ は演算命令とする。命令列(プログラム)は、図 2(b) の曲線矢印が指す順番(左から右へ、上から下へ)に 生成される。生成されたプログラムは逆ポーランド記 法に似ているが、それとは異なりキュー計算モデル独 自の並びである。図 2(c) にプログラムの進行とキュー 内の演算の様子を示す。プログラムが終了すると、最 期に答えの”13”がキューに残る。 2.2 循環配列レジスタによるキューの実現 キューは図 3 に示す循環配列レジスタとして実現さ れる。. 2. 仮想キューマシン VQM の設計 本稿で提案するキューマシンは、循環配列レジスタ (後述) と仮想レジスタ (後述) とを組み合わせること により、仮想的に長いキューを実現する仮想キューマ シン (Virtual Queue Machine, VQM) である。図 1 に仮想キューマシンの概念を示す。 Virtual register (multi process). Circular array register H. T. DT DT. Conventional register. Virtual queue machine Head. R0. Tail. Head. Instruction flow Head. Tail. Queue machine. 2. opecode. li 2. 2. li 5. 2. 5. li 3. 2. 5. add. 3. mul. 3 * 7 = 21 21. li 8. 21 8. sub. 21 - 8 = 13 13. 5. n. li n. literal inst.. +. add. logical inst.. (a) 1 3. 3 5. 2 4. * 7. 2. 5 order of inst.. + 6. 3 3. 2+5=7 7. 8. 8. (b). Calculation result "13" remains in the queue. (c). 図 2 キュー計算モデルにおける (a) 命令フォーマット (b) 構文木 (c) 処理の流れ. Data in queue. R4. Tail. Queue. Tail. DT DT. 2.1 キュー計算モデル 図 2 にキュー計算モデルの (a) 命令フォーマット、 (b) 構文木、(c) 演算の流れを示す。ここでは式 3∗(2+ 5) − 8 = 13 を例に挙げて説明する。. opecode src. 1 src. 2 dest.. R2 R3 DATA DATA. Head. 図 1 仮想キューマシン VQM の概念. Register machine. R1. Referred order R0. R1. R2. R3. R4. R0. R1. R2. 図 3 循環配列レジスタ. 循環配列レジスタでは、データが挿入されると配列 上の 1 エントリが割り当てられ、読み出されるとそ のエントリが解放される。例として、5 エントリのレ ジスタを考える。キューの先頭を表すポインタ Head と、キューの末尾を表すポインタ Tail がある。デー タが取り出されると Head が右へ移動し、データが挿 入されると Tail が右へ移動する。Head と Tail のポ インタ値が 4 を超えた場合は、再び 0 へ戻る。これ が繰り返され、レジスタ上でのキュー計算が執り行わ れる。 2.3 仮想レジスタ キューマシンでは、キューが短いとデータが溢れて 演算が行えなくなる場合がある。そこで、VQM では、 仮想レジスタを導入することで長いキューを実現する。 図 4 に仮想レジスタの概念を示す。 仮想レジスタの概念は、仮想メモリとほぼ同様であ る。いくつかのレジスタをひとまとまりにしてメモリ (キャッシュ) へ書き出したり、メモリからロードする。 仮想メモリにおけるページングに相当するこの概念を、 本稿は Swap と名付ける。Swap するレジスタのひと まとまりをレジスタブロック、1 ブロックのレジスタ 数をブロック長と定義する。仮想レジスタと物理レジ. −32− 2.

(3) ロセッサとして設計する。命令はパイプライン(Fetch, Decode, Issue, Execute, Writeback など)を経て処 理される。命令処理の管理は命令ウィンドウで行わ れる。. Virtual register (multi process) 0 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 I 9 J 10 K 11 L 12 M. PID=0 PID=1 PID=2. Physical register 0. 9. 1. 5. 0. 2. 0 1 2 3. J L F C. 2 11. Operating system Console. PR-idx. Tag 1. Tag 2. PID. VR-idx. Data. Memory Control flow. Process managing. 32bit address space. Data flow. Processor Processor control unit. R0 R1 R2. Memory access unit. Fetch unit. Virtual queue. Construction of register block. VR-idx. Monitor. PC. Rn. Head. Issue unit Tail. 図 4 仮想レジスタの概念 Decode unit. スタは、それぞれインデックスを持つ。物理レジスタ には Tag が 2 つあり、1 つは仮想レジスタのインデッ クス (VR-idx) を、もう一つはプロセス ID(PID) を 保存する。これによって複数のプロセスにも対応する ことができる。 2.4 キューの長さとプログラムサイズ キューが短いと、spill コードと呼ばれるメモリ退避 命令をプログラムに含ませてキューからデータが溢れ ないようにする必要がある。よって実行プログラムの サイズが増大する。長いキューでは spill コードは必 要ないため、プログラムサイズは最小で済む。この様 子を図 5 に示す。 Source programs Binary code. Binary code. 010100010010 010100010010011 0100101101110 101010000100101 0011010101001010. Compile. Compile. 00101 111010 11001 110101 01011. Many spill codes. Run Short queue. Head. Run. No spill code. Head. Tail. spilling. Memory. Short queue 図5. Memory. Long queue spill コードとキュー長との関係. VQM の特徴は、長いキューを仮想的に作ることが できるため、spill コードのない最小限の実行プログラ ムで処理ができる点である。 2.5 VQM の構成 図 6 に VQM のブロック構成を、表 1 に構成要素数 を示す。本研究では VQM を一般的なスーパスカラプ. Register unit. Frame unit Instruction window. Functional unit. Load / Store unit. 図 6 VQM のブロック構成. 表 1 VQM の構成要素数. Default patameters of VQM Word size in bits Instruction fetch width Queue length (in words) Block length (registers) Number of register blocks Swap buffer entries Instruction window entries. Arithmetic logic unit 32 4 320 8 4 20 20. Swap latency per register 1 [cycle] Process switching latency 10 [cycle]. Long queue. Tail. Branch unit. Integer Single-precision fp Double-precision fp Logic operation Type convertor. 4 4 4 4 4. Queue control unit Branch unit Frame access unit Memory access unit Load unit Shift unit. 4 1 1 1 1 1. VQM の基本構成は一般的なスーパスカラプロセッ サと代わらないが、Head と Tail の指すポインタ値が 使用するレジスタ番号であり、プロセッサ内で動的に使 用するレジスタが決まる点がこれまでのプロセッサと異 なる。レジスタリネーミングなどのステージは、VQM には必要ない。Queue length は仮想キューの長さであ る。プログラムはこの長さを越えないように設計され る。物理キューのハードウェア量は、Block length と Number of register block の積である。Swap buffer は、Swap 要求のあるレジスタブロックのインデック スを一時保存するキューである。Swap による遅延時 間は、1 レジスタにつき 1 サイクルを想定する。プロ セス切り替えは 10 サイクルを見積もる。. −33− 3.

(4) IPC. 3. パフォーマンス. (a) intmix. 設計した VQM は、様々な特徴を兼ね備えている。 それぞれの特徴に応じた評価項目に分類することが有 効と考え、次の5つの項目で性能評価を行った。それ ぞれ、キューマシンの並列実効性の検証、効率の良い ブロック長の評価、Swap 戦略、プロセス切り替えのコ スト、仮想レジスタの効果である。評価を行うために、 VQM の設計に基づいたシミュレータを作成し、これ を使用してサイクル数、IPC の値、及び Swap の回数 を測定した。また、評価項目に相応しいベンチマーク を作成した。評価項目により VQM の構成要素数を多 少変化させるが、特に指定が無い限り、表 2 に従う。 3.1 ベンチマークプログラム VQM 用のコンパイラが存在しないため、構文木か らアセンブラを起こし、ベンチマークプログラムを 作成した。表 2 に評価に使用するベンチマークプロ グラムとその特徴を示す。作成したベンチマークは、 intmix, li-drop, dblong, no-spill, use-spill の 5 種類 である。 表2. Program Size [Byte] intmix. li-drop. dblong. use-spill. no-spill. 33. 9. 68. 122. 72. ベンチマークプログラム. (b) li-drop. (c) dblong. 4 20 entry inst. win. 3. 10 entry inst. win.. 2 1 0. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. Instruction fetch width 図7. 命令フェッチ幅に対する並列実行度. 令の先読みが数多くできる。このこともグラフから読 み取れる。 3.3 ブロック長 効率の良いブロック長の評価を行った。実験では、 32 個の物理レジスタ、320 個の仮想レジスタによる VQM を想定した。ブロック長をそれぞれ 32, 16, 8, 4, 2, 1 レジスタとし、前回と同様の条件で IPC を測 定した。ただし、命令ウィンドウは 20 エントリであ る。図 8 にその実験結果を示す。 Swap. IPC 4. (a) intmix. Swap. IPC. (b) li-drop. 1000. 4. 3. 750. 3. 750. 2. 500. 2. 500. 1. 250. 1. 250. 0. 0. 1000. Feature This program is composed from many integer instructions. Used queue length is under 32. This program has simple activity of only input and output. The highest parallelism can be performed. Double-precision floating-point calculation is done in this program. Queue length is over 32. Both programs perform the same tasks but with different queue length requirements. The first one, "use-spill", creates many spill codes and it does not need a long queue. The other program, "no-spill", makes no spills, but needs a longer queue.. 3.2 キューマシンの並列性 キューマシンの持つ並列性の検証を行った。実験で は 320 個の物理レジスタのみで構成される物理キュー マシンを想定した。命令のフェッチ幅を 1∼5 までと し、命令ウィンドウのサイズを 10 エントリ、20 エン トリの 2 通りとして、それぞれ 500 命令読み込んだ ところの IPC の測定を行った。使用したベンチマー クは、intmix, li-drop, dblong である。図 7 に命令 フェッチ幅に対する並列実行度を示す。 実験の結果、命令フェッチ幅を 1 以上に設定したも のは、いずれのベンチマークにおいても、IPC が 1 以 上になった。このことから、キューマシンに並列実効 性があることが確かめられた。li-drop は並列実行度 が突出しているが、これは原理上、最高の並列度が出 せるベンチマークであるため、その特徴が顕著に現れ ている。命令ウィンドウのエントリ数を増やすと、多 くの命令が一度に管理できるため、並列実行できる命. 0. P 32 16 8 4 2 Block length. 1. (c) dblong. 0. 1000. 3. 750. 2. 500. 1. 250. 0. 1. Swap. IPC 4. P 32 16 8 4 2 Block length. P 32 16 8 4 2 Block length. 1. IPC (Physical) IPC (Virtual) Swap P: Physical register (32-registers). 0. 図 8 ブロック長の IPC に及ぼす影響. 実験結果から、(a) ではブロック長を4にしたもの が僅かに良い性能を示し、(b) では 1 を除いて殆ど変 わらず、(b) では 8 が最も良い性能を示している。ま た、Swap の回数は、ブロック長が小さくなるほど増 える傾向を示している。参考のために、物理レジスタ のみで構成されたキューマシンでの結果を示す。(a) と (c) では、仮想レジスタに比べて物理レジスタの方 が IPC は大きいが、(b) ではあまり差が出ない。並 列実行が可能なプログラムでは、仮想レジスタが有利 であることが分かる。 3.4 Swap 戦略 Swap させるレジスタブロックの戦略を変えて、そ のパフォーマンスの評価を行った。図 9 にその実験結 果を示す。 実験では、アクセスが最も新しいもの、2 番目に新. −34− 4.

(5) Swap. IPC. (a) intmix. (b) li-drop. 4. 3. 300. 3. 300. 2. 200. 2. 200. 1. 100. 1. 100. 0. 0. 0 Swap strategy. 400. IPC. 0 Swap strategy. (c) dblong. Swap. IPC (Physical queue) IPC (Virtual queue) Swap. 2.0. Swap. IPC 4. 読んだ。切替える命令数の間隔はそれぞれ、500 命令, 250 命令, 125 命令, 83 命令, 62 命令, 50 命令, 42 命 令とした。よって、切替えの回数はそれぞれ、切替え なし、1 回, 3 回, 5 回, 7 回, 9 回, 11 回となる。図 11 にプロセス粒度の IPC に及ぼす影響を示す。. Swap. IPC. 400. 4. 200. 1.5. 150. 1.0. 100. 0.5. 50. 400. 3. 300. 2. 200. 1. 100. 0. Latest 2nd-latest Random 2nd-oldest Oldest Swap. 0. No 250 125 83 62 50 Switch Process size. 42. No 250 125 83 62 50 Switch Process size. 0. 42. 図 11 プロセス粒度の IPC に及ぼす影響. 0 Swap strategy. 図 9 Swap 戦略の IPC に及ぼす影響. しいもの、ランダム、最も古いものから 2 つ前、そし て最も古いものの 5 つで IPC と Swap の回数を調べ た。(a) と (c) からは、最も古いものを Swap するの が効率が良いことが分かった。(b) は戦略に対して変 化がなかった。 3.5 プロセス切り替えのコスト 構築した VQM は、マルチプロセスに対応する。そ こでプロセス切り替えを行った場合の評価を行った。 想定するプロセス切り替えの概念を、図 10 に示す。 Time. intmix Interrupt. Interrupt. intmix Process size Running. Interrupting. Ready. Context switching. Wait. 図 10 プロセスの切り替えタイミング. プロセスを特定する情報は Head, Tail, Frame, PC, PID である。プロセス切り替えでは、これらの情報 の退避に 10 サイクル必要であると想定した。物理レ ジスタのみのプロセッサでは、プロセス切替えの際は レジスタの内容も退避させる必要があり、32 サイク ルの遅延が必要と想定する。VQM では、レジスタの 内容を退避させる必要は無い。従って、仮想レジスタ の場合、1 回のプロセス切替えに 10 サイクルの遅延 で済み、物理レジスタ方式の場合はレジスタと合計し て 42 サイクルの遅延が必要となる。ベンチマークに は intmix を用いた。測定は、まず intmix を2つ立ち 上げ、一定の命令数を読み込んだ時点でプロセスを交 互に切替え、500 命令読み込んだ時点で、IPC の値を. 結果から、仮想レジスタの場合は、プロセス粒度 を小さくしてもあまり性能は低下しないことが分かっ た。この理由は、粒度が小さい場合はプロセス番号が 切り替わらずに、以前のプロセス番号が残るレジスタ ブロックが多くなるため、Swap を行なわずに処理が 続けてできるからである。これは仮想レジスタの特徴 であり、実験の結果からこの特徴が明らかとなった。 これに対し、従来の方式ではプロセス粒度が小さくな るに連れ、性能が低下していった。このことから、仮 想レジスタにおけるプロセス切替えは効率が良いとい える。 3.6 仮想レジスタの効果 キューは短いが全て物理レジスタのみで構成される キューマシンと、キューの長い VQM とで、同じ目的 を達成するベンチマークを用い、仮想レジスタを導入 することの効果を調べた。ベンチマークが処理し終え たときのかかったサイクル数とプログラムサイズの積 を、かかったコストとして評価する。spill コードが必 要な短いキューを物理レジスタで構成し、spill コード の要らない長いキューを仮想レジスタとする。同じ物 理レジスタ数にもかかわらず、仮想レジスタの方がコ ストを低く抑えられれば、仮想レジスタの効果を確か めることができる。 表3. 仮想レジスタの評価に用いる比較対象の条件. Benchmark Size Queue len. Phy. reg. Fetch size Inst. win. [entry] [inst] [entry] [word] [Byte] (i). use_spill. 122. 8. 8. 2. (ii). no_spill. 72. 320. 8. 2. 3 3. (iii). use_spill. 122. 8. 8. 4. 20. (iv). no_spill. 72. 320. 8. 4. 20. (v). no_spill. 72. 320. 16. 4. 20. (vi). no_spill. 72. 320. 32. 4. 20. 表 3 に示される 6 つの条件のプロセッサを想定し て実験を行った。実験結果を図 12 に示す。(a) は命令 ウィンドウのサイズを変えた場合のコストの比較、(b) は物理レジスタの個数を変えた場合の比較である。(a). −35− 5.

(6) Total cost. Cycle. Total cost. x10000 [cycle*inst] 5.0 4.0. Cycle. x10000 [cycle*inst] 500 5.0. Total cost Cycle. (i). 500 Total cost Cycle. 400 4.0. 400. 参 考. 3.0. 300 3.0. (iii). 200 2.0. (iii). 200. (iv). (iv) 1.0. (v) (vi). 100 1.0. 0. 0 VQ. WinSize 3. PQ. VQ. WinSize 20. (a). 文. 献. 300. (ii) 2.0. PQ. 与えて頂いた。また、在籍当時の曽和研の皆さんには 色々とお世話になった。この場を借りてお礼を申し上 げます。. 0. 100 0. R8. Physical. R8. R16. R32. Virtual. (b). 図 12 仮想レジスタ導入によるコスト削減 (a) 命令ウィンドウの 大きさを変えた場合 (b) 物理レジスタの個数を変えた場合. からは、物理レジスタと仮想レジスタ共に、命令ウィ ンドウサイズを大きく取った方がコストを低く押さえ られることが分かる。また、同じ命令ウィンドウサイ ズなら、仮想レジスタの方がサイクル数は多くなって いるが、コストが低くなっている。(b) からは、仮想 レジスタ中の物理レジスタを少し増やせば。少し少な い物理レジスタのみのプロセッサよりもサイクル数を 少なくできることが分かる。. 4. お わ り に 本研究では、仮想レジスタを導入した並列実行の キューマシンを設計し、そのシミュレーションによっ て基本的な性能評価を行なった。評価の結果から次の ことを確認した。(1) キューマシンの並列実行が可能 であること。(2) 最も効率の良いブロック長は 4 個も しくは 8 個であること。(3) 最も古いレジスタブロッ クを Swap すると効率が良いこと。(4) プロセスの粒 度を小さく取ればプロセス切替えに効果が出ること。 そして、(5) 仮想レジスタを導入するとコストが削減 できるということである。 本研究で得られた一番大きな結果は、プログラムが 要求するキューの長さほど、物理レジスタの数を用意 しなくても、少ないレジスタで用が足せる上、プログ ラムサイズも短いままで済むこと、なおかつ、それほ ど速度も低下しないプロセッサが作れることを、シミュ レーションで確かめられたことである。本研究は、限 られたハードウェア資源で、効率良く処理が実行でき ることを証明した。VQM 用のコンパイラが開発され れば、スケジューリングなどの評価項目で、さらに研 究の幅が広がると考えられる。利用するレジスタの選 択や Swap 戦略などにニューラルネットワークなどの 学習理論を取り入れることや、仮想レジスタの物理的 構成に光インターコネクションの技術を取り入れるこ とで、更に効率が増すものと考えられる。 謝辞 前田敦司先生 (筑波大学) には、研究の初期の段階 で VQM 用の命令セットを設計して頂き、研究を大 変潤滑に進めることができた。廣瀬明先生 (東京大学) には、研究に対する深いご理解を頂き、発表の機会を. 1) http://java.sun.com 2) R.Bigelow, ”Structured Code via Stack Machine”, COMPUTER, Vol.38, No.3, pp.67 (1975). 3) Koopman, Philip J., Jr.(著), 藤井敬雄 (訳), 田 中清臣 (監訳), ”スタックコンピュータ―CISC, RISC とスタックアーキテクチャ”, 共立出版 (1994). 4) R.Bruno and V.Carla, ”Data Flow on Queue Machine”, 12th Int. IEEE Symposium on Computer Architecture, pp.342-351 (1985). 5) 前田敦司, 中西正和, ”新しい計算モデル キュー マシンとその並列関数型言語への応用”, 情報処理 学会論文誌, Vol.38, No.3, pp.574-583 (1997). 6) M.Sowa, ”Fundamental of Queue Machine”, Sowa Lab. Tech. Rep. SLL97302 (1997). 7) 鈴木均, 岡本秀輔, 前田敦司, ”キューマシン計 算モデルに基づくスーパスカラプロセッサの実装 と評価”, 情報処理学会 HPC 研究会, 研究報告, No.075-16 (1999). 8) 川田宗太郎, ”並列キューマシンの設計とシミュ レーションによる性能評価”, 電気通信大学 電子 工学科 卒業論文 (2000). 9) M.Sowa et al, ”Proposal and Design of a Parallel Queue Processor Architecture(PQP),” IASTED-PDCS2002, Cambridge, USA, pp.554560 (2002). 10) 月刊アスキー編集部 (著), ”標準 PC ハンドブッ ク/なぜ CPU は速くなるのか?”, ASCII (2003). 11) B.A.Abderazek, K.Nikolova, and M.Sowa, ”FARM-Queue Execution Model: Towards an Alternative Computing Paradigm”, Proceedings of IPSJ Symposium, Yokohama, pp.99-100 (2000). 12) B.A.Abderazek et al, ”On the Design of Register-Queue Based Processor Architecture (FaRM-rq),” Lecture Note in Computer Science, Springer-Verlag, Vol.2745, pp.248-262 (2003). 13) 奥村義智, 吉永努, 曽和将容, ”キューマシン用並 列化 C コンパイラ”, 情報処理学会 ARC 研究会, 研究報告, No.149-22 (2002). 14) L.Q.Wang et al, ”QJAVAC: Queue-Java Compiler Design for High Parallelism Queue Java Bytecode”, ITC-CSCC2003, Kang-Woo Do, Korea, pp.900-903 (2003).. −36− 6.

(7)

図 6 VQM のブロック構成
図 7 命令フェッチ幅に対する並列実行度 令の先読みが数多くできる。このこともグラフから読 み取れる。 3.3 ブロック長 効率の良いブロック長の評価を行った。実験では、 32 個の物理レジスタ、 320 個の仮想レジスタによる VQM を想定した。ブロック長をそれぞれ 32, 16, 8, 4, 2, 1 レジスタとし、前回と同様の条件で IPC を測 定した。ただし、命令ウィンドウは 20 エントリであ る。図 8 にその実験結果を示す。 0 32IPC 16 8 4P

参照

関連したドキュメント

For graphs of tree-length bounded by δ , we obtain a routing scheme of deviation 6 δ −2 with addresses and local memories of size O ( δ log 2 n ) bits per node, moreover

Some useful bounds, probability weighted moment inequalities and variability orderings for weighted and unweighted reliability measures and related functions are presented..

We claim that the permutations in this class are direct sums of singletons and of blocks of odd size greater than one, where within each block the even elements (with respect to

An example of a length 4 highest weight category which is indecompos- able and Ringel self-dual, and whose standard modules are homogeneous, is the path algebra of the linear

Theorem 4.8 shows that the addition of the nonlocal term to local diffusion pro- duces similar early pattern results when compared to the pure local case considered in [33].. Lemma

In particular, we find that, asymptotically, the expected number of blocks of size t of a k-divisible non-crossing partition of nk elements chosen uniformly at random is (k+1)

The Representative to ICMI, as mentioned in (2) above, should be a member of the said Sub-Commission, if created. The Commission shall be charged with the conduct of the activities

In their turn, the singularity classes for special 2-flags are encoded by certain words over the alphabet {1, 2, 3} of length equal to flag’s length.. Both partitions exist in their