How do Software and Hardware Interact?

Posted in Digital Data, laptop  by Carol
November 23rd, 2015

You probably have heard of software, hardware, and firmware. I may even wager that you know the difference if you’re asking this question. But can you really understand the different ways these aspects of the computer function without understanding how they interact? I don’t know how you can know anything. But here’s some more stuff to know:

hardware softwareWhen you turn your computer on, the CPU (central processing unit) immediately starts executing software instructions from your BIOS (basic input/output system), which is a special chip on your main board. This program will then request more instructions from a specific hard drive, and your operating system will start to execute.

But how does this explain how the hardware and software physically do their jobs? I’m not sure it will, but think about how a mechanical music box works. Music boxes make particular melodies because they have patterns inscribed on them; patterns of nails, for example, which when a cylinder holding the nails rotates, will strike a keyboard in a particular sequence. If you were to use a music box as an analogy for a computer (which I’m doing), you would say that the particular pattern of nails on the music box is equivalent to the software on the computer, while the nails themselves, along with every other physical component of the box, fall under the category of hardware.

So back to your CPU: It has, like every other CPU, a particular manual describing which patterns of bits (analogically synonymous with the music box’s nails) do what. Bit, by the way, is short for binary digit. The first part of any pattern of bits is going to be the instruction, which selects which part of the CPUs circuits to open; it has a circuit for addition, a circuit for storing to memory or reading from it, etc. The second part of the bit pattern is the operand(s), which is the data that gets passed along to the circuit that is currently selected. It could be a number, a memory address, a register name, whatever.

hardware software broLet’s go back again in case that’s confusing: software is basically just a series of 0’s and 1’s. The operating system of the computer(that’s the software) is what reads the software code (which exists physically on the hardware) and translates it into binary. Software code, as it exists physically, is just a series of either magnetized or demagnetized pieces of metal (as in a hard-disk drive) or a series of transistors which either are switched on (meaning they possess electrical current) or switched off (meaning they don’t). The pieces of metal and transistors are tiny; they exist only on a microscopic level.

While software can change other software on versatile memory devices, “firmware” is software written on devices that are not versatile, like read-only memory (ROM). Firmware is the foundation for your device’s operating system and all other software, so it’s the most basic software on your device and it usually cannot be manipulated.

Leave a Reply