有一主存/Cache层次的存储器,其主要容量1Mb,Cache容量64Kb,每个数据块的大小16B若采用两路组相联映射方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有一主存/Cache层次的存储器,其主要容量1Mb,Cache容量64Kb,每个数据块的大小16B若采用两路组相联映射方式相关的知识,希望对你有一定的参考价值。
问题 内存地址是多少位?内存空间可以划分为多少块?
Cache可以划分为多少行?
内存地址的标志段Tag、组号字段和字字段各是多少位?
主存地址为10161H问它在主存的那一块?
按照这种相联映射方式主存地址10161H被映射到Cache的那一组?
Cache可分为64KB/16B=4096行
内存地址字字段为4位(16B),组号字段为1位(两路),标志段(20-4-1=15位) 参考技术A 如果按字节编址,
内存地址 1MB=2^20B,有20位,可分为1MB/16B=2^16块
Cache总容量为64KB,可分为64KB/16B=2^12块(行)
Cache的行长就是数据块大小16B=2^4B,所以块内地址有4位
采用二路组相联映射,2^12行变为2^11(组)* 2(列),有2^11组,则组号字段有11位
标志段Tag位数=20-11-4=5位
即 标志段+组号段+块内地址段=5+11+4
在主存的 10161H/16B=1016H=6+1*16+1*16^3=4118块
10161H=0001 0000 0001 0110 0001B,对应上面的字段位数,可知
组号为 000 0001 0110=2+4+16=22组,所以被映射到Cache的22组
或者用 4118 mod 2^11 = 22组 参考技术B CPU型号T4500 奔腾双核心
主频:2.3Ghz
前端总线 800Mhz
二级缓存 1M
功耗 35瓦
追问
哥 你这是卖电脑的吗
存储系统 3.2 存储器的层次化结构
那么为了解决我们的存储系统的大容量、高速、低成本这三个相互制约的一个矛盾,于是我们提出了存储系统的层次化结构。
我们来看一下是怎样的一个层次化的结构。我们看这张图,我们看到它分成两层,哪两层呢?一个是Cache和主存的这样一个层次,还有一个呢是主存和辅存的这样一个层次,它们解决的问题是不同的。前者也就是我们的Cache和主存,它解决的是什么样的问题呢?解决的是CPU和我们主存速度不匹配。我们知道CPU的运算速度是非常快的,而主存是远远达不到我们CPU的运算速度的,那为了能够使它们速度进行一个匹配,我们就提出了Cache和主存的这样一个层次,也就是在我们的CPU和主存之间加入一个高速缓冲存储器。那么由于Cache的存在,我们就解决了CPU和主存的一个速度匹配的问题。那么第二个层次,主存和辅存,这样的层次是解决了容量的一个问题。因为我们知道,主存的容量是比较小的,并且它的价格也是非常贵的,那么为了解决我们的大容量、低成本的问题,我们就提出了辅存这样的概念,辅存的容量、价格都是比较好的,容量是比较大的,价格呢是比较低的,但是速度却没有主存那么快。那么在我们这样的一个存储体系当中,Cache和主存是能够直接交换信息的,但是辅存是要通过主存才能够和CPU交换信息的。
好的,也就是说前者解决了速度的匹配 问题,后者解决了容量的匹配问题。那么解决速度匹配问题的呢,是通过我们的硬件自动完成的。但是解决容量的问题呢,是要通过硬件和操作系统同时进行完成的,并且呢我们还提出了一个叫做虚存的概念。这将要在我们接下来的课程当中进行详细的讲解,并且呢在操作系统的课程当中,这里也要进行一个讲解。
那么,这样的一个金字塔的一个结构,是我们经常可以看到的一个结构。也就是说,越往上,我们的速度是越快的,但是容量越来越小,价格也越来越高。
以上是关于有一主存/Cache层次的存储器,其主要容量1Mb,Cache容量64Kb,每个数据块的大小16B若采用两路组相联映射方式的主要内容,如果未能解决你的问题,请参考以下文章