Architectural and compiler support for energy reduction in the memory hierarchy of high performance microprocessors