Cache与主存之间的全相联映射,直接映射和组相联映射的区别?
一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共(20 )位,其中主存字块标记应为( 6 )位,组地址应为( 2 )位,Cache地址共( 13 )位。
主存与Cache间组相联映射计算?
32位按字编址(四字节),2GB/4B=512M=2^29,那么主存地址29位。cache:256KB/(4*16B)=4k=2^12 组地址为12位块内地址:16=2^4 ,块内地址4位主存标记=29-12-4=13 位4567H=0100 0101 0110 0111后四位是块内地址 前12位是组地址映射到Cache为 0100 0101 0110= 456H 组
一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共几位,要详细分配?
20位。 先将Cache分组,组数=128/4=32,故Cache组地址占5位,块内地址占6位,块地址占两位,故Cache地址共5+6+2=13位。主存=16384*64=2^20字;故按字编制,主存地址为(20)位。 由于采用的是第一种组相连映射,即组相连映射关系为:i=j mod Q(i为Cache组号,j为主存块号,Q为Cache组数,故组地址为(5位)(如果按字节编址,块内地址位数增1,Cache地址位数增1,主存位数也增1) 。 如果采用第二种全相连映射方法,则先将主存按照Cache大小分区,共128个区,故区号占7位,再将每个区分组,每个区内的组数和Cache的组数相等(32组)故组地址占5位,每组有4个块,故块地址为2位。 块内地址同第一种全相连映射方法中块内地址长度相同,主存地址=区号+组号+组内块号+块内地址.故按字编址,主存地址=7+5+2+6=20(位)(按字节编址时块内地址为6位,故主存地址为21位)Cache地址=组号+组内块号+块内地址=5+2+6=13位(按字节编址时为14位)。
某cache有64行,采用4路组相联映射方式,主存有4K个块,每块128个字。则,主存地址多少位?
cache有64行,所以cache有64块则2^c=64,c=6由四路组相联得2^r=4,r=2组地址q=c-r=4每块128字,2^b=128,字块内地址b=7主存容量4K*128=2^19字主存字块标记为19-q-b=8
Cache与主存之间的全相联映射,直接映射和组相联映射的区别?
高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。
Cache的功能是用来存放那些近期需要运行的指令与数据。目的是提高CPU对存储器的访问速度。为此需要解决2个技术问题:一是主存地址与缓存地址的映象及转换; 二是按一定原则对Cache的内容进行替换。 Cache的结构和工作原理如图2.3.1所示。 主要由三大部分组成: Cache存储体:存放由主存调入的指令与数据块。 地址转换部件:建立目录表以实现主存地址到缓存地址的转换。 替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。 2.3.2 地址映象与转换 地址映象是指某一数据在内存中的地址与在缓冲中的地址,两者之间的对应关系。下面介绍三种地址映象的方式。 1.全相联方式 地址映象规则:主存的任意一块可以映象到Cache中的任意一块 (1) 主存与缓存分成相同大小的数据块。 (2) 主存的某一数据块可以装入缓存的任意一块空间中。 全相联方式的对应关系如图2.3.2所示。如果Cache的块数为Cb,主存的块数为Mb,则映象关系共有Cb×Mb种。cache内存的地址映射主要有几种方式?
如果按字节编址, 内存地址 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组