偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

理解內(nèi)存的Rank、位寬以及內(nèi)存顆粒內(nèi)部結(jié)構(gòu)

開發(fā) 前端
內(nèi)存標(biāo)識(shí)字符串中的第二段是非常重要的表示內(nèi)存物理結(jié)構(gòu)的標(biāo)識(shí)。它清楚地寫明了當(dāng)前內(nèi)存條總共有幾個(gè) Rank,每個(gè) Chip 中的位寬是多少。進(jìn)而也能推算出 1 個(gè) Rank 中有多少個(gè) Chip 組成。

大家好,我是飛哥!

在馮諾依曼體系結(jié)構(gòu)里,內(nèi)存是除了CPU之外第二重要的設(shè)備。如果沒有內(nèi)存,服務(wù)器將完全無法運(yùn)行。在這一節(jié)中,我們來了解下內(nèi)存的物理結(jié)構(gòu)。如下圖的是一個(gè) 16 GB 的筆記本內(nèi)存條實(shí)物的正面和反面圖。其中的每個(gè)黑色顆粒也叫一個(gè) Chip。

注意下,在正面有著一串字符串標(biāo)識(shí)16 GB 2R\*8 PC4-3200AA-SE1-11。在這段標(biāo)識(shí)中,16 GB 很好理解,是內(nèi)存的容量大小。那么后面的 2R*8 是什么意思呢?

實(shí)際上,內(nèi)存標(biāo)識(shí)第二段中的 2R*8 非常重要,它直接簡(jiǎn)單清晰地把內(nèi)存的物理結(jié)構(gòu)給表示出來了。

  • 2R:表示該內(nèi)存有 2 個(gè) Rank
  • *8:表示每個(gè)內(nèi)存顆粒的位寬是 8 bit,

接下來我們分兩個(gè)小節(jié),深入地看看 Rank、位寬與內(nèi)存顆粒的內(nèi)部結(jié)構(gòu)。

內(nèi)存的 Rank 與位寬

在內(nèi)存中,其中每一個(gè)黑色的內(nèi)存顆粒叫一個(gè) Chip。所謂 Rank 指的是屬于同一個(gè)組的 Chip 的總和。這些 Chip 并行工作,共同組成組成一個(gè) 64 bit 的數(shù)據(jù),供 CPU 來同時(shí)讀取。

CPU 的內(nèi)存控制器能夠?qū)ν粋€(gè) rank 的 chip 進(jìn)行讀寫操作。通常一個(gè)通道(channel)能夠同時(shí)讀寫 64bit 的數(shù)據(jù)(ECC 功能的是 72 bit)。

內(nèi)存字符串標(biāo)識(shí)中的 2 R 表示該內(nèi)存有 2 個(gè) Rank。

2 R 后面的 * 4 表示每個(gè)內(nèi)存顆粒的位寬是 4 bit。因?yàn)?CPU 要同時(shí)讀寫 64 bit 的數(shù)據(jù)。所以

  • 對(duì)于位寬為 4 的顆粒,需要 16 個(gè) Chip 來組成一個(gè) Rank
  • 對(duì)于位寬為 8 的顆粒,需要 6 個(gè) Chip 來組成一個(gè) Rank
  • 對(duì)于位寬為 16 的顆粒,需要 4 個(gè) Chip 來組成一個(gè) Rank

例如,下面的筆記本內(nèi)存條,是 1 R * 16。表示的是該內(nèi)存條只有 1 個(gè) Rank。每個(gè) Chip 內(nèi)存顆粒的位寬是 16 bit。

而一個(gè) Rank 需要提供 64 位的數(shù)據(jù),則需要 64 / 16 = 4 個(gè) Chip 來組成一個(gè) Rank 來同步地工作。從實(shí)物圖中也確實(shí)可以看到,該內(nèi)存條正反面加起來只有 4 個(gè) Chip,

圖片圖片

圖片圖片

再比如,下面的筆記本內(nèi)存條,是 2 R * 8。表示的是該內(nèi)存條有 2 個(gè) Rank,每個(gè) Chip 內(nèi)存顆粒的位寬是 8 bit。

一個(gè) Rank 需要 64 / 8 = 8 個(gè) Chip 來組成一個(gè) Rank。則兩個(gè) Rank 總共需要 16 個(gè) Chip。從內(nèi)存條的實(shí)物圖中看到,該內(nèi)存條的正反面確實(shí)總共有 16 個(gè) Chip。

圖片圖片

圖片圖片

內(nèi)存顆粒 Chip 內(nèi)部結(jié)構(gòu)

一個(gè)內(nèi)存是由若干個(gè)黑色的內(nèi)存顆粒構(gòu)成的。每一個(gè)內(nèi)存顆粒叫做一個(gè) chip。在每個(gè) chip 內(nèi)部,又是由一層層的 bank 組成的。

圖片圖片

在每個(gè) bank 內(nèi)部,就是電容的行列矩陣結(jié)構(gòu)了。

圖片圖片

這個(gè)矩陣由多個(gè)方塊狀的元素構(gòu)成,這個(gè)方塊元素是內(nèi)存管理的最小單位,也叫內(nèi)存顆粒位寬。在一個(gè)位寬中。有若干小電容。

  • 對(duì)于 1 R * 16 的內(nèi)存條,一個(gè)位寬有 16 個(gè) bit 位
  • 對(duì)于 2 R * 8 的內(nèi)存條,一個(gè)位寬有 8 個(gè) bit 位

值得注意的是,由于內(nèi)存訪問太慢了。所以 CPU 每次向內(nèi)存請(qǐng)求數(shù)據(jù)的時(shí)候,并不只是請(qǐng)求一個(gè) 64 bit 的數(shù)據(jù)就完事了,而是會(huì)請(qǐng)求更多的數(shù)據(jù)然后用自己的 L1、L2、L3等模塊緩存起來。下次如果訪問的數(shù)據(jù)位于緩存中的話,就可以不用再發(fā)起內(nèi)存 IO 了。一次請(qǐng)求的數(shù)據(jù)大小是 64 * 8 bit = 64 字節(jié),這也是一個(gè) Cache Line 的大小。

對(duì)于內(nèi)存來說,一次 Cache Line 64 字節(jié)的訪問屬于是一次 Burst IO,需要內(nèi)存連續(xù)工作多次,輸出多個(gè) 64 字節(jié)。所以,內(nèi)存在排列和組織二維矩陣結(jié)構(gòu)的時(shí)候,會(huì)按方便 Burst IO 的方式來組織,實(shí)際二維矩陣單元中存儲(chǔ)的字節(jié)數(shù)會(huì)比位寬要大。

例如下面是一個(gè)美光(Megon)內(nèi)存 Chip 的內(nèi)部結(jié)構(gòu)。

圖片圖片

在該 Chip 中,總共有 8 個(gè) bank,每個(gè) bank 是一個(gè) 32768 行 * 128 列的二維矩陣,每個(gè)二維矩陣單元存儲(chǔ)的數(shù)據(jù)大小是 64 比特。

則該 Chip 總共可存儲(chǔ)的數(shù)據(jù)大小是 8 * 32768 * 128 * 64 = 2147483648 比特。換算成 MiB 2147483648 字節(jié)/(1024*1024*8) = 256 MiB

總結(jié)

內(nèi)存標(biāo)識(shí)字符串中的第二段是非常重要的表示內(nèi)存物理結(jié)構(gòu)的標(biāo)識(shí)。它清楚地寫明了當(dāng)前內(nèi)存條總共有幾個(gè) Rank,每個(gè) Chip 中的位寬是多少。進(jìn)而也能推算出 1 個(gè) Rank 中有多少個(gè) Chip 組成。例如

  • 2R*4 表示的是內(nèi)存條有 2 個(gè) Rank,每個(gè) Chip 的位寬大小是 4??梢酝扑愠雒總€(gè) Rank 需要 64/4 = 16 個(gè) Chip 顆粒。這種內(nèi)存常見于服務(wù)器內(nèi)存。內(nèi)存顆粒越多,就可以組成更大容量的內(nèi)存條。
  • 2R*8 表示的是內(nèi)存條有 2 個(gè) Rank,每個(gè) Chip 的位寬大小是 8??梢酝扑愠雒總€(gè) Rank 需要 64/8 = 8 個(gè) Chip 顆粒。這種規(guī)格常見于臺(tái)式機(jī)。
  • 1R*16 表示的是內(nèi)存條有 1 個(gè) Rank,每個(gè) Chip 的位寬大小是 16??梢酝扑愠雒總€(gè) Rank 需要 64/16 = 4 個(gè) Chip 顆粒。這種內(nèi)存常見于筆記本內(nèi)存條。因?yàn)閮?nèi)存顆粒越少,則體積越小。

至于每個(gè) Chip 內(nèi)存顆粒中有多少個(gè)二維矩陣元素,為了支持 Burst IO,也為了節(jié)約地址線數(shù)量。一般每個(gè)二維矩陣元素中存儲(chǔ)的數(shù)據(jù)要比位寬更大一些。

責(zé)任編輯:武曉燕 來源: 開發(fā)內(nèi)功修煉
相關(guān)推薦

2011-08-30 13:26:18

Mysql ProxyLua

2020-05-12 23:20:50

Tomcat內(nèi)部結(jié)構(gòu)

2024-02-29 09:28:19

2010-04-12 15:17:40

dump Oracle

2010-09-25 15:59:54

JVM虛擬機(jī)

2020-06-12 10:46:18

C語言棧內(nèi)存結(jié)構(gòu)體

2021-09-26 15:34:21

內(nèi)部結(jié)構(gòu)方法區(qū)

2017-02-09 21:24:22

iOS內(nèi)存管理

2019-12-26 08:45:46

Linux虛擬內(nèi)存

2011-09-08 17:44:47

GTK Widget

2023-10-18 13:31:00

Linux內(nèi)存

2024-06-24 08:11:37

2023-11-03 08:10:49

ThreadLoca內(nèi)存泄露

2010-10-28 14:29:39

Oracle內(nèi)存結(jié)構(gòu)

2023-03-01 10:37:51

2015-05-14 15:38:40

javajava內(nèi)存泄露

2011-11-17 13:59:41

Java內(nèi)存管理內(nèi)存泄露

2013-07-11 10:37:20

Java內(nèi)存模型

2015-12-28 11:41:57

JVM內(nèi)存區(qū)域內(nèi)存溢出

2017-02-08 16:05:10

DRAM內(nèi)存顆粒
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)