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
fumi_maker
PPTX, PDF
24,561 views
CPUの創りかた
TechTalkで発表したスライドをアップロードしました。 https://fumimaker.hatenablog.com/entry/2019/06/17/104625 実際に創りました
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Downloaded 40 times
1
/ 76
2
/ 76
3
/ 76
4
/ 76
5
/ 76
6
/ 76
7
/ 76
8
/ 76
9
/ 76
10
/ 76
11
/ 76
12
/ 76
13
/ 76
14
/ 76
15
/ 76
16
/ 76
17
/ 76
18
/ 76
19
/ 76
20
/ 76
21
/ 76
22
/ 76
23
/ 76
24
/ 76
25
/ 76
26
/ 76
Most read
27
/ 76
28
/ 76
29
/ 76
30
/ 76
31
/ 76
32
/ 76
33
/ 76
34
/ 76
35
/ 76
36
/ 76
37
/ 76
38
/ 76
39
/ 76
40
/ 76
41
/ 76
42
/ 76
43
/ 76
44
/ 76
45
/ 76
46
/ 76
47
/ 76
48
/ 76
49
/ 76
50
/ 76
51
/ 76
52
/ 76
53
/ 76
54
/ 76
55
/ 76
56
/ 76
57
/ 76
58
/ 76
59
/ 76
60
/ 76
61
/ 76
62
/ 76
63
/ 76
64
/ 76
65
/ 76
Most read
66
/ 76
67
/ 76
68
/ 76
69
/ 76
70
/ 76
71
/ 76
72
/ 76
73
/ 76
74
/ 76
75
/ 76
Most read
76
/ 76
More Related Content
PDF
プログラムを高速化する話
by
京大 マイコンクラブ
PPTX
電子工作のための電子回路基礎ー前編
by
fumi_maker
PDF
Vivado hls勉強会1(基礎編)
by
marsee101
PDF
KiCadで雑に基板を作る チュートリアル
by
裕士 常田
PDF
プログラムを高速化する話Ⅱ 〜GPGPU編〜
by
京大 マイコンクラブ
PDF
CUDAプログラミング入門
by
NVIDIA Japan
PDF
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
by
Mr. Vengineer
PDF
Hopper アーキテクチャで、変わること、変わらないこと
by
NVIDIA Japan
プログラムを高速化する話
by
京大 マイコンクラブ
電子工作のための電子回路基礎ー前編
by
fumi_maker
Vivado hls勉強会1(基礎編)
by
marsee101
KiCadで雑に基板を作る チュートリアル
by
裕士 常田
プログラムを高速化する話Ⅱ 〜GPGPU編〜
by
京大 マイコンクラブ
CUDAプログラミング入門
by
NVIDIA Japan
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
by
Mr. Vengineer
Hopper アーキテクチャで、変わること、変わらないこと
by
NVIDIA Japan
What's hot
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PDF
見やすいプレゼン資料の作り方 - リニューアル増量版
by
MOCKS | Yuta Morishige
PPTX
「DX完全に理解した」「DXわけがわからないよ」なユーザ企業の方へ
by
YoheiGibo
PDF
目指せグラフマスター
by
HCPC: 北海道大学競技プログラミングサークル
PDF
例外設計における大罪
by
Takuto Wada
PDF
心理的安全性を 0から80ぐらいに上げた話
by
Yusuke Hisatsu
PDF
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
こわくない Git
by
Kota Saito
PDF
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
by
AtCoder Inc.
PDF
なぜあの人のプレゼンテーションはいつもイイねと言われるのか0716
by
Dai Murata
PDF
40歳過ぎてもエンジニアでいるためにやっていること
by
onozaty
PPTX
5分で出来る!イケてるconfluenceページ
by
CLARA, Inc.
PPTX
なぜコンピュータを学ばなければならないのか 21世紀の君主論
by
Tokoroten Nakayama
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
PPTX
若輩エンジニアから見たUniRxを利用したゲーム開発
by
Hirohito Morinaga
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
クラウド環境下におけるAPIリトライ設計
by
Kouji YAMADA
PDF
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
by
tamtam180
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
見やすいプレゼン資料の作り方 - リニューアル増量版
by
MOCKS | Yuta Morishige
「DX完全に理解した」「DXわけがわからないよ」なユーザ企業の方へ
by
YoheiGibo
目指せグラフマスター
by
HCPC: 北海道大学競技プログラミングサークル
例外設計における大罪
by
Takuto Wada
心理的安全性を 0から80ぐらいに上げた話
by
Yusuke Hisatsu
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
マイクロにしすぎた結果がこれだよ!
by
mosa siru
こわくない Git
by
Kota Saito
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
by
AtCoder Inc.
なぜあの人のプレゼンテーションはいつもイイねと言われるのか0716
by
Dai Murata
40歳過ぎてもエンジニアでいるためにやっていること
by
onozaty
5分で出来る!イケてるconfluenceページ
by
CLARA, Inc.
なぜコンピュータを学ばなければならないのか 21世紀の君主論
by
Tokoroten Nakayama
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
若輩エンジニアから見たUniRxを利用したゲーム開発
by
Hirohito Morinaga
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
クラウド環境下におけるAPIリトライ設計
by
Kouji YAMADA
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
by
tamtam180
Similar to CPUの創りかた
PPTX
ゼロから始める自作 CPU 入門
by
Hirotaka Kawata
PPTX
自作LSIコミュニティの可能性
by
Junichi Akita
PPTX
Cortex-M0プロセッサから自作してLチカをやってみた
by
Junichi Akita
PDF
Using Retro-CPU with low aspirations, No FPGA
by
たけおか しょうぞう
PDF
初めてのCPUを作ってみた
by
Eric Sartre
PPTX
チップレベルでカスタマイズできることで見える世界の体験
by
Junichi Akita
ゼロから始める自作 CPU 入門
by
Hirotaka Kawata
自作LSIコミュニティの可能性
by
Junichi Akita
Cortex-M0プロセッサから自作してLチカをやってみた
by
Junichi Akita
Using Retro-CPU with low aspirations, No FPGA
by
たけおか しょうぞう
初めてのCPUを作ってみた
by
Eric Sartre
チップレベルでカスタマイズできることで見える世界の体験
by
Junichi Akita
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
PDF
Drupal Recipes 解説 .
by
iPride Co., Ltd.
PPTX
ddevについて .
by
iPride Co., Ltd.
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
Drupal Recipes 解説 .
by
iPride Co., Ltd.
ddevについて .
by
iPride Co., Ltd.
CPUの創りかた
1.
//CPUの創りかた B3 fumi
2.
流れ • はじめに • プルアップ・ダウン •
チャタリング • 発振回路 • ROM • CPUの仕様 • 機械語 • FF • 1BitCPU • ALU • IO • 命令デコーダ • 実際の回路
3.
古のオタクにオススメできる一冊。 • 渡波郁著:初版2003年 314P •
絵柄から時代を感じる。 • 完全に枯れているので初歩を学ぶには最適 • 10個のICで動くCPUを自作します。 • 文章がかなり冗長なので飽きずに読むことができる。 • ノリが00年代なのであいたたたたた(汗 • くどいと思う人もいるかもしれない。 • 入門なのでCPUに詳しい人にはオススメしない
6.
1.はじめに • 手軽に3GHz、5GHzといった高速CPUが手に入る • 自作なんて意味ない •
でも仕組みを理解するには最適。 • ここでは徹底的に単純化したCPUを設計します • それも自由に動作できる限界の4bitです。 • ICたったの10個だけ。 • 16ステップしか動かない • 実用性?そんなもの( • 100%からくり人形です。 • メカなので直感的にわかります
7.
今回作るCPUの仕様 (ToriaezuDousasuru4bitCPU) Intel pentium4 TD4 汎用レジスタ
32bit*8 4bit*2 アドレス空間 32bit*2 4bit プログラムカウンタ 32bit 4bit フラグレジスタ 32bit 1bit 算術演算 浮動小数計算 4bit adder 動作クロック 1.4GHz 3MHz トランジスタ数 4200万以上 1500
8.
CPUとは • プログラムカウンター命令をメモリから取り出す(命令フェッチ) • 命令を解読(デコード) •
デコード結果に従い演算を行う(実行) • 演算結果を格納(ストア) クロックごとにこれを繰り返す機械です。
9.
2. 74HCシリーズ • 論理回路:流石にご存知ですよね…?ね?ね?? https://wwws.kobe-c.ac.jp/deguchi/sc180/logic/gate.html
10.
汎用IC • 74HCシリーズは汎用のロジックICです。 https://wwws.kobe-c.ac.jp/deguchi/sc180/logic/gate.html
11.
74HC00 • 4つ入ってるだけです。 https://www.technobotsonline.com/74hc00-quad-2- input-nand-gate.html
12.
74HCシリーズ • いろんな論理回路をくっつければ思うように動作させることが できる。(汎用IC) https://assets.nexperia.com/documents/data-sheet/74HC_HCT153.pdf
13.
よく使われるものはパッケージに • 74HC153 https://assets.nexperia.com/documents/data-sheet/74HC_HCT153.pdf
14.
0と1をどう表現するのか • 電圧が低いか高いかで判断します。 • 今回は0V=0、5V=1とします。 •
Active-LOW, Active-HIGH • 正論理と負論理がICごと決まっているので注意する。
15.
電子回路の復習 LED 抵抗 コンデンサ トグルスイッチ プッシュスイッチ 押しボタン
16.
プルアップ/ダウン
17.
これで完成!…?
18.
対チャタリング • キャッシュみたいなもの。
20.
クロック
21.
発振回路(クロックジェネレータ) • 手動ならこれでOK。 • 高速で押してください。
22.
発振回路(クロックジェネレータ)
24.
ROM • 書き換えられない消えない記憶装置 • 起動するときにしか普通は使わない •
BIOS読み込み • このCPUではROMにプログラムを 格納。 • 普通はHDDなどのRAMに格納される • 1Bit記録したい…どうしよう…
25.
スイッチ
26.
全部は無理 • CPUはROMから一気に全部プログラムを取り出せない。 • 今回はたったの4Bit… •
ちょっとずつ取り出す必要! • 漫画のn巻を貸して! ROM (128bit) CPU データバス(8bit) アドレスバス(4bit) N番地のデータをくれ あいよ
27.
実際はどうなってるか • UV-EEPROM 256Kbit •
昔はヒューズで書いてた • 15bit address A0~A14 • 8bit data Q0~Q7
28.
1bitのROM
34.
https://assets.nexperia.com/documents/data- sheet/74HC_HCT154.pdf
35.
74HC153 https://assets.nexperia.com/documents/data- sheet/74HC_HCT154.pdf
36.
CPUの仕様 Intel pentium4 TD4 汎用レジスタ
32bit*8 4bit*2 アドレス空間 32bit*2 4bit プログラムカウンタ 32bit 4bit フラグレジスタ 32bit 1bit 算術演算 浮動小数計算 4bit adder 動作クロック 1.4GHz 3MHz トランジスタ数 4200万以上 1500
37.
命令フォーマット 7 6 5
4 3 2 1 0 オペレーションコード イミディエイトデータ(Im) ADD A, Im 0000 ADD B, Im 0101 MOV A,Im 0011 MOV B, Im 0111 MOV A, B 0001 MOV B, A1 0100 JMP lm 1111 JNC lm 1110 IN A 0010 IN B 0110 OUT B 1001 OUT Im 1011 ADD A, 0(NOP) 0000 命令をするのに使うデータ4bit
38.
機械語で書くと…
39.
プログラム
40.
フリップフロップ 立ち上がった瞬間にDの状態がQに記録される
41.
立ち上がった瞬間にDの状態がQに記録される
42.
4bitメモリの完成です
44.
AとBのやりとり
45.
ロード・保持を切り替える
46.
計算させたい 保持もしたい
47.
4bitでMOVしようとすると…? 4ch スイッチ必要 2ch スイッチ 2ch
スイッチ 2ch スイッチ 2ch スイッチ
48.
そんな夢を叶えるICがあります 74HC161 http://www.coins.tsukuba.ac.jp/logic-system-jikken/PDF/HD74HC163.pdf
49.
MOV A, B LOAD1
L LOAD2H LOAD3H LOAD4H SELECTA H SELECTB L
51.
ALU • オペレーションコードに 応じて計算できるように してあげればいい! ←これ
52.
加算器 増やせば 桁が増える
53.
=
54.
4bit全加算器 74HC283 http://www.ti.com/lit/ds/schs176d/schs176d.pdf
55.
とにかくALUを作ってみる
56.
ADD A, Imをやってみよう!
57.
じゃあMOV A, Bは? 余計なものが加算されてしまう A←B+Imが実行されてしまう
58.
Im=0000とする MOVが実現できる A←B+0000なのでA←B
59.
MOV A, Imをやると?
60.
Dレジスタを犠牲にした
61.
フラグ • 加算しかできないので桁上がりで条件を判断する。 • 9以下であればジャンプしたい!
62.
桁上がりをFFで保持
63.
プログラムカウンター • ただのカウンターです。 • リセットされば0に戻る。
65.
I/Oポート • 結局電圧。 • そう、LEDですね。
66.
命令デコード(命令フェッチ) • あと少し。 • 最後は、命令を解釈して実行するための指示を出す回路のみ。
71.
まとめると…?
76.
最後はプログラミング 0000 OUT 0111
LEDを3つON 0001 ADD A, 0001 Aレジスタ+1 0010 JNC 0001 キャリーまでループ 0011 ADD A,0001 Aレジスタ+1 0100 JNC 0011 キャリーまでループ 0101 OUT 0110 LEDを2つON 0110 ADD A,0001 Aレジスタ+1 0111 JNC 0110 1000 ADD A, 1000 Aレジスタ+1 1001 JNC 1000 キャリーまでループ 1010 OUT 0000 LED全OFF 1011 OUT 0100 LED1個ON 1100 ADD 0001 Aレジスタ+1 1101 JNC 1010 キャリーまでループ 1110 OUT 1000 終了LEDON 1111 JMP 1111 終了
Editor's Notes
#6
300Pのこの書籍をさらっとサマライズしていこうと思います 皆さんにとっては当たり前かもしれない
#27
ビデオ貸し出し
Download