seccamp2012 チューター発表
Post on 24-May-2015
14.248 Views
Preview:
TRANSCRIPT
Open DesignComputer Project川田裕貴
自己紹介
@hktechno川田 裕貴 (かわた ひろたか)
筑波大学 情報学群 情報科学類 2009年度 AC2011年度 未踏IT人材発掘・育成事業
Open Design Computer Projectソフトウェア開発担当
コンピューターを作った
魔法のデバイス FPGA
自由に回路を書き換え可能な ICハードウェア記述言(HDL)で回路を記述
主な用途
プロトタイプ小ロットのチップ
Open DesignComputer Project とは
オープンソース
低消費電力向け
開発ツールが揃っている
FPGAに構築可能
mist32 アーキテクチャ
ハードウェアとソフトウェアの協調動作
OS を支援する機能をたくさん載せる
アウトオブオーダー実行
回路規模は大きくなるが速くなる
独自の命令セット
アウトオブオーダー実行に最適化
アセンブラとバイナリ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
mist32 の位置づけ (目標)
性能の目安→↑ビット数
セキュリティとか
カーネル空間をページテーブルごと隔離
プロセスページ空間全てにカーネル空間をマップする必要がなくなる
NX bit と同等の機能
ページごとに実行可能フラグを持つ最近はあたりまえ?
いままで
PDTR
ユーザー空間- プロセスごと-----カーネル空間- 割り込みハンドラ- システムコール
カーネル空間は、どのプロセスからも見える
いろいろできる!
これからのページング
PDTR
ユーザー空間- プロセスごと
KPDTR
カーネル空間- 割り込みハンドラ- システムコール
メモリ空間を分離させることができる!不用意にカーネル空間へアクセスされない
開発規模について
MIST1032SAプロセッサ + ペリフェラル
行数 : 81,000行使用LE : 101,800LE
開発環境
GCC : 3,100行binutils(gas, ld) : 1,800行シミュレータ : 1,500行Newlib : 1,000行
FPGA に入りきらない...
/(^o^)\
これから...
回路規模の縮小化
DE2-115 デモボードに乗るようにする
インオーダーコアの制作
とりあえず規模の小さいものも作る
OS をはやく載せられる状態に
GCC のバグつぶし、支援機能テスト
ものの公開場所
Web サイト
http://open-arch.org/
プロセッサhttp://github.com/cpulabs/
ソフトウェアhttp://github.com/techno/
Verilog HDL 狂の CPU 好きと
OS とかいじってた人が
出会うとこんなことができます
仲間は大事です探しましょう出会いは大切に
さいごに...
ありがとうございました
top related