zoukankan      html  css  js  c++  java
  • #computer architecture#memory2

    cache(高速缓存--书桌)
    现在也用来塞着那些基于局部性原理来管理的存储器
    前言:
    两级层次结构中存储信息交换的最小单元称为块block或行line(一个信息块就是一本书)
    90%的时间只access到10%的memory
    一个重要的原理:

    • 数据项的读取

      直接映射:

    由于cache中的每个位置可能对应于主存中多个不同的地址,如何知道cache中的数据项是否是所请求的字呢?cache里要摆放data和tag

    有效位被设置,表示可以使用该块中的值
    举个栗子

    如果是hit的话表明cache里面有,就不用从底层调用了

    如果data的tag不一样的话,要把旧的写回去或者被盖过去

    举个栗子
    cache有64个block,一个block是16位
    一个块,offset就是4位 0-3 指向block中的每一位
    因为有64个块,所以index就是6位
    剩下的都是tag
    这里的32位是指memory的块地址

    块不能太大也不能太小


    读cache,会有hit和miss

    写cache,也会有hit和miss,由于写回memory太浪费时间所以引入buffer,写入cache的data被写入buffer,由buffer再慢慢写回去


    对于write miss,有两种情况:
    1.把data从main memory搬进cache,再进行写操作,write through;
    2.直接写进main memory,不经过cache(因为对于这一块数据除了写操作就没别的了),write back;

    举个栗子:
    内置FastMATH处理器的cache

    有三种存储带宽 one-word-wide/wide/interleaved

    对于cache和memory之间的数据传输有access time 和cycle time
    access time是指从memory里面拿到资料的时间
    cycle time是指 要等这么长的时间才能拿到下一笔资料

    miss penalty

    access DRAM的方法和cache不一样,按行按列找,先把整个行读下来

    DDR SDRAMhttps://www.cnblogs.com/shengansong/archive/2012/09/01/2666213.html

    每个章节和小标题要背一下 top-down

    cache性能的计算举例

    cache性能的提升
    结构上的优化:
    direct mapped
    fully associate(成本高)
    这两种比较极端
    取一个中间的 set associate


    再次举例说明这三种的区别

    多层cache,数量上增加:
    第一层小而快,为了减少hit时间
    第二层略大,为了减少miss概率

  • 相关阅读:
    FFT入门
    FJOI省队集训 chessboard
    FJOI省队集训 florida
    树上莫队
    NOIP2015 Revenge
    APIO2013 tasksauthor
    油漆门
    一些字符串有关的题目
    字符串题模板集合
    sg函数与博弈论2
  • 原文地址:https://www.cnblogs.com/zhanghaha-zzz/p/11496171.html
Copyright © 2011-2022 走看看