Itanium Architecture for Programmers: Understanding 64-Bit Processors and EPIC Principles