How does a CPU differentiate between 1-operand instructions and 2-operand instructions?
Normally the opcode encoding is designed to make it easy to tell.  The details of exactly how that works will depend on the particular architecture.  For instance, in your example, the first 4 bits might be enough to determine which category the instruction is in.  This decoding is performed by the instruction decoder.

As Ran G. explains,


  usually, either all instructions have the same length -- and then different OPCODEs signify different operations, or the instructions have variable length, and then there is some sort of prefix-coding that allows the CPU to determine which instruction it is (and what it length is) by its prefix.