Vector Game Math Processors.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Vector Game Math Processors.Pdf Vector Game Math Processors James Leiterman Wordware Publishing, Inc. Library of Congress Cataloging-in-Publication Data Leiterman, James. Vector game math processors / by James Leiterman. p. cm. Includes bibliographical references and index. ISBN 1-55622-921-6 1. Vector processing (Computer science). 2. Computer games--Programming. 3. Supercomputers--Programming. 4. Computer science--Mathematics. 5. Algorithms. I. Title. QA76.5 .L446 2002 004'.35--dc21 2002014988 CIP © 2003, Wordware Publishing, Inc. All Rights Reserved 2320 Los Rios Boulevard Plano, Texas 75074 No part of this book may be reproduced in any form or by any means without permission in writing from Wordware Publishing, Inc. Printed in the United States of America ISBN 1-55622-921-6 10987654321 0211 Product names mentioned are used for identification purposes only and may be trademarks of their respective companies. All inquiries for volume purchases of this book should be addressed to Wordware Publishing, Inc., at the above address. Telephone inquiries may be made by calling: (972) 423-0090 Contents Preface ................................xiii Chapter 1 Introduction ................1 Book Legend ............................7 CD Files .............................7 Pseudo Vec ...........................10 Graphics 101 ..........................11 Algebraic Laws .........................11 I-VU-Q .............................11 Insight..............................13 Chapter 2 Coding Standards ............14 Constants..............................15 Data Alignment ..........................15 Pancake Memory LIFO Queue.................18 Stack ..............................18 Assertions .............................21 Memory Systems .........................24 RamTest Memory Alignment Test ...............25 Memory Header ........................26 Allocate Memory (Malloc Wrapper)..............27 Release Memory (Free Wrapper) ...............28 Allocate Memory ........................29 Allocate (Cleared) Memory ..................29 Free Memory — Pointer is Set to NULL ...........29 Exercises ..............................30 Chapter 3 Processor Differential Insight ......31 Floating-Point 101 .........................31 Floating-Point Comparison ....................33 Processor Data Type Encoding ..................36 X86 and IBM Personal Computer ...............38 Registers ............................43 Destination and Source Orientations..............43 Big and Little Endian......................44 MIPS Multimedia Instructions (MMI).............47 PS2 VU Coprocessor Instruction Supposition.........51 Gekko Supposition .......................52 Function Wrappers.........................54 iii iv Contents Integer Function Wrappers ...................54 Single-Precision Function Quad Vector Wrappers ......62 Double-Precision Function Quad Vector Wrappers ......67 Single-Precision Function Vector Wrappers ..........68 Double-Precision Function Vector Wrappers .........71 Exercises ..............................72 Chapter 4 Vector Methodologies ..........74 Target Processor ..........................74 Type of Data ............................75 AoS...............................75 SoA...............................76 A Possible Solution? ......................77 Packed and Parallel and Pickled ................81 Discrete or Parallel? ........................83 Algorithmic Breakdown ......................86 Array Summation........................86 Thinking Out of the Box (Hexagon) ...............90 Vertical Interpolation with Rounding .............91 Exercises ..............................94 Chapter 5 Vector Data Conversion .........95 (Un)aligned Memory Access ...................95 Pseudo Vec (X86) .......................95 Pseudo Vec (PowerPC).....................98 Pseudo Vec (AltiVec)......................99 Pseudo Vec (MIPS-MMI) ...................99 Pseudo Vec (MIPS-VU0) ...................101 Data Interlacing, Exchanging, Unpacking, and Merging ....101 Swizzle, Shuffle, and Splat....................114 Vector Splat Immediate Signed Byte (16x8-bit) .......114 Vector Splat Byte (16x8-bit) .................114 Vector Splat Immediate Signed Half-Word (8x16-bit)....115 Vector Splat Half-Word (8x16-bit) ..............115 Parallel Copy Half-Word (8x16-bit) .............115 Extract Word into Integer Register (4x16-bit) to (1x16). 116 Insert Word from Integer Register (1x16) to (4x16-bit) . 116 Shuffle-Packed Words (4x16-bit)...............117 Shuffle-Packed Low Words (4x16-bit) ............117 Shuffle-Packed High Words (4x16-bit)............117 Vector Splat Immediate Signed Word (8x16-bit).......118 Vector Splat Word (8x16-bit) .................118 Shuffle-Packed Double Words (4x32-bit) ..........118 Graphics Processor Unit (GPU) Swizzle ...........119 Data Bit Expansion — RGB 5:5:5 to RGB32 ..........120 Vector Unpack Low Pixel16 (4x16-bit) to (4x32) ......120 Vector Unpack High Pixel16 (4x16-bit) to (4x32) ......120 Contents v Parallel Extend from 5 Bits ..................121 Data Bit Expansion........................121 Vector Unpack Low-Signed Byte (8x8) to (8x16-bit) ....122 Vector Unpack High-Signed Byte (8x8) to (8x16-bit) ....122 Vector Unpack Low-Signed Half-Word (4x16) to (4x32-bit) .........................123 Vector Unpack High-Signed Half-Word (4x16) to (4x32-bit) ..........................123 Data Bit Reduction — RGB32 to RGB 5:5:5 ..........123 Vector Pack 32-bit Pixel to 5:5:5 ...............124 Parallel Pack to 5 Bits.....................124 Data Bit Reduction (with Saturation) ..............125 Vector Pack Signed Half-Word Signed Saturate .......125 Vector Pack Signed Half-Word Unsigned Saturate .....125 Vector Pack Unsigned Half-Word Unsigned Saturate ....126 Vector Pack Unsigned Half-Word Unsigned Modulo ....126 Vector Pack Signed Word Signed Saturate ..........127 Vector Pack Signed Word Unsigned Saturate ........127 Vector Pack Unsigned Word Unsigned Saturate .......128 Exercises .............................128 Chapter 6 Bit Mangling ..............129 Boolean Logical AND ......................130 Pseudo Vec ..........................131 Pseudo Vec (X86) .......................132 Pseudo Vec (PowerPC) ....................134 Pseudo Vec (MIPS) ......................136 Boolean Logical OR .......................138 Pseudo Vec ..........................139 Boolean Logical XOR (Exclusive OR) .............139 Pseudo Vec ..........................140 Toolbox Snippet — The Butterfly Switch ..........142 I-VU-Q ............................144 Boolean Logical ANDC .....................147 Pseudo Vec ..........................148 Boolean Logical NOR (NOT OR) ................149 Pseudo Vec ..........................149 Pseudo Vec (X86) .......................150 Pseudo Vec (PowerPC) ....................151 Graphics 101 — Blit .......................151 Copy Blit ...........................152 Transparent Blit ........................152 Graphics 101 — Blit (MMX) ..................153 Graphics Engine — Sprite Layered .............153 Graphics Engine — Sprite Overlay..............154 Exercises .............................155 vi Contents Chapter 7 Bit Wrangling..............157 Parallel Shift (Logical) Left ...................158 Pseudo Vec ..........................159 Pseudo Vec (X86) .......................162 Pseudo Vec (PowerPC) ....................163 Pseudo Vec (MMI) ......................165 Parallel Shift (Logical) Right ..................168 Pseudo Vec ..........................169 Parallel Shift (Arithmetic) Right.................170 Pseudo Vec ..........................172 Pseudo Vec (X86) .......................175 Pseudo Vec (PowerPC) ....................176 Pseudo Vec (MIPS) ......................176 Rotate Left (or N-Right) .....................179 Pseudo Vec ..........................180 Pseudo Vec (X86) .......................181 Pseudo Vec (PowerPC) ....................182 Pseudo Vec (MIPS) ......................184 Secure Hash Algorithm (SHA-1) ................187 Exercises .............................191 Chapter 8 Vector Addition and Subtraction ....192 Vector Floating-Point Addition .................193 Vector Floating-Point Addition with Scalar ...........194 Vector Floating-Point Subtraction ................195 vmp_VecNeg .........................196 Vector Floating-Point Subtraction with Scalar .........196 Pseudo Vec ..........................197 Vector Floating-Point Reverse Subtraction ...........197 Vector Addition and Subtraction (Single-Precision) ......198 Pseudo Vec ..........................198 Pseudo Vec (X86) .......................201 Pseudo Vec (PowerPC) ....................204 Pseudo Vec (MIPS) ......................205 Vector Scalar Addition and Subtraction .............206 Single-Precision Quad Vector Float Scalar Addition ....207 Single-Precision Quad Vector Float Scalar Subtraction . 207 Vector Integer Addition .....................208 Pseudo Vec ..........................209 Vector Integer Addition with Saturation.............210 Vector Integer Subtraction ....................213 Vector Integer Subtraction with Saturation ...........214 Vector Addition and Subtraction (Fixed Point) .........215 Pseudo Vec ..........................215 Pseudo Vec (X86) .......................217 Pseudo Vec (PowerPC) ....................218 Contents vii Pseudo Vec (MIPS) ......................218 Exercises .............................219 Project ..............................220 Chapter 9 Vector Multiplication and Division ...221 Floating-Point Multiplication ..................222 NxSP-FP Multiplication ...................222
Recommended publications
  • Development of a Dynamically Extensible Spinnaker Chip Computing Module
    FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Development of a Dynamically Extensible SpiNNaker Chip Computing Module Rui Emanuel Gonçalves Calado Araújo Master in Electrical and Computers Engineering Supervisor: Jörg Conradt Co-Supervisor: Diamantino Freitas January 27, 2014 Resumo O projeto SpiNNaker desenvolveu uma arquitetura que é capaz de criar um sistema com mais de um milhão de núcleos, com o objetivo de simular mais de um bilhão de neurónios em tempo real biológico. O núcleo deste sistema é o "chip" SpiNNaker, um multiprocessador System-on-Chip com um elevado nível de interligação entre as suas unidades de processamento. Apesar de ser uma plataforma de computação com muito potencial, até para aplicações genéricas, atualmente é ape- nas disponibilizada em configurações fixas e requer uma estação de trabalho, como uma máquina tipo "desktop" ou "laptop" conectada através de uma conexão Ethernet, para a sua inicialização e receber o programa e os dados a processar. No sentido de tirar proveito das capacidades do "chip" SpiNNaker noutras áreas, como por exemplo, na área da robótica, nomeadamente no caso de robots voadores ou de tamanho pequeno, uma nova solução de hardware com software configurável tem de ser projetada de forma a poder selecionar granularmente a quantidade do poder de processamento. Estas novas capacidades per- mitem que a arquitetura SpiNNaker possa ser utilizada em mais aplicações para além daquelas para que foi originalmente projetada. Esta dissertação apresenta um módulo de computação dinamicamente extensível baseado em "chips" SpiNNaker com a finalidade de ultrapassar as limitações supracitadas das máquinas SpiN- Naker atualmente disponíveis. Esta solução consiste numa única placa com um microcontrolador, que emula um "chip" SpiNNaker com uma ligação Ethernet, acessível através de uma porta série e com um "chip" SpiNNaker.
    [Show full text]
  • NVIDIA CUDA on IBM POWER8: Technical Overview, Software Installation, and Application Development
    Redpaper Dino Quintero Wei Li Wainer dos Santos Moschetta Mauricio Faria de Oliveira Alexander Pozdneev NVIDIA CUDA on IBM POWER8: Technical overview, software installation, and application development Overview The exploitation of general-purpose computing on graphics processing units (GPUs) and modern multi-core processors in a single heterogeneous parallel system has proven highly efficient for running several technical computing workloads. This applied to a wide range of areas such as chemistry, bioinformatics, molecular biology, engineering, and big data analytics. Recently launched, the IBM® Power System S824L comes into play to explore the use of the NVIDIA Tesla K40 GPU, combined with the latest IBM POWER8™ processor, providing a unique technology platform for high performance computing. This IBM Redpaper™ publication discusses the installation of the system, and the development of C/C++ and Java applications using the NVIDIA CUDA platform for IBM POWER8. Note: CUDA stands for Compute Unified Device Architecture. It is a parallel computing platform and programming model created by NVIDIA and implemented by the GPUs that they produce. The following topics are covered: Advantages of NVIDIA on POWER8 The IBM Power Systems S824L server Software stack System monitoring Application development Tuning and debugging Application examples © Copyright IBM Corp. 2015. All rights reserved. ibm.com/redbooks 1 Advantages of NVIDIA on POWER8 The IBM and NVIDIA partnership was announced in November 2013, for the purpose of integrating IBM POWER®-based systems with NVIDIA GPUs, and enablement of GPU-accelerated applications and workloads. The goal is to deliver higher performance and better energy efficiency to companies and data centers. This collaboration produced its initial results in 2014 with: The announcement of the first IBM POWER8 system featuring NVIDIA Tesla GPUs (IBM Power Systems™ S824L).
    [Show full text]
  • Openpower AI CERN V1.Pdf
    Moore’s Law Processor Technology Firmware / OS Linux Accelerator sSoftware OpenStack Storage Network ... Price/Performance POWER8 2000 2020 DRAM Memory Chips Buffer Power8: Up to 12 Cores, up to 96 Threads L1, L2, L3 + L4 Caches Up to 1 TB per socket https://www.ibm.com/blogs/syst Up to 230 GB/s sustained memory ems/power-systems- openpower-enable- bandwidth acceleration/ System System Memory Memory 115 GB/s 115 GB/s POWER8 POWER8 CPU CPU NVLink NVLink 80 GB/s 80 GB/s P100 P100 P100 P100 GPU GPU GPU GPU GPU GPU GPU GPU Memory Memory Memory Memory GPU PCIe CPU 16 GB/s System bottleneck Graphics System Memory Memory IBM aDVantage: data communication and GPU performance POWER8 + 78 ms Tesla P100+NVLink x86 baseD 170 ms GPU system ImageNet / Alexnet: Minibatch size = 128 ADD: Coherent Accelerator Processor Interface (CAPI) FPGA CAPP PCIe POWER8 Processor ...FPGAs, networking, memory... Typical I/O MoDel Flow Copy or Pin MMIO Notify Poll / Int Copy or Unpin Ret. From DD DD Call Acceleration Source Data Accelerator Completion Result Data Completion Flow with a Coherent MoDel ShareD Mem. ShareD Memory Acceleration Notify Accelerator Completion Focus on Enterprise Scale-Up Focus on Scale-Out and Enterprise Future Technology and Performance DriVen Cost and Acceleration DriVen Partner Chip POWER6 Architecture POWER7 Architecture POWER8 Architecture POWER9 Architecture POWER10 POWER8/9 2007 2008 2010 2012 2014 2016 2017 TBD 2018 - 20 2020+ POWER6 POWER6+ POWER7 POWER7+ POWER8 POWER8 P9 SO P9 SU P9 SO 2 cores 2 cores 8 cores 8 cores 12 cores w/ NVLink
    [Show full text]
  • IBM Power Systems Performance Report Apr 13, 2021
    IBM Power Performance Report Power7 to Power10 September 8, 2021 Table of Contents 3 Introduction to Performance of IBM UNIX, IBM i, and Linux Operating System Servers 4 Section 1 – SPEC® CPU Benchmark Performance 4 Section 1a – Linux Multi-user SPEC® CPU2017 Performance (Power10) 4 Section 1b – Linux Multi-user SPEC® CPU2017 Performance (Power9) 4 Section 1c – AIX Multi-user SPEC® CPU2006 Performance (Power7, Power7+, Power8) 5 Section 1d – Linux Multi-user SPEC® CPU2006 Performance (Power7, Power7+, Power8) 6 Section 2 – AIX Multi-user Performance (rPerf) 6 Section 2a – AIX Multi-user Performance (Power8, Power9 and Power10) 9 Section 2b – AIX Multi-user Performance (Power9) in Non-default Processor Power Mode Setting 9 Section 2c – AIX Multi-user Performance (Power7 and Power7+) 13 Section 2d – AIX Capacity Upgrade on Demand Relative Performance Guidelines (Power8) 15 Section 2e – AIX Capacity Upgrade on Demand Relative Performance Guidelines (Power7 and Power7+) 20 Section 3 – CPW Benchmark Performance 19 Section 3a – CPW Benchmark Performance (Power8, Power9 and Power10) 22 Section 3b – CPW Benchmark Performance (Power7 and Power7+) 25 Section 4 – SPECjbb®2015 Benchmark Performance 25 Section 4a – SPECjbb®2015 Benchmark Performance (Power9) 25 Section 4b – SPECjbb®2015 Benchmark Performance (Power8) 25 Section 5 – AIX SAP® Standard Application Benchmark Performance 25 Section 5a – SAP® Sales and Distribution (SD) 2-Tier – AIX (Power7 to Power8) 26 Section 5b – SAP® Sales and Distribution (SD) 2-Tier – Linux on Power (Power7 to Power7+)
    [Show full text]
  • Probabilistic Study of End-To-End Constraints in Real-Time Systems Cristian Maxim
    Probabilistic study of end-to-end constraints in real-time systems Cristian Maxim To cite this version: Cristian Maxim. Probabilistic study of end-to-end constraints in real-time systems. Systems and Control [cs.SY]. Université Pierre et Marie Curie - Paris VI, 2017. English. NNT : 2017PA066479. tel-02003251 HAL Id: tel-02003251 https://tel.archives-ouvertes.fr/tel-02003251 Submitted on 1 Feb 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THESE` DE DOCTORAT DE l'UNIVERSITE´ PIERRE ET MARIE CURIE Sp´ecialit´e Informatique Ecole´ doctorale Informatique, T´el´ecommunications et Electronique´ (Paris) Pr´esent´eepar Cristian MAXIM Pour obtenir le grade de DOCTEUR de l'UNIVERSITE´ PIERRE ET MARIE CURIE Sujet de la th`ese: Etude´ probabiliste des contraintes de bout en bout dans les syst`emestemps r´eel soutenue le 11 dec´embre 2017 devant le jury compos´ede : Mme. Liliana CUCU-GROSJEAN Directeur de th`ese M. Benoit TRIQUET Coordinateur Industriel Mme. Christine ROCHANGE Rapporteur M. Thomas NOLTE Rapporteur Mme. Alix MUNIER Examinateur M. Victor JEGU Examinateur M. George LIMA Examinateur M. Sascha UHRIG Examinateur Contents Table of contents iii 1 Introduction1 1.1 General Introduction...........................1 1.1.1 Embedded systems........................2 1.1.2 Real-time domain........................4 1.1.3 Avionics industry.........................9 1.2 Context.................................
    [Show full text]
  • 佐野正博(2010)「Cpu モジュール単体の性能指標としての Ips 値」2010 年度技術戦略論用資料
    佐野正博(2010)「CPU モジュール単体の性能指標としての IPS 値」2010 年度技術戦略論用資料 CPU モジュール単体の性能指標としての IPS 値 ............. .. CPU モジュール単体の性能を測る指標の一つは、「1秒間に何個の命令(Instructions)を実行可能であるのか」ということ である。そのための基本的単位は IPS(Instructions Per Second)である。代表的な CPU の IPS 値は下表の通りである。 ゲーム専用機用 CPU と PC 用 CPU、ゲーム専用機用 CPU でも据え置き型ゲーム専用機用 CPU と携帯型ゲーム専用 機用 CPU との区別に注意を払って下記の一覧表を見ると、CPU の MIPS 値は当然のことながら年ごとに性能を着実に向 上させていることがわかる。 IPS(Instructions Per Second)値の比較表 —- 年順 (命令実行性能の単位は MIPS、動作周波数の単位は MHz) 命令実行 動作 プロセッサーの名称 年 性能 周波数 Intel 4004 0.09 0.74 1971 Intel 8080 0.64 2 1974 セガ:メガドライブ/Motorola 68000 1 8 1979 Intel 80286 2.66 12 1982 Motorola 68030 11 33 1987 Intel 80386DX 8.5 25 1988 NEC:PC-FX/NEC V810 16 25 1994 Motorola 68040 44 40 1990 Intel 80486DX 54 66 1992 セガ:セガサターン/日立 SH-2 25 28.6 1994 SONY:PS/MIPS R3000A 30 34 1994 任天堂:N64/MIPS R4300 125 93.75 1996 Intel Pentium Pro 541 200 1996 PowerPC G3 525 233 1997 セガ:Dreamcast/日立 SH-4 360 200 1998 Intel Pentium III 1,354 500 1999 SONY:PS2 [Emotion Engine]/MIPS IV(R5900) 435 300 2000 任天堂:GAMECUBE [Gekko]/IBM PowerPC G3 (1) 1,125 485 2001 MICROSOFT:XBOX/Intel Mobile Celeron(Pentium III) 1,985 733 2001 (推定値) 任天堂:ゲームボーイアドバンス/ARM ARM7TDMI 15 16.8 2001 Pentium 4 Extreme Edition 9,726 3,200 2003 任天堂:ニンテンドーDS/ARM ARM946E-S 74.5 67 2004 MICROSOFT:XBOX360 [Xenon]/IBM PowerPC G5 6,400 3,200 2005 任天堂:Wii [BroadWay]/IBM PowerPC G3 2,250 729 2006 SONY:PS3[Cell 内蔵 PPE]/IBM PowerPC G5 10,240 3,200 2006 Intel Core 2 Extreme QX6700 49,161 2,660 2006 [出典]文書末の注で明示したものを除き、"Instructions per second", Wikipedia, http://en.wikipedia.org/wiki/Instructions_per_second, (2008
    [Show full text]
  • Computer Architectures an Overview
    Computer Architectures An Overview PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 25 Feb 2012 22:35:32 UTC Contents Articles Microarchitecture 1 x86 7 PowerPC 23 IBM POWER 33 MIPS architecture 39 SPARC 57 ARM architecture 65 DEC Alpha 80 AlphaStation 92 AlphaServer 95 Very long instruction word 103 Instruction-level parallelism 107 Explicitly parallel instruction computing 108 References Article Sources and Contributors 111 Image Sources, Licenses and Contributors 113 Article Licenses License 114 Microarchitecture 1 Microarchitecture In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch), also called computer organization, is the way a given instruction set architecture (ISA) is implemented on a processor. A given ISA may be implemented with different microarchitectures.[1] Implementations might vary due to different goals of a given design or due to shifts in technology.[2] Computer architecture is the combination of microarchitecture and instruction set design. Relation to instruction set architecture The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The Intel Core microarchitecture microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA. The microarchitecture of a machine is usually represented as (more or less detailed) diagrams that describe the interconnections of the various microarchitectural elements of the machine, which may be everything from single gates and registers, to complete arithmetic logic units (ALU)s and even larger elements.
    [Show full text]
  • Modern Processor Design: Fundamentals of Superscalar
    Fundamentals of Superscalar Processors John Paul Shen Intel Corporation Mikko H. Lipasti University of Wisconsin WAVELAND PRESS, INC. Long Grove, Illinois To Our parents: Paul and Sue Shen Tarja and Simo Lipasti Our spouses: Amy C. Shen Erica Ann Lipasti Our children: Priscilla S. Shen, Rachael S. Shen, and Valentia C. Shen Emma Kristiina Lipasti and Elias Joel Lipasti For information about this book, contact: Waveland Press, Inc. 4180 IL Route 83, Suite 101 Long Grove, IL 60047-9580 (847) 634-0081 info @ waveland.com www.waveland.com Copyright © 2005 by John Paul Shen and Mikko H. Lipasti 2013 reissued by Waveland Press, Inc. 10-digit ISBN 1-4786-0783-1 13-digit ISBN 978-1-4786-0783-0 All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without permission in writing from the publisher. Printed in the United States of America 7 6 5 4 3 2 1 Table of Contents PrefaceAbout the Authors x ix 1 Processor Design 1 1.1 The Evolution of Microprocessors 2 1.21.2.1 Instruction Digital Set Systems Processor Design Design 44 1.2.2 Architecture,Realization Implementation, and 5 1.2.3 Instruction Set Architecture 6 1.2.4 Dynamic-Static Interface 8 1.3 Principles of Processor Performance 10 1.3.1 Processor Performance Equation 10 1.3.2 Processor Performance Optimizations 11 1.3.3 Performance Evaluation Method 13 1.4 Instruction-Level Parallel Processing 16 1.4.1 From Scalar to Superscalar 16 1.4.2 Limits of Instruction-Level Parallelism 24 1.51.4.3 Machines Summary for Instruction-Level
    [Show full text]
  • Copy-Back Cache Organisation for An
    COPY-BACK CACHE ORGANISATION FOR AN ASYNCHRONOUS MICROPROCESSOR A thesis submitted to the University of Manchester for the degree of Doctor of Philosophy in the Faculty of Science & Engineering 2002 DARANEE HORMDEE Department of Computer Science Contents Contents ...................................................................................................................2 List of Figures .........................................................................................................6 List of Tables ...........................................................................................................8 Abstract ...................................................................................................................9 Declaration ............................................................................................................10 Copyright ...............................................................................................................10 The Author ............................................................................................................11 Acknowledgements ...............................................................................................12 Dedication .............................................................................................................13 Chapter 1: Introduction ....................................................................................14 1.1 Thesis organisation .................................................................................16
    [Show full text]
  • POWER8® Processor-Based Systems RAS Introduction to Power Systems™ Reliability, Availability, and Serviceability
    POWER8® Processor-Based Systems RAS Introduction to Power Systems™ Reliability, Availability, and Serviceability March 17th, 2016 IBM Server and Technology Group Daniel Henderson Senior Technical Staff Member, RAS Information in this document is intended to be generally descriptive of a family of processors and servers. It is not intended to describe particular offerings of any individual servers. Not all features are available in all countries. Information contained herein is subject to change at any time without notice. Trademarks, Copyrights, Notices and Acknowledgements Trademarks IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol (® or ™), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: Active AIX® POWER® POWER Hypervisor™ Power Systems™ Power Systems Software™ Memory™ POWER6® POWER7® POWER7+™ POWER8™ PowerHA® PowerLinux™ PowerVM® System x® System z® POWER Hypervisor™ Additional Trademarks may be identified in the body of this document. The following terms are trademarks of other companies: Intel, Intel Xeon, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
    [Show full text]
  • Lawrence Berkeley National Laboratory Recent Work
    Lawrence Berkeley National Laboratory Recent Work Title Analysis and optimization of gyrokinetic toroidal simulations on homogenous and heterogenous platforms Permalink https://escholarship.org/uc/item/48w9z3w5 Journal International Journal of High Performance Computing Applications, 27(4) ISSN 1094-3420 Authors Ibrahim, KZ Madduri, K Williams, S et al. Publication Date 2013-11-01 DOI 10.1177/1094342013492446 Peer reviewed eScholarship.org Powered by the California Digital Library University of California Analysis and Optimization of Gyrokinetic Toroidal Simulations on Homogenous and Heterogenous Platforms Khaled Z. Ibrahim1, Kamesh Madduri2, Samuel Williams1, Bei Wang3 , Stephane Ethier4, Leonid Oliker1 1CRD, Lawrence Berkeley National Laboratory, Berkeley, USA 2 The Pennsylvania State University, University Park, PA, USA 3 Princeton Institute of Computational Science and Engineering, Princeton University, Princeton, NJ, USA 4 Princeton Plasma Physics Laboratory, Princeton, NJ, USA f KZIbrahim, SWWilliams, LOliker [email protected], [email protected], [email protected], [email protected] Abstract—The Gyrokinetic Toroidal Code (GTC) uses the particle-in-cell method to efficiently simulate plasma microturbulence. This work presents novel analysis and optimization techniques to enhance the performance of GTC on large-scale machines. We introduce cell access analysis to better manage locality vs. synchronization tradeoffs on CPU and GPU-based architectures. Our optimized hybrid parallel implementation of GTC uses MPI, OpenMP, and nVidia CUDA, achieves up to a 2× speedup over the reference Fortran version on multiple parallel systems, and scales efficiently to tens of thousands of cores. 1 Introduction Continuing the scaling and increasing the efficiency of high performance machines are exacerbating the complexity and diversity of computing node architectures.
    [Show full text]
  • Organization of the Motorola 88110 Superscalar RISC Microprocessor
    Organization of the Motorola 88110 Superscalar RISC Microprocessor Motorola’s second-generation RISC microprocessor employs advanced techniques for exploit- ing instruction-level parallelism, including superscak instruction issue, out-of-order instruc- tion completion, speculative execution, dynamic hx&ruction rescheduling, and two parallel, high-bandwidth, on-chip caches. Designed to serve as the central processor in low-cost per- sonal computers and workstations, the 88110 supports demanding graphics and digital signal processing applications. Keith Diefendorff otorola designers conceived of the puters and workstation systems. Thus, our de- 88000 RISC (reduced instruction- sign objective was good performance at a given Michael Allen set computer) architecture to cost, rather than ultimate performance at any cost. Dl simplify construction of micropro- We recognized that the personal computer envi- Motorola cessors capable of exploiting high degrees of in- ronment is moving toward highly interactive soft- struction-level parallelism without sacrificing clock ware, user-oriented interfaces, voice and image speed. The designers held architectural complexity processing, and advanced graphics and video, to a minimum to eliminate pipeline bottlenecks all of which would place extremely high demands and remove limitations on concurrent instruction on integer, floating-point, and graphics process- execution. ing capabilities. At the same time, we realized The 88100/200 is the first implementation of the 88110 would have to meet these performance the 88000 architecture. It is a three-chip set, re- demands while operating with the inexpensive quiring one CPU (88100) chip and two (or more> DRAM systems typically found in low-cost per- cache (88200) chips. The CPU’s simple scalar sonal computers.
    [Show full text]