21. 東大CPU実験でRISC-Vプロセッサを自作した話
ゲスト: 高橋祐花 (@00_)
東大の授業ではCPUやコンパイラを作ってレイトレイサを動かすという授業があります。高橋さんのチームはRISC-Vプロセッサを実装して汎用OSを動かそうとしました。その話を伺いました。
速度 x1.0
(遅く /
速く)
-15秒 /
-5秒 /
+5秒 /
+15秒
この時点にリンク
この時点にリンク
TCFMはサポーターの投げ銭によって収益を上げています。 このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。
| 0:00 | イントロ |
| 1:46 | CPU実験のコア係とコンパイラ係 |
| 6:43 | CPU実験と商業的なプロセッサとの比較 |
| 9:29 | CPUシミュレータ作成係 |
| 10:58 | コアのデバグの辛さ |
| 13:08 | Intel 4004(Intel最初のCPU)の設計の話 |
| 14:20 | チップアート(シリコンの上の微小な落書き) |
| 15:33 | 各社のCPUID命令 |
| 17:43 | コア係をするかコンパイラ係をするか |
| 19:55 | 自作CPUにLinuxを移植したかったが頓挫 |
| 21:01 | 1日で代替の自作OSを作成 |
| 27:11 | 自作OSはマルチタスクもサポート |
| 28:16 | ユーザスレッドとカーネルスレッド |
| 31:41 | 自作CPU作成に必要な機材 |
| 34:21 | ミニマムなCPUを作って最小限の命令を次第に足していく |
| 40:23 | 自作CPUではDRAMは使っていない |
| 41:24 | SRAMとDRAMの解説 |
| 43:24 | 浮動小数点数の演算はIPコアを使ってよいルール |
| 45:48 | 浮動小数点数の丸めモード |
| 48:20 | IOはUARTでシリアル通信をサポート |
| 49:33 | UARTはデバグが辛い |
| 50:54 | 暗中模索になりがちな低レイヤのデバグの話 |
| 54:09 | 命令セットにはRISC-Vを選択 |
| 55:44 | Linuxが動くCPUを作るのは大変 |
| 57:56 | ELFフォーマットのカーネルをロードするのも面倒 |
| 1:00:19 | MMUを実装する必要性 |
| 1:01:56 | 1stコアはハーバードアーキテクチャ |
| 1:04:05 | MMUの解説 |
| 1:05:52 | 残り5日でOSを実装 |
| 1:06:54 | タイマ割り込みはクロックを数えて実現 |
| 1:08:56 | 自作CPUをメインで作った3人は公立高校出身 |
| 1:14:04 | RISC-Vなのでgccの移植は不要 |
| 1:16:17 | CERNの仕事を学業と比べると |
| 1:18:49 | 牧場系スマホゲームとスーパーエンジニア |
| 1:21:21 | ドラクエの乱数調整でのリアルタイムアタック |
| 1:25:20 | 学祭でのドラクエのリアルタイムアタック |
- 東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話(今回の話のブログ)
- RISCアーキテクチャ
- ARMプロセッサの歴史
- RISC-V
- Intel 4004の論理設計をした嶋正利
- チップアート(ICの上に書かれた微小な落書き)
- チップアートのコレクション
- IwaCPU
- パタヘネ本(CPUの設計の本)
- CPUID命令
- CPUIDで返されるプロセッサベンダの名前のリスト
- Verilog
- 2の補数
- SRAM
- DRAM
- UART
- ELFファイルフォーマット
- MMU
- 仮想メモリや割り込み、タスクスイッチの仕組みがよくわかる本「はじめて読む486」
- ハーバード・アーキテクチャ
- ゲームの乱数調整の話
- スーパーマリオ最短時間クリアの世界記録の詳細な解説動画 (YouTube)
- 東大TSGプログラミング生放送 (YouTube)