Changes between Version 38 and Version 39 of InterconnexionNetworks


Ignore:
Timestamp:
Jan 22, 2013, 5:07:57 PM (11 years ago)
Author:
joannou
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InterconnexionNetworks

    v38 v39  
    6060 * The '''global interconnect''' is implemented as one DSPIN network, supporting two virtual sub-networks, and the coherence sub-network supports a broadcast service for single flit VCI commands.
    6161
    62 === 3.1  VCI encoding of the various transaction types on the direct network ===
    63 
    64 There is 5 transaction types (READ, WRITE, LL, SC, CAS) on the direct network, and there is four sub-types for READ transactions.
    65 Both the VCI CMD field and the VCI PKTID fields are used for the transaction type encoding. When a given initiator can send several simultaneous
    66 transaction with the same type (such as several WRITE simultaneous WRITE transactions), the VCI TRDID field is used. 
    67 
     62=== 3.1  VCI encoding of the various transaction types on the direct network ===
     63
     64There are 5 transaction types ('''READ''', '''WRITE''', '''LL''', '''SC''', '''CAS''') on the direct network, and there are four sub-typVCI '''CMD''' field and the VCI '''PKTID''' fields are used for the transaction type encoding. When a given initiator can send several se (such as several simultaneous '''WRITE''' transactions), the VCI '''TRDID''' field is used.
     65
     66Possible values for the VCI '''CMD''' field are :
     67
     68|| encoding (2 bits) || value                    ||
     69||                   ||                          ||
     70|| 00                || CMD_NOP / CMD_STORE_COND ||
     71|| 01                || CMD_READ                 ||
     72|| 10                || CMD_WRITE                ||
     73|| 11                || CMD_LOCKED_READ          ||
     74
     75The '''PKTID''' field in TSAR is 4 bits long. Only 8 types of transaction are used : the MSB is ignored (reserved for future use). A sper each '''PKTID''' value, as described in the table below :
     76
     77|| encoding (4 bits) || '''PKTID''' value   || '''CMD''' value ||
     78||                   ||                     ||                 ||
     79|| X000              || TYPE_READ_DATA_UNC  || CMD_READ        ||
     80|| X001              || TYPE_READ_DATA_MISS || CMD_READ        ||
     81|| X010              || TYPE_READ_INS_UNC   || CMD_READ        ||
     82|| X011              || TYPE_READ_INS_MISS  || CMD_READ        ||
     83|| X100              || TYPE_WRITE          || CMD_WRITE       ||
     84|| X101              || TYPE_CAS            || CMD_NOP         ||
     85|| X110              || TYPE_LL             || CMD_LOCKED_READ ||
     86|| X111              || TYPE_SC             || CMD_STORE_COND  ||
     87
     88Remarks on the '''PKTID''' field encoding :
     89 * for a TYPE_READ, bit 0 is set (resp. not set) for a miss (resp. uncached) request
     90 * for a TYPE_READ, bit 1 is set (resp. not set) for an instruction (resp. data) request
     91 * bit 2 can be used to check for a TYPE_READ (bit 2 = 0)
     92
     93==== 3.1.1 VCI READ transaction ====
     94
     95A VCI '''READ''' command packet contains one flit.
     96 * The VCI '''CMD''' field must be set to CMD_READ.
     97 * The VCI '''TRDID''' field is not used by the L1 cache. It is used by I/O controlers with multi channel DMA capabilities to transmit t
     98 * The VCI '''PKTID''' field can be any of the 4 TYPE_READ_* of the previous table.
     99
     100A VCI '''READ''' response packet returns either
     101 * A single flit containing the uncached data in the '''RDATA''' field (for a '''PKTID''' = TYPE_READ_*_UNC).
     102 * up to 16 flits containing one word per flit in the '''RDATA''' field (for a '''PKTID''' = TYPE_READ_*_MISS).
     103
     104==== 3.1.2 VCI WRITE transaction ====
     105
     106A VCI '''WRITE''' command packet contains from 1 to 16 flits within the same cache line.
     107 * The VCI '''CMD''' field must be set to CMD_WRITE.
     108 * The VCI '''TRDID''' field is used by the L1 cache to index its write buffer (4 write buffer slots of 4 words each). It is used by I/Olities to transmit the channel index.
     109 * The VCI '''PKTID''' field must be TYPE_WRITE.
     110
     111A VCI '''WRITE''' response packet always returns a single flit with a 0 value in the '''RDATA''' field.
     112
     113==== 3.1.3 VCI LL (Linked Load) transaction ====
     114
     115A VCI '''LL (Linked Load)''' command packet contains a single flit.
     116('''N.B.''': this request is only sent by a L1 cache and can only target a memory cache)
     117 * The VCI '''CMD''' field must be set to CMD_LOCKED_READ.
     118 * The VCI '''TRDID''' field is not used by the L1 cache.
     119 * The VCI '''PKTID''' field must be TYPE_LL.
     120
     121A VCI '''LL (Linked Load)''' response packet contains 2 flits :
     122 * The first flit contains in the '''RDATA''' field a signature returned by the memory cache for this LL reservation.
     123 * The second flit contains in the '''RDATA''' field the data that has been read in the memory cache.
     124
     125==== 3.1.4 VCI SC (Store Conditional) transaction ====
     126
     127A VCI '''SC (Store Conditionnal)''' command packet contains 2 flits.
     128('''N.B.''': this request is only sent by a L1 cache and can only target a memory cache)
     129 * The VCI '''CMD''' field must be set to CMD_STORE_COND.
     130 * The VCI '''TRDID''' field is not used by the L1 cache.
     131 * The VCI '''PKTID''' field must be TYPE_SC.
     132 * The first flit contains in the '''WDATA''' field the signature obtained with the last LL operation at this address.
     133 * The second flit contains in the '''WDATA''' field the data to be written.
     134
     135A VCI '''SC (Store Conditional)''' response packet contains 1 flit.
     136 * The '''RDATA''' field contains 0 (resp. 1) to indicate an SC success (resp. failure).
     137
     138==== 3.1.5 VCI CAS (Compare & Swap) transaction ====
     139
     140A VCI '''CAS (Compare & Swap)''' command packet contains 2 flits.
     141('''N.B.''': this request is only sent by a L1 cache and can only target a memory cache)
     142 * The VCI '''CMD''' field must be set to CMD_NOP.
     143 * The VCI '''TRDID''' field is not used by the L1 cache.
     144 * The VCI '''PKTID''' field must be TYPE_CAS.
     145 * The first flit contains in the '''WDATA''' field the old value of the data to be overwritten.
     146 * The second flit contains in the '''WDATA''' field the new value to be written.
     147
     148A VCI '''CAS (Compare & Swap)''' response packet contains 1 flit.
     149 * The '''RDATA''' field contains 0 (resp. 1) to indicate a CAS success (resp. failure).
    68150
    69151=== 3.2  VCI encoding of the various transaction types on the coherence network ===