Now, I know that everyone reading this blog is an intellectual with a solid understanding of the fundamentals of CPU, but for the sake of completeness, and to help further the understanding of those who we might consider laymen (in software terms!) I would like to start with a clear explanation of CPU.

Right now, I imagine you are visualizing a box under your foot or under some nearby desktop’s foot with wires shooting upwards from its rear side: a CPU, or Central Processing Unit. I won’t judge anyone who has imagined such a thing, but in fact the CPU which forms the topic of this post is the Processor and its Control Unit (CPU).

This CPU resides under the cabinet, over the motherboard, beneath a fan and adjacent to RAM. The CPU itself is an electronic circuit that analyses and evaluates turnout from the tasks provided to it. In more technical terms, it is a microprocessor that fetches, decodes and executes programmed instructions from the memory.

Let’s take a closer look at some of the terms I’ve used above:

  • Operation Fetch – As the name suggests, this is just an instructions retrieval process from the memory.
  • Operation Decode – The instruction that the CPU fetches from memory determines what the CPU has to do.
  • Operation Execute – After the fetch and decode steps, the execute step is performed. This is the actual action or sequence of actions.

Simple, isn’t it?

But…hold on!!

What are these instructions of which I speak? Everything you can name – from NASA satellite software and the EA Sports FIFA series, to the very browser via which you are reading this blog – is based on what is known to processors simply as ‘Instructions’. The technical term for these instructions is “Machine Level Language” and visually, they are a number or sequence of numbers.

With this knowledge under our belts, we can move on to crack the question of why CPU exists, with the following blurb on instructions.

The simple answer is – to process instructions from memory (also known as Random Access Memory).

An instruction set (set of instructions), or instruction set architecture (ISA), is the part of the computer architecture related to programming, including

An ISA includes a specification of the set of opcodes (machine language), and the native commands implemented by a particular processor.

Yes, before you write, try:

{

// code

}

catch(ExceptionName e1 )

{

// code

}

finally

{

// code

}

Your processor should be already provisioned to execute in this way. There is a whole series of blogs I could write in this vein, covering techniques from writing a high level language code block to successful execution by the processor. But before I move on to the substantial explanation of software grinding in this F-D-E processes that I will cover in my next blog, I would like to provide an analogy that I hope will give you a better understanding.

Consider CPU as a “PIANO” instrument,
Musical Notes PIANO Musical Tunes

Musical Notes

Instructions {01001010} CPU Output

In the next few blogs we will dive a bit deeper into this analogy with a view to making some obscure software a bit easier to understand.

SHARE
Saurabh Vij
Saurabh Vij has been a member of the Engineering group within 1E since 2010. He works in the Nomad Team and helps in improving the quality of the product. He is an ardent Quality Engineer and has a strong appetite towards delivering the best of quality. Saurabh's personal interests include travelling, technology, philosophy, and in-house skating; what he considers as cornerstones of inspiration in his life. He has a firm belief in the notion of 'cause and effect'; that everything is inter-connected and every action leads to another.