Chapter 2 Java Processor Architectural

Total Page:16

File Type:pdf, Size:1020Kb

Chapter 2 Java Processor Architectural INFORMATION TO USERS This manuscript has been reproduced from the microfilm master. UMI films the text directly from the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter face, while others may be from any type of computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are reproduced by sectioning the original, beginning at the upper left-hand comer and continuing from left to right in equal sections with small overlaps. ProQuest Information and Leaming 300 North Zeeb Road, Ann Arbor, Ml 48106-1346 USA 800-521-0600 UMI" The JAFARDD Processor: A Java Architecture Based on a Folding Algorithm, with Reservation Stations, Dynamic Translation, and Dual Processing by Mohamed Watheq AH Kamel El-Kharashi B. Sc., Ain Shams University, 1992 M. Sc., Ain Shams University, 1996 A Dissertation Submitted in Partial Fulfillment of the Requirements for the Degree of D o c t o r o f P h il o s o p h y in the Department of Electrical and Computer Engineering We accept this dissertation as conforming to the required standard Dr. F. Gebali, Supervisor (Department of Electrical and Computer Engineering) Dr. K. F. Li, Supervisor (Department of Electrical and Computer Engineering) Dr. N. J. Dimopoulos, Departmental Member (Department of Electrical and Computer Engineering) Dr. D. M. Miller, Outside Member (Department of Computer Science) Dr. H. Alnuweiri, Exténuai Examiner (Department of Electrical and Computer Engineer­ ing, University of British Columbia) (5) Mohamed Watheq AH Kamel El-Kharashi, 2002 University of Victoria All rights reserved. This dissertation may not be reproduced in whole or in part by photocopy or other means, without the permission o f the author. u Supervisors: Dr. F. Gebali and Dr. K. F. Li ABSTRACT Java’s cross-platform virtual machine arrangement and its special features that make it ideal for writing network applications, also have a tremendous negative impact on its operations. In spite of its relatively weak performance, Java’s success has motivated the search for techniques to enhance its execution. This work presents the JAFARDD (a Java Architecture based on a Folding Algorithm, with Reservation stations, Dynamic translation, and Dual processing) processor designed to accelerate Java processing. JAFARDD dynamically translates Java bytecodes to RISC instructions to facilitate the use of a typical general-purpose RISC core. This enables the exploitation of the instruction level parallelism among the translated instructions using well established techniques, and facilitates the migration to Java-enabled hardware. Designing hardware for Java requires an extensive knowledge and understanding of its instruction set architecture which were acquired through a comprehensive behavioral analysis by benchmarking. Many aspects of the Java workload behavior were collected and the resulting statistics were analyzed. This helped identify performance-critical aspects that are candidates for hardware support. Our analysis surpasses other similar ones in terms of the number of aspects studied and the coverage of the recommendations made. Next, a global analysis of the design space of Java processors was carried out. Different hardware design options and alternatives that are suitable for Java were explored and their trade-offs were examined. We especially focused on the design methodology, execution engine organization, parallelism exploitation, and support for high-level language features. This analysis helped identify innovative design ideas such as the use of a modified Toma- sulo’s algorithm. This, in turn, motivated the development of a bytecode folding algorithm that integrates with the reservation station concept in JAFARRD. While examining the behavioral analysis and the design space exploration ideas, a list of global architectural design principles started to emerge. These principles ensure JAFARRD can execute Java efficiently and are taken into consideration while the various instruction pipeline modules were designed. Results from the behavioral analysis also confirmed that Java’s stack architecture cre­ ates virtual data dependencies that limit performance and prohibit instruction level par­ Ui allelism. To overcome this drawback, stack operation folding has been suggested in the literature to enhance performance by grouping contiguous instructions that have true data dependencies into a compound instruction. We have developed a folding algorithm that, unlike existing ones, does not require the folded instructions to be consecutive. To the best of our knowledge, our folding algorithm is the only one that permits nested pattern folding, tolerates variations in folding groups, and detects and resolves folding hazards completely. By incorporating this algorithm into a Java processor, the need for, and therefore the limi­ tations of, a stack are eliminated. In addition to an efficient dual processing configuration (i.e., Java and RISC), JA­ FARDD is empowered with a number of innovative design features, including: an adaptive feedback fetch policy that copes with the variation in Java instruction size, a smart bytecode queue that compensates for the lack of a stack, an on-chip local variable file to facilitate operand access, an early tag assignment to dispatched instructions to reduce processing delay, and a specialized load/store unit that preprocesses object-oriented instructions. The functionality of JAFARDD has been successfully demonstrated through VHDL modeling and simulation. Furthermore, benchmeirking using SPECjvm98 showed that the introduced techniques indeed speed up Java execution. Our bytecode folding algorithm speeds up execution by an average of about 1.29, eliminating an average of 97% of the stack instructions and 50% of the overall instructions. Compared to other proposals, JAFARDD combines Java bytecode folding with dynamic hardware translation, while maintaining the RISC nature of the processor, making this a much more flexible and general approach. Table of Contents Abstract ii Table of Contents v List of Tables xiii List of Figures xvi List of Abbreviations xx Trademarks xxii Acknowledgement xxiii Dedication xxiv 1 Introduction 1 1.1 The Java Virtual M achine ............................................................................... 2 1.1.1 Different Bytecode Manipulation M ethods ....................................... 2 1.1.2 Performance-Hindering F e a tu re s ...................................................... 4 1.2 Motivations ........................................................................................................ 5 1.3 Research Objectives ......................................................................................... 6 1.4 Design Challenges ............................................................................................ 7 1.5 Methodology and Road M ap ............................................................................ 8 2 Java Processor Architectural Requirements: A Quantitative Study 11 2.1 Introduction......................................................................................................... II 2.2 Experiment Framework ................................................................................... 12 2.2.1 Study Platform ...................................................................................... 12 Table o f Contents vi 2.2.2 Trace Generation ................................................................................. 13 2.2.2.1 JDK Core Organization ...................................................... 14 2.2.2.2 Core Instrumentation .......................................................... 15 2.2.2.S Execution Trace Components ............................................. 15 2.2.3 Trace Processing .................................................................................. 15 2.2.4 Benchm arking ..................................................................................... 16 2.3 JVM Instruction Set Architecture (ISA ) ........................................................ 17 2.3.1 Class Files and Their L oader ............................................................ 18 2.3.2 Execution E n g in e ............................................................................... 19 2.3.3 Runtime Data A re a s............................................................................ 19 2.4 Access Patterns for Data Types ......................................................................... 20 2.4.1 JVM Data T y pes ...................................................................................... 21 2.4.2 Single-Type Operations ..........................................................................21 2.4.3 Type Conversion Operations ....................................................................22 2.5 Addressing M o d e s ............................................................................................... 22 2.5.1 JVM Addressing M odes .....................................................................23 2.5.2 Runtime Resolution
Recommended publications
  • Dynamic Helper Threaded Prefetching on the Sun Ultrasparc® CMP Processor
    Dynamic Helper Threaded Prefetching on the Sun UltraSPARC® CMP Processor Jiwei Lu, Abhinav Das, Wei-Chung Hsu Khoa Nguyen, Santosh G. Abraham Department of Computer Science and Engineering Scalable Systems Group University of Minnesota, Twin Cities Sun Microsystems Inc. {jiwei,adas,hsu}@cs.umn.edu {khoa.nguyen,santosh.abraham}@sun.com Abstract [26], [28], the processor checkpoints the architectural state and continues speculative execution that Data prefetching via helper threading has been prefetches subsequent misses in the shadow of the extensively investigated on Simultaneous Multi- initial triggering missing load. When the initial load Threading (SMT) or Virtual Multi-Threading (VMT) arrives, the processor resumes execution from the architectures. Although reportedly large cache checkpointed state. In software pre-execution (also latency can be hidden by helper threads at runtime, referred to as helper threads or software scouting) [2], most techniques rely on hardware support to reduce [4], [7], [10], [14], [24], [29], [35], a distilled version context switch overhead between the main thread and of the forward slice starting from the missing load is helper thread as well as rely on static profile feedback executed, minimizing the utilization of execution to construct the help thread code. This paper develops resources. Helper threads utilizing run-time a new solution by exploiting helper threaded pre- compilation techniques may also be effectively fetching through dynamic optimization on the latest deployed on processors that do not have the necessary UltraSPARC Chip-Multiprocessing (CMP) processor. hardware support for hardware scouting (such as Our experiments show that by utilizing the otherwise checkpointing and resuming regular execution). idle processor core, a single user-level helper thread Initial research on software helper threads is sufficient to improve the runtime performance of the developed the underlying run-time compiler main thread without triggering multiple thread slices.
    [Show full text]
  • Debugging Multicore & Shared- Memory Embedded Systems
    Debugging Multicore & Shared- Memory Embedded Systems Classes 249 & 269 2007 edition Jakob Engblom, PhD Virtutech [email protected] 1 Scope & Context of This Talk z Multiprocessor revolution z Programming multicore z (In)determinism z Error sources z Debugging techniques 2 Scope and Context of This Talk z Some material specific to shared-memory symmetric multiprocessors and multicore designs – There are lots of problems particular to this z But most concepts are general to almost any parallel application – The problem is really with parallelism and concurrency rather than a particular design choice 3 Introduction & Background Multiprocessing: what, why, and when? 4 The Multicore Revolution is Here! z The imminent event of parallel computers with many processors taking over from single processors has been declared before... z This time it is for real. Why? z More instruction-level parallelism hard to find – Very complex designs needed for small gain – Thread-level parallelism appears live and well z Clock frequency scaling is slowing drastically – Too much power and heat when pushing envelope z Cannot communicate across chip fast enough – Better to design small local units with short paths z Effective use of billions of transistors – Easier to reuse a basic unit many times z Potential for very easy scaling – Just keep adding processors/cores for higher (peak) performance 5 Parallel Processing z John Hennessy, interviewed in the ACM Queue sees the following eras of computer architecture evolution: 1. Initial efforts and early designs. 1940. ENIAC, Zuse, Manchester, etc. 2. Instruction-Set Architecture. Mid-1960s. Starting with the IBM System/360 with multiple machines with the same compatible instruction set 3.
    [Show full text]
  • Ultrasparc-III Ultrasparc-III Vs Intel IA-64
    UltraSparc-III UltraSparc-III vs Intel IA-64 vs • Introduction Intel IA-64 • Framework Definition Maria Celeste Marques Pinto • Architecture Comparition Departamento de Informática, Universidade do Minho • Future Trends 4710 - 057 Braga, Portugal [email protected] • Conclusions ICCA’03 ICCA’03 Introduction Framework Definition • UltraSparc-III (US-III) is the third generation from the • Reliability UltraSPARC family of Sun • Instruction level Parallelism (ILP) • Is a RISC processor and uses the 64-bit SPARC-V9 architecture – instructions per cycle • IA-64 is Intel’s extension into a 64-bit architecture • Branch Handling • IA-64 processor is based on a concept known as EPIC (Explicitly – Techniques: Parallel Instruction Computing) • branch delay slots • predication – Strategies: • static •dynamic ICCA’03 ICCA’03 Framework Definition Framework Definition • Memory Hierarchy • Pipeline – main memory and cache memory – increase the speed of CPU processing – cache levels location – several stages that performs part of the work necessary to execute an instruction – cache organization: • fully associative - every entry has a slot in the "cache directory" to indicate • Instruction Set (IS) where it came from in memory – is the hardware "language" in which the software tells the processor what to do • one-way set associative - only a single directory entry be searched – can be divided into four basic types of operations such as arithmetic, logical, • two-way set associative - two entries per slot to be searched (and is extended to program-control
    [Show full text]
  • Sun Blade 1000 and 2000 Workstations
    Sun BladeTM 1000 and 2000 Workstations Just the Facts Copyrights 2002 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Sun Blade, PGX, Solaris, Ultra, Sun Enterprise, Starfire, SunPCi, Forte, VIS, XGL, XIL, Java, Java 3D, SunVideo, SunVideo Plus, Sun StorEdge, SunMicrophone, SunVTS, Solstice, Solstice AdminTools, Solstice Enterprise Agents, ShowMe, ShowMe How, ShowMe TV, Sun Workstation, StarOffice, iPlanet, Solaris Resource Manager, Java 2D, OpenWindows, SunCD, Sun Quad FastEthernet, SunFDDI, SunATM, SunCamera, SunForum, PGX32, SunSpectrum, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, SunSolve, SunSolve EarlyNotifier, and SunClient are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and in other countries, exclusively licensed through X/Open Company, Ltd. FireWire is a registered trademark of Apple Computer, Inc., used under license. OpenGL is a trademark of Silicon Graphics, Inc., which may be registered in certain jurisdictions. Netscape is a trademark of Netscape Communications Corporation. PostScript and Display PostScript are trademarks of Adobe Systems, Inc., which may be registered in
    [Show full text]
  • Robert Garner
    San José State University The Department of Computer Science and The Department of Computer Engineering jointly present THE HISTORY OF COMPUTING SPEAKER SERIES Robert Garner Tales of CISC and RISC from Xerox PARC and Sun Wednesday, December 7 6:00 – 7:00 PM Auditorium ENGR 189 Engineering Building CISCs emerged in the dawn of electronic digital computers, evolved flourishes, and held sway over the first half of the computing revolution. As transistors shrank and memories became faster, larger, and cheaper, fleet- footed RISCs dominated in the second half. In this talk, I'll describe the paradigm shift as I experienced it from Xerox PARC's CISC (Mesa STAR) to Sun's RISC (SPARC Sun-4). I'll also review the key factors that affected microprocessor performance and appraise how well I predicted its growth for the next 12 years back in 1996. I'll also share anecdotes from PARC and Sun in the late 70s and early 80s. Robert’s Silicon Valley career began with a Stanford MSEE in 1977 as his bike route shifted slightly eastward to Xerox’s Palo Alto Research facility to work with Bob Metcalfe on the 10-Mbps Ethernet and the Xerox STAR workstation, shipped in 1981. He subsequently joined Lynn Conway’s VLSI group at Xerox PARC. In 1984, he jumped to the dazzling start-up Sun Microsystems, where with Bill Joy and David Patterson, he led the definition of Sun’s RISC (SPARC) while co-designing the Sun-4/200 workstation, shipped in 1986. He subsequently co-managed several engineering product teams: the SunDragon/SPARCCenter multiprocessor, the UltraSPARC-I microprocessor, the multi-core/threaded Java MAJC microprocessor, and the JINI distributed devices project.
    [Show full text]
  • A Novel Dynamic Scan Low Power Design for Testability Architecture for System-On-Chip Platform
    International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 7 (2018) pp. 5256-5259 © Research India Publications. http://www.ripublication.com A Novel Dynamic Scan Low Power Design for Testability Architecture for System-On-Chip Platform John Bedford Solomon1, D Jackuline Moni2 and Y. Amar Babu3 1Research Scholar, Karunya University, Coimbatore, Tamil Nadu, India. 2Professor, Karunya University, Coimbatore, Tamil Nadu, India. 3Associate Professor , LBRCE, Mylavaram, Andhra Pradesh, India. Abstract acceleration modules and hardware debug module. The MicroBlaze based SoC platform uses Xilinx microkernel and Design for Testability and Low power design issues are UART custom peripherals. It also support third party demanding requirements for System-On-Chip plat form to RTOS[6-14]. The MicroBlaze required 525 slices in Spartan-3 provide high performance and highly reliable chips. In this FPGA and executes 65 D-MIPS at 80 MHz. The PicoBlaze is paper a novel dynamic scan low power design for testability a 8 bit RISC core, requires 192 logic cells and 212 macrocells architecture has been proposed for reducing test power on in Spartan-3 FPGA[14], executes 37 MIPS at 74MHz. The System-On-Chip platform. The area analysis of proposed Sun Microsystems UltraSPARC T2 microprocessor is also architecture for soft core Microblaze based System-On-chip used to study the performance of proposed dynamic scan low observes 5% reduction of area and test power also reduced by power DFT architecture. 10% approximately. The area and power analysis of proposed architecture for Microblaze based SoC platform, Picoblaze The dynamic scan low power DFT architecture has been based SoC platform and Ultrasparc T2 architectures has been implemented on above mentioned architectures to analyze observed for optimized area and power design metrics.
    [Show full text]
  • Hotchips '99 Hotchips
    MAJCTM Microprocessor Architecture for Java Computing MarcMarc Tremblay,Tremblay, ChiefChief ArchitectArchitect SunSun MicrosystemsMicrosystems IncInc.. HotChipsHotChips ‘99‘99 MicroprocessorMicroprocessor ArchitectureArchitecture forfor JavaJava ComputingComputing Four-year program to develop a new microprocessor family based on the following four assumptions: 1) Current and future compute tasks are/will be very different than benchmarks used to develop CISC and RISC processors – Algorithms - compute intensive, ratio of compute operations to memory operations is much higher • e.g.: IIR filters, VOIP, MPEG2: 3-16 ops/flops per memory op. – Data types - digitized analog signals, lots of data – I/O - streaming, mostly linearly AssumptionsAssumptions (continued)(continued) 2) The dominant platform for networked devices, networked computers, terminals, application servers, etc. will be the JavaTM platform. – > 1 million Java developers, 72% of Fortune 1000 companies using Java (80% client, 100% server) by 2000, present in Navigator, Explorer, AOL browser, PalmPilots, 2-way pagers, cellular phones, etc. – Multi-threaded applications • Observing Java applications with 10’s and 100’s of threads – Run time optimizations is the prime focus – Architecture must consider virtual functions, exception model, garbage collection, etc. AssumptionsAssumptions (continued)(continued) 3) Parallelism is available at multiple levels – ILP improves through: •Data and control speculation – non-faulting loads, explicit MP predication, and traditional methods Thread
    [Show full text]
  • Sun Fire V880z Server and Sun XVR-4000 Graphics Accelerator
    Sun Fire™ V880z Server and Sun™ XVR-4000 Graphics Accelerator Installation and User’s Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 Part No. 817-2400-10(v2) May 2003, Revision A Submit comments about this document at: http://www.sun.com/hwdocs/feedback Copyright 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries. This document and the product to which it pertains are distributed under licenses restricting their use, copying, distribution, and decompilation. No part of the product or of this document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and in other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, AnswerBook2, docs.sun.com, Sun Fire, Java3D, Java, OpenBoot, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc.
    [Show full text]
  • Power4 Focuses on Memory Bandwidth IBM Confronts IA-64, Says ISA Not Important
    Power4 Focuses on Memory Bandwidth IBM Confronts IA-64, Says ISA Not Important by Keith Diefendorff Looking for Parallelism in All the Right Places With Power4, IBM is targeting the high-reliability servers Not content to wrap sheet metal around that will power future e-businesses. The company has said Intel microprocessors for its future server that Power4 was designed and optimized primarily for business, IBM is developing a processor it servers but that it will be more than adequate for workstation hopes will fend off the IA-64 juggernaut. Speaking at this duty as well. The market IBM apparently seeks starts just week’s Microprocessor Forum, chief architect Jim Kahle de- above small PC-based servers and runs all the way up scribed IBM’s monster 170-million-transistor Power4 chip, through the high-end high-availability enterprise servers which boasts two 64-bit 1-GHz five-issue superscalar cores, a that run massive commercial and technical workloads for triple-level cache hierarchy, a 10-GByte/s main-memory corporations and governments. interface, and a 45-GByte/s multiprocessor interface, as Much to IBM’s chagrin, Intel and HP have also aimed Figure 1 shows. Kahle said that IBM will see first silicon on IA-64 at servers and workstations. IA-64 system vendors Power4 in 1Q00, and systems will begin shipping in 2H01. such as HP and SGI have their sights set as high up the server scale as IBM does, so there is clearly a large overlap between No Holds Barred the markets all these companies covet.
    [Show full text]
  • Java Microarchitectures
    Book Review / Revue de livre Java Microarchitectures he need for an architectural neutral language that could be T used to produce code that would run on a variety of CPUs by: Purnendu Sinha, Nikhil Varma & Vasudevan Janarthanan, under differing environments led to the emergence of the Concordia University, Montreal, QC. Java programming language. With the rise of the World Wide Web, Java has propelled to the forefront of computer language design, because the web, too, demands portable programs. The environ- Book Edited by: Vijaykrishnan Narayanan, Mario I.Wolczko mental change that prompted Java was the need for platform- independent programs destined for distribution on the Internet. The Java Published by: Kluwer Academic Publishers platform with its target platform neutrality, simplified object model, ISBN: 1-4020-7034-9 strong notions of security and portability, as well as multithreading sup- 2002 port, provides many advantages for a new generation of networked, embedded and real-time systems. All those features would not have been possible without appropriate hardware support. This book delves in-depth into the various hardware requirements (with suitable case- processor architecture for the hardware execution of the bytecodes and studies and examples) for realizing the advantages of Java. resolves the issue of stack dependency by the use of a hardware byte- code folding algorithm. The architecture provides a dual processing Java’s portability is attained by compiling Java programs to Java byte- capability of execution of bytecodes and native binaries. This chapter codes (JBCs) and interpreting them on the platform-independent Java discusses and analyzes the bytecode processing in various stages of the Virtual Machine (JVM).
    [Show full text]
  • Highly Threaded SPARC Architectures
    Highly Threaded SPARC Architectures James Hughes Sun Fellow Sun Microsystems Note: future dates and features within this presentation reflect Sun's current plans but may change without notice. Driving Volume to Value Open Source Free Access Revenue Making SW Development Choice Increases Volume Business Deployment Solaris • Free RTU Solaris 10 NetBeans (unsupported) Java ES Glassfish • Extended Try and Buy ID Management Program Single sign-on Java CAPS • Connected to Sun All Middleware Mobile '(")* +,)$%-.,*/%01"#)"2 : %&#;< %=147>?4@A=;&34?B;#=@4 C $D;EF;%GH;I8F;J@=31H;KLM0N;(O C DPL3=47N;Q>JJNL011A?@04@R3;%*'F *'# %&# : !"#9,$;< %=43S37;!53?>4@A=;#=@41 C P;4B730T1;1B073;30?B;>=@4 C !53?>431;A=3;@=43S37; @=147>?4@A=,?N?J3 !"#9 !"#$ : '(#;< 'A0T,(4A73;#=@4 C KEF;UGH;$DF;J@=31H;PLM0N;(O ++#, C $8KL3=47N;Q>JJNL011A?@04@R3; -.*. U*'F : &/#;< &JA04@=S,/70VB@?1;#=@4 : ()#;< (4730W;)7A?311@=S;#=@4 ()# &/# '(# C X7NV4AS70VB@?;0??3J3704@A= : *'#;< *70V;'AS@?;#=@4 C #VT0431;W0?B@=3;14043H;B0=TJ31; 35?3V4@A=1;0=T;@=4377>V41 /01234 : ++#;< +3WA7N;+0=0S3W3=4;#=@4 C -07TM073;406J3M0J2;Y-.*.Z 5607,'8 C KEFH;DPEFH;P+FH;8[D+F;V0S31 !"#$%%%& ()*% K !7,,GLH(H&,(E&5$M&.I&H*$ !"#$%&'()*&+$!(,& BCD5 $$$$$$-./0.123$ 5(>(5&?)@+*N 0%?0J O =(>(5&?)@+* (E$HD+D,,&,$ +)A +)0 P(*Q$D55$C+$R7,*(H,G$ CH&+D*(CE)$CS$C*Q&+$ :*C+& !"# *Q+&D5) 9E*&'&+?F+GH*C :C7+I&) !"$ K !"#$H&+SC+R)$(E*&'&+$ 455 89:$0;< =(>? R7,*(H,GT$5(>(5&T$HCH7,D*(CE$ !"% 67, :@+* IC7E* !"& K 67,*(H,(&+$&EQDEI&R&E*)$ 9E*&'&+?F+GH*C SC+$RC57,D+$D+(*QR&*(I$ %&)7,* !"' CH&+D*(CE) !( O U7(,*L(E$DII7R7,D*C+
    [Show full text]
  • Opensparc™ Internals
    ISBN 978-0-557-01974-8 90000 > 9 780557 019748 OpenSPARC™ Internals OpenSPARC T1/T2 CMT Throughput Computing David L. Weaver, Editor Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 650-960-1300 Copyright 2002-2008 Sun Microsystems, Inc., 4150 Network Circle • Santa Clara, CA 950540 USA. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. For Netscape Communicator, the following notice applies: Copyright 1995 Netscape Communications Corporation. All rights reserved. Sun, Sun Microsystems, the Sun logo, Solaris, OpenSolaris, OpenSPARC, Java, MAJC, Sun Fire, UltraSPARC, and VIS are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and Sun Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry.
    [Show full text]