The CPU has direct connection to memory (and various communication channels like SATA, I2C, etc etc). In other words, the ability to read and write information to/from memory is physically built into the CPU.
The CPU also has a built-in vocabulary of commands that it can understand. For example, number 15 means ADD two numbers. When the CPU reads a number from a memory with the expectation that it will be a command, it will then proceed to perform a sequence of actions that are appropriate for the command number. This sequence of actions is also physically built-in into the design of the CPU. So for example, if it sees the number 15, it’s built-into the CPU to do the following: read next two numbers from memory, add them together, read next number from memory, store the result in the memory address represented by that third number.
It is also physically built-into the CPU that when it powers on, it then goes to a predefined address in the memory and starts reading commands from there.
What is software? Software is merely a list of commands, like an instruction book that tells the computer step by step what commands to perform. Naturally, it has to be written in accordance to the CPU’s vocabulary of commands, otherwise it won’t do want you expect it to do.
You can now 15 two and two together and understand that in order for software and hardware to connect, the “collection of commands” that is the software needs to be put in memory where the CPU is designed to find it.
Latest Answers