MIPS32™ Architecture for Programmers Volume III: the MIPS32™ Privileged Resource Architecture
Total Page:16
File Type:pdf, Size:1020Kb
MIPS32™ Architecture For Programmers Volume III: The MIPS32™ Privileged Resource Architecture Document Number: MD00090 Revision 0.95 March 12, 2001 MIPS Technologies, Inc. 1225 Charleston Road Mountain View, CA 94043-1353 Copyright © 2001 MIPS Technologies, Inc. All rights reserved. Unpublished rights reserved under the Copyright Laws of the United States of America. This document contains information that is proprietary to MIPS Technologies, Inc. (“MIPS Technologies”). Any copying, modifyingor use of this information (in whole or in part) which is not expressly permitted in writing by MIPS Technologies or a contractually-authorized third party is strictly prohibited. At a minimum, this information is protected under unfair competition laws and the expression of the information contained herein is protected under federal copyright laws. Violations thereof may result in criminal penalties and fines. MIPS Technologies or any contractually-authorized third party reserves the right to change the information contained in this document to improve function, design or otherwise. MIPS Technologies does not assume any liability arising out of the application or use of this information. Any license under patent rights or any other intellectual property rights owned by MIPS Technologies or third parties shall be conveyed by MIPS Technologies or any contractually-authorized third party in a separate license agreement between the parties. The information contained in this document constitutes one or more of the following: commercial computer software, commercial computer software documentation or other commercial items. If the user of this information, or any related documentation of any kind, including related technical data or manuals, is an agency, department, or other entity of the United States government (“Government”), the use, duplication, reproduction, release, modification, disclosure, or transfer of this information, or any related documentation of any kind, is restricted in accordance with Federal Acquisition Regulation 12.212 for civilian agencies and Defense Federal Acquisition Regulation Supplement 227.7202 for military agencies. The use of this information by the Government is further restricted in accordance with the terms of the license agreement(s) and/or applicable contract terms and conditions covering this information from MIPS Technologies or any contractually-authorized third party. MIPS, R3000, R4000, R5000, R8000 and R10000 are among the registered trademarks of MIPS Technologies, Inc., and R4300, R20K, MIPS16, MIPS32, MIPS64, MIPS-3D, MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MDMX, SmartMIPS, 4K, 4Kc, 4Km, 4Kp, 5K, 5Kc, 20K, 20Kc, EC, MGB, SOC-it, SEAD, YAMON, ATLAS, JALGO, CoreLV and MIPS-based are among the trademarks of MIPS Technologies, Inc. All other trademarks referred to herein are the property of their respective owners. MIPS32™ Architecture For Programmers Volume III, Revision 0.95 Table of Contents Chapter 1 About This Book ........................................................................................................................................................ 1 1.1 Typographical Conventions ........................................................................................................................................... 1 1.1.1 Italic Text............................................................................................................................................................. 1 1.1.2 Bold Text ............................................................................................................................................................. 1 1.1.3 Courier Text......................................................................................................................................................... 1 1.2 UNPREDICTABLE and UNDEFINED ........................................................................................................................ 2 1.2.1 UNPREDICTABLE............................................................................................................................................. 2 1.2.2 UNDEFINED....................................................................................................................................................... 2 1.3 Special Symbols in Pseudocode Notation...................................................................................................................... 2 1.4 For More Information .................................................................................................................................................... 5 Chapter 2 The MIPS32 Privileged Resource Architecture ......................................................................................................... 7 2.1 Introduction.................................................................................................................................................................... 7 2.2 The MIPS Coprocessor Model....................................................................................................................................... 7 2.2.1 CP0 - The System Coprocessor ........................................................................................................................... 7 2.2.2 CP0 Registers....................................................................................................................................................... 7 Chapter 3 MIPS32 Operating Modes .......................................................................................................................................... 9 3.1 Debug Mode.................................................................................................................................................................. 9 3.2 Kernel Mode .................................................................................................................................................................. 9 3.3 Supervisor Mode ............................................................................................................................................................ 9 3.4 User Mode...................................................................................................................................................................... 9 Chapter 4 Virtual Memory ........................................................................................................................................................ 11 4.1 Terminology................................................................................................................................................................. 11 4.1.1 Address Space.................................................................................................................................................... 11 4.1.2 Segment and Segment Size................................................................................................................................ 11 4.1.3 Physical Address Size (PABITS)....................................................................................................................... 11 4.2 Virtual Address Spaces ................................................................................................................................................ 11 4.3 Compliance .................................................................................................................................................................. 14 4.4 Access Control as a Function of Address and Operating Mode .................................................................................. 14 4.5 Address Translation and Cache Coherency Attributes for the kseg0 and kseg1 Segments......................................... 15 4.6 Address Translation for the kuseg Segment when StatusERL = 1 .............................................................................. 16 4.7 Special Behavior for the kseg3 Segment when DebugDM = 1 ................................................................................... 16 4.8 TLB-Based Virtual Address Translation ..................................................................................................................... 16 4.8.1 Address Space Identifiers (ASID) ..................................................................................................................... 16 4.8.2 TLB Organization .............................................................................................................................................. 17 4.8.3 Address Translation ........................................................................................................................................... 17 Chapter 5 Interrupts and Exceptions ......................................................................................................................................... 21 5.1 Interrupts ...................................................................................................................................................................... 21 5.2 Exceptions.................................................................................................................................................................... 22 5.2.1 Exception Vector Locations............................................................................................................................... 22 5.2.2 General Exception