An Efficient Segmental Bus-Invert Coding Method for Instruction Memory Data Bus Switching Reduction. (15th September 2009)