EasyManuals Logo

Intel ARCHITECTURE IA-32 User Manual

Intel ARCHITECTURE IA-32
568 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #156 background imageLoading...
Page #156 background image
IA-32 Intel® Architecture Optimization
2-84
improve address alignment, a small piece of prolog code using
movsb/stosb with count less than 4 can be used to peel off the
non-aligned data moves before starting to use movsd/stosd.
For cases where N is less than half the size of last level cache,
throughput consideration may favor either: (a) an approach using
REP string with the largest data granularity because REP string has
little overhead for loop iteration, and the branch misprediction
overhead in the prolog/epilogue code to handle address alignment is
amortized over many iterations (b) an iterative approach using the
instruction with largest data granularity; where the overhead for
SIMD feature detection, iteration overhead, prolog/epilogue for
alignment control can be minimized. The trade-off between these
approaches may depend on the microarchitecture.
An example of memset() implemented using stosd for arbitrary
counter value with the destination address aligned to doubleword
boundary in 32-bit mode is shown in Table 2-5.
For cases N > half the size of last level cache, using 16-byte
granularity streaming stores with prolog/epilog for address
alignment will likely be more efficient, if the destination addresses
will not be referenced immediately afterwards.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Intel ARCHITECTURE IA-32 and is the answer not in the manual?

Intel ARCHITECTURE IA-32 Specifications

General IconGeneral
Instruction Setx86
Instruction Set TypeCISC
Memory SegmentationSupported
Operating ModesReal mode, Protected mode, Virtual 8086 mode
Max Physical Address Size36 bits (with PAE)
Max Virtual Address Size32 bits
ArchitectureIA-32 (Intel Architecture 32-bit)
Addressable Memory4 GB (with Physical Address Extension up to 64 GB)
Floating Point Registers8 x 80-bit
MMX Registers8 x 64-bit
SSE Registers8 x 128-bit
RegistersGeneral-purpose registers (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP), Segment registers (CS, DS, SS, ES, FS, GS), Instruction pointer (EIP), Flags register (EFLAGS)
Floating Point UnitYes (x87)

Related product manuals