To date we have studied:
An NxN Crossbar Switch requires N^2 of 2x2 "Beta Elements"
Banyan Switch:
Clearly it is possible to connect any Ij to any Ok j,k=0,1,2,3
Connect I1 to O3:
This means that a Banyan Switch can connect any single input to any given output.
On the other hand, a Banyan Switch is NOT "non-blocking". For example, once we connect I1 to O3, we can no longer connect I0 to O2, i.e. making the connection from I1 to O3, blocks any possible connection from I0 to O2. More.
Note: connections shown in red and blue between stages 2 and 3
represent a "perfect shuffle"
For N=2^k an NxN Banyan switch has:
K = log (base 2) N columns
each with N/2 Beta elements.
Total = N/2 log (base 2) N Beta elements
N = 16
N/2 log (base 2) N
16/2 log 16 = 32 Beta Elements
If in a given time slot, I1 is "routed" in a downward direction towards another Beta element, (i.e. Beta element is in the "bar state") then I0 cannot be "routed" down to Oj for j>=N/2
limits to this design:
-expensive
-buffer overflow still possible
For example: double the speed or the number of links from column 1 to column 2. NOW 2 cells can arrive at one input to column 2.
To avoid dropping cells, we now need 4 links from each output of stage 2 to each input of stage 3.
Generally, we could multiply all link speeds by 2^m, if m>=k-1,
then no loss or blocking occurs. (k = total number of stages).