-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New mem ctrlr classes #19
base: develop
Are you sure you want to change the base?
Conversation
Change-Id: If6deb4c472381f605b6c5a2db0925e5aaf2ae7d6
Change-Id: I8e3b76214d1fb1d85770466e644f59de26f9c386
Change-Id: I734e1087cc109f8efe00f4a28656e2de35f6f8cb
Change-Id: Ic9998ef8c14d804b9ef970b2a53fbd75140e79d2
Change-Id: I999a7f15b795a97da247f14b5069cec5143c4945
5a004d4
to
a01a020
Compare
Change-Id: I18ef79b93730e752c86dc5e92519f4d20814815f
Change-Id: I859876a70e0bf9568ca661c1312d188c05a0d307
Change-Id: Ia4931be8b8de3e6406fd8e72d7639c4950386858
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of small comments. For others, I'll need to download and run some diffs... let me know when you're ready for another careful review :)
Change-Id: Ib4ae7112c7a22c9c18ad4ec65105c246575f7895
Change-Id: Ie8acf90f91b3a4fedfcc6080918bbecf1c2bdab7
Change-Id: I027af55c0e74e62562d290b8e2f97ae8feb21196
Change-Id: I75716ee3fbbefdc6a1152fad92851de42c4aa1e9
Change-Id: Idc741c3867b4ab8152e4544864767eed8f72da1d
Change-Id: I412a3f6431272a7927fc934314d435590a58adbc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lots of comments, though most are small :). I would suggest holding off working on this until after I have a look at Ayaz's changes, too. I'd like to see how they fit in.
# effects of a memory controller, interfacing with media specific | ||
# interfaces | ||
class MemCtrl(QoSMemCtrl): | ||
class MemCtrl(SimpleMemCtrl): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs a comment which says it has two interfaces and a bit more detail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in #23
@@ -180,13 +177,17 @@ class MemInterface : public AbstractMemory | |||
const uint32_t readBufferSize; | |||
const uint32_t writeBufferSize; | |||
|
|||
uint32_t numWritesQueued; | |||
|
|||
bool isDramIntr; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I explained this in simple_mem_ctrl.cc
line 253.
@@ -823,24 +385,23 @@ MemCtrl::doBurstAccess(MemPacket* mem_pkt) | |||
// When was command issued? | |||
Tick cmd_at; | |||
|
|||
std::vector<MemPacketQueue>& queue = selQueue(mem_pkt->isRead()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unneeded change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently it's fixed already (Maybe by Ayaz, while he was merging his code with mine)
dram->bytesPerBurst() : | ||
nvm->bytesPerBurst()) ); | ||
dram->bytesPerBurst() : | ||
nvm->bytesPerBurst())); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whitespace changes. Please revert.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently it's fixed already (Maybe by Ayaz, while he was merging his code with mine)
@@ -1099,12 +657,13 @@ MemCtrl::processNextReqEvent() | |||
|
|||
// sanity check | |||
assert(mem_pkt->size <= (mem_pkt->isDram() ? | |||
dram->bytesPerBurst() : | |||
nvm->bytesPerBurst()) ); | |||
dram->bytesPerBurst() : |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whitespace changes. Please revert.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently it's fixed already (Maybe by Ayaz, while he was merging his code with mine)
// All other queues verified as needed with calling logic | ||
bool nvm_drained = !nvm || nvm->allRanksDrained(); | ||
return (dram_drained && nvm_drained); | ||
// ensure dram is in power down and refresh IDLE states |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whitespace changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed already.
|
||
bool | ||
MemCtrl::MemoryPort::recvTimingReq(PacketPtr pkt) | ||
std::vector<MemInterface*> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pretty sure this can be removed and replaced with an implementation of getAddrRanges
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed above.
No description provided.