体系结构试验报告(cache存储过程)
计算机系统结构实验
的正确性
3
实验数据与文件
内存访问轨迹文件
位于traces子目录中,用以评估Cache模拟器的正确性
记录了某Байду номын сангаас程序在运行过程中访问内存的序列及其参数(地址、 大小等)
int hit_count = 0, miss_count = 0, eviction_count = 0; …… printSummary(hit_count, miss_count, eviction_count); return 0; }
每一数据装载(L)或存储 (S)操作可引发最多1次缓 存缺失(miss)
csim.c编程要求:
模拟器必须在输入参数s、E、b设置为任意值时均能正确工作——即需要使用 malloc函数(而不是代码中固定大小的值)来为模拟器中数据结构分配存储空间。
由于实验仅关心数据Cache的性能,因此模拟器应忽略所有指令cache访问(即轨 迹中“I”起始的行)
假设内存访问的地址总是正确对齐的,即一次内存访问从不跨越块的边界——因此 可忽略访问轨迹中给出的访问请求大小
新数据插入到链表头部 每当缓存命中(即缓存数据被访问),则
将数据移到链表头部 当链表满的时候,将链表尾部的数据丢弃
cache工作原理
cache工作原理
一、概述
Cache是计算机系统中常用的一种高速缓存技术,用于提高数据访问速度。它
是位于CPU和主内存之间的一层存储,通过存储最常用的数据和指令,减少CPU
等待数据的时间,从而提高系统的整体性能。本文将详细介绍Cache的工作原理。
二、Cache的组成
1. Cache结构
Cache由多个Cache行组成,每一个Cache行包含一个标记(Tag)、一组数据(Data)和一些控制位(Valid、Dirty等)。
2. Cache层次结构
计算机系统中通常存在多级Cache,如L1 Cache、L2 Cache等。L1 Cache位于CPU内部,速度最快,容量较小;L2 Cache位于CPU外部,速度较慢,容量较大。多级Cache的目的是在速度和容量之间进行平衡。
三、Cache的工作流程
1. 访问过程
当CPU需要读取数据时,首先会在Cache中查找。如果数据在Cache中命中(Hit),则直接从Cache中读取;如果未命中(Miss),则需要从主内存中读取
数据,并将数据存入Cache中。
2. 命中率
命中率是衡量Cache性能的重要指标,表示CPU在访问时命中Cache的比例。命中率越高,Cache的效果越好。命中率可以通过统计命中次数和访问次数来计算。
3. 替换策略
当Cache已满且需要存储新数据时,需要进行替换操作。常见的替换策略有随
机替换、先进先出(FIFO)替换和最近至少使用(LRU)替换等。其中,LRU替
换策略根据数据的访问情况来选择替换的数据,通常能够获得较好的性能。
cache工作原理
cache工作原理
缓存工作原理
缓存是计算机系统中常用的一种性能优化技术,它通过将时常使用的数据存储
在高速存储介质中,以便快速访问和提供更快的响应时间。缓存工作原理涉及到数据的存储、访问和更新过程。本文将详细介绍缓存的工作原理。
一、什么是缓存?
缓存是位于计算机系统内部或者外部的高速存储介质,用于存储时常访问的数据。它可以是硬件缓存(如CPU缓存、磁盘缓存)或者软件缓存(如浏览器缓存、数据库缓存)。缓存的目的是减少对慢速存储介质(如硬盘、网络)的访问次数,提高数据的读取速度和响应时间。
二、缓存的工作原理
1. 数据存储过程
当系统需要访问某个数据时,首先会检查缓存中是否存在该数据。如果存在,
系统直接从缓存中读取数据,避免了对慢速存储介质的访问。如果缓存中不存在该数据,则系统从慢速存储介质(如硬盘、数据库)中读取数据,并将其存储到缓存中,以备下次访问。
2. 数据访问过程
在数据存储到缓存后,系统会为其分配一个惟一的标识符,通常是一个键(key)。当系统需要访问该数据时,它会使用这个键来查询缓存。如果缓存中存
在该键对应的数据,则系统直接从缓存中读取数据。如果缓存中不存在该键对应的数据,则系统需要从慢速存储介质中读取数据,并将其存储到缓存中,以备下次访问。
3. 数据更新过程
当系统对数据进行更新时,它需要同时更新缓存和慢速存储介质中的数据。通
常情况下,系统会先更新缓存中的数据,然后再将更新后的数据写入慢速存储介质。这样可以确保缓存中的数据与慢速存储介质中的数据保持一致。
三、缓存的优势和应用场景
1. 提高系统性能:缓存可以减少对慢速存储介质的访问次数,提高数据的读取
cache工作原理
cache工作原理
概述:
Cache是计算机系统中的一种高速缓存,用于存储频繁访问的数据,以提高数据访问速度和系统性能。本文将详细介绍Cache的工作原理及其在计算机系统中的应用。
一、Cache的定义和作用
Cache是位于CPU和主存储器之间的一级或者多级高速存储器,用于暂时存储最近被访问的数据和指令。其主要作用是减少CPU访问主存储器的次数,从而提高数据读取和指令执行的速度。Cache能够存储大量数据,并且具有较低的访问延迟,因此能够快速响应CPU的读写请求。
二、Cache的工作原理
1. 缓存行
Cache将主存储器分成若干个连续的缓存行,每一个缓存行包含多个字节的数据。缓存行的大小通常为64字节或者128字节,具体大小取决于计算机系统的设计。
2. 缓存映射方式
Cache采用缓存映射方式将主存储器中的数据和指令映射到缓存中。常见的缓存映射方式包括直接映射、全相联映射和组相联映射。其中,直接映射将主存储器的每一个地址映射到惟一的缓存行,全相联映射将主存储器的每一个地址都可以映射到任意一个缓存行,而组相联映射则介于两者之间。
3. 缓存命中和缓存失效
当CPU需要访问数据或者指令时,首先会在Cache中进行查找。如果所需数据或者指令在Cache中找到,即发生缓存命中,CPU可以直接从Cache中读取数据或者指令,从而避免了访问主存储器的开消。如果所需数据或者指令不在Cache 中,即发生缓存失效,CPU需要从主存储器中读取数据或者指令,并将其存入Cache中,以备后续访问。
4. 缓存替换策略
简述cache的工作原理
简述cache的工作原理
Cache(缓存)是计算机中常用的一种技术,其主要作用是提高数据访问速度和效率。Cache技术的最主要工作原理是将经常访问的数据存入到高速缓存中,以便在之后的访问中能够更快地读取。下面将对Cache的工作原理进行详细的介绍。
Cache采用一种层次式存储结构,与主存储器进行数据交换。当 CPU 需要访问内存中的某个单元时,Cache 先进行检索,若找到该单元,则直接将其读取。若没有找到该单元,则需要将主存中的数据存储到 Cache 这一层以便之后的读取。Cache的访问速度比主存储器快的多,因此通过将经常访问的数据存储到 Cache 中,CPU 可以更快地访问到数据并进行计算。
Cache 的工作原理主要可分为以下几个步骤:
1. 读取阶段。这一阶段当 CPU 发送请求到 Cache 时,Cache 先检查该内存地址是否在 Cache 中存在,如果存在,就直接将对应的数据传输给 CPU;如果不存在,则进入下一步操作。
2. 查找阶段。这一阶段 Cache 将会扫描是否存在请求的内存地址,如果找到了,则返回该内存地址所对应的缓存块;如果没找到,则继续执行下一步操作。
3. 替换阶段。这一步是针对 Cache 中的容量有限的情况,假如Cache中已经存储了足够多的数据,但是需要存储的数据之前并没有被缓存(称为Cache miss),因此需要将Cache中最近最少被使用的数据替换,并将这些新数据写入 Cache 中。
4. 写回周期。这一阶段是指当 Cache 中的数据发生改变时,在下一
体系结构试验报告(cache存储过程)
体系结构实验报告
实验目的
通过程序,模拟cache存储过程,并通过控制变量法模拟分析Cache性能
实验步骤:
我们要通过老师所给程序进行模拟,并通过操作系统试验中老师所给算法生成出project.txt,并通过project.txt里面的数据来模拟程序的局部性等特性。
一、实验结果
1、比较关联方式,控制blockSize, CacheSize不变:
(1)、Direct_mapped
:
(2)、Set_associate:
(3) 、Fully_associate
通过上述三个比较可以看出,各种映射有自己的优点。
但是不难看出,增大关联度会减小miss rate,但是增加到一定程度又会有抑制作用。
2.比较Cache大小对于性能的影响。
(1)、Direct_mapped,Cache容量为64时:
(2)、Direct_mapped,Cache容量为128时:
(3)、Direct_mapped,Cache容量为256时:
对比实验结果,不难发现,随着Cache容量的增加,Cache的命中率一直在提升。
分析原因发现,虽然Cache容量大了,但并不等于其预存的内容增多,所以命中率会上升。
3、比较Cache大小对于性能的影响。
(1)、Direct_mapped,关联度为1时:
(2)、Direct_mapped,关联度为2时:
(3)、Direct_mapped,关联度为4时:
(4)、Direct_mapped,关联度为8时:
(5)、Direct_mapped,关联度为16时:
可以看出,随着关联度的提高,命中率也有所增加。
cache实验报告
cache实验报告
Cache实验报告
一、引言
计算机系统中的缓存(Cache)是一种用于提高数据访问速度的技术。通过在CPU与主存之间插入一个高速缓存存储器,可以减少CPU等待主存数据的时间,从而提高系统的整体性能。本实验旨在通过实际操作,深入了解并掌握Cache
的工作原理。
二、实验目的
1. 了解Cache的基本概念和工作原理;
2. 学习Cache的组织结构和映射方式;
3. 掌握Cache的读写操作流程;
4. 分析Cache的命中率和访问延迟。
三、实验环境
本实验使用Intel Core i7处理器和8GB内存的计算机。
四、实验步骤
1. 确定实验所需的Cache参数,包括Cache大小、Cache块大小和关联度等;
2. 设计并编写测试程序,用于模拟不同的内存访问模式;
3. 运行测试程序,并记录Cache的读写命中次数和访问延迟;
4. 分析实验结果,计算Cache的命中率和平均访问延迟。
五、实验结果与分析
1. Cache命中率
根据实验数据统计,我们可以计算出Cache的命中率。命中率是指在所有内存
访问中,Cache能够直接从Cache中读取数据的比例。通过调整Cache的大小
和关联度等参数,可以观察到命中率的变化。实验结果表明,增加Cache的大
小和提高关联度可以显著提高命中率。
2. 访问延迟
访问延迟是指从CPU发出内存读写请求到实际完成读写操作所需的时间。通过
实验测量,我们可以得到不同访问模式下的平均访问延迟。实验结果显示,随
着Cache大小的增加,访问延迟逐渐减少。这是因为Cache能够更快地响应CPU的读写请求,减少了CPU等待主存数据的时间。
cache工作原理
cache工作原理
概述:
Cache是计算机系统中的一种高速缓存,用于存储最近访问的数据,以提高系
统的性能。它位于CPU和主存之间,作为CPU和主存之间的数据传输的中间媒介。本文将详细介绍Cache的工作原理。
一、Cache的基本原理:
Cache的主要目的是减少CPU访问主存的次数,从而提高数据访问的速度。Cache采用了一种局部性原理,即数据的访问具有时间和空间的局部性。根据这个
原理,Cache将最近访问的数据存储在高速存储器中,以便CPU快速获取。
二、Cache的结构:
Cache的结构通常由三个部分组成:Cache存储体、地址转换和替换策略。
1. Cache存储体:
Cache存储体是Cache中存储数据的部分,它由一组存储单元组成,每个存储
单元称为一个Cache块。每个Cache块包含一个数据单元和一个标记单元。数据单元用于存储数据,标记单元用于标识数据的地址。
2. 地址转换:
地址转换是将CPU发出的主存地址转换为Cache存储体中的地址。通常采用
的地址转换方式是通过Cache的索引、标记和块内地址来实现。索引用于定位Cache中的存储块,标记用于比较Cache中存储块的地址是否与CPU请求的地址
相匹配,块内地址用于确定具体的数据位置。
3. 替换策略:
当Cache存储体已满时,新的数据需要替换掉旧的数据。替换策略是决定哪些数据应该被替换的策略。常用的替换策略有随机替换、先进先出(FIFO)替换和最近最少使用(LRU)替换等。
三、Cache的工作流程:
Cache的工作流程通常包括读取和写入两个过程。
cache工作原理
cache工作原理
1. 介绍
Cache(高速缓存)是计算机系统中的一种关键组件,用于提高数据访问速度和系统性能。它位于CPU与主内存之间,作为临时存储器,存储最常用的数据和指令。本文将详细介绍Cache的工作原理及其相关概念。
2. Cache的层次结构
Cache的层次结构通常由L1、L2和L3三级组成。L1 Cache位于CPU内部,速度最快但容量最小;L2 Cache位于CPU与主内存之间,速度较快,容量适中;L3 Cache位于CPU外部,速度较慢但容量较大。数据从L1 Cache开始查找,如果未找到,则继续在L2和L3 Cache中查找,直到找到或者在主内存中找到。
3. Cache的工作原理
当CPU需要访问数据时,首先会在Cache中进行查找。如果数据在Cache中找到(命中),则称为Cache命中,CPU可以直接从Cache中读取数据,避免了访问主内存的时间延迟。如果数据未在Cache中找到(未命中),则需要访问主内存,将数据加载到Cache中,并返回给CPU。Cache的目标是尽可能提高命中率,减少对主内存的访问次数,从而提高系统性能。
4. Cache的替换策略
当Cache已满时,需要替换一部分数据以腾出空间来存储新的数据。常见的替换策略有:最近最少使用(LRU)、先进先出(FIFO)和随机替换等。LRU策略将最近最少使用的数据替换,FIFO策略将最早进入Cache的数据替换,随机替换则随机选择一部分数据进行替换。替换策略的选择需要根据具体应用场景和性能需求来确定。
5. Cache的写策略
《计算机体系结构》第六次实验 cache
Cache实验报告姓名:王宇航学号:09283020 安全0901
Cache实验报告
一、实验要求:
1.阅读分析附件模拟器代码
要求:1)读懂2)关键注释3)总结关键参数和算法的实现方法
2.通过读懂代码加深了解cache的实现技术
3.结合书后习题1进行测试
4.通过测试和进行实验设计了解参数和算法选择的特点和相互关系(比较,组合等),需要定性和量化结合说明,可以用数字或图表等多种描述手段配合说明。
二、实验代码:
1. LRU页面置换算法
程序一共有3中模式:
Direct_mapped 2 Set_associate 3 Fully_associate
对于第一种,直接映射,显然用不到LRU算法,因为每一个地址在cache中只有一个地方可以去。
对于后两种,组相联映射和全相联映射,就需要用到LRU算法了。
其中,全相联映射等于是只有一个set的Set_associate,而LRU正是用在一个set中,所以,后面两种模式的LRU问题可以归结为一种:一个set中,来了一个没有的页面,需要置换出一个,应该置换出哪一个的问题。
那么,具体过程如下:
1 这个set中的每一个block都有一个lru值,初始为0。
2 每次访问这个set的时候,不管是否命中,这个set中的所有block的lru值都+1。
3 当需要置换出去一个页面的时候,选择一个lru值最大的那个置换出入,用来放入刚刚进来的。
4 不管是否命中,刚刚访问过的,或者加入的那个block的lru值置为0。
if(x<lru[index][z])//选择lru值最大的一个
cache工作原理
cache工作原理
1. 概述
Cache是计算机体系结构中的一种高速缓存存储器,用于提高计算机系统的性能。它位于CPU和主存之间,存储了最近访问的数据和指令,以便快速响应处理器的访问请求。本文将详细介绍Cache的工作原理。
2. Cache的组成
Cache由多个Cache行组成,每个Cache行包含一个标记(Tag)、一个有效位(Valid Bit)和一个数据块(Data Block)。标记用于比较主存地址,有效位表示数据块是否有效。
3. Cache的工作流程
当CPU需要读取数据时,首先会在Cache中查找。如果数据在Cache中命中(Hit),则称为Cache命中,数据将直接从Cache中读取,称为Cache读取。如果数据不在Cache中命中(Miss),则需要从主存中读取数据,称为主存读取,并将数据存入Cache中,称为Cache写入。
4. Cache命中
Cache命中是指CPU访问的数据或指令在Cache中已经存在的情况。Cache命中可以分为三种类型:直接映射、全相联映射和组相联映射。
4.1 直接映射
直接映射是最简单的Cache映射方式。CPU的地址被划分为三个部分:标记(Tag)、组索引(Index)和块内偏移(Offset)。CPU访问的地址首先被分成组索引和块内偏移,组索引用于在Cache中选择一个Cache行,然后标记用于比较以确定是否命中。
4.2 全相联映射
全相联映射是最灵活的Cache映射方式。CPU的地址被划分为两个部分:标记(Tag)和块内偏移(Offset)。每个Cache行的标记与CPU地址的标记进行比较,以确定是否命中。
cache工作原理
cache工作原理
一、概述
Cache是计算机系统中常用的一种高速缓存技术,用于提高数据访问速度和系统性能。本文将详细介绍Cache的工作原理,包括Cache的结构、Cache的命中与未命中、Cache的替换策略以及Cache的一致性问题等。
二、Cache的结构
Cache通常由多级结构组成,包括L1 Cache、L2 Cache、L3 Cache等。每一级Cache都有自己的容量、速度和访问方式。Cache的结构类似于一个存储器,由多个Cache行组成,每一个Cache行包含一个标记(Tag)、一个有效位(Valid Bit)和一个数据块(Data Block)。
三、Cache的命中与未命中
当CPU需要访问一个数据时,首先会查询Cache,如果数据在Cache中找到,即发生了Cache命中,CPU可以直接从Cache中读取数据,避免了访问主存的开消,提高了访问速度。如果数据不在Cache中,即发生了Cache未命中,CPU需要从主存中读取数据,并将数据存入Cache中,以便下次访问时可以直接从Cache 中读取。
四、Cache的替换策略
当Cache已满且发生了Cache未命中时,需要选择一个Cache行进行替换。常用的替换策略有随机替换、先进先出替换(FIFO)、最近至少使用替换(LRU)等。随机替换策略是简单且公平的,但可能会导致Cache的利用率不高;FIFO策略保证了Cache中的数据按照访问顺序罗列,但无法适应程序的访问模式变化;LRU策略根据数据的使用频率进行替换,保证了较高的Cache命中率。
cache工作原理
cache工作原理
一、概述
Cache(缓存)是计算机系统中常见的一种高速存储器,用于加快数据访问速度。它位于CPU和主内存之间,作为CPU和主内存之间的缓冲区,存储最常用的数据和指令。Cache的工作原理是通过存储最近使用的数据,以便在需要时能够快速访问。
二、Cache的层次结构
1. L1 Cache
L1 Cache是位于CPU内部的一级缓存,分为L1数据缓存和L1指令缓存。L1数据缓存用于存储最近访问的数据,而L1指令缓存用于存储最近访问的指令。由于L1 Cache位于CPU内部,访问速度非常快,通常只需几个时钟周期。
2. L2 Cache
L2 Cache是位于CPU和主内存之间的二级缓存。它的容量比L1 Cache大,但访问速度相对较慢。L2 Cache的作用是存储CPU频繁访问的数据块,以提高数据访问速度。当L1 Cache无法命中时,CPU将从L2 Cache中查找所需的数据。
3. L3 Cache
L3 Cache是位于CPU和主内存之间的三级缓存。它的容量更大,但访问速度相对较慢。L3 Cache的作用是存储CPU频繁访问的数据块,以进一步提高数据访问速度。当L1和L2 Cache无法命中时,CPU将从L3 Cache中查找所需的数据。
4. 主内存
主内存是计算机系统中的主要存储器,容量较大。当Cache无法命中时,CPU 将从主内存中获取所需的数据。相对于Cache,主内存的访问速度较慢。
三、Cache的工作原理
1. 缓存命中
当CPU访问数据或者指令时,首先会在Cache中进行查找。如果所需的数据
cache工作原理
cache工作原理
一、引言
Cache是计算机系统中一种重要的高速缓存存储器,它的存在可以大大提高计算机系统的性能。本文将详细介绍Cache的工作原理,包括Cache的基本概念、Cache的结构、Cache的工作流程以及Cache的替换策略。
二、Cache的基本概念
Cache是一种位于CPU与主存之间的高速缓存存储器,用于存储CPU频繁访问的数据和指令。它的作用是提供快速的数据访问,减少CPU等待主存的时间,从而提高计算机系统的整体性能。
三、Cache的结构
Cache的结构一般包括Cache存储体、地址映射和替换策略三个部分。
1. Cache存储体:Cache存储体由一组存储单元组成,每个存储单元称为一个Cache行。每个Cache行可以存储一部分主存的数据和对应的标记位。Cache的大小一般以字节为单位进行描述,常见的大小有4KB、8KB等。
2. 地址映射:地址映射用于将主存地址映射到Cache中的对应位置。常见的地址映射方式有直接映射、全相联映射和组相联映射。直接映射是最简单的方式,每个主存地址只对应一个Cache行;全相联映射是最灵活的方式,每个主存地址可以映射到任意一个Cache行;组相联映射是直接映射和全相联映射的折中方式,将Cache存储体划分为多个组,每个组包含若干个Cache行。
3. 替换策略:当Cache已满时,新的数据需要替换掉已有的数据。常见的替换策略有最近最少使用(LRU)、先进先出(FIFO)和随机替换等。LRU是一种基于数据访问历史的替换策略,即替换最长时间未被访问的数据;FIFO是一种先进
cache工作原理
cache工作原理
概述:
Cache(缓存)是一种用于提高计算机系统性能的关键技术。它通过存储最常
用的数据,以便在需要时能够快速访问,减少对主存储器的访问次数,提高数据访问速度。本文将详细介绍Cache的工作原理及其在计算机系统中的应用。
一、Cache的基本原理
1.1 数据局部性原理
Cache的设计基于数据局部性原理。数据局部性包括时间局部性和空间局部性。时间局部性指的是在一段时间内,同一数据被多次访问的概率较大;空间局部性指的是在一段时间内,与已访问数据相邻的数据被访问的概率较大。
1.2 Cache结构
Cache通常由多级组成,每一级称为Cache层。Cache层次结构通常包括L1、
L2、L3等多级Cache。L1 Cache离处理器最近,速度最快,但容量较小;L2 Cache次之,容量较大;L3 Cache则容量更大,但速度较慢。不同级别的Cache之
间通过总线或者互联网络连接。
1.3 缓存行
Cache中的数据以缓存行为单位进行存储和管理。缓存行是Cache中最小的可
读写单位,通常为2的幂次方大小,如64字节或者128字节。缓存行的大小决定
了Cache的粒度。
1.4 缓存映射方式
Cache中的数据通过地址映射方式进行访问。常见的缓存映射方式有直接映射、全相联映射和组相联映射。直接映射将主存地址直接映射到Cache中;全相联映射
将主存地址的所有位都用于Cache索引;组相联映射将主存地址划分为多个组,每一个组内部采用全相联映射方式。
二、Cache的工作过程
2.1 Cache读取数据
体系结构试验报告(cache存储过程)
体系结构实验报告
实验目的
通过程序,模拟cache存储过程,并通过控制变量法模拟分析Cache性能
实验步骤:
我们要通过老师所给程序进行模拟,并通过操作系统试验中老师所给算法生成出project.txt,并通过project.txt里面的数据来模拟程序的局部性等特性。
一、实验结果
1、比较关联方式,控制blockSize, CacheSize不变:
(1)、Direct_mapped
:
(2)、Set_associate:
(3)、Fully_associate
通过上述三个比较可以看出,各种映射有自己的优点。
但是不难看出,增大关联度会减小miss rate,但是增加到一定程度又会有抑制作用。
2.比较Cache大小对于性能的影响。
(1)、Direct_mapped,Cache容量为64时:
(2)、Direct_mapped,Cache容量为128时:
(3)、Direct_mapped,Cache容量为256时:
对比实验结果,不难发现,随着Cache容量的增加,Cache的命中率一直在提升。
分析原因发现,虽然Cache容量大了,但并不等于其预存的内容增多,所以命中率会上升。
3、比较Cache大小对于性能的影响。
(1)、Direct_mapped,关联度为1时:
(2)、Direct_mapped,关联度为2时:
(3)、Direct_mapped,关联度为4时:
(4)、Direct_mapped,关联度为8时:
(5)、Direct_mapped,关联度为16时:
可以看出,随着关联度的提高,命中率也有所增加。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
体系结构实验报告
实验目的
通过程序,模拟cache存储过程,并通过控制变量法模拟分析Cache性能实验步骤:
我们要通过老师所给程序进行模拟,并通过操作系统试验中老师所给算法生成出project.txt ,并通过project.txt 里面的数据来模拟程序的局部性等特性。
实验结果
1、比较关联方式,控制blockSize, CacheSize 不变:
(1)、Direct_mapped
(2) 、Set_associate:
(3) 、Fully_associate
通过上述三个比较可以看出,各种映射有自己的优点。
但是不难看出,增大关联度会减小miss rate,但是增加到一定程度又会有抑制作用。
2.比较Cache大小对于性能的影响。
(1)、Direct_mapped,Cache容量为64 时:
(2r
Direcflmapped
〉Cache
朿*
R
128 手
(3r Direcflmapped
〉Cache
助*
R
256
口
F
一pwsef 峑
s 2O J I 0
\^J.e e K ^g 63-L w g JnnnrEd 理"巧 nm rMecIrlxML H 肆 一 事 呼 LJw 匸 -dJ-LUf J F U »» a i B ci n IJr l t R n x li 黑 鱼 *=£1 K s 1!蚯c a p w p llrt t M:C4mw J L l n rll n i H H Hi L n h != l £lx-瞌 忻恥f*<41. 匸 « F 2 3L L /2\.*X «礼 j !H F i 对比实验结果,不难发现,随着Cache容量的增加,Cache的命中率一直在提升。分析原因发现,虽然Cache容量大了,但并不等于其预存的内容增多,所以命中率会上升。 3、比较Cache大小对于性能的影响。 (1)、Direct_mapped,关联度为 1 时: (2)、Direct_mapped,关联度为2 时: (3)、Direct_mapped,关联度为4 时: (4) 、Direct mapped ,关联度为 8 时: I ■ C -\LI wrs 1.11uwe i mo\Dw_-m e ts'_Vi EUUI I ^tud o l£f Pre e-crE\tt. q\Dfft!uq\ti'g.-i-j r IE Is-* -IrMHi