Reading tag_array using output of metaArb in DCache #3664
Unanswered
ksungkeun84
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I'm analyzing DCache, especially about how DCacheMetadataReq are formed for 8 requests arbtrated by metaArb.
I started with the tag read for cpu request ( 7th priority in metaArb) and the following is the code snippet to form the DCacheMetadataReq.
I have two thing that I don't understand on the above code.
The first is about
idx
field.As far as I understand,
idx
field should be extracted from the current request likeio.cpu.req.bits.addr(idxMSG, idxLSB)
.However,
metaArb.io.in(3).bits.addr(idxMSB, idxLSB)
is used which is a field of write request for refill.This makes me confused my basic background of cache operation.
Can anyone help me understanding this?
The second is about
way_en
anddata
fields assigned bymetaArb.io.in(4)
.To read a section of cache blocks,
idx
is good enough and these fields are not used.I just want to know if there is a specific reason to use way_en and data fields of `metaArb.io.in(4)'.
Do you have any idea on this?
Beta Was this translation helpful? Give feedback.
All reactions