Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Hirotaka Kawata
4,332 views
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
http://open-arch.org/
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Downloaded 25 times
1
/ 47
2
/ 47
3
/ 47
4
/ 47
5
/ 47
6
/ 47
7
/ 47
8
/ 47
9
/ 47
10
/ 47
11
/ 47
12
/ 47
13
/ 47
14
/ 47
15
/ 47
16
/ 47
17
/ 47
18
/ 47
19
/ 47
20
/ 47
21
/ 47
22
/ 47
23
/ 47
24
/ 47
25
/ 47
26
/ 47
27
/ 47
28
/ 47
29
/ 47
30
/ 47
31
/ 47
32
/ 47
33
/ 47
34
/ 47
35
/ 47
36
/ 47
37
/ 47
38
/ 47
39
/ 47
40
/ 47
41
/ 47
42
/ 47
43
/ 47
44
/ 47
45
/ 47
46
/ 47
47
/ 47
More Related Content
PDF
Stanでガウス過程
by
Hiroshi Shimizu
PDF
ドロネー三角形分割
by
Yusuke Matsushita
PPTX
馬に蹴られるモデリング
by
Shushi Namba
PDF
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
by
Yuki Tsuchitoi
PDF
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
by
Shushi Namba
PDF
Union find(素集合データ構造)
by
AtCoder Inc.
PPTX
iostat await svctm の 見かた、考え方
by
歩 柴田
PPTX
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
by
Hideki Takase
Stanでガウス過程
by
Hiroshi Shimizu
ドロネー三角形分割
by
Yusuke Matsushita
馬に蹴られるモデリング
by
Shushi Namba
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
by
Yuki Tsuchitoi
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
by
Shushi Namba
Union find(素集合データ構造)
by
AtCoder Inc.
iostat await svctm の 見かた、考え方
by
歩 柴田
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
by
Hideki Takase
What's hot
PPTX
基板から回路図を起こしてみよう
by
Akira Kaneda
PDF
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
by
Shiga University, RIKEN
PPTX
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
by
nocchi_airport
PDF
本当にわかる Spectre と Meltdown
by
Hirotaka Kawata
PDF
【2000行弱!】x86用自作カーネルの紹介
by
Yuma Ohgami
PPTX
情報検索の基礎
by
Retrieva inc.
PPTX
MCMCでマルチレベルモデル
by
Hiroshi Shimizu
PDF
ゼロから学ぶAI
by
DIVE INTO CODE Corp.
PPTX
TVMの次期グラフIR Relayの紹介
by
Takeo Imai
PDF
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
by
Fixstars Corporation
PDF
音楽波形データからコードを推定してみる
by
Ken'ichi Matsui
PDF
Deep Learning Lab 異常検知入門
by
Shohei Hido
PDF
03 「重回帰分析」の入門
by
Shuhei Ichikawa
PDF
遺伝子のアノテーション付加
by
弘毅 露崎
PDF
Zynq mp勉強会資料
by
一路 川染
PDF
組み込み関数(intrinsic)によるSIMD入門
by
Norishige Fukushima
PDF
Vivado hls勉強会5(axi4 stream)
by
marsee101
PPTX
優れた研究論文の書き方
by
Masanori Kado
PDF
基礎線形代数講座
by
SEGADevTech
PPTX
強化学習4章
by
hiroki yamaoka
基板から回路図を起こしてみよう
by
Akira Kaneda
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
by
Shiga University, RIKEN
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
by
nocchi_airport
本当にわかる Spectre と Meltdown
by
Hirotaka Kawata
【2000行弱!】x86用自作カーネルの紹介
by
Yuma Ohgami
情報検索の基礎
by
Retrieva inc.
MCMCでマルチレベルモデル
by
Hiroshi Shimizu
ゼロから学ぶAI
by
DIVE INTO CODE Corp.
TVMの次期グラフIR Relayの紹介
by
Takeo Imai
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
by
Fixstars Corporation
音楽波形データからコードを推定してみる
by
Ken'ichi Matsui
Deep Learning Lab 異常検知入門
by
Shohei Hido
03 「重回帰分析」の入門
by
Shuhei Ichikawa
遺伝子のアノテーション付加
by
弘毅 露崎
Zynq mp勉強会資料
by
一路 川染
組み込み関数(intrinsic)によるSIMD入門
by
Norishige Fukushima
Vivado hls勉強会5(axi4 stream)
by
marsee101
優れた研究論文の書き方
by
Masanori Kado
基礎線形代数講座
by
SEGADevTech
強化学習4章
by
hiroki yamaoka
Viewers also liked
PPTX
ゼロから始める自作 CPU 入門
by
Hirotaka Kawata
PDF
やってよかったOS作り
by
Hidemi Kawai
PDF
ハッキング実演
by
Ken Ogura
PDF
C++でできる!OS自作入門
by
uchan_nos
PDF
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
by
Hirotaka Kawata
PDF
低レイヤー入門
by
demuyan
PDF
CTF超入門 (for 第12回セキュリティさくら)
by
kikuchan98
PDF
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
by
kozossakai
PDF
【学習メモ#1st】12ステップで作る組込みOS自作入門
by
sandai
PDF
Ctfのためのpython入門
by
shiracamus
PDF
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
by
kozossakai
PPTX
Hacking Ctrl-C
by
uchan_nos
ODP
コンピュータビジョン 1章
by
motimune
PDF
【学習メモ#11th】12ステップで作る組込みOS自作入門
by
sandai
PDF
【学習メモ#8th】12ステップで作る組込みOS自作入門
by
sandai
PDF
【学習メモ#9th】12ステップで作る組込みOS自作入門
by
sandai
PDF
【学習メモ#4th】12ステップで作る組込みOS自作入門
by
sandai
PDF
【学習メモ#3rd】12ステップで作る組込みOS自作入門
by
sandai
PDF
【学習メモ#6th】12ステップで作る組込みOS自作入門
by
sandai
PDF
【学習メモ#5th】12ステップで作る組込みOS自作入門
by
sandai
ゼロから始める自作 CPU 入門
by
Hirotaka Kawata
やってよかったOS作り
by
Hidemi Kawai
ハッキング実演
by
Ken Ogura
C++でできる!OS自作入門
by
uchan_nos
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
by
Hirotaka Kawata
低レイヤー入門
by
demuyan
CTF超入門 (for 第12回セキュリティさくら)
by
kikuchan98
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
by
kozossakai
【学習メモ#1st】12ステップで作る組込みOS自作入門
by
sandai
Ctfのためのpython入門
by
shiracamus
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
by
kozossakai
Hacking Ctrl-C
by
uchan_nos
コンピュータビジョン 1章
by
motimune
【学習メモ#11th】12ステップで作る組込みOS自作入門
by
sandai
【学習メモ#8th】12ステップで作る組込みOS自作入門
by
sandai
【学習メモ#9th】12ステップで作る組込みOS自作入門
by
sandai
【学習メモ#4th】12ステップで作る組込みOS自作入門
by
sandai
【学習メモ#3rd】12ステップで作る組込みOS自作入門
by
sandai
【学習メモ#6th】12ステップで作る組込みOS自作入門
by
sandai
【学習メモ#5th】12ステップで作る組込みOS自作入門
by
sandai
Similar to 30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
PDF
産学間連携推進室(AC部屋) 2012 成果報告会
by
Hirotaka Kawata
PDF
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
by
Ito Takahiro
PDF
seccamp2012 チューター発表
by
Hirotaka Kawata
PDF
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
by
Hirotaka Kawata
PDF
ただのリンカを書いた話.pdf
by
simotin13 Miyazaki
PDF
レガシーフリーOSに必要な要素技術 legacy free os
by
uchan_nos
PDF
Open design computer project
by
Ito Takahiro
PDF
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
by
Yuto Takei
PDF
さわってみようTOPPERS/SSP
by
NSaitoNmiri
PDF
FPGAアクセラレータの作り方 (IBM POWER+CAPI編)
by
Mr. Vengineer
PDF
Altera SDK for OpenCL解体新書 : ホストとデバイスの関係
by
Mr. Vengineer
PPTX
Stellaris を使った組み込みアプリ開発ガイド
by
ryos36
PDF
IPA未踏成果報告会
by
Ito Takahiro
PDF
俺ASICと俺CPU“松竹V(しょうちくぶい)”
by
たけおか しょうぞう
PDF
2011.06.11 v7から始めるunix まとめ
by
Makiko Konoshima
PDF
kagami_comput2015_5
by
swkagami
PPTX
GPU-FPGA協調プログラミングを実現するコンパイラの開発
by
Ryuuta Tsunashima
PDF
kagami_comput2016_05
by
swkagami
PPT
Altanative macro
by
Motohiro KOSAKI
PDF
Xbyakの紹介とその周辺
by
MITSUNARI Shigeo
産学間連携推進室(AC部屋) 2012 成果報告会
by
Hirotaka Kawata
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
by
Ito Takahiro
seccamp2012 チューター発表
by
Hirotaka Kawata
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
by
Hirotaka Kawata
ただのリンカを書いた話.pdf
by
simotin13 Miyazaki
レガシーフリーOSに必要な要素技術 legacy free os
by
uchan_nos
Open design computer project
by
Ito Takahiro
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
by
Yuto Takei
さわってみようTOPPERS/SSP
by
NSaitoNmiri
FPGAアクセラレータの作り方 (IBM POWER+CAPI編)
by
Mr. Vengineer
Altera SDK for OpenCL解体新書 : ホストとデバイスの関係
by
Mr. Vengineer
Stellaris を使った組み込みアプリ開発ガイド
by
ryos36
IPA未踏成果報告会
by
Ito Takahiro
俺ASICと俺CPU“松竹V(しょうちくぶい)”
by
たけおか しょうぞう
2011.06.11 v7から始めるunix まとめ
by
Makiko Konoshima
kagami_comput2015_5
by
swkagami
GPU-FPGA協調プログラミングを実現するコンパイラの開発
by
Ryuuta Tsunashima
kagami_comput2016_05
by
swkagami
Altanative macro
by
Motohiro KOSAKI
Xbyakの紹介とその周辺
by
MITSUNARI Shigeo
More from Hirotaka Kawata
PDF
Spring Boot 4 in Kotlin - Kotlin 対応がさらに便利に
by
Hirotaka Kawata
PDF
サーバーサイド Kotlin を社内で普及させてみた - Server-Side Kotlin Night 2025
by
Hirotaka Kawata
PDF
Kotest を使って 快適にテストを書こう - KotlinFest 2024
by
Hirotaka Kawata
PDF
KotlinConf 2018 から見る 最近の Kotlin サーバーサイド事情
by
Hirotaka Kawata
PDF
Micro Python で組み込み Python
by
Hirotaka Kawata
PDF
Introduction of PyCon JP 2014 in PyCon SG
by
Hirotaka Kawata
PDF
xv6 + mist32 + mruby
by
Hirotaka Kawata
ODP
Open Design Computer Project - Tsukuba.pm
by
Hirotaka Kawata
ODP
About University of Tsukuba Linux User Group
by
Hirotaka Kawata
Spring Boot 4 in Kotlin - Kotlin 対応がさらに便利に
by
Hirotaka Kawata
サーバーサイド Kotlin を社内で普及させてみた - Server-Side Kotlin Night 2025
by
Hirotaka Kawata
Kotest を使って 快適にテストを書こう - KotlinFest 2024
by
Hirotaka Kawata
KotlinConf 2018 から見る 最近の Kotlin サーバーサイド事情
by
Hirotaka Kawata
Micro Python で組み込み Python
by
Hirotaka Kawata
Introduction of PyCon JP 2014 in PyCon SG
by
Hirotaka Kawata
xv6 + mist32 + mruby
by
Hirotaka Kawata
Open Design Computer Project - Tsukuba.pm
by
Hirotaka Kawata
About University of Tsukuba Linux User Group
by
Hirotaka Kawata
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
1.
30日でできない! コンピューター自作入門 @hktechno
2.
自己紹介 @hktechno 川田 裕貴 (かわたひろたか) ●
筑波大学 情報学群 情報科学類 ++3 年 ● 信仰: Emacs, Debian, Python ● 2011年度未踏IT人材発掘・育成事業 ○ Open Design Computer Project コクリエーター
3.
今日話すこと
について
4.
この本ご存知ですか?
5.
30日でOS自作できた人、挙手! ノシ
6.
できないですよねー (´・ω・`)
7.
30日ではできないけれど... 2人がかりで 2年ぐらいあれば どうにか形にはなりました。 ぼっちの人は頑張ってください。
8.
Open Design Computer? No
Intel. No ARM. No MIPS. The "mist32" Architecture. All new open design processor.
9.
デモ...
10.
搭載している FPGA ALTERA Cyclone
IV EP4CE115 [Terasic DE2-115 Development Board]
11.
魔法のデバイス FPGA 自由に回路を 書き換え可能な IC ハードウェア記述言 (HDL)で回路を記述 主な用途 プロトタイプ 小ロットのチップ
12.
プロジェクトの特徴 再利用可能な状態でソース・仕様を公開 プロセッサの HDL
は BSD ライセンス 開発ツールを一通り揃える 当たり前だけど、ないと使ってくれない モバイル機器に使われるようなものを想定 OSが乗ったタブレットとかスマホとか
13.
つまり... 敵は ARM Cortex-Axx シリーズ
14.
mist32 アーキテクチャ アウトオブオーダー実行 回路規模は大きくなるが速くなる ハードウェアとソフトウェアの協調動作
OS を支援する機能をたくさん載せる 独自の命令セット アウトオブオーダー実行に最適化
15.
mist32 の位置づけ (
⌓ ) 性能の目安→ ↑ビット数
16.
アセンブラとバイナリ 00000470 <genrand_int31>: 470:
11 00 03 c0 push rbase 474: 11 00 03 e0 push rret 478: 18 00 03 c0 srspr rbase 32bit 47c: 0e e0 03 a0 lih rtmp,0x0 addr 480: 0d 40 47 a0 wl16 rtmp,0x220 484: 20 70 03 e2 movepc rret,8 488: 14 40 03 a0 b rtmp,#al call 48c: 08 30 00 01 shr r0,0x1 490: 12 00 03 e0 pop rret 494: 12 00 03 c0 pop rbase return 498: 14 40 03 e0 b rret,#al
17.
全体図的な何か
19.
開発規模について MIST1032SAプロセッサ + ペリフェラル
行数 : 81,000行 使用LE : 101,800LE [in-order: 32,000LE] 開発環境 GCC : 3,100行 binutils(gas, ld) : 1,800行 シミュレータ : 1,500行 Newlib : 1,000行
20.
やったこと プロセッサの仕様策定 レジスタ, 命令セット,
MMU, 割り込み... プロセッサー・ペリフェラルの開発 Verilog HDL がりがり 開発環境の開発 binutils (as, ld...), gcc, シミュレータ...
21.
僕がやったこと プロセッサの仕様策定 レジスタ, 命令セット,
MMU, 割り込み... プロセッサー・ペリフェラルの開発 Verilog HDL がりがり 開発環境の開発 binutils (as, ld...), gcc, シミュレータ...
22.
全般的に言えること とにかく資料がねぇ!
(特に日本語)
23.
作成の流れ
命令セット仕様策定 プロセッサコアの開発 アセンブラの開発 コアのバグつぶし 周辺機能仕様策定 割り込み・IO・MMU作成 コンパイラ・シミュレータの開発 バグの叩き合い バグとの戦い バグと共に(ry
24.
プロセッサの仕様策定 もともと @cpulabs が開発してるプロセッサコアを元 にする
(mist32 の原型) つまり、このプロジェクトは僕はおまけ。 アウトオブオーダー実行にとにかく最適化。 一番楽しい時間帯。妄想アワー。 今思えば失敗したこと: 2オペランド...
25.
アウトオブオーダー実行 知らない人いないよね。 Wikipedia でも見てください。 書く時間がなかったなんていえな(ry
26.
mist1032sa プロセッサ Load/Store 型
RISC スーパースカラ 2命令同時フェッチ/4命令同時実行 片方向の分岐予測と投機的実行 Tomasulo のアルゴリズム (OoO) レジスタリネーミング with Flag 命令の撤廃
27.
with Flag 命令とは 典型的な例:
ADDC (Add with Carry Flag) フラグを見に行くのはブランチ系命令だけに。 フラグを書き込む命令は b の直前にある前提。 コンパクトな回路規模で OoO するには: 命令の依存関係をとにかく少なくする必要
28.
できなくなること 例えば x86 で言うと...
CMP -> MOV -> MOV -> Jxx CMP のフラグが Jxx まで引き継がれる、はず OoO する際にフラグへの依存ができる mist32 では、これを許さない! Branch の直前に、フラグ変更命令を置く制約
29.
ADDC はどうするの? 現状の mist32:
フラグを参照する命令は branch のみ (基本的には) ADDC のような命令は、キャリーをレジスタに返す ような命令を作ればいい! なんか問題でもある?
31.
レジスタ 汎用レジスタ: 32bit レジスタ
32本 その他システムレジスタ: スタックポインタ プログラムカウンタ ページテーブル, コントロールレジスタ...
32.
奴らは戦力外通告だ! アウトオブオーダーの邪魔になる技術例 ARM : 複雑な
CC 実行! SPARC : レジスタウィンドウ!! MIPS : ディレイドブランチ!!! SuperH : ディレイドブランチ...!!!! x86 : 論外!!!!!
33.
MMU ページテーブル 2段ページングに対応 1ページ
16KB NX ビットみたいなものつけたり 権限設定もできる 当たり前だけどセグメントなんてついてないよ
34.
割り込み 何段階か割り込み優先度を設定 すぐに割り込む 一定時間おきに割り込みを一気に割り込む
コンテキスト終了と同時に割り込む クソみたいな割り込みによって、 コンテキストが突然終了してほしくない!
35.
コンテキストスイッチ ハードウェアコンテキストスイッチ支援を実装 割り込みなどと協調動作できる みんな使えよ!使うんだぞ!約束だぞ! 優先度によるキャッシュの有効活用 優先度の高いコンテキスト情報は 必ずキャッシュに載せるとか
36.
プロセッサの開発 開発したのは良いものの... DE2-115 に入りきらない! 論理合成時間かかりすぎ。(数時間) OoO するとやっぱりでかくなるね... インオーダーコアも作ろうか(´・ω・`) ↑
未踏成果報告会3日ぐらい前
37.
Binutils の移植 アセンブラも資料無くて大変だった 他の簡単なプロセッサを参考に、コピペしつつ 1度作れてしまえば次は簡単、のような CGEN (Cpu
GENerator) 使おう! sourceware.org/cgen/
38.
コンパイラ (gcc) の移植 RTL
テンプレートと、C をごりごり。 正直面白くない。 GCC Internals を頑張って読もう。 なぜ LLVM にしなかったのかと一晩(ry まさかここまで LLVM, clang が進化するとは 先見性の無さ...('A`)
39.
gcc の移植 とにかく gcc/config/<arch>/<arch>.md gcc/config/<arch>/<arch>.c gcc/config/<arch>/<arch>.h コレを書けばいい!
40.
RTL テンプレート (define_insn "addsi3"
[(set (match_operand:SI 0 "register_operand" "=r,r") (plus:SI (match_operand:SI 1 "register_operand" "%0,0") (match_operand:SI 2 "nonmemory_operand" "r,I")))] "" "@ addt%0, %2 addt%0, %2" )
41.
シミュレータ とりあえず、書けばいいよ! 割り込みとか、IO 考えなければ、割と簡単。
42.
さあ動かすぞ! うごかなーい 実用的な、回路規模は FPGA 自体の回路規模の 80%
ぐらいまで それ以上になると、論理合成できても動かないこと が多々
43.
未踏での評価 担当 PM の評価はほどほどに良かったけど... みんな(PM
も含め)ハードウェアにもプロセッサにも あまり興味がないみたいね と言うより、純粋な技術に興味がないみたいね 確かに新規性ないね(´・ω・`) モノはできてから応募したほうがいいかもね
44.
これから... インオーダーコアの制作 → Done!
とりあえず規模の小さいものも作る 回路規模の縮小化 DE2-115 デモボードに乗るようにする OS をはやく載せられる状態に GCC のバグつぶし、OS 支援機能テスト
46.
Web プロセッサの仕様と移植に関する資料 open-arch.org ソースコード github.com/techno
github.com/cpulabs
47.
OS 載せるぞ!
今後に期待してください Expect Us!
Download