Jump to content

Advance Load Address Table

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jonasmike (talk | contribs) at 11:09, 1 February 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Advance Load Address Table (ALAT) is a functional unit in the Intel Itanium processor architecture. It is implemented with an associative memory. The ALAT is used to store information related to advance load instructions, as part of the speculative execution process.

An Advanced Load is a method aimed in reducing the latency of costly load operations. If there is a possibility that a data item will be required, the program may specify its advanced load, even before the confirmation that the item will be need.

In the Itanium architecture, this advanced load order may be issued by an ld.a instruction. This instruction allocates an entry in the Advanced Load Address Table and starts the data transfer. The ALAT is used to identify the address from where the data will be read, the length of the required data block, the destination register and the state of the load operation. The success of the advanced load may then be checked with a ld.c or chk.a instruction that look for the related information in the ALAT.

The ALAT in the Itanium processor is implemented by a 2-way set-associative memory with 32 entries. In the Itanium2, this unit was changed to a 32 entries fully associative structure.