gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | List of all members
SimpleCPUPolicy< Impl > Struct Template Reference

Struct that defines the key classes to be used by the CPU. More...

#include <cpu_policy.hh>

Public Types

typedef UnifiedFreeList FreeList
 Typedef for the freelist of registers. More...
 
typedef UnifiedRenameMap RenameMap
 Typedef for the rename map. More...
 
typedef ::ROB< Impl > ROB
 Typedef for the ROB. More...
 
typedef InstructionQueue< Impl > IQ
 Typedef for the instruction queue/scheduler. More...
 
typedef ::MemDepUnit< StoreSet,
Impl > 
MemDepUnit
 Typedef for the memory dependence unit. More...
 
typedef ::LSQ< Impl > LSQ
 Typedef for the LSQ. More...
 
typedef ::LSQUnit< Impl > LSQUnit
 Typedef for the thread-specific LSQ units. More...
 
typedef DefaultFetch< Impl > Fetch
 Typedef for fetch. More...
 
typedef DefaultDecode< Impl > Decode
 Typedef for decode. More...
 
typedef DefaultRename< Impl > Rename
 Typedef for rename. More...
 
typedef DefaultIEW< Impl > IEW
 Typedef for Issue/Execute/Writeback. More...
 
typedef DefaultCommit< Impl > Commit
 Typedef for commit. More...
 
typedef
DefaultFetchDefaultDecode
< Impl > 
FetchStruct
 The struct for communication between fetch and decode. More...
 
typedef
DefaultDecodeDefaultRename
< Impl > 
DecodeStruct
 The struct for communication between decode and rename. More...
 
typedef
DefaultRenameDefaultIEW< Impl > 
RenameStruct
 The struct for communication between rename and IEW. More...
 
typedef
DefaultIEWDefaultCommit< Impl > 
IEWStruct
 The struct for communication between IEW and commit. More...
 
typedef ::IssueStruct< Impl > IssueStruct
 The struct for communication within the IEW stage. More...
 
typedef TimeBufStruct< Impl > TimeStruct
 The struct for all backwards communication. More...
 

Detailed Description

template<class Impl>
struct SimpleCPUPolicy< Impl >

Struct that defines the key classes to be used by the CPU.

All classes use the typedefs defined here to determine what are the classes of the other stages and communication buffers. In order to change a structure such as the IQ, simply change the typedef here to use the desired class instead, and recompile. In order to create a different CPU to be used simultaneously with this one, see the alpha_impl.hh file for instructions.

Definition at line 61 of file cpu_policy.hh.

Member Typedef Documentation

template<class Impl >
typedef DefaultCommit<Impl> SimpleCPUPolicy< Impl >::Commit

Typedef for commit.

Definition at line 87 of file cpu_policy.hh.

template<class Impl >
typedef DefaultDecode<Impl> SimpleCPUPolicy< Impl >::Decode

Typedef for decode.

Definition at line 81 of file cpu_policy.hh.

template<class Impl >
typedef DefaultDecodeDefaultRename<Impl> SimpleCPUPolicy< Impl >::DecodeStruct

The struct for communication between decode and rename.

Definition at line 93 of file cpu_policy.hh.

template<class Impl >
typedef DefaultFetch<Impl> SimpleCPUPolicy< Impl >::Fetch

Typedef for fetch.

Definition at line 79 of file cpu_policy.hh.

template<class Impl >
typedef DefaultFetchDefaultDecode<Impl> SimpleCPUPolicy< Impl >::FetchStruct

The struct for communication between fetch and decode.

Definition at line 90 of file cpu_policy.hh.

template<class Impl >
typedef UnifiedFreeList SimpleCPUPolicy< Impl >::FreeList

Typedef for the freelist of registers.

Definition at line 64 of file cpu_policy.hh.

template<class Impl >
typedef DefaultIEW<Impl> SimpleCPUPolicy< Impl >::IEW

Typedef for Issue/Execute/Writeback.

Definition at line 85 of file cpu_policy.hh.

template<class Impl >
typedef DefaultIEWDefaultCommit<Impl> SimpleCPUPolicy< Impl >::IEWStruct

The struct for communication between IEW and commit.

Definition at line 99 of file cpu_policy.hh.

template<class Impl >
typedef InstructionQueue<Impl> SimpleCPUPolicy< Impl >::IQ

Typedef for the instruction queue/scheduler.

Definition at line 70 of file cpu_policy.hh.

template<class Impl >
typedef ::IssueStruct<Impl> SimpleCPUPolicy< Impl >::IssueStruct

The struct for communication within the IEW stage.

Definition at line 102 of file cpu_policy.hh.

template<class Impl >
typedef ::LSQ<Impl> SimpleCPUPolicy< Impl >::LSQ

Typedef for the LSQ.

Definition at line 74 of file cpu_policy.hh.

template<class Impl >
typedef ::LSQUnit<Impl> SimpleCPUPolicy< Impl >::LSQUnit

Typedef for the thread-specific LSQ units.

Definition at line 76 of file cpu_policy.hh.

template<class Impl >
typedef ::MemDepUnit<StoreSet, Impl> SimpleCPUPolicy< Impl >::MemDepUnit

Typedef for the memory dependence unit.

Definition at line 72 of file cpu_policy.hh.

template<class Impl >
typedef DefaultRename<Impl> SimpleCPUPolicy< Impl >::Rename

Typedef for rename.

Definition at line 83 of file cpu_policy.hh.

template<class Impl >
typedef UnifiedRenameMap SimpleCPUPolicy< Impl >::RenameMap

Typedef for the rename map.

Definition at line 66 of file cpu_policy.hh.

template<class Impl >
typedef DefaultRenameDefaultIEW<Impl> SimpleCPUPolicy< Impl >::RenameStruct

The struct for communication between rename and IEW.

Definition at line 96 of file cpu_policy.hh.

template<class Impl >
typedef ::ROB<Impl> SimpleCPUPolicy< Impl >::ROB

Typedef for the ROB.

Definition at line 68 of file cpu_policy.hh.

template<class Impl >
typedef TimeBufStruct<Impl> SimpleCPUPolicy< Impl >::TimeStruct

The struct for all backwards communication.

Definition at line 105 of file cpu_policy.hh.


The documentation for this struct was generated from the following file:

Generated on Fri Jun 9 2017 13:04:19 for gem5 by doxygen 1.8.6