Lab3-Cache实验-实验要求1

preview
需积分: 0 0 下载量 107 浏览量 更新于2022-08-08 收藏 19KB DOCX 举报
【实验背景】 本次实验是关于Cache设计的Lab3,旨在让学生深入理解缓存的工作原理,以及如何通过调整缓存参数来优化系统性能。实验的主要目标包括:权衡缓存大小与成本之间的关系,选择合适的组相连度以降低冲突丢失,对比复杂替换策略与简单策略的优缺点,以及掌握写回法的优劣势。 【实验内容】 实验分为三个阶段: 1. 阶段一(35%):从直接映射的缓存开始,将其修改为N路组相连的缓存。要求实现写回策略和写分配,并提供FIFO和LRU两种替换策略。学生需要阅读并理解提供的代码,然后进行修改。验收时,使用Python脚本生成新的测试基准,验证修改后的缓存代码正确性。 2. 阶段二(15%):将阶段一中实现的缓存集成到Lab1的CPU中,替换原有的数据缓存,并增加数据通路以统计缓存缺失率。当发生缓存缺失时,需暂停当前指令及后续指令。通过运行快速排序和矩阵乘法的程序,确保缓存能正确运行。 3. 阶段三(50%):基于不同的程序,评估不同缓存参数和策略对性能和电路面积的影响。使用运行时钟周期数量评估性能,通过综合工具报告评估资源占用。实验报告应包含实际的实验结果,如仿真波形截图和综合报告。 【注意事项】 1. 只进行数据缓存的设计,指令缓存默认不缺失,使用原有代码。 2. 在编写Verilog代码时,简化处理,仅考虑"整字读写"的sw和lw指令,忽略读写的独热码处理。 3. 缓存命中时间为1 cycle,模拟DDR命中时间为50 cycle,以反映实际的延迟差异。 【实验方法与策略】 在实验过程中,学生需要关注以下几点: 1. **缓存大小与命中率**:增加缓存大小可以提高命中率,但会增加硬件成本。学生需要通过测试和分析,找到成本和性能的最佳平衡点。 2. **组相连度**:组相连度影响冲突丢失的概率。提高组相连度可以减少冲突,但会增加缓存的复杂性和面积。学生需权衡组相连度与性能之间的关系。 3. **替换策略**:FIFO策略简单但可能效率较低,而LRU策略通常能提供更好的性能,但实现更复杂。学生需比较两种策略的实际效果。 4. **写回法**:写回法允许脏数据暂存,减少了不必要的写回操作,但可能导致数据一致性问题。学生需了解其优缺点并根据实际应用选择合适的方法。 5. **性能与资源**:通过实际运行程序和分析综合报告,确定在满足性能要求下,如何优化资源使用,例如选择合适的缓存大小、组相连度和替换策略。 6. **实验报告**:实验报告应详尽地记录实验过程,展示不同配置下的性能和资源占用数据,以及对这些数据的分析和结论。 这个实验是一个综合性的项目,涵盖了缓存设计的关键方面,旨在通过实践让学习者深入理解缓存的工作原理及其优化方法。在完成实验的过程中,学生将提升其在硬件设计、性能分析和系统优化方面的技能。