目錄
前言
五大組件
數據信號
?存儲器(內存)有必要嗎
常見面試題
前言
馮諾依曼體系結構是當代計算機基本架構,馮諾依曼體系有五大組件,通過這五大組件直觀的描述了計算機的工作原理;學習馮諾依曼體系可以讓給我們更加理解計算機工作原理,認識到各個硬件之間的聯系以及操作系統在其中的功能。下面將對馮諾依曼體系的各個組成部分以及作用進行介紹。
以上是馮諾依曼體系中數據信號和控制信號的流程圖。
五大組件
馮諾依曼體系很簡潔直觀,只有五個組成部分。
輸入設備:鍵盤,鼠標,話筒(輸入聲音),攝像頭,磁盤(向磁盤中寫入),網卡(向網絡中發送數據).......
輸出設備:顯示器,揚聲器,磁盤(從磁盤中讀取),網卡(從網絡中讀取)......
存儲器:指的是內存,而不是硬盤或磁盤;
運算器:對數據進行計算; ????????控制器:對硬件進行控制;
其中運算器和控制器共同組成中央處理器,即CPU;
數據信號
關于控制方面,所有的硬件都由控制器進行控制,不需要過多贅述。但是在數據傳輸方面就有一些特殊之處了。
根據上面的流程圖:數據從輸入設備中進行讀取------>放到內存里面------>交給運算器進行運算--------->還給內存------->放入輸出設備。
這個流程圖里面的內存是干嘛的,“中間商”嗎???為什么數據先給他再進行計算,計算完了還要還給它,不能直接從輸入設備中讀取后就計算,計算完直接放到輸出設備嗎???
?存儲器(內存)有必要嗎
在計算機中由很多硬件都具有存儲的功能,但是存儲也是分級的;根據上圖--存儲金字塔可以看到CPU的讀取速度是最快的,基本上以納秒為單位,而磁盤或硬盤的讀取效率很低,基本上讀取速度以毫秒為單位,兩者的差距是很大的。
如果直接讓CPU從輸入設備上進行數據的讀取,就會出現:CPU早就已經將數據計算完了,等了半天下一組數據才從輸出設備輸出來,就會導致大大CPU的效率被大大拉低,機器的運算效率也同樣會大大降低。所以就需要一個比外設速度快但是又比CPU慢一點的設備------內存。
內存比CPU慢一點,但是比外設快很多,這樣就能有效的提高CPU的讀取和輸出效率。
內存比CPU的存儲能力更強,所以可以先將數據預加載到內存中,當CPU計算完后直接從內存中進行讀取,內存也持續從外設中讀取和輸出數據;這樣就實現了讀取和計算并行。
總結:數據交互上,所有外設都只能與內存打交道,不能直接與CPU進行數據的交互。
常見面試題
一個程序為什么要先加載到內存中?
答:因為馮諾依曼體系結構,中央處理器只與內存進行交互,從內存中讀取,向內存中進行寫入。
為什么有些程序在顯示數據的時候數據會先被緩存起來?在哪緩存的?
因為馮諾依曼體系結構規定,中央處理器計算后的數據不會直接輸出給輸出設備而是先給內存,緩存是因為內存中的數據還沒有來得及刷新到輸出設備中。
能否使用馮諾依曼體系結構解釋,在使用qq發送文件時,文件數據是這樣進行流動的?
答:文件通過硬盤傳輸給內存經過處理后返還給內存,內存再交給網卡,由網卡發送到網絡中,對方網卡進行接收,當對方進行下載時文件加載到內存中....
拓展:當其他用戶給我發送文件時,我們還沒有進行下載,那么此時文件存儲在哪??
在騰訊云服務器上存儲著。