1、記憶體如何與處理器運作
中央處理器(CPU)常被稱為電腦的大腦。所有電腦的工作都在此完成。
晶片組(Chipset)支援中央處理器的運作。通常晶片組內(nèi)包括數(shù)個控制器以調(diào)節(jié)處理器及系統(tǒng)其他部分間數(shù)據(jù)的傳輸。
記憶體控制器(Memory Controller)是晶片組的一部分。負責建立記憶體與中央處理器之間的信息傳輸。
匯流排(bus)是電腦中的數(shù)據(jù)通路,包括了連接中央處理器、記憶體以及所有輸入/輸出設備的數(shù)種平行電路線。匯流排的設計,或稱匯流排結(jié)構(gòu),決定數(shù)據(jù)在主機板速度,依照各部分所需要的傳輸速度的不同,一個系統(tǒng)中也有不同種類的匯流排。記憶體匯流排連接記憶體控制器與電腦的記憶體插槽。較新的系統(tǒng)中記憶體匯流排結(jié)構(gòu)包括了一個連接CPU與主記憶體的Frontside bus(FSB)以及一個連接記憶體與L2快速緩沖貯存區(qū)的backside bus(BSB)。
(1)記憶體速度
當中央處理器需要記憶體中的信息時,它會發(fā)出一個由記憶體控制器所執(zhí)行的要求,記憶體控制器接著將要求發(fā)送至記憶體,并在信息備妥時向中央處理器報告,整個周期從中央處理器到記憶體控制器、記憶體再回到中央處理器,所需的時間會因為記憶體速度以及其他因素而有所不同,例如匯流排速度。
記憶體速度有時以MHz來計算,或以存取速度來說,送出數(shù)據(jù)所需的實際時間(以ns計算),不管是MHz或是納秒,記憶體速度代表記憶體模組在收到要求時送出信息的速度。
A、存取時間(納秒):存取時間從記憶體模組收到數(shù)據(jù)要求算起,到數(shù)據(jù)準備完成為止。記憶體模組標明的存取時間通常在50ns到80ns的范圍中間,存取時間(以納秒計算)數(shù)字越小,表示速度越快。
舉例來說,記憶體控制器向記憶體要求數(shù)據(jù),記憶體在70ns后做出反應,中央處理器在大約125秒后收到信息。所以,當使用70ns記憶體模組時從中央處理器下達要求到實際收到資訊所需的全部時間為195ns。這是因為記憶體控制器需要時間來處理信息并且信息必須從記憶體模組傳送到中央處理器的緣故。
B、兆赫(MHz):由于同步DRAM科技,記憶體晶片能夠和電腦的系統(tǒng)時鐘同步,使以MHz計算速度更為簡易。由于MHz也被用于計算系統(tǒng)的其他部分的速度,使得它更容易被用來比較不同元件的速度與同步的功能。
C、系統(tǒng)時鐘:系統(tǒng)時鐘裝置于主機板上,它像節(jié)拍器一樣規(guī)率性地對電腦的其他部分送出訊號。它的頻率通常以方波圖形表示,但是真正的時鐘訊號在示波器上顯示的圖形跟正弦波比較相似。波形圖中的每個波長稱為一個“時鐘周期”。一個系統(tǒng)時鐘以100MHz運作代表每秒包括了一百萬時鐘周期。電腦中的每項操作都以時鐘周期來計時,而每個動作都需要特定數(shù)目的時鐘周期來完成。舉例來說,處理記憶要求時,記憶體控制器便能像中央處理器回報所要求的數(shù)據(jù)將在六個時鐘周期后送達。
中央處理器以及其他設備可能以高于或低于系統(tǒng)時鐘的速度運作,不同速度的各部份的同步化只需要一個倍數(shù)或因數(shù)。舉例而言,當一個100MHz的系統(tǒng)時鐘與400MHz的中央處理器互動時,兩個設備都了解一個系統(tǒng)時鐘的周期等于四個中央處理器的周期,于是它們使用因子4來將指令同步化。
許多人認定處理器的速度就是電腦的速度,但是絕大多數(shù)的時候,系統(tǒng)匯流排以及電腦的其他配件以不同的速度運作。
(2)追求最高性能
近幾年來,電腦處理器的速度大幅度的提升,處理器速度的提升提高了電腦的整體性能表現(xiàn)。但是,處理器只是電腦的一部分并且需要依賴其他電腦中的配件來完成操作。由于中央處理器所處理的信息必須從記憶體中讀寫,信息在處理器以及記憶體間的傳送速度大幅影響電腦的整體表現(xiàn)。
于是,更快速的記憶體技術對整體性能表現(xiàn)有重大的貢獻 但是提高記憶體速度只是解決方案的一部份,信息在處理器以及記憶體間傳送所花的時間通常比處理器執(zhí)行功能所花的時間更長,這個部分所介紹的技術與改革都是為了提升記憶體與處理器間數(shù)據(jù)傳輸?shù)乃俣取?
2、快速緩沖貯存記憶體(Cache Memory)
快速緩沖貯存區(qū)是一個位置非常接近中央處理器的較小容量的高速記憶體?焖倬彌_貯存區(qū)是為了向中央處理器供應最常被要求的指令以及數(shù)據(jù)所設,由于從快速緩沖貯存區(qū)取得資料所需時間只是從主記憶體取得數(shù)據(jù)所需時間的幾分之一,快速緩沖貯存區(qū)的設置能夠節(jié)省許多時間。如果所需要的信息并不在快速緩沖貯存區(qū),電腦仍需到主記憶體中搜尋,但是由于查詢快速緩沖貯存區(qū)所需的時間極短,所以仍然是值得的。就如你需要食物時會先檢查冰箱是否有需要的食物,因為檢查冰箱并不花很多時間。
快速緩沖貯存區(qū)依據(jù)80/20規(guī)則運作,在電腦的所有的程序、信息以及數(shù)據(jù)里,百分之八十的時候只有百分之二十信息被使用,這百分之二十可能包括發(fā)送或刪除電子郵件,將檔案儲存至硬盤或辨識鍵盤上被碰觸的按鍵所需要的程序碼。另一方面,其余的百分之八十的數(shù)據(jù)被使用的時間只有百分之二十。由于中央處理器正在使用的數(shù)據(jù)以及指令很可能會被再度使用,設置快速緩沖貯存記憶體是合理的。
(1)快速緩沖記憶體如何運作
快速緩沖記憶體就像中央處理器所需要的指示的“排行榜”。記憶體控制器將中央處理器所要求的所有指令儲存在快速緩沖記憶體內(nèi),每當中央處理器在快速緩沖記憶體中找到所需要的資料稱為一個cache hit,該指令便被提高到“排行榜”的頂端,當快速緩沖記憶體已滿而中央處理器要求新指令時,系統(tǒng)便將之取代快速緩沖貯存區(qū)中最久未被使用的數(shù)據(jù),于是經(jīng)常使用的最優(yōu)先數(shù)據(jù)被保留在快速緩沖記憶體而將較不常使用的數(shù)據(jù)退出。
(2)快速緩沖記憶體等級
目前,大部分的快速緩沖記憶體已經(jīng)被包括在處理器晶片本身當中,但是也有其他的形式。有時,系統(tǒng)可能有置于處理器中的快速緩沖儲存記憶體,在處理器外的主機板,以及/或是靠近中央處理器,含有一個快速緩沖貯存記憶體模組的快速緩沖貯存記憶體插槽。在每個種類的配置中,每個快速緩沖貯存記憶體都依與處理器的距離而有等級的不同。舉例而言,最靠近處理器的快速緩沖貯存記憶體稱為Level 1/L1 Cache,下一級快速緩沖貯存區(qū)稱為L2、L3,并以此類推。除了快速緩沖貯存記憶體外,電腦通常有其他的快速緩沖儲存設備,舉例而言,系統(tǒng)有時便以主記憶體做為硬盤的快速緩沖儲存區(qū),雖然在此我們不討論這種情況,但是必須注意到快速緩沖貯存區(qū)可能特別用來稱呼記憶體或是其他儲存技術。
你可能會想,既然靠近處理器的快速緩沖記憶體這么方便,為何并非所有的主記憶體都使用快速緩沖記憶體? 首先,快速緩沖貯存記憶體通常使用一種稱為SRAM (Static RAM)的記憶體晶片,和主記憶體所使用的DRAM相比,它比較昂貴,同時每MB也需要更多空間。并且,快速緩沖貯存區(qū)只能提高整體系統(tǒng)性能表現(xiàn)到一定程度,快速緩沖貯存記憶體的真正利益在于儲存最常用的指示。較大的快速緩沖貯存區(qū)能夠儲存較多的數(shù)據(jù)但如果這些數(shù)據(jù)不常被使用,將其至于處理器附近并沒有太大利益。
主記憶體達成中央處理器所發(fā)出的記憶要求需要195ns的時間,外部快速緩沖貯存區(qū)只需要45ns便能達成所中央處理器所發(fā)出的要求。
3、主機板配置
或許你已經(jīng)發(fā)現(xiàn),記憶體模組在主機板上的配置對系統(tǒng)性能表現(xiàn)有直接的影響。由于區(qū)域記憶體必須儲存中央處理器所需的所有數(shù)據(jù),記憶體以及中央處理器間數(shù)據(jù)傳送的速度對于系統(tǒng)的整體性能表現(xiàn)便有決定性的影響。由于中央處理器與記憶體間數(shù)據(jù)交換的時間計算是如此復雜,處理器與記憶體間的距離便成為決定性能表現(xiàn)的另一個不可或缺的條件。
(1)Interleaving
Interleaving指中央處理器與兩個或多個Memory Bank輪流通訊的過程。Interleaving技術主要使用于較大規(guī)模的系統(tǒng)中,例如服務器與工作站。以下是它的運作方式:每當中央處理器對一個記憶庫提出要求,該記憶庫需要一個時鐘周期的重設時間,中央處理器便在該處理器重設的同時對第二個處理器提出要求,藉以節(jié)省工作時間。Interleaving也能夠在晶片中運作以提高性能表現(xiàn),舉例來說,SDRAM中的記憶單位便被分成兩個能夠同時運作的獨立記憶單位組,兩個記憶單位組間的Interleaving便能創(chuàng)造持續(xù)的數(shù)據(jù)流通,這個過程縮短了記憶體周期的長度并達到更快的傳輸速度。
(2)Bursting
Bursting是另一個節(jié)省時間的技術。Bursting的目的是提供中央處理器可能需要的額外數(shù)據(jù),于是相對于一次從記憶體中取得一部分信息,電腦自記憶體中數(shù)個連續(xù)位址取得一組信息,這個程序節(jié)省時間。由于統(tǒng)計上的可能性顯示處理器所要求的下一個數(shù)據(jù)位置可能與前一個是連續(xù)的,這樣一來,中央處理器便能得到所需的所有指令而不需要一一要求。Bursting能夠應用在不同種類的記憶體以及讀寫數(shù)據(jù)的操作上。
(3)Pipelining
Pipelining是電腦將操作分成一系列部分完成程序的處理技術。透過將較大的操作分成較小而部份重疊的操作,Pipelining被使用于將性能表現(xiàn)提高于非Pipeline操作方式的極限。Pipeline程序啟動后,除了通過的程序數(shù)目外,指令的執(zhí)行率也較高。
進一步信息,請訪問金士頓科技(KINGSTON TECHNOLOGY)有限公司http://www.kingston.com/china/tools/UMG/default.asp。