What is included with this book?
A senior engineer in the Compiler Performance Engineering group at Sun Microsystems, Darryl Gove analyzes and optimizes application performance on current and future UltraSPARC systems. He is a regular contributor to the developer portal (http://developers.sun.com) and maintains a blog on developer topics (http://blogs.sun.com/d). Prior to joining Sun, Darryl worked for several U.K. organizations in software architecture and development. He earned M.Sc. and Ph.D. degrees in Operational Research from the University of Southampton, U.K.
Preface | p. xix |
Overview of the Processor | p. 1 |
The Generic Processor | p. 3 |
Chapter Objectives | p. 3 |
The Components of a Processor | p. 3 |
Clock Speed | p. 4 |
Out-of-Order Processors | p. 5 |
Chip Multithreading | p. 6 |
Execution Pipes | p. 7 |
Caches | p. 11 |
Interacting with the System | p. 14 |
Virtual Memory | p. 16 |
Indexing and Tagging of Memory | p. 18 |
Instruction Set Architecture | p. 18 |
The SPARC Family | p. 21 |
Chapter Objectives | p. 21 |
The UltraSPARC Family | p. 21 |
The SPARC Instruction Set | p. 23 |
32-bit and 64-bit Code | p. 30 |
The UltraSPARC III Family of Processors | p. 30 |
UltraSPARC T1 | p. 37 |
UltraSPARC T2 | p. 37 |
SPARC64 VI | p. 38 |
The x64 Family of Processors | p. 39 |
Chapter Objectives | p. 39 |
The x64 Family of Processors | p. 39 |
The x86 Processor: CISC and RISC | p. 40 |
Byte Ordering | p. 41 |
Instruction Template | p. 42 |
Registers | p. 43 |
Instruction Set Extensions and Floating Point | p. 46 |
Memory Ordering | p. 46 |
Developer Tools | p. 47 |
Informational Tools | p. 4 |
Chapter Objectives | p. 49 |
Tools That Report System Configuration | p. 49 |
Tools That Report Current System Status | p. 55 |
Process- and Processor-Specific Tools | p. 72 |
Information about Applications | p. 84 |
Using the Compiler | p. 93 |
Chapter Objectives | p. 93 |
Three Sets of Compiler Options | p. 93 |
Using -xtarget=generic on x86 | p. 95 |
Optimization | p. 96 |
Generating Debug Information | p. 102 |
Selecting the Target Machine Type for an Application | p. 103 |
Code Layout Optimizations | p. 107 |
General Compiler Optimizations | p. 116 |
Pointer Aliasing in C and C++ | p. 123 |
Other C- and C++-Specific Compiler Optimizations | p. 133 |
Fortran-Specific Compiler Optimizations | p. 135 |
Compiler Pragmas | p. 136 |
Using Pragmas in C for Finer Aliasing Control | p. 142 |
Compatibility with GCC | p. 147 |
Floating-Point Optimization | p. 149 |
Chapter Objectives | p. 149 |
Floating-Point Optimization Flags | p. 149 |
Floating-Point Multiply Accumulate Instructions | p. 173 |
Integer Math | p. 174 |
Floating-Point Parameter Passing with SPARC V8 Code | p. 178 |
Libraries and Linking | p. 181 |
Introduction | p. 181 |
Linking | p. 181 |
Libraries of Interest | p. 193 |
Library Calls | p. 199 |
Performance Profiling Tools | p. 207 |
Introduction | p. 207 |
The Sun Studio Performance Analyzer | p. 207 |
Collecting Profiles | p. 208 |
Compiling for the Performance Analyzer | p. 210 |
Viewing Profiles Using the GUI | p. 210 |
Caller Callee Information | p. 212 |
Using the Command-Line Tool for Performance Analysis | p. 214 |
Interpreting Profiles | p. 215 |
Intepreting Profiles from UltraSPARC III/IV Processors | p. 217 |
Profiling Using Performance Counters | p. 218 |
Interpreting Call Stacks | p. 219 |
Generating Mapfiles | p. 222 |
Generating Reports on Performance Using spot | p. 223 |
Profiling Memory Access Patterns | p. 226 |
er_kernel | p. 233 |
Tail-Call Optimization and Debug | p. 235 |
Gathering Profile Information Using gprof | p. 237 |
Using tcov to Get Code Coverage Information | p. 239 |
Using dtrace to Gather Profile and Coverage Information | p. 241 |
Compiler Commentary | p. 244 |
Correctness and Debug | p. 247 |
Introduction | p. 247 |
Compile-Time Checking | p. 248 |
Runtime Checking | p. 256 |
Debugging Using dbx | p. 262 |
Locating Optimization Bugs Using ATS | p. 271 |
Debugging Using mdb | p. 274 |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.