【计算机组成原理】如何计算cache行的位数和cache的位数

您所在的位置:网站首页 cache的总容量为多少位 【计算机组成原理】如何计算cache行的位数和cache的位数

【计算机组成原理】如何计算cache行的位数和cache的位数

2024-07-13 06:07| 来源: 网络整理| 查看: 265

cache中每一行分为标记位,有效位,(脏位),数据位

前面三个好理解,主要说下数据位

下面贴一张王道的图,下图位Cache的结构,最右边就是数据位,它的位数是由块大小决定的

数据位就是cache要存储的数据,对于1B的数据,就是需要8位来存储,1位来表示

同理对于32位的数据,就是32位来存储,5位来表示,平时我们碰到的题目让我们表示的居多,所以容易混淆表示(定位)和存储的两种概念  

来看例题(2题)

下面的t,c,b分别是主存字块标记,Cache字块地址,字块内地址

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

大小大小的二的次方表示法表示位数存储位数主存 4GB2的32次方需要32位来表示(定位)这个地址4G*8位cache32KB2的15次方需要15位来表示(定位)这个地址32K*8位块32B2的5次方需要5位来表示(定位)这个地址32*8位

主存地址结构

b=5位        也就是大小的二的次方表示法的对数

c=15-5=10位     

t=32-15=17位

t            c          b

17        10         5

cache行的位数=标记位 + 有效位 + 脏位 + 数据位 标记位是17位,有效位1位,回写法脏位一位,数据就是一块的数据,一块的大小为32B,需要32*8=256位来存储

cache行的位数=17+1+1+256=275位

2.假定主存地址为32 位,按字节编址,主存和Cache 之间采用直接映射方式,主存块大小为4 个字,每字32 位,采用回写(Write Back)方式,则能存放4K 字数据的Cache 的总容量的位数至少是( )。

A.146k   B.147K  C.148K  D.158K

Cache大小=4K字=4K*32/8=16KB

块大小=4字=4*32/8=16B

大小大小的二的次方表示法表示位数存储位数主存 4GB2的32次方需要32位来表示(定位)这个地址4G*8位cache16KB2的14次方需要14位来表示(定位)这个地址16K*8位块16B2的4次方需要4位来表示(定位)这个地址16*8位

主存地址结构

b=4位        也就是大小的二的次方表示法的对数

c=14-4=10位     

t=32-14=18位

t            c          b

18        10         4

cache行的位数=标记位 + 有效位 + 脏位 + 数据位 标记位是18位,有效位1位,回写法脏位一位,数据就是一块的数据,一块的大小为16B,需要16*8=128位来存储

cache行的位数=18+1+1+128=148位 现在有1K行 所以cache的位数=行数*每一行的位数=148K位



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3