Input: n, stores Number of parallel processing NoC. |
Source, a NoC type array, stores the Source NoC Numbers a part of NoC structure. |
Destination, a NoC type array, stores the Destination NoC Number a part of NoC structure. |
Payload, a part of NoC structure that holds the data generated as Source NoC. |
Output: Payload. |
BEGIN |
(2) FOR (I = 0 to 6) DO /*Initialization of Elements of Switching Element structure*/ |
(3) Info = NULL |
(4) Info1 = NULL |
(5) Source = −999 |
(6) Destination = −999 |
(7) END FOR |
(8) FOR (I = 0 to 4) DO |
(9) Payload = 0 /*Initializing payload of all the 4 NoC to 0*/ |
(10) Number = I /*Numbering of all the 4 NoC from 0 to 3*/ |
(11) END FOR |
(12) Get the Number of parallel communicating NoC, n |
(13) FOR (l = 0 to n) DO |
(14) Get the Source and Destination NoC Sl, Dl |
(15) Get the respective payloads |
(16) END FOR |
(17) FOR (x = 0 to 6) DO |
(18) BEGIN |
/*Stage1: Transferring the “Payload” values from the NoC to the respective “Info” values of Switching |
Element structure*/ |
(19) FOR (y = 0 to n−1) DO |
(20) Transfer the payloads of NoC to the Info of next immediate Switching Elements |
(21) Transfer the Source NoC Number to the Source of Switching Element |
(22) Transfer the Destination Number to the Switching Element |
(23) END FOR |
/*Stage2: If the communicating NoC are on the same side then check the source and respective destination |
number of the Switching Element and transferring it to the next Switching Element having empty “Info” value*/ |
(24) FOR (t = 0 to 2) DO |
(25) Check Source and respective Destination pair DO |
(26) Check Info of chain linked Switching Element DO |
(27) IF Info = NULL |
(28) Transfer Info into this Switching Element |
(29) Transfer the Source and Destination Number to this Switching Element |
/*If “Info” of first linked Switching Element is not empty then transfer the packet to the “Info” of second linked Switching |
Element*/ |
(30) ELSE |
(31) Check Info of first linked Switching Element DO |
(32) IF Info = NULL |
(33) Transfer Info into Switching Element |
(34) Transfer the Source and Destination Number to the Switching Element |
(35) ELSE |
(36) Check Info of second linked Switching Element DO |
(37) IF Info = NULL |
(38) Transfer Info into Switching Element |
(39) Transfer the Source and Destination Number to the Switching Element |
/*Stage3: If communicating NoC are on the opposite side checking the source and respective destination number of the |
Switching Element and transferring it to Switching Element having empty “Info” value*/ |
(40) Check Source and respective Destination pair DO |
(41) Check Info of first linked Switching Element DO |
(42) Transfer Info into this Switching Element |
(42) IF Info = NULL |
(44) Transfer the Source and Destination Number to this Switching Element |
/*If the “Info” of first linked Switching Element is not empty then transfer of packet to “Info” of second linked Switching |
Element*/ |
(45) ELSE |
(46) Check Info of second linked Switching Element DO |
(47) Transfer Info into Switching Element |
(48) IF Info = NULL |
(49) Transfer the Source and Destination Number to the Switching Element |
/*If the “Info” of first and second linked Switching Elements are not empty then transfer “Info” to third linked Switching |
Element*/ |
(50) ELSE |
(51) Check Info of chain linked Switching Element DO |
(52) Transfer Info into Switching Element |
(53) IF Info = NULL |
(54) Transfer the Source and Destination Number to the Switching Element |
(55) Check Source and respective Destination pair DO |
(56) Check Info of first linked Switching Element DO |
(57) IF Info = NULL DO |
(58) Transfer Info into this Switching Element |
(59) Transfer the Source and Destination Number to this Switching Element |
/*If the “Info” of first linked Switching Element is not empty then transfer of packet to “Info” of second linked Switching |
Element*/ |
(60) ELSE |
(61) Check Info of second linked Switching Element DO |
(62) IF Info = NULL DO |
(63) Transfer Info into Switching Element |
(64) Transfer the Source and Destination Number to the Switching Element |
/*If the “Info” of first and second linked Switching Elements are not empty then transfer “Info” to third linked Switching |
Element*/ |
(65) ELSE |
(66) Check Info of chain linked Switching Element DO |
(67) IF Info = NULL DO |
(68) Transfer Info into Switching Element |
(69) Transfer the Source and Destination Number to the Switching Element |
/*Stage4: If the linked NoC is the destination, that is, NoC-0 for SE0, NoC-1 for SE1 NoC-3 for SE4, NoC-4 for SE5 |
then transfer the “Info” of the Switching Element to their respective linked NoC*/ |
(70) IF Destination of SE0 = 0 DO |
(71) Transfer Info to payload of NoC-0 |
(72) ELSE |
(73) Transfer Info to first linked Switching Element |
(74) END IF |
(75) IF Destination of SE1 = 1 DO |
(76) Transfer Info to payload of NoC-1 |
(77) ELSE |
(78) Transfer Info to first linked Switching Element |
(79) END IF |
(80) IF Destination of SE3 = 2 DO |
(81) Transfer Info to payload of NoC-2 |
(82) ELSE |
(83) Transfer Info to first linked Switching Element |
(84) END IF |
(85) IF Destination of SE4 = 3 |
(86) Transfer Info to payload of NoC-3 |
(87) ELSE |
(88) Transfer Info to first linked Switching Element |
(89) END IF |
/*Stage5: Transfer the Info of the Switching Element that could not be transferred in the previous stage) to the destination |
NoC*/ |
(90) Transfer Info of Switching Element to the payload of the destination NoC |
(91) END FOR |
(92) END BEGIN |
(93) END FOR |
(94) END BEGIN |
The run time complexity of the algorithm: NoC_PS_REGULAR_HXN is. |