Microsparc-II-Usersm
Total Page:16
File Type:pdf, Size:1020Kb
Products Rights Notice: Copyright © 1991-2008 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, California 95054, U.S.A. All Rights Reserved You understand that these materials were not prepared for public release and you assume all risks in using these materials. These risks include, but are not limited to errors, inaccuracies, incompleteness and the possibility that these materials infringe or misappropriate the intellectual property right of others. You agree to assume all such risks. THESE MATERIALS ARE PROVIDED BY THE COPYRIGHT HOLDERS AND OTHER CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS (INCLUDING ANY OF OWNER'S PARTNERS, VENDORS AND LICENSORS) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THESE MATERIALS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Sun, Sun Microsystems, the Sun logo, Solaris, OpenSPARC T1, OpenSPARC T2 and UltraSPARC are trademarks or registered trademarks of Sun Microsystems, Inc. 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 architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. The Adobe logo is a registered trademark of Adobe Systems, Incorporated. Part of the products covered by these materials may be derived from the Berkeley BSD systems licensed by the University of California. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product described in these materials. This distribution may include materials developed by third parties who have intellectual property rights therein. Products covered by and information contained in these materials may be controlled by U.S. Export Control laws and may be subject to the export or import laws in other countries. Nuclear, missile, chemical biological weapons or nuclear maritime end uses or end users, whether direct or indirect, are strictly prohibited. Export or reexport to countries subject to U.S. embargo or to entities identified on U.S. export exclusion lists, including, but not limited to, the denied persons and specially designated nationals lists may be prohibited. microSPARC-I1 User's Manual 3 Table of Contents Chapter 1: microSPARC-I1 Overview ...................................................15 1.1: Introduction .........................................................................................15 1.2. Key differences between microSPARC-I1 and microSPARC ............15 1.2.1: Overall .....................................................................................-15 1.2.2. IU: .............................................................................................15 1.2.3. FPU: ..........................................................................................16 1.2.4. Instruction Cache: ....................................................................-16 1.2.5. Data Cache: ...............................................................................16 1.2.6. MMU: .......................................................................................16 1.2.7. MEMIF: .................................................................................... 16 1.2.8. SBC: .........................................................................................17 1.2.9. Jtag operation ............................................................................ 17 1.3. microSPARC-I1 Memory Map ...........................................................17 1.4. Block diagram .................................................................................... 18 Chapter 2: CPU Performance ................................................................. 21 2.1 : Compiler Optimization Guidelines .................................................... 24 2.1.1 : Branches ................................................................................... 24 2.1.2. Guidelines for Branch Folding ................................................25 2.1.3. Multicycle Instructions ............................................................27 2.1.4. Interlocks .................................................................................27 2.1.5. Ocher Guidelines ......................................................................27 2.1.6. Floating Point ...........................................................................27 2.1.7. Loads and Stores .......................................................................30 2.1.8. General Techniques ................................................................-31 2.2: Improved microSPARC-I1 Performance using the 2 page hit registers31 Chapter 3: Integer Unit ...........................................................................33 3.1 : Overview ............................................................................................ 33 3.2. Instruction Pipeline ............................................................................ 35 3.3. Memory Operations ........................................................................... 36 3.3.1. Loads ........................................................................................ 36 3.3.2. Stores ....................................................................................... 37 3.3.3. Atomics .................................................................................... 38 3.4. ALUJShift Operations ........................................................................ 39 3.5. Integer Multiply ................................................................................. 40 3.6. Integer Divide .................................................................................... 40 3.7. CTI's .................................................................................................. 41 3.7.1. Branches ................................................................................... 41 3.7.2. JMPL ........................................................................................ 42 3.7.3. RETT ....................................................................................... 42 3.7.4. CALL ....................................................................................... 42 Sun Microsystems Rev 1. 1 July 1994 4 microSPARC-I1 User's Manual 3.8. Instruction Cache Interface ................................................................43 3.9. Data Cache Interface ..........................................................................43 3.10. Interlocks ........................................................................................-43 3.10.1. Load Interlock ........................................................................43 3.10.2. Floatingpoint Interlocks .....................................................44 3.10.3. Miscellaneous Interlocks .......................................................44 3.1 1: Traps and Interrupts .........................................................................44 3.11.1. Traps ......................................................................................44 3.1 1.2. Interrupts ................................................................................ 45 3.1 1.3. Reset Trap ..............................................................................46 3.1 1.4. Error Mode .............................................................................46 3.12. Floating Point Interface ....................................................................46 3.13 : Special Features ............................................................................... 47 3.14. Compliance with SPARC version 8 ................................................ 48 Chapter 4: Floating Point Unit ...............................................................49 4.1 : Overview ............................................................................................. 49 4.2. FPU Internal Information .................................................................... 54 4.3. Deviations from SPARC V8 ...............................................................56 4.4. Implementation Specific Features ..................................................... 57 4.5. Software Considerations ....................................................................58 4.6. FP Performance Factors ......................................................................60 Chapter 5: Memory Management Unit .................................................63 5.1: Overview ............................................................................................ 63 5.2. Translation Lookaside Buffer ............................................................. 65 5.2.1: TLB Replacement ....................................................................65 5.2.2. TLB Entry ................................................................................ -66 5.2.3.