Projects : Dalvik Processor

Dalvik is the virtual machine underlying Android applications. In this work we are developing a processor architecture whose instruction-set is the Dalvik bytecodes. Each Android application is compiled into Dalvik bytecodes and the processor on the android device, i.e. your cell phone or tablet, interprets each Dalvik bytecode to the native instructions of the processor before executing them. This provides portability of the application across all Android devices, but is a time-consuming tasks that is one of the reasons behind sluggish performance of some Android applications. By implementing such a Dalvik processor that natively implements Dalvik bytecodes, Android applications can be run significantly faster. This can enable more appealing applications such as games and movies. Our experimental results show that applications can be run up to 5 times faster on this processor compared to an ARMv7 processor (Qualcomm Scorpion) on a Google Nexus One cell phone. A paper we published on this topic appeared in the proceedings of ICCE conference in Germany in Sep. 2012.