第七讲 存储层次结构(Memory Hierarchy)

内容要点:高速缓存,主存

1. 存储层次结构概况

  • 外部记录介质R,运算器CA,存储器M

  • 存储器特性:非易失性,可读可写,随机访问,访问时间,容量,价格,功耗...

    CPU 通用寄存器(Byte量级) 更小、更快、单位字节成本更高
    SRAM 高速缓存(KB~MB量级)
    DRAM 主存(MB~GB量级)
    Disk 本地二级存储(GB~TB量级) 更大、更慢、单位字节成本更低

2. DRAM

  • DRAM的基本存储单元(1bit)
    • 电容存在漏电效应,经过一段时间后电容上的电荷会流失,导致所存信息丢失
    • 定期对所有单元进行刷新(refresh),使原来表示逻辑"1"电容上的电荷得到补充,而原来表示逻辑"0"的电容仍保持无电荷状态
  • DRAM的特点
    • 优点:集成度高,功耗较低,价格较低
    • 缺点:速度较慢,定时刷新
  • 现代PC机大多采用DRAM作为主存

3. SRAM

  • SRAM的基本存储单元
    • 6个晶体管,双稳态触发器,无需更新
  • SRAM的特点
    • 优点:速度较快
    • 缺点:集成度低,功耗较大,价格较高
  • 现代CPU中的高速缓存通常用SRAM实现

4. 主存

  • SDRAM的关键性能参数(PC133标准)
    • tRCD(Row to Column Delay):从行选到列选的延迟时间
      • 23T,约1223ns
    • CL(CAS Latency):从列选到数据输出的延迟周期数
      • 23T,约1223ns
    • tRP(RAS Precharge):行预充电(关闭行)的延迟时间
      • 23T,约1223ns
  • SDRAM读操作的典型访问过程


    SDRAM读操作的典型访问过程.png

5. 高速缓存的工作原理

  1. 程序的局部性原理(经验性总结)

    • 时间局部性(Temporal locality):最近被访问的存储器单元(指令或数据)很快还会被访问
    • 空间局部性(Spatial locality):正在被访问的存储器单元附近的单元很快会被访问
  2. Cache的基本原理

    1. Cache对空间局部性的利用

      • 从主存中取回待访问数据时,会同时取回与位置相邻的主存单元的数据
      • 数据块(block)为单位和主存进行数据交换
    2. Cache对时间局部性的利用

      • 保存近期频繁被访问的主存单元的数据
    3. Cache读操作过程示例

      MOV AL, [2011H] # 1.未命中,读主存地址2010H,分配表项1(倒数第2位),读出A1H(倒数第1位)
      MOV BL, [4011H]# 2.未命中,读主存地址4011H,分配表项1,覆盖前面的,读出B1H
      MOV CL, [3732H]# 3.未命中,读主存地址3732H,分配表项3,读出C2H
      MOV DL, [401FH]# 4.命中表项1,读出BFH
      
      有效位 标签 (数据)字节0 字节1 字节2 字节3 ... 字节15
      表项0 0
      表项1 1 20H
      40H
      A0H
      B0H
      A1H√
      B1H√
      A2H
      B2H
      A3H
      B3H
      ... AFH
      BFH√
      表项2 0 37H C0H C1H C2H√ C3H ... CFH
      表项3 1
      ...
      表项5 0
  1. Cache的写策略

    • ”Cache命中“时的写策略
      • 写穿透(Write Through):数据同时写入Cache和主存
      • 写返回(Write Back):数据只写入Cache,仅当该数据块被替换时才将数据写回主存
    • ”Cache失效“时的写策略
      • 写不分配(Write Non-Allocate):直接将数据写入主存
      • 写分配(Write Allocate):将该数据所在的块读入Cache后,再将数据写入Cache
    • (写返回,写分配) (写穿透,写不分配)
  1. 高速缓存的组织结构


    Cache的访问过程.png
    1. Average Memory Access Time = Hit Time + Miss Penalty * Miss Rate
    2. Cache Miss 原因:
      • 义务时效(Compulsory Miss):无法有效避免
        • 第一次访问某一数据块
        • 也称为冷启失效(Cold Start Miss)
      • 容量失效(Capacity Miss):可通过增加Cache容量缓解
        • Cache无法保存程序访问所需的所有数据块
      • 冲突失效(Conflict Miss)
        • 多个存储器位置映射到同一Cache位置
    3. Cache的映射策略
      1. 直接映射Cache,二路组相联Cache,...
      2. Cache替换算法
        • 随机(Random)
          • 硬件随机选择一个Cache替换
        • 轮转(Round-Robin)
          • 按照预先设定的顺序依次选择Cache块替换
        • 最近最少使用(LRU)
          • 硬件记录访问历史信息
          • 选择距离现在最长时间未被访问的Cache块替换
    4. 存储容量的计算
      • K: 2^{10}, M: 2^{20}, G: 2^{30}
      • 内部存储器容量
        • 高速缓存:32KB = 32 * 1024Byte
        • 内存:4GB = 4 * 1024^3Byte
      • 外部存储器容量
        • 优盘:4GB = 4 * 1000^3Byte
        • 硬盘:1TB = 1*1000^6Byte
      • 数据传输率、时钟频率
        • 以太网:100Mbps = 100 * 1000^2bits per second
        • CPU主频:3GHz = 3*1000^3HZ

quiz:

  1. 循环通常具有很好的空间局部性 & 时间局部性
  2. 数组通常具有很好的空间局部性
  3. 64-bit数据宽度的DDR-400 SDRAM的峰值带宽为3.2GB/s,核心时钟频率为200MHz,芯片内部采用了2位数据预取技术,其接口频率是多少?200MHZ
  4. SRAM和DRAM区别:
    1. DRAM结构比SRAM简单
    2. DRAM要刷新,SRAM不要
    3. DRAM功耗比SRAM低
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容