Real CPUs use MUXes on every clock cycle to select between ALU output, memory data, and immediate values before writing to a register, and DRAM row/column decoders use DEMUXes to route to a single memory cell out of billions. The instruction decoders you'll meet later in the instruction-set subtrack, for RISC-V and ARM, are structurally cascades of exactly these multiplexers.