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