存储系统错题整理

本文主要整理了关于存储系统的常见错题,涉及到CPU指令中的地址码与数据码、RAM与ROM的区别、缓存(Cache)的工作原理,包括命中与未命中情况下的处理方式、地址转换以及虚存和外存的概念。内容涵盖了按字节编址、块大小、寻址方式等方面,有助于深入理解存储系统的运作机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里说的地址码和数据码应该是指CPU发出一条指令中的访问的存储单元和写入的数据

组相联,组号=块数 % 组数 ,主存单元是按照字节编址的,所以129号单元要转换为块数,129 / 32 = 4,该单元位于第四块,4 % 8 = 4

计算机主存习惯上分为RAM和ROM,RAM用来存储当前运行的程序和数据,并可以在程序运行过程中反复修改其内容,ROM用来存储不变或基本不变的程序和数据(监控程序、引导检测程序、常数表格等)

RAM 随机存取易失存储器

ROM 只读非易失存储器

有问题

 对比,15题为什么?

“当cache未命中时,需要访问主存”,所以访问主存就是指cpu访问主存,所以数据宽度就是字

 写命中,有写回法和全写法

写未命中,有写分配法和非写分配法

一般写回法和写分配法一起用,全写法和非写分配法一起用

有问题

 没有提示,就默认按字编址,cache 块(行)数 = 16KB / 8 * 32 = 16 * 1024 * 8 / 8 * 32 = 512 行

16进制的主存地址怎么转化?十六进制转换为二进制是这种题最舒服的写法

每个字块8个字,每个字32位,每个字块容量为 8*32 = 256位,没有说明寻址方式,默认按字节寻址,所以块内256/8 = 32 = 2^5 >>块内地址为5位

这个题给的条件比较严谨

分析:

十六进制转换为二进制是这种题最舒服的写法

0001 0010 0011 0100 0101 0110

根据题意是按字节编址,块内有32个字节,也就是 后5位为字地址

cache共有16行 从后往前数4位为行号

前面 00 0100 1000 1101就是块号

 跟前面17题是一样的,区别在于全相联映射cache中只有tag和子地址,因此去掉后五位前面都是tag

 块大小为一个字,按字编址,每一个单元都是一个块,这些都是偶数块,说明所有的数据都在一个组中来回替换

多级存储体系由cache,主存,辅存构成

 页面大小4KB,默认按字节编址,字内地址位4KB = 2 ^ 12,字内地址12位

0011 1010 0101 1011,所以0011就是页面号就是3号

 区分虚存和外存的区别!虚存是实际不存在的

 页式虚拟器地址分为 页号 + 页内地址 ,

页内地址位数 = 页面大小 / 寻址方式

从后往前数,前几位就是页号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值