Changes between Version 66 and Version 67 of InterconnexionNetworks


Ignore:
Timestamp:
Apr 22, 2013, 1:59:33 PM (12 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InterconnexionNetworks

    v66 v67  
    1111 * The '''Coherence Network''' is used to transport the coherence packets implementing the DHCCP coherence protocol between L2 cache controllers and L1 cache controllers. This network is not visible by the software, and does not use wrappers, as the L1 and L2 cache controllers use directly the DSPIN packet format. Here again there is two physically separated networks to transport L2-to-L1 packets, and to transport L1-to-L2 packets. Both networks have a two-level hierarchical structure with a local interconnect in each cluster (that can be implemented as a local crossbar, or as a local ring), and a global interconnect (implemented as a 2D mesh).
    1212
    13  * The '''External Network''' supports communications between the L2 caches and the ''tiles'' implementing the L3 cache, in case of MISS or cache line replacement in the L2 caches. It supports also the direct communication between the L3 cache and the external peripheral that have a DMA capability (Disk controllers, or network controllers). It has a 3D mesh topology and the DSPIN flit width is 64 bits. This external network addressing space is not visible by the software.
     13 * The '''External Network''' supports communications between the L2 caches and the ''tiles'' implementing the L3 cache, in case of MISS or cache line replacement in the L2 caches. It supports also the direct communication between the external peripheral that have a DMA capability (Disk controllers, or network controllers) and the L3 cache. It has a 3D mesh topology and the DSPIN flit width is 64 bits. This external network addressing space is not visible by the software.
    1414
    1515Regarding implementation, the '''Direct Network''' and the '''coherence Network''' are physically separated in each cluster, but they are only logically separated for the global communications: For the local interconnect, there is four physically separated local crossbars (or local rings) transporting the ''direct command'', ''direct response'', '' coherence L1-to-L2'', ''coherence L2-to-L1'' packets.  For the global interconnect, we use the DSPIN virtual channels: the ''direct command'' and the ''coherence L2-to-L1'' packets are multiplexed on the same 2D mesh (40 bits DSPIN flit width). Similarly, the ''direct response'' and ''coherence L1-to-L2'' packets are multiplexed on the same 2D mesh (33 bits DSPIN flit width).
     
    303303|| 1 ||   (10) ||       (15)        || (4) ||(2) ||0 ||
    304304
    305 == 7. VCI initiators & targets on the external network ==
     305== 7. Initiators & targets on the external network ==
     306
     307The L3 cache is implemented as a set of physical memory banks, with one single memory bank per cluster.
    306308
    307309The only targets on the external network are the physical memory bank (one target per cluster).
    308 The initiators are the memory cache (one initiator per cluster) and the I/O bridge (one extra initiator in the I/O cluster.
    309 As for the direct network, each VCI port is identified by three indexes :
    310 
    311  * '''X_ID''' is the cluster X-coordinate in the 2D mesh.
    312  * '''Y_ID''' is the cluster Y-coordinate in the 2D mexh.
    313  * '''L_ID''' is the local index inside the cluster.
    314 
    315 X_ID, Y_ID and L_ID are coded on NX, NY, NL bits respectively.
    316 The local index is only used to discriminate the initiators. It is not used by the targets.
    317 
    318 || Initiator    ||L_ID||
    319 ||              ||    ||
    320 || memory cache || 0  ||
    321 || I/O bridge   || 1  ||
    322 
    323 Here is the VCI encoding on the external network
    324 
    325 || VCI Field              ||  width  ||
    326 ||                        ||         ||
    327 ||ADDRESS                 || 40 bits ||
    328 ||WDATA , RDATA           || 64 bits ||
    329 ||PLEN                    || 7  bits ||
    330 ||SRCID, RSRCID           || 14 bits ||
    331 ||TRDID, RTRDID           || 4  bits ||
    332 ||PKTID, RPKTID           || 0  bits ||
    333 ||RERROR                  || 1  bit  ||         
    334 
    335 The only supported transactions are READ and WRITE transactions.
    336 Bursts are supported, but all addresses in a burst
    337 Only should be in the same cache line (64 bytes).
    338 We don't transport the VCI BE field on the external network, as the byte operations are not supported.
    339 We don't transport the VCI PKTID field
    340 
    341 == 8.  DSPIN packet encoding on the direct network ==
    342 
    343 The VCI command & response packets are translated (actually serialized) to DSPIN format by the VCI/DSPIN wrappers.  For both the DSPIN command packet and the response packet, the flit width is 65 bits. and the DSPIN response packet width is 33 bits.
    344 The DSPIN interconnexion network uses only the following information to route the DSPIN packets to the proper destination:
     310The initiators are the memory cache (one initiator per cluster) and the I/O bridge (one extra initiator in the I/O cluster).
     311The I/O bridge is acting as a multiplexer for the various DMA commands sent by the external peripherals.
     312
     313As for the direct network, each initiator is identified by three indexes X_ID (cluster X-coordinate), Y_ID (cluster Y-coordinate),
     314and L_ID (local index). The L_ID value 0 is reserved for the memory cache. L-ID values larger than 0 must be allocated to the various external peripherals.
     315
     316 * The only supported transactions are READ and WRITE burst transactions,
     317 * All addresses must be aligned on 32 bits word boundary,
     318 * All addresses in the same burst must be in the same cache line (64 bytes),
     319 * Byte operations are not supported.
     320
     321The external network is implemented as a 2D mesh, using DSPIN routers with a 65 bits flit width,
     322where the DATA field in a flit is 64 bits. The memory cache and I/O bridge components are directly
     323connected to the external network through DSPIN_65 interfaces.
     324
     325The various fields in the DSPIN_65 command and response packets are defined below:
     326he following features are implemented in the VCI/DSPIN wrappers:
     327
     328 * ADDRESS: Only the 38 MSB bits of the physical 40 bits address are transported in a DSPIN command packet.
     329 * WLEN: This argument define the number of 32 bits words in a burst (WLEN = (PLEN/4) - 1).
     330 * SRCID: Initiator identifier (X_ID | Y_ID | L_ID) coded on 14 bits.
     331 * TRDID: Transaction identifier for simultaneous transactions from a given initiator.
     332 * CMD: Transaction type ( 00 == READ / 01 == WRITE / 1* == reserved )
     333 * ERROR: Transaction status ( 00 == Read Success / 01 == Read Error / 10 == Write Success / 11 == Write Error)
     334
     335== 8.  DSPIN_65 packet encoding on the external network ==
     336
     337The DSPIN_65 network uses only the following information to route the DSPIN packets to the proper destination:
    345338 * The EOP flag, defining the last flit of a DSPIN packet.
    346  * The (NX+NY+NL) MSB bits of the first field are used to route the packet to the proper destination.
    347 
     339 * The 14 MSB bits of the first field are used to route the DSPIN packet.
    348340
    349341=== 8.1 DSPIN Read Command packet format (65 bits) ===
     
    352344
    353345Flit 0 :
    354 ||EOP||----------------ADDRESS--------------------||PLEN||CMD||SRCID||TRDID||
    355 || 1 ||                (38)                       || (7)||(1)|| (14)|| (4) ||
     346||EOP||----------------ADDRESS---------------||res||WLEN||CMD||SRCID||TRDID||
     347|| 1 ||                (38)                  ||(2)|| (4)||(2)|| (14)|| (4) ||
    356348
    357349=== 8.2 DSPIN write Command packet format (65 bits) ===
     
    361353
    362354Flit 0 :
    363 ||EOP||----------------ADDRESS--------------------||PLEN||CMD||SRCID||TRDID||
    364 || 0 ||                (38)                       || (7)||(1)|| (14)|| (4) ||
     355||EOP||----------------ADDRESS---------------||res||WLEN||CMD||SRCID||TRDID||
     356|| 1 ||                (38)                  ||(2)|| (4)||(2)|| (14)|| (4) ||
    365357
    366358Flit N :
     
    373365
    374366Flit 0 :
    375 ||EOP||RSRCID||------------ res ---------------------------||RERROR||RTRDID||
    376 || 0 || (14) ||             (44)                           || (2)  || (4) ||
     367||EOP||RSRCID||------------ res -----------------------------||ERROR||TRDID||
     368|| 0 || (14) ||             (44)                             || (2) || (4) ||
    377369
    378370Flit N :