Abstract CPU Modeling and Refinement in Metropolis
description
Transcript of Abstract CPU Modeling and Refinement in Metropolis
![Page 1: Abstract CPU Modeling and Refinement in Metropolis](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/2.jpg)
Outline
Overview Metropolis Our model
Advantages Correctness Limitations
Summary
![Page 3: Abstract CPU Modeling and Refinement in Metropolis](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/13.jpg)
Thanks!
![Page 14: Abstract CPU Modeling and Refinement in Metropolis](https://reader036.fdocuments.us/reader036/viewer/2022082612/56813ac3550346895da2d3eb/html5/thumbnails/14.jpg)
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/