all the data on the cpu moves via a central bus or other channels. Data is stored either in memory or the caches although there is not much room in the cache. Let's say you use the inc eax; command, the inc itself is a information that was fetched from the RAM. Thing is, there are intra-cpu commands like the one above, where the EAX gets incremented. Then there are commands that required outside data. For these commands, a part of the instruction is an address itself. In later Intel cpus, it's possible to add an operand in the instruction itself, by it's smaller. The address in the instruction is either a pointer to the data you need or a pointer to a pointer of the data you need.
Bottom line, a CPU looks for instructions. If the first thing it gets booted with is not an instruction, the cpu would still treat it as a number and that'll mess up everything.
example: let's say we have a 8 bit CPU, the first thing in the memory that gets loaded in the cpu should be an instruction, so let's say it gets 01001010, then the opcode is 01, (add or w.e), then the instruction would be to add w.e is at the address 001010 to the accumulator
Damn I suck at explaining this