Understanding Cache Behavior and Design: EE282h Programming Assignment #3 Overview
110 likes | 226 Vues
This document outlines the objectives and specifications for EE282h's Programming Assignment #3, focusing on cache behavior and design. Students will explore key issues in cache design and utilize a simulator to analyze the impact of various cache parameters on performance. The simulator, developed in 1997, simulates a dual-issue processor with specific cache settings and provides tools for performance optimization and cost analysis. Instructions for running the simulator and analyzing results are provided, along with guidelines for submission.
Understanding Cache Behavior and Design: EE282h Programming Assignment #3 Overview
E N D
Presentation Transcript
EE282h: Review Session #3 Programming Assignment #3: Cache Behavior and Design November 12th, 1998
Overview • Project Objectives • Simulator Specifications • Running the Simulator • Analyzing the Results • Making improvements • Submission Guidelines
Project Objectives • Introduce key issues in cache design • Provide tool for exploring the effect of different cache parameters on performance. • Illustrate how important memory systems are to modern processors.
Simulator Specifications • Developed in 1997 and used in last fall’s EE282h. • Simulates a dual-issue processor. • 10ns clock cycle time (100MHz). • Only simulates the L1 Data Cache! • [write-back] • Event Driven Simulation. • Only file modify for the assignment: cachesim.c
Initial Cache Specifications: • Cache Size: 4096 bytes • Line Size: 32 bytes • Associativity: 2-way • Write-Back • LRU replacement policy • No Victim Cache • No Write-Buffer
How To Get the Simulator • Copy files from /usr/class/ee282h/p3 • benchmarks: source code and input files for compress95, tomcatv, vortex • cachesim: simulator source code • traces: execution traces for compress95, tomcatv, vortex. • cd to <your_directory>/p3/cachesim • make
Cacheparms.txt [Abbrev] ############################################################################### # Sample parameters file # Note: Please adhere to the following format: # parm_name(space)=(space)value(return) # This format allows a simple parsing algorithm. ############################################################################### cache_bytes = 4096 line_bytes = 32 associativity = 2 hit_under_miss = 0 replace_policy = 0 have_victim = 0 have_Wbuffer = 0 array_ports = 1 write_policy = 0
Running the Simulator • Modify cacheparms.txt to match the test to run. • cachesim <benchmark> • compress95 • tomcatv • vortex • May take 10-20 minutes or longer…..
Analyzing your results • Optimize performance/cost • performance = 1/(CPI * 10.0ns) • cost is equal to $5000 divided by yield. • Each performance improvement incurs an area cost. Area effects the total yield of the wafer use and a larger area design will be a more expensive chip.
Brief Synopsis of Yield Yield = Yield =
Yield Continued…. • Exponential drop in yield as size decreases. • However total chips per wafer increases with size. • Cache simulator calculates yield and cost for you. • For more info: take EE382