Abstract CPU Modeling and Refinement in Metropolis

14
Abstract CPU Modeling and Refinement in Metropolis Haibo Zeng, Qi Zhu CS252 Course Project Mentor: Trevor Meyerowitz

description

Abstract CPU Modeling and Refinement in Metropolis. Haibo Zeng, Qi Zhu CS252 Course Project Mentor: Trevor Meyerowitz. Outline. Overview Metropolis Our model Advantages Correctness Limitations Summary. etropolis. Goal. Our CPU Modeling. - PowerPoint PPT Presentation

Transcript of Abstract CPU Modeling and Refinement in Metropolis

Page 1: Abstract CPU Modeling and Refinement in Metropolis

Abstract CPU Modeling and Refinement in Metropolis

Haibo Zeng, Qi Zhu

CS252 Course ProjectMentor: Trevor Meyerowitz

Page 2: Abstract CPU Modeling and Refinement in Metropolis

Outline

Overview Metropolis Our model

Advantages Correctness Limitations

Summary

Page 3: Abstract CPU Modeling and Refinement in Metropolis

etropolis

Formal Semantics

Our CPU ModelingProof of the Design Methodology based on Metropolis

AdvantagesCorrectness

Mainly cycle time now; more quantities can be added

•Formal•Flexible•Parameterizable

Estimation of cycle time

Construct models by using formal semantics;Easy refinement and Modification;Easily change many Parameters of the CPU models;

Compare

SimpleScalar

Can be a simulator; but not only a simulator

Base

Goal

How

Page 4: Abstract CPU Modeling and Refinement in Metropolis

MetropolisFunction

Specification

ArchitecturePlatform

Metropolis Infrastructure•Formal Semantics•Meta model of comp.

Design Constraints

SynthesisRefinement

AnalysisVerification

Abstract description of

ISA functionality

Arch. library blocks•Parameterizable•Extendable

Our work

Prove this design

methodologyProvid

eblocks

Can be a simulator

Page 5: Abstract CPU Modeling and Refinement in Metropolis

Our model

Fetch Process

Exec. Process

Issue Channel

RS Info.

Result Channels

Out of Order Execution Model (Two Processes)

Execution Trace

Branch Predictor CDB Controller

One inst. in a single issue arch.; a group of inst.s in a multi-issue arch.

FU FU FU…

RS RS RS

Page 6: Abstract CPU Modeling and Refinement in Metropolis

Our model (cont) Fetch Process:

1. Handles the fetched instructions from execution trace; and issues them to the Exec. Process (single issue or multiple issue).

2. Can integrate branch predictors (so far, we have a 2-bits predictor). Exec. Process:

1. Handles the operand dependencies, execution and commit.

2. First add inst. to RS (reservation stations), then execute the inst., finally write back the inst.

3. Can add CDB controller (we use buffers to store the inst.s which have been executed already but not committed).

Page 7: Abstract CPU Modeling and Refinement in Metropolis

Advantages Formal Semantics

Based on a formal semantics provided by Metropolis. Enables a clear design flow. And the model is easy to be implemented in hardware.

Easy refinement and modification Modular Built-in notion of refinement in Metropolis

Page 8: Abstract CPU Modeling and Refinement in Metropolis

Advantages (cont) Parameterizable

Since the model is at a high level, there are many parameters can be configured.

e.g. issue width; branch model; number of FUs; misprediction penalty; instruction types, instruction execution time; reservation station size …

Unified Framework in Metropolis Can be integrated with other formal models in

Metropolis.

Page 9: Abstract CPU Modeling and Refinement in Metropolis

Correctness Compare with SimpleScalar --- Cycle time

Microarchitecure: Intel Xscale

Number of Inst. SimpleScalar Our model Relative Error

rijndael 15146 21662 20234 -6.6%

fft 15460 21994 20612 -6.3%

tiffdither 22696 30555 30107 -1.5%

ispell 41936 59175 60001 1.4%

madplay 148674 178881 179681 0.4%

search 187422 238402 231819 -2.8%

Average 3.2%

Benchmark: MiBench Version 1.0http://www.eecs.umich.edu/mibench/

Page 10: Abstract CPU Modeling and Refinement in Metropolis

Limitations For the design methodology, more formal usually

means the loss of some performance

For our models, some blocks need to be added to make the models more general

Page 11: Abstract CPU Modeling and Refinement in Metropolis

Summary Abstract CPU modeling in Metropolis; Prove the

feasibility of constructing CPU model by this formal methodology

Provide several CPU models with different constraints; also provide some library blocks which can be used to construct new models

These abstract models can be configured to simulate different architectures

Page 12: Abstract CPU Modeling and Refinement in Metropolis

Future work Model the memory system Model interrupts More branch prediction schemes Combine it with other Metropolis architecture

models Try more applications

Page 13: Abstract CPU Modeling and Refinement in Metropolis

Thanks!

Page 14: Abstract CPU Modeling and Refinement in Metropolis

Extra --- Parameterizable Different Issue Width

Number of Inst. Width = 1 Width =2 Width = 4

rijndael 15146 22103 20733 20234

fft 15460 22133 20897 20612

tiffdither 22696 33207 30462 30107

ispell 41936 61326 60040 60001

madplay 148674 193016 182319 179681

Search 187422 260022 235742 231819

Benchmark: MiBench Version 1.0http://www.eecs.umich.edu/mibench/