Top Banner
Open Design Computer Project 川田裕貴
17

seccamp2012 チューター発表

May 24, 2015

Download

Technology

Hirotaka Kawata
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: seccamp2012 チューター発表

Open DesignComputer Project川田裕貴

Page 2: seccamp2012 チューター発表

自己紹介

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

筑波大学 情報学群 情報科学類 2009年度 AC2011年度 未踏IT人材発掘・育成事業

Open Design Computer Projectソフトウェア開発担当

Page 3: seccamp2012 チューター発表

コンピューターを作った

Page 4: seccamp2012 チューター発表

魔法のデバイス FPGA

自由に回路を書き換え可能な ICハードウェア記述言(HDL)で回路を記述

主な用途

プロトタイプ小ロットのチップ

Page 5: seccamp2012 チューター発表

Open DesignComputer Project とは

オープンソース

低消費電力向け

開発ツールが揃っている

FPGAに構築可能

Page 6: seccamp2012 チューター発表

mist32 アーキテクチャ

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

OS を支援する機能をたくさん載せる

アウトオブオーダー実行

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

独自の命令セット

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

Page 7: seccamp2012 チューター発表

アセンブラとバイナリ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 8: seccamp2012 チューター発表

mist32 の位置づけ (目標)

 性能の目安→↑ビット数

Page 9: seccamp2012 チューター発表

セキュリティとか

カーネル空間をページテーブルごと隔離

プロセスページ空間全てにカーネル空間をマップする必要がなくなる

NX bit と同等の機能

ページごとに実行可能フラグを持つ最近はあたりまえ?

Page 10: seccamp2012 チューター発表

いままで

PDTR

ユーザー空間- プロセスごと-----カーネル空間- 割り込みハンドラ- システムコール

カーネル空間は、どのプロセスからも見える

いろいろできる!

Page 11: seccamp2012 チューター発表

これからのページング

PDTR

ユーザー空間- プロセスごと

KPDTR

カーネル空間- 割り込みハンドラ- システムコール

メモリ空間を分離させることができる!不用意にカーネル空間へアクセスされない

Page 12: seccamp2012 チューター発表

開発規模について

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

行数 : 81,000行使用LE : 101,800LE

開発環境

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

Page 13: seccamp2012 チューター発表

FPGA に入りきらない...

/(^o^)\

Page 14: seccamp2012 チューター発表

これから...

回路規模の縮小化

DE2-115 デモボードに乗るようにする

インオーダーコアの制作

とりあえず規模の小さいものも作る

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

GCC のバグつぶし、支援機能テスト

Page 15: seccamp2012 チューター発表

ものの公開場所

Web サイト

http://open-arch.org/

プロセッサhttp://github.com/cpulabs/

ソフトウェアhttp://github.com/techno/

Page 16: seccamp2012 チューター発表

Verilog HDL 狂の CPU 好きと

OS とかいじってた人が

出会うとこんなことができます

仲間は大事です探しましょう出会いは大切に

さいごに...

Page 17: seccamp2012 チューター発表

ありがとうございました