iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0
自我挑戰組

冒牌工程師上學去系列 第 2

1-1 姓范的都很厲害?聊聊范紐曼架構

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20220917/20141684snG8aKWcvN.jpg

跨出第一步後,剩下的路就會慢慢浮現(圖/出處)

首先從硬體開始,今天聊聊范紐曼架構(Von Neumann architecture)

背景

史上第一台電腦叫做ENIAC,當初美國為了二戰為了快速計算彈道而產生,基本上看起來就是一台超級無敵大又笨重的計算機,但也畢竟算是我們現在人手一台PC的老祖宗,還是要尊敬一下。它的計算速度比當時機電機器提高了一千倍,這是一個大進展,在那之前沒有任何一台單獨的機器達到過這個速度。

https://ithelp.ithome.com.tw/upload/images/20220917/20141684GjW1nB36rW.png
但有個很麻煩的地方:當你要修改程式的時候必須要重新手動調整機器上的線路開關。

兩大原則

為了解決這個問題,范紐曼架構提出了兩個概念:

  1. 內儲程式: 電腦可以同時儲存程式和資料,將要先執行的程式儲存在Memory中再執行
  2. 循序執行: 程式會一行一行的執行

此外還有一個特點,ENIAC是用十進位制,而程式儲存型電腦是採用二進位編碼。

所以,這樣到底有什麼改變?

來看看wiki怎麼說
藉由創造一組指令集架構,並將所謂的運算轉化成一串程式指令的執行細節,讓此機器更有彈性。藉著將指令當成一種特別型態的靜態資料,一台儲存程式型電腦可輕易改變其程式,並在程式控制下改變其運算內容。

簡單來說內儲程式的設計特色之一就是把CPU跟Memory分開,如此一來,對程式改寫或重用只需要重新跟Memory拿,不影響CPU本身。你能想像在將近80年前修改程式碼是要靠上面手動配置線路的方式嗎?(以我的理解就是這台機器是一台巨大的CPU,依據不同的程式指令,你需要重新手動調配線路)

架構中涵蓋五大單元

網路上其實已經有非常多相關名詞解釋,這裡只做簡單說明,最簡單口訣就是:CPU、Memory、I/O。

CPU

控制單元 Control Unit:由計數器、解碼器與暫存器等組成,控制個單元間的運作
運算單元 ALU:算術運算(加、減、乘、除)及邏輯運算(AND、OR、NOT)

Memory

儲存單元 Memory Unit:負責儲存程式或資料

I/O

輸入設備I:負責將資料、程式及命令的輸入。ex: 鍵盤、滑鼠
輸出設備O:負責輸出電腦所執行的結果。ex: 螢幕、印表機

對應現在的電腦硬體如下圖
https://ithelp.ithome.com.tw/upload/images/20220917/20141684ZS6OMNKgJ0.png

單元間的互動

舉例我現在輸入2+2要進行加法運算,首先我們假設已經編譯成可執行檔.exe(電腦看得懂的語言)

  1. 控制單元依序從Memory 擷取(FETCH) 2+2的對應指令和資料進行解碼(DECODE)
  2. 運算單元擷取運算元並 執行(EXECUTE) 運算
  3. 將運算結果寫回Memory(WRITE MEMORY)

以上這樣一圈又稱為一個指令週期(cycle),這個週期只是針對一個指令要完成的一個流程,為CPU和Memory間的互動,並不包含I/O

https://ithelp.ithome.com.tw/upload/images/20220917/20141684gpgJTQ2SVm.jpg

下一集來聊聊CPU怎麼和memory溝通以及指令週期相關計算

QA時間

所謂「范紐曼瓶頸(von Neumann)」,是描述下列那一種情形?
(A)CPU執行速度的快慢,會影響系統的效能
(B)電腦的記憶體容量有限,會造成程式執行的瓶頸
(C)複雜指令集(Complex Instruction Set Computer, CISC)會造成程式設計者困擾
(D)程式的記憶體參考頻繁,會影響系統執行效能

答案明天揭曉
(104 年 - 國立陽明高中資訊科技概論)
小故事:電腦誕生初期的那個年代工程師竟然大多都是女生?

原來在二戰期間男人們都去打仗了,女生的工作就是計算資料,讓士兵能瞄準目標,而當時有6位女性參與ENIAC項目,且都表現相當出眾
隨著戰爭結束,男性開始回歸社會的工作岡位,女性在當時背負進入家庭就要當好媽媽的形象;此外,當電腦進入家庭時,它以玩具的身份,商業廣告以洗腦的頻率一遍又一遍將玩具打上性別烙印:電腦,男孩的玩具;娃娃,女孩的玩具。
80年代後,女程式設計師的的比例逐漸下滑。
如果對於女性工程師歷史有興趣的,相當推薦一部電影:關鍵少數。

分類會依照第一篇介紹的分類架構來進行
由於是將學習過程記錄下來,如果有任何錯誤歡迎糾正

以下參考連結在學習過程中覺得非常有幫助:


上一篇
沒學過計概別說你是工程師 ?
下一篇
1-2 CPU指令週期
系列文
冒牌工程師上學去42
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言