Netburst™ Micro-Architecture of the Intel Pentium® 4 Processor

Total Page:16

File Type:pdf, Size:1020Kb

Netburst™ Micro-Architecture of the Intel Pentium® 4 Processor A Detailed Look Inside the Intel® NetBurst™ Micro-Architecture of the Intel Pentium® 4 Processor November, 2000 A Detailed Look Inside the Intel® NetBurst™ Micro-Architecture of the Intel Pentium® 4 Processor Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel’s Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The Intel® Pentium® 4 processor may contain design defects or errors known as errata. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an ordering number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725 or by visiting Intel’s Website at http://www.intel.com. Copyright © 2000 Intel Corporation. * Third-party brands and names are the property of their respective owners. Page 2 A Detailed Look Inside the Intel® NetBurst™ Micro-Architecture of the Intel Pentium® 4 Processor Revision History Revision Date Revision Major Changes 11/2000 1.0 Release Page 3 A Detailed Look Inside the Intel® NetBurst™ Micro-Architecture of the Intel Pentium® 4 Processor Table of Contents ABOUT THIS DOCUMENT .................................................................................................................5 INTRODUCTION ................................................................................................................................6 SIMD TECHNOLOGY AND STREAMING SIMD EXTENSIONS 2 .........................................................6 Summary of SIMD Technologies .............................................................................................................................................. 7 INTEL® NETBURST™ MICRO-ARCHITECTURE.................................................................................9 The Design Considerations of the Intel NetBurst Micro-architecture............................................................................ 9 Overview of the Intel NetBurst Micro-architecture Pipeline ..........................................................................................10 The Front End .............................................................................................................................................................................10 The Out-of-order Core...............................................................................................................................................................11 Retirement ...................................................................................................................................................................................11 Front End Pipeline Detail..........................................................................................................................................................11 Prefetching...................................................................................................................................................................................12 Decoder........................................................................................................................................................................................12 Execution Trace Cache..............................................................................................................................................................12 Branch Prediction.......................................................................................................................................................................12 Branch Hints ...............................................................................................................................................................................13 Execution Core Detail ................................................................................................................................................................13 Instruction Latency and Throughput ......................................................................................................................................13 Execution Units and Issue Ports ..............................................................................................................................................14 Caches ..........................................................................................................................................................................................15 Data Prefetch...............................................................................................................................................................................15 Loads and Stores ........................................................................................................................................................................16 Store Forwarding........................................................................................................................................................................17 Page 4 A Detailed Look Inside the Intel® NetBurst™ Micro-Architecture of the Intel Pentium® 4 Processor About this Document The Intel® NetBurst™ micro-architecture is the foundation for the Intel® Pentium® 4 processor. It includes several important new features and innovations that will allow the Intel Pentium 4 processor and future IA-32 processors to deliver industry leading performance for the next several years. This paper provides an in-depth examination of the features and functions the Intel NetBurst micro-architecture. Page 5 A Detailed Look Inside the Intel® NetBurst™ Micro-Architecture of the Intel Pentium® 4 Processor Introduction The Intel® Pentium® 4 processor, utilizing the Intel® NetBurstTM micro-architecture, is a complete processor re- design that delivers new technologies and capabilities while advancing many of the innovative features, such as “out-of-order speculative execution” and “super-scalar execution”, introduced on prior Intel® micro-architectural generations. Many of these new innovations and advances were made possible with the improvements in processor technology, process technology and circuit design and could not previously be implemented in high-volume, manufacturable solutions. The features and resulting benefits of the new micro-architecture are defined in the following sections. This paper begins with a brief introduction of three generations of single-instruction, multiple-data (SIMD) technology. The rest of this paper describes the principle of operation of the innovations of Intel Pentium 4 processor with respect to the Intel NetBurst micro-architecture and the implementation characteristics of the Pentium 4 processor. SIMD Technology and Streaming SIMD Extensions 2 One way to increase processor performance is to execute several computations in parallel, so that multiple computations are done with a single instruction. The way to achieve this type of parallel execution is to use the single-instruction, multiple-data (SIMD) computation technique. Figure 1 shows a typical SIMD computation. Here two Figure 1 Typical SIMD Operations sets of four packed data elements (X1, X2, X3, and X4, and Y1, Y2, Y3, and Y4) are operated on in parallel, with the same operation being performed on each X4 X3 X2 X1 corresponding pair of data elements (X1 and Y1, X2 and Y2, X3 and Y3, and X4 and Y4). The results of the four parallel computations are a set of four packed data Y4 Y3 Y2 Y1 elements. SIMD computations like those shown in Figure 1 were introduced into the Intel IA-32 architecture with the Intel op op op op MMX™ technology. The Intel MMX technology allows SIMD computations to be performed on packed byte, X4 op Y4 X3 op Y3 X2 op Y2 X1 op Y1 word, and doubleword integers that are contained in a set of eight 64-bit registers called the MMX registers (see Figure 2). The Pentium III processor extended this initial SIMD computation model with the introduction of the Streaming SIMD Extensions (SSE). The Streaming SIMD Extensions allow SIMD computations to be Figure 2 Registers available to SIMD Instructions performed on operands that contain four packed single-precision floating-point data elements. The 64 Bit MMX TM Registers 128 Bit XMM Registers operands can be either in memory or in a set of eight 128-bit registers called the XMM registers (see MM7 XMM7 Figure 2). The SSE also extended SIMD MM6 XMM6 computational capability with additional 64-bit MMX MM5 XMM5 instructions. MM4
Recommended publications
  • Validating the Intel® Pentium® 4 Microprocessor
    16.1 9DOLGDWLQJ WKH ,QWHO 3HQWLXP 0LFURSURFHVVRU %RE%HQWOH\ ,QWHO&RUSRUDWLRQ 1(WK$YHQXH +LOOVERUR2UHJRQ86$ EREEHQWOH\#LQWHOFRP ABSTRACT 2. OVERVIEW Developing a new leading edge IA-32 microprocessor is an The Pentium® 4 processor is Intel’s most advanced IA-32 immensely complicated undertaking. In the case of the Pentium® microprocessor, incorporating a host of new microarchitectural 4 processor, the microarchitecture is significantly more complex features including a 400-MHz system bus, hyper-pipelined than any previous IA-32 microprocessor and the implementation technology, advanced dynamic execution, rapid execution engine, borrows almost nothing from any previous implementation. This advanced transfer cache, execution trace cache, and Streaming paper describes how we went about the task of finding bugs in the SIMD (Single Instruction, Multiple Data) Extensions 2 (SSE2). Pentium® 4 processor design prior to initial silicon, and what we For the most part, we applied similar tools and methodologies to found along the way. validating the Pentium® 4 processor that we had used previously General Terms on the Pentium® Pro processor. However, we developed new Management, Verification. methodologies and tools in response to lessons learnt from previous projects, and to address some of the new challenges that the Pentium® 4 processor design presented from a validation 1. INTRODUCTION perspective. In particular, the use of Formal Verification, Cluster Validation case studies are relatively rare in the literature of Test Environments and focused Power Reduction Validation were computer architecture and design ([1] and [2] contain lists of either new or greatly extended from previous projects; each of some recent papers) and case studies of commercial these is discussed in more detail in a section of this paper microprocessors are even rarer.
    [Show full text]
  • The Microarchitecture of the Pentium 4 Processor
    The Microarchitecture of the Pentium 4 Processor Glenn Hinton, Desktop Platforms Group, Intel Corp. Dave Sager, Desktop Platforms Group, Intel Corp. Mike Upton, Desktop Platforms Group, Intel Corp. Darrell Boggs, Desktop Platforms Group, Intel Corp. Doug Carmean, Desktop Platforms Group, Intel Corp. Alan Kyker, Desktop Platforms Group, Intel Corp. Patrice Roussel, Desktop Platforms Group, Intel Corp. Index words: Pentium® 4 processor, NetBurst™ microarchitecture, Trace Cache, double-pumped ALU, deep pipelining provides an in-depth examination of the features and ABSTRACT functions of the Intel NetBurst microarchitecture. This paper describes the Intel® NetBurst™ ® The Pentium 4 processor is designed to deliver microarchitecture of Intel’s new flagship Pentium 4 performance across applications where end users can truly processor. This microarchitecture is the basis of a new appreciate and experience its performance. For example, family of processors from Intel starting with the Pentium it allows a much better user experience in areas such as 4 processor. The Pentium 4 processor provides a Internet audio and streaming video, image processing, substantial performance gain for many key application video content creation, speech recognition, 3D areas where the end user can truly appreciate the applications and games, multi-media, and multi-tasking difference. user environments. The Pentium 4 processor enables real- In this paper we describe the main features and functions time MPEG2 video encoding and near real-time MPEG4 of the NetBurst microarchitecture. We present the front- encoding, allowing efficient video editing and video end of the machine, including its new form of instruction conferencing. It delivers world-class performance on 3D cache called the Execution Trace Cache.
    [Show full text]
  • Intel(R) Pentium(R) 4 Processor on 90 Nm Process Datasheet
    Intel® Pentium® 4 Processor on 90 nm Process Datasheet 2.80 GHz – 3.40 GHz Frequencies Supporting Hyper-Threading Technology1 for All Frequencies with 800 MHz Front Side Bus February 2005 Document Number: 300561-003 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The Intel® Pentium® 4 processor on 90 nm process may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. 1Hyper-Threading Technology requires a computer system with an Intel® Pentium® 4 processor supporting HT Technology and a Hyper-Threading Technology enabled chipset, BIOS and operating system.
    [Show full text]
  • The Intel X86 Microarchitectures Map Version 2.0
    The Intel x86 Microarchitectures Map Version 2.0 P6 (1995, 0.50 to 0.35 μm) 8086 (1978, 3 µm) 80386 (1985, 1.5 to 1 µm) P5 (1993, 0.80 to 0.35 μm) NetBurst (2000 , 180 to 130 nm) Skylake (2015, 14 nm) Alternative Names: i686 Series: Alternative Names: iAPX 386, 386, i386 Alternative Names: Pentium, 80586, 586, i586 Alternative Names: Pentium 4, Pentium IV, P4 Alternative Names: SKL (Desktop and Mobile), SKX (Server) Series: Pentium Pro (used in desktops and servers) • 16-bit data bus: 8086 (iAPX Series: Series: Series: Series: • Variant: Klamath (1997, 0.35 μm) 86) • Desktop/Server: i386DX Desktop/Server: P5, P54C • Desktop: Willamette (180 nm) • Desktop: Desktop 6th Generation Core i5 (Skylake-S and Skylake-H) • Alternative Names: Pentium II, PII • 8-bit data bus: 8088 (iAPX • Desktop lower-performance: i386SX Desktop/Server higher-performance: P54CQS, P54CS • Desktop higher-performance: Northwood Pentium 4 (130 nm), Northwood B Pentium 4 HT (130 nm), • Desktop higher-performance: Desktop 6th Generation Core i7 (Skylake-S and Skylake-H), Desktop 7th Generation Core i7 X (Skylake-X), • Series: Klamath (used in desktops) 88) • Mobile: i386SL, 80376, i386EX, Mobile: P54C, P54LM Northwood C Pentium 4 HT (130 nm), Gallatin (Pentium 4 Extreme Edition 130 nm) Desktop 7th Generation Core i9 X (Skylake-X), Desktop 9th Generation Core i7 X (Skylake-X), Desktop 9th Generation Core i9 X (Skylake-X) • Variant: Deschutes (1998, 0.25 to 0.18 μm) i386CXSA, i386SXSA, i386CXSB Compatibility: Pentium OverDrive • Desktop lower-performance: Willamette-128
    [Show full text]
  • Features PCA-6188 Socket 478 Pentium® 4/Celeron® D
    Socket 478 Pentium® 4/Celeron® D/ Celeron Processor Card with 64-bit PCI-X/VGA/Dual PCA-6188 GbE LAN Features . Supports up to 2 Serial ATA devices . Supports Dual Channel DDR 266/333/400 SDRAM . Intel® 875P chipset 400/533/800 MHz FSB . Supports up to two devices with software Serial ATA RAID 0, 1 . Onboard AGP 8X ATi Mobility™ Radeon® 9600 Pro VGA controller, 64 MB DDR SDRAM integrated . Supports dual display, LVDS and DVI . PCI-X 64-bit @ 66 MHz . Supports 10/100/1000Base-T Ethernet . 4 USB 2.0 ports . CMOS automatic backup and restore to prevent accidental data loss of BIOS setup data Specifications CPU Intel Pentium® 4 Intel Celeron® D Intel Celeron 3.06 GHz (533 FSB), 3.4 GHz (800 FSB) Max. Speed 3.06 GHz 2.8 GHz * Vcore 1.75 V CPU (Willamette) not supported Processor System L2 Cache 256 KB/ 512 KB/ 1 MB 256 KB 128/256 KB Chipset Intel 875P + 6300ESB BIOS Award 4 Mbit FWH Front Side Bus 400/533/800 MHz PCI 64-bit/33/66 MHz PCI, 66 MHz PCI-X Bus ISA HISA (ISA high drive), no DMA support Technology Dual Channel DDR 266/333/400 SDRAM with ECC support Memory Max. Capacity 4 GB Socket 184-pin DIMM x 4 Controller ATi Mobility Radeon 9600 Pro (AGP 8X) VRAM 64 MB DDR SDRAM integrated Graphic 1 CRT1, 2048 x 1536, up to 200 Hz vertical rate 1 CRT2, 2048 x 1536, up to 200 Hz vertical rate Video Output 1 LVDS, dual 115MHz interface, 2048 x 1536 @ 60 Hz 1 DVI, 1600 x 1200 @ 60 Hz, 165 MHz Interface 10/100/1000Base-T LAN 1: Intel 82547GI (Gigabit, CSA) Ethernet Controller LAN 2: Intel 82541GI (Gigabit) Connector RJ-45 x 2 Max.
    [Show full text]
  • Test Drive Report for Intel Pentium 4 660
    Test Drive Report for Intel Pentium 4 660 The Pentium 4 600 series processors from Intel may not hold an upper hand over their 500 series brethren in terms of clock frequencies, but they do sport quite a few significant new features: support for EM64T as well as EIST technology (for the reduction of processor power consumption and heat), and, very importantly, a series-wide upgrade to 2MB L2 Cache. Overall, the technical advances that have been achieved are rather obvious. First, a tech spec comparison chart is listed below: Pentium 4 5XX Pentium 4 6XX Model number 570, 560, 550, 540, 530, 520 660, 650, 640, 630 Clock speed 2.8 – 3.8GHz 3.0 – 3.6GHz FSB 800MHz 800MHz L2 Cache 1024KB 2048KB EM64T None Yes EDB Yes* Yes EIST None Yes Transistors 125m 169m Die size 112mm2 135mm2 *Only J-suffix 500 series processors (e.g. 560J, 570J) support EDB technology. From the outside, the new Pentium 4 600 series processors are completely identical to the Pentium 4 500 series processors. The 600 series continue to use the Prescott core, but its L2 Cache is enlarged to 2MB, resulting in increased transistor count and die size. CPU-Z Information Comparison Pentium 4 560 Pentium 4 660 “X86-64” appears in the Instructions caption for the Pentium 4 660. Both AMD’s 64-bit computing and Intel’s EM64T technologies belong to the x86-64 architecture, which means that these are expanded from traditional x86 architecture. Elsewhere, the two processors are shown to have different L2 Cache sizes.
    [Show full text]
  • Intel Pentium 4 and Intel Xeon Processor Optimization
    Intel® Pentium® 4 and Intel® Xeon™ Processor Optimization Reference Manual Issued in U.S.A. Order Number: 248966-007 World Wide Web: http://developer.intel.com INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel prod- ucts are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. This Intel Pentium 4 and Intel Xeon Processor Optimization Reference Manual as well as the software described in it is fur- nished under license and may only be used or copied in accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a com- mitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation.
    [Show full text]
  • Intel® Pentium® 4 Processor on 90 Nm Process Specification Update
    R Intel® Pentium® 4 Processor on 90 nm Process Specification Update September 2006 Notice: The Intel® Pentium® processor may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are documented in this Specification Update. Document Number: 302352-031 R INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The Intel® Pentium® processor may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. 1Hyper-Threading Technology requires a computer system with an Intel® Pentium® 4 processor supporting HT Technology and a Hyper-Threading Technology enabled chipset, BIOS and operating system.
    [Show full text]
  • Intel's Haswell CPU Microarchitecture
    Intel’s Haswell CPU Microarchitecture www.realworldtech.com/haswell-cpu/ David Kanter Over the last 5 years, high performance microprocessors have changed dramatically. One of the most significant influences is the increasing level of integration that is enabled by Moore’s Law. In the context of semiconductors, integration is an ever-present fact of life, reducing system power consumption and cost and increasing performance. The latest incarnation of this trend is the System-on-a-Chip (SoC) philosophy and design approach. SoCs have been the preferred solution for extremely low power systems, such as 1W mobile phone chips. However, high performance microprocessors span a much wider design space, from 15W notebook chips to 150W server sockets and the adoption of SoCs has been slower because of the more diverse market. Sandy Bridge was a dawn of a new era for Intel, and the first high-end x86 microprocessor that could truly be described as an SoC, integrating the CPU, GPU, Last Level Cache and system I/O. However, Sandy Bridge largely targets conventional PC markets, such as notebooks, desktops, workstations and servers, with a smattering of embedded applications. The competition for Sandy Bridge is largely AMD’s Bulldozer family, which has suffered from poor performance in the first few iterations. The 32nm Sandy Bridge CPU introduced AVX, a new instruction extension for floating point (FP) workloads and fundamentally changed almost every aspect of the pipeline, from instruction fetching to memory accesses. The system architecture was radically revamped, with a coherent ring interconnect for on-chip communication, a higher bandwidth Last Level Cache (LLC), integrated graphics and I/O, and comprehensive power management.
    [Show full text]
  • Intel® Celeron® Processor in the 478-Pin Package up to 1.80 Ghz Datasheet
    Intel® Celeron® Processor in the 478-Pin Package up to 1.80 GHz Datasheet I Available at 1.70 and 1.80 GHz I Level 1 Execution Trace Cache stores 12K I Binary compatible with applications micro-ops and removes decoder latency running on previous members of the Intel from main execution loops microprocessor line I 128 KB Advanced Transfer Cache (on-die, I System bus frequency at 400 MHz. full speed Level 2 (L2) cache) with Error Correction Code (ECC) I Rapid Execution Engine: Arithmetic Logic Units (ALUs) run at twice the processor I 144 Streaming SIMD Extensions 2 (SSE2) core frequency. Instructions I Hyper Pipelined Technology. I Power Management capabilities I Advanced Dynamic Execution —System Management mode —Very deep out-of-order execution —Multiple low-power states —Enhanced branch prediction I Optimized for 32-bit applications running on advanced 32-bit operating systems I 8 KB Level 1 data cache The Intel® Celeron® processor in the 478-pin package up to 1.80 GHz expands Intel’s processor family into the value-priced PC market segment. Intel Celeron processors provide the value customer the capability to affordably get onto the Internet, and utilize educational programs, home-office software and productivity applications. All of Intel’s Celeron processors include an integrated L2 cache, and are built on Intel's advanced CMOS process technology. The Intel Celeron processor is backed by over 30 years of Intel experience in manufacturing high-quality, reliable microprocessors. June 2002 Document Number: 290748-002 Information in this document is provided solely to enable use of Intel products.
    [Show full text]
  • How to Write Fast Numerical Code Spring 2013 Lecture: Architecture/Microarchitecture and Intel Core
    How to Write Fast Numerical Code Spring 2013 Lecture: Architecture/Microarchitecture and Intel Core Instructor: Markus Püschel TA: Georg Ofenbeck & Daniele Spampinato Technicalities Research project: . Let us know once you have a partner . Three in a team is fine, but not one . If you have a project idea, talk to me after class or this week Tues 10:30, Wed 15:00, Fr 10:00 (1 hour each) . Some clarifications from my side . Deadline: March 7th Finding partner: [email protected] . Recipients: TA Georg + all students that have no partner yet 2 © Markus Püschel How to write fast numerical code Computer Science Spring 2013 Today Architecture/Microarchitecture In detail: Core 2/Core i7 Crucial microarchitectural parameters Peak performance Operational intensity 3 Definitions Architecture (also instruction set architecture = ISA): The parts of a processor design that one needs to understand to write assembly code Examples: instruction set specification, registers Counterexamples: cache sizes and core frequency Example ISAs . x86 . ia . MIPS . POWER . SPARC . ARM 4 © Markus Püschel How to write fast numerical code Computer Science Spring 2013 MMX: Multimedia extension SSE: Intel x86 Processors Streaming SIMD extension x86-16 8086 AVX: Advanced vector extensions 286 x86-32 386 486 Pentium MMX Pentium MMX SSE Pentium III time SSE2 Pentium 4 SSE3 Pentium 4E x86-64 / em64t Pentium 4F Core 2 Duo SSE4 Penryn Core i7 (Nehalem) AVX Sandy Bridge 5 ISA SIMD (Single Instruction Multiple Data) Vector Extensions What is it? . Extension of the ISA. Data types and instructions for the parallel computation on short (length 2-8) vectors of integers or floats + x 4-way .
    [Show full text]
  • The Microarchitecture of the Pentium 4 Processor Overview
    The Microarchitecture of the Pentium 4 Processor Overview Pentium 4 2 Pentium 4 3 Pentium 4 4 Pentium 4 5 Pentium 4 6 Pentium 4 7 Register Allocation and Renaming The allocator allocates a reorder buffer (ROB) entry Track the completion status of an µop Remember the most current version of each register in Register Alias Table (RAT) A new instruction knows where to get the correct current instance Allocate the ROB and Register File (RF) separately On retirement, no result data values are actually moved from one physical structure to another Pentium 4 8 µop Scheduling Determine when an µop is ready to execute by tracking its input register operand Several individual µop schedulers schedules different types of µops for various execution units are tied to four different dispatch ports Pentium 4 9 Pipeline Long pipeline with short steps 20 stages Higher clock rate and less logic per stage Lots of in-flight instructions Long store queue Misprediction cost increases 50% frequency gives 30% performance Pentium 4 10 Execution Core Different clock speeds High speed ALU (2x main clock, 3GHz) Main clock speed, ½ speed, bus speed Different ALU types Fast for common cases (60-70% of µops) Slower for more complex operations Fast ALU uses staggered computation Each RF has bypass network to forward computed data without write first Pentium 4 11 Caching Trace cache as L1 instruction cache Small 'n' fast L1 data cache (2-clock latency), large L2 cache with prefetching for high bandwidth streaming Long pipeline and early dispatch Assume hit in L1 cache Dependent instructions might use bad data Detect and replay incorrect ones Pentium 4 12 Instruction Set IA-32 instructions decoded into µopts µopts are cached in trace cache to avoid repeated decoding Microcode ROM for complex IA-32 ins.
    [Show full text]