全相联映射、直接映射、组相连映射

2023-11-18

1、主存中的块放到cache(高速缓冲存储器)中哪个位置?

全相联映射:主存中的块在cache中随意放(就是想放cache中的哪一行就放哪一行)

直接映射:主存块号%cache有多少行,通过这样计算出来的结果,就是主存块在cache中存放的位置。

组相连映射:主存块号%cache中有多少组,通过这样计算出来的结果,就是主存块在cache中存放的组,至于在组中可以随意放。

2、标记位、有效位、命中是什么?

2.1 标记位

标记位=主存块号,当主存块中的东西放到cache中后,会将相应的主存块号设置为标记位。这样做的话,下次CPU要访问这个位置的主存时,就不用直接去访问主存了,只要在cache中就可以找到。

比如:CPU要访问主存中地址A,首先会去看看cache中有没有A,由于这里A地址放到了cache中,那么就直接找cache就行,就不用专门跑去主存中了。
而这期间具体是这样子的,CPU先找到cache中的标记位,找到标记位后,也就是找到了相应的cache行,再通过块内地址在相应的cache行中找到相应的位置。
(主存地址A = 主存块号+块内地址)

2.2 有效位

cache中没有放东西的行会默认置0,这时候可能就会出现很多个0的情况,而且如果主存块号0放入cache中还会与之混淆,所以就引入了有效位这个概念。在放入后,有效位就设置为1,没有放入就设置为0,这样就算放入的是主存块号0,也不会混淆了。

2.3 命中

命中是什么意思呢?我个人理解是:CPU在cache中找到了它想要在主存中找到的东西。如果在cache中没有找到,就是未命中。未命中的话,CPU就需要去访问主存,虽然这样会慢一点,但是没办法,毕竟cache中没有,就只能去主存找了。

3、全相联映射

请添加图片描述

这是王道考研中的一个截图,感兴趣的可以看看王道的讲解。
链接: https://pan.baidu.com/s/1dkDtZxbSP0OHvJDaoKR5rg 提取码: ngc1

这里需要注意:1MB = 210 KB = 220 B
所以256MB = 228 B
又因为每行长64B = 26B
所以cache的块内地址为26
因为cache块的大小是和主存块的大小是相等的,也就是cache和主存的每一行大小相等,所以主存的块内地址是6位

228/26 = 222

所以主存块号为22位

4、直接映射

请添加图片描述
直接映射有一个很大的缺点就是,只能放在固定位置,灵活性差,会使大片内存无法得到充分利用。
比如图中所示一样,主存块号8的那个要放到cache中,对应的是0的那一行,但是其他地方明显空了很多,却不用,而且放到0的那里,还会覆盖掉原来的


4.1优化标记位

请添加图片描述

主存块号的后三位与cache中行数的二进制数相对应


请添加图片描述

这里通过优化后,标记位的位数可以少3位,其实就是将主存块号进行细分,细分出了标记位和行号。

5、组相连映射

请添加图片描述

请添加图片描述

6、课后习题

设某计算机主存容量位4MB,Cache容量为16KB,每块包含8个字,每字32位,设计一个4路组相连映像(即Cache每组内共有4个块)的Cache组织,要求:
(1)画出主存地址字段中各字段的位数
(2)设Cache的初态为空,CPU依次从主存第0,1,2,……,99号单元读出100个字(主存依次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?

关于主存地址的例题
关于主存地址的详细讲解
这两篇文章看了之后,来做第一小问应该会比较轻松。

(1)主存地址 = 区号+组号+组内块号+块内地址号

因为Cache容量位16KB,即214 B,每个B(字节)里面有8位
Cache的容量 = 16KB/(8*32)位 =( 214*8)/28 = 29
又因为每4块一组,所以共有29/4 = 27组,通过二进制来表示27 组,所以需要7位,故组号是7。(21组的话,就是需要1位二进制数,0和1;22组=4组,就需要2位二进制数,00 = 0,01 = 1,10 = 3,11 = 4)

组内块号就是指有多少块一组,这里是4块一组,是22 组,所以转换成二进制需要两位,所以组内块号 = 2

如果没有明确指明的话,默认是按字节编址,那么每个字就是32位/8 = 4字节,又因为每块包含8个字,所以一个块有8*4 = 32字节 = 25 字节
故块内地址号 = 5

因为主存容量是4MB = 222 B,所以主存地址共有22位
最后,区号 = 22 - 7 - 2 - 5 = 8

主存地址格式如下:

区号 组号 组内块号 块内地址
8位 7位 2位 5位

(2)由于每个字块有8个字,所以主存第0,1,2,……,99号单元分别在0~12中,采用四路组相连分别映像到第0组至12组中,但由于Cache起始为空,所以第一次读取的时候,读每一块的第一个单元都是为空,都没命中,但后7次每个单元都能命中。

命中率 = (100-13 + 7x100) / 8x100 = 98.4%

(3)设Cache的存取周期为T,则主存的存取周期为6T。
有Cache的访存时间 = H × Tc + (1 - H) × (Tm + Tc)= Tc + (1 - H) × Tm = T + (1 - 98.4%) × 6T= 1.096T

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

全相联映射、直接映射、组相连映射 的相关文章

  • 《计算机组成原理》第6章:总线

    第6章 xff1a 总线 6 1 总线概述 总线的定义 总线是一组能为多个部件分时共享的公共信息传送线路 分时和共享是总线的两个特点 分时是指同一时刻只允许有一个部件向总线发送信息 xff0c 如果系统中有多个部件 xff0c 则它们只能分
  • 计算机组成原理——第六章测试题(上)

    1单选 1分 计算机中的数据可以存放在 C 中 A 寄存器 B 主存 C 都可以 D 硬盘 2单选 1分 下列对源码 补码和反码叙述正确的是 B A 当真值为正时 原码和补码的表示形式不同 但其符号位都用 0 表示 B 三种机器数的最高位均
  • 多处理器的基本概念

    SISD 单指令流单数据流 特性 各指令序列只能并发 不能并行 每条指令处理一两个数据 不是 数据级并行技术 硬件组成 一个处理器 一个主存储器 若采用指令流水线 需设置多个功能部件 采用多模块交叉存储器 SIMD 单指令流多数据流 特性
  • 计算机组成原理实验三-----系统总线和具有基本输入输出功能的总线接口实验

    总线是计算机中连接各个功能部件的纽带 是计算机各部件之间进行信息传输的公共通路 总线不只是一组简单的信号传输线 它还是一组协议 他有两大特征 分时 同一总线在同一时刻 只能有一个部件占领总线发送信息 其他部件要发送信息得在该 部件发送完释放
  • 面试---计算机基础

    1 C C 内存有哪几种类型 C中 内存分为5个区 堆 malloc 栈 如局部变量 函数参数 程序代码区 存放二进制代码 全局 静态存储区 全局变量 static变量 和常量存储区 常量 此外 C 中有自由存储区 new 一说 全局变量
  • 第二章 计算机发展与应用

    计算机从诞生至今已经经历了多个阶段的发展 包括 1 电子管时代 1940年代 1950年代 计算机使用电子管作为主要的电子元件 这些计算机体积庞大 功耗大 但是它们标志着计算机的诞生 并且在二战期间被广泛应用于军事领域 2 晶体管时代 19
  • 【计算机组成原理笔记】1.1计算机系统简介

    1 1计算机系统简介 计算机系统由硬件 软件两部分组成 硬件是看得到摸得到的实体 如硬盘 显卡 主板等 软件程序通常寄寓于各种媒体 如RAM ROM 磁带 光盘等 RAM 随机存取存储器 英语 Random Access Memory 缩写
  • 计算机指令——从纸带说起

    前言 其实很多时候我都会感叹计算机的伟大 通过一个个电路就完成了如今各种系统 通过各种各样的语言就能够指挥设备完成不同的动作 当写下第一个hellow world的时候我就在想他什么怎么出现 今天搞明白其中的原理 我在这和大家分享 打孔卡
  • 补码除法运算(加减交替法)

    x 补 00 1000 除数y 补 11 0101 两个数是异号 因此使用x 补 y 补 11 1101 11 1101继续与y 补 对比 发现是同号 商上1 余数11 1101向左移动一位 再加上 y 补 结果为00 0101 余数00
  • 关于存储器按字节寻址和按字寻址的理解

    关于存储器按字节寻址和按字寻址的理解 近日在学习MOOC上学习哈工大刘宏伟老师的 计算机系统组成原理 课程 在4 1节提到主存的时候简单地提到一下关于按字节寻址和按字寻址的寻址空间问题 个人非常疑惑于是各处搜索查找资料 下面是本人就这个问题
  • 8.4-中断系统小结(cpu中断七个问题)

    README 本文转自bilibili 计算机组成原理 哈工大刘宏伟 的视频讲解 非常棒 墙裂推荐 1 中断介绍 1 作用 用中断系统实现了外设数据的输入输出 还可以用于程序调试 计算机系统的异常事件 都可以用中断系统来处理 2 中断因素
  • 1. 存储器分类

    存储器的分类 存储器有很多的分类依据 按存储介质 读写功能 存取方式 在计算机中的作用等 按存储介质分类 磁性介质 磁盘 磁带 光介质 光盘 半导体介质 内存 固态硬盘 内存是易失性存储器 掉电后无信息保存 固态硬盘是非易失性存储器 掉电信
  • 计算机组成原理--基于Logisim的奇偶校验电路实验的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的奇偶校验电路实验 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logi
  • 计算机组成原理——万字详解

    引言 作为还在学习的学生和不断进步的同事 学习计算机组成原理具有以下几个重要的好处 它可以帮助你深入理解计算机系统的工作原理 包括处理器 存储器 输入输出设备等组成部分之间的交互关系 这种深入理解可以提高你对计算机系统的整体把握能力 让你能
  • 同步通讯和异步通讯(简单理解)

    同步通信和异步通信 简单理解 注 本篇文章只是告诉你什么是同步通信 什么是异步通信 即使没有计算机基础的同学也适合阅读 同时也能帮助计算机专业同学更好理解这个知识点 但是如果想深入学习 还需自己翻阅资料 一 电脑完成一个读命令需要的步骤 主
  • 计算机组成原理笔记

    CPU的功能和结构 运算器 对数据进行加工 算术逻辑单元ALU 暂存寄存器 通用寄存器 累加寄存器ACC 程序状态字寄存器PSW 移位器 计数器 控制器 取指令 分析指令 执行指令 中断处理 程序计数器PC 指令寄存器IR 指令译码器 时序
  • 03

    03 通过你的CPU主频 我们来谈谈 性能 究竟是什么 性能 这个词 不管是在日常生活还是写程序的时候 都经常被提到 比方说 买新电脑的时候 我们会说 原来的电脑性能跟不上了 写程序的时候 我们会说 这个程序性能需要优化一下 那么 你有没有
  • 【计算机组成原理】总线宽度和总线带宽的区别,总线带宽的计算

    总线宽度 总线的宽度 指总线在单位时间内可以传输的数据总数 即平常说的32位 64位 总线宽度 总线位宽 数据线的根数 总线带宽 总线带宽 指总线在单位时间内可以传输的数据总数 等于总线的宽度与工作频率的乘积 通常单位 MB s MBps
  • 计算机组成原理综合1

    1 完整的 计算机系统 应包括 D A 运算器 存储器和控制器 B 外部设备和主机 C 主机和实用程序 D 配套的硬件设备和软件系统 2 计算机系统中的存储器系统是指 D A RAM存储器 B ROM存储器 C 主存储器 D 主存储器和外存
  • 5.1 中央寄存器的原理和组成

    思维导图 中央处理器 CPU 核心原理与组成 引言 中央处理器 CPU 作为计算机的 大脑 在现代计算机硬件中扮演着至关重要的角色 本文旨在深入探讨CPU的基本原理和组成部分 为读者提供一个全面的理解 CPU的基本原理 1 信息处理 CPU

随机推荐

  • 2、Java入门教程【IDEA】

    1 下载 IDEA社区版 下载地址 IDEA管理JAVA程序的结构 project 项目 工程 module 模块 package 包 class 类 2 创建工程 创建 project 点击 create 后 项目结构如下 创建 pack
  • 计蒜客T1113——整理药名

    先看题干 这道题并不难 如果你对编程语言的基础有很好的掌握 很容易理清整个逻辑 实际上 不涉及到算法的题目都是简单题 笔者带领大家理一下这道题的考察点 1 输入多个不定长字符串 2 将字符串的首字母一律变为大写 分本来就是大写和本来是小写两
  • 【GAN】基础原理讲解及代码实践

    首先什么是 的模型结构 设计 模型的关键 GAN的算法原理 这里输入噪声的随机性就可以带来生成图像的多样性 GAN公式讲解 D 表示判别器对真实图片的判别 取对数函数后我们希望其值趋于 也就是D 趋于 也就是放大损失
  • 【踩坑专栏】idea中的target缺失

    target文件夹缺失 但是在文件中能找到 这个是idea禁止了 我想起来之前我是因为在提交代码时有一些文件显示在commit里 所以禁止了一些文件 应该是那时候把target误禁了 解决办法 1 Ctrl Alt S 找到target 删
  • OpenCV之摄像头捕捉图像

    代码 数据类型 运行效果 代码 之前我找过directshow CameraDS VedioCaptureFromCam之类的东西 发现都不可以用 directshow是因为版本太老了 会出现 http www opencv org cn
  • Ajax简介和实例

    目录 什么是 AJAX AJAX实例 ajax get无参 ajax get有参 对象和查询字符串的互转 ajax post ajax post 表单 AJAX 是一种在无需重新加载整个网页的情况下 能够更新部分网页的技术 什么是 AJAX
  • 基于OpenHarmony开发的健康生活应用(ArkTS)

    健康生活应用 ArkTS 介绍 本篇Codelab介绍了如何实现一个简单的健康生活应用 主要功能包括 用户可以创建最多6个健康生活任务 早起 喝水 吃苹果 每日微笑 刷牙 早睡 并设置任务目标 是否开启提醒 提醒时间 每周任务频率 用户可以
  • ChatGPT报错:Sorry, you have been blocked解决方法

    今天打开ChatGPT 发现再一次报错了 又一次出问题了 无语 原因分析 1 内容过滤 某些平台或网站可能使用内容过滤系统 该系统可能将AlI语言模型视为潜在的风险 从而对其进行封锁或限制 这是为了防止不当内容的传播或滥用 2 隐私和安全考
  • 转载:NVIDIA GPU结构

    http blog itpub net 23057064 viewspace 629236 目前市场上的NVIDIA显卡都是基于Tesla架构的 分为G80 G92 GT200三个系列 Tesla体系架构是一块具有可扩展处器数量的处理器阵列
  • Node.js知识点大全 最全笔记 知识点合集

    第一章 绪论 第一讲 命令行窗口 命令行窗口也叫 小黑屏 cmd窗口 终端 shell win r cmd 回车 常用指令 dir 列出当前目录下的所有文件 cd 目录名 进入文件夹 md 目录名 创建一个文件夹 rd 目录名 删除一个文件
  • The Cherno——OpenGL

    The Cherno OpenGL 1 欢迎来到OpenGL OpenGL是一种跨平台的图形接口 API 就是一大堆我们能够调用的函数去做一些与图像相关的事情 特殊的是 OpenGL允许我们访问GPU Graphics Processing
  • html位置发生变化监听,用JS实现监听URL地址变化的教程

    最近一直在写单页模版 需要使用 js 来监听浏览器地址栏中 url 地址的变化 并做出相应的改变 而这篇文章就来说一说 使用用 JS 代码来监听浏览器地址栏URL地址的变化的方法 js onhashchange 事件 当前的url地址发生改
  • 微软中文站点资源列表 & 程序员网站资源宝库

    WEB开发 http www microsoft com china msdn Archives catalog web MSDN 微软开发技巧系列网络讲座 http www microsoft com china msdn events
  • 反汇编-objdump

    windows下完成objdump需要用到 反汇编的目标镜像 镜像生成的本地编译器 exe 相关指令如下 反汇编命令 编译器路径 例 D ACOINFO RealEvo compiler x86 64 sylixos toolchain b
  • 北大教授上课讲解,Python零基础入门总结

    一 输入输出 输出 print 100 200 100 200 print The quick brown fox jumps over the lazy dog The quick brown fox jumps over the laz
  • springWEB搭建

    概述 SpringWEB就是spring框架里得一个模块 SpringWeb的前身是SpringMVC springMVC介绍 在之前的后端三大架构 Controller 控制层 包含了servlet 对数据的接收 处理 响应 Model
  • 【华为OD机试真题2023B卷 JAVA&JS】找出两个整数数组中同时出现的整数

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 找出两个整数数组中同时出现的整数 知识点数组哈希表排序 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 现有两个整数数组 需要你找出两个数组中同时出现的整数 并按照如下
  • PR/AE 超级变速插件Twixtor Pro 7.5.4汉化版WIN版中文使用教程

    插件介绍 Twixtor Pro汉化版 hereitis cn articleDetails 897 可以直观的调整动画祯速率 加快或减慢 调整帧顺序 为了实现 的图像品质 Twixtor通过对原始连续的帧进行变形和插入来合成它独有的新帧
  • 【CVPR 2023】FasterNet论文详解

    论文名称 Run Don t Walk Chasing Higher FLOPS for Faster Neural Networks 论文地址 https arxiv org abs 2303 03667 作者发现由于效率低下的每秒浮点运
  • 全相联映射、直接映射、组相连映射

    目录 1 主存中的块放到cache 高速缓冲存储器 中哪个位置 2 标记位 有效位 命中是什么 2 1 标记位 2 2 有效位 2 3 命中 3 全相联映射 4 直接映射 4 1优化标记位 5 组相连映射 6 课后习题 1 主存中的块放到c