FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2
-
Upload
shinya-takamaeda-yamazaki -
Category
Technology
-
view
1.313 -
download
0
description
Transcript of FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2
スクラッチからシステムを作ろう -チップからOSまで-
FPGAシステムを作るといいことがある(かも?)
高前田(山崎) 伸也
東京工業大学 大学院情報理工学研究科 日本学術振興会 特別研究員 DC1
2011-07-29 SWoPP2011@鹿児島 BoF-2 19:10-20:40
はじめに n 昨年のSWoPP2010@金沢のBoF-2に参加された方は, いらっしゃいますか?
2
今回は・・・
n 東工大 吉瀬謙二 准教授の代理で来ました!
n 一学生の立場から マルチFPGAシステムScalableCoreシステムの 開発を通したメリット・デメリットについて お話したいと思います
3
自己紹介
n 高前田(山崎) 伸也 (たかまえだ(やまざき) しんや) l 東京工業大学 大学院情報理工学研究科 計算工学専攻 吉瀬研究室 博士課程 1年
l 日本学術振興会 特別研究員 DC1
n 専門/研究 l プロセッサアーキテクチャ
• DMAベースメニーコアのためのアーキテクチャサポート • 高信頼メニーコア実現のための高機能NoC
l リコンフィギャラブルシステム • メニーコアアーキテクチャ評価のためのマルチFPGAシステム
4
一学生の主張
5
実際にシステム開発をすると 開発スキルは身につくよ!
マルチコア/メニーコアプロセッサ
6
Intel Single Chip Cloud Computer 48 cores (x86)
TILERA TILE-Gx100 100 cores (MIPS)
7
オレオレ メニーコアが欲しい!!
開発したシステム: ScalableCoreシステム n 複数のFPGAからなるメニーコアシミュレータ
l 現在,最大100個FPGAの並べたシステムが動作
8
DRAM Controller DRAM Controller
DRAM Controller DRAM Controller
Local Memory
DMAC
Core
R
Map
ScalableCoreシステムについて n 隣接FPGAと同期を取りながらシミュレーション
l コア数に対してスケーラブルなシミュレーション速度
n システム機能によりFPGAデバイスを仮想化
9
Power Supply & SD Card
DC5V
SD Card
FPGA
SRAM
Power Supply
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
Target Core
System Function
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
FPGA
SRAM
Power Domain 1
Power Domain 2
ScalableCore Unit
Core DMAC
Local Memory (Interface)
Router
Ser/Des Memory Multiplexer
Initializer Device Controller
Arbiter Interface Register
Target Core
System Functions
基板たち
10
動作するまで n 2008年12月: プロジェクト開始 n 2009年3月: 専用FPGA基板 V1.0設計・開発
l Spartan-3E 500E
n 2009年7月: ScalableCoreシステム 0.7 動作 n 2009年12月: ScalableCoreシステム 1.0 動作
l 64FPGAシステム l SACSIS 2010にて発表&ポスター発表→ポスター賞受賞
n 2010年8月: ScalableCoreシステム 2.0 開発 l Spartan-3E 1200E/Spartan-6
n 2011年3月: ScalableCoreシステム 3.0 動作 l 100FPGAシステム
11
何を作ればFPGAシステムになるか?
12
FPGA基板 (はんだ付け)
基板レイアウト
システムアーキテクチャ
FPGA回路 (HDL記述)
制御ソフトウェア
ベンチマークアプリケーション
(自分が思う) FPGAシステム開発に必要なもの
n 速い計算機 l 回路の合成には長い時間がかかります
• 小規模Spartan-6 XC6SLX16をターゲットとした場合,約15分
n 根気 l シミュレータで動いたけど,実機では・・・
• I/Oが増えると挙動が読みづらい
n 予算 l ものが買えないと作りようがない l 学生ではどうにかするのは難しいかも l 学生なら学振とか未踏とか?
13
(自分が思う)システム開発のメリット n コードを書く力が身につく!
l 自分が使えるデザインパターンが増える・洗練される n ツールの使い方が身につく!
l 各種シミュレータやスクリプト言語がリアルに使えるように n 想像力が高まる!
l もし,ここが間違っていたら,ここがこうなるはず l もし,ここが壊れていたら,そもそも,ここまで進まないはず l もしかして,アーキテクチャが間違っている?
• いろいろなレイヤーの事を考える!
n 開発が進んだときの嬉しさ l 上から下まで揃って動くととても嬉しい!
n これらのことがどれくらいの価値を持っているかは不明
14
(自分が思う)システム開発によるデメリット
n 実際のシステム開発は想像以上に時間がかかる l ただの学生がやる場合には特に l 修士2年間ではあまり進まないかもしれない
n 論文執筆までのスパンが長くなる l 論文が書けずに悶々と・・・ l 他の研究をやった方が論文「は」書けるのでは?
n でも,失敗は学生の特権! l 研究室の予算が飛ぶだけ l システム開発は失敗しても,その分学びましょう!
15
まとめ
16
実際にシステム開発をすると 開発スキルは身につくよ!
失敗してもいいじゃない!
気楽にシステム開発しましょう!