成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

理解內存的Rank、位寬以及內存顆粒內部結構

開發 前端
內存標識字符串中的第二段是非常重要的表示內存物理結構的標識。它清楚地寫明了當前內存條總共有幾個 Rank,每個 Chip 中的位寬是多少。進而也能推算出 1 個 Rank 中有多少個 Chip 組成。

大家好,我是飛哥!

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

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

實際上,內存標識第二段中的 2R*8 非常重要,它直接簡單清晰地把內存的物理結構給表示出來了。

  • 2R:表示該內存有 2 個 Rank
  • *8:表示每個內存顆粒的位寬是 8 bit,

接下來我們分兩個小節,深入地看看 Rank、位寬與內存顆粒的內部結構。

內存的 Rank 與位寬

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

CPU 的內存控制器能夠對同一個 rank 的 chip 進行讀寫操作。通常一個通道(channel)能夠同時讀寫 64bit 的數據(ECC 功能的是 72 bit)。

內存字符串標識中的 2 R 表示該內存有 2 個 Rank。

2 R 后面的 * 4 表示每個內存顆粒的位寬是 4 bit。因為 CPU 要同時讀寫 64 bit 的數據。所以

  • 對于位寬為 4 的顆粒,需要 16 個 Chip 來組成一個 Rank
  • 對于位寬為 8 的顆粒,需要 6 個 Chip 來組成一個 Rank
  • 對于位寬為 16 的顆粒,需要 4 個 Chip 來組成一個 Rank

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

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

圖片圖片

圖片圖片

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

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

圖片圖片

圖片圖片

內存顆粒 Chip 內部結構

一個內存是由若干個黑色的內存顆粒構成的。每一個內存顆粒叫做一個 chip。在每個 chip 內部,又是由一層層的 bank 組成的。

圖片圖片

在每個 bank 內部,就是電容的行列矩陣結構了。

圖片圖片

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

  • 對于 1 R * 16 的內存條,一個位寬有 16 個 bit 位
  • 對于 2 R * 8 的內存條,一個位寬有 8 個 bit 位

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

對于內存來說,一次 Cache Line 64 字節的訪問屬于是一次 Burst IO,需要內存連續工作多次,輸出多個 64 字節。所以,內存在排列和組織二維矩陣結構的時候,會按方便 Burst IO 的方式來組織,實際二維矩陣單元中存儲的字節數會比位寬要大。

例如下面是一個美光(Megon)內存 Chip 的內部結構。

圖片圖片

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

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

總結

內存標識字符串中的第二段是非常重要的表示內存物理結構的標識。它清楚地寫明了當前內存條總共有幾個 Rank,每個 Chip 中的位寬是多少。進而也能推算出 1 個 Rank 中有多少個 Chip 組成。例如

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

至于每個 Chip 內存顆粒中有多少個二維矩陣元素,為了支持 Burst IO,也為了節約地址線數量。一般每個二維矩陣元素中存儲的數據要比位寬更大一些。

責任編輯:武曉燕 來源: 開發內功修煉
相關推薦

2011-08-30 13:26:18

Mysql ProxyLua

2020-05-12 23:20:50

Tomcat內部結構

2010-04-12 15:17:40

dump Oracle

2010-09-25 15:59:54

JVM虛擬機

2024-02-29 09:28:19

2020-06-12 10:46:18

C語言棧內存結構體

2021-09-26 15:34:21

內部結構方法區

2017-02-09 21:24:22

iOS內存管理

2019-12-26 08:45:46

Linux虛擬內存

2011-09-08 17:44:47

GTK Widget

2023-10-18 13:31:00

Linux內存

2010-10-28 14:29:39

Oracle內存結構

2024-06-24 08:11:37

2023-11-03 08:10:49

ThreadLoca內存泄露

2023-03-01 10:37:51

2013-07-11 10:37:20

Java內存模型

2015-05-14 15:38:40

javajava內存泄露

2011-11-17 13:59:41

Java內存管理內存泄露

2017-02-08 16:05:10

DRAM內存顆粒

2015-12-28 11:41:57

JVM內存區域內存溢出
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品欧美一区二区三区 | 欧美色综合 | 亚洲97 | 一级欧美 | 国产情侣久久 | 精品动漫一区 | 欧美日韩在线一区二区 | 久久6视频 | 亚洲欧美一区二区三区视频 | 午夜影院在线免费观看视频 | 国产视频福利一区 | 国产一区在线免费观看 | 成人午夜影院 | 亚洲精品视频在线观看免费 | 国产欧美日韩 | 久久精品亚洲 | 国产成人啪免费观看软件 | 国产成在线观看免费视频 | 精品亚洲永久免费精品 | 国产不卡一区 | 大陆一级毛片免费视频观看 | 欧美日韩综合 | 欧美日韩一区二区在线观看 | 欧美日韩视频 | 久久久夜夜夜 | 欧美在线一区二区三区 | 高清av电影 | 黄色精品 | 亚洲精品视频免费观看 | 91伊人| 国产免费色 | 亚洲免费在线 | 国产一区二区在线免费播放 | 久久美女视频 | 妞干网福利视频 | 欧洲精品码一区二区三区免费看 | 国产亚洲成av人在线观看导航 | 欧美国产视频 | 黄色在线免费网站 | 综合久久一区 | 久久精品av |