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 ---