mem-ruby: add slicc stm to defer enqueueing a message
authorTuan Ta <tuan.ta@amd.com>
Mon, 30 Apr 2018 18:35:39 +0000 (14:35 -0400)
committerAnthony Gutierrez <anthony.gutierrez@amd.com>
Thu, 28 May 2020 23:07:08 +0000 (23:07 +0000)
commit524c22041d128eff899bc7d5d535dcffdc55e980
treef3b0d19894851054d01003803c70193298e5912e
parent90332c45b53af8e46e9bb5cc1a225acc1a57de5c
mem-ruby: add slicc stm to defer enqueueing a message

This patch enables cache controllers to make response
messages in advance, store them in a per-address saved
map in an output message buffer and enqueue them altogether
in the future. This patch introduces new slicc statement
called defer_enqueueing. This patch would help simplify
the logic of state machines that deal with coalesing
multiple requests from different requestors.

Change-Id: I566d4004498b367764238bb251260483c5a1a5e5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28132
Reviewed-by: Tuan Ta <qtt2@cornell.edu>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/ruby/network/MessageBuffer.cc
src/mem/ruby/network/MessageBuffer.hh
src/mem/ruby/protocol/RubySlicc_Types.sm
src/mem/slicc/ast/DeferEnqueueingStatementAST.py [new file with mode: 0644]
src/mem/slicc/ast/__init__.py
src/mem/slicc/parser.py