13

Click here to load reader

産学間連携推進室(AC部屋) 2012 成果報告会

Embed Size (px)

Citation preview

Page 1: 産学間連携推進室(AC部屋) 2012 成果報告会

システム情報工学研究科 産学間連携推進室

情報学群 情報科学類 川田裕貴 伊藤剛浩

独立行政法人 情報処理推進機構 2011年度未踏人材発掘育成事業 採択プロジェクト

Page 2: 産学間連携推進室(AC部屋) 2012 成果報告会

Open Design Computer?No Intel.No ARM.No MIPS.

The "mist32" Architecture.All new open design processor.

Page 3: 産学間連携推進室(AC部屋) 2012 成果報告会

プロジェクトの特徴

開発ツールを一通り揃える

製品利用する際に無いと障壁になる

再利用可能な状態でソース・仕様を公開

プロセッサの HDL は BSD ライセンス

モバイル機器に使われるようなものを想定

OSが乗ったタブレットやスマホなど

Page 4: 産学間連携推進室(AC部屋) 2012 成果報告会

mist32 アーキテクチャ

ハードウェアとソフトウェアの協調動作

OS を支援する機能を多く載せ高速化

アウトオブオーダー実行

回路規模は大きくなるが高速化できる

独自の命令セット

アウトオブオーダー実行に最適化

Page 5: 産学間連携推進室(AC部屋) 2012 成果報告会

命令レベル並列化・OSの支援

少ないハードウェアでOoOを実現フラグの見直しにより命令間依存を軽減

Rob/Rs/CDBの小型化が実現

OSの機能をハードウェアでサポート

コンテキストスイッチのハードウェア実装

コンテキストをキャッシュを用いたLSに格納

ハードウェアポーリングと割り込みの融合

Page 6: 産学間連携推進室(AC部屋) 2012 成果報告会

搭載している FPGA

ALTERA Cyclone IV EP4CE115[Terasic DE2-115 Development Board]

Page 7: 産学間連携推進室(AC部屋) 2012 成果報告会

mist1032sa プロセッサ

Load/Store 型 RISC スーパースカラ

2命令同時フェッチ/4命令同時実行片方向の分岐予測と投機的実行レジスタリネーミングTomasulo のアルゴリズム (OoO)

with Flag 命令の撤廃 (OoO 最適化)

Page 8: 産学間連携推進室(AC部屋) 2012 成果報告会

mist32 の位置づけ

 性能の目安→↑ビット数

Page 9: 産学間連携推進室(AC部屋) 2012 成果報告会

アセンブラとバイナリ00000470 <genrand_int31>:

470: 11 00 03 c0 push rbase

474: 11 00 03 e0 push rret

478: 18 00 03 c0 srspr rbase

47c: 0e e0 03 a0 lih rtmp,0x0

480: 0d 40 47 a0 wl16 rtmp,0x220

484: 20 70 03 e2 movepc rret,8

488: 14 40 03 a0 b rtmp,#al

48c: 08 30 00 01 shr r0,0x1

490: 12 00 03 e0 pop rret

494: 12 00 03 c0 pop rbase

498: 14 40 03 e0 b rret,#al

call

return

32bitaddr

Page 10: 産学間連携推進室(AC部屋) 2012 成果報告会

現状の全体図

Page 11: 産学間連携推進室(AC部屋) 2012 成果報告会

開発規模について

MIST1032SAプロセッサ + ペリフェラル

行数 : 81,000行使用LE : 101,800LE [in-order: 32,000LE]

開発環境

GCC : 3,100行binutils(gas, ld) : 1,800行シミュレータ : 1,500行Newlib : 1,000行

Page 12: 産学間連携推進室(AC部屋) 2012 成果報告会

これから...

回路規模の縮小化

DE2-115 デモボードへ搭載可能な規模に

インオーダーコアの制作 → Done!とりあえず規模の小さいものも作る

OS をはやく載せられる状態に

GCC のバグ修正、OS 支援機能テスト

Page 13: 産学間連携推進室(AC部屋) 2012 成果報告会

Web などの資料

プロセッサの仕様と移植に関する資料open-arch.org

ソースコードgithub.com/technogithub.com/cpulabs