24 December, 2007

Last Week Recap: Microprocessors

Last week was spent mostly thinking about Microprocessors. Apart from curiosity there are couple of reasons why I am so much interested in Microprocessors.
  • In next few days, I am planning to buy some hardware which is capable of hosting an web-based application. I do NOT know if I could use old (less powerful processor) hardware (many CPUs) and combine it do get something useful, need to find this out. Other option is to buy brand new hardware from Dell/HP/Lenovo.
  • I would like to learn how to write software to take advantage of multiple cores in the processors.
  • I would like to give a try to build simple robots (toy car like) based on simple processor (may not even need processor but still). I wonder how exactly processors are used in real cars.
I read some of the books on Microprocessor's published in 197o's (!) , at the library. Intel 4004, 8008, 8086, Motorola 68000 etc. So far I have understood:
  • Random Access Memory (RAM), types of RAM (DRAM, SRAM), cost trade off.
  • How processor is connected to RAM. (address bus, data bus, control bus)
  • Registers in the processor (program counter, stack pointer, accumulator etc.)
  • Processor clock (uses quartz)
From Ulrich Drepper's paper I could understand some basics about Memory Cache. Processor is fast, DRAM is not, so we need memory cache. Need to re-read stuff about NUMA, relevance of Cache memory for multi-core processors and why a programmer should know these details.
Also need to find more information about OpenMP and actually use it (gcc 4.x has it).

I also wonder if there is Museum of Computer History in either Mumbai or Pune and would it be interesting idea to build such Museum. So that students and school children can appreciate and remember the great people behind today's computers (or mobile phones that they are carrying in their pockets).

Good Read : Great moments in microprocessor history.