commit.hh (2702:8a3ee279559b) | commit.hh (2733:e0eac8fc5774) |
---|---|
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; --- 53 unchanged lines hidden (view full) --- 62 * supports multiple cycle squashing, to model a ROB that can only 63 * remove a certain number of instructions per cycle. 64 */ 65template<class Impl> 66class DefaultCommit 67{ 68 public: 69 // 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; --- 53 unchanged lines hidden (view full) --- 62 * supports multiple cycle squashing, to model a ROB that can only 63 * remove a certain number of instructions per cycle. 64 */ 65template<class Impl> 66class DefaultCommit 67{ 68 public: 69 // Typedefs from the Impl. |
70 typedef typename Impl::FullCPU FullCPU; | 70 typedef typename Impl::O3CPU O3CPU; |
71 typedef typename Impl::DynInstPtr DynInstPtr; 72 typedef typename Impl::Params Params; 73 typedef typename Impl::CPUPol CPUPol; 74 75 typedef typename CPUPol::RenameMap RenameMap; 76 typedef typename CPUPol::ROB ROB; 77 78 typedef typename CPUPol::TimeStruct TimeStruct; --- 61 unchanged lines hidden (view full) --- 140 141 /** Returns the name of the DefaultCommit. */ 142 std::string name() const; 143 144 /** Registers statistics. */ 145 void regStats(); 146 147 /** Sets the CPU pointer. */ | 71 typedef typename Impl::DynInstPtr DynInstPtr; 72 typedef typename Impl::Params Params; 73 typedef typename Impl::CPUPol CPUPol; 74 75 typedef typename CPUPol::RenameMap RenameMap; 76 typedef typename CPUPol::ROB ROB; 77 78 typedef typename CPUPol::TimeStruct TimeStruct; --- 61 unchanged lines hidden (view full) --- 140 141 /** Returns the name of the DefaultCommit. */ 142 std::string name() const; 143 144 /** Registers statistics. */ 145 void regStats(); 146 147 /** Sets the CPU pointer. */ |
148 void setCPU(FullCPU *cpu_ptr); | 148 void setCPU(O3CPU *cpu_ptr); |
149 150 /** Sets the list of threads. */ 151 void setThreads(std::vector<Thread *> &threads); 152 153 /** Sets the main time buffer pointer, used for backwards communication. */ 154 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr); 155 156 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr); --- 155 unchanged lines hidden (view full) --- 312 /** Wire to read information from rename queue. */ 313 typename TimeBuffer<RenameStruct>::wire fromRename; 314 315 public: 316 /** ROB interface. */ 317 ROB *rob; 318 319 private: | 149 150 /** Sets the list of threads. */ 151 void setThreads(std::vector<Thread *> &threads); 152 153 /** Sets the main time buffer pointer, used for backwards communication. */ 154 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr); 155 156 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr); --- 155 unchanged lines hidden (view full) --- 312 /** Wire to read information from rename queue. */ 313 typename TimeBuffer<RenameStruct>::wire fromRename; 314 315 public: 316 /** ROB interface. */ 317 ROB *rob; 318 319 private: |
320 /** Pointer to FullCPU. */ 321 FullCPU *cpu; | 320 /** Pointer to O3CPU. */ 321 O3CPU *cpu; |
322 323 /** Vector of all of the threads. */ 324 std::vector<Thread *> thread; 325 326 Fault fetchFault; 327 328 int fetchTrapWait; 329 --- 120 unchanged lines hidden --- | 322 323 /** Vector of all of the threads. */ 324 std::vector<Thread *> thread; 325 326 Fault fetchFault; 327 328 int fetchTrapWait; 329 --- 120 unchanged lines hidden --- |