Wednesday, July 05, 2006

More of ARM

Here at my work, most people don't care if they are programming an ARM device. When you find a poor soul that likes the idea, he or she won't even bother to know if they are programming ARM 9 or 11 cores. I on the other hand can't stay without this information, basically because by knowing that I am using ARM I know how to optimize it. My co workers also forget they are programming embedded devices as the application is totally robust and awesome that it does not look that we are seeing a small device.

Huge applications need that you abstract many facts as my co workers do, but once in a while it is mandatory to remember that the C/C++ compiler is creating Assembly code and that is no less than a bunch of bytes or digital values passed to a huge electronic circuit.

The ARM guys have this AMBA bus standard to people that writes SoC chips. God, the idea is so good that it hurts. I remember someone showing me the ALTERA 32 bits ARM based microcontroller and it is a huge wonder. They buy ARM cores and integrate them in their FPGAs and still get physical space to other circuits. The AMBA standard is simply a type of BUS that can communicate your core ARM CPU with other internal devices like DMA controllers or UARTs. I didn't go futher in the subject as my primary target is software but if you are a hardware engineer please have a good look at it.

http://www.arm.com/products/solutions/AMBAHomePage.html


I guess if the ARM guys were selling ARM T-Shirts I would probably buy one ;-)

But as I said, I guess for software engineers knowing the Architecture is important. Knowing what RISC is or pipelines is important as well.

No comments: