decode.hh (2674:6d4afef73a20) | decode.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; --- 34 unchanged lines hidden (view full) --- 43 * actually decoded when the StaticInst is created, this stage does 44 * not do much other than check any PC-relative branches. 45 */ 46template<class Impl> 47class DefaultDecode 48{ 49 private: 50 // 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; --- 34 unchanged lines hidden (view full) --- 43 * actually decoded when the StaticInst is created, this stage does 44 * not do much other than check any PC-relative branches. 45 */ 46template<class Impl> 47class DefaultDecode 48{ 49 private: 50 // Typedefs from the Impl. |
51 typedef typename Impl::FullCPU FullCPU; | 51 typedef typename Impl::O3CPU O3CPU; |
52 typedef typename Impl::DynInstPtr DynInstPtr; 53 typedef typename Impl::Params Params; 54 typedef typename Impl::CPUPol CPUPol; 55 56 // Typedefs from the CPU policy. 57 typedef typename CPUPol::FetchStruct FetchStruct; 58 typedef typename CPUPol::DecodeStruct DecodeStruct; 59 typedef typename CPUPol::TimeStruct TimeStruct; --- 30 unchanged lines hidden (view full) --- 90 91 /** Returns the name of decode. */ 92 std::string name() const; 93 94 /** Registers statistics. */ 95 void regStats(); 96 97 /** Sets CPU pointer. */ | 52 typedef typename Impl::DynInstPtr DynInstPtr; 53 typedef typename Impl::Params Params; 54 typedef typename Impl::CPUPol CPUPol; 55 56 // Typedefs from the CPU policy. 57 typedef typename CPUPol::FetchStruct FetchStruct; 58 typedef typename CPUPol::DecodeStruct DecodeStruct; 59 typedef typename CPUPol::TimeStruct TimeStruct; --- 30 unchanged lines hidden (view full) --- 90 91 /** Returns the name of decode. */ 92 std::string name() const; 93 94 /** Registers statistics. */ 95 void regStats(); 96 97 /** Sets CPU pointer. */ |
98 void setCPU(FullCPU *cpu_ptr); | 98 void setCPU(O3CPU *cpu_ptr); |
99 100 /** Sets the main backwards communication time buffer pointer. */ 101 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr); 102 103 /** Sets pointer to time buffer used to communicate to the next stage. */ 104 void setDecodeQueue(TimeBuffer<DecodeStruct> *dq_ptr); 105 106 /** Sets pointer to time buffer coming from fetch. */ --- 77 unchanged lines hidden (view full) --- 184 /** Squashes due to commit signalling a squash. Changes status to 185 * squashing and clears block/unblock signals as needed. 186 */ 187 unsigned squash(unsigned tid); 188 189 private: 190 // Interfaces to objects outside of decode. 191 /** CPU interface. */ | 99 100 /** Sets the main backwards communication time buffer pointer. */ 101 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr); 102 103 /** Sets pointer to time buffer used to communicate to the next stage. */ 104 void setDecodeQueue(TimeBuffer<DecodeStruct> *dq_ptr); 105 106 /** Sets pointer to time buffer coming from fetch. */ --- 77 unchanged lines hidden (view full) --- 184 /** Squashes due to commit signalling a squash. Changes status to 185 * squashing and clears block/unblock signals as needed. 186 */ 187 unsigned squash(unsigned tid); 188 189 private: 190 // Interfaces to objects outside of decode. 191 /** CPU interface. */ |
192 FullCPU *cpu; | 192 O3CPU *cpu; |
193 194 /** Time buffer interface. */ 195 TimeBuffer<TimeStruct> *timeBuffer; 196 197 /** Wire to get rename's output from backwards time buffer. */ 198 typename TimeBuffer<TimeStruct>::wire fromRename; 199 200 /** Wire to get iew's information from backwards time buffer. */ --- 97 unchanged lines hidden --- | 193 194 /** Time buffer interface. */ 195 TimeBuffer<TimeStruct> *timeBuffer; 196 197 /** Wire to get rename's output from backwards time buffer. */ 198 typename TimeBuffer<TimeStruct>::wire fromRename; 199 200 /** Wire to get iew's information from backwards time buffer. */ --- 97 unchanged lines hidden --- |