commit.hh (2756:7bf0d6481df9) commit.hh (2757:58e3a66e72f7)
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 54 unchanged lines hidden (view full) ---

63 * supports multiple cycle squashing, to model a ROB that can only
64 * remove a certain number of instructions per cycle.
65 */
66template<class Impl>
67class DefaultCommit
68{
69 public:
70 // Typedefs from the Impl.
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 54 unchanged lines hidden (view full) ---

63 * supports multiple cycle squashing, to model a ROB that can only
64 * remove a certain number of instructions per cycle.
65 */
66template<class Impl>
67class DefaultCommit
68{
69 public:
70 // Typedefs from the Impl.
71 typedef typename Impl::FullCPU FullCPU;
71 typedef typename Impl::O3CPU O3CPU;
72 typedef typename Impl::DynInstPtr DynInstPtr;
73 typedef typename Impl::Params Params;
74 typedef typename Impl::CPUPol CPUPol;
75
76 typedef typename CPUPol::RenameMap RenameMap;
77 typedef typename CPUPol::ROB ROB;
78
79 typedef typename CPUPol::TimeStruct TimeStruct;

--- 61 unchanged lines hidden (view full) ---

141
142 /** Returns the name of the DefaultCommit. */
143 std::string name() const;
144
145 /** Registers statistics. */
146 void regStats();
147
148 /** Sets the CPU pointer. */
72 typedef typename Impl::DynInstPtr DynInstPtr;
73 typedef typename Impl::Params Params;
74 typedef typename Impl::CPUPol CPUPol;
75
76 typedef typename CPUPol::RenameMap RenameMap;
77 typedef typename CPUPol::ROB ROB;
78
79 typedef typename CPUPol::TimeStruct TimeStruct;

--- 61 unchanged lines hidden (view full) ---

141
142 /** Returns the name of the DefaultCommit. */
143 std::string name() const;
144
145 /** Registers statistics. */
146 void regStats();
147
148 /** Sets the CPU pointer. */
149 void setCPU(FullCPU *cpu_ptr);
149 void setCPU(O3CPU *cpu_ptr);
150
151 /** Sets the list of threads. */
152 void setThreads(std::vector<Thread *> &threads);
153
154 /** Sets the main time buffer pointer, used for backwards communication. */
155 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr);
156
157 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr);

--- 163 unchanged lines hidden (view full) ---

321 /** Wire to read information from rename queue. */
322 typename TimeBuffer<RenameStruct>::wire fromRename;
323
324 public:
325 /** ROB interface. */
326 ROB *rob;
327
328 private:
150
151 /** Sets the list of threads. */
152 void setThreads(std::vector<Thread *> &threads);
153
154 /** Sets the main time buffer pointer, used for backwards communication. */
155 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr);
156
157 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr);

--- 163 unchanged lines hidden (view full) ---

321 /** Wire to read information from rename queue. */
322 typename TimeBuffer<RenameStruct>::wire fromRename;
323
324 public:
325 /** ROB interface. */
326 ROB *rob;
327
328 private:
329 /** Pointer to FullCPU. */
330 FullCPU *cpu;
329 /** Pointer to O3CPU. */
330 O3CPU *cpu;
331
332 /** Vector of all of the threads. */
333 std::vector<Thread *> thread;
334
335 Fault fetchFault;
336
337 int fetchTrapWait;
338

--- 123 unchanged lines hidden ---
331
332 /** Vector of all of the threads. */
333 std::vector<Thread *> thread;
334
335 Fault fetchFault;
336
337 int fetchTrapWait;
338

--- 123 unchanged lines hidden ---