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 #266 background imageLoading...
Page #266 background image
IA-32 Intel® Architecture Optimization
5-4
When using scalar floating-point instructions, it is not necessary to
ensure that the data appears in vector form. However, all of the
optimizations regarding alignment, scheduling, instruction selection,
and other optimizations covered in Chapter 2 and Chapter 3 should be
observed.
Data Alignment
SIMD floating-point data is 16-byte aligned. Referencing unaligned
128-bit SIMD floating-point data will result in an exception unless the
movups or movupd (move unaligned packed single or unaligned packed
double) instruction is used. The unaligned instructions used on aligned
or unaligned data will also suffer a performance penalty relative to
aligned accesses.
Refer to section “Stack and Data Alignment” in Chapter 3 for more
information.
Data Arrangement
Because the SSE and SSE2 incorporate a SIMD architecture, arranging
the data to fully use the SIMD registers produces optimum performance.
This implies contiguous data for processing, which leads to fewer cache
misses and can potentially quadruple the data throughput when using
SSE, or twice the throughput when using SSE2. These performance
gains can occur because four data element can be loaded with 128-bit
load instructions into XMM registers using SSE (
movaps – move
aligned packed single precision). Similarly, two data element can loaded
with 128-bit load instructions into XMM registers using SSE2 (
movapd
– move aligned packed double precision).
Refer to the “Stack and Data Alignment” in Chapter 3 for data
arrangement recommendations. Duplicating and padding techniques
overcome the misalignment problem that can occur in some data
structures and arrangements. This increases the data space but avoids
the expensive penalty for misaligned data access.

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