We are so lost in the world on various applications (software) that we very often forget the code behind the scenes. Software as you know is nothing without hardware. The car is the hardware and the driver is the software. But little do people know that there is a layer of software built right into the hardware. It’s called firmware or microcode in short.
Let me explain. As we all know that technology mostly works on electricity. Let’s take computers. Buried inside the hatchet, is a CPU (Central Processing Unit) which is aptly termed as the brain of the computer. The CPU is synchronized to perform all its operations based on a clock. Yeah, a timer which keeps ticking away.
Deep inside the CPU is buried instructions (yes, software) which are nothing but made of a combination of transistors or may I call them gates. These gates operate on the edge of a clock. Say there is an AND gate (1 + 1 = 1, all else 0) combination which leads to the assembly of an instruction like MUL (multiply) which again is nothing but repeated ADD’s. Further assume that it takes 8 clock cycles to complete this instruction. Then we can safely say that the MUL instruction will be executed in 8 clock cycles.
In a similar manner, different instructions take up different amounts of clock cycles. The designers arrive at intelligent designs which saves the number of clock cycles. In today’s processors, they make multiple instructions work on the same clock cycle. Then there is prediction of instructions, leading to intelligent caching. The combinations are limitless.
Even graphic processors and other support devices now have smart CPU’s embedded within them. The reason why I’m writing this is to make you aware that there is a lot to that click that what it seems like. Finally remember, the hardware came first and not the other way round. So before you begin thumping away on that keyboard of yours, pay some respect to this marvel of God.
Thanks for reading.