I. 引
Introduction
在學習計算機技術之前,了解計算機的組成是非常必要的。這不僅可以讓你對硬件有一個大概的了解,而且會讓你將來對基于硬件運行的軟件有一個更為透徹的理解。只有理解了計算機是如何協調它的部件來工作的才方能理解人們為何這樣設計操作系統和程序。
I. 計算機部件
The Essential Components of a Modern PC
現代計算機都是遵循馮諾依曼體系進行架構的。它由五大部分組成:運算器+控制器+儲存器+輸入設備+輸出設備。
計算機也叫電腦。電腦這個名字是非常貼切的,因為計算機和人腦的工作方式非常相似。我們想象計算機的時候不妨想象一下一個人的大腦。研究表明,想象的畫面越是夸張花哨,記憶得越牢靠。試著想象一個非常富有科技感的全息大腦。想象這個大腦正在高速運轉。五顏六色的霓虹穿梭于突觸之間,那是龐大的數據流在傳輸。
Figure 1
大部分的計算機組件都安置在主板(Motherboard)上。主板負責接收來自電源(Power)的電流并按需分配給各個配件。主板上還安置了大部分總線(Bus)??偩€就像無數的神經突觸,將各個部件聯系在一起,使它們能進行信息的交換。如果沒有了主板,所有的部件之間的連接所需要的線的數量難以想象,會把組裝計算機的人逼瘋的。主板的存在大大方便了這一點。輸入設備(Input)通過主板來接入總線以讓我們于計算機交互。如果沒有了輸入設備,我們便無法使用計算機。如此它便和板磚無二。
我們的大腦接收外界的信息并對其進行處理。計算機對應的部件叫做CPU(全稱為:Central Processing Unit,即中央處理單元)。CPU是鑲嵌在主板上的一塊芯片。CPU上有許多針腳。每個針腳負責一個簡單的運算,比如說加法,取模等等。CPU除了具有處理信息的能力,它還承擔了控制器這個角色。這個我們過會兒再講。
處理好的信息需要一個地方來存儲。人腦中的海馬體便是負責短期記憶的。計算機中的內存(RAM,全稱為:Random Access Memory)也擔當了一樣的角色。CPU通過總線將數據存儲在內存中。內存分為很多不同的區間,不同區間放著不同的數據。如何才能正確地提取數據并把處理好的數據存放在一個空白的區間呢?CPU的控制器部分就是負責這個功能的,以此來協調計算機的工作。內存的讀取和寫入速度都非???,但容量相當有限,而且內存一旦斷電就會永久失去所有數據。為了長期儲存數據,我們設計了硬盤(Hard Drive)。相對于內存,硬盤的速度比較慢,但是它的容量非常大。為什么我們需要內存和硬盤兩個部件而不是只用內存或只用硬盤呢?只用內存的話,速度會非???,但是一旦斷電數據則會全部丟失,非常不現實。新型的NVDIMM內存不會出現斷電丟失數據的情況,但是價格相當昂貴。不說NVDIMM內存,普通內存的價格相對于硬盤就非常昂貴。只用硬盤的話,平時運行的時候速度會非常緩慢。所以計算機采取兩者兼用的策略。
GPU(全稱:Gprahic Processing Unit, 即圖像處理單元)就是我們常說的顯卡。我們大腦接收外界的數據之后在腦內構建圖像,即我們平時所見的世界。在計算機中,CPU將需要GPU處理的數據通過總線傳輸給GPU。GPU將數據進行處理并轉換成模擬信號傳輸給顯示器(Moniter),最后顯示出我們平時所見的圖像。
II. 操作系統
Operating System
不同廠商生產的計算機部件規格不同。程序員面對某一組計算機硬件編寫的程序很可能不能在另外一臺不同配置的計算機上運行。為了解決這個問題,我們需要通用軟件,即可以無視硬件不同運行的軟件。操作系統(Operating System,簡稱OS)便是這樣一種軟件。操作系統統一了計算機的規格。不管你的CPU是AMD的還是Intel的,操作系統都將其視為提供計算能力的工具。無論你的內存是512MB還是2GB,32位系統默認你擁有4GB內存,64位系統默認你擁有4G個4G內存(天文數字)。規格的統一極大地方便了程序員的工作,所以我們說程序員編程都是面向操作系統編程而不是面向硬件編程。這個統一的規格便是一臺虛擬機(Virtual Machine)。世界上有很多不同的操作系統。程序員使用的都是高級語言,比如說C,C++,Java等等。這些語言在不同的操作系統上都可以通用,但是一旦程序被編譯了,那程序只能在這個操作系統上運行了,比如說Windows系統編譯為的exe格式,Mac系統的dmg格式等等。
CPU只有一塊,但是我們的操作系統平時都可以同時運行數十個不同的進程。這是通過操作系統實現的。操作系統將使用CPU的時間進行切割,以5ms為一個區間,逐個執行進程。5ms之后,無論現在的任務是否完成,立刻進行下一個任務。因為CPU的速度很快,所以我們感覺這些進程是同時運行的。其實CPU每次只能執行一個功能。
以上。
III. 引用
Reference
-
http://img2.imgtn.bdimg.com/it/u=1596299780,1182363738&fm=21&gp=0.jpg
原創文章,作者:mercerchen,如若轉載,請注明出處:http://www.www58058.com/17954