(计算机组成原理)Cache和主存之间的映射方式

2023-05-16

地址映射变换机构是将CPU送来的主存地址转换为Cache地址。由于贮存和Cache的块大小相同,块内地址都是相对于快的起始地址的偏移量(即低位地址相同),因此地址变换主要是主存块号与Cache块号之间的转换。


1.直接映射

 上图中Cache为8行,主存为256行。Cache被分为8块,因此在主存中每8块可以看成一个轮回,主存可以分为32个轮回。

优点:实现简单。只需要利用主存地址的某些位直接判断,就可以确定所需字块是否在Cache中。

缺点:1)不够灵活,由于每个主存块只能固定地对应某个Cache块,即使Cache内还空着许多位置也不能占用,所以存储空间得不到充分利用。

           2)冲突概率高(抖动);例如3号Cache要频繁的切换对应11,19,27号主存。

识别:

α. CPU访存指令指出一个内存地址,该内存地址包含tag,块号,字等字段。

β. 根据内存中的块号c找到Cache中对应的块号i(Cache中的块号=主存中的块号 mod Cache中的块数)

       *若相符合且有效位为‘1’,表示命中,然后用内存地址的低b位在Cache中读取所需的字即可。

       *若不符则需要从主存中读取所需要的块来替换Cache中旧的块,同时将信息送往CPU,并且修改标记位


2.全相联映射

全相联映射允许主存中每一个字块映射到Cache中的任何一块的位置上,如下图

优点:1) 由于全相联映射允许主存的每一字快映射到Cache中的任何一个字快,因此Cache的命中率可以提高

           2)通俗地说,全相联映射就是“有位置可以坐”,见笑了块的冲突率,进而提高了Cache的利用率。

缺点:1)tag的位数增加了,访问Cache时主存字块标记需要和Cache的全部“标记”进行比较。

识别:

α.  CPU访存指令指出一个内存地址,该内存地址包含块号,字等字段。

 β. Cache所有行的标记位和内存地址的块号一同送入比较器中比较(由于主存中有256=2^{8}块,则需要8位来作为标记位)


3.组相联映射

组相联映射是对直接映射和全相联映射进行折中的一种方式。

*注意事项:

1)当组相联只有一组时,此时组相联映射就等同于全相联映射:每组只有一块时就等同于直接映射。

2) 在组相联映射中,主存地址高位到低位划分成三部分:标记tag||组号||块内字地址

3)块内字地址=log_{2}(块大小)    组号=log_{2}(Cache组数)     标记tag=主存地址的其余位

识别:

α. CPU访存指令指出一个内存地址,该内存地址包含tag,组号,字等字段

β. 通过组号找到Cache中对应的组,然后将Cache中组的每一块tag和内存地址的tag比较是否符合


牛刀小试

1.容量为64块的Cache采用组相联映射方式,字块大小为128个字,每4块为一组如果主存为4K块,按字编制,那么主存地址位和主存标记位为多少?

主存地址位=字块大小×块数=128×4K=2^{19}

主存地址位(2^{19})=主存标记位×Cache组位(64/4)×字块位数(128)

主存标记位=8位

2.Cache用组相联映射,一块大小为128B,Cache共64块,4块分一组,主存有4096块,主存地址共需多少位?

主存地址位=字块大小×块数=128*4096=2^{19}

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

(计算机组成原理)Cache和主存之间的映射方式 的相关文章

  • 5.6.2_IEEE754

    文章目录 一 引子 二 移码 1 移码与补码 2 移码本身 1 127 2 3 3 偏置值 普通情况 特殊情况 三 IEEE 754标准 1 格式 2 类型 1 短浮点数 2 double型 3 案例 1 案例一 2 案例二 4 范围 1
  • 补码除法运算(加减交替法)

    x 补 00 1000 除数y 补 11 0101 两个数是异号 因此使用x 补 y 补 11 1101 11 1101继续与y 补 对比 发现是同号 商上1 余数11 1101向左移动一位 再加上 y 补 结果为00 0101 余数00
  • 5.5_数据的存储和排列

    文章目录 一 大小端模式 二 边界对齐 在这个小结中 我们要探讨的是 数据的存储和排列 一 大小端模式 首先来看一个之前提到过的问题 叫做大小端模式 我们在内存里经常会存储某一些多字节的数据 比如 c 语言里的 Int 型变量 在很多时候占
  • [计算机组成原理] 以低字节地址为字地址

    以低字节地址为字地址 就是小端存储模式 数据低位 或者说低字节 存储在内存低地址 以高字节地址为字地址 就是大端存储模式 数据低位 或者说高字节 存储在内存高地址 现在看一个例题 这个题目有一个需要明确的地方 什么是第一 第二 第三字节 对
  • 同步通讯和异步通讯(简单理解)

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

    IRQL是Interrupt ReQuest Level 中断请求级别 一个由windows虚拟出来的概念 划分在windows下中断的优先级 这里中断包括了硬中断和软中断 硬中断是由硬件产生 而软中断则是完全虚拟出来的 处理器在一个IRQ
  • 计算机组成原理笔记

    CPU的功能和结构 运算器 对数据进行加工 算术逻辑单元ALU 暂存寄存器 通用寄存器 累加寄存器ACC 程序状态字寄存器PSW 移位器 计数器 控制器 取指令 分析指令 执行指令 中断处理 程序计数器PC 指令寄存器IR 指令译码器 时序
  • 计算机组成原理--基于Logisim的4位并行加法器实验的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的4位并行加法器实验 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Log
  • 当绘图遇上Caché之元数据代理

    很久以前到沈阳实习的时候还一个个问度娘C 画图 画了电路图绘制软件的毕业设计 雪花屏保等等 搞LIS软件后绘制各种仪器图 对C 画笔 画字符串 画线 画圆等等耳熟能详 然而却碰到一个问题 我们的仪器大部分是盒子用数据库M连接的 如果盒子仪器
  • 《计算机组成原理实验》 多周期CPU

    计算机组成原理实验 多周期CPU 前言 这是中山大学2018年计算机组成原理实验中多周期CPU的实验报告 仿真与写板的内容暂略 所有源代码 包括写板 已经上传至我的github当中 欢迎大家访问 github个人主页 https stara
  • 快速傅氏变换之旅(二) 七种FFT算法速度比较(含代码)

    转载请标明是引用于 http blog csdn net chenyujing1234 例子代码 编译工具 VS2005 http www rayfile com zh cn files 76968e5e 7bde 11e1 8c13 00
  • 计算机组成原理——单周期CPU

    单周期CPU 项目代码 实验原理 MIPS指令 rom coe文件 代码 顶层模块SingleCycleCPU display外围模块 PC instructionMemory Alu模块 DataMemory ControlUnit 旧的
  • MPC8314 (e300核) uboot 调试

    历经2个多月 完成了MPC8314最小系统 uboot 及Linux内核和根文件系统的调试 这是我第一次从头开始做小系统和内核的移植工作 虽然调试的比较辛苦 但是收获还是很多的 下面就介绍一下调试的过程和一些原理性的东西 1 MPC8314
  • 面向对象编程是什么意思呢?汇总

    https blog csdn net qq 32381815 article details 79119996 面向对象思想 谈谈你对面向对象的理解 https blog csdn net qsbbl article details 71
  • rac术语小结

    author skatetime 2010 03 01 rac术语小结 CSS 集群同步服务 Cluster Syncronization Service 功能 Manages the cluster configuration by co
  • Buffer Cache和Page Cache

    概念 如高速缓存 cache 产生的原理类似 在I O过程中 读取磁盘的速度相对内存读取速度要慢的多 因此为了能够加快处理数据的速度 需要将读取过的数据缓存在内存里 而这些缓存在内存里的数据就是高速缓冲区 buffer cache 下面简称
  • KVM中使用usb设备

    进来学习usb驱动 看到网上都在分析usb skeleton c的驱动框架 就想对其调试一下 看一下其函数调用流程 要想调试usb skeleton 首先需要kvm能够探测到usb设备 其次 在kvm中编译usb skeleton c 最后
  • CF、SF、OF、ZF标志位

    没学汇编 这种题我真是做一道错一道 OF overflow flag 溢出标志位 溢出标志位 OF 1 表示带符号整数运算时结果发生溢出 对于无符号整数运算 OF没有意义 对于有符号数的溢出判断方式有 1 采用一位符号位 思想为 或 则为溢
  • slabinfo解读

    文件 proc slabinfo统计slab分配器相关信息 如 cat proc slabinfo slabinfo version 1 1 kmem cache 65 70 108 2 2 1 ip fib hash 10 112 32
  • 5.1 中央寄存器的原理和组成

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

随机推荐