diff options
author | Marco Balboni <Marco.Balboni@ARM.com> | 2015-02-11 10:23:47 -0500 |
---|---|---|
committer | Marco Balboni <Marco.Balboni@ARM.com> | 2015-02-11 10:23:47 -0500 |
commit | 268d9e59c5e69a00456a40c837b0150a8f3f6bf8 (patch) | |
tree | abb89f1dcd542109c163b76fb632ee8e5444ab18 /src/mem/packet.hh | |
parent | e2828587b3f28c4f37f0fe598209290bc3d41de0 (diff) | |
download | gem5-268d9e59c5e69a00456a40c837b0150a8f3f6bf8.tar.xz |
mem: Clarification of packet crossbar timings
This patch clarifies the packet timings annotated
when going through a crossbar.
The old 'firstWordDelay' is replaced by 'headerDelay' that represents
the delay associated to the delivery of the header of the packet.
The old 'lastWordDelay' is replaced by 'payloadDelay' that represents
the delay needed to processing the payload of the packet.
For now the uses and values remain identical. However, going forward
the payloadDelay will be additive, and not include the
headerDelay. Follow-on patches will make the headerDelay capture the
pipeline latency incurred in the crossbar, whereas the payloadDelay
will capture the additional serialisation delay.
Diffstat (limited to 'src/mem/packet.hh')
-rw-r--r-- | src/mem/packet.hh | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 2917262c3..e80307ffc 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2014 ARM Limited + * Copyright (c) 2012-2015 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -313,23 +313,23 @@ class Packet : public Printable public: /** - * The extra delay from seeing the packet until the first word is + * The extra delay from seeing the packet until the header is * transmitted. This delay is used to communicate the crossbar * forwarding latency to the neighbouring object (e.g. a cache) * that actually makes the packet wait. As the delay is relative, * a 32-bit unsigned should be sufficient. */ - uint32_t firstWordDelay; + uint32_t headerDelay; /** - * The extra pipelining delay from seeing the packet until the - * last word is transmitted by the component that provided it (if - * any). This includes the first word delay. Similar to the first - * word delay, this is used to make up for the fact that the + * The extra pipelining delay from seeing the packet until the end of + * payload is transmitted by the component that provided it (if + * any). This includes the header delay. Similar to the header + * delay, this is used to make up for the fact that the * crossbar does not make the packet wait. As the delay is * relative, a 32-bit unsigned should be sufficient. */ - uint32_t lastWordDelay; + uint32_t payloadDelay; /** * A virtual base opaque structure used to hold state associated @@ -574,7 +574,7 @@ class Packet : public Printable Packet(const RequestPtr _req, MemCmd _cmd) : cmd(_cmd), req(_req), data(nullptr), addr(0), _isSecure(false), size(0), bytesValidStart(0), bytesValidEnd(0), - firstWordDelay(0), lastWordDelay(0), + headerDelay(0), payloadDelay(0), senderState(NULL) { if (req->hasPaddr()) { @@ -596,7 +596,7 @@ class Packet : public Printable Packet(const RequestPtr _req, MemCmd _cmd, int _blkSize) : cmd(_cmd), req(_req), data(nullptr), addr(0), _isSecure(false), bytesValidStart(0), bytesValidEnd(0), - firstWordDelay(0), lastWordDelay(0), + headerDelay(0), payloadDelay(0), senderState(NULL) { if (req->hasPaddr()) { @@ -621,8 +621,8 @@ class Packet : public Printable addr(pkt->addr), _isSecure(pkt->_isSecure), size(pkt->size), bytesValidStart(pkt->bytesValidStart), bytesValidEnd(pkt->bytesValidEnd), - firstWordDelay(pkt->firstWordDelay), - lastWordDelay(pkt->lastWordDelay), + headerDelay(pkt->headerDelay), + payloadDelay(pkt->payloadDelay), senderState(pkt->senderState) { if (!clear_flags) |