gem5  v20.1.0.0
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 59 of file cpu_policy.hh.

Member Typedef Documentation

◆ Commit

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

Typedef for commit.

Definition at line 85 of file cpu_policy.hh.

◆ Decode

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

Typedef for decode.

Definition at line 79 of file cpu_policy.hh.

◆ DecodeStruct

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

The struct for communication between decode and rename.

Definition at line 91 of file cpu_policy.hh.

◆ Fetch

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

Typedef for fetch.

Definition at line 77 of file cpu_policy.hh.

◆ FetchStruct

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

The struct for communication between fetch and decode.

Definition at line 88 of file cpu_policy.hh.

◆ FreeList

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

Typedef for the freelist of registers.

Definition at line 62 of file cpu_policy.hh.

◆ IEW

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

Typedef for Issue/Execute/Writeback.

Definition at line 83 of file cpu_policy.hh.

◆ IEWStruct

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

The struct for communication between IEW and commit.

Definition at line 97 of file cpu_policy.hh.

◆ IQ

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

Typedef for the instruction queue/scheduler.

Definition at line 68 of file cpu_policy.hh.

◆ IssueStruct

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

The struct for communication within the IEW stage.

Definition at line 100 of file cpu_policy.hh.

◆ LSQ

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

Typedef for the LSQ.

Definition at line 72 of file cpu_policy.hh.

◆ LSQUnit

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

Typedef for the thread-specific LSQ units.

Definition at line 74 of file cpu_policy.hh.

◆ MemDepUnit

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

Typedef for the memory dependence unit.

Definition at line 70 of file cpu_policy.hh.

◆ Rename

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

Typedef for rename.

Definition at line 81 of file cpu_policy.hh.

◆ RenameMap

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

Typedef for the rename map.

Definition at line 64 of file cpu_policy.hh.

◆ RenameStruct

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

The struct for communication between rename and IEW.

Definition at line 94 of file cpu_policy.hh.

◆ ROB

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

Typedef for the ROB.

Definition at line 66 of file cpu_policy.hh.

◆ TimeStruct

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

The struct for all backwards communication.

Definition at line 103 of file cpu_policy.hh.


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

Generated on Wed Sep 30 2020 14:02:31 for gem5 by doxygen 1.8.17