open design computer project(boost)

15
Open Design Computer Project ○伊藤 剛浩 川田 裕貴 http://open-arch.org/

Upload: ito-takahiro

Post on 18-Dec-2014

1.916 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Open design computer project(boost)

Open Design Computer Project

○伊藤 剛浩 川田 裕貴

http://open-arch.org/

Page 2: Open design computer project(boost)

@cpu_labs

伊藤 剛浩 (いとう たかひろ)

筑波大学情報学群情報科学類2++ AC

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

Verilog HDL

回路屋

Page 3: Open design computer project(boost)

@hktechno

川田 裕貴(かわた ひろたか)

筑波大学 情報学群 情報科学類 2++年生

産学間連携推進室

使える言語 : C, Python, x86 asm

好きなGNU/Linux : Debian

好きなエディタ : Emacs

アンチ Apple

Page 4: Open design computer project(boost)

Open Design Computerとは

• Open Design

–仕様, 開発ツール,OS,ハードウェアを公開

–全て自由に利用可能(2次利用が可能)

–様々な製品へ転用可能

• ユーザ視点からみた Open Design Computer

–より高速に動作するコンピュータ

–なおかつ低消費電力動作

Page 5: Open design computer project(boost)
Page 6: Open design computer project(boost)

このプロジェクトでの提案

• ハードウェアとソフトウェアの協調設計

–ハードウェアとソフトウェアの機能整理

–ゼロからのコンピュータシステム設計

Page 7: Open design computer project(boost)

ハードウェアとソフトウェアの連携

• レジスタ退避におけるキャッシュの有効活用

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

• 割り込みを複数用意してレベルを設ける

• 既存システムにあるムダを無くす

クロックの向上に拠らない性能向上

Page 8: Open design computer project(boost)

ハードウェアの支援による解決

• 割り込みシステムの設計を見直す

–割り込みレベルを設ける

–割り込み実行タイミングの制御

• 積極的なコンテキストスイッチの支援

–ハードウェア処理によるオーバーヘッドの削減

–同一プロセスのスレッド切り替えを高速化

Page 9: Open design computer project(boost)
Page 10: Open design computer project(boost)
Page 11: Open design computer project(boost)

ハードウェアの開発

• コンピュータシステムに必要なハードウェアの開発 –プロセッサコア

– IO/割り込み管理

– メモリ管理

–各外部デバイスコントローラ

• 市販されているFPGAボード上に構築 –シミュレータのみならず実動作可能

Page 12: Open design computer project(boost)

ハードウェアの開発 : 苦労編

• ハンドアセンブル & ハンド逆アセンブルの嵐

• シミュレータが高価

• FPGAが高価

Page 13: Open design computer project(boost)

ソフトウェアの開発について

• OSに必要なソフトウェア群の移植 – オープンソースソフトウェアとして開発

• アセンブラ – GNU binutils (gas, ld)を採用

• コンパイラ – GNU Compiler Collection (gcc)を採用

• オペレーティングシステム – ハードウェアの機能を最大限に活用する

Page 14: Open design computer project(boost)

ソフトウェアの開発 : 苦労編

• OSを動かすための機能に関する資料が少ない

– MMU,割り込み,IO周りなど

– (個人レベルでは)誰もやってない…

• GNU binutils (gas), gccが汚い

–レガシーコードの山。格闘戦

–移植に関する資料も少ない

• プロセッサができないとデバッグ・評価できない

–資料を考えている時が一番楽しい。実装は…

Page 15: Open design computer project(boost)

ロードマップ

2012年8月

• 各仕様のリリース

• ハードウェア – プロセッサコア

– IO/割り込み管理

– メモリ管理

– 外部デバイスコントローラ

• オペレーティングシステム

– 基本的な外部デバイスとの通信

– マルチタスクに対応

その後

• プロセッサ/OSのチューニング

• マルチコア化への対応

• 多彩なデバイスへの対応

• チップ化や専用ボードの製作