1. A method of reducing power consumption in a portable computing device, comprising: executing code from a full code instantiation in a dynamic random access memory (DRAM); maintaining state and context information produced while executing code of the full code instantiation in the DRAM; maintaining a reduced code instantiation in low power memory, the reduced code instantiation containing a copy of a subset of the code in full code instantiation; detecting a low power opportunity condition; switching execution from the DRAM to the reduced code instantiation, including copying state and context information from the DRAM into an alternate memory, performed in response to detecting the low power opportunity condition; and upon switching, powering off the DRAM.