0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

地址映像有哪三种方式

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-10-31 11:39 次阅读

所谓地址映像方式是指如何确定Cache中的内容是主存中的哪一部分的副本,即必须应用某种函数把主存地址映像到Cache中定位。

信息按某种方式装入Cache中后,执行程序时,应将主存地址变换为Cache地址,这个变换过程叫作地址变换。

地址映像方式通常采用直接映像、全相联映像、组相联映像三种:

1-直接映像

每个主存地址映像到Cache中的一个指定地址的方式,称为直接映像方式。在直接映像方式下,主存中存储单元的数据只可调入Cache中的一个位置,如果主存中另一个存储单元的数据也要调入该位置则将发生冲突。

地址映像的方法一般是将主存空间按Cache的尺寸分区,每区内相同的块号映像到Cache中相同的块位置。一般地,Cache被分为2N块,主存被分为大小为2MB的块,主存与Cache中块的对应关系可用如下映像函数表示:j = i mod 2N。式中,j是Cache中的块号;i是主存中的块号。

直接映像是一种最简单的地址映像方式,它的地址变换速度快,而且不涉及其他两种映像方式中的替换策略问题。但是这种方式的块冲突概率较高,当程序往返访问两个相互冲突的块中的数据时,Cache的命中率将急剧下降,因为这时即使Cache中有其他空闲块,也因为固定的地址映像关系而无法应用。

2-全相联映像

主存中的每一个字块可映像到Cache任何一个字块位置上,这种方式称为全相联映像。这种方式只有当Cache中的块全部装满后才会出现块冲突,所以块冲突的概率低,可达到很高的Cache命中率,但它实现很复杂。

当访问一个块中的数据时,块地址要与Cache块表中的所有地址标记进行比较已确定是否命中。在数据块调入时存在着一个比较复杂的替换问题,即决定将数据块调入Cache中什么位置,将Cache中哪一块数据调出主存。为了达到较高的速度,全部比较和替换都要用硬件实现。

3-组相联映像

组相联映像方式是直接映像和全相联映像的一种折中方案。这种方法将存储空间分为若干组,各组之间是直接映像,而组内各块之间则是全相联映像。

它是上述两种映像方式的一般形式,如果组的大小为1,即Cache空间分为2N组,就变为直接映像;如果组的大小为Cache整个的尺寸,就变为全相联映像。组相联方式在判断块命中及替换算法上都要比全相联方式简单,块冲突的概率比直接映像低,其命中率也介于直接映像和全相联映像方式之间。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87600
  • 内存
    +关注

    关注

    8

    文章

    2767

    浏览量

    72765
  • Cache
    +关注

    关注

    0

    文章

    127

    浏览量

    27981
收藏 人收藏

    评论

    相关推荐

    三种复位方式比较

    三种复位方式比较
    发表于 08-16 17:31

    FCC三种认证方式什么区别

    FCC三种认证方式主要是针对不同类别产品。无线、射频类产品必须申请FCC ID,电脑及电脑周边产品需申请FCC DOC或ID,其它产品一般申请FCC VOC即可。三种认证方式中级别ID
    发表于 10-22 14:11

    步进电机的三种驱动方式

    步进电机的三种驱动方式
    发表于 01-12 17:03

    请问stm32启动的三种方式是什么意思?

    请群主详细解释下这三种启动方式,看了参考资料不是很明白其意!谢谢!
    发表于 07-17 04:35

    三种访问过程映像的方法

    硬实时的需求。用户可以通过python等高级语言编写程序,并且可以通过存储器中的过程映像便捷的写入或者读取所有当前过程值。本文将介绍从过程映像中访问数据的三种方法:直接从文件中读取、ioctl以及
    发表于 02-02 16:40

    常用的FBAR模型三种?

    常用的FBAR模型三种?
    发表于 03-11 06:16

    常见的三种无线接入方式是什么?

    蓝牙无线组网的优点是什么?常见的三种无线接入方式是什么?蓝牙无线组网原理与上网方案分享
    发表于 05-26 06:33

    菱伺服电机3转矩控制模式

    菱伺服电机3转矩控制模式?菱伺服电机的转矩控制模式
    发表于 06-28 08:15

    STM32的三种启动模式

    系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过BOOT[1:0]引脚选择三种不同的启动模式。从待机状态退出模式时,BOOT引脚的值将被重新锁存。因此在待机模式下
    发表于 08-05 08:10

    STM32串口通讯三种方式

    STM32串口通讯三种方式,分别为阻塞(轮询)、中断、DMA。串口模式和配置 源代码编写
    发表于 08-13 06:52

    STM32三种启动模式

    01STM32的三种启动模式STM32三种启动模式:FLASH启动、SRAM启动和系统存储器启动,通常三种启动方式由外部引脚boot0和b
    发表于 08-18 07:52

    CPU三种总线

    CPU唯一的能力其实就是处理二进制数据。CPU三种总线:控制总线,地址总线,数据总线,这些总线统称为系统总线,主要用来与外设交...
    发表于 08-24 06:14

    伺服的三种控制方式具体根据什么来选择的

    伺服哪几种控制方式?伺服的三种控制方式具体根据什么来选择的?
    发表于 10-11 08:17

    STM32三种启动方式是什么

    STM32三种启动方式是什么
    发表于 12-15 07:16

    使用的I/O地址如何更改过程映像区范围

    可以采用两种方式:更改过程映像区范围 或 使用外设地址直接读取/写入
    的头像 发表于 10-08 11:24 1187次阅读