電腦程式設計 - 簡介(二) - 馮紐曼架構

更新於 發佈於 閱讀時間約 4 分鐘

馮紐曼架構

上一篇我們談到了Model K Adder,人類的計算機運用機械式的繼電器進入數位時代。當時除了整數的運算之外,計算機還可以計算小數點的數字,可以快速又精準地輔助運算。1940年代,因為二次世界大戰的關係,計算機被運用在戰爭用途,哈佛大學研究人員建造了一座像房子一樣大的繼電器計算機:Harvard Mark I。想想看,整個房間塞滿了3500個繼電器,運算時「喀喀」聲不絕於耳,像戰爭裡的機槍一般地令人驚恐。
Harvard Mark I
圖片作者:Waldir
圖片來源:wikipedia
許多科學家發現這樣的電腦雖然很酷,但是它的輸入工具卻是紙帶或紙卡,效率太低。所以大約1945年,一位數學家馮紐曼(John von Neumann)提出了儲存程式的計算機概念。簡單上講,就是原本計算機被設計成戰爭機器,它就永遠是戰爭機器,而John von Neumann提出的計算機有記憶功能,可以辨識人類所創造的程式語言。所以透過更改程式,計算機能夠擁有無限的用途,唯一的限制,只是人類的想像力。
Harvard Mark I
圖片作者:Kapooht
圖片來源:wikipedia
由上圖可見,電子計算機的中央處理單元包含了「控制單元」以及「算術邏輯單元」。算術邏輯單元像是高材生,數學與邏輯的運算可以在剎那間完成,所有題目難不倒它。而控制單元像是總務股長,所有雜務,像是找東西、搬東西、整理筆記、擦黑板、掃地、刷馬桶等雜事。

馮紐曼架構實例

以上是馮紐曼架構的正規圖。如果您不習慣冰冷的圖示,下方為各位畫一張簡單卻不怎麼專業的馮紐曼架構圖,請不要誤會,它不是復活節島石像,如果這個架構被馮紐曼看到,應該會吐血三升倒地不起吧!
中間黃色的區域為核心區域,它能夠計算,判斷,還有控制程式的流程
用這張可愛的圖,可以舉一個例子,我說:「去拿水」,聽到這句話的人,除了能理解這句話的意思,還要能夠記得「拿」這個動作,以及「水」這個物品。如果缺少這種暫時記憶,可能走到一半就忘了,反而拿起醬油倒進炒菜鍋裡去,像這樣是無法完成拿水這任務的。暫時記憶,就屬於控制單元的工作。
暫時記得「拿」與「水」
如果我一連串說三個動作:「拿水」「燒開水」「泡茶」
一次三件事,暫時記憶記不住,就把它記在記憶單元中
記性不好的人就需要寫在紙上,寫在紙上的動作,也是控制單元的任務,接著就把三件事情抄寫在記憶單元裡面。
接著就一件一件處理,跟之前一樣,第一件事「拿」和「水」,需動用暫時記憶去做。做好後,在紙上把第一項動作打個勾。
一件一件做,做好打勾
馮紐曼架構可以預先輸入好幾件事情,然後一件一件處理。這就是電腦程式
電腦仗著它有記憶單元、算術能力、邏輯判斷及控制能力,能夠穩定地完成工作,不會分心旁騖,泰山崩於前而色不變,麋鹿興於左而目不瞬。絕對不會不想做,也不會燒開水到一半去接電話,然後水壼被燒出一個洞。
我們跟電腦講話,需透過輸入單元,現在的手機用滑的,以前的電腦用鍵盤輸入,XBox可以用動作輸入來控制遊戲,都屬於輸入單元。而燒成開水,泡成茶,就是輸出單元。目前最常見的輸出是電腦螢幕,或手機的螢幕。當然科技不斷創新,未來勢必有更多新的輸出設備問世。
馮紐曼架構主宰了計算機架構,1950年代,人們不斷實踐馮紐曼架構的過程中,真空管的導入讓運算速度加快,接著十年的光景,電晶體又取代了真空管,電腦的體積大為縮小,而且速度更快。程式語言也從原本難以理解的機械代碼轉變為人類容易理解的高階語言。
嚴格講起來,電腦是一個只懂得0與1的怪胎,每天守著自己的暫存記憶在喃喃自語,還有一堆令人眼花撩亂的數字號碼代表記憶空間,令人望之卻步。多虧許多電腦界的前輩犧牲生活樂趣及幸福時光,創造了作業系統與編譯器,讓我們能夠便利地使用手機設備,甚至可以自行編譯程式,讓手機及電腦會聽話,做我們想要做的事情。
就好像哆啦A夢的翻譯蒟蒻,一層一層疊起來,使得電腦懂得我們在說什麼!下一篇,將為各位介紹電腦的翻譯蒟蒻:作業系統與編譯程式。

相關系列文章
avatar-img
14會員
8內容數
慕樂諾斯自然農法農場位於長濱鄉永福部落,歷經十年的實踐與變革,融合生態觀點與原住民傳統精神的自然農法,不止是農耕方法,也是一套思想系統。很榮幸能夠在這裡跟大家分享在農場中耕作與思考的點點滴滴。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
不宅大叔的沙龍 的其他內容
本系列文章運用淺顯易懂的方式,幫助大家瞭解程式設計是什麼。如果您想要學習寫程式,不得其門而入,希望我的文章能夠對您有幫助。 在開始之前,我們必須要瞭解電腦是什麼,請您耐心地閱讀我為您帶來的電腦簡史。
本系列文章運用淺顯易懂的方式,幫助大家瞭解程式設計是什麼。如果您想要學習寫程式,不得其門而入,希望我的文章能夠對您有幫助。 在開始之前,我們必須要瞭解電腦是什麼,請您耐心地閱讀我為您帶來的電腦簡史。
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
馮·諾伊曼架构(Von Neumann Architecture)是由匈牙利裔美國數學家約翰·馮·諾伊曼於1945年提出,這一架構是現代計算機設計的基礎。其核心概念為存儲程序計算機,數據和程序指令共享同一記憶體空間。馮·諾伊曼架構的主要組成包括中央處理單元、內存單元、輸入輸出設備和系統總線。
Thumbnail
控制論(Cybernetics)是一個跨學科的科學領域,致力於研究控制和通信在各種系統中的應用,無論是動物、機器還是組織系統。這門學科由美國數學家諾伯特·維納(Norbert Wiener)在20世紀40年代創立,其核心目標是理解和設計複雜系統的行為和功能。
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 1.2.2 一個速度問題 1.2.3 幾何的方法 1.2.4 微積分的記法 1.2.5 弦的振動 二 有了萊布尼茲的命名和貝努利的初步界定,函數關係被正式放在桌面上,毫無遮掩地進入了公元十八世紀歐洲數學工作者
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 1.2.2 一個速度問題 1.2.3 幾何的方法 1.2.4 微積分的記法 1.2.5 弦的振動 一 前文提到萊布尼茲與瑞士數學家約翰‧貝努利有過關於「函數」的通訊。現在談一下貝努利。 貝努利關心的其中
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 1.2.2 一個速度問題 1.2.3 幾何的方法 1.2.4 微積分的記法 四 牛頓的「流數」不久便淡出歷史的舞台,後來的數學工作者選擇了萊布尼茲比較抽象的「函數」。 公元1673年,萊布尼茲在一篇名為〈觸線
Thumbnail
我們的大腦擅長的是思考與創造,而不是記憶,因此我們用第二大腦來儲存資訊,並且用系統化的方式整理這些資訊,有了第二大腦,就可以讓我們工作與創造的過程更加順利。作者提出CODE四個步驟來建立數位大腦,分別是獲取(Capture)、組織(Organize)、萃取(Distill)、表達(Express)。
Thumbnail
01 盧曼使用卡片盒的方式,在數位時代會是什麼樣子? 02 數位時代的資訊管理有兩類:基於資訊內容分配到先定義好的主題領域,或者基於資訊標籤來無序分類,再透過超連結對內容補充。 03 盧曼建立其筆記框架結構的主要特點,是「內部分支的能力」「參考的可能性」「關鍵字主題索引」 04 在實際的盧曼遺
Thumbnail
運算思維由2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授因提出並倡導「運算思維」而享譽計算機科學界。 運算思維分成四個步驟 拆解 將一個大問題拆解成許多小問題,各個擊破解決,當小問題解決了大問題也就解決了。 模式識別 將複雜的問題分解
計算機組織不難,但東西很多 這個科目也是我比較不熟悉的,在此之前都是自學,所以會寫的更詳細一點 1.計算機組織在學什麼? 想像計算機的架構就像一個蛋糕有好多層,上半是軟體下半則是硬體,對我來說,軟硬體的兩端是電腦的核心(應用程式&半導體),而中間的每一層都是串接兩端的橋樑;那計算機組織就是要探
Thumbnail
大腦是負責記憶的最重要角色,作為記憶的核心是海馬,但不是海中生物,而是所謂的海馬迴。對我們的學習和記憶能力有著關鍵。書中作者提到,其他同學像成績優異的人詢問問題,他們多次教導別人後,大腦藉由反覆的輸入及輸出,相較於其他同學之下,成績優異的人在考試時,答題正確率相對高,這就是大腦的功能。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
馮·諾伊曼架构(Von Neumann Architecture)是由匈牙利裔美國數學家約翰·馮·諾伊曼於1945年提出,這一架構是現代計算機設計的基礎。其核心概念為存儲程序計算機,數據和程序指令共享同一記憶體空間。馮·諾伊曼架構的主要組成包括中央處理單元、內存單元、輸入輸出設備和系統總線。
Thumbnail
控制論(Cybernetics)是一個跨學科的科學領域,致力於研究控制和通信在各種系統中的應用,無論是動物、機器還是組織系統。這門學科由美國數學家諾伯特·維納(Norbert Wiener)在20世紀40年代創立,其核心目標是理解和設計複雜系統的行為和功能。
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 1.2.2 一個速度問題 1.2.3 幾何的方法 1.2.4 微積分的記法 1.2.5 弦的振動 二 有了萊布尼茲的命名和貝努利的初步界定,函數關係被正式放在桌面上,毫無遮掩地進入了公元十八世紀歐洲數學工作者
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 1.2.2 一個速度問題 1.2.3 幾何的方法 1.2.4 微積分的記法 1.2.5 弦的振動 一 前文提到萊布尼茲與瑞士數學家約翰‧貝努利有過關於「函數」的通訊。現在談一下貝努利。 貝努利關心的其中
Thumbnail
1.0 從函數到函算語法 1.2 函數概念小史 1.2.1 中譯的來源 1.2.2 一個速度問題 1.2.3 幾何的方法 1.2.4 微積分的記法 四 牛頓的「流數」不久便淡出歷史的舞台,後來的數學工作者選擇了萊布尼茲比較抽象的「函數」。 公元1673年,萊布尼茲在一篇名為〈觸線
Thumbnail
我們的大腦擅長的是思考與創造,而不是記憶,因此我們用第二大腦來儲存資訊,並且用系統化的方式整理這些資訊,有了第二大腦,就可以讓我們工作與創造的過程更加順利。作者提出CODE四個步驟來建立數位大腦,分別是獲取(Capture)、組織(Organize)、萃取(Distill)、表達(Express)。
Thumbnail
01 盧曼使用卡片盒的方式,在數位時代會是什麼樣子? 02 數位時代的資訊管理有兩類:基於資訊內容分配到先定義好的主題領域,或者基於資訊標籤來無序分類,再透過超連結對內容補充。 03 盧曼建立其筆記框架結構的主要特點,是「內部分支的能力」「參考的可能性」「關鍵字主題索引」 04 在實際的盧曼遺
Thumbnail
運算思維由2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授因提出並倡導「運算思維」而享譽計算機科學界。 運算思維分成四個步驟 拆解 將一個大問題拆解成許多小問題,各個擊破解決,當小問題解決了大問題也就解決了。 模式識別 將複雜的問題分解
計算機組織不難,但東西很多 這個科目也是我比較不熟悉的,在此之前都是自學,所以會寫的更詳細一點 1.計算機組織在學什麼? 想像計算機的架構就像一個蛋糕有好多層,上半是軟體下半則是硬體,對我來說,軟硬體的兩端是電腦的核心(應用程式&半導體),而中間的每一層都是串接兩端的橋樑;那計算機組織就是要探
Thumbnail
大腦是負責記憶的最重要角色,作為記憶的核心是海馬,但不是海中生物,而是所謂的海馬迴。對我們的學習和記憶能力有著關鍵。書中作者提到,其他同學像成績優異的人詢問問題,他們多次教導別人後,大腦藉由反覆的輸入及輸出,相較於其他同學之下,成績優異的人在考試時,答題正確率相對高,這就是大腦的功能。