3#include "CPUTopology.hpp"
27 &factories->flushmanager_rf
59 &factories->dispatch_rf
67 &factories->execute_rf
75 &factories->execute_rf
83 &factories->execute_rf
91 &factories->execute_rf
113 "Bus Interface Unit",
137 "Preloader Facility",
140 &factories->preloader_rf
147 "cpu.core*.fetch.ports.out_fetch_queue_write",
148 "cpu.core*.decode.ports.in_fetch_queue_write"
151 "cpu.core*.fetch.ports.in_fetch_queue_credits",
152 "cpu.core*.decode.ports.out_fetch_queue_credits"
155 "cpu.core*.decode.ports.out_uop_queue_write",
156 "cpu.core*.rename.ports.in_uop_queue_append"
159 "cpu.core*.decode.ports.in_uop_queue_credits",
160 "cpu.core*.rename.ports.out_uop_queue_credits"
163 "cpu.core*.rename.ports.out_dispatch_queue_write",
164 "cpu.core*.dispatch.ports.in_dispatch_queue_write"
167 "cpu.core*.rename.ports.in_dispatch_queue_credits",
168 "cpu.core*.dispatch.ports.out_dispatch_queue_credits"
171 "cpu.core*.dispatch.ports.out_fpu_write",
172 "cpu.core*.fpu.ports.in_execute_write"
175 "cpu.core*.dispatch.ports.in_fpu_credits",
176 "cpu.core*.fpu.ports.out_scheduler_credits"
179 "cpu.core*.dispatch.ports.out_alu0_write",
180 "cpu.core*.alu0.ports.in_execute_write"
183 "cpu.core*.dispatch.ports.in_alu0_credits",
184 "cpu.core*.alu0.ports.out_scheduler_credits"
187 "cpu.core*.dispatch.ports.out_alu1_write",
188 "cpu.core*.alu1.ports.in_execute_write"
191 "cpu.core*.dispatch.ports.in_alu1_credits",
192 "cpu.core*.alu1.ports.out_scheduler_credits"
195 "cpu.core*.dispatch.ports.out_br_write",
196 "cpu.core*.br.ports.in_execute_write"
199 "cpu.core*.dispatch.ports.in_br_credits",
200 "cpu.core*.br.ports.out_scheduler_credits"
203 "cpu.core*.dispatch.ports.out_lsu_write",
204 "cpu.core*.lsu.ports.in_lsu_insts"
207 "cpu.core*.dispatch.ports.in_lsu_credits",
208 "cpu.core*.lsu.ports.out_lsu_credits"
211 "cpu.core*.dispatch.ports.out_reorder_buffer_write",
212 "cpu.core*.rob.ports.in_reorder_buffer_write"
215 "cpu.core*.dispatch.ports.in_reorder_buffer_credits",
216 "cpu.core*.rob.ports.out_reorder_buffer_credits"
219 "cpu.core*.lsu.ports.out_biu_req",
220 "cpu.core*.biu.ports.in_biu_req"
223 "cpu.core*.lsu.ports.in_biu_ack",
224 "cpu.core*.biu.ports.out_biu_ack"
227 "cpu.core*.biu.ports.out_mss_req_sync",
228 "cpu.core*.mss.ports.in_mss_req_sync"
231 "cpu.core*.biu.ports.in_mss_ack_sync",
232 "cpu.core*.mss.ports.out_mss_ack_sync"
235 "cpu.core*.rob.ports.out_retire_flush",
236 "cpu.core*.flushmanager.ports.in_retire_flush"
239 "cpu.core*.rob.ports.out_fetch_flush_redirect",
240 "cpu.core*.flushmanager.ports.in_fetch_flush_redirect"
243 "cpu.core*.rob.ports.out_rob_retire_ack",
244 "cpu.core*.lsu.ports.in_rob_retire_ack"
247 "cpu.core*.flushmanager.ports.out_retire_flush",
248 "cpu.core*.alu0.ports.in_reorder_flush"
251 "cpu.core*.flushmanager.ports.out_retire_flush",
252 "cpu.core*.alu1.ports.in_reorder_flush"
255 "cpu.core*.flushmanager.ports.out_retire_flush",
256 "cpu.core*.fpu.ports.in_reorder_flush"
259 "cpu.core*.flushmanager.ports.out_retire_flush",
260 "cpu.core*.dispatch.ports.in_reorder_flush"
263 "cpu.core*.flushmanager.ports.out_retire_flush",
264 "cpu.core*.decode.ports.in_reorder_flush"
267 "cpu.core*.flushmanager.ports.out_retire_flush",
268 "cpu.core*.rename.ports.in_reorder_flush"
271 "cpu.core*.flushmanager.ports.out_retire_flush",
272 "cpu.core*.rob.ports.in_reorder_flush"
275 "cpu.core*.flushmanager.ports.out_retire_flush",
276 "cpu.core*.lsu.ports.in_reorder_flush"
279 "cpu.core*.flushmanager.ports.out_fetch_flush_redirect",
280 "cpu.core*.fetch.ports.in_fetch_flush_redirect"
290 if(topology ==
"core_topology_1"){
#define sparta_assert(...)
Simple variadic assertion that will throw a sparta_exception if the condition fails.
Exception class for all of Sparta.
static auto allocateTopology(const std::string &topology) -> CPUTopology *
Static method to allocate memory for topology.
CoreTopology_1 topology class.
CoreTopology_1()
Constructor for CPUTopology.
Used to construct and throw a standard C++ exception. Inherits from std::exception.
static const group_idx_type GROUP_IDX_NONE
GroupIndex indicating that a node has no group index because it belongs to no group.
static constexpr char GROUP_NAME_NONE[]
Group name indicating that a node belongs to no group.