当前位置:首页 → 计算机类 → 软件水平考试 → 中级嵌入式系统设计师->某32位总线处理器Cache直接映射方式如下图所示,若Cac
某32位总线处理器Cache直接映射方式如下图所示,若Cache大小为16KB,每个Cache块为16字节,则Offset,Index和Tag所占位数分别是( )。

本题考查嵌入式处理器Cache基础知识。Cache是一种高速缓冲储存器,它主要作用是提高CPU数据输入速率,调和CPU速度与内存存储之间巨大差异。通俗一点说就是CPU太快,内存速度相对较慢,而Cache速度快,但是Cache价格比较昂贵。很容易想到一个办法就是利用小容量Cache在CPU和内存中间当桥梁,也就是说把CPU在下一个时间段需要用到数据提前存入Cache中,当CPU需要时候可以快速从Cache中取得数据,这样就可以在一定程度上提高计算机性能。但怎样才能知道CPU在下一个时间段需要用到内存中那些数据呢?局部性原理就可以解决这个问题。使用Cache改善系统性能依据就是局部性原理。局部性原理反映在计算机中就是如果CPU当前时间用到内存中某块数据,那么CPU在下一个时间段内用到这块数据周围数据可能性就非常大。Cache即是按照这种原理,把这个时间段中CPU用到 这块数据周围数据存入Cache中为下一个时间段CPU使用做准备,这样当下一个时间段CPU需要数据了就可以直接从储存较快Cache中取得需要数据,这样自然就可以提高计算机性能。另外涉及到一个问题是Cache中数据和内存中部分数据是一致,那么当CPU从Cache取得数据后怎样知道这块数据在内存中具体地址呢?于是想到了映射方法,将Cache中数据按照特定方式和内存中数据进行映射,这样CPU就很容易找到Cache中数据在内存中真实位置了。映射方式目前有三种,分别是直接映射,全相连映射和组相联映射。直接映射最为简单,即是指主存中一个字块只能映射到Cache中一个准确确定字块。全连接映射是指主存中一个字块可以映射到Cache中任何一个字块。组相连映射是上述两种方式折中连接。在上图所示直接映射中,如果每个Cache块字节数是16,则Cache块内索引位数为4;如果Cache大小为16KB,则其Index索引位数为10位,映射到内存地址位数为32-4-10=18。









