DOC PREVIEW
MIT 6 375 - Timing Model of a Superscalar

This preview shows page 1-2-3-4-5 out of 15 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Timing Model of a Superscalar O-o-O processor in HAsim FrameworkWhat is HAsimHAsim contd.Functional PartitionModel cycle vs FPGA cycleAPorts – monitoring ticksMIPS R10-k specsTiming model designTiming Model top-level designDecode/Dispath ModuleIssue ModuleDifferences of my timing model from R-10kReasons for timing differencesSimulation resultsMiscellaneousTiming Model of a Superscalar O-o-O processor in HAsim FrameworkMurali VijayaraghavanWhat is HAsimFramework to write software-like timing models and run it on FPGAsSoftware timing models are inherently sequential – hence slowParallelism is achieved by implementing the timing model on FPGAsHAsim contd.Functional partition == ISATiming partition == micro-architectureTiming Partitionmodel time(stalls, mispredicts, etc)Functional Partitioncorrect execution(multiply, divide, etc)requestsresponsesFunctional PartitionTOKGENFETFetAlgDECDecAlgEXEExeAlgMEMMemAlgLCOLCOAlgGCOGCOAlgRegStateMemStateModel cycle vs FPGA cycleFunctional simulator can take any number of FPGA cycles for an operationSo there must be an explicit mechanism to monitor the ticks of the processor being modelledAPorts – monitoring ticksEach module in timing partition is connected with each other using APortsA clock tick conceptually begins when the module has read from every input APort and ends when it writes to every output APortBut the tick localized to each portMIPS R10-k specs64-bit processorOut-of-order executionSuperscalarFetchWidth – 4CommitWidth – 42 ALUs1 Load/Store unit1 FPUTiming model designFunctional partition operates only on one instruction at a timeBut timing model time-multiplexes multiple operations to operate on more than one instruction at a timeTiming Model top-level designFetch Free Buffer PC at MispredictPredicted PC4 TokensDecode/DispathIssue4 IssueIntQ buffer leftAddrQ buffer leftExecuteFU OpsExec ResultsCommit4 CommitToken Fetch DecodeExecMemGCOLCODecode/Dispath ModuleBranch/JR Pred ROBPredicted PC UpdateInst Buffer (8) DecodeInsert4 InstUpdate fromexecIntQ Free CountAddrQ Free Count4 issue4 CommitPC at MispredictBusy RegFileIssue ModuleIntQ (O-o-O)AddrQ (In Order)4 InstScoreBoardTo 2 ALUsTo Load StoreDifferences of my timing model from R-10kSMIPS ISA – no floating point ops32-bit registers and addressingNo delay slotOne extra cycle in branch mispredictJR and JALR has to go through the Integer QReasons for timing differencesCurrently functional partition gives only information about branches. So JR and JALR’s address can be got only after execution of JR or JALRI didn’t implement the branch cache which eliminates the extra cycle in branch mispredictSimulation resultsSimulated SMIPS v2 ADDUI test caseTook 239 FPGA cycles to simulate 7 model cycles – must look into this number as the “bottleneck” is the instruction queue, which takes 7 * 21 cycles = 147 cyclesMiscellaneousLines of code for timing model ~ 1300Compared to ~1200 for a simple SMIPS processor in Lab2, excluding


View Full Document

MIT 6 375 - Timing Model of a Superscalar

Documents in this Course
IP Lookup

IP Lookup

15 pages

Verilog 1

Verilog 1

19 pages

Verilog 2

Verilog 2

23 pages

Encoding

Encoding

21 pages

Quiz

Quiz

10 pages

IP Lookup

IP Lookup

30 pages

Load more
Download Timing Model of a Superscalar
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Timing Model of a Superscalar and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Timing Model of a Superscalar 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?