当前位置: 首页 > news >正文

计算机组成原理---Cache的基本工作原理习题

对应知识点:

Cache的基本原理

1.某存储系统中,主存容量是Cache容量的4096倍,Cache 被分为 64 个块,当主存地址和Cache地址采用直接映射方式时,地址映射表的大小应为()(假设不考虑一致维护和替换算法位。)

A.6*4097bit        B.64*12bit        C.6*4096bit        D.64*13bit

分析

地址映射表即标记阵列,由于Cache被分为64个块,因此Cache有64行,采用直接映射,一行相当于Cache的一组。因此标记阵列每一行存储一个标记项。

由于采用直接映射方式,所以主存比Cache多出的位数就是标记的位数。2^12=4096,是Cache容量的4096倍,即地址长度比Cache长12位,所以标记位位数为12位,再加上1位有效位得到每行用于地址映射的位数为12+1=13,所以 Cache映射表的大小为64*13bit。

答案:D

2.有一主存-Cache层次的存储器,其主存容量为1MB,Cache 容量为 16KB,每块有8个字,每字32位,采用直接地址映射方式,Cache起始字块为第0块,若主存地址为35301H,且CPU访问 Cache命中,则在Cache的第()(十进制表示)字块中。

A.152        B.153        C.154        D.151

分析

由于采用直接地址映射方式,所以主存地址比Cache地址多出的位数即标记位,所以标记位位数:1MB/16KB=64,2^6=64。标记位数为6。块内地址为低5位(2^5=32),所以

0011 0101 0011 0000 0001中高6位和低5位分别为标记位和块内地址,其余的01 0011 000就是Cache字块地址,转换为十进制:152

但如果不是采用直接地址映射方式,那么就不能直接计算出标记位了。每块有8个字,每字32位,则每个Cache块大小为32B,本题有2^14/2^5=2^9个Cache块。所以块内地址往前数9位就是字块地址0011 0101 0011 0000 0001。

答案:A

3.设有8页的逻辑空间,每页有1024B,它们被映射到32块的物理存储区中,则按字节编址逻辑地址的有效位是(),物理地址至少是()位。

A.10,12        B.10,15        C.13,15        D.13,12

分析

页号地址有3位(2^3=8),每页为1024B,页内地址为10位,因此逻辑地址为13位。对于物理地址,块内地址和页内地址一样有10位,内存至少有32=2^5个物理块,所以表示块号的地址至少有5位,因此物理地址至少有15位。

答案:C

4.对于n-路组相联映射Cache,在保持n及主存和 Cache 总容量不变的前提下,将主存块大小和Cache 块大小都增加一倍,则下列描述中正确的是()。

A.字块内地址的位数增加1位,主存tag字段的位数增加1位

B.字块内地址的位数增加1位,主存tag字段的位数不变

C.字块内地址的位数减少1位,主存tag字段的位数增加1位

D.字块内地址的位数增加1倍,主存、字段的位数减少一半

分析

由于Cache总容量不变,Cache块大小增加一倍,则Cache组数减少一半。组相联映射的主存地址:标记+Cache组号+块内地址组成,由于Cache组数减少一半,则Cache组号减少1位。

由于主存块大小增加了一倍,所以则块内地址会增加1位。例如,主存块大小原来为32B(2^5),增加一倍变为64B(2^6),所以块内地址增加1位。

主存地址位数不变,块内地址+1,Cache组号-1,则标记位数不变。

答案:B

5.假设主存地块位数为 32 位,按字节编址,主存和 Cache 之间采用全相联映射方式,主存块大小为1个字,每字 32位,采用回写(wite back)方式和随机替换策略,则能存放32K字数据的Cache 的总容量是至少应有()位。

A. 1536K        B. 1568K        C2016K        D.2048K

分析

每个Cache行对应一个标记项,标记项包括有效位,脏位,替换控制位,标记位

如果题目说采用写回法,那么一定要加1位修改位(脏位)。如果题目说随机替换策略,则说明不需要替换控制位。如果题目说不考虑脏位和替换控制位,那么就只需要考虑有效位和标记位即可。

主存块大小32位(4B),所以块内地址位数2位(2^2),主存块位数为32位,由于采用全相联映射,所以主存地址组成为“标记+块内地址”,标记位数32-2=30位。

所以每个Cache行的总位数为32bit(数据位)+30bit(标记)+1bit(修改位)+1bit(有效位)=64bit。所以cache总容量为32K*64bit=2048Kbit。

答案:D

6.假定8个存储器模块采用交叉方式组织、存储器芯片和总线支持突发传送,CPU通过存储器总线读取数据的过程为:发送首地址和读命令需1个时钟周期,存储器准备第一个数据需8个时钟周期,随后每个时钟周期总线上传送1个数据,可连续传送8个数据(即突发长度为8)。若主存和Cache之间交换的主存块大小为64B,存取宽度和总线宽度都为8B,则 Cache 的一次缺失损失至少为()个时钟周期。

A.17        B.20        C.33        D.80

分析:

一次缺失损失需要从主存读出一个主存块(64B),由于总线宽度为8B,传送的一个数据大小为8B,又因为突发长度为8(可连续传送8个数据),所以每个突发传送总线事务可读取8B*8=64B。刚好和需要从主存读出的数据大小相同。

Cache的一次缺失损失至少为:发送首地址和读命令的1个时钟周期 + 存储器准备第一个数据的8个时钟周期 + 随后连续传送的8个数据块的8个时钟周期 = 1 + 8 + 8 = 17个时钟周期。

答案:A

7.有如下 C 语言程序段:

for (k = 0; k < 1000; k++)a[k] = a[k] + 32;

若数组 a 以及变量 k 均为 int 型,int 型数据占 4B,数据 Cache 采用直接映射方式,数据区大小是 1KB,块大小是 16B,该程序段执行前 Cache 为空,则该程序段执行过程中,访问数组 a 的 Cache 的缺失率是:

A. 1.25%

B. 2.5%

C. 12.5%

D. 25%

分析:

数据区大小是 1KB,块大小是 16B,Cache 有 1KB/16B = 64 行,每个块可以装 16B/4B = 4 个数组元素。

对于数组中任意一个元素 a[k],只有在 a[k] = a[k] + 32 这行代码中会对 a[k] 进行访问。其中包含读 a[k] 一次,做完加法后写 a[k] 一次。

每次调入块后加载连续的四个数组元素,a[4i]、a[4i + 1]、a[4i + 2]、a[4i + 3],其中 i 为整数,i = 0, 1, …, 249。

答案:C

以上内容来自:

浅谈408真题之举一反三 - 知乎 (zhihu.com)

他的补充也特别好,可以打开看看。

8.若计算机主存地址为32位,按字节编址,Cache数据区大小为32KB,主存块大小为 32B,采用直接映射方式和回写(Write Back)策略,则Cache行的位数至少是()

A.275        B.274        C.258        D.257

分析:

Cache数据区大小为32KB,主存块大小为32B,于是Cache中共有1K个Cache行,由于采用直接映射方式,所以映射为1K个分组,组号长度为10(1K=2^10)。主存块大小为32B,则块内地址长度为5bit(2^5=32B),主存地址为32位,则标记位数为:32-10-5=17位。

所以Cache行的总位数应为:32B=32*8bit=256bit(数据位,和主存块大小相同)+17bit(标记位)+1bit(写回法,脏位)+1bit(有效位,一定不要忘记)=275bit

答案:A

9.若计算机主存地址为 32 位,按字节编址,某Cache的数据区容量为32KB,内存块大小为64B,采用8路组相联映射方式,该Cache中比较器的个数和位数分别为()

分析:

主存块大小为64B,那么块内地址有6位(2^6=64),Cache数据区容量为32KB,内存块大小为64B(等于Cache块大小),所以Cache的总块数为32KB/64B=2^9。由于采用8路组相联映射的方式,所以每8个Cache块为一组,则Cache组数:2^9/8=2^6组,所以组号地址有6位。所以标记位有32-6-6=20位。

“比较器”用于并行比较分组中所有Cache行的标记与主存地址标记,因此比较器的个数即每个分组的Cache行数8。比较器的位数就是标记的位数8位。
答案: A

相关文章:

计算机组成原理---Cache的基本工作原理习题

对应知识点&#xff1a; Cache的基本原理 1.某存储系统中&#xff0c;主存容量是Cache容量的4096倍&#xff0c;Cache 被分为 64 个块&#xff0c;当主存地址和Cache地址采用直接映射方式时&#xff0c;地址映射表的大小应为&#xff08;&#xff09;(假设不考虑一致维护和替…...

springboot项目中切数据库(mysql-> pg)带来的适配问题:typeHandler

一、数据表中有一张表&#xff0c;名为role_permission&#xff0c;DDL如下&#xff1a; CREATE TABLE "public"."role_permission" ( "role_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, "permiss…...

从零开始的<vue2项目脚手架>搭建:vite+vue2+eslint

前言 为了写 demo 或者研究某些问题&#xff0c;我经常需要新建空项目。每次搭建项目都要从头配置&#xff0c;很麻烦。所以我决定自己搭建一个项目初始化的脚手架&#xff08;取名为 lily-cli&#xff09;。 脚手架&#xff08;scaffolding&#xff09;&#xff1a;创建项目时…...

Hadoop升级失败,File system image contains an old layout version -64

原始版本 Hadoop 3.1.3 升级版本 Hadoop 3.3.3 报错内容如下 datasophon 部署Hadoop版本 查看Hadoop格式化版本 which hadoop-daemon.sh/bigdata/app/hadoop-3.1.3/sbin/hadoop-daemon.sh删除原来的旧版本 rm -rf /bigdata/app/hadoop-3.1.3查看环境变量 env|grep HADOOPHAD…...

[机器学习算法]决策树

1. 理解决策树的基本概念 决策树是一种监督学习算法&#xff0c;可以用于分类和回归任务。决策树通过一系列规则将数据划分为不同的类别或值。树的每个节点表示一个特征&#xff0c;节点之间的分支表示特征的可能取值&#xff0c;叶节点表示分类或回归结果。 2. 决策树的构建…...

springboot应用cpu飙升的原因排除

1、通过top或者jps命令查到是那个java进程&#xff0c; top可以看全局那个进程耗cpu&#xff0c;而jps则默认是java最耗cpu的&#xff0c;比如找到进程是196 1.1 top (推荐)或者jps命令均可 2、根据第一步获取的进程号&#xff0c;查询进程里那个线程最占用cpu&#xff0c;发…...

反激开关电源EMI电路选型及计算

EMI &#xff1a;开关电源对电网或者其他电子产品的干扰 EMI &#xff1a;传导与辐射 共模电感的滤波电路&#xff0c;La和Lb就是共模电感线圈。这两个线圈绕在同一铁芯上&#xff0c;匝数和相位都相 同(绕制反向)。 这样&#xff0c;当电路中的正常电流&#xff08;差模&…...

vue3前端对接后端的图片验证码

vue3前端对接后端的图片验证码 <template> <image :src"captchaUrl" alt"图片验证码" click"refreshCaptcha"></image> </template><script setup>import {ref} from "vue";import {useCounterStore} …...

【Unity】RPG2D龙城纷争(四)要诀、要诀数据集

更新日期&#xff1a;2024年6月20日。 项目源码&#xff1a;第五章发布&#xff08;正式开始游戏逻辑的章节&#xff09; 索引 简介要诀数据集&#xff08;AbilityDataSet&#xff09;一、定义要诀数据集类二、要诀属性1.要诀类型2.攻击距离3.基础命中、暴击率4.基础属性加成5.…...

一种基于非线性滤波过程的旋转机械故障诊断方法(MATLAB)

在众多的旋转机械故障诊断方法中&#xff0c;包络分析&#xff0c;又称为共振解调技术&#xff0c;是目前应用最为成功的方法之一。首先&#xff0c;对激励引起的共振频带进行带通滤波&#xff0c;然后对滤波信号进行包络谱分析&#xff0c;通过识别包络谱中的故障相关的特征频…...

HarmonyOS Next 系列之从手机选择图片或拍照上传功能实现(五)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现&#xff08;一&#xff09; HarmonyOS Next 系列之验证码输入组件实现&#xff08;二&#xff09; HarmonyOS Next 系列之底部标签栏TabBar实现&#xff08;三&#xff09; HarmonyOS Next 系列之HTTP请求封装和Token…...

如果xml在mapper目录下,如何扫描到xml

如果xml在mapper目录下,如何扫描到xml 项目结构 src├── main│ ├── java│ │ └── com│ │ └── bg│ │ ├── Application.java│ │ ├── domain│ │ │ └── User.java│ │ …...

什么是无限铸币攻击?它是如何运作的?

一、无限铸币攻击解释 无限铸币攻击是指攻击者操纵合约代码不断铸造超出授权供应限制的新代币。 这种黑客行为在去中心化金融 (DeFi) 协议中最为常见。这种攻击通过创建无限数量的代币来损害加密货币或代币的完整性和价值。 例如&#xff0c;一名黑客利用了 Paid 网络的智能…...

【Android】怎么使APP进行开机启动

项目需求 在Android系统开启之后&#xff0c;目标app可以在系统开机之后启动。 项目实现 使用广播的方式 首先我们要创建一个广播(这里是启动了一个Service服务) public class BootReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, I…...

详细分析Element Plus的el-pagination基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 需求&#xff1a;从无到有做一个分页并且附带分页的导入导出增删改查等功能 前提一定是要先有分页&#xff0c;作为全栈玩家&#xff0c;先在前端部署一个分页的列表 相关后续的功能&#xff0c;是Java&#xff0c;推荐阅读&#x…...

ubuntu换镜像源方法

查看ubuntu的版本&#xff0c;不同的版本对应的不同的镜像源 cat /etc/issue Ubuntu 18.04.6 LTS \n \l 先备份一个&#xff0c;防止更改错误 cobol cp /etc/apt/sources.list /etc/apt/sources.list.backup 先进入清华源,搜索ubuntu&#xff0c;点击问号 点进来可以看到可以…...

python flask配置邮箱发送功能,使用flask_mail模块

&#x1f308;所属专栏&#xff1a;【Flask】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的点…...

Flask快速入门(路由、CBV、请求和响应、session)

Flask快速入门&#xff08;路由、CBV、请求和响应、session&#xff09; 目录 Flask快速入门&#xff08;路由、CBV、请求和响应、session&#xff09;安装创建页面Debug模式快速使用Werkzeug介绍watchdog介绍快速体验 路由系统源码分析手动配置路由动态路由-转换器 Flask的CBV…...

人工智能指数报告

2024人工智能指数报告&#xff08;一&#xff09;&#xff1a;研发 前言 全面分析人工智能的发展现状。 从2017年开始&#xff0c;斯坦福大学人工智能研究所&#xff08;HAI&#xff09;每年都会发布一份人工智能的研究报告&#xff0c;人工智能指数报告&#xff08;AII&…...

聊聊 Mybatis 动态 SQL

这篇文章&#xff0c;我们聊聊 Mybatis 动态 SQL &#xff0c;以及我对于编程技巧的几点思考 &#xff0c;希望对大家有所启发。 1 什么是 Mybatis 动态SQL 如果你使用过 JDBC 或其它类似的框架&#xff0c;你应该能理解根据不同条件拼接 SQL 语句有多痛苦&#xff0c;例如拼…...

【windows|004】BIOS 介绍及不同品牌电脑和服务器进入BIOS设置的方法

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 ​ &#x1f3c5;阿里云ACE认证高级工程师 ​ &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社…...

lvgl的应用:移植MusicPlayer(基于STM32F407)

目录 概述 1 软硬件环境 1.1 UI开发版本 1.2 MCU开发环境 1.3 注意点 2 GUI Guider开发UI 2.1 使用GUI Guider创建UI 2.2 GUI Guider编译项目和测试 2.2.1 GUI Guider编译项目 2.2.2 编译 2.3 了解GUI Guider生成代码 3 移植项目 3.1 Keil中加载代码 3.2 调用G…...

Hadoop3:MapReduce中的Shuffle机制

一、流程图 Shuffle是Map方法之后&#xff0c;Reduce方法之前的数据处理过程称。 二、图解说明 1、数据流向 map方法中context.write(outK, outV);开始&#xff0c;写入环形缓冲区&#xff0c;再进行分区排序&#xff0c;写到磁盘 reduce方法拉取磁盘上的数据&#xff0c;…...

从设计到实践:高速公路监控技术架构全剖析

随着高速公路网络的迅速扩展和交通流量的日益增加&#xff0c;高效的监控系统成为保障交通安全、提升管理效率的重要手段。本文将深入探讨高速公路监控技术架构&#xff0c;从设计理念到实际应用&#xff0c;全面解析这一关键技术的各个环节。 ### 一、系统设计理念 #### 1. 高…...

Go Context

Context 介绍 Context 代表了协程的上下文&#xff0c;用以在父子协程之间传递控制信号&#xff0c;共享变量等操作// context.Context 接口 type Context interface {// 当Context自动取消或者到了取消时间被取消后返回Deadline() (deadline time.Time, ok bool)// 当Contex…...

centOS Stream9配置NAT8网络

首先将VMware关机&#xff0c;添加网络适配器 启动虚拟机&#xff0c;查看ens192是否打开连接 安装的图形化需要查看右上角电源处网卡是否连接 最小化安装一般不会出现未连接的状态 使用ip a 查看 配置网卡文件 cd /etc/NetworkManager/system-connections/cd到当前目录下…...

Linux - 进程

一、什么是进程 首先&#xff0c;Linux是一个多用户多进程的操作系统&#xff0c;系统上可以同时运行多个进程。 进程的产生&#xff1a;①是在执行程序或者命令时产生的&#xff1b;②定时任务进程 进程的类型&#xff1a;前台进程/后台进程 前台进程&#xff1a;一个终端…...

nginx+tomcat负载均衡、动静分离群集【☆☆☆☆☆】

Nginx是一款非常优秀的HTTP服务器软件&#xff0c;性能比tomcat更优秀&#xff0c;它支持高达50 000个并发连接数&#xff0c;拥有强大的静态资源处理能力&#xff0c;运行稳定&#xff0c;内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的…...

MySQL容器部署步骤

1、拉取MySQL镜像 docker pull mysql # 默认拉取最新版本docker pull mysql:5.7 # 拉取5.7版本docker pull mysql:8.0 # 拉取8.0版本 2、创建挂载目录 # 创建挂载目录 mkdir -p /home/mysql/conf/ # -p: 多级创建mkdir -p /home/mysql/log/mkdir -p /home/mysql/data/ 3…...

在 Ubuntu 18.04.4 LTS上安装 netmap

文章目录 步骤运行配置文件编译安装使用netmap 步骤 sudo su sudo apt-get update sudo apt install build-essential sudo apt-get install -y git sudo apt-get install -y linux-headers-$(uname -r)rootVM-20-6-ubuntu:/home/ubuntu/netmap/LINUX# git clone https://gith…...

做首饰网站/移动慧生活app下载

关键词&#xff1a;电网络&#xff1b;传递函数&#xff1b;频域模型系统的数学模型是该系统在信号传递过程中的动态特性的数学描述。它是舍弃了各种系统具体特点而抽象出来的共同性质&#xff0c;从而成为研究系统的工具。建立描述控制系统运动特性的数学模型&#xff0c;…...

武汉网络科技有限公司排名/福州seo按天收费

话说使用Redis已经有好一段时间&#xff0c;趁有点时间&#xff0c;结合Guang.com 使用经验&#xff0c;总结一下Redis 在社会化电商网站的实际应用场景。文笔较差&#xff0c;各位看官&#xff0c;凑合着看下吧。 1. 各种计数&#xff0c;商品维度计数和用户维度计数 说起电商…...

免费铺货诚招代理商/百度seo工具

这次给大家带来js如何直接获取网页中图片地址&#xff0c;js直接获取网页中图片地址的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。第一种方法&#xff1a;js通过正则实现/*** 获取html代码中图片地址* param htmlstr* returns {Array}*/function ge…...

购物网站开发/项目网站

&#xff08;尊重劳动成果&#xff0c;转载请注明出处&#xff1a;http://blog.csdn.net/qq_25827845/article/details/73565502冷血之心的博客&#xff09; 剑指Offer&#xff08;第二版&#xff09;面试题34&#xff1a;二叉树中和为某一个值的路径 题目&#xff1a;二叉树中…...

做棋牌网站抓到会怎么量刑/朝阳网站建设公司

在前面我们已经完成了ActiveX控件的开发&#xff0c;接下来的就是发布它了。 首先&#xff0c;我们建立一个windows安装项目&#xff0c;并将ActiveX控件的主输出添加到项目输出中。然后&#xff0c;改动ActiveX控件的主输出文件&#xff0c;将其Register属性改为vsdrpCOM.如图…...

做asmr的网站/运营推广渠道有哪些

我们来看下面的例子&#xff1a;create or replace view testviewasselect empno,ename from emp where ename like ‘M%’with check option; 这里我们创建了一个视图&#xff0c;并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果&#xff1a;select …...