Lines Matching refs:thread
554 virtual void handleIprWrite(ThreadContext *thread, PacketPtr pkt) = 0;
555 virtual Cycles handleIprRead(ThreadContext *thread, PacketPtr pkt) = 0;
736 virtual void handleIprWrite(ThreadContext *thread, PacketPtr pkt);
737 virtual Cycles handleIprRead(ThreadContext *thread, PacketPtr pkt);
810 virtual void handleIprWrite(ThreadContext *thread, PacketPtr pkt);
811 virtual Cycles handleIprRead(ThreadContext *thread, PacketPtr pkt);
835 /** Takes over execution from another CPU's thread. */
856 * Commits loads up until the given sequence number for a specific thread.
859 { thread.at(tid).commitLoads(youngest_inst); }
862 * Commits stores up until the given sequence number for a specific thread.
865 { thread.at(tid).commitStores(youngest_inst); }
872 /** Same as above, but only for one thread. */
876 * Squash instructions from a thread until the specified sequence number.
881 thread.at(tid).squash(squashed_num);
888 * specific thread.
890 bool violation(ThreadID tid) { return thread.at(tid).violation(); }
896 return thread.at(tid).getMemDepViolator();
899 /** Returns the head index of the load queue for a specific thread. */
900 int getLoadHead(ThreadID tid) { return thread.at(tid).getLoadHead(); }
906 return thread.at(tid).getLoadHeadSeqNum();
910 int getStoreHead(ThreadID tid) { return thread.at(tid).getStoreHead(); }
916 return thread.at(tid).getStoreHeadSeqNum();
921 /** Returns the number of instructions in the queues of one thread. */
922 int getCount(ThreadID tid) { return thread.at(tid).getCount(); }
926 /** Returns the total number of loads for a single thread. */
927 int numLoads(ThreadID tid) { return thread.at(tid).numLoads(); }
931 /** Returns the total number of stores for a single thread. */
932 int numStores(ThreadID tid) { return thread.at(tid).numStores(); }
940 /** Returns the number of free entries for a specific thread. */
943 /** Returns the number of free entries in the LQ for a specific thread. */
946 /** Returns the number of free entries in the SQ for a specific thread. */
952 * Returns if the LSQ is full for a specific thread (either LQ or SQ is
966 /** Returns if the LQ of a given thread is full. */
971 /** Returns if the SQ of a given thread is full. */
980 * Returns if the LSQ of a specific thread is stalled due to a memory
988 /** Returns whether or not a specific thread has any stores to write back
991 bool hasStoresToWB(ThreadID tid) { return thread.at(tid).hasStoresToWB(); }
993 /** Returns the number of stores a specific thread has to write back. */
994 int numStoresToWB(ThreadID tid) { return thread.at(tid).numStoresToWB(); }
998 /** Returns if the LSQ of a specific thread will write back to memory this
1001 bool willWB(ThreadID tid) { return thread.at(tid).willWB(); }
1005 /** Debugging function to print out instructions from a specific thread. */
1006 void dumpInsts(ThreadID tid) const { thread.at(tid).dumpInsts(); }
1072 /** Auxiliary function to calculate per-thread max LSQ allocation limit.
1074 * and threshold, this function calculates how many resources each thread
1113 std::vector<LSQUnit> thread;
1125 return thread.at(tid).read(req, load_idx);
1134 return thread.at(tid).write(req, data, store_idx);