From f1fc49ed138e76b83a0dfc00311b5c1192be572e Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Tue, 9 Nov 2021 10:21:58 +0000 Subject: [PATCH] learning_gem5: Replace master/slave terminology from learning_gem5 scripts Signed-off-by: Giacomo Travaglini Change-Id: I6c30d18155acb151d732ae7e35e29f6facad78fd Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/52864 Tested-by: kokoro Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- configs/learning_gem5/part3/msi_caches.py | 27 ++++++++++--------- .../part3/ruby_caches_MI_example.py | 20 +++++++------- configs/learning_gem5/part3/test_caches.py | 8 +++--- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/configs/learning_gem5/part3/msi_caches.py b/configs/learning_gem5/part3/msi_caches.py index 1614c467e1..957adf2baf 100644 --- a/configs/learning_gem5/part3/msi_caches.py +++ b/configs/learning_gem5/part3/msi_caches.py @@ -98,7 +98,7 @@ def setup(self, system, cpus, mem_ctrls): # Set up a proxy port for the system_port. Used for load binaries and # other functional-only things. self.sys_port_proxy = RubyPortProxy() - system.system_port = self.sys_port_proxy.slave + system.system_port = self.sys_port_proxy.in_ports # Connect the cpu's cache, interrupt, and TLB ports to Ruby for i,cpu in enumerate(cpus): @@ -155,18 +155,19 @@ def connectQueues(self, ruby_system): # explicitly connected to anything. self.mandatoryQueue = MessageBuffer() - # All message buffers must be created and connected to the general - # Ruby network. In this case, "slave/master" don't mean the same thing - # as normal gem5 ports. If a MessageBuffer is a "to" buffer (i.e., out) - # then you use the "master", otherwise, the slave. + # All message buffers must be created and connected to the + # general Ruby network. In this case, "in_port/out_port" don't + # mean the same thing as normal gem5 ports. If a MessageBuffer + # is a "to" buffer (i.e., out) then you use the "out_port", + # otherwise, the in_port. self.requestToDir = MessageBuffer(ordered = True) - self.requestToDir.master = ruby_system.network.slave + self.requestToDir.out_port = ruby_system.network.in_port self.responseToDirOrSibling = MessageBuffer(ordered = True) - self.responseToDirOrSibling.master = ruby_system.network.slave + self.responseToDirOrSibling.out_port = ruby_system.network.in_port self.forwardFromDir = MessageBuffer(ordered = True) - self.forwardFromDir.slave = ruby_system.network.master + self.forwardFromDir.in_port = ruby_system.network.out_port self.responseFromDirOrSibling = MessageBuffer(ordered = True) - self.responseFromDirOrSibling.slave = ruby_system.network.master + self.responseFromDirOrSibling.in_port = ruby_system.network.out_port class DirController(Directory_Controller): @@ -192,14 +193,14 @@ def __init__(self, ruby_system, ranges, mem_ctrls): def connectQueues(self, ruby_system): self.requestFromCache = MessageBuffer(ordered = True) - self.requestFromCache.slave = ruby_system.network.master + self.requestFromCache.in_port = ruby_system.network.out_port self.responseFromCache = MessageBuffer(ordered = True) - self.responseFromCache.slave = ruby_system.network.master + self.responseFromCache.in_port = ruby_system.network.out_port self.responseToCache = MessageBuffer(ordered = True) - self.responseToCache.master = ruby_system.network.slave + self.responseToCache.out_port = ruby_system.network.in_port self.forwardToCache = MessageBuffer(ordered = True) - self.forwardToCache.master = ruby_system.network.slave + self.forwardToCache.out_port = ruby_system.network.in_port # These are other special message buffers. They are used to send # requests to memory and responses from memory back to the controller. diff --git a/configs/learning_gem5/part3/ruby_caches_MI_example.py b/configs/learning_gem5/part3/ruby_caches_MI_example.py index 04068294af..b67e6b1791 100644 --- a/configs/learning_gem5/part3/ruby_caches_MI_example.py +++ b/configs/learning_gem5/part3/ruby_caches_MI_example.py @@ -96,7 +96,7 @@ def setup(self, system, cpus, mem_ctrls): # Set up a proxy port for the system_port. Used for load binaries and # other functional-only things. self.sys_port_proxy = RubyPortProxy() - system.system_port = self.sys_port_proxy.slave + system.system_port = self.sys_port_proxy.in_ports # Connect the cpu's cache, interrupt, and TLB ports to Ruby for i,cpu in enumerate(cpus): @@ -149,13 +149,13 @@ def connectQueues(self, ruby_system): """ self.mandatoryQueue = MessageBuffer() self.requestFromCache = MessageBuffer(ordered = True) - self.requestFromCache.master = ruby_system.network.slave + self.requestFromCache.out_port = ruby_system.network.in_port self.responseFromCache = MessageBuffer(ordered = True) - self.responseFromCache.master = ruby_system.network.slave + self.responseFromCache.out_port = ruby_system.network.in_port self.forwardToCache = MessageBuffer(ordered = True) - self.forwardToCache.slave = ruby_system.network.master + self.forwardToCache.in_port = ruby_system.network.out_port self.responseToCache = MessageBuffer(ordered = True) - self.responseToCache.slave = ruby_system.network.master + self.responseToCache.in_port = ruby_system.network.out_port class DirController(Directory_Controller): @@ -181,16 +181,16 @@ def __init__(self, ruby_system, ranges, mem_ctrls): def connectQueues(self, ruby_system): self.requestToDir = MessageBuffer(ordered = True) - self.requestToDir.slave = ruby_system.network.master + self.requestToDir.in_port = ruby_system.network.out_port self.dmaRequestToDir = MessageBuffer(ordered = True) - self.dmaRequestToDir.slave = ruby_system.network.master + self.dmaRequestToDir.in_port = ruby_system.network.out_port self.responseFromDir = MessageBuffer() - self.responseFromDir.master = ruby_system.network.slave + self.responseFromDir.out_port = ruby_system.network.in_port self.dmaResponseFromDir = MessageBuffer(ordered = True) - self.dmaResponseFromDir.master = ruby_system.network.slave + self.dmaResponseFromDir.out_port = ruby_system.network.in_port self.forwardFromDir = MessageBuffer() - self.forwardFromDir.master = ruby_system.network.slave + self.forwardFromDir.out_port = ruby_system.network.in_port self.requestToMemory = MessageBuffer() self.responseFromMemory = MessageBuffer() diff --git a/configs/learning_gem5/part3/test_caches.py b/configs/learning_gem5/part3/test_caches.py index 227c2dba59..00a1fe3dab 100644 --- a/configs/learning_gem5/part3/test_caches.py +++ b/configs/learning_gem5/part3/test_caches.py @@ -90,16 +90,16 @@ def setup(self, system, tester, mem_ctrls): # Set up a proxy port for the system_port. Used for load binaries and # other functional-only things. self.sys_port_proxy = RubyPortProxy() - system.system_port = self.sys_port_proxy.slave + system.system_port = self.sys_port_proxy.in_ports # Connect up the sequencers to the random tester for seq in self.sequencers: if seq.support_data_reqs and seq.support_inst_reqs: - tester.cpuInstDataPort = seq.slave + tester.cpuInstDataPort = seq.in_ports elif seq.support_data_reqs: - tester.cpuDataPort = seq.slave + tester.cpuDataPort = seq.in_ports elif seq.support_inst_reqs: - tester.cpuInstDataPort = seq.slave + tester.cpuInstDataPort = seq.in_ports # Do not automatically retry stalled Ruby requests seq.no_retry_on_stall = True