缓存大小和设置关联映射

louiej15

考虑一台具有256 KB字节可寻址主存储器和8字节块大小的机器。具有由32条行(分为2行集)组成的组关联映射的缓存。

  1. 缓存中将存储多少字节?
  2. 主存储器地址中有多少位?
  3. 如何划分主内存地址以提供到高速缓存的映射?
  4. 将具有以下地址的字节存储到哪个组中-110101010101011010?

关于原因的解释将非常有用,因为我正试图了解如何解决这些问题以进一步理解。

维维克

在回答之前,让我们看一下一些计算(请参阅以2为底的对数):

i)套数= 32/2 = 16因此,指向一个地址集合set = log 16 = 4所需的位数

ii)在行= log 8 = 3内作为偏移保留的位数8是此处的块或行大小。

iii)RAM中的块数= 256KB / 8 = 2 ^ 15

  1. 高速缓存最多可容纳32 X 8 = 256字节。(这与所使用的映射技术无关)
  2. 主内存地址必须为18位。(因为RAM的大小为256 X 8 = 2 ^ 18和log(2 ^ 18)= 18。
  3. 主内存实际上并没有被划分,尽管您可能会认为它在逻辑上被划分为16个(组数)不同的区域,每个区域由2 ^ 11行组成,因此该区域中的每一行仅会映射到特定的组中。由于存在2 ^ 15个块,因此将2 ^ 15除以16得到的数字为2 ^ 11。
  4. 110101010101011010:在该地址中,首先留出最后3位用于偏移,接下来的4位是1011,相当于十进制的11。因此这将落入第11集

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

缓存大小和设置关联映射

来自分类Dev

直接映射的缓存和完全关联的缓存之间的区别

来自分类Dev

如何计算完整关联映射缓存的标签?

来自分类Dev

设置“真实路径缓存大小”

来自分类Dev

缓存大小和计算缓存集

来自分类Dev

C-缓存行和关联

来自分类Dev

如何在ZODB中设置缓存大小?

来自分类Dev

映射和序列化双向关联

来自分类Dev

映射和序列化双向关联

来自分类Dev

JavaScript:关联数组和映射

来自分类Dev

直接映射指令高速缓存VS使用LRU替换的完全关联指令高速缓存

来自分类Dev

如何根据变量设置大小映射?

来自分类Dev

无法在 PrePersist 事件期间设置映射关联 ID

来自分类Dev

PHP关联数组和未设置

来自分类Dev

Sequelize & Express 模型和关联设置

来自分类Dev

Jekyll-设置缓存头和gzip

来自分类Dev

Redis作为缓存-超时和maxclients设置

来自分类Dev

如何设置CSS和JavaScript的缓存

来自分类Dev

设置Google Chrome浏览器媒体缓存的大小

来自分类Dev

在哪里设置内核缓冲区/缓存大小

来自分类Dev

fd和epoll集中的关联状态之间的映射

来自分类Dev

f#设置和映射相等

来自分类Dev

Django设置和视图映射错误

来自分类Dev

Windows文件关联基于文件类型和大小

来自分类Dev

如何获取ServiceWorker缓存中元素的大小和/或数量?

来自分类Dev

/ sys / device /和dmidecode报告的不同CPU缓存大小

来自分类Dev

编写程序以获取CPU缓存的大小和级别

来自分类Dev

iPhone和iPad上的缓存行大小是多少?

来自分类Dev

缓存:块大小和未命中率