zoukankan      html  css  js  c++  java
  • 组原——④存储器5

    PART 2—主存储器

    2.7 提高访存速度的措施

    2.7.1 单体多字系统

    原理:在一个存取周期内,从同一地址取出四条指令(之前是一次一个的),再将这四条指令按顺序送至CPU执行——速度提高了

    前提:指令和数据连续

     2.7.2 多体并行系统

     

     

     

    2.7.3 高性能存储芯片

    (1)SDRAM

    (2)RDRAM

    (3)带Cache的RDRAM

    PART 3—高速缓冲存储器

    3.1 概述

     3.1.1 问题的提出

    ①CPU等待I/O设备,浪费时间→在CPU与主存之间加一级缓存

     ②主存速度提高慢,跟不上CPU的速度了

    ## 重大发现:由于指令和数据在主存里是连续存放的,一些子程序、循环程序和常数会多次调用→CPU访存有相对的局限性→将CPU近期要用到的数据提前送到cache,提高速度

    3.1.2 Cache的工作原理

     缓存里的块数远小于主存的,所以缓存里的块数是根据CPU的需要不断变化的。好是好,只是缓存里的每个块都要做一个标记,(啊~这次来我这里待的小可爱是你呀~~),标记就是主存里的块的编号。那当CPU读信息时,先将两者的块地址进行比较。

     命中率与容量(越大越好)、块长(过小过大都不好)有关

    3.1.3 Cache的基本结构

     

     

     写操作:使Cache与主存内容保持一致

    法一:写直达法

    写操作时,数据既写入Cache又写入主存→保证了数据一致,但增加了访存次数

    法二:写回法

    写操作时,只把数据写入Cache,而不写入主存,当Cache的数据被替换出去时才写回主存→数据会不一致;那如何判断呢?在Cache中的每一块要增设一个标志位,表示“清”(人家是清白的啦~就是未被修改过,和贮存是一致的)和“浊”(被污染了...被修改过,与主存不一致)。在为“清”时,Cache块不变化,和主存是一样的~,但“浊”的话,把Cache块的内容写到主存里,并把标志位变为清,进行新的一轮

     3.2 Cache—主存地址映射

    3.2.1 直接映射

     优点:简单。

     3.2.2 全相联映射

    3.2.3 组相联映射

     

     

     

     

     

  • 相关阅读:
    AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)
    简单日志
    Log4net 日志使用指南
    enter 键 触发搜索按钮
    给<a>标签增加href属性 ~~~ 转转
    最经典介绍ASP.NET抽象工厂模式概念及用法 ~~~转转转转
    sql server 中 like 中文不匹配问题解决就这么简单
    MySQL数据库like查询中文出现不准确的解决方法
    Unity属性(Attributes)
    拓展自定义编辑器窗口(EditorGUILayout类)
  • 原文地址:https://www.cnblogs.com/syzyaa/p/12633915.html
Copyright © 2011-2022 走看看