lsq.hh (2727:91e17c7ee622) lsq.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;

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

39#include "cpu/o3/lsq_unit.hh"
40#include "mem/port.hh"
41#include "sim/sim_object.hh"
42
43template <class Impl>
44class LSQ {
45 public:
46 typedef typename Impl::Params Params;
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;

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

39#include "cpu/o3/lsq_unit.hh"
40#include "mem/port.hh"
41#include "sim/sim_object.hh"
42
43template <class Impl>
44class LSQ {
45 public:
46 typedef typename Impl::Params Params;
47 typedef typename Impl::FullCPU FullCPU;
47 typedef typename Impl::O3CPU O3CPU;
48 typedef typename Impl::DynInstPtr DynInstPtr;
49 typedef typename Impl::CPUPol::IEW IEW;
50 typedef typename Impl::CPUPol::LSQUnit LSQUnit;
51
52 /** SMT policy. */
53 enum LSQPolicy {
54 Dynamic,
55 Partitioned,

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

63 std::string name() const;
64
65 /** Registers statistics of each LSQ unit. */
66 void regStats();
67
68 /** Sets the pointer to the list of active threads. */
69 void setActiveThreads(std::list<unsigned> *at_ptr);
70 /** Sets the CPU pointer. */
48 typedef typename Impl::DynInstPtr DynInstPtr;
49 typedef typename Impl::CPUPol::IEW IEW;
50 typedef typename Impl::CPUPol::LSQUnit LSQUnit;
51
52 /** SMT policy. */
53 enum LSQPolicy {
54 Dynamic,
55 Partitioned,

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

63 std::string name() const;
64
65 /** Registers statistics of each LSQ unit. */
66 void regStats();
67
68 /** Sets the pointer to the list of active threads. */
69 void setActiveThreads(std::list<unsigned> *at_ptr);
70 /** Sets the CPU pointer. */
71 void setCPU(FullCPU *cpu_ptr);
71 void setCPU(O3CPU *cpu_ptr);
72 /** Sets the IEW stage pointer. */
73 void setIEW(IEW *iew_ptr);
74 /** Switches out the LSQ. */
75 void switchOut();
76 /** Takes over execution from another CPU's thread. */
77 void takeOverFrom();
78
79 /** Number of entries needed for the given amount of threads.*/

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

270 private:
271 /** The LSQ policy for SMT mode. */
272 LSQPolicy lsqPolicy;
273
274 /** The LSQ units for individual threads. */
275 LSQUnit thread[Impl::MaxThreads];
276
277 /** The CPU pointer. */
72 /** Sets the IEW stage pointer. */
73 void setIEW(IEW *iew_ptr);
74 /** Switches out the LSQ. */
75 void switchOut();
76 /** Takes over execution from another CPU's thread. */
77 void takeOverFrom();
78
79 /** Number of entries needed for the given amount of threads.*/

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

270 private:
271 /** The LSQ policy for SMT mode. */
272 LSQPolicy lsqPolicy;
273
274 /** The LSQ units for individual threads. */
275 LSQUnit thread[Impl::MaxThreads];
276
277 /** The CPU pointer. */
278 FullCPU *cpu;
278 O3CPU *cpu;
279
280 /** The IEW stage pointer. */
281 IEW *iewStage;
282
283 /** List of Active Threads in System. */
284 std::list<unsigned> *activeThreads;
285
286 /** Total Size of LQ Entries. */

--- 35 unchanged lines hidden ---
279
280 /** The IEW stage pointer. */
281 IEW *iewStage;
282
283 /** List of Active Threads in System. */
284 std::list<unsigned> *activeThreads;
285
286 /** Total Size of LQ Entries. */

--- 35 unchanged lines hidden ---