From 496d5ed3e1f7dad42b0c2ebe0050d84621be8f99 Mon Sep 17 00:00:00 2001 From: Tiago Muck Date: Tue, 19 Feb 2019 15:58:33 -0600 Subject: mem-ruby: Hit latencies defined by the controllers Removed the icache/dcache hit latency parameters from the Sequencer. They were replaced by the mandatory queue enqueue latency that is now defined by the top-level cache controller. By default, the latency is defined by the mandatory_queue_latency parameter. When the latency depends on specific protocol states or on the request type, the protocol may override the mandatoryQueueLatency function. Change-Id: I72e57a7ea49501ef81dc7f591bef14134274647c Signed-off-by: Tiago Muck Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18413 Tested-by: kokoro Reviewed-by: Nikos Nikoleris Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- src/mem/ruby/slicc_interface/Controller.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/mem/ruby/slicc_interface/Controller.py') diff --git a/src/mem/ruby/slicc_interface/Controller.py b/src/mem/ruby/slicc_interface/Controller.py index 4d3c1900e..de48929b6 100644 --- a/src/mem/ruby/slicc_interface/Controller.py +++ b/src/mem/ruby/slicc_interface/Controller.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 ARM Limited +# Copyright (c) 2017,2019 ARM Limited # All rights reserved. # # The license below extends only to copyright in the software and shall @@ -61,5 +61,13 @@ class RubyController(ClockedObject): number_of_TBEs = Param.Int(256, "") ruby_system = Param.RubySystem("") + # This is typically a proxy to the icache/dcache hit latency. + # If the latency depends on the request type or protocol-specific states, + # the protocol may ignore this parameter by overriding the + # mandatoryQueueLatency function + mandatory_queue_latency = \ + Param.Cycles(1, "Default latency for requests added to the " \ + "mandatory queue on top-level controllers") + memory = MasterPort("Port for attaching a memory controller") system = Param.System(Parent.any, "system object parameter") -- cgit v1.2.3