Journey Of Code

We tend to take the complexity and amount of tasks the computers, and in specific the programs or applications do for granted.  We are blissfully unaware of the several layers of abstraction, Of course, that is what abstractions are supposed to do, so that we can ponder over complex issues like OOP or AOP.

It is though, alway good to know, a little bit more on how deep the journey can take us.  In the following few days, we will look at each of these levels that let us bother with complex tasks.  It will not be a journey back into time.  It will not be about the punch card machines and how computers evolved to what they are today.  Let us look at it from a different prespective - over the technology line and see how deep we can go.

Technology StackIn terms of the technology stack, it can be generalized as follows:

  • Application Level
  • Machine Language Level
  • Processor Level
  • Chip Level Logic
  • Gate Level
  • Transistor Level

Going down the technology stack, takes us on a journey through the application of abstration at various levels.  Again, I would state that this technology stack, is pretty generalized and the possible paths is more of a web that an point to point flow.

The Application Level is everything that sits above the machine it controls.  It includes the operating systems, the drivers, the applications, that control the flow of data from one point to another in the machine.  When you see a webpage in your browser, it is the data that is sent over the network, manipulated and copied over to the video memory of the monitor.

The Machine Language Level is a kind of the mutant between the physical world and the ’soft’ world.  It represents the higher level code in the most basic form - the binary, which has direct control over what the processor must be doing with all its bits and parts.

The Processor Level is where the innovaters like Intel and AMD play.  They layout the different logical units into a die, and design them to be triggered in a certain way, based on whatever is present in the code memory.  The processor controls the actual flow of data from one memory area to another.  It is responsible for using the different chip level logical units to mutate the data - again as specified in the code memory.

At the Chip Level Logic, there are basically two things happening.  Either data is stored, retrieved, or cleared from a particular area - or - data gets modified based on a particular logical or arithmetic equation.  It is controlled by the processor level to perform a certain way, based on the code that is stored with in itself.

The Gate Level, there are only so many possible outcomes.  Based on the input, it would be providing a particular output.  It is the combination of gates in a particular way, that causes the a chip level unit to act in a certain way.

And if you have been following the design pattern, you would have deduced by now that the transistors are what make up these gates. The transistor is usually made to act like a switch, and a combination of transistors make up a gate.

All the levels have been described here briefly and vaguely.  We will look at each of them, one by one.  We will start from the Transistor Level and get to the Application Level, in this series.

Posted in Technology.

5 Responses to “Journey Of Code”

  1. Journey Of Code - Transistors - Work Horses Of Gates | Splat Says:

    [...] we try to recursively understand the working of each piece of code, we come to a point where the software gradually moves to the [...]

  2. Journey Of Code - Chip Level Units | Splat Says:

    [...] The journey of code now brings us to the realm of chip level units that are made up of gates and would make up processors at large. [...]

  3. Journey Of Code - Applications | Splat Says:

    [...] series, Journey Of Code, comes to an end with this post. During this journey we have explored the technology stack from [...]

  4. Data Structures - Structuring Abstract | Splat Says:

    [...] we came to the end of the Journey Of Code series, we moved on from the realm of hardware and stepped into the world of software - the abstract [...]

  5. Computer - Hardware And Software Roundup | Splat Says:

    [...] Journey Of Code - The world-view of the hardware and software realm, and how they are interconnected. [...]

Leave a Reply