Changes between Version 81 and Version 82 of InterconnexionNetworks
- Timestamp:
- Aug 30, 2013, 4:10:02 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
InterconnexionNetworks
v81 v82 9 9 * The '''Direct Network''' implements the 40 bits TSAR physical address space supporting software driven transactions. It transports the direct READ, WRITE, LL, SC and CAS transactions from a VCI initiator (typically a L1 cache controller) to a VCI target (typically a memory cache controller, or a memory mapped peripheral). All VCI packets are translated to DSPIN packets by specific VCI/DSPIN wrappers. There is two physically separated networks for command packets and response 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). 10 10 11 * 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 t wo physically separated networks to transport L2-to-L1 packets, and to transport L1-to-L2 packets. Bothnetworks 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).11 * 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 three physically separated networks to transport L2-to-L1 packets (M2P network), to transport L1-to-L2 packets (P2M network) and to transport CLACK packets (CLACK network). These 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). 12 12 13 13 * The '''RAM 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. 14 14 15 Regarding implementation, the '''Direct Network''' and the ''' coherence Network''' are physically separated for the local interconnect, as 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. But they are only logically separated for the global interconnect, as w euse 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). The "Direct Network" and the "Coherence Network" using15 Regarding implementation, the '''Direct Network''' and the '''Coherence Network''' are physically separated for the local interconnect, as there is five physically separated local crossbars (or local rings) transporting the ''direct command'', ''direct response'','' coherence P2M'', ''coherence M2P'' and ''coherence CLACK'' packets. But they are only logically separated for the global interconnect, as they use the DSPIN virtual channels: the ''direct command'', the ''coherence M2P'' and the ''coherence CLACK'' packets are multiplexed on the same 2D mesh (40 bits DSPIN flit width). Similarly, the ''direct response'' and ''coherence P2M'' packets are multiplexed on the same 2D mesh (33 bits DSPIN flit width). The "Direct Network" and the "Coherence Network" using 16 16 the same hardware infrastructure are also called the "INT network". 17 17 … … 189 189 190 190 The coherence transactions are directly transmitted to the coherence network by the L1 caches and L2 caches in DSPIN format. 191 The L2-to-L1 network uses 40 bits flits (including EOP). The L1-to-L2 network uses 33 bits flits (including EOP). 192 Broadcast commands are only used on the L2-to-L1 network, and use the BC bit in first flit. 193 194 * Other than BROADCAST, there is 6 packet types from L2 to L1 (3 bits encoding) 195 196 || TYPE || BIT2 || BIT1 || BIT0 || 197 || || || || || 198 ||UPDATE_DATA || 0 || 0 || 0 || 199 ||UPDATE_INS || 0 || 0 || 1 || 200 ||INVAL_DATA || 0 || 1 || 0 || 201 ||INVAL_INS || 0 || 1 || 1 || 202 ||CLEANUP_ACK_DATA|| 1 || * || 0 || 203 ||CLEANUP_ACK_INS || 1 || * || 1 || 204 205 * There is 3 packet types from L1 to L2 (2 bits encoding) 191 The M2P (L2-L1) network uses 40 bits flits (including EOP). The P2M (L1-L2) network uses 33 bits flits (including EOP). 192 The CLACK (L2-L1) network uses 40 bits (including EOP). 193 Broadcast commands are only used on the M2P network, and use the BC bit in first flit. 194 195 * Other than BROADCAST, there are 4 packet types on the M2P network (2 bits encoding) 206 196 207 197 || TYPE || BIT1 || BIT0 || 208 || || || || 198 || || || || 199 ||UPDATE_DATA || 0 || 0 || 200 ||UPDATE_INS || 0 || 1 || 201 ||INVAL_DATA || 1 || 0 || 202 ||INVAL_INS || 1 || 1 || 203 204 * There are 2 packet types on the CLACK network (1 bit encoding) 205 206 || TYPE || BIT0 || 207 || || || 208 ||CLACK_DATA || 0 || 209 ||CLACK_INS || 1 || 210 211 * There are 3 packet types on the P2M network (2 bits encoding) 212 213 || TYPE || BIT1 || BIT0 || 214 || || || || 215 ||MULTI-ACK || 0 || * || 209 216 ||CLEANUP_DATA|| 1 || 0 || 210 217 ||CLEANUP_INS || 1 || 1 || 211 ||MULTI-ACK || 0 || * || 212 213 === 6.1 DSPIN MULTI-UPDATE packet format ( L2-to-L1: 40 bits) ===218 219 220 === 6.1 DSPIN MULTI-UPDATE packet format (M2P : 40 bits) === 214 221 215 222 This DSPIN packet contains 2+N flits. 216 223 * The DEST field contains the target L1 cache identifier (SRCID). 217 224 * The SOURCE field contains the source L2 cache identifier (SRCID). 218 * The UPTID field contains the UPDATE Table index.225 * The TRDID field contains the UPDATE Table index. 219 226 * The WORD field contains the first modified word index. 220 227 * The NLINE field contains the cache line identifier (34 bits). 221 228 222 229 Flit 0 : 223 ||EOP||--- DEST---||-res-||--SOURCE--||UPTID||TYPE||BC||224 || 0 || (14) || (3) || (14) || (4) || (3)||0 ||230 ||EOP||----DEST----||-res-||--SOURCE--||TRDID||TYPE||BC|| 231 || 0 || (14) || (4) || (14) || (4) || (2)||0 || 225 232 Flit 1 : 226 233 ||EOP||res||WORD||---------------NLINE-----------------|| 227 || 0 ||(1)|| (4)|| (34) ||234 || 0 ||(1)||(4) || (34) || 228 235 Flit 2 : 229 236 ||EOP||-res-||-BE-||-------------WDATA-----------------|| 230 || 0 ||(3)||(4) || (32) ||237 || 0 || (3) ||(4) || (32) || 231 238 232 239 Flit N : 233 240 ||EOP||-res-||-BE-||-------------WDATA-----------------|| 234 || 1 ||(3)||(4) || (32) ||235 236 === 6.2 DSPIN MULTI-INVAL packet format ( L2-to-L1: 40 bits) ===241 || 1 || (3) ||(4) || (32) || 242 243 === 6.2 DSPIN MULTI-INVAL packet format (M2P : 40 bits) === 237 244 238 245 This DSPIN packet contains 2 flits. 239 246 * The DEST field contains the target L1 cache identifier (SRCID). 240 247 * The SOURCE field contains the source L2 cache identifier (SRCID). 241 * The UPTID field contains the UPDATE Table index.248 * The TRDID field contains the INVALIDATE Table index. 242 249 * The WORD field contains the first modified word index. 243 250 * The NLINE field contains the cache line identifier (34 bits). 244 251 245 252 Flit 0 : 246 ||EOP||--- DEST---||-res-||---SOURCE--||UPTID||TYPE||BC||247 || 0 || (14) || (3) || (14) || (4) || (3)||0 ||248 Flit 1 : 249 ||EOP|| res||WORD||---------------NLINE------------------||250 || 1 ||(1)|| (4)||(34) ||253 ||EOP||----DEST----||-res-||--SOURCE--||TRDID||TYPE||BC|| 254 || 0 || (14) || (4) || (14) || (4) || (2)||0 || 255 Flit 1 : 256 ||EOP||---res---||--------------NLINE------------------|| 257 || 1 || (5) || (34) || 251 258 252 === 6.3 DSPIN BROADCAST packet format ( L2-to-L1: 40 bits) ===259 === 6.3 DSPIN BROADCAST packet format (M2P : 40 bits) === 253 260 254 261 This DSPIN packet contains 2 flits. … … 258 265 259 266 Flit 0 : 260 ||EOP||XMIN||XMAX||YMIN||YMAX||-- SOURCE--||-res-||BC||261 || 0 || (5)|| (5)|| (5)|| (5)|| (14) || (4) || 1||262 Flit 1 : 263 ||EOP|| res||---------------------NLINE--------------------||264 || 1 || (5)||(34) ||265 266 === 6.4 DSPIN CL EANUP-ACK packet format (L2-to-L1: 40 bits) ===267 ||EOP||XMIN||XMAX||YMIN||YMAX||---SOURCE---||-res--||BC|| 268 || 0 ||(5) ||(5) ||(5) ||(5) || (14) || (4) ||1 || 269 Flit 1 : 270 ||EOP||---res---||------------NLINE--------------------|| 271 || 1 || (5) || (34) || 272 273 === 6.4 DSPIN CLACK packet format (CLACK : 40 bits) === 267 274 268 275 This DSPIN packet contains one flit. … … 272 279 273 280 Flit 0 : 274 ||EOP||---DEST---||- res-||----SET-----||-WAY-||TYPE||BC||275 || 1 || (14) || (3) || (16) || (2) || (3)||0 ||276 277 278 === 6.5 DSPIN CLEANUP packet format ( L1-to-L2: 33 bits)281 ||EOP||---DEST---||--res-||----SET----||-WAY-||TYPE||BC|| 282 || 1 || (14) || (15) || (6) || (2) ||(1) ||0 || 283 284 285 === 6.5 DSPIN CLEANUP packet format (P2M : 33 bits) 279 286 280 287 This DSPIN packet contains 2 flits. … … 286 293 287 294 Flit 0 : 288 ||EOP||--DEST--||-- SOURCE--||NL2||res||WAY||TYPE||BC||289 || 0 || (10) || (14)||(2)||(1)||(2)||(2) ||0 ||290 291 Flit 1 : 292 ||EOP||--------------- NL32------------------------------||293 || 1 || (32)||294 295 === 6.6 DSPIN MULTI-ACK packet format ( L1-2-L2: 33 bits) ===295 ||EOP||--DEST--||---SOURCE---||NL2||res||WAY||TYPE||BC|| 296 || 0 || (10) || (14) ||(2)||(1)||(2)||(2) ||0 || 297 298 Flit 1 : 299 ||EOP||--------------------NL32-----------------------|| 300 || 1 || (32) || 301 302 === 6.6 DSPIN MULTI-ACK packet format (P2M : 33 bits) === 296 303 297 304 This DSPIN packet contains one flit. … … 301 308 302 309 Flit 0 : 303 ||EOP||--DEST--||-- SOURCE--||res||-UPDTID-||TYPE||BC||304 || 1 || (10) || (14) ||(1)|| (4)||(2) ||0 ||310 ||EOP||--DEST--||---SOURCE---||res||-UPDTID-||TYPE||BC|| 311 || 1 || (10) || (14) ||(1)|| (4) ||(2) ||0 || 305 312 306 313 == 7. Initiators & targets on the external network == … … 381 388 || 1 || (14) || (44) || (2) || (4) || 382 389 383