13.07.2015 Views

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INTEL® <strong>64</strong> AND <strong>IA</strong>-<strong>32</strong> PROCESSOR ARCHITECTURESPort 0. In the first half of the cycle, port 0 can dispatch either one floating-pointmove µop (a floating-point stack move, floating-point exchange or floating-pointstore data) or one arithmetic logical unit (ALU) µop (arithmetic, logic, branch or storedata). In the second half of the cycle, it can dispatch one similar ALU µop.Port 1. In the first half of the cycle, port 1 can dispatch either one floating-pointexecution (all floating-point operations except moves, all SIMD operations) µop orone normal-speed integer (multiply, shift <strong>and</strong> rotate) µop or one ALU (arithmetic)µop. In the second half of the cycle, it can dispatch one similar ALU µop.Port 2. This port supports the dispatch of one load operation per cycle.Port 3. This port supports the dispatch of one store address operation per cycle.The total issue b<strong>and</strong>width can range from zero to six µops per cycle. Each pipelinecontains several execution units. The µops are dispatched to the pipeline that correspondsto the correct type of operation. For example, an integer arithmetic logic unit<strong>and</strong> the floating-point execution units (adder, multiplier, <strong>and</strong> divider) can share apipeline.Port 0Port 1Port 2 Port 3ALU 0DoubleSpeedFPMoveALU 1DoubleSpeedIntegerOperationNormalSpeedFPExecuteMemoryLoadMemoryStoreADD/SUBLogicStore DataBranchesFP MoveFP Store DataFXCHADD/SUBShift/RotateFP_ADDFP_MULFP_DIVFP_MISCMMX_SHFTMMX_ALUMMX_MISCAll LoadsPrefetchStoreAddressNote:FP_ADD refers to x87 FP, <strong>and</strong> SIMD FP add <strong>and</strong> subtract operationsFP_MUL refers to x87 FP, <strong>and</strong> SIMD FP multiply operationsFP_DIV refers to x87 FP, <strong>and</strong> SIMD FP divide <strong>and</strong> square root operationsMMX_ALU refers to SIMD integer arithmetic <strong>and</strong> logic operationsMMX_SHFT h<strong>and</strong>les Shift, Rotate, Shuffle, Pack <strong>and</strong> Unpack operationsMMX_MISC h<strong>and</strong>les SIMD reciprocal <strong>and</strong> some integer operationsOM15151Figure 2-5. Execution Units <strong>and</strong> Ports in Out-Of-Order Core2-27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!