Review Board 2.0.15


mem: Add unified queue to DRAMCtrl

Review Request #3354 - Created Feb. 29, 2016 and updated - Latest diff uploaded

Information
Matthew Poremba
gem5
default
Reviewers
Default

Changeset 11354:81cb93c4a16c
---------------------------
mem: Add unified queue to DRAMCtrl

Add optional unified queue to the DRAMCtrl to serve as a front end queue for
flow control. This prevents needing individual flow control for both read and
write queues by exposing only one queue at the slave side. This makes flow
control more generic and simplistic.

Requests are placed in the unified queue and remain there until a response
is sent back to the requestor. A logical unified queue is represented by
the union of unifiedQueue and unifiedPending. unifiedPending is used for
requests that have already been issued to the memory core and is useful for
reducing the complexity of searching for unissued requests in unifiedQueue.
The size of the unified queue as well as the number of requests that can be
searched in a given cycle can be configured in DRAMCtrl parameters. It can be
disabled altogether (and is by default) by setting use_unified_buffer False
to default to normal behavior in gem5.