Constructing Adaptable And Scalable Synthetic Benchmarks For Microprocessor Performance Evaluation