Datapath design for high-performance microprocessors: An energy-delay perspective