IA-64: a Parallel Instruction Set: 5/31/99

Total Page:16

File Type:pdf, Size:1020Kb

IA-64: a Parallel Instruction Set: 5/31/99 VOLUME 13, NUMBER 7 MAY 31, 1999 MICROPROCESSOR REP ORT THE INSIDERS’ GUIDE TO MICROPROCESSOR HARD WARE IA-64: A Parallel Instruction Set Register Frames, x86 Mode, Instruction Set Disclosed by Linley Gwennap local registers) to create a new register frame. This sub- routine uses ALLOC to set up 15 locals and 8 outputs. The Finally allowing a full evaluation of their new instruc- first 7 locals overlap the outputs of the previous routine, pro- tion set, Intel and Hewlett-Packard have released a full viding input parameters to the subroutine. The subroutine description of IA-64’s application-level architecture and also has access to the 32 global registers. instruction set. The disclosures address some previous crit- From the subroutine’s viewpoint, however, the registers icisms of the architecture and provide more details con- in its frame are numbered from 32 to 54, even though they cerning how IA-64 processors will execute both x86 and occupy physical registers 44 to 66. Thus, the compiler doesn’t PA-RISC binaries. have to know which registers are unused by previous rou- The disclosures show a thoroughly modern instruction tines; it simply arranges each routine within its own virtual set with a range of multimedia instructions and prefetch register space. This technique simplifies situations in which a capabilities. Although IA-64 includes many RISC concepts, subroutine can be called from various places in a program, the architects added some rather complicated and special- and it can avoid saving and restoring registers, even when a ized instructions. Concerns remain, however, about code subroutine is called through a dynamic link. density and just how much of an advantage these new fea- tures will provide over a standard RISC architecture. Register Save Engine Spills and Fills One criticism had been that the large register file, while Even though the IA-64 register file is large, it is finite. The effective for compute-intensive routines, would cause exces- architecture defines a register save engine (RSE) that auto- sive overhead on subroutine calls, due to saving and restor- matically spills registers to memory when the register file is ing the contents of the registers. The vendors disclosed that fully allocated, creating the illusion of an infinite register file. IA-64 supports register frames that alleviate much of call/ For example, if ALLOC must create a 20-register frame start- save overhead. ing at physical register 120, the frame will go to register 127 and then wrap back to register 32. To avoid destroying state, Register Frames Are Dynamically Sized the contents of registers 32–43 are stored to the memory With IA-64’s 128 integer registers plus predicates, saving and stack. The RSE can save and restore registers before they are restoring the entire register file takes more than four times as needed, minimizing the performance impact. This activity is long as on a standard RISC processor. To ease this problem, Physical register numbers IA-64 implements register frames, which take advantage of 03132434450 the large register file to efficiently handle multiple levels of 32 Globals 12 Locals 7 Out subroutine calls. Register frames are similar to the fixed-size 03132434450 register windows in SPARC (see MPR 12/26/90, p. 9),except 03144 58 59 66 that IA-64 allows software to dynamically specify the size of 32 Globals 15 Locals 8 Out each frame using the ALLOC instruction. 03132 46 47 54 In the example shown in Figure 1, the top-level routine Virtual register numbers has specified a register frame with 19 registers, divided as 12 for local use and 7 for parameter passing (output). In addi- Figure 1 . In this example, a top-level IA-64 routine calls a sub- routine and allocates a new frame with 23 registers that overlap tion, the routine can use the first 32 registers, which are des- the output registers of the original routine. The subroutine uses ignated for global use. When this routine calls a subroutine, virtual registers 32–54, but these are mapped to physical registers the register frame pointer is advanced by 12 (the number of 44–66 by the hardware. 2 IA-64: A PARALLEL INSTRUCTION SET invisible to software, whereas SPARC software must manu- by most subroutines. To further reduce save overhead, soft- ally spill and fill registers. ware needs to save FP registers only if the user mask indi- The register frames minimize the number of registers cates that either the lower or upper half of the FP register file saved and restored during procedure calls, although IA-64’s has been written. static design will result in more “live” registers than in a tra- As Figure 2 shows, the floating-point registers are 82 bits ditional dynamic design. Routines with high computational wide. The native FP format is identical to Intel’s 80-bit requirements can still take advantage of the full register file extended precision (EP) mode, except that the exponent field by allocating a frame with up to 96 registers (plus globals). has 17 bits instead of 15. All results are calculated in the native Any routine that desires can also use IA-64’s register rota- format and converted to the requested precision. The extra tion (see MPR 3/8/99, p. 16); to simplify the hardware, the two exponent bits handle common overflows and underflows rotating portion of the frame is required to start at GR32 in EP mode, simplifying some scientific algorithms. and contain a multiple of eight registers. Each of the integer registers (except GR0, which is With rotation and framing, the translation to physical always zero) has an associated NaT (not a thing) bit to sup- register addresses requires adding two 7-bit values—the reg- port speculative loads (see MPR 3/8/99, p. 16). The FP regis- ister frame pointer and the rotating register base (RRB)—to ters, however, don’t need a NaT bit; instead, they encode NaT the virtual register number and wrapping around from regis- as a special value that is unused by the IEEE-754 standard. ter 127 to 32 if necessary. Although parts of this calculation The 64-bit instruction pointer (IP) points to the next can be done ahead of time, an IA-64 processor may require bundle to be executed. The current frame marker (CFM) an extra pipeline stage to access its registers. Compared with holds the register frame pointer and frame size, along with the register renaming found in most modern processors, the RRB values for the integer, FP,and predicate register files. however, the IA-64 approach requires much less hardware The usr mask is the application-visible portion of the proces- and adds less time to the pipeline. sor status register (PSR). It controls the endianness of loads and stores, enables or disables the performance monitors and Register Set Provides Massive Resources data-alignment checking, and contains the dirty flags for the Only the integer registers are framed; all other registers must upper and lower halves of the FP register file. be saved and restored explicitly by software. This restriction Like current Intel products, IA-64 processors will in- simplifies the register save engine, which doesn’t need to clude a serial number and CPU_ID. This information is spread keep track of separate regions to save and restore various across five 64-bit registers, including two to hold a 16-charac- register types. Furthermore, the predicate registers can be ter ASCII vendor name (e.g., “Genuine Intel”). saved quickly, as a single memory access saves all 64 of the IA-64 also defines a set of 128 special registers, similar 1-bit predicates, and the floating-point registers are not used to PA-RISC’s control registers, called the application regis- General RegistersBranch Registers FP Registers Predicates Application Registers 63 0 63 0 81 0 0 63 0 GR0 = 0 FR0 = 0.0 P0 1 AR0– BR0 KR0–KR7 FR1 = 1.0 P1 AR7 GR1 – GR7 BR1 P2 AR16 RSC • FR2–FR7 GR8 (EAX) • P3 AR17 BSP GR9 (ECX) BR7 FR8–FR15 • AR18 BSPSTORE GR10 (EDX) (MM0–7, FP0–7) • AR19 RNAT GR11 (EBX) 63 0 FR16–FR31 • AR21 FCR GR12 (ESP) IP (PC) (XMM0–7) P61 AR24 EFLAG GR13 (EBP) P62 AR25 CSD 37 0 GR14 (ESI) P63 AR26 SSD CFM FR32–FR127 NaT Bits GR15 (EDI) (rotating) AR27 CFLG GR16–GR17 5 0 AR28 FSR (selectors) PSR User AR29 FIR Mask AR31 FDR GR18–GR23 Performance Monitor CPU Identifiers Data Registers AR32 CCV GR24–GR31 63 0 63 0 AR36 UNAT (segment descr.) CPUID0 PMD0 AR40 FPSR CPUID1 PMD1 AR44 ITC GR32–GR127 • • PFS (framed, AR64 rotating) • • AR65 LC CPUIDn PMDm AR66 EC Figure 2. The IA-64 register file consists of 128 integer registers, 128 floating-point registers, and 64 predicate registers, along with an extensive set of special-purpose registers. Registers in gray are shared between IA-64 and x86 modes; x86 functions are in parentheses. ©MICRODESIGN RESOURCES MAY 31, 1999 MICROPROCESSOR REPORT 3 IA-64: A PARALLEL INSTRUCTION SET ters. Although many are reserved for future definition, sev- must properly set up the x86 segment descriptors, PSR, and eral have important functions. For example, AR65–66 con- EFLAG registers. tain the loop count (LC) and epilogue count (EC) used to Furthermore, the architecture allows the processor to control loops with rotating registers. AR16–19 provide overwrite all of the nonshared general, FP,and predicate reg- information for the register save engine, such as the memory isters, as well as the ALAT (used for IA-64’s speculative address for spilling registers. stores), during x86 execution.
Recommended publications
  • RISC-V Vector Extension Webinar II
    RISC-V Vector Extension Webinar II August 3th, 2021 Thang Tran, Ph.D. Principal Engineer Webinar II - Agenda • Andes overview • Vector technology background – SIMD/vector concept – Vector processor basic • RISC-V V extension ISA – Basic – CSR • RISC-V V extension ISA – Memory operations – Compute instructions • Sample codes – Matrix multiplication – Loads with RVV versions 0.8 and 1.0 • AndesCore™ NX27V • Summary Copyright© 2020 Andes Technology Corp. 2 Terminology • ACE: Andes Custom Extension • ISA: Instruction Set Architecture • CSR: Control and Status Register • GOPS: Giga Operations Per Second • SEW: Element Width (8-64) • GFLOPS: Giga Floating-Point OPS • ELEN: Largest Element Width (32 or 64) • XRF: Integer register file • XLEN: Scalar register length in bits (64) • FRF: Floating-point register file • FLEN: FP register length in bits (16-64) • VRF: Vector register file • VLEN: Vector register length in bits (128-512) • SIMD: Single Instruction Multiple Data • LMUL: Register grouping multiple (1/8-8) • MMX: Multi Media Extension • EMUL: Effective LMUL • SSE: Streaming SIMD Extension • VLMAX/MVL: Vector Length Max • AVX: Advanced Vector Extension • AVL/VL: Application Vector Length • Configurable: parameters are fixed at built time, i.e. cache size • Extensible: added instructions to ISA includes custom instructions to be added by customer • Standard extension: the reserved codes in the ISA for special purposes, i.e. FP, DSP, … • Programmable: parameters can be dynamically changed in the program Copyright© 2020 Andes Technology Corp. 3 RISC-V V Extension ISA Basic Copyright© 2020 Andes Technology Corp. 4 Vector Register ISA • Vector-Register ISA Definition: − All vector operations are between vector registers (except for load and store).
    [Show full text]
  • Optimizing Packed String Matching on AVX2 Platform
    Optimizing Packed String Matching on AVX2 Platform M. Akif Aydo˘gmu¸s1,2 and M.O˘guzhan Külekci1 1 Informatics Institute, Istanbul Technical University, Istanbul, Turkey [email protected], [email protected] 2 TUBITAK UME, Gebze-Kocaeli, Turkey Abstract. Exact string matching, searching for all occurrences of given pattern P on a text T , is a fundamental issue in computer science with many applica- tions in natural language processing, speech processing, computational biology, information retrieval, intrusion detection systems, data compression, and etc. Speeding up the pattern matching operations benefiting from the SIMD par- allelism has received attention in the recent literature, where the empirical results on previous studies revealed that SIMD parallelism significantly helps, while the performance may even be expected to get automatically enhanced with the ever increasing size of the SIMD registers. In this paper, we provide variants of the previously proposed EPSM and SSEF algorithms, which are orig- inally implemented on Intel SSE4.2 (Streaming SIMD Extensions 4.2 version with 128-bit registers). We tune the new algorithms according to Intel AVX2 platform (Advanced Vector Extensions 2 with 256-bit registers) and analyze the gain in performance with respect to the increasing length of the SIMD registers. Profiling the new algorithms by using the Intel Vtune Amplifier for detecting performance bottlenecks led us to consider the cache friendliness and shared-memory access issues in the AVX2 platform. We applied cache op- timization techniques to overcome the problems particularly addressing the search algorithms based on filtering. Experimental comparison of the new solutions with the previously known-to- be-fast algorithms on small, medium, and large alphabet text files with diverse pattern lengths showed that the algorithms on AVX2 platform optimized cache obliviously outperforms the previous solutions.
    [Show full text]
  • Optimizing Software Performance Using Vector Instructions Invited Talk at Speed-B Conference, October 19–21, 2016, Utrecht, the Netherlands
    Agner Fog, Technical University of Denmark Optimizing software performance using vector instructions Invited talk at Speed-B conference, October 19–21, 2016, Utrecht, The Netherlands. Abstract Microprocessor factories have a problem obeying Moore's law because of physical limitations. The answer is increasing parallelism in the form of multiple CPU cores and vector instructions (Single Instruction Multiple Data - SIMD). This is a challenge to software developers who have to adapt to a moving target of new instruction set additions and increasing vector sizes. Most of the software industry is lagging several years behind the available hardware because of these problems. Other challenges are tasks that cannot easily be executed with vector instructions, such as sequential algorithms and lookup tables. The talk will discuss methods for overcoming these problems and utilize the continuously growing power of microprocessors on the market. A few problems relevant to cryptographic software will be covered, and the outlook for the future will be discussed. Find more on these topics at author website: www.agner.org/optimize Moore's law The clock frequency has stopped growing due to physical limitations. Instead, the number of CPU cores and the size of vector registers is growing. Hierarchy of bottlenecks Program installation Program load, JIT compile, DLL's System database Network access Speed → File input/output Graphical user interface RAM access, cache utilization Algorithm Dependency chains CPU pipeline and execution units Remove
    [Show full text]
  • Idisa+: a Portable Model for High Performance Simd Programming
    IDISA+: A PORTABLE MODEL FOR HIGH PERFORMANCE SIMD PROGRAMMING by Hua Huang B.Eng., Beijing University of Posts and Telecommunications, 2009 a Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in the School of Computing Science Faculty of Applied Science c Hua Huang 2011 SIMON FRASER UNIVERSITY Fall 2011 All rights reserved. However, in accordance with the Copyright Act of Canada, this work may be reproduced without authorization under the conditions for Fair Dealing. Therefore, limited reproduction of this work for the purposes of private study, research, criticism, review and news reporting is likely to be in accordance with the law, particularly if cited appropriately. APPROVAL Name: Hua Huang Degree: Master of Science Title of Thesis: IDISA+: A Portable Model for High Performance SIMD Pro- gramming Examining Committee: Dr. Kay C. Wiese Associate Professor, Computing Science Simon Fraser University Chair Dr. Robert D. Cameron Professor, Computing Science Simon Fraser University Senior Supervisor Dr. Thomas C. Shermer Professor, Computing Science Simon Fraser University Supervisor Dr. Arrvindh Shriraman Assistant Professor, Computing Science Simon Fraser University SFU Examiner Date Approved: ii Declaration of Partial Copyright Licence The author, whose copyright is declared on the title page of this work, has granted to Simon Fraser University the right to lend this thesis, project or extended essay to users of the Simon Fraser University Library, and to make partial or single copies only for such users or in response to a request from the library of any other university, or other educational institution, on its own behalf or for one of its users.
    [Show full text]
  • Counter Control Flow Divergence in Compiled Query Pipelines
    Make the Most out of Your SIMD Investments: Counter Control Flow Divergence in Compiled Query Pipelines Harald Lang Andreas Kipf Linnea Passing Technical University of Munich Technical University of Munich Technical University of Munich Munich, Germany Munich, Germany Munich, Germany [email protected] [email protected] [email protected] Peter Boncz Thomas Neumann Alfons Kemper Centrum Wiskunde & Informatica Technical University of Munich Technical University of Munich Amsterdam, The Netherlands Munich, Germany Munich, Germany [email protected] [email protected] [email protected] ABSTRACT Control flow graph: SIMD lane utilization: Increasing single instruction multiple data (SIMD) capabilities in out scan σ ⋈ ⋈ ⋈ out scan σ ⋈ ... modern hardware allows for compiling efficient data-parallel query index 7 x x x x x x x pipelines. This means GPU-alike challenges arise: control flow di- traversal 6 x x Index ⋈ vergence causes underutilization of vector-processing units. In this 5 x x x paper, we present efficient algorithms for the AVX-512 architecture 4 x 3 x x x x x σ no to address this issue. These algorithms allow for fine-grained as- x x x x x x x x match SIMD lanes 2 signment of new tuples to idle SIMD lanes. Furthermore, we present 1 x x x strategies for their integration with compiled query pipelines with- scan 0 x x x out introducing inefficient memory materializations. We evaluate t our approach with a high-performance geospatial join query, which Figure 1: During query processing, individual SIMD lanes shows performance improvements of up to 35%.
    [Show full text]
  • MPC7410/MPC7400 RISC Microprocessor Reference Manual
    MPC7410/MPC7400 RISC Microprocessor Reference Manual Supports MPC7410 MPC7400 MPC7410UM/D 10/2008 Rev. 2 How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support Information in this document is provided solely to enable system and software USA/Europe or Locations Not Listed: implementers to use Freescale Semiconductor products. There are no express or Freescale Semiconductor, Inc. implied copyright licenses granted hereunder to design or fabricate any integrated Technical Information Center, EL516 circuits or integrated circuits based on the information in this document. 2100 East Elliot Road Tempe, Arizona 85284 Freescale Semiconductor reserves the right to make changes without further notice to +1-800-521-6274 or any products herein. Freescale Semiconductor makes no warranty, representation or +1-480-768-2130 www.freescale.com/support guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH any product or circuit, and specifically disclaims any and all liability, including without Technical Information Center limitation consequential or incidental damages. “Typical” parameters which may be Schatzbogen 7 provided in Freescale Semiconductor data sheets and/or specifications can and do 81829 Muenchen, Germany vary in different applications and actual performance may vary over time. All operating +44 1296 380 456 (English) +46 8 52200080 (English) parameters, including “Typicals” must be validated for each customer application by +49 89 92103 559 (German) customer’s technical experts. Freescale Semiconductor does not convey any license +33 1 69 35 48 48 (French) under its patent rights nor the rights of others.
    [Show full text]
  • A Second Generation SIMD Microprocessor Architecture
    A Second Generation SIMD Microprocessor Architecture Mike Phillip Motorola, Inc. Austin, TX [email protected] Mike Phillip 8/17/98 1 WhyWhy SIMDSIMD ?? ¥ ÒBut isnÕt that really old technology ?Ó Ð Yes, architecturally speaking, but... Ð SIMD within registers provides ÒcheapÓ interelement communictaions that wasnÕt present in prior SIMD systems ¥ Provides a reasonable tradeoff between increased computational bandwidth and manageable complexity Ð Fewer register ports needed per Òunit of useful workÓ Ð Naturally takes advantage of stream-oriented parallelism ¥ Can be easily scaled for various price/performance points ¥ Can be applied in addition to traditional techniques Mike Phillip 8/17/98 2 SomeSome AlternativesAlternatives ¥ Wider superscalar machines Benefits: High degree of flexibility; easy to program Problems: Complex implementations; higher power consumption ¥ Special purpose DSP and Media architectures Benefits: Low power; efficient use of silicon Problems: Traditional design approaches tend to limit CPU speeds; lack of generality; lack of development tools ¥ VLIW Benefits: Reduced implementation complexity; impresses your friends Problems: Need VERY long words to provide sufficient scalability; limited to compile-time visibility of parallelism; difficult to program Mike Phillip 8/17/98 3 TheThe FirstFirst GenerationGeneration ¥ First generation implementations tend to overlay SIMD instructions on existing architectural space Ð Permitted quick time to market, but limits scalability Ð Intel, Cyrix, AMD (MMX), SPARC (VIS) are
    [Show full text]
  • Effective Vectorization with Openmp 4.5
    ORNL/TM-2016/391 Effective Vectorization with OpenMP 4.5 Joseph Huber Oscar Hernandez Graham Lopez Approved for public release. Distribution is unlimited. March 2017 DOCUMENT AVAILABILITY Reports produced after January 1, 1996, are generally available free via US Department of Energy (DOE) SciTech Connect. Website: http://www.osti.gov/scitech/ Reports produced before January 1, 1996, may be purchased by members of the public from the following source: National Technical Information Service 5285 Port Royal Road Springfield, VA 22161 Telephone: 703-605-6000 (1-800-553-6847) TDD: 703-487-4639 Fax: 703-605-6900 E-mail: [email protected] Website: http://classic.ntis.gov/ Reports are available to DOE employees, DOE contractors, Energy Technology Data Ex- change representatives, and International Nuclear Information System representatives from the following source: Office of Scientific and Technical Information PO Box 62 Oak Ridge, TN 37831 Telephone: 865-576-8401 Fax: 865-576-5728 E-mail: [email protected] Website: http://www.osti.gov/contact.html This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any in- formation, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial prod- uct, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof.
    [Show full text]
  • Jon Stokes Jon
    Inside the Machine the Inside A Look Inside the Silicon Heart of Modern Computing Architecture Computer and Microprocessors to Introduction Illustrated An Computers perform countless tasks ranging from the business critical to the recreational, but regardless of how differently they may look and behave, they’re all amazingly similar in basic function. Once you understand how the microprocessor—or central processing unit (CPU)— Includes discussion of: works, you’ll have a firm grasp of the fundamental concepts at the heart of all modern computing. • Parts of the computer and microprocessor • Programming fundamentals (arithmetic Inside the Machine, from the co-founder of the highly instructions, memory accesses, control respected Ars Technica website, explains how flow instructions, and data types) microprocessors operate—what they do and how • Intermediate and advanced microprocessor they do it. The book uses analogies, full-color concepts (branch prediction and speculative diagrams, and clear language to convey the ideas execution) that form the basis of modern computing. After • Intermediate and advanced computing discussing computers in the abstract, the book concepts (instruction set architectures, examines specific microprocessors from Intel, RISC and CISC, the memory hierarchy, and IBM, and Motorola, from the original models up encoding and decoding machine language through today’s leading processors. It contains the instructions) most comprehensive and up-to-date information • 64-bit computing vs. 32-bit computing available (online or in print) on Intel’s latest • Caching and performance processors: the Pentium M, Core, and Core 2 Duo. Inside the Machine also explains technology terms Inside the Machine is perfect for students of and concepts that readers often hear but may not science and engineering, IT and business fully understand, such as “pipelining,” “L1 cache,” professionals, and the growing community “main memory,” “superscalar processing,” and of hardware tinkerers who like to dig into the “out-of-order execution.” guts of their machines.
    [Show full text]
  • Altivec Extension to Powerpc Accelerates Media Processing
    ALTIVEC EXTENSION TO POWERPC ACCELERATES MEDIA PROCESSING DESIGNED AROUND THE PREMISE THAT MULTIMEDIA WILL BE THE PRIMARY CONSUMER OF PROCESSING CYCLES IN FUTURE PCS, ALTIVEC—WHICH APPLE CALLS THE VELOCITY ENGINE—INCREASES PERFORMANCE ACROSS A BROAD SPECTRUM OF MEDIA PROCESSING APPLICATIONS. There is a clear trend in personal com- extension to a general-purpose architecture. puting toward multimedia-rich applications. But the similarity ends there. Whereas the These applications will incorporate a wide vari- other extensions were obviously constrained ety of multimedia technologies, including audio by backward compatibility and a desire to and video compression, 2D image processing, limit silicon investment to a small fraction of 3D graphics, speech and handwriting recogni- the processor die area, the primary goal for Keith Diefendorff tion, media mining, and narrow-/broadband AltiVec was high functionality. It was designed signal processing for communication. from scratch around the premise that multi- Microprocessor Report In response to this demand, major micro- media will become the primary consumer of processor vendors have announced architec- processing cycles8 in future PCs and therefore tural extensions to their general-purpose deserves first-class treatment in the CPU. Pradeep K. Dubey processors in an effort to improve their multi- Unlike most other extensions, which over- media performance. Intel extended IA-32 with load their floating-point (FP) registers to IBM Research Division MMX1 and SSE (alias KNI),2 Sun enhanced accommodate multimedia data, AltiVec ded- Sparc with VIS,3 Hewlett-Packard added icates a large new register file exclusively to it. MAX4 to its PA-RISC architecture, Silicon Although overloading the FP registers avoids Ron Hochsprung Graphics extended the MIPS architecture with new architectural state, eliminating the need MDMX,5 and Digital (now Compaq) added to modify the operating system, it also signif- Apple Computer MVI to Alpha.
    [Show full text]
  • Register Level Sort Algorithm on Multi-Core SIMD Processors
    Register Level Sort Algorithm on Multi-Core SIMD Processors Tian Xiaochen, Kamil Rocki and Reiji Suda Graduate School of Information Science and Technology The University of Tokyo & CREST, JST {xchen, kamil.rocki, reiji}@is.s.u-tokyo.ac.jp ABSTRACT simultaneously. GPU employs a similar architecture: single- State-of-the-art hardware increasingly utilizes SIMD paral- instruction-multiple-threads(SIMT). On K20, each SMX has lelism, where multiple processing elements execute the same 192 CUDA cores which act as individual threads. Even a instruction on multiple data points simultaneously. How- desktop type multi-core x86 platform such as i7 Haswell ever, irregular and data intensive algorithms are not well CPU family supports AVX2 instruction set (256 bits). De- suited for such architectures. Due to their importance, it veloping algorithms that support multi-core SIMD architec- is crucial to obtain efficient implementations. One example ture is the precondition to unleash the performance of these of such a task is sort, a fundamental problem in computer processors. Without exploiting this kind of parallelism, only science. In this paper we analyze distinct memory accessing a small fraction of computational power can be utilized. models and propose two methods to employ highly efficient Parallel sort as well as sort in general is fundamental and bitonic merge sort using SIMD instructions as register level well studied problem in computer science. Algorithms such sort. We achieve nearly 270x speedup (525M integers/s) on as Bitonic-Merge Sort or Odd Even Merge Sort are widely a 4M integer set using Xeon Phi coprocessor, where SIMD used in practice.
    [Show full text]
  • G4 Is First Powerpc with Altivec: 11/16/98
    G4 Is First PowerPC With AltiVec Due Mid-1999, Motorola’s Next Chip Aims at Macintosh, Networking by Linley Gwennap the original PowerPC 603. The integer core uses a simple five-stage pipeline (four stages for ALU operations) with a Motorola will extend its PowerPC limited amount of instruction reordering. Each cycle, the line with the first G4 processor core, CPU can issue two instructions plus a branch. As Figure 1 which it unveiled at last month’s shows, integer execution resources include dual ALUs plus a Microprocessor Forum. According to project leader Paul “system” unit (which handles the more complicated integer Reed, the new core adds a faster floating-point unit to the instructions) and a load/store unit. older G3 core and doubles its cache and system-bus band- Although the integer core was deemed acceptable, width. The G4 is also the first chip to incorporate the AltiVec Motorola felt the floating-point unit needed improvement. extensions, which greatly increase performance on many For single-precision instructions, the G3 FPU is fully pipe- bandwidth- or compute-intensive applications, including lined with a three-cycle latency, but it requires an extra cycle both integer and floating-point algorithms. The chip is already for double-precision operations, halving the issue rate and sampling and is due to appear in products by mid-1999. increasing the latency. The G4 FPU, however, is fully After IBM pulled out of Somerset (see MPR 6/22/98, pipelined, even for double-precision operations. Most tech- p. 4), the G4 became the sole property of Motorola; IBM has nical FP applications use double precision and will see a no plans to sell the part.
    [Show full text]