計算機(物理)
-
Upload
noritsuna -
Category
Engineering
-
view
25 -
download
0
description
Transcript of 計算機(物理)
![Page 2: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/2.jpg)
©SIProp Project, 2006-2008 2
我是誰?
台湾でのんびり暮らしてます近場で Kernel/VM 開かれたので、来ました。
飛行機で 1 時間半!!!家から飛行場まで、 2 時間以上!!!
![Page 3: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/3.jpg)
©SIProp Project, 2006-2008 3
ITRI について
工業技術研究院https://www.itri.org.tw/
台湾経済部(経産省相当)直轄の産業研究開発機関である工業技術研究院
日本でいう産総研や理研をすべて足し込んだような組織
台北・新竹・台南に存在
技術コンサルとして参戦
![Page 4: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/4.jpg)
©SIProp Project, 2006-2008 4
今日の議題:分析
低 layer の変態たちがておくれ度を争う会らしい
• LLVM と殴り合う• Yes!Eject!!!
User Land層
• PDP-11 を移植する• Plan9 できゃっきゃうふふKernel 層
• FPGA で CPU を作る• GPU を bake するIC 層
• ???物理層
![Page 5: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/5.jpg)
©SIProp Project, 2006-2008 5
今日の議題
計算機 ( 物理 ) を作る
≒CPU+ 表示器 ( 物理 )
![Page 6: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/6.jpg)
©SIProp Project, 2006-2008 6
CPU の構造
Register値や命令を保持する記憶装置
Decoder命令を解析して、実行可能状態にする装置
ALU (Arithmetic and Logic Unit)論理演算や四則演算などの演算をおこなう装置
Program Counter次の命令の取り出し先 Address 用 Register
![Page 7: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/7.jpg)
©SIProp Project, 2006-2008 7
CPU の処理の流れ
命令の Fetch
命令の Decode
ALU で実行
結果の保存(表示器へ)
![Page 8: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/8.jpg)
©SIProp Project, 2006-2008 8
Register
![Page 9: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/9.jpg)
©SIProp Project, 2006-2008 9
Register
値や命令を保持する記憶装置
![Page 10: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/10.jpg)
©SIProp Project, 2006-2008 10
Register( 物理 )
10 進数を一つ保持する Register
![Page 11: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/11.jpg)
©SIProp Project, 2006-2008 11
完成品
CPU 部 表示器部
![Page 12: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/12.jpg)
©SIProp Project, 2006-2008 12
開発環境
![Page 13: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/13.jpg)
©SIProp Project, 2006-2008 13
Editor
![Page 14: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/14.jpg)
©SIProp Project, 2006-2008 14
各種 Editor( 物理 )
•3DPrinter•CNC Milling Machine•Miter Saw•Jig Saw
![Page 15: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/15.jpg)
©SIProp Project, 2006-2008 15
統合開発環境 ( 物理 ) : Kitchen
![Page 16: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/16.jpg)
©SIProp Project, 2006-2008 16
Programming 風景
![Page 17: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/17.jpg)
©SIProp Project, 2006-2008 17
Compiling Register
![Page 18: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/18.jpg)
©SIProp Project, 2006-2008 18
Compiling 表示器
![Page 19: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/19.jpg)
©SIProp Project, 2006-2008 19
四則演算してみよう!
(ALU 実行 )
![Page 20: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/20.jpg)
©SIProp Project, 2006-2008 20
加算
![Page 21: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/21.jpg)
©SIProp Project, 2006-2008 21
加算
12 + 34
演算手順1. 10 の位に「 1 」を
セット2. 1 の位に「 2 」を
セット3. 10 の位を「 + 3 」
する4. 1 の位を「 + 4 」
する
![Page 22: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/22.jpg)
©SIProp Project, 2006-2008 22
減算
![Page 23: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/23.jpg)
©SIProp Project, 2006-2008 23
減算
54 - 18
演算手順1. 10 の位に「 5 」を
セット2. 1 の位に「 4 」を
セット3. 10 の位を「 - 1 」
する4. 1 の位を「 - 8 」
する5. !!!!!!!
![Page 24: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/24.jpg)
©SIProp Project, 2006-2008 24
Carry Flag
![Page 25: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/25.jpg)
©SIProp Project, 2006-2008 25
Carry Flag
加算時の Carry や 減算時の Borrow を処理する装置
![Page 26: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/26.jpg)
©SIProp Project, 2006-2008 26
一回転したら、上位 Register を一つ動かす
Carry Flag( 物理 )
![Page 27: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/27.jpg)
©SIProp Project, 2006-2008 27
減算
54 - 18
演算手順1. 10 の位に「 5 」を
セット2. 1 の位に「 4 」を
セット3. 10 の位を「 - 1 」
する4. 1 の位を「 - 8 」す
る5. Carry Flag が 10 の
位を「 - 1 」する
![Page 28: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/28.jpg)
©SIProp Project, 2006-2008 28
乗算
![Page 29: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/29.jpg)
©SIProp Project, 2006-2008 29
乗算
34 × 5
演算手順1. 10 の位に「 3 」を
セット2. 1 の位に「 4 」を
セット3. ????????
![Page 30: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/30.jpg)
©SIProp Project, 2006-2008 30
Decoder
![Page 31: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/31.jpg)
©SIProp Project, 2006-2008 31
Decoder
命令を解析して、実行可能状態にする装置
![Page 32: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/32.jpg)
©SIProp Project, 2006-2008 32
ALU が処理できる形に変換する装置
Decoder( 物理 )
俺
![Page 33: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/33.jpg)
©SIProp Project, 2006-2008 33
Decoder (物理)
34×5 とは!34 を、 5 回加算すること!すなわち!34 + 34 + 34 + 34 + 34である!
![Page 34: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/34.jpg)
©SIProp Project, 2006-2008 34
乗算
34 × 5
演算手順1. 10 の位に「 3 」を
セット2. 1 の位に「 4 」を
セット3. 10 の位を「 + 3 」
する4. 1 の位を「 + 4 」
する5. 3-4 を5回繰り返
す
![Page 35: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/35.jpg)
©SIProp Project, 2006-2008 35
除算
![Page 36: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/36.jpg)
©SIProp Project, 2006-2008 36
除算
10 ÷ 2
演算手順1. 10 の位に「 1 」を
セット2. 1 の位に「 0 」を
セット3. ????????
![Page 37: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/37.jpg)
©SIProp Project, 2006-2008 37
Decoder (物理)
10 ÷ 2 とは!10 から、 2 を減算していって、減算できなくなるまで!すなわち!10 – 2 – 2 – 2 - 2 – 2 < 2である!
![Page 38: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/38.jpg)
©SIProp Project, 2006-2008 38
だ・け・ど・・・
何回引いたか、忘れそう・・・ボクの脳内・・・1,2,いっぱい
Program Counter
![Page 39: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/39.jpg)
©SIProp Project, 2006-2008 39
Program Counter
次の命令の取り出し先 Address 用 RegisterProgram のどこを実行しているのか?
出典: http://www.kumikomi.net/archives/2008/07/15stack.php?page=2
![Page 40: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/40.jpg)
©SIProp Project, 2006-2008 40
Program Counter (物理)
紙と筆
![Page 41: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/41.jpg)
©SIProp Project, 2006-2008 41
Program Counter (物理)
10 - 2
![Page 42: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/42.jpg)
©SIProp Project, 2006-2008 42
Program Counter (物理)
10 – 2 - 2
![Page 43: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/43.jpg)
©SIProp Project, 2006-2008 43
Program Counter (物理)
10 – 2 - 2 - 2
![Page 44: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/44.jpg)
©SIProp Project, 2006-2008 44
Program Counter (物理)
10 – 2 - 2 - 2 - 2
![Page 45: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/45.jpg)
©SIProp Project, 2006-2008 45
Program Counter (物理)
10 – 2 - 2 - 2 - 2 - 2
![Page 46: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/46.jpg)
©SIProp Project, 2006-2008 46
除算
10 ÷ 2
演算手順1. 10 の位に「 1 」を
セット2. 1 の位に「 0 」を
セット3. 1 の位を「 - 2 」
する4. Program Counter
に状況を書き込む5. 3-4 を繰り返す
![Page 47: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/47.jpg)
©SIProp Project, 2006-2008 47
考察
正の字 Counter中華圏でも使える!
![Page 48: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/48.jpg)
©SIProp Project, 2006-2008 48
小数点数(FPU)
![Page 49: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/49.jpg)
©SIProp Project, 2006-2008 49
小数点数:整数
123.=
![Page 50: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/50.jpg)
©SIProp Project, 2006-2008 50
小数点数:第一位
12.3=
![Page 51: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/51.jpg)
©SIProp Project, 2006-2008 51
小数点数:第二位
1.23=
![Page 52: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/52.jpg)
©SIProp Project, 2006-2008 52
小数点数:第三位
.123=
![Page 53: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/53.jpg)
©SIProp Project, 2006-2008 53
![Page 54: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/54.jpg)
©SIProp Project, 2006-2008 54
小数点数・もう一度
![Page 55: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/55.jpg)
©SIProp Project, 2006-2008 55
小数点数:整数
123.=
![Page 56: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/56.jpg)
©SIProp Project, 2006-2008 56
小数点数:第一位
12.3=
![Page 57: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/57.jpg)
©SIProp Project, 2006-2008 57
小数点数:第二位
1.23=
![Page 58: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/58.jpg)
©SIProp Project, 2006-2008 58
小数点数:第三位
.123=
![Page 59: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/59.jpg)
©SIProp Project, 2006-2008 59
![Page 60: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/60.jpg)
©SIProp Project, 2006-2008 60
符号
![Page 61: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/61.jpg)
©SIProp Project, 2006-2008 61
符号:-値
-123=
![Page 62: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/62.jpg)
©SIProp Project, 2006-2008 62
![Page 63: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/63.jpg)
©SIProp Project, 2006-2008 63
符号・もう一度
![Page 64: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/64.jpg)
©SIProp Project, 2006-2008 64
符号:ー値
-123=
![Page 65: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/65.jpg)
©SIProp Project, 2006-2008 65
![Page 66: 計算機(物理)](https://reader033.fdocuments.net/reader033/viewer/2022061112/545800b0af795997118b53aa/html5/thumbnails/66.jpg)
©SIProp Project, 2006-2008 66
3D Printed Computer
The Turbo Entabulatorhttp://www.chrisfenton.com/the-turbo-entabulator/