Saturday, March 11, 2006

Maturing of the PC Industry

There was a time from probably 1990 to 1999 when I found myself upgrading my computer every few months. Like clock work .. every six months of so , I was either getting myself more memory or a faster modem or better graphics card , or better still a new box. This began to change around 2001. I have noticed that I haven’t actually done anything to my computer ever since then. Of course , I had to format the system over and over a couple of times.

The Landscape of the PC industry is maturing really fast. and is at a point in time .at this moment ..Where the automobile industry was in the may be 1980’s. Automobiles took the forms of a Sedan, Coupe, a Sports Version, an SUV or a Truck.




If a regular desktop PC is compared to a Family Sedan, than we can easily relate a gamer machine to a sports car and may be a server to a Truck.

The present processing power (between A and B) is mostly an overkill for most common applications of a regular user. Information (WORD,EXCEL, ADOBE),Communication (EMAIL, Browser, Messaging, VOIP) , Entertainment (Music, Video). This limit is often pushed upwards by the demands of gamers and media rich apps like those of Video Editing and perhaps programs like Google Earth.

Widnows VISTA slated to release sometime in 2006 is said to be faster than WINDOWS XP on current x86 architectures. This is definitely bad news for

Companies like Intel …which has been exclusively riding on the wave of a ‘faster” CPU and faster GHz. It is pathetic to see how a large population still believes that more Ghz means more CPU Power.

Let me give you a simple example: - Let’s say I have to do a simple operation like an addition – lets assume that a particular processor from company X does this operation in 5 clock cycles and company Y does this in 3 Clock cycles.

Company X Claims – we are the fastest 3.0Ghz !!!! (actually 600X10^6 additions)

Company Y says - we run at 2Ghz (this is 667 X 10^6 additions)

It is clear from above that the processor from company Y is clearly faster and beats the processor from company X by 12 %

What about the Power Consumption:-

Since Power consumption is proportional to the square of the frequency we have :

Company X : Power = (3.0) ^ 2 = 9 Units

Company Y : Power = (2)^2 = 4 Units

Clearly company Y’s Processor, consumes less than half the power of X and is 12% Faster. But will a population that has been entirely taught that only GHz matters, come to even grasp this???

My Prediction is that the future wave of applications like D and E will need Processing power of 1000’s of times faster than present CPU’s can provide and will deal with things like treating Video files like it were a notepad file and will do Image Recognition and classification and video analysis. in real time. Games will always be there!! But this still represent a clear jump from the levels of (B,C) available today to the Levels of D and E ..where we would ultimately see the death of the general purpose processor.. that’s for later .

But the levels from B to C do not really present an increase to be made in processing power (reason: Maturity) , but presents an opportunity to companies to manufacture processors that do more and consume less energy.

To conclude: Most Applications of today are taking discrete shapes and are being standardized. One important role of this is the hardware below becomes irrelevant. When you go out to buy a car today, what are the factors that you would consider? I am certain that the “TOP SPEED” would be among the bottom of the list or may not even in your list. You would worry about things like gas consumption and safety.

AMD has already realized some of these aspects and this is clearly seen in

their products where we see reduced power consumption , or may be the extra hardware bit for Virus Protection

Coming Next : The Fall of the Microprocessor !!

Thursday, March 09, 2006

The Rise of the Microprocessor.........

The microprocessor got into main stream computing some time in the 70s. Before that microprocessor and its smaller cousins -microcontrollers were used to control electro-mechanical systems, like perhaps the door of a space craft.

Von Neumann/harvard architecture and the Stored Program Concept.

In simple words,what all the processors do is Fetch,Decode,Execute. Fetches an Instruction and data from memory , decodes this instruction - decoding is the step where the processor figures out what it has to do with the data , perhaps the instrution is a simple addition or may be a complex multiplication like in a game.

This sequence of operation looks fairly simple and this is what exactly happens if you are doing a single task - like may be playing an Mp3 on the Computer.

But it is not this simple in todays computer - it has to do a million tasks at the same time.
so what the processor does is sends a chunk of data to your sound card to play that music and goes back an Idle state or perhaps goes back to fetch data from ethernet to display on your browser. When the sound card is done playing the chunk of music..it sends a signal to the processor asking for more sound data, the processor then SUSPENDS all the task that it was doing for you ..goes to throw another chunk of sound data ino the buffer of the sound card.
Ofcourse there is an elaborate mechanism that governs this switching between the tasks.

A Little Test :- If you run Windows Try the following thing. Open the Task Manager and click the performance Tab. Here you will see the Usage of the Processor. The usage when you are doing nothing will be between 0-10%. Now open a simple 'Notepad' window. Put the mouse on the Title bar and drag the Notepad window across the screeen back and forth repeatedly. You will see that the processor usage suddenly shoots to 100% and stays there..till you stop dragging the Notepad Window... Surprised ????....I would call this poor software (MS!!) design..!!

THE General Puspose CPU that runs Windows:-
So far what we have discussed is a processor that has eventually become a Jack of all Trades and Master of none. Most software writers are have no idea of the hardware beneath..that is kept hidden by the 'visual software tools'..These development tools add lines and lines of useless code that decreases the overall perfromance. The more close language to the hardware , the faster will be the performance. C language is more closer to the hardware than Visual C. Assembly Language directly talks to the hardware and is even more closer to the hardware than say C

Coming Next - Is the personal computing Industry Maturing ?????