-
Hi sir, I am learning about the gem5 cache now, when I check the flow for a missing request, I found that it may allocate a mshr entry which is make sense, Line 398 in f29bfc0 Line 1171 in f29bfc0
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
yeah I have get the point
and every time the cache receive a request, the function BaseCache::CpuSidePort::recvTimingReq is called, and in the function where before BaseCache::recvTimingReq is called, tryTiming is called to check the blocked flag, if it set true, the BaseCache::recvTimingReq will not be called in which mshr entry may be allocated Line 2562 in f29bfc0
|
Beta Was this translation helpful? Give feedback.
yeah I have get the point
every time BaseCache::allocateMissBuffer() is called, in the function will check the mshrQueue and set blocked flage if the queue is full.
and every time the cache receive a request, the function BaseCache::CpuSidePort::recvTimingReq is called, and in the function where before BaseCache::recvTimingReq is called, tryTiming is called to check the blocked flag, if it set true, the BaseCache::recvTimingReq will not be called in which mshr entry may be allocated
gem5/src/mem/cache/base.cc
Line 2562 in f29bfc0