《汇编语言与计算机系统组成》第六章例题-1

【例1】地址映像方法有哪几种?它们各有什么优缺点?

解:

1)全相联映像

全相联映像指的是主存中的任一块可以放入Cache的任意位置。

优点:Cache空间利用率高,冲突概率小。

缺点:实现复杂,访问命中需要较长时间。

2)直接映像

直接映像指的是主存中的任一块只能放入Cache的唯一位置。

优点:实现简单,访问命中快。

缺点:Cache空间利用低,冲突概率大。(由于是循环分配原则,所以Cache同一个位置可能会对应多个主存中的块,所以冲突概率大,而冲突也就说明空间利用率低)

3)组相联映像

组相联映像是全相联映像和直接映像的结合。

【例2】块大小为256个存储字,Cache容量(指存储体,不包括标识和状态位)为8k字,主存地址空间为1M字。

1)假设主存与Cache采用全相联映像,问:主存地址如何划分?并说明CPU对贮存单元0320AH的访问过程。

解:主存地址空间为1M=2^20B,所以地址存储为20位。块大小为256B=2^8B,所以块内位移表示为8位,块地址(标识)则为12位。因为Cache容量为8kB,则一共有32(8*2^10/2^8)个块。0320AH化为2进制表示为0000 0011 0010 0000 1010,则主存地址被划分为块地址0000 0011 0010,块内位移0000 1010。其中块地址十进制为50,则是主存中的第五十块。

CPU将块地址0000 0011 0010(块标识)与Cache当中块标识进行比较,如果存在相等的,则命中,接着对这个块按照块内位移找到对应的存储字进行访问;假如没有找到相等的,则缺失,将主存中第五十块内容调入Cache当中任意一个块进行存储,并将其块标识改为块地址0000 0011 0010。

2)假设主存与Cache采用直接映像,问:主存地址如何划分?并说明CPU对贮存单元0320AH的访问过程。

解:直接映像遵循循环分配原则,由1)0320AH在主存中是第50块,而Cache总共32块,50mod32=18,则映射到Cache的第18块。主存地址被划分为块地址0000 0011 0010,块内位移0000 1010。由32=2^5,所以在直接映像当中,索引为块地址0000 0011 0010 的低五位10010,剩下的0000 001为其标识,Cache标识存储为主存的标识0000 001。根据索引也可以确定映射到Cache当中的第18块(10010)。

CPU先根据索引找到Cache当中的对应块,接着根据主存地址的标识去与Cache中标识比对,如果找到相等的,则命中,再根据块内位移找到对应存储字进行访问;假如没有找到相等的,则缺失,将主存中第五十块内容调入Cache当中第18块进行存储,并将其标识改为主存地址标识0000 001.

3)假设主存与Cache采用2路组相联映像,问:主存地址如何划分?并说明CPU对贮存单元0320AH的访问过程。

解:2路组相联映像指的是一组有2块,由1)Cache中一共有32块,则一共有16组。按组16=2^4,则索引为主存地址的低4位0010,标识为剩下高8位0000 0011。索引十进制为2,则映射到Cache当中第二组当中两个块的任意一块,并且Cache块标识和主存当中块标识相同。主存地址被划分为块地址0000 0011 0010,块内位移0000 1010。

CPU先根据索引找到Cache当中对应的组,接着根据主存地址的标识去这个组当中与组中的块标识进行比对,如果找到相等的,则命中,再根据块内位移找到对应的存储字进行访问;假如没有找到相等的,则缺失,将主存中第五十块内容调入Cache第二组当中任意一块进行存储,并将其标识改为主存地址标识0000 0011。

例题2 总结:

1)三种映像(全相连映像、直接映像、组相联映像)计算主存地址的块地址和块内位移都是一样的,不受映像方式影响。

2)三种映像不同的是找Cache块那一步,找块中对应存储字是一样的,都是看块内位移。

3)全相联映像中,块的标识就是块地址,对应到Cache中块标识是主存地址的块地址。而直接映像和组相联映像块地址又划分为索引和标识,Cache当中的块标识就是主存地址的标识。

4)直接映像当中索引的长度和Cache有多少块相关,而组相联映像当中索引的长度和Cache被划分为多少组相关。

5)直接映像当中根据索引值确定在Cache的第几块,而组相联映像当中根据索引确定对应Cache的第几组。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值