Saturday, August 21, 2010

JTAG

stands for Joint Test Action Group which is a common name for
a hardware based tool for testing PCBs "Printed Circuit Boards" and debugging internal instruction in the processor.

Thursday, August 19, 2010

Serial vs Parallel

Why Serial is taking over Parallel Communication?
We have seen the wide spread of USB peripherals, using PCIe over conventional PCI and long ethernet cables... All these represent the approach towards Serial Communication...

Define:
Serial: transfer a bit at a time.
Parallel: transfer multi bits at a time as the number of lanes.

Discuss:
Parallel Communication suffer from the following against Serial Communication:
-More Processing: "takes more time"
-Signal Skewing: due to imperfections in cables, may be a bit would be delayed to others.
-Cross Talking: Signals affects other signals due to magnetic fields resulted from high resonance " not reliable for long distances".
-Larger Size, more cost.


Conclusion:
With the increasing clock speed of the processor:
Parallel transferring becomes not immune to noise especially for long distances, has higher SNR, and less BW.
Serial transferring is much faster, immune to noise, longer distance, and I think easier to program.

Parallel Communication would overcome all these vices if the speed of its data transferring is multiple the speed of Serial Communication and reliable.


However:
As the multi-core processors are being exposed and the clock speed is increasingly higher, the need of parallel applications serial advantageous is vital


Tuesday, August 17, 2010

SRAM vs DRAM

I would like to share this info with you about Static and Dynamic Ram:
  • SRAM multi transistors per bit whereas DRAM uses one transistor and two capacitors per bit.
  • DRAM needs to periodically refreshed "recharged" in order to maintain its value. That is why it is called dynamic.
  • SRAM is faster compared to DRAM
  • SRAM consumes less power than DRAM
  • SRAM is more expensive than DRAM
  • Cheaper DRAM is used in main memory while SRAM is commonly used in cache memory

Friday, August 13, 2010

ِAgile Approach

I liked this humanistic based Development
"Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan" [1]


[1]Beck, Kent; et al. (2001). "Manifesto for Agile Software Development". Agile Alliance. Retrieved 2010-06-14