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 Numbers 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 4) 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 3) 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 S[l], D[l] |
(15) Get the respective payloads |
(16) END FOR |
(17) FOR (x = 0 to n) 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 first 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 |
(30) END IF |
/*If “Info” of first linked Switching Element is not empty then transfer the packet to the “Info” of Second linked Switching |
Element*/ |
(31) ELSE |
(32) Check Info of Second linked Switching Element DO |
(33) IF Info = NULL |
(34) Transfer Info into Switching Element |
(35) Transfer the Source and Destination Number to the Switching Element |
(36) END IF |
/*Stage2: If communicating NoC are on the opposite side then Check the source and respective destination number of the |
Switching Element and transferring it to Switching Element having empty “Info” value*/ |
(37) Check Source and respective Destination pair DO |
(38) Check Info of first linked Switching Element DO |
(39) IF Info = NULL |
(40) Transfer Info into this Switching Element |
(41) Transfer the Source and Destination Number to this Switching Element |
(42) END IF |
/*If the “Info” of first linked Switching Element is not empty then transfer the packet to “Info” of Second linked Switching |
Element*/ |
(43) ELSE |
(44) Check Info of Second linked Switching Element DO |
(45) IF Info = NULL |
(46) Transfer Info into Switching Element |
(47) Transfer the Source and Destination Number to the Switching Element |
(48) END IF |
/*If the “Info” of first and Second linked Switching Elements are not empty then transfer “Info” To third linked Switching |
Element*/ |
(49) ELSE |
(50) Check Info of third linked Switching Element DO |
(51) IF Info = NULL |
(52) Transfer Info into Switching Element |
(53) Transfer the Source and Destination Number to the Switching Element |
(54) END IF |
/*Stage3: If the linked NoC is the destination that is, NoC-0 for SE0, NoC-1 for SE1 NoC-3 for SE2, NoC-4 for SE3 |
then transfer the “Info” of the Switching Element to their respective linked NoC*/ |
(55) IF Destination of SE0 = 0 |
(56) Transfer Info to payload of NoC-0 |
/*If the linked NoC is not the destination then transfer the “Info” of Switching Element (SE) to the next empty |
Switching Element. If not then destroy the packet*/ |
(57) ELSE |
(58) Transfer Info to first linked Switching Element |
(59) END IF |
(60) IF Destination of SE1 = 1 |
(61) Transfer Info to payload of NoC-1 |
(62) ELSE |
(63) Transfer Info to first linked Switching Element |
(64) END IF |
(65) IF Destination of SE3 = 2 |
(66) Transfer Info to payload of NoC-2 |
(67) ELSE |
(68) Transfer Info to first linked Switching Element |
(69) END IF |
(70) IF Destination of SE4 = 3 |
(71) Transfer Info to payload of NoC-3 |
(72) ELSE |
(73) Transfer Info to first linked Switching Element |
(74) END IF |
/*Stage4: Transfer the Info of the Switching Element (that could not be transferred in the previous stage) to the destination |
NoC*/ |
(75) Transfer Info of Switching Element to the payload of the Destination NoC |
(76) END FOR |
(77) END BEGIN |
(78) END FOR |
(79) END BEGIN |
The run time Complexity of the Algorithm: NoC_PS_IRREGULAR_PNN is |