作爲一個程序員,不知道什麼是馮諾依曼體系結構?那肯定也不知道哈佛結構嘍!

聽說你還不知道什麼是馮諾依曼體系?趕緊轉行吧,這可是最基本的最基礎的啊,要知道馮諾依曼可是計算機行業祖師爺般的存在啊,所以啊,無論你是學習java,Python,還是天下第一的PHP,只要你是個幹編程的,那你就需要知道啥是馮諾依曼體系結構!

就這?一般愛學習的程序員都知道馮諾依曼體系是個咋回事,畢竟這是大學基礎課程中就重點學習過的,對的,就是計算機組成原理中的,不過鑑於大多數程序員的計算機基礎都不咋滴,所以,我想啊,還是有一部分人對這個馮諾依曼體系不太熟悉的,另外,如果今天我就簡單的和你說說啥是馮諾依曼體系的話,那這篇文章就沒啥價值了!

是的,我還要給你說說哈弗體系結構,不知道是啥?沒關係,看完就知道了!

馮諾依曼體系是啥玩意?

來來,一起做個題:請看題

馮諾依曼體系的五部分是什麼?

咋樣?會嗎?偷偷告訴你,我當初上大學的時候,記得是期末考試,計算機組成原理的時候遇見這道題,毫無疑問,我跳過了,不會啊,想不起來(不是我菜,主要是我壓根就沒看過計算機組成原理的書,也沒咋上過課,別跟我學,我現在都後悔死了)

少壯不努力老大徒傷悲啊,來來,繼續咱這道題目,你知道是什麼麼?如果你不知道,那真的要好好反省了,馮諾依曼體系的五大部分主要是:

1、運算器
2、控制器
3、存儲器
4、輸入設備
5、輸出設備

其實吧,我當初也看過,知道了這五個,但是後來不看就忘記了,我現在回想起來啊,主要當時還是自己對馮諾依曼體系是個啥完全懵啊,根本不知道是個什麼玩意,所以頂多算是死記硬背,不理解的話,別看就這五個,照樣記不住!

但是後來我發現,如果真的是理解了什麼是馮諾依曼體系之後,再遇見這樣的問題,想一下,馬上出答案啊!

那該怎麼好好嘞,別急,這篇文章一定幫你搞定它!

你有筆記本電腦嗎

咋回事啊,不是要和我講講馮諾依曼體系嗎?怎麼扯到這啊,我有啊,筆記本電腦,ThinkPad的,小紅點信仰啊,怎麼啦?

爲啥說這個,那是因爲現在的電腦爲什麼是這樣的那是和馮諾依曼體系有決定性關係的,說白了,就是馮諾依曼體系規定了電腦應該是個什麼樣子的。

你覺得你的電腦主要有哪些東西啊

現在你來說說,你的電腦,都有哪些東西啊,你可能會說:

1、顯示器
2、外殼
3、鍵盤
4、鼠標
5、

你看看,你看看,就知道這些是吧,如果你是非編程人員,知道這些還說的過去,但是作爲一個程序員,學編程的,說出這些那可要丟人嘍。

你不能只說你看到的表面的一些東西啊,你最起碼說下內部構造吧,比如:

1、CPU
2、內存條
3、主板

你看看,你看看這些一說,就顯得專業的多了吧。關於這三點,我都是寫過文章介紹的,不知道的趕緊翻翻之前的文章,或者直接找我要。

那跟馮諾依曼體系有啥關係啊

馮諾依曼體系咱們直觀上就能感覺出馮諾依曼是個人名吧,是的,他就是咱們計算機行業的祖師爺之一,另外一個是圖靈,咋樣,是不是很熟悉,不過咱今天不打算聊他。

在早些時候啊,計算機還不像現在這麼牛氣,那時候哪有什麼電腦啊,然後時間就這樣過啊過啊,然後有一個叫做馮諾依曼的人出來啊,他說出了自己心目中的計算機的樣子,那他想象中的電腦是啥樣的嘞?

1、第一,他想啊,計算機,首先肯定可以計算東西,比如一些算術運算啊,邏輯運算啊,對吧,計算機,計算那是必須的,所以得有這個,這個就叫做運算器吧。

2、然後嘞,你能計算了,但是有的時候進行的任務可能比較多,不能一次性把當前計算的任務完全計算出來,也就是說啊,我得有個啥能記住我之前在幹啥,我可以來回幹個啥不至於找不到剛纔做的事,我得知道啥時候幹什麼樣的事,這就是控制的東西,所以這個得有,就叫做控制器吧。

3、除了上述兩點,還有重要的一點就是,我得可以存儲啊,我需要的東西應該有個地方可以存放吧,比如你需要的計算原始數據以及計算之後的數據,那這是啥,就是一些存儲設備啊,就是內存嘍。

4、以上貌似跟我們人沒啥關係,計算機最終還是要我們來操作的,那怎麼操作嘞,這就得有個我們給計算機反饋,計算機也可以給我們反饋的東西啊,這是啥,就是輸入輸出設備啊。

好啦,以上就是馮諾依曼心目中計算機應該有的樣子啊,你看看,根據他說的,你是不是怎麼都無法與現在你用的電腦聯繫起來啊。

你的電腦主要就是這些東西

其實吧,你的電腦也就上面那幾樣,來來,我給你捋一捋,首先就是計算機的三大件:

1、CPU
2、內存
3、主板

你的電腦主要就是這些,主板是一個綜合的載體,CPU和內存什麼的都在主板上插着,CPU負責運算和控制,內存負責存儲,當然你會說還有什麼硬盤,顯示器,鼠標和鍵盤什麼的,對的,但是沒有這些,只有上面三大件,照樣能跑起來,當然得給它通電,只不過用着費勁罷了。

但是三大件是核心啊,那這個跟馮諾依曼想的那些有啥關係嘞,首先看他說的一二條,就是運算器和控制器,這些其實就是組成了我們說的CPU,叫做中央處理器,然後還有存儲內存,雖然三大件通上電就能跑,但是一般都會有輸入輸出設備,這也是馮諾依曼想象中應該有的。

馮諾依曼體系就這麼回事

所以啊,到這裏,你明白馮諾依曼體系咋回事了嗎?說白了就是馮諾依曼提出的計算機應該包含哪些東西,主要就是:

1、運算器
2、控制器
3、存儲器
4、輸入設備
5、輸出設備

是的,馮諾依曼覺得計算機就應該有這些東西,不然就不能叫做計算機,於是啊,在以後的日子裏,馮諾依曼提出來的這些就成了一個標準,所以大家以後再造計算機的時候都會按照這些開整,所以啊,說他是計算機行業的祖師爺不過分吧!

馮諾依曼體系可不僅僅只有這些哦

上面大致給你介紹了馮諾依曼體系體系的一些東西,但是都是比較基本的,也就是基礎知識啦,接下來我稍微深入點,說點其他的。

馮諾依曼體系中的存儲結構

我們往內部構造去說一點不一樣的,馮諾依曼說了,計算機應該有存儲器,這個存儲器幹啥的嘞?計算機幹啥的,不就做一些數據的處理嗎?你給輸入點啥,它給你返回點啥,那麼這裏你就想,數據是被下了指令去怎樣怎樣的,對吧,就是計算機按照你給的指令去把數據搞成什麼樣,那麼這個過程,計算機要搞明白兩個東西,一是指令,二是數據,對的,請記住指令和數據。

那麼這些東西,最終是要與存儲器打交道的,我們這裏說的存儲器就是指的內存先,那麼很多指令和數據的處理都是需要在內存中去完成的,說個直白點的,比如程序吧,我們寫的程序,或者再直白點,你打開一個軟件,其實內部都是把相關的數據加載進內存中,你的軟件才能運行。這就是對數據的處理,其中也有對指令的操作。

好啦,到這裏你知道了,指令和數據是需要加載進內存中執行的,看過之前文章的應該知道,指令和數據最終都是轉成二進制數據加載進內存,然後去執行一些操作,這裏你不需要明白的很細節,你就需要知道有個指令和數據需要在內存中去幹一些事。

那麼指令和數據人家也是個物件啊,所以得給人家進行存放的地方,得讓人家有個容身之地,這時候在內存中怎麼安排嘞,大致就有兩種,要麼你倆存儲在一起,睡一張牀,要麼你倆分開睡,就是單獨存儲嘍。

哈弗體系結構

到這裏就要引出一個新的概念了,那就是哈佛體系結構,我們一直在說馮諾依曼體系結構,其實還有個哈佛體系結構,那麼這倆貨有啥不一樣嘞?

我們今天主要講的馮諾依曼體系結構就是把指令和數據存放在一起,馮諾依曼覺得,指令最終還是變成數據了,這倆沒啥不一樣,就一起存放唄。

但是在哈佛體系結構中就不一樣,在哈佛體系中就認爲指令就是指令,而數據就是數據,還是不一樣滴,所以兩者需要分開存儲。

所以啊,記住了馮諾依曼體系和哈弗體系結構的區別就是是否區分指令和數據的,馮諾依曼體系是不區分的,而哈佛體系結構是區分的。

好啦,到這裏你知道這個就差不多了,其實無論是馮諾依曼體系還是哈佛體系結構,現在都有應用,當然,兩者各有千秋,不過,還是馮諾依曼體系的名氣更大,應用最廣!

行啦行啦,今天就說到這吧,說多了又該有人說看不懂了,不着急,繼續關注,我持續跟你聊,記得點贊和轉發哦!感謝支持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章