Alignment Checking Feature

The performance problem associated with misaligned transfers was introduced in “Misaligned Transfers Affect Performance” on page 43. The 486 processor introduced the Alignment Check feature. There are three elements associated with this feature:

  • CR0[AM] (see Figure 19-2 on page 434). While the programmer is engaged in fine tuning the performance of a program, the OS or a debug program sets CR0[AM] = 1.

  • EFlags[AC] (see Figure 19-10 on page 449). Assuming that CR0[AM] = 1 and that the currently executing task has EFlags[AC] = 1 (because the AC bit was set to one in the EFlags register image in the task's TSS), any misaligned data or stack access attempt causes an Alignment Check exception (exception 17).

    Figure 19-10. Bits ...

Get The Unabridged Pentium 4 IA32 Processor Genealogy now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.