1. 程式人生 > >計算機理論與基礎—》CPU/硬碟/記憶體

計算機理論與基礎—》CPU/硬碟/記憶體

隨著科技的發展,現如今手機的推廣和普及率已掩蓋了電腦時代的輝煌,很多新生代的使用者對手機的儲存很茫然,於是我們經常會遇到“Q:你的手機記憶體多大?A:128GB”這樣的笑話,實際上我們也相信提問者就是想知道手機儲存容量的大小,而回答者也已經按照約定俗成的方式回答了問題。那麼記憶體和硬碟的區別是什麼呢!一起來看看本文的內容吧!

電腦之父——馮·諾伊曼 提出了組成計算機的五大部件:輸入裝置、輸出裝置、儲存器、運算器和控制器。

下圖為 現在我們電腦的: 鍵盤滑鼠、顯示器、機箱、音響等等。

PS:這裡簡單補充下Modem(貓)和路由器的關係!!!

1. modem是上網撥號器,要上網必須通過它。
2. 路由器安裝在modem之後,代替人工撥號上網的過程,並且通過路由器可以組建區域網,比如你家裡有一根寬頻線但有兩臺電腦要上網就需要路由器了。
3. 路由器和無線路由器都是可以插網線的,無線路由器主要是可以和無線網絡卡通訊,實現無線上網,前提是你的電腦要有無線網絡卡。
4. modem和路由器的連線關係是:寬頻接入線接入modem,路由器用網線連線到modem,電腦通過網線或無線來接到路由器。
5. 150M或者300M中的M指的是訊號強度,當然是越大越好,也越貴。
6. 綜上所述,如果家用超過一個電腦有上網需求的兩個都需要,而modem是必須的。
modem一般寬頻供應商給的就夠了,路由器現在市面上的TPLink比較實惠,家用足夠了。

這裡顯示器為比較老的CRT顯示器,現在一般都成功了液晶顯示器。

回想一下,在玩電腦的時候,我們使用鍵盤滑鼠來操作電腦,在和其他人QQ聊天的時候,滑鼠可以幫我們選中聊天的人,開啟聊天視窗,鍵盤則是負責打字,幫我們輸入聊天的內容。

在操作鍵盤滑鼠的時候,其實都是在告訴電腦來做什麼的。我們管鍵盤和滑鼠叫輸入裝置。

輸入裝置: 向電腦輸入資料和資訊的裝置。除了鍵盤。除了鍵盤滑鼠,其他輸入裝置還包括觸控板、麥克風、攝像頭,遊戲手柄、掃描器等等

顯示器用來給使用者展示畫面,顯示內容,音箱則播放音樂給我們聽,這些裝置被稱為:輸出裝置。

輸出裝置: 將電腦中的資訊輸出給使用者的裝置。常用的輸入裝置有:顯示器、音箱、印表機、投影儀等等

買來電腦,如果只有鍵盤滑鼠、顯示器、音箱,我們能玩電腦麼?肯定不能。

其實電腦機箱才是真正的工作的裝置,輸入輸出裝置只是用來讓我們和電腦機箱來做互動的。

那機箱內部都有什麼呢?我們看一下下面的圖片:

來看一下這裡的零件都有什麼用

主機板:連線所有其他裝置的裝置,是其他裝置的載體,主機板主要是為CPU、記憶體、顯示卡、硬碟等提供平臺,相當於人體的軀幹,關聯著各個器官。

CPU:中央處理單元(Cntral Pocessing Uit)的縮寫,也叫處理器,是計算機的運算核心和控制核心。人靠大腦思考,電腦靠CPU來運算、控制。讓電腦的各個部件順利工作,起到協調和控制作用。

硬碟:儲存資料和軟體等資料的裝置,有容量大,斷電資料不丟失的特點。也被人們稱之為“資料倉庫”。

記憶體:1. 負責硬碟等硬體上的資料與CPU之間資料交換處理;2. 快取系統中的臨時資料。3. 斷電後資料丟失。

顯示卡:顯示器想要呈現畫面,顯示卡是關鍵。簡單來說,就是負責在顯示屏上顯示一切資訊。打個比方,它就像是人的眼睛,沒有了它,電腦就無法驅動形成影象了。顯示卡效能好,電腦的圖形處理能力就高,尤其在玩遊戲時更能發現這個(所以很多遊戲會要求顯示卡效能)。對玩家而言,最好選擇獨立顯示卡。不過,如果不玩大型遊戲,CPU內建核心顯示卡也基本能滿足要求。缺點: 系統功耗有所加大,發熱量也較大,額外購買

電源:將電壓220伏的市電轉換為低等電壓,然後送到主機板及各個硬體!供電!電腦執行需要電力,而電源就是為此供電的,也可以說它在為電腦提供一切動力。電源決定了電腦的穩定性。它和人體心臟功能類似,都是提供動力的核心。

網絡卡: 讓我們上網的,一般整合在主機板上。

其他..........................

說了這麼多,其實最最重要的裝置是什麼呢? CPU、硬碟、記憶體。

現在來說一下CPU、硬碟、記憶體三者之間的關係。

首先 ,我們先回想一下三者的作用:

CPU:是計算機的運算核心和控制核心,讓電腦的各個部件順利工作,起到協調和控制作用。
硬碟:儲存資料和軟體等資料的裝置,有容量大,斷電資料不丟失的特點。也被人們稱之為“資料倉庫”。
記憶體:1. 負責硬碟等硬體上的資料與CPU之間資料交換處理;2. 快取系統中的臨時資料。3. 斷電後資料丟失。

然後, 再來看一下電腦應用程式是如何執行起來的。

當我們在電腦上開啟QQ時(右鍵-開啟 或者雙擊QQ圖示),其實是通過滑鼠(輸入裝置)向CPU傳送了一條命令,CPU接收到這條命令後,QQ程式就從硬盤裡被載入到記憶體(載入時不通過處理器,直接從硬碟載入程式到記憶體裡),載入完成後,CPU就開始執行QQ程式。程式執行起來後,CPU可以讓QQ程式顯示在我們的在顯示器上。也就是你看到了QQ 程式執行起來了。如果這個時候,你用QQ截取了一張螢幕的圖片,那麼這張圖片會首先儲存到記憶體,在沒有退出截圖狀態時,你可以在這張圖片上寫字、畫線條,等你右鍵儲存這張圖片的時候,這張圖片就會儲存到硬盤裡。

通過了解一個程式是如何執行起來的,我們就可以瞭解三者是如何工作的 。

可能有些人會不明白,如果程式是這樣執行起來的話,那麼為什麼CPU不直接在硬盤裡執行程式,而非要把程式放到記憶體後在執行呢?

這裡是有原因的。我們先來看幾張圖:

好點的企業用機械硬碟 :                                        

一般的固態硬碟:

記憶體的讀寫速度:

 

通過上圖我們可以看出,記憶體存取資料的速度比硬碟的存取速度快了10倍, 在某些環境裡,硬碟和記憶體之間的速度差距可能會更大。

而CPU的速度比記憶體不知還要快多少倍。當我們把程式從硬碟放到記憶體以後,CPU就直接在記憶體執行程式,這樣比CPU直接在硬碟執行程式就要快很多。

記憶體解決了一部分CPU執行過快,而硬碟資料存取太慢的問題。 提高了我們的電腦的執行速度。

記憶體就如同一條“高速車道”一般,資料由傳輸速度較慢的硬碟通過這條高速車道傳送至CPU進行處理!

但記憶體是帶電儲存的(一旦斷電資料就會消失),而且容量有限,所以要長時間儲存程式或資料就需要使用硬碟。

其實記憶體在這裡起了兩個作用:

1.  儲存從硬碟讀取的資料,提供給CPU使用

2. 儲存CPU的一些臨時執行結果,以便CPU下次使用或儲存到硬碟

三者之間的關係:

簡單來說,硬碟用來儲存我們的程式和資料,當我們執行程式的時候,CPU首先接受到我們的命令,之後CPU是告訴硬碟,我要執行你儲存的程式A,你把程式A送到記憶體去。CPU對記憶體說,我讓硬碟把程式A送到你這裡來了,你儲存一下。 等程式A被完整的送到記憶體之後。CPU就開始執行程式A。

過程就像上面說的,我們在舉一個接近我們生活的例子。

如果說把硬碟比喻成一個大倉庫,CPU比喻成加工車間,那麼記憶體就是一個臨時的小倉庫。從距離上來說, 相比記憶體到CPU的距離和硬碟到記憶體的距離,記憶體和CPU的距離更短。

硬碟(大倉庫)用來儲存車間需要用的原料和最終生產出來的商品。倉庫太大,取出原料和儲存商品太慢,耗時間。

記憶體(臨時小倉庫):原料會先放到這裡,小倉庫,可以很快的找到需要的原料或商品。

CPU(車間):從記憶體(小倉庫)裡拿到原料,生產商品。中間會有半成品,半成品可以放在記憶體(小倉庫)裡。

以這種方式,車間的生產速度就會提高。

參考圖

<<<----------------------------------------------------------------------------------------------->>>

CPU、記憶體、硬碟、指令以及他們之間的關係

讀《程式是怎樣跑起來的》以及《深入理解計算機系統》的3、6、9章節後對計算機的組成有了更深入細緻的瞭解,現總結一下對CPU、記憶體、硬碟、指令的理解及他們之間的關係。

1、CPU

CPU是英文Central Processing Unit(中央處理器)的縮寫,相當於計算機的大腦,它是解釋和執行程式的。CPU的內部由暫存器、控制器、運算器和時鐘四個部分構成,各部分之間由電流訊號相互連通。 
● 暫存器可用來暫存指令、資料等處理物件。 
● 控制器負責把記憶體上的指令、資料等讀入暫存器,並根據指令的執行結果來控制整個計算機。 
● 運算器負責運算從記憶體讀入暫存器的資料。 
● 時鐘負責發出CPU開始計時的時鐘訊號。時鐘訊號英文叫做clock puzzle。Pentium 2GHz表示時鐘訊號的頻率為2GHz(1GHz = 10億次/秒)。也就是說,時鐘訊號的頻率越高,CPU的執行速度越快。

到目前為止,我們看到的計算機系統只限於機器語言程式級。我們知道處理器必須執行一系列指令,每條指令執行某個簡單操作。指令被編碼為由一個或多個位元組序列組成的二進位制格式。一個處理器支援的指令和指令的位元組級編碼稱為它的指令集體系結構(Instruction-Set Architecture,ISA)。一個程式編譯成在一種機器上執行,就不能再另一種機器上執行。

2 記憶體

通常所說的記憶體指的是計算機的主儲存器(main memory),簡稱主存。主存通過控制晶片等與CPU相連,主要負責儲存指令和資料。主存由可讀寫的元素構成,每個位元組(1位元組 = 8位)都帶有一個地址編號。CPU可以通過地址讀取主存中的指令和資料,當然也可以寫入資料。但是,主存中儲存的指令和資料會隨著計算機的關機而自動清除。 
《深入理解計算機系統》第6章介紹了儲存器層次結構,從中可以瞭解到記憶體內部也是有層次結構的,即:L1快取記憶體、L2快取記憶體、L3快取記憶體以及主存。儲存器層次結構的中心思想是,每一層都快取來自較低一層的資料物件。例如主存作為本地磁碟上資料的快取,L1作為L2的資料快取,依次類推,直到最小的快取——CPU暫存器集合。

3硬碟

磁碟是廣為應用的儲存大量資料的儲存裝置,儲存資料的數量級可以達到幾百到幾千千兆位元組,而記憶體的容量卻只能有幾百或幾千兆位元組。不過從磁碟上讀資訊的時間為毫秒級,從記憶體讀資訊比磁碟快10萬倍或100萬倍。 
磁碟是由碟片(platter)構成的。每個碟片有兩面,其表面覆蓋著磁性記錄材料。碟片中英有一個可以旋轉的主軸,它使得碟片以固定的旋轉速率旋轉,通常是5400~15000轉每分鐘。磁碟通常包含一個或多個這樣的碟片,並封裝在一個密封的容器內。 
如下圖展示了一個典型的磁碟表面的結構。每個表面是由一組稱為磁軌的同心圓組成的。每個磁軌被劃分為一組扇區。每個扇區包含相等數量的資料位(通常是512位元組)。 
這裡寫圖片描述

磁碟用讀/寫頭來讀寫儲存在磁性表面的位,而讀寫頭連線到一個轉動臂一端,如下圖a所示。通過沿著半徑軸前後移動這個轉動臂,驅動器可以將讀/寫頭定位在盤面上的任何磁軌上。這樣的機械運動成為尋道。 
這裡寫圖片描述

4、指令

指令是計算機CPU真正執行的資料,也就是計算機執行的機器程式碼,用位元組序列編碼低階的操作。 
指令是由指令集架構定義的單個的CPU操作。在更廣泛的意義上,指令可以是任何可執行程式元素的表屬,例如位元組碼。指令包括一個操作碼——它指定了要進行什麼樣的操作。

它們之間的關係如下圖所示:

瞭解了它們的概念後 
為什麼CPU要從記憶體中取資料而不直接從硬碟取資料呢?因為CPU的運算速度太快,而硬碟是通過機械的方式讀取資料因此速度很慢。如果直接從硬碟讀取資料CPU的工作效率就很低。為了提高CPU的工作效率,就設計出了儲存器的層次結構,在CPU處理程式的過程中,可以將下一步要執行的指令預載入並快取。 
當計算機執行程式時(如下圖所示),首先,會通過IO匯流排將程式指令和資料載入到記憶體中,其次,CPU通過匯流排從記憶體中獲取指令和資料並將其存放在CPU內部的暫存器中。最後,在CPU內部根據指令在運算器中對資料進行操作。 
這裡寫圖片描述