一. 計算機的基本組成:
??我們知道計算機的三大件:CPU讹弯、內(nèi)存蔚出、主板
??CPU罢杉,全名叫中央處理器(Central Processing Unit)辛慰,它是最重要的核心配件褒脯,因為計算機基本所有的“計算”工作都是由CPU來完成的圈暗。
??第二個是內(nèi)存康聂。我們撰寫的程序啡邑,打開的網(wǎng)頁产徊,運行的游戲昂勒,都要加載到內(nèi)存中運行。程序讀取的數(shù)據(jù)舟铜、計算得到的結(jié)果戈盈,也都要放到內(nèi)存中。內(nèi)存越大谆刨,加載的東西越多塘娶。
存放在內(nèi)存中的數(shù)據(jù),需要被CPU讀取痊夭,CPU計算完后刁岸,再放回內(nèi)存,然而內(nèi)存不能直接插到CPU上她我,故而我們有了最后一個大件——主板
??主板是一個有著各種各樣的插槽的配件虹曙。CPU和內(nèi)存都會插到主板上,主板的芯片組和總線解決了CPU和內(nèi)存之間如何通訊的問題番舆。
芯片組:控制著數(shù)據(jù)傳輸?shù)牧鬓D(zhuǎn)酝碳,也就是數(shù)據(jù)從哪里到哪里的問題。
總線:就是數(shù)據(jù)傳輸?shù)母咚俟泛薇贰R虼?strong>總線速度決定了數(shù)據(jù)傳輸?shù)亩嗫臁?/p>
??三大件配上電源疏哗,計算機差不多就可以跑起來了,但是目前還確實輸入/輸出設(shè)備禾怠,也就是I/O設(shè)備沃斤,比如鼠標(biāo)圣蝎、鍵盤就是輸入設(shè)備,顯示器就是輸出設(shè)備衡瓶。
??最后配上硬盤徘公,就可以保證數(shù)據(jù)的持久化。顯卡是一個特殊的設(shè)備哮针,因為顯卡有除了CPU之外的另一個“處理器”关面,也就是GPU,也可以處理一些“計算”工作十厢。
??鼠標(biāo)鍵盤這些都插在主板上等太,作為外部I/O設(shè)備,它們主要是通過主板的南橋芯片組來實現(xiàn)與CPU的通訊的蛮放∷趼眨“南橋”顧名思義,在主板的南側(cè)包颁,是為了連接鼠標(biāo)瞻想、鍵盤以及硬盤這些外部設(shè)備和CPU之間的通訊。
??有了“南橋”娩嚼,我們可以想到應(yīng)該是有“北橋”的蘑险。以前主板上有“北橋”,用來連接CPU和內(nèi)存岳悟、顯卡之間的通訊佃迄。但是隨著時間推移,這部分功能已經(jīng)內(nèi)置到CPU中贵少,所以在主板上呵俏,已經(jīng)沒有“北橋”了。
二. 馮諾依曼體系結(jié)構(gòu)
??馮諾依曼體系結(jié)構(gòu)滔灶,也叫做存儲程序計算機普碎。什么是“存儲程序計算機”?這里暗含兩個概念宽气,一個是“可編程”的計算機随常,一個是“可存儲”的計算機。
??說到“可編程”萄涯,我們先說說“不可編程”绪氛。計算機是由各種門電路組合而成,然后通過組裝成電路板涝影,來完成一個特定的計算程序枣察,一旦需要修改功能,就要重新組裝電路。這樣的話序目,就是“不可編程”的臂痕,因為計算機硬件層面是“寫死”的。最常見的就是老式的計算器猿涨,電路板設(shè)計好了加減乘除握童,做不了任何計算邏輯固定之外的事情。
??我們再看“可存儲”的計算機叛赚。其實這里就是說澡绩,程序本身是存儲在計算機的內(nèi)存中,可以通過加載不同的程序來解決不同的問題俺附。
??馮諾依曼在他的一篇《First Draft》文章中肥卡,說了一臺計算機應(yīng)該有哪些部分組成。
??首先是一個包含“算術(shù)邏輯單元”和“處理器寄存器”的處理器單元事镣,用來完成各種算術(shù)和邏輯運算步鉴。因為它能完成數(shù)據(jù)的各種處理和計算工作,所以也稱之為“數(shù)據(jù)通路”或者“運算器”璃哟。
??然后是一個包含“指令寄存器”和“程序計數(shù)器”的控制器單元氛琢,用來控制程序的流程,通常就是在不同條件下的分支和跳轉(zhuǎn)沮稚。在現(xiàn)在的計算機中艺沼,上述所說的“運算器”和“控制器”組成了CPU册舞。
??接著是用來存儲數(shù)據(jù)和指令的內(nèi)存蕴掏。以及更大容量的外部存儲,再過去可能是磁帶调鲸,磁鼓這樣的設(shè)備盛杰,現(xiàn)在是硬盤。
??最后就是各種輸入輸出設(shè)備藐石,以及對應(yīng)的輸入輸出機制即供。
??任何一臺計算機中的任何一個部件,都可以歸到運算器于微、控制器逗嫡、存儲器、輸入設(shè)備和輸出設(shè)備中株依,而現(xiàn)在所有的計算機也都是基于這個基礎(chǔ)架構(gòu)設(shè)計的驱证。
??而所有的計算機程序,可以抽象為從輸入設(shè)備讀取輸入信息恋腕,通過運算器和控制器來執(zhí)行抹锄,執(zhí)行后的數(shù)據(jù)存儲到存儲器中,最終把結(jié)果輸出到輸出設(shè)備上。
三. 總結(jié):
??馮諾依曼體系結(jié)構(gòu)確立了現(xiàn)在計算機硬件的基礎(chǔ)架構(gòu)伙单,因此我們學(xué)習(xí)計算機組成原理获高,就是學(xué)習(xí)和拆解馮諾依曼體系結(jié)構(gòu)。
??具體來說吻育,學(xué)習(xí)計算機組成原理念秧,其實就是學(xué)習(xí)運算器和控制器的運行原理,也就是CPU怎么工作布疼,為何這樣設(shè)計出爹;學(xué)習(xí)內(nèi)存的工作原理,從最基本的電路缎除,到上層抽象給到CPU乃至應(yīng)用程序的接口是怎樣的严就;學(xué)習(xí)CPU怎么和輸入/輸出設(shè)備打交道?
??學(xué)習(xí)計算機組成原理器罐,就是在理解從控制器梢为、運算器、存儲器轰坊、輸入設(shè)備和輸出設(shè)備铸董,從電路這樣的硬件到最終開放給軟件的接口,是如何運行的肴沫,為什么這么設(shè)計粟害,以及軟件開發(fā)層怎么盡可能用好它。
四. 思考:
??除了馮諾依曼颤芬,還有圖靈機悲幅,那么圖靈機和馮諾依曼有什么區(qū)別?圖靈機是什么樣的計算機抽象呢站蝠?
答:(1)馮諾依曼體系結(jié)構(gòu)側(cè)重于計算機硬件的抽象汰具,提出了“存儲程序計算機”的設(shè)計思想。
(2)圖靈機菱魔,側(cè)重于計算抽象留荔,是一種思想模型(計算機的基礎(chǔ)理論基礎(chǔ)),是一種有窮的澜倦、構(gòu)造性問題的求解思路聚蝶,圖靈機解決的是“哪些可計算”和“哪些不可計算”的問題。
如果你想一起學(xué)習(xí)這門課藻治,可以掃下面的二維碼購買: