Multiplexers
Multiplexers in computers are used almost everywhere. For example, if we want to read a value from a register, the capacitor holding data on those registers must release the charge and the multiplexer must let the charge flow to ALU or FPU for processing.
It's not about reading the entire register at once. Each bit in the register has its own multiplexer to let the charge flow to the ALU or FPU.
Meaning if we need to read from a 32 bit register, we will have 32 multiplexers to read each bit separately and then combine them together to get the final value.

Multiplexer Components
Multiplexer are made of just one OR gate and multiple AND gates.
- Number of selector bits, determines how many input lines we can have. Example if there are 8 lines, then we've 3 selector bits since .
- Depending on the bit that the CPU wishes to read, the selector bits will be set with corresponding values. But the multiplexer will ensure that only one line gets a 1 on all inputs.
- The output of these lines is then passed to an OR gate. Since all other lines have at least one input as 0, the output of the OR gate will be the value of the line that has 1 on all inputs.
Important to keep in mind that CPU is just pure electronics. Every instruction is just a specific sequence of bits. Which means, the instruction just activates different gates based on the bit set of the instruction.
ADD R5, R2, R1
The binary representation of R5 and R2 are just the selector value. There exists nothing extra for the CPU to do.