O3CPU.py revision 1681
1451SN/Afrom BaseCPU import BaseCPU 25795Ssaidi@eecs.umich.edu 3451SN/Asimobj DerivAlphaFullCPU(BaseCPU): 4451SN/A type = 'DerivAlphaFullCPU' 5451SN/A 6451SN/A numThreads = Param.Unsigned("number of HW thread contexts") 7451SN/A 8451SN/A if not build_env['FULL_SYSTEM']: 9451SN/A mem = Param.FunctionalMemory(NULL, "memory") 10451SN/A 11451SN/A decodeToFetchDelay = Param.Unsigned("Decode to fetch delay") 12451SN/A renameToFetchDelay = Param.Unsigned("Rename to fetch delay") 13451SN/A iewToFetchDelay = Param.Unsigned("Issue/Execute/Writeback to fetch " 14451SN/A "delay") 15451SN/A commitToFetchDelay = Param.Unsigned("Commit to fetch delay") 16451SN/A fetchWidth = Param.Unsigned("Fetch width") 17451SN/A 18451SN/A renameToDecodeDelay = Param.Unsigned("Rename to decode delay") 19451SN/A iewToDecodeDelay = Param.Unsigned("Issue/Execute/Writeback to decode " 20451SN/A "delay") 21451SN/A commitToDecodeDelay = Param.Unsigned("Commit to decode delay") 22451SN/A fetchToDecodeDelay = Param.Unsigned("Fetch to decode delay") 23451SN/A decodeWidth = Param.Unsigned("Decode width") 24451SN/A 25451SN/A iewToRenameDelay = Param.Unsigned("Issue/Execute/Writeback to rename " 26451SN/A "delay") 272665Ssaidi@eecs.umich.edu commitToRenameDelay = Param.Unsigned("Commit to rename delay") 282665Ssaidi@eecs.umich.edu decodeToRenameDelay = Param.Unsigned("Decode to rename delay") 29451SN/A renameWidth = Param.Unsigned("Rename width") 30451SN/A 31451SN/A commitToIEWDelay = Param.Unsigned("Commit to " 32451SN/A "Issue/Execute/Writeback delay") 336215Snate@binkert.org renameToIEWDelay = Param.Unsigned("Rename to " 346215Snate@binkert.org "Issue/Execute/Writeback delay") 352093SN/A issueToExecuteDelay = Param.Unsigned("Issue to execute delay (internal " 365795Ssaidi@eecs.umich.edu "to the IEW stage)") 372093SN/A issueWidth = Param.Unsigned("Issue width") 383113Sgblack@eecs.umich.edu executeWidth = Param.Unsigned("Execute width") 3911800Sbrandon.potter@amd.com executeIntWidth = Param.Unsigned("Integer execute width") 402423SN/A executeFloatWidth = Param.Unsigned("Floating point execute width") 415795Ssaidi@eecs.umich.edu executeBranchWidth = Param.Unsigned("Branch execute width") 425795Ssaidi@eecs.umich.edu executeMemoryWidth = Param.Unsigned("Memory execute width") 432093SN/A 442093SN/A iewToCommitDelay = Param.Unsigned("Issue/Execute/Writeback to commit " 452093SN/A "delay") 462093SN/A renameToROBDelay = Param.Unsigned("Rename to reorder buffer delay") 472093SN/A commitWidth = Param.Unsigned("Commit width") 483113Sgblack@eecs.umich.edu squashWidth = Param.Unsigned("Squash width") 493113Sgblack@eecs.umich.edu 502093SN/A local_predictor_size = Param.Unsigned("Size of local predictor") 512093SN/A local_ctr_bits = Param.Unsigned("Bits per counter") 522093SN/A local_history_table_size = Param.Unsigned("Size of local history table") 532093SN/A local_history_bits = Param.Unsigned("Bits for the local history") 542093SN/A global_predictor_size = Param.Unsigned("Size of global predictor") 553122Sgblack@eecs.umich.edu global_ctr_bits = Param.Unsigned("Bits per counter") 562093SN/A global_history_bits = Param.Unsigned("Bits of history") 572093SN/A choice_predictor_size = Param.Unsigned("Size of choice predictor") 586684Stjones1@inf.ed.ac.uk choice_ctr_bits = Param.Unsigned("Bits of choice counters") 592093SN/A 603122Sgblack@eecs.umich.edu BTBEntries = Param.Unsigned("Number of BTB entries") 612093SN/A BTBTagSize = Param.Unsigned("Size of the BTB tags, in bits") 622093SN/A 632093SN/A RASSize = Param.Unsigned("RAS size") 643113Sgblack@eecs.umich.edu 653113Sgblack@eecs.umich.edu LQEntries = Param.Unsigned("Number of load queue entries") 663113Sgblack@eecs.umich.edu SQEntries = Param.Unsigned("Number of store queue entries") 675543Ssaidi@eecs.umich.edu LFSTSize = Param.Unsigned("Last fetched store table size") 685543Ssaidi@eecs.umich.edu SSITSize = Param.Unsigned("Store set ID table size") 695543Ssaidi@eecs.umich.edu 705543Ssaidi@eecs.umich.edu numPhysIntRegs = Param.Unsigned("Number of physical integer registers") 715543Ssaidi@eecs.umich.edu numPhysFloatRegs = Param.Unsigned("Number of physical floating point " 725543Ssaidi@eecs.umich.edu "registers") 735543Ssaidi@eecs.umich.edu numIQEntries = Param.Unsigned("Number of instruction queue entries") 745543Ssaidi@eecs.umich.edu numROBEntries = Param.Unsigned("Number of reorder buffer entries") 755543Ssaidi@eecs.umich.edu 765543Ssaidi@eecs.umich.edu instShiftAmt = Param.Unsigned("Number of bits to shift instructions by") 775543Ssaidi@eecs.umich.edu 785543Ssaidi@eecs.umich.edu function_trace = Param.Bool(False, "Enable function trace") 795543Ssaidi@eecs.umich.edu function_trace_start = Param.Tick(0, "Cycle to start function trace") 805543Ssaidi@eecs.umich.edu