Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
思いたちからCPUを完成させるには
Search
Shota Yoshikawa
October 25, 2020
Technology
0
590
思いたちからCPUを完成させるには
OSC2020 Online/Aizu 低レイヤ・OS・セキュリテイ LT大会
https://ospn.connpass.com/event/186393/
Shota Yoshikawa
October 25, 2020
Tweet
Share
Other Decks in Technology
See All in Technology
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
350
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
3
150
もう外には出ない。より快適なフルリモート環境を目指して
mottyzzz
7
3.2k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
8.9k
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
980
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
1
130
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.7k
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
240
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
370
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
180
AIフル活用で挑む!空間アプリ開発のリアル
taat
0
120
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.1k
Side Projects
sachag
455
43k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Typedesign – Prime Four
hannesfritz
42
2.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Transcript
思い立ちからCPUを完成させるには 2020-10-25 OSC2020 Online/Aizu
だれ? 吉川 祥大 @anoriqq 2020.10- Cluster, Inc. でインターン 低レイヤ/セキュリティ専門外 最近Apex始めた
ポイント • 最初の一歩で大胆な行動 • 完成にこだわる • 「分からなかったらやってみる」ハードウェアでも有効
CPUつくるか~
どうしてそうなった 『珠玉のプログラミング』の課題をCで解いていたとき、いまいちメモリ操作のイメージが つかめてなくて辛かった。ソフトウェアを書く人がコンピュータのやっていることを理解し ていたほうが良いソフトウェアが書けるのではないかと考えた。C言語にはメモリはどん なふうに見えているのか。そもそもコンピュータの上でプログラミング言語はどうやって動 いているんや。OSの勉強すればいいのか。それとも自作言語に足を踏み入れるのか。 そういえば低レイヤのこと全然しらないな。何もわかないときは先人の知恵を借りよう。 なになに。コンピューターサイエンスの勉強には色々な教材があるんだな。お、体験談 が上がってるぞ。!!!!!CPUってつくれるのか!!!めっちゃ光っててかっこいい ぞっ!そしてちょっと古いけど良さそうな本も売ってるぞ!そうだ、CPUをつくろう。
CPUつくるか~
どうしてそうなった 『珠玉のプログラミング』の課題をCで解いていたとき、いまいちメモリ操作のイメージが つかめてなくて辛かった。ソフトウェアを書く人がコンピュータのやっていることを理解し ていたほうが良いソフトウェアが書けるのではないかと考えた。C言語にはメモリはどん なふうに見えているのか。そもそもコンピュータの上でプログラミング言語はどうやって動 いているんや。OSの勉強すればいいのか。それとも自作言語に足を踏み入れるのか。 そういえば低レイヤのこと全然しらないな。何もわかないときは先人の知恵を借りよう。 なになに。コンピューターサイエンスの勉強には色々な教材があるんだな。お、体験談 が上がってるぞ。!!!!!CPUってつくれるのか!!!めっちゃ光っててかっこいい ぞっ!そしてちょっと古いけど良さそうな本も売ってるぞ!そうだ、CPUをつくろう。
課題 • やろうと思っているけど手を付けられない • 途中で諦めそう • 本読むだけで良くない?
思い立ったらやること
思い立ったらやること • 『CPUの創りかた』を買う • 材料のリストを作る • 材料を買う → CPUが出来上がる
思い立ったらやること ためらわないことが大切 間違えても大丈夫!
作業 1. 書籍を通読 2. 必要なものを揃える 3. 回路図をもとに実装 4. 動作確認と修正 5.
CPUを眺めて満足感に浸る
作業の反省点 • パーツを作業途中で再調達した • 回路設計ソフト作業の保存頻度
課題 • やろうと思っているけど手を付けられない • 途中で諦めそう • 本読むだけで良くない?
CPUをつくるモチベーション • 目的は人それぞれ • 「CPUつくったことある」って言いたい • ICがかっこいい
課題 • やろうと思っているけど手を付けられない • 途中で諦めそう • 本読むだけで良くない?
実際に製作してよかったこと • 本を読んで疑問に思わなかったことに着目できる • テンションが上がる
デメリット • 費用がかさむ
実際に製作してよかったこと • 本を読んで疑問に思わなかったことに着目できる • テンションが上がる
ポイント • 最初の一歩で大胆な行動 • 完成にこだわる • 「分からなかったらやってみる」ハードウェアでも有効