<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦>學習電腦>電腦硬件知識>內存知識>

        電腦內存實用基礎知識

        時間: 懷健0 分享

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

        你不知道的內存知識

        一、CPU與內存

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

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

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

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

        咱們先來看幾個問題:

        1、CPU可以直接操作內存嗎?

        可能一大部分老鐵肯定會說:肯定的啊,不能操作內存怎么讀取數據呢。

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

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

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

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

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

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

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

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

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

        內存可以被看作一個二維數組,每個存儲單元都有其行地址和列地址。

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

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

        3、Cache 是怎么使用的?

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

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

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

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

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

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

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

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

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

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

        二、多核CPU與內存共享的問題

        問題:Cache一致性問題

        多核CPU共享內存的問題也被稱為Cache一致性問題。

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

        如果在自己的Cache中有舊數據,則拋棄舊數據。

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

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

        解決方案:MESI

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

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

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

        數據訪問一般都具有空間連續的特征

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

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

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

        當Cache從Memory中加載數據時,一次加載一條Cache Line的數據

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

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

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

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

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

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

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

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

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

        如下所示為MESI協議的狀態轉換圖:

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

        深入理解不一致性內存

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

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

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

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

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

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

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

        因此在CPU訪問自家內存的時候會非常快,在訪問其他CPU控制的內存數據時,則需要通過內部互聯通道訪問。

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

        NUMA技術的特點

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

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

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

        從上圖可以看出其特點:

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

        每個Node里的Logic CPU數量都為16個,占每個Node分配系統總內存的1/4

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

        NUMA這種基于點到點的全互聯處理器系統與傳統的基于共享總線的處理器系統的SMP還是有巨大差異的。

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

        針對NUMA的支持

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

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

        在大數據領域,NUMA系統正發揮著越來越強大的作用,SAP的高端大數據系統HANA被SGI在其UV NUMA Systems上實現了良好的水平擴展

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

        內存的一些簡單入門知識

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

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

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

        內存的發展歷史

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

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

        第一代 SDR SDRAM

        第二代 DDR SDRAM

        第三代 DDR2 SDRAM

        第四代 DDR3 SDRAM

        第五代DDR4 SDRAM

        我們現在常用的DDR4就是第五代內存了!

        關于內存頻率、時序還有電壓的一些解釋

        所謂內存頻率,就是我們經常說的某某品牌,DDR4 2133、2400、2666…等等,后面這些數字就是內存頻率。

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

        關于內存時序,也就是我們在CPU-Z里面所看到的數字了。

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

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

        現在內存所支持的__MP是什么?

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

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

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

        內存時序和頻率的一些問題?

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

        延遲對比:

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

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

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

        2400 : 2400MHz__128bit/8= 38400MB/S

        2133 : 2133MHz__128bit/8= 34128MB/S

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

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

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

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

        關于內存超頻的一些問題

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

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

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

        又到了學點內存知識的季節

        什么是DDR?

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

        DDR間有什么區別?

        1、SDRAM

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

        存儲矩陣內部結構,以8位內存單元為例,每個內存單元的數據輸出是并聯在一起,通過行列地址線選中一個存儲單元,

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

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

        2、DDR SDRAM

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

        3、DDR2 SDRAM

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

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

        4、DDR3 SDRAM

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

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

        圖7 讀寫時序平衡關系

        5、DDR4 SDRAM

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

        電腦內存實用基礎知識相關文章:

        電腦內存基礎知識大全

        內存實用基礎大全

        內存基礎知識干貨

        常見內存型號基礎知識去全解

        內存條的基礎知識

        內存硬件基礎知識

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

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

        電腦基礎知識匯總大全

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

        電腦內存實用基礎知識

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

        精選文章

        • 內存實用基礎大全
          內存實用基礎大全

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

        • 內存與外存關鍵區別知識科普
          內存與外存關鍵區別知識科普

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

        • 電腦內存基礎必備知識
          電腦內存基礎必備知識

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

        819589
        主站蜘蛛池模板: 国内精品免费久久久久电影院97| 男女真人国产牲交a做片野外| 在线观看无码av免费不卡网站| 蜜桃mv在线播放免费观看视频| 2021中文字幕亚洲精品| 久久caoporn国产免费| 91精品免费久久久| 中文字幕日韩有码国产| 青青草视频华人绿色在线| 2023国产一线二线三线区别| 国产亚洲精品AA片在线播放天| 久久青草国产精品一区| 国产中文99视频在线观看| 国产高清小视频一区二区| 国产精品99中文字幕| 欧洲精品色在线观看| 国产免费无遮挡吸奶头视频| 中文字幕va一区二区三区| 久久夜色精品国产亚洲a| 欧洲精品亚洲精品日韩专区| 四虎永久免费精品视频| 忘忧草在线社区www中国中文| 亚洲国产天堂久久综合226114| 羞羞影院午夜男女爽爽免费视频| 又爽又黄又无遮挡的视频| 免费播放一区二区三区| A级毛片无码久久精品免费| 免费激情网址| 国产精品白丝久久AV网站| 成年大片免费视频观看| 无码人妻丰满熟妇精品区| 亚洲国产精品500在线观看| 大地资源免费视频观看| 久久综合国产精品一区二区| 狠狠色婷婷久久综合频道日韩| 久久国产精品乱子乱精品| 色综合色综合久久综合频道| 亚洲国产成人综合自在线| 好男人官网资源在线观看| 亚洲欧美中文字幕5发布| 欧美成人精品 一区二区三区|