Hardware switches operate orders of magnitude faster than software switching. Fixed length cells enable simpler hardware designs to perform the fast switching.
In some instance the headers are stripped off the cells upon entering the switch and new headers are attached upon exiting the switch.
Often management and control of the hardware switch remains a software function.
A switch is a system that can connect its inputs to its outputs. This system can be implemented with various architectures to provide services which meet the ATM standards at the inputs and the outputs.

FIG. 1
A basic representation of a 2 x 2 crossbar switch:

FIG. 2
Alternate representation of a 2 x 2 crossbar switch:

FIG. 3
A general N x N crossbar switch:

FIG. 4
Unlike a PBX used for voice calls, an ATM switch has outputs which can receive cells from more than one input, which leads to queueing requirements. Depending on the internal speed of an N x N crossbar switch, the queueing will be at the input or at the output.
ATM Queueing Case 1. The switch fabric speed is equal to the input line speed.
If more than one input has a cell directed to a given output line, then without queueing a collision would occur within the switch. To avoid collision on the single speed switch fabric, only one input line can can place a cell on the switch fabric at a time. This requires the other inputs to stop the cell from entering the switch fabric. This is implemented using an queue at the input.
ATM Queueing Case 2. The switch fabric speed is N times faster than the input line speed.
The internal switch has slot times which are N times as fast as those of the input lines. The cells enter the crossbar switch together and are shifted to the outputs together. This requires queueing at the outputs to avoid collisions.
In general:Customers-transaction types differ randomly and arrive randomly. The mean delay is the same between using an input queue as opposed to an output queue, given an output queue where customers shift to tellers not currently servicing customers. The advantage of the input queue is that the variance of the delay is smaller for the input queue than for the output queue. It seems that people notice and are frustrated by a high variance of delay (fairness) more readily than over the actual mean delay
Currently there is a game at the stadium, which means heavy traffic for the stadium and light traffic for the store.
Scenario A: One access road. Input queueing has the problem of the head of the line blocking. Notice that the red cars destined for the store must wait in line behind the blue cars destined for the stadium even though there are very few of them.

FIG. 5
Scenario B: Bypass road for the store. Here we see that store customer only wait behind other store customers.

FIG. 6
Note that this is all independent of the average load. That is, after the game is over, there may be a sale at the store, and we will have the same problem in reverse. End Example 2.
Are there any other approaches besides input queueing or output queueing? Yes, and we will discuss some of them later, but first we should ask . . .
Why use queueing at all? Why not drop excess cells, destined for an output line?
Assumption 1. Assume that arrivals occur independently in each slot and on each link with probability P, where 0 =< P =< 1. This is referred to as the "fill" or the "load".
Assumption 2. Assume that a given cell is destined for output J, where J=1,2,...,N, with probability P=1/N.
Lets analyze the loss for for a single output link. Let K = the number of cells arriving in a certain slot time destined for output J. Then P/N = the probability an input line has a cell for J. Since cells on the input links are independent, the distribution of K is a binomial distribution (the sum of Bernoulli experiments).

for k = 1, 2, ..., N.
If k is greater than or equal to 2, then k-1 cells are lost.
Define a new random variable L, for loss of cell due to multiple cells trying to access the same output. The expectation of L is developed as follows:
![]()
Using the standard formula for expectation of a discrete random variable and substituting (k - 1) for the value of the random variable L, we have

Thus we see that for very heavy loads, the loss rate approaches 36%. Unacceptable!!
Even for moderate loads and a modest number of links we may have unacceptable loss rates:
For P < 1, we can compute the probability of loss by dividing the expected number of losses per slot by P, the probability that a cell arrives in a given slot. (Math note.)

The loss of cells for the very reasonable case of P = 3/4 and N = 8 would be 27%. This is clearly unacceptable loss when we could have many switches on any given virtual circuit.