cache高速缓冲存储器映射主存储器
2011-08-18 13:14
49 查看
cache的容量很小,它保存的内容只是主存内容的一个子集,且cache与主存的数据交换是以块为单位。地址映射即是应用某种方法把主存地址定位到cache中。地址映射方式有全相联方式、直接方式和组相联方式三种:
1.全相联映射方式
主存中一个块的地址与块的内容一起存于cache的行中,其中块地址存于cache行的标记部分中。
这种方法可使主存的一个块直接拷贝到cache中的任意一行上,非常灵活。
它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。
全相联映射的示意图演示
2.直接映射方式
这也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。
cache的行号i和主存的块号j有如下函数关系: i=j mod m (m为cache中的总行数)
直接映射方式的示意图演示
直接映射方式的优点是硬件简单,成本低。
缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量cache采用。
3.组相联映射方式
这种方式是前两种方式的折衷方案。它将cache分成u组,每组v行,主存块存放到哪个组是固定的,至
于存到该组哪 一行是灵活的,即有如下函数关系:m=u×v 组号 q=j mod u
组相联映射的示意图演示
组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排
放又有一定的灵活性,冲突减少。
1.全相联映射方式
主存中一个块的地址与块的内容一起存于cache的行中,其中块地址存于cache行的标记部分中。
这种方法可使主存的一个块直接拷贝到cache中的任意一行上,非常灵活。
它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。
全相联映射的示意图演示
2.直接映射方式
这也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。
cache的行号i和主存的块号j有如下函数关系: i=j mod m (m为cache中的总行数)
直接映射方式的示意图演示
直接映射方式的优点是硬件简单,成本低。
缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量cache采用。
3.组相联映射方式
这种方式是前两种方式的折衷方案。它将cache分成u组,每组v行,主存块存放到哪个组是固定的,至
于存到该组哪 一行是灵活的,即有如下函数关系:m=u×v 组号 q=j mod u
组相联映射的示意图演示
组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排
放又有一定的灵活性,冲突减少。
相关文章推荐
- cache高速缓冲存储器映射主存储器
- 多对一关联映射(many-to-one)
- EF实体类的枚举属性映射设计方法
- 使用myeclipse的反向工程来生成相应的hibernate映射文件和POJO类
- ZZ:码字,层映射,秩,预编码(1)_基本概念
- ECLIPSE生成JAVADOC时出错:编码GBK的不可映射字符
- 什么是持久化和对象关系映射ORM技术
- Linux内核中ioremap映射的透彻理解
- <三>重温Hibernate one to many 映射配置
- MyBatis一对一关系映射
- 关系模型到 Key-Value 模型的映射
- Hibernate 映射文件详解
- Hibernate 一对一映射(共享主键)
- DBUtils – BeanProcessor扩展,支持自定义字段映射
- 基于外键映射的 一对一关系
- Mybatis中实体类属性与数据列表间映射方法介绍
- IO端口和IO内存映射【waitting】
- Android ormlite 一对多关联映射笔记
- 内存映射文件原理探索
- SimpleUrlHandlerMapping 处理器映射的配置--转