全相联映像:

特点:指主存的一个字块能够映像到整个Cache的不论什么一个字块中。这样的映射方法比較灵活,cache的利用率高。但地址转换速度慢,且须要採用某种置换算法将cache中的内容调入调出,实现起来系统开销大。

                  

直接相联映像:

特点:指主存的一个字块仅仅能映像到Cache的一个准确确定的字块中,主存的字块仅仅能够和固定的Cache字块相应,方式直接,利用率低。

成本低,命中率低,效率较低。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWlnb29nbGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">


组相联映像:

         对全相联和直接映像的一种折中的处理方案。

既不在主存和Cache之间实现字块的全然任意相应,也不在主存和Cache之间实现字块的多对一的硬性相应。而是实现一种有限度的任意相应。

         特点:折中方案。组间全相联,组内直接映像。

集中了两个方式的长处。

成本也不太高。

最常见的Cache映像方式。

                                   

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWlnb29nbGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

总结:

三种映射规则能够简单觉得是对取模运算和取商运算的组合;
如果:内存=30块,cache=5块,1块=10个字,所以内存=300个字。cache=50个字;内存包括的字数为memsize,块包括的字数为blocksize,cache包括的字数为cachesize,每一个区包括的块数为regionblocknum。每一个组包括的块数为groupblocknum,区内块号(区内偏移量)为regionblockoffset。
直接映射:memsize MOD blocksize获得的是字在块内的偏移量。memsize / blocksize获得的是块的标号作为标记。
全相联映射:regionblocknum取cache中的块的数量,所以cahce总是与内存中的一个区大小同样。(memsize / blocksize)获得全部的块数,然后再对块进行分区,分区操作是(memsize / blocksize)/regionblocknum获得全部的区数,
(memsize / blocksize)MOD
 regionblocknum获得区内块号(区内偏移量)。区内偏移量做索引,区号做标记。

组相联映射:regionblockoffset=(memsize / blocksize)MOD
 regionblocknum,regionblockoffset
/ groupblocknum获得组内偏移量,regionblockoffset
MOD  groupblocknum获得组号。


计算机组成原理——主存与cache的映射关系的更多相关文章

  1. ARM Cortex-A53 Cache与内存的映射关系以及Cache的一致性分析

    ARM Cortex-A53 Cache与内存的映射关系以及Cache的一致性分析 题记:如果文章有理解不对的地方,欢迎大家批评指正,谢谢大家. 摘要:本文以Cortex-A53为例,首先分析Cach ...

  2. 主存与Cache的地址映射

    最近在复习计算机体系结构,选用的教材是名闻遐迩的<计算机体系结构 量化研究方法 第五版>(Computer Architecture A Quantitative Approach), 关 ...

  3. linux的系统组成和计算机组成原理,linux常用操作

    Linux入门 linux简介   学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...

  4. 主存和cache的地址映射

    cache是一种高速缓冲寄存器,是为解决CPU和主存之间速度不匹配而采用的一项重要技术. 主存与cache的地址映射方式有全相联方式.直接方式和组相联方式三种. 直接映射(directmapping) ...

  5. 重学计算机组成原理(十)- "烫烫烫"乱码的由来

    程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 --- 各种计算机指令 数据结构 --- 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二 ...

  6. 计算机组成原理 — CPU 中央处理器

    目录 文章目录 目录 前文列表 逻辑电路部件 组合逻辑电路 时序逻辑电路 阵列逻辑电路 中央处理器(CPU) 控制单元(控制器) 运算单元(运算器) 存储单元(寄存器组和片内缓存) CPU 的工作原理 ...

  7. Hibernate映射解析——七种映射关系

    首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射.ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对 ...

  8. SSH深度历险(一)深入浅出Hibernate架构(一)-------映射解析——七种映射关系

            ORM,全称是(Object Relational Mapping),即对象关系映射.ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据 ...

  9. 计算机组成原理实验之CPU组成与指令周期实验

    (实验五  CPU组成与指令周期实验) 课程 计算机组成原理实验 实验日期 2015 年 12 月  8 日 一.实验目的 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机. 2. ...

随机推荐

  1. linux 命令之top

    top命令是显示当前系统正在执行的进程相关信息.包含进程ID.内存占用率等:top命令格式例如以下: top [OPTIONS] OPTIONS: -b 批处理 -c 显示进程的完整名 -I 忽略失效 ...

  2. mongodb常用查询语法

    一.查询 find方法 db.collection_name.find(); 查询所有的结果: select * from users; db.users.find(); 指定返回那些列(键): se ...

  3. idea系列ide给git增加push按钮

    第一步 打开设置 Appearance & Behavior -- Menus and ToolBars,选中VscNavBarToolBarActios,然后点击"+"添 ...

  4. 快速入门 WePY 小程序【转】

    一.WePY介绍 WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性. 二.WePY 使用 1.WePY的安装或更新都 ...

  5. py-faster-rcnn 训练参数修改(转)

    faster rcnn默认有三种网络模型 ZF(小).VGG_CNN_M_1024(中).VGG16 (大) 训练图片大小为500*500,类别数1. 一. 修改VGG_CNN_M_1024模型配置文 ...

  6. unicode、utf8、字符串字面值

    发现好多新人都不明白,或者说没有直观的感受,其实很简单. 简单的说,unicode是一种将全球文字都涵盖的字典 - 可以认为每个字符都有一个数字索引. 比如可以这样(假设):'a' 的索引是13,'我 ...

  7. 梯度下降(gradient descent)算法简介

    梯度下降法是一个最优化算法,通常也称为最速下降法.最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的.最速下降法是用 ...

  8. elasticsearch以及head插件在centos7上的安装与配置教程

    ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...

  9. apache2.4 文件浏览服务器页面配置

    footer <style> table{ border:1px solid #ccc; border-radius:6px; border-collapse:collapse; box- ...

  10. VS2017 配置QT5

    QT安装 1. QT下载 2. 安装过程中,组件的选择(图自https://blog.csdn.net/gaojixu/article/details/82185694) 3. 安装完成 VS2017 ...