Title: Abstract CPU Modeling and Refinement in Metropolis
1Abstract CPU Modeling and Refinement in Metropolis
- Haibo Zeng, Qi Zhu
- CS252 Course Project
- Mentor Trevor Meyerowitz
2Outline
- Overview
- Metropolis
- Our model
- Advantages
- Correctness
- Limitations
- Summary
3Goal
Our CPU Modeling
Proof of the Design Methodology based on
Metropolis
How
Advantages
Correctness
Mainly cycle time now more quantities can be
added
- Formal
- Flexible
- Parameterizable
Base
Construct models by using formal semantics Easy
refinement and Modification Easily change many
Parameters of the CPU models
Formal Semantics
Compare
Estimation of cycle time
SimpleScalar
Can be a simulator but not only a simulator
4Metropolis
Our work
- Arch. library blocks
- Parameterizable
- Extendable
Prove this design methodology
Architecture Platform
Function Specification
Provide blocks
- Metropolis Infrastructure
- Formal Semantics
- Meta model of comp.
Design Constraints
Abstract description of ISA functionality
Can be a simulator
Synthesis Refinement
Analysis Verification
5Our model
Branch Predictor
CDB Controller
RS Info.
Fetch Process
Exec. Process
Result Channels
Execution Trace
Issue Channel
One inst. in a single issue arch. a group of
inst.s in a multi-issue arch.
Out of Order Execution Model (Two Processes)
6Our 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).
7Advantages
- 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
-
8Advantages (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.
9Correctness
- 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.0 http//www.eecs.umi
ch.edu/mibench/
10Limitations
- 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
11Summary
- 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
12Future work
- Model the memory system
- Model interrupts
- More branch prediction schemes
- Combine it with other Metropolis architecture
models - Try more applications
13Thanks!
14Extra --- Parameterizable
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.0 http//www.eecs.umi
ch.edu/mibench/