X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fxbar.hh;h=88be87f59c9dd8a82c8985a98573a709bff4f9eb;hb=e656730f356edf86879abc522862c267c90ab3de;hp=086d7f41e3a7dc4702c8dc55d54437c1cc5e683f;hpb=6a4b69c4fd8dff27147a07f0f8005f73e7be8398;p=gem5.git diff --git a/src/mem/xbar.hh b/src/mem/xbar.hh index 086d7f41e..88be87f59 100644 --- a/src/mem/xbar.hh +++ b/src/mem/xbar.hh @@ -79,10 +79,10 @@ class BaseXBar : public ClockedObject * PCIe, etc. * * The template parameter, PortClass, indicates the destination - * port type for the layer. The retry list holds either master - * ports or slave ports, depending on the direction of the - * layer. Thus, a request layer has a retry list containing slave - * ports, whereas a response layer holds master ports. + * port type for the layer. The retry list holds either memory-side ports + * or CPU-side ports, depending on the direction of the + * layer. Thus, a request layer has a retry list containing + * CPU-side ports, whereas a response layer holds memory-side ports. */ template class Layer : public Drainable, public Stats::Group @@ -165,7 +165,7 @@ class BaseXBar : public ClockedObject /** * Sending the actual retry, in a manner specific to the - * individual layers. Note that for a MasterPort, there is + * individual layers. Note that for a RequestPort, there is * both a RequestLayer and a SnoopResponseLayer using the same * port, but using different functions for the flow control. */ @@ -231,7 +231,7 @@ class BaseXBar : public ClockedObject }; - class ReqLayer : public Layer + class ReqLayer : public Layer { public: /** @@ -241,19 +241,20 @@ class BaseXBar : public ClockedObject * @param _xbar the crossbar this layer belongs to * @param _name the layer's name */ - ReqLayer(MasterPort& _port, BaseXBar& _xbar, const std::string& _name) : + ReqLayer(RequestPort& _port, BaseXBar& _xbar, + const std::string& _name) : Layer(_port, _xbar, _name) {} protected: void - sendRetry(SlavePort* retry_port) override + sendRetry(ResponsePort* retry_port) override { retry_port->sendRetryReq(); } }; - class RespLayer : public Layer + class RespLayer : public Layer { public: /** @@ -263,20 +264,20 @@ class BaseXBar : public ClockedObject * @param _xbar the crossbar this layer belongs to * @param _name the layer's name */ - RespLayer(SlavePort& _port, BaseXBar& _xbar, + RespLayer(ResponsePort& _port, BaseXBar& _xbar, const std::string& _name) : Layer(_port, _xbar, _name) {} protected: void - sendRetry(MasterPort* retry_port) override + sendRetry(RequestPort* retry_port) override { retry_port->sendRetryResp(); } }; - class SnoopRespLayer : public Layer + class SnoopRespLayer : public Layer { public: /** @@ -286,7 +287,7 @@ class BaseXBar : public ClockedObject * @param _xbar the crossbar this layer belongs to * @param _name the layer's name */ - SnoopRespLayer(MasterPort& _port, BaseXBar& _xbar, + SnoopRespLayer(RequestPort& _port, BaseXBar& _xbar, const std::string& _name) : Layer(_port, _xbar, _name) {} @@ -294,7 +295,7 @@ class BaseXBar : public ClockedObject protected: void - sendRetry(SlavePort* retry_port) override + sendRetry(ResponsePort* retry_port) override { retry_port->sendRetrySnoopResp(); } @@ -331,9 +332,9 @@ class BaseXBar : public ClockedObject * Function called by the port when the crossbar is recieving a * range change. * - * @param master_port_id id of the port that received the change + * @param mem_side_port_id id of the port that received the change */ - virtual void recvRangeChange(PortID master_port_id); + virtual void recvRangeChange(PortID mem_side_port_id); /** * Find which port connected to this crossbar (if any) should be @@ -363,17 +364,17 @@ class BaseXBar : public ClockedObject void calcPacketTiming(PacketPtr pkt, Tick header_delay); /** - * Remember for each of the master ports of the crossbar if we got - * an address range from the connected slave. For convenience, - * also keep track of if we got ranges from all the slave modules + * Remember for each of the memory-side ports of the crossbar if we got + * an address range from the connected CPU-side ports. For convenience, + * also keep track of if we got ranges from all the CPU-side-port modules * or not. */ std::vector gotAddrRanges; bool gotAllAddrRanges; - /** The master and slave ports of the crossbar */ - std::vector slavePorts; - std::vector masterPorts; + /** The memory-side ports and CPU-side ports of the crossbar */ + std::vector cpuSidePorts; + std::vector memSidePorts; /** Port that handles requests that don't match any of the interfaces.*/ PortID defaultPortID; @@ -384,16 +385,16 @@ class BaseXBar : public ClockedObject addresses not handled by another port to default device. */ const bool useDefaultRange; - BaseXBar(const BaseXBarParams *p); + BaseXBar(const BaseXBarParams &p); /** * Stats for transaction distribution and data passing through the * crossbar. The transaction distribution is globally counting * different types of commands. The packet count and total packet * size are two-dimensional vectors that are indexed by the - * slave port and master port id (thus the neighbouring master and - * neighbouring slave), summing up both directions (request and - * response). + * CPU-side port and memory-side port id (thus the neighbouring memory-side + * ports and neighbouring CPU-side ports), summing up both directions + * (request and response). */ Stats::Vector transDist; Stats::Vector2d pktCount;