顯示廣告
隱藏 ✕
※ 本文為 MindOcean 轉寄自 ptt.cc 更新時間: 2019-06-08 20:25:23
看板 Gossiping
作者 jserv (松鼠)
標題 Re: [問卦] 真的有人懂整臺電腦的原理嗎?
時間 Sat Jun  8 15:15:56 2019


※ 引述《melogod (瓜瓜)》之銘言:
: 真的有人懂整台電腦的每個零件為什麼能夠運作嗎
: 雖然小弟也讀過三電一工   但讀得超級爛所以當我沒讀過也行
: 以前學mos什麼三極管區飽和區   感覺好像有那麼一回事
: 但回過頭來想   還是不懂
: 為什麼一堆各種不同的金屬或半導體什麼鬼的放在一起  插上電
: 竟然可以做出那麼多事情   可以加減乘除打遊戲

「理解原理」和「能夠親手打造每個環節」其實是兩件事,前者應該是「每個」接受
過相關訓練的人都該具備的素養。若將問題變更為:

  「空難事故後,在追究具體的責任之際,客機設計和製造的公司表達『現代客機相當
    複雜,本公司沒有人能掌握全部軟硬體機構通訊等等運作的狀況』的立場」

你想罹難者家屬乃至到社會各界會出現什麼聲浪?

1970 年代推出的首款廣體民航客機波音 747 軟體由大約 40 萬行程式碼構成,2011 年
引進的波音 787 的軟體規模則是波音 747 的 16 倍,約 650 萬行程式碼。換言之,你
我的性命緊繫於一系列極為複雜的軟體系統之中,後者之所以複雜,是反映了更多工程
考量和責任歸屬議題。 [2]


Shimon Schocken [1] 曾是紐約大學的資訊科學教授,當他回到以色列擔任教職後,
發現不少學生有著原發問者相似的困惑:半導體、數學、程式語言、編譯器、作業系統
和應用程式等等在電腦中,貌似五花八門的領域,該如何掌握個別原理呢?

已故的諾貝爾物理獎得主 Richard Feynman 教授說過一句經典的話:
> "What I Cannot Create, I Do Not Understand"

為了讓學子理解電腦軟硬體的運作原理,Shimon Schocken 教授也秉持 Feynman 教授
的信念,從 NAND 邏輯閘開始,一路打造整台電腦出來 (!),並且還提供對應的線上
課程:

  * https://www.coursera.org/learn/build-a-computer
  * https://www.nand2tetris.org/ (從 NAND 邏輯閘開始組合,一路打造能運作俄羅斯
                                  方塊遊戲的整台電腦,中間包含自己設計的程式
                                  語言、編譯器,還有虛擬機器)

參加課程前,可先觀賞十餘分鐘的 TED 演說,得知 Shimon Schocken 教授的宏願及
實事求是的態度: (有繁體中文字幕,請在 YouTube 操作介面勾選)
  * https://www.nand2tetris.org/talks

一門課程絕對能讓學生「理解原理」,從而搭配其他相關工程訓練,逐步掌握個別環節。
台灣許多大學課程都是 18 週,為何效果可能不如 10 週以內的同名課程呢?我想對學生
的期待可能是主因。


胡適先生的名句:「發表是最好的記憶」,搭配「費曼學習法」來落實,步驟如下:
1. 找一個想要理解的主題,學習過後,記下該主題的核心觀念和對應描述;
2. 設想一個場景,向其他人傳授這個主題概念;
3. 如果無法順利解說,表示還有不清楚的地方,這時再回去查找資料,重新學習;
4. 最後,以自己的語句解釋這個主題。表現這個主題概念已經大腦中產生更多的連結;

若只用眼睛去看,終究是別人的。唯有親身經歷,才能深刻體會。

Daniel Stefanovic 整理了一份貫串 Feynman 教授想法的 "build-your-own-x":
  * https://github.com/danistefanovic/build-your-own-x
GitHub - danistefanovic/build-your-own-x: 🤓 Build your own (insert technology here)
[圖]
🤓 Build your own (insert technology here). Contribute to danistefanovic/build-your-own-x development by creating an account on GitHub. ...

 

這裡可見從無到有打造 3D renderer, 區塊鏈, 作業系統, 程式語言, 文字編輯器等等
資訊系統,都是我們數位化生活的一部分,但真的只有親身經歷,才會真的掌握。

當然,我們也用上述方式來學習 C 語言程式設計,歡迎參加線上講座:
  * 你所不知道的 C 語言

[1] https://www.shimonschocken.com
[2] 軟體缺失釀造的危害,可說從家破人亡到動搖國本都有,絲毫不誇張。參見共筆:
    https://hackmd.io/@sysprog/B1eo44C1-
軟體缺失導致的危害 - HackMD
[圖]
# 軟體缺失導致的危害 資料整理: [jserv]( :::info 這世界最有可能毀滅的方式 —— 大多數專家都同 ...

 

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.213.234 (臺灣)
※ 文章代碼(AID): #1S-s2paS (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1559978163.A.91C.html
mikemagic88: 頭1F 06/08 15:16
billqwer1687: 推2F 06/08 15:17
coutji3184: 頸3F 06/08 15:17
zzz4414: p4F 06/08 15:17
Gold740716: 頜推5F 06/08 15:18
Gold740716: ^頷
tommy421: 大神7F 06/08 15:19
vivi860423: 先推再說8F 06/08 15:20
purplvampire: 神9F 06/08 15:21
tetani: 要喝牛奶 自己養牛種牧草?10F 06/08 15:21
invidia: 卡位11F 06/08 15:22
xm3u4vmp6: 看到親手打造 馬上想到宅色12F 06/08 15:23
CorkiN: 百推內13F 06/08 15:23
guest00021: 推14F 06/08 15:23
bbo6uis122: 推15F 06/08 15:24
chses910372: 推16F 06/08 15:24
t81511270: 老師好17F 06/08 15:25
dcoog7880: 看不懂18F 06/08 15:25
GTR12534: 百推19F 06/08 15:25
Aliensoul: 推20F 06/08 15:26
jserv: @tetani, 倘若你懷疑牛奶本身有問題,想要去申訴甚至打官司21F 06/08 15:27
jserv: 是否該知道從牧場到精煉到物流過程的知識呢?
claude51315: 推推23F 06/08 15:27
BurningFlame: 讚24F 06/08 15:30
exceedMyself: 推大神25F 06/08 15:30
s9234032: 推26F 06/08 15:34
MrNeverDie: 推自幹大神27F 06/08 15:34
liugs963: 老師先推28F 06/08 15:34
winken2004: 推29F 06/08 15:35
Wand: 白天發文耶!難得。30F 06/08 15:36
summerleaves: 推31F 06/08 15:37
Jlee5566: 謝謝老師32F 06/08 15:38
peine: 推33F 06/08 15:40
oncemore: 老師不考慮轉youtuber嗎34F 06/08 15:40
r51211214: 推35F 06/08 15:40
yzpdal: 我自幹我驕傲36F 06/08 15:41
HowieH: 推37F 06/08 15:42
jserv: @oncemore, https://www.youtube.com/c/GUTS4Tech 請訂閱38F 06/08 15:44
[圖]
 
afuu: 推40F 06/08 15:47
stlevi811101: Carrie Anne講的也很清楚 而且動畫又可愛41F 06/08 15:47
stlevi811101: 而且如果講太快B站還有中國人翻譯
kis28519: 推43F 06/08 15:50
CTTSAI: 推44F 06/08 15:50
chh1470: 為什麼都是中文 我卻看不太懂…45F 06/08 15:51
vendee: 簡單清楚的解說好文,感謝46F 06/08 15:53
wupaul: 推47F 06/08 15:55
WindSucker: 448F 06/08 16:01
w199381: jserrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrv!!!!49F 06/08 16:03
Roentgenium: 推50F 06/08 16:03
nilr: 軟體基礎有作業系統,硬體基礎有CPU,其它還有好多可學。51F 06/08 16:06
ccderek: 推jserv老師52F 06/08 16:10
mynewid: 推53F 06/08 16:11
jserv: 金門大學陳鍾誠教授的「十分鐘講解 nand2tetris」:54F 06/08 16:15
s89013349: 先推表示懂了55F 06/08 16:15
 
ekong6862: 推57F 06/08 16:19
aegis91086: 推,感謝解釋58F 06/08 16:22
shirmp1999: 又是神!!59F 06/08 16:23
sam612: 先推神60F 06/08 16:24
YandereLove: 優文61F 06/08 16:36
RUSSIAN22: 老婆快出來看上帝62F 06/08 16:38
gogob: 請收下我的膝蓋63F 06/08 16:39
hackerman: 跪了64F 06/08 16:42
potter903p: 推爆老師65F 06/08 16:43
wei115: 推jserv 現在在看mazuCC仿造一個自己的編譯器!66F 06/08 16:44
twohigh: 推67F 06/08 16:48
darkMood: 廢文。68F 06/08 16:49
Ericz7000: 推推推69F 06/08 16:50
trchen: j大最近怎麼頻頻發文70F 06/08 16:50
panda04056:  66671F 06/08 16:58
summerleaves: 推推72F 06/08 17:00
alanqq0624: 推73F 06/08 17:05
pttTKboy: 好愛這文 讚讚74F 06/08 17:10
yfguk6685: 優文75F 06/08 17:17
bochengchen: 推推76F 06/08 17:18
cocota: 推推.老師最近很認真上來八卦教學哩77F 06/08 17:27
fate111085: 推78F 06/08 17:49
Hscyin: 推79F 06/08 17:54
xiefengan: 推80F 06/08 18:01
LierX: 推81F 06/08 18:07
Siu: 大學部就是懂一台386怎麼Work的吧...82F 06/08 18:10
GTX9487: 大神 跪惹83F 06/08 18:13
a594020419: 百推內84F 06/08 18:15
g5637128: 跪著推,最近老師發文好勤勉85F 06/08 18:16
soldieryue: 推jserv86F 06/08 18:22
tonychouaaa: 推87F 06/08 18:36
a5245242003: 推88F 06/08 18:40
gpointchen: 推89F 06/08 18:43
B9702115: 好難…90F 06/08 18:58
stw0975: 推91F 06/08 19:07
MidoBanA: 推92F 06/08 19:07
fred240753: 推93F 06/08 19:12
b06606005: 覺得神,先推再說94F 06/08 19:15
viper1024: 老師好95F 06/08 19:23
kevin015015: 推大神96F 06/08 19:23
uismuu: 都有人可以在麥塊裡做電腦了97F 06/08 19:35
kami0857: 神98F 06/08 19:35
jk842323: 推實作才是學習99F 06/08 19:55
ilovebig99: 神100F 06/08 20:22

--
※ 看板: Gossiping 文章推薦值: 1 目前人氣: 0 累積人氣: 2990 
分享網址: 複製 已複製
( ̄︶ ̄)b jengyic, coolnoss 說讚! ( ̄︿ ̄)p zerou86 說瞎!
1樓 時間: 2019-06-08 22:20:21 (台灣)
  06-08 22:20 TW
推大神
2樓 時間: 2019-06-08 22:30:47 (台灣)
  06-08 22:30 TW
···
電子工程計算機組
3樓 時間: 2019-06-08 22:30:49 (台灣)
  06-08 22:30 TW
不難 建議你從高職電子科(不是資訊科喔)開始,提供一些基礎科目:基本電學 電子學 數位邏輯 計算機概論 微處理機原理。到了大學有(資工系) 數位系統 系統程式 作業系統 程式語言
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇