Apr 302013
 

Sorry for the delay in this post. I could not get to this post in time and wanted to be sure it is well-researched. The final post in this series is a comparison of the hardware support in the ARM and x86 world. As mentioned in the previous post the biggest reason for ARM to include virtualization in their architecture is to be viable in the server market against x86. So I think a comparison of x86 and ARM hardware support for virtualization is warranted.

Continue reading “ARM Virtualization – ARM vs x86 (Part 5)” »

Apr 012013
 

In the second part of the series we introduced memory management and interrupt handling support provided by virtualization hardware extensions. But effective virtualization solutions need to reach beyond the core to communicate with peripheral devices. In this post we discuss the various techniques used for virtualizing I/O, the problems faced, and the hardware solutions to mitigate these problems.

Continue reading “ARM Virtualization – I/O Virtualization (Part 3)” »

Mar 242013
 

In the first part of this series, I introduced the topic of virtualization. Today I will venture deeper into the ARM virtualization extensions for memory management and handling of interrupts. Within the core, virtualization mostly provides controls over the system registers. But as we move further from the core, and start to communicate with the outside world, difficulties and nuances in the problem start to emerge and the need for hardware support for virtualization becomes apparent.

Continue reading “ARM Virtualization Extensions – Memory and Interrupts (Part 2)” »

May 212011
 

I wrote a list of 10 things programmers must know. I felt it was unfair to leave out the hardware guys. Since I have already covered what the hardware designers need to know about software (here here and here), I am now posting some important review topics for hardware designers. Make sure you revise these topics before job interviews. While this list targets architects and VLSI/RTL designers, it is a good resource for anyone looking to brush up their understanding of hardware design. It can also be used as a study guide to learn hardware on your own. I purposefully use keywords that can be googled.

Continue reading “Ten fun hardware design questions” »