特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦>學習電腦>電腦硬件知識>內(nèi)存知識>

電腦內(nèi)存實用基礎知識

時間: 懷健0 分享

內(nèi)存(Memory)也被稱為內(nèi)存儲器,其作用是用于暫時存放CPU中的運算數(shù)據(jù),以及與硬盤等外部存儲器交換的數(shù)據(jù)。計算機中所有程序的運行都是在內(nèi)存中進行的,因此內(nèi)存的性能對計算機的影響非常大。下面就讓小編帶你去看看電腦內(nèi)存實用基礎知識,希望能幫助到大家!

你不知道的內(nèi)存知識

一、CPU與內(nèi)存

先鋪墊幾個概念,以免后面混亂:

Socket或Processor: 指一個物理CPU芯片,盒裝還是散裝的。上面有很多針腳,直接安裝在主板上。

Core : 指在Processor里封裝一個CPU核心,每個Core都是完全獨立的計算單元,我們平時說的4核心CPU,指的就是Processor里面封裝了4個Core。

HT超線程:目前Intel與AMD的Processor大多支持在一個Core里并行執(zhí)行兩個線程,此時從操作系統(tǒng)看就相當于兩個邏輯CPU(Logical Processor)。大多數(shù)情況下,我們程序里提到的CPU概念就是指的這個Logical Processor。

咱們先來看幾個問題:

1、CPU可以直接操作內(nèi)存嗎?

可能一大部分老鐵肯定會說:肯定的啊,不能操作內(nèi)存怎么讀取數(shù)據(jù)呢。

其實如果我們用這聰明的大腦想一想,咱們的臺式主機大家肯定都玩過。上面CPU和內(nèi)存條是兩個完全獨立的硬件啊,而且CPU也沒有任何直接插槽用于掛載內(nèi)存條的。

也就是說,CPU和內(nèi)存條是物理隔離的,CPU并不能直接的訪問內(nèi)存條,而是需要借助主板上的其他硬件間接的來實現(xiàn)訪問。

2、CPU的運算速度和內(nèi)存條的訪問速度差距有多大?

呵呵呵,這么說吧,就是一個鴻溝啊,CPU的運算速度與內(nèi)存訪問速度之間的差距是100倍。

而由于CPU與內(nèi)存之間的速度差存在N個數(shù)量級的巨大鴻溝,于是CPU最親密的小伙伴Cache 閃亮登場了。與DRAM 家族的內(nèi)存(Memory)不同,Cache來自SRAM家族。

而DRAM與SRAM的最簡單區(qū)別就是后者特別快,容量特別小,電路結構非常復雜,造價特別高。

而Cache與主內(nèi)存之間的巨大性能差距主要還是工作原理與結構不同:

DRAM存儲一位數(shù)據(jù)只需要一個電容加一個晶體管,SRAM則需要6個晶體管。

由于DRAM的數(shù)據(jù)其實是被保存在電容里的,所以每次讀寫過程中的充放電環(huán)節(jié)也導致了DRAM讀寫數(shù)據(jù)有一個延時的問題,這個延時通常為十幾到幾十ns。

內(nèi)存可以被看作一個二維數(shù)組,每個存儲單元都有其行地址和列地址。

由于SRAM的容量很小,所以存儲單元的地址(行與列)比較短,可以被一次性傳輸?shù)絊RAM中。DRAM則需要分別傳送行與列的地址。

SRAM的頻率基本與CPU的頻率保持一致,而DRAM的頻率直到DDR4以后才開始接近CPU的頻率。

3、Cache 是怎么使用的?

其實Cache 是被集成到CPU內(nèi)部的一個存儲單元(平時也被我們稱為高速緩存),由于其造價昂貴,并且存儲容量遠遠不能滿足CPU大量、高速存取的需求。

所以出于對成本的控制,在現(xiàn)實中往往采用金字塔形的多級Cache體系來實現(xiàn)最佳緩存效果。

于是出現(xiàn)了,一級Cache(L1 Cache)、二級Cache(L2 Cache)及三級Cache(L3 Cache)。每一級都犧牲了部分性能指標來換取更大的容量,目的也是存儲更多的熱點數(shù)據(jù)。

以Intel家族Intel SandyBridge架構的CPU為例:

L1 Cache容量為64KB,訪問速度為1ns左右

L2Cache容量擴大4倍,達到256KB,訪問速度則降低到3ns左右

L3 Cache的容量則擴大512倍,達到32MB,訪問速度也下降到12ns左右(也比訪問主存的105ns(40ns+65ns)快一個數(shù)量級)

L3 Cache是被一個Socket上的所有CPU Core共享的,其實最早的L3 Cache被應用在AMD發(fā)布的K6-III處理器上,當時的L3 Cache受限于制造工藝,并沒有被集成到CPU內(nèi)部,而是被集成在主板上,如圖:

從上圖我們也能看出來,CPU如果要訪問內(nèi)存中的數(shù)據(jù),則需要經(jīng)過L1、L2、L3三道關卡,就是這三個Cache中都沒有需要的數(shù)據(jù),才會從主內(nèi)存中直接進行讀取。

最后我們來看下Intel Sandy Bridge CPU的架構圖:

二、多核CPU與內(nèi)存共享的問題

問題:Cache一致性問題

多核CPU共享內(nèi)存的問題也被稱為Cache一致性問題。

其實就是多個CPU核心看到的Cache數(shù)據(jù)應該是一致的,在某個數(shù)據(jù)被某個CPU寫入自己的Cache(L1 Cache)以后,其他CPU都應該能看到相同的Cache數(shù)據(jù)。

如果在自己的Cache中有舊數(shù)據(jù),則拋棄舊數(shù)據(jù)。

考慮到每個CPU都有自己內(nèi)部獨占的Cache,所以這個問題與分布式Cache保持同步的問題是同一類問題

目前業(yè)界公認的解決一致性問題的最佳方案就是Intel 的MESI協(xié)議了,大多數(shù)SMP架構都采用了這一方案。

解決方案:MESI

不知道大家還記得Cache Line 嗎,就是我們常說的高速緩存中緩存條目里面的那個緩存行。

其實仔細想想,在進行I/O操作從來不以字節(jié)為單位,而是以塊為單位,有兩個原因:

I/O 操作比較慢,所以讀一個字節(jié)與讀連續(xù)N個字節(jié)的花費時間基本相同

數(shù)據(jù)訪問一般都具有空間連續(xù)的特征

所以CPU針對Memory的讀寫也采用了類似于I/O塊的方式

實際上,CPU Cache(高速緩存)里最小的存儲單元就是Cache line(緩存行),Intel CPU 的一個Cache Line存儲64個字節(jié)。

每一級Cache都被劃分為很多組Cache Line,典型的情況就是4條Cache Line為一組。

當Cache從Memory中加載數(shù)據(jù)時,一次加載一條Cache Line的數(shù)據(jù)

如圖我們可以看到,每個Cache Line 頭部都有兩個Bit來標識自身狀態(tài),總共四種:

M(Modified):修改狀態(tài),在其他CPU上沒有數(shù)據(jù)的副本,并且在本CPU上被修改過,與存儲器中的數(shù)據(jù)不一致,最終必然會引發(fā)系統(tǒng)總線的寫指令,將Cache Line中的數(shù)據(jù)寫回Memory中。

E(E__clusive):獨占狀態(tài),表示當前Cache Line中的數(shù)據(jù)與Memory中的數(shù)據(jù)一致,此外,在其他CPU上沒有數(shù)據(jù)的副本。

S(Shared):共享狀態(tài),表示Cache Line中的數(shù)據(jù)與Memory中的數(shù)據(jù)一致,而且當前CPU至少在其他某個CPU中有副本。

I(Invalid):無效狀態(tài),在當前Cache Line中沒有有效數(shù)據(jù)或者該Cache Line數(shù)據(jù)已經(jīng)失效,不能再用;當Cache要加載新數(shù)據(jù)時,優(yōu)先選擇此狀態(tài)的Cache Line,此外,Cache Line的初始狀態(tài)也是I狀態(tài)

在對Cache(高速緩存)的讀寫操作引發(fā)了Cache Line(緩存行)的狀態(tài)變化,因而可以將其理解為一種狀態(tài)機模型。

但MESI的復雜和獨特之處在于狀態(tài)有兩種視角:

一種是當前讀寫操作(Local Read/Write)所在CPU看到的自身的Cache Line狀態(tài)及其他CPU上對應的Cache Line狀態(tài)

另一種是一個CPU上的Cache Line狀態(tài)的變遷會導致其他CPU上對應的Cache Line狀態(tài)變遷。

如下所示為MESI協(xié)議的狀態(tài)轉換圖:

具體MESI的實現(xiàn)過程可以看我另一篇文章:看懂這篇,才能說了解并發(fā)底層技術

深入理解不一致性內(nèi)存

MESI協(xié)議解決了多核CPU下的Cache一致性問題,因而成為SMP架構的唯一選擇,而SMP架構近幾年迅速在PC領域(__86)發(fā)展。

SMP架構是一種平行的架構,所有CPU Core都被連接到一個內(nèi)存總線上,它們平等訪問內(nèi)存,同時整個內(nèi)存是統(tǒng)一結構、統(tǒng)一尋址的。

如下所示給出了SMP架構的示意圖:

隨著CPU核心數(shù)量的不斷增加,SMP架構也暴露出天生的短板,其根本瓶頸是共享內(nèi)存總線的帶寬無法滿足CPU數(shù)量的增加,同時,在一條“馬路”上通行的“車”多了,難免會陷入“擁堵模式”。

不知道你是否聽說過總線風暴,可以看下:總線風暴

在這種情況下,分布式解決方案應運而生,系統(tǒng)的內(nèi)存與CPU進行分割并捆綁在一起,形成多個獨立的子系統(tǒng),這些子系統(tǒng)之間高速互聯(lián),這就是NUMA(None Uniform Memory Architecture)架構,如下圖所示。

可以看出,NUMA架構中的內(nèi)存被分割為獨立的幾塊,被不同CPU私有化了。

因此在CPU訪問自家內(nèi)存的時候會非???,在訪問其他CPU控制的內(nèi)存數(shù)據(jù)時,則需要通過內(nèi)部互聯(lián)通道訪問。

NUMA架構的優(yōu)點就是其伸縮性,就算擴展到幾百個CPU也不會導致性嚴重的下降。

NUMA技術的特點

在NUMA架構中引入了一個重要的新名詞——Node

一個Node由一個或者多個Socket Socket組成,即物理上的一個或多個CPU芯片組成一個邏輯上的Node

我們來看一個Dell PowerEdge系列服務器的NUMA的架構圖:

從上圖可以看出其特點:

4個處理器形成4個獨立的NUMA Node由于每個Node都為8 Core,支持雙線程

每個Node里的Logic CPU數(shù)量都為16個,占每個Node分配系統(tǒng)總內(nèi)存的1/4

每個Node之間都通過Intel QPI(QuickPath Interconnect)技術形成了點到點的全互聯(lián)處理器系統(tǒng)

NUMA這種基于點到點的全互聯(lián)處理器系統(tǒng)與傳統(tǒng)的基于共享總線的處理器系統(tǒng)的SMP還是有巨大差異的。

在這種情況下無法通過嗅探總線的方式來實現(xiàn)Cache一致性,因此為了實現(xiàn)NUMA架構下的Cache一致性,Intel引入了MESI協(xié)議的一個擴展協(xié)議——MESIF

針對NUMA的支持

NUMA架構打破了傳統(tǒng)的“全局內(nèi)存”概念,目前還沒有任意一種編程語言從內(nèi)存模型上支持它,當前也很難開發(fā)適應NUMA的軟件。

Java在支持NUMA的系統(tǒng)里,可以開啟基于NUMA的內(nèi)存分配方案,使得當前線程所需的內(nèi)存從對應的Node上分配,從而大大加快對象的創(chuàng)建過程

在大數(shù)據(jù)領域,NUMA系統(tǒng)正發(fā)揮著越來越強大的作用,SAP的高端大數(shù)據(jù)系統(tǒng)HANA被SGI在其UV NUMA Systems上實現(xiàn)了良好的水平擴展

在云計算與虛擬化方面,OpenStack與VMware已經(jīng)支持基于NUMA技術的虛機分配能力,使得不同的虛機運行在不同的Core上,同時虛機的內(nèi)存不會跨越多個NUMA Node

內(nèi)存的一些簡單入門知識

首先是大家都知道的,也是百度百科的資料,內(nèi)存是什么?

內(nèi)存條是連接CPU 和其他設備的通道,起到緩沖和數(shù)據(jù)交換作用。 當CPU在工作時,需要從硬盤等外部存儲器上讀取數(shù)據(jù),但由于硬盤這個“倉庫”太大,加上離CPU也很“遠”,運輸“原料”數(shù)據(jù)的速度就比較慢,導致CPU的工作效率大打折扣!為了解決這個問題,人們便在CPU與外部存儲器之間,建了一個“小倉庫”——內(nèi)存。

內(nèi)存的特點是存儲速度快。內(nèi)存是電腦中的主要部件,它是相對于外存而言的。我們平常使用的程序,如QQ、瀏覽器、游戲,包括WINDOWS系統(tǒng),一般都是安裝在硬盤等外存上的,但僅此是不能使用其功能的,必須把它們調(diào)入內(nèi)存中運行,才能真正使用其功能,我們平時輸入一段文字,或玩一個游戲,其實都是在內(nèi)存中進行的。就好比在一個書房里,存放書籍的書架或書柜相當于電腦的外存,而我們工作的辦公室就是內(nèi)存。通常我們把要永久保存的、大量的數(shù)據(jù)存在外存上,當然內(nèi)存的好壞會直接影響電腦的運行速度。

內(nèi)存的發(fā)展歷史

內(nèi)存分為DRAM和ROM兩種,前者又叫動態(tài)隨機存儲器,它的一個主要特征是斷電后數(shù)據(jù)會丟失,我們平時說的內(nèi)存就是指這一種;后者又叫只讀存儲器,我們平時開機首先啟動的是存于主板上ROM中的BIOS程序,然后再由它去調(diào)用硬盤中的Windows,ROM的一個主要特征是斷電后數(shù)據(jù)不會丟失。

而我們平時所說的“內(nèi)存條”則隸屬于DRAM類別下的SDRAM家族。

第一代 SDR SDRAM

第二代 DDR SDRAM

第三代 DDR2 SDRAM

第四代 DDR3 SDRAM

第五代DDR4 SDRAM

我們現(xiàn)在常用的DDR4就是第五代內(nèi)存了!

關于內(nèi)存頻率、時序還有電壓的一些解釋

所謂內(nèi)存頻率,就是我們經(jīng)常說的某某品牌,DDR4 2133、2400、2666…等等,后面這些數(shù)字就是內(nèi)存頻率。

一般情況下,內(nèi)存頻率的高低,決定了內(nèi)存性能的強弱。內(nèi)存頻率越高,內(nèi)存帶寬也就越高,正常工作的速度會更快。

關于內(nèi)存時序,也就是我們在CPU-Z里面所看到的數(shù)字了。

內(nèi)存時序是描述內(nèi)存條性能的一種參數(shù),一般存儲在內(nèi)存條的SPD中。這些參數(shù)設置的越小,內(nèi)存處理數(shù)據(jù)越快,但是也越不穩(wěn)定;反之較慢,但是穩(wěn)定性提高,因此需要設置合適的內(nèi)存時序。一般DDR4 2133的內(nèi)存默認時序是15-15-15-35…

關于內(nèi)存電壓,每代內(nèi)存電壓都是有一個標準范圍的。比如我們現(xiàn)在用的DDR4內(nèi)存電壓默認為1.2V,超頻也最好不要超過1.5V;而DDR3的內(nèi)存則是從1.5-2.0V;DDR2則是2V起步。

現(xiàn)在內(nèi)存所支持的__MP是什么?

Intel __MP全名是E__treme Memory Profile,是針對DDR3模塊而推出的一項認證。

其主要功能就是高階的內(nèi)存設定,內(nèi)存廠商除了會在內(nèi)存預設普通的SPD值外,另外亦會寫入更為高速的設定。當然,廠商們可以任意替旗下的內(nèi)存模塊寫進更加高速的設定,但這樣就沒有任何穩(wěn)定性的保證及標準,所以業(yè)界便引入__MP設計。

__MP會在內(nèi)存地址176-254中記錄內(nèi)存的速度,而最多可以保存2組的設定值。廠商們?nèi)缧枰玫絖_MP的認證,就必須把內(nèi)存及該設定送交Intel測試,通過后就會給予認證。Intel推出這個標準,其主要用意是針對高效能市場,玩家使用具備了__MP的內(nèi)存,就能夠直接提升工作平臺的效能。

內(nèi)存時序和頻率的一些問題?

這時候我們就需要舉個例子了,以宇瞻黑豹DDR4 2400的內(nèi)存和影馳名人堂HOF DDR4 2400內(nèi)存來對比。

延遲對比:

宇瞻黑豹DDR4 2400 16-16-16-36 CL16 延遲計算 (1/2400MHz)__16=6.67納秒

宇瞻黑豹DDR4 2133 15-15-15-35 CL15 延遲計算 (1/2400MHz)__15=6.25納秒

然后計算帶寬(按照雙通道計算,內(nèi)存帶寬128bit):

2400 : 2400MHz__128bit/8= 38400MB/S

2133 : 2133MHz__128bit/8= 34128MB/S

內(nèi)存延遲意味著內(nèi)存的反應速度。我們知道,CPU讀寫內(nèi)存的事情,首先是要告訴內(nèi)存,要讀寫某個地址的數(shù)據(jù),意味著CPU要先發(fā)送某個地址代碼給內(nèi)存,內(nèi)存接收到后,編譯準備好的這段時間為內(nèi)存延遲時間。

當內(nèi)存準備好了數(shù)據(jù)反饋給CPU,CPU開始讀寫內(nèi)存,這時候,內(nèi)存的帶寬是主要作用,一直到數(shù)據(jù)傳輸完成,然后重復上一步操作,這就是內(nèi)存和CPU的工作原理(簡單通俗的講,實際比這個復雜多了)

所以我們可以分兩種情況,當CPU讀寫內(nèi)存數(shù)據(jù)量很大,而且是連續(xù)的時候,內(nèi)存帶寬影響最大;當CPU讀寫的內(nèi)存數(shù)據(jù)非常零碎,且零碎數(shù)據(jù)很多,這時候的低延遲的內(nèi)存速度回更快。

這也解釋了核顯對于雙通道高頻內(nèi)存的需求,圖形數(shù)據(jù)一般都是大量并且連續(xù)的,AMD的APU需要高頻雙內(nèi)存的原理,就是這么來的。

關于內(nèi)存超頻的一些問題

內(nèi)存超頻跟內(nèi)存顆粒的體制是肯定有最為直接的關系的。然后還有就是主板bios的設計、主板bios的優(yōu)化水平,CPU集成的內(nèi)存控制器等等原因,都是有影響的!

我們所看到某些支持__MP內(nèi)存和主板,在某種程度上,可以認為是廠商預先保留的超頻選擇,直接在bios開啟即實現(xiàn)超頻。

當然,我們普通的內(nèi)存一樣是可以超頻的,具體要看實際平臺和內(nèi)存等等來操作,基本原理也就是時序、頻率和電壓了,每個人的情況都不一樣,需要自己去調(diào)試才行。

又到了學點內(nèi)存知識的季節(jié)

什么是DDR?

DDR,全稱:DDR SDRAM ,Double Data Rate Synchronous Dynamic Random Access Memary,即,雙數(shù)據(jù)速率同步動態(tài)隨機存取記憶體,也就是我們常用的內(nèi)存,它從SDRAM的基礎上發(fā)展起來,以后依次出現(xiàn)了DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM。它們的能效不斷提升。文章結尾附一張純良心內(nèi)存能效參數(shù)表。

DDR間有什么區(qū)別?

1、SDRAM

SDRAM內(nèi)部組成如,可見其組成可以分為幾個部分,存儲陣列、IO門控單元、行列地址解碼器、行列地址鎖存器、邏輯控制單元(包含模式寄存器)、數(shù)據(jù)輸入輸出寄存器等。

存儲矩陣內(nèi)部結構,以8位內(nèi)存單元為例,每個內(nèi)存單元的數(shù)據(jù)輸出是并聯(lián)在一起,通過行列地址線選中一個存儲單元,

存儲容量大小和數(shù)據(jù)位寬度、行地址、列地址、塊數(shù)量等的關系:

單片容量(bit)=單片位寬×行數(shù)×列數(shù)×塊數(shù)量

2、DDR SDRAM

DDR的內(nèi)部結構與SDRAM相比,數(shù)據(jù)讀寫部分改進比較大。其一,使用了兩位預讀取的技術;其二,增加了DLL(delay lock loop演示鎖定回路);其三,增加了數(shù)據(jù)掩碼控制和數(shù)據(jù)總線反轉控制;此外,時鐘信號和數(shù)據(jù)選通信號改為差分信號。

3、DDR2 SDRAM

DDR2 SDRAM整體布局變化不大,在輸入輸出數(shù)據(jù)總線接口上變化比較多。

DDR2在DDR的基礎上增加了ODT(on-die termination片上終結,即通過內(nèi)部邏輯選擇合適的終端電阻進行匹配)功能,預讀取提高到了4位,即每傳輸4個字節(jié)/字,只有第一個字節(jié)/字有潛伏期。

4、DDR3 SDRAM

DDR3 SDRAM在輸入輸出數(shù)據(jù)總線接口上繼續(xù)提升性能,在存儲結構上改進工藝,堆疊更多的存儲塊,提高單顆芯片的容量。

在功能上的改進有,增加了讀寫平衡功能。

圖7 讀寫時序平衡關系

5、DDR4 SDRAM

DDR4 SDRAM在輸入輸出數(shù)據(jù)總線接口上繼續(xù)改善性能,在存儲結構上繼續(xù)改進工藝,不僅堆疊更多的存儲塊,而且使用硅片穿孔工藝把把堆疊成的存儲塊進行并列放置,集中到一顆芯片中,提高單顆芯片的容量。

電腦內(nèi)存實用基礎知識相關文章:

電腦內(nèi)存基礎知識大全

內(nèi)存實用基礎大全

內(nèi)存基礎知識干貨

常見內(nèi)存型號基礎知識去全解

內(nèi)存條的基礎知識

內(nèi)存硬件基礎知識

電腦硬盤常用的基礎知識大全

生活常用電腦入門基礎知識大全

電腦基礎知識匯總大全

生活常用電腦入門必備知識大全

電腦內(nèi)存實用基礎知識

內(nèi)存(Memory)也被稱為內(nèi)存儲器,其作用是用于暫時存放CPU中的運算數(shù)據(jù),以及與硬盤等外部存儲器交換的數(shù)據(jù)。計算機中所有程序的運行都是在內(nèi)存中進行的,因此內(nèi)存的性能對計算機的影響非常大。下面就讓小
推薦度:
點擊下載文檔文檔為doc格式

精選文章

  • 內(nèi)存實用基礎大全
    內(nèi)存實用基礎大全

    對于電腦內(nèi)存,可能大家都覺得內(nèi)存影響不到游戲幀數(shù),但這其實是非常片面的。舉個例子,在玩絕地求生時,按下TAB鍵會卡頓或者游戲忽然掉幀,那就是

  • 內(nèi)存與外存關鍵區(qū)別知識科普
    內(nèi)存與外存關鍵區(qū)別知識科普

    首先簡要介紹一下計算機的存儲類型。在計算機的組成結構中,存儲器是其中最重要的部分之一。存儲器是用來存儲程序和數(shù)據(jù)的部件,它賦予計算機的記

  • 電腦內(nèi)存基礎必備知識
    電腦內(nèi)存基礎必備知識

    對于電腦內(nèi)存,可能大家都覺得內(nèi)存影響不到游戲幀數(shù),但這其實是非常片面的。舉個例子,在玩絕地求生時,按下TAB鍵會卡頓或者游戲忽然掉幀,那就是

819589