Monday, August 31, 2009

Some Important Laws Which Newton Forgot to State

Just for fun but I felt in my life that these laws always apply to me......with 100% efficiency. No chance of proving wrong these.

LAW OF QUEUE: If you change queues, the one you have left will start to move faster than the one you are in now.

**********

LAW OF TELEPHONE: When you dial a wrong number, you never get an engaged one.

**********

LAW OF MECHANICAL REPAIR : After your hands become coated with grease, your nose will begin to itch.

**********

LAW OF THE WORKSHOP: Any tool, when dropped, will roll to the least accessible corner.

**********

LAW OF THE ALIBI: If you tell the boss you were late for work because you had a flat tire, the next morning you will have a flat tire.

**********

BATH THEOREM: When the body is immersed in water, the telephone rings.

**********

LAW OF ENCOUNTERS: The probability of meeting someone you know increases when you are with someone you don't want to be seen with.

**********

LAW OF THE RESULT: When you try to prove to someone that a machine won't work, it will!

**********

LAW OF BIOMECHANICS: The severity of the itch is inversely proportional to the reach.

**********

THEATER RULE: People with the seats at the furthest from the aisle arrive last.

**********

LAW OF COFFEE: As soon as you sit down for a cup of hot coffee, your boss will ask you to do something which will last until the coffee is cold.

**********

Do they apply to u also....... ;)

Sunday, August 2, 2009

Real men program in C

A very good article on C. A quite good comparative study of various famous programming languages with C. This is an article from "Embedded.com" so the article is based around embedded systems. Here is this Real men program in C.

Hope you will enjoy it.

Wednesday, July 22, 2009

Exploring Intel processors for SIMD support

As we already know that there are various way to speed up the processes or applications by parallel operations like Single Instruction Multiple Data(SIMD), multithreading, pipelining, cache management etc. Here I tried to manage a list of specifying which Intel SIMD capability we can use as per processor specific. Although you can check this by using CPU-Z or playing with cpu_detect() function to read cpu-id.

MMX: Truly saying as in 2009, all current processors support MMX. It has 8 registers MM0-MM7 of 64 bit width. Just to maintain uniformity of blog, MMX support came with Intel® Pentium-MMX and from Pentium2 onwards every processors support it.

SSE: It was another big move in SIMD by having another 128 bit registers by Intel. It is good choice for Intel® Pentium3 and Intel® Pentium3m version.

SSE2:
Intel® Xeon®
Intel® Pentium4 (Willamette),
Intel® Pentium4m,
Intel® Pentium M,
Intel NetBurst-based CPUs (Pentium 4, Xeon, Celeron, Celeron D, Celeron M)
Intel Core-based CPUs (Core Duo, Core Solo)
Intel Core 2-based CPUs (Core 2 Duo, Core 2 Quad)
Intel Atom


SSE3:
Dual-Core Intel® Xeon® 70XX, 71XX, 50XX Series
Dual-Core Intel® Xeon® processor (ULV and LV) 1.66, 2.0, 2.16
Dual-Core Intel® Xeon® 2.8
Intel® Xeon® processors with SSE3 instruction set support
Intel® Core™ Duo
Intel® Core™ Solo
Intel® Pentium® dual-core processor T21XX, T20XX series
Intel® Pentium® processor Extreme Edition (but NOT Pentium 4 Extreme Edition)
Intel® Pentium® D
Intel® Pentium® 4 processors with SSE3 instruction set support (Since Prescott Versions)
Celeron 420, 430 and 440 and Celeron D
Intel Core 2 Quad edition
Atom


SSSE3:
Quad-Core Intel® Xeon® 73XX, 53XX, 32XX series
Dual-Core Intel® Xeon® 72XX, 53XX, 51XX, 30XX series
In tel® Core™ 2 Extreme 7XXX, 6XXX series
Intel® Core™ 2 Quad 6XXX series
Intel® Core™ 2 Duo 7XXX (except E7200), 6XXX, 5XXX, 4XXX series
Intel® Core™ 2 Solo 2XXX series
Intel® Pentium® dual-core processor E2XXX, T23XX series
Celeron 4xx Sequence Conroe-L
Celeron Dual Core E1200
Celeron M 500 series
Atom

SSE4.1:
Intel® Xeon® 74XX series
Quad-Core Intel® Xeon 54XX, 33XX series
Dual-Core Intel® Xeon 52XX, 31XX series
Intel® Core™ 2 Extreme 9XXX series
Intel® Core™ 2 Quad 9XXX series
Intel® Core™ 2 Duo 8XXX series
Intel® Core™ 2 Duo E7200 (Penryn )

SSE4.2:
Intel® Core™ i7 Processors (Nehalem)
Intel® Xeon® 55XX series

Now play with SIMD with different processors options available.