Crossover switch

In electronics, a crossover switch or matrix switch is a switch connecting multiple inputs to multiple outputs using complex array matrices designed to switch any one input path to any one (or more) output path(s). There are blocking and non-blocking types of cross-over switches.
These switches can be microelectromechanical systems, electrical, or optical non-linear optics, and are used in electronics and fiber optic circuits, as well as some optical computers. A banyan switch is one type of cross-over switch. Their complexity depends on the topology of the individual switches in a switch matrix (how wide it is by how many 'plies' or layers of switches it takes), to implement the desired crossover logic.
Typical crossover matrices follow the formula: an N×N Banyan switch uses (N/2) log N elements. Other formulas are used for differing number of cross-over layers, and scaling is possible, but becomes very large and complex with large N×N arrays. CAD and AI can be used to take the drudgery out of these designs.
The switches are measured by how many stages, and how many up/down sorters and crosspoints. Switches often have buffers built in to speed up switching speeds.
A typical switch may have a 2×2 and 4×4 down sorter, followed by an 8×8 up sorter, followed by a 2×2 crosspoint banyan switch network, resulting in a 3-level sorting for a 3-stage banyan network switch.
The future is moving to larger arrays of inputs and outputs needed in a very small space.