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

學習啦 > 學習電腦 > 電腦硬件知識 > 內存知識 >

計算機內存基礎硬核知識

時間: 懷健20 分享

我們都知道,計算機是處理數據的設備,而數據的主要存儲位置就是磁盤和內存,并且對于程序員來講,CPU 和內存是我們必須了解的兩個物理結構,它是你通向高階程序員很重要的橋梁,下面就讓小編帶你去看看計算機內存基礎硬核知識,希望能幫助到大家!

電腦基礎知識,新手入門最全電腦知識干貨

一、電腦軟硬件基礎知識

1、CPU型號怎么看?

CPU是一臺電腦的核心,而目前筆記本市場基本被Intel(英特爾)的CPU壟斷。而Intel的CPU型號命名還算比較有規(guī)律。

以i7-6920HQ為例:

四位數的頭一個數字是6指的是代際,也就是是英特爾第六代處理器。目前英特爾在市面上是4、5、6三代處理器并存。老于4代的處理器現在比較少見,一般也不推薦。

920是它的SKU值,可以理解為是一個編號。用來區(qū)分不同性能的CPU型號。

數字后面緊跟著的字母是H,代表的是處理器的功耗/性能類別。類似的有U(超低功耗15W)、M(僅出現在5代以前)、H(高性能35W/45W)。需要注意的是:功耗大不僅意味著更大的耗電量,也表示CPU的發(fā)熱量越大。進而對筆記本的散熱系統(tǒng)有更高的要求。所以主打高性能的筆記本(比如游戲本),幾乎沒有輕薄、長續(xù)航的。

最后一個產品線后綴,有Q(四核處理器)、K(開放超頻)兩種情況。而雙核、不可超頻的處理器沒有這個后綴,也是最常見的。

什么?看完了還是不懂怎么選?簡單來說,如果你在乎功耗(省電)的話,代際越新越省電。比如6代比4代更省電。而在同一代中,U比H省電,而H又比HQ/HK省電。

2、關于電腦性能

如果你想了解性能的話,這就有些麻煩了。

諸如i7>i5>i3這樣的說法,基本不靠譜。因為這種說法僅僅在同一代處理器,同一功耗級別下才成立。如果跨代、跨系列地比較,就會出現諸如i5-6300HQ性能強于i7-6600U、i3-6100H和i7-4610Y性能差不多,這樣不太好理解的情況。所以光看型號判斷性能真的是不太靠譜。為了方便起見,我推薦一個方便(但并非完全嚴謹)的方法給大家:查Passmark評分

關于DDR4內存條選購的小知識

刻意追求內存頻率意義不大,因為決定內存性能的重要指標還有內存時序(時序本身也可以體現出內存顆粒的品質如何)。市面上很多DDR4-2666內存的報價甚至還低于當前DDR4-2400,原因就是這些所謂的DDR4-2666內存的時序普遍很難看(偏高/一般都是CL19),眾所周知,時序越高性能越差。目前主流內存頻率為2400MHz~3200MHz,實際上2133也一樣能用,而且最便宜。

再有就是目前英特爾平臺只有Z系列、__系列芯片組可以使用超過2666/2933頻率的內存,其他芯片組如B360/B365/B460無法突破這一限制,上高頻內存會降頻運行,具體限制情況請參照表格說明。用B360主板搭配3000MHz甚至3200MHz以上的高頻內存意義不大,最終還是降頻到2400/2666運行。B460主板搭配i7/i9處理器時,可以考慮3000頻率的內存。

AMD芯片組雖然基本都不會限制運行頻率,都可以超頻支持高頻內存,但是AMD處理器本身不爭氣,內存兼容性問題比較普遍,搭配高頻內存極易翻車。AMD的三代銳龍對高頻內存支持的友好性大幅提升,這樣一來或許會帶動3000~3600MHz區(qū)間高頻內存的銷量大幅上漲。一代、二代銳龍(包括APU)建議搭配3000MHz以下的內存。

從表格可以看出英特爾平臺主板除了Z系列的都是不支持超頻的,但是也要注意雖然主板支持最高頻率可能是2666、2933,但是也要看具體CPU支持的頻率。

AMD平臺理論上是沒有具體限制的,但是要看主板的內存供電和CPU對內存頻率的兼容;一代銳龍普遍兼容性比較差,一般上2666就可以了,供電比較好的主板可以上2933;二代銳龍兼容性有提升,一般上2933就可以了,供電比較好的主板可以上3200-3433,三代銳龍兼容性大大提升,市面上的正規(guī)內存都是基本可以是用的,因為三代銳龍內存頻率影響cpu性能一般建議上3600頻率的就可以了,因為除了__399/TR__40平臺的其他三代銳龍內存控制器它最高支持3600頻率,運氣好的能達到3800,在往上面的頻率性能只會倒退。

從上面表格可以看出英特爾九代CPU及之前到6代買2666頻率的內存條就可以了,這里為什么沒有說i3之前的只支持到2400,因為現在市面上的內存條基本2400和2666價格差不多,很多都是同價格,所以上2666的就可以了,以后升級CPU了還能小小提升一下性能還不用換內存條;

十代英特爾就比較坑了,i5之前都最高只支持到2666頻率的,所以裝機的如果不考慮以后升級cpu的就可以直接買2666的就可以了,如果考慮以后升級的可以直接買3000頻率的內存條,i7、i9可以直接運行在2933頻率上。

內存容量

① 品牌方面,你自己信賴啥就選啥,不用考慮很多,內存很難壞,品牌內存均為終身質保,一小部分牌子才會保修3~5年;

② 部分主板與部分內存可能會有兼容性問題,遇到這類情況建議通過升級BIOS來進行解決,或嘗試更換合適的內存。

★ 4GB(2010~2014年流行):當前來看只能滿足基本的上網、看視頻、聊天、入門游戲及輕度辦公需求;(都2020年了就不太推薦了)

★ 8GB(當前主流):當前可以滿足入門設計、多任務辦公、大型單機普通愛好者;

★ 16GB(當前~未來5年主流):當前可以滿足主流設計、渲染、大型單機愛好者;(只要是玩稍微大型一點的游戲都建議上16G內存,8G__2形成雙通道,17年吃雞游戲大火,這游戲就很吃內存)

★ 32GB或更高(2025~2030年):當前主要是高預算或特殊高需求群體會安裝如此多的的內存。(一小部分游戲也吃高內存比如:逃離塔科夫,當然最近3000系顯卡出了,高端用戶4K144hz運行的話也建議上32G內存,當然一般買這配置的了一般都會上也不需要小編說(貧窮的小編))

常見問題

【Q】如何組雙通道內存?組雙通道內存有什么要求?

【A】組雙通道內存只需接口相同,能同時被系統(tǒng)點亮識別即可,不用在意容量或者頻率。兩根不同頻率的內存條是可以一起使用的,使用的過程中,高頻率的內存條會自動降頻到低頻的內存條的頻率來使用的。參數不同的兩根(或4根)內存組的雙通道叫做“彈性雙通道”。這里還需要注意,一般只有2根內存插槽的主板組雙通道時,只要插滿自然就是雙通道了,如果是4根插槽的板子,插兩根時,必須插1、3位置或者2、4位置(也就是間隔一個空位/以靠近CPU的第一根插槽位為1)才可以組成雙通道,但一定是優(yōu)先插2、4位,其次才是1、3位。

__系列主板和TR系列主板是支持4通道的所以可以按照主板說明書插對應內存條以達到最大性能,避免性能浪費,比如你想買16G的內存條就買8__2的形成雙通道,如果是四通道的話買4__4的,不過一般都是最低上32G的所以是8__4。

你不知道的內存知識

一、CPU與內存

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

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

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

HT超線程:目前Intel與AMD的Processor大多支持在一個Core里并行執(zhí)行兩個線程,此時從操作系統(tǒng)看就相當于兩個邏輯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的最簡單區(qū)別就是后者特別快,容量特別小,電路結構非常復雜,造價特別高。

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

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

由于DRAM的數據其實是被保存在電容里的,所以每次讀寫過程中的充放電環(huán)節(jié)也導致了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發(fā)布的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保持同步的問題是同一類問題

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

解決方案:MESI

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

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

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

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

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

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

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

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

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

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

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

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

I(Invalid):無效狀態(tài),在當前Cache Line中沒有有效數據或者該Cache Line數據已經失效,不能再用;當Cache要加載新數據時,優(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的實現過程可以看我另一篇文章:看懂這篇,才能說了解并發(fā)底層技術

深入理解不一致性內存

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

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

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

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

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

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

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

因此在CPU訪問自家內存的時候會非???,在訪問其他CPU控制的內存數據時,則需要通過內部互聯(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數量都為16個,占每個Node分配系統(tǒng)總內存的1/4

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

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

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

針對NUMA的支持

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

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

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

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


計算機內存基礎硬核知識相關文章:

電腦硬件硬核知識

內存硬核選購知識

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

830000