What are the purposes of/when are logic gates, multiplexers, and decoders used at the machine level?
For example, I would guess that logic gates are probably used at the machine level when a programmer uses an if statement in a high level language.
But what about multiplexers and decoders? What kinds of statements or programming concepts can you make in a language like Java that would translate to a multiplexer or decoder at the machine level?
If you just put a multiplexer down in front of me and give me some inputs I can tell you what the output will be, I understand the concept as a completely standalone thing. I'm interested in trying to put some context of these new low level/machine language concepts that I'm learning using the high level language concepts I'm familiar with.