1994_TI486SXLC_and_TI486SXL_Microprocessors_Reference_Guide 1994 TI486SXLC And TI486SXL Microprocessors Reference Guide
User Manual: 1994_TI486SXLC_and_TI486SXL_Microprocessors_Reference_Guide
Open the PDF directly: View PDF .
Page Count: 446
Download | |
Open PDF In Browser | View PDF |
~TEXAS . INSTRUMENTS TI486SXLC and TI486SXL ,; : Microprocessors .. -... . ,.,,' 1994 PC Systems Logic Products ==~===============-~ TI486SXLC and TI486SXL Microprocessors Reference Guide ~TEXAS INSTRUMENTS Printed on Recycled Paper Important Notice IMPORTANT NOTICE Texas Instruments (TI) reserves the right to make changes to its products or to discontinue any semiconductor product or service without notice, and advises its customers to obtain the latest version of relevant information to verify, before placing orders, that the information being relied on is current. TI warrants performance of its semiconductor products and related software to the specifications applicable at the time of sale in accordance with TI's standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. Certain applications using semiconductor products may involve potential risks of death, personal injury, or severe property or environmental damage ("Critical Applications"). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. Inclusion of TI products in such applications is understood to be fully at the risk of the customer. Use of TI products in such applications requires the written approval of an appropriate TI officer. Questions concerning potential risk applications should be directed to TI through a local SC sales office. In order to minimize risks associated with the customer's applications, adequate design and operating safeguards should be provided by the customer to minimize inherent or procedural hazards. TI assumes no liability for applications assistance, customer product design, software performance, or infringement of patents or services described herein. Nor does TI warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. Copyright © 1994, Texas Instruments Incorporated Preface Read This First About This Manual This manual describes the TI486SXL(C) microprocessor product family. Each chapter except for chapters 3 and 4 cover all versions of the microprocessors. both the TI486SXLC and the T1486SXL. Chapter 3 explicitly covers the TI486SXLC series and chapter 4 explicitly covers the TI486SXL series. This document contains the following chapters: Chapter 1 Product Overview Chapter 1 introduces the features of the TI486SXLC and TI486SXL microprocessor series and defines the differences between them. Each series offers a 3.3-volt version (TI486SXLC-V and TI486SXL-V) for battery-powered applications. A functional block diagram, logic symbol, and I/O signal identifications are provided for each of the two series of microprocessors. Additional material describes selected system architectures such as the execution pipeline, the on-chip cache memory, and the power-management techniques. The system-management mode (SMM) permits the TI486SXL(C) family of microprocessors to respond to and service interrupts with a higher priority than standard 486 processors. Chapter 2 Programming Interface Chapter 2 describes the internal operations of the TI486SXL(C) family of microprocessors mainly from an application programmer's point of view. Included in this chapter are descriptions of processor initialization, the register sets, memory addressing, various types of interrupts, system-management mode, and the shutdown and halt process. Overviews of real, virtual-8086, and protected operating modes are also included. Chapter 3 TI486SXLC Microprocessor Bus Interface Chapter 3 provides a summary of the TI486SXLC series processor signals and descriptions of all inputs/outputs, functional timing and bus operations (including pipelined and nonpipelined addressing), various interfaces, and power management. iii About This Manual Chapter 4 TI486SXL Microprocessor Bus Interface Chapter 4 provides a summary of the TI486SXL series processor signals and descriptions of all inputs/outputs, functional timing and bus operations (including pipelined and nonpipelined addressing), various interfaces, and power management. Chapter 5 Electrical Specifications Chapter 5 provides electrical specifications for the TI486SXL(C) family, including specifications for the 3.3-volt versions. The specifications include electrical connection requirements for all package pins, maximum ratings, recommended operating conditions, dc electrical characteristics, and ac characteristics. Chapter 6 Mechanical Specifications Chapter 6 provides mechanical specifications for the TI486SXL(C) family that include pin assignments, package physical dimensions, and package thermal characteristics. Chapter 7 Instruction Set Chapter 7 summarizes the instruction set for the TI486SXL(C) family and provides detailed information of the instruction encoding. The instruction set is the same for all TI486SXL(C) microprocessors. Instructions are listed in an instruction set summary table that provides information on the flags affected and the instruction clock counts for each instruction. Appendix A SMM Programmer's Guide Appendix A provides detailed information including examples pertinent to programming the TI486SXL(C) system management mode (SMM). Included are system-management interrupt (SMI) examples, testing/debugging SMM code, power management features, loading SMM programs, detection of CPU type, presence of SMM-capable devices, creating macros, and altering SMM code limits. Appendix B BIOS Modifications Guide Appendix B discusses some BIOS changes that may need to be considered by the PC designer. The areas considered are power-on and hard reset, protected-mode to real-mode switching, and soft reset. Examples of assembler code for turning the cache on and off are provided. Appendix C Design Considerations and Cache Flush Appendix C provides design considerations, address bit A20 masking, and general cache invalidation procedures. iv About This Manual/Style and Symbol Conventions Appendix D OEM Modifications for 168-Pin CPGA Appendix 0 describes the potential modifications an OEM needs to implement on an existing 486SXlDXlDX4 motherboard to take advantage of the TI486SXL 168 pin CPGA. A system implementation is described for a 3.3-V system that supports a 5-V ISA and a 3.3-V VL bus and another implementation for a mixed 3.3-V/5-V system that supports a 5-V ISA and a 5-V VL bus. Appendix E Thermal Management in Microprocessor-Based Systems Appendix E provides the reader with basic thermal concepts and the relationship between thermal measurements and the system. In addition, problems associated with comparing thermal specifications from different manufacturers are discussed. Finally, corrective activity within JEDEC is detailed. Appendix F Ordering Information Appendix F provides detailed ordering information showing what the components of the part number mean and a description of each microprocessor offered. Versions offered include 5-volt and 3.3-volt versions, each of which are rated to operate at different speeds. The TI486SXLC series devices are packaged in the quad flat pack, and the TI486SXL series devices are packaged in quad flat pack and ceramic PGA packages. Appendix G Glossary Appendix G contains explanations for the terms, abbreviations, and acronyms used in this manual. Style and Symbol Conventions This document uses the following conventions. o Program code listings and program code examples are shown in a special typeface similar to a typewriter's. Here is a sample assembler code program listing: CLI MOV OR o EAX, CRO ; set bit 30, turn off cache EAX, 40000000h ; for external cache coherency In the instruction syntax descriptions, the instruction is in a bold typeface and a description of the instruction is in italic typeface. Here is an example of an instruction syntax and description: RSM Resume from SMM Mode o Square brackets ( [ and] ) identify the location and sequence for specifying register andlor memory options in the instruction opcode. Here's an example of an opcode that requires register and memory parameters: Reference: Instruction ADD Integer Add (Register to Memory) Opcode = 0 [OOOw] [mod reg rim] Read This First v Information About Cautions and Warnings / Trademarks Information About Cautions and Warnings This book may contain cautions and warnings. The information in a caution or a warning is provided for your protection. Please read each caution and warning carefully. Trademarks AMD is a trademark of Advanced Micro Devices. EPIC is a trademark of Texas Instruments Incorporated. Intel is a trademark of Intel Corp. vi Contents 1 Product Overview ............................................................... 1-1 1.1 Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-2 1.2 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-4 1.3 TI486SXLC Series Overview .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-5 1.4 TI486SXL Series Overview .................................................. 1-9 1.5 Differences Between the TI486SXLC Series and TI486SXL Series ... . . . . . . . . . . .. 1-15 1.6 Differences Between the TI486SXL(C) Family and the TI486SLC/DLC Family ..... 1-16 1.7 Execution Pipeline ......................................................... 1-17 1.8 On-Chip Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-17 1.9 Clock-Doubled Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-18 1.10 Power Management ....................................................... 1-18 1.10.1 System-Management Mode (SMM) ................................... 1-18 1.10.2 Suspend Mode and Static Operation .................................. 1-18 1.10.3 3.3-V Operation .................................................... 1-19 1.10.4 Mixed 3.3-V and 5-V Operation ....................................... 1-19 2 Programming Interface .......................................................... 2-1 2.1 Processor Initialization ...................................................... 2-2 2.2 Real Mode Versus Protected Mode ........................................... 2-5 2.3 Instruction-Set Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-6 2.3.1 Lock Prefix ......................................................... 2-7 2.3.2 Register Sets ....................................................... 2-7 2.3.3 Address Spaces ..................................................... 2-8 2.4 Application Register Set .................................................... 2-10 2.4.1 General Purpose Registers .......................................... 2-11 2.4.2 Segment Registers and Selectors .................................... 2-12 2.4.3 Instruction Pointer Register .......................................... 2-14 2.4.4 Flag Word Register ........................... . . . . . . . . . . . . . . . . . . . . .. 2-14 2.5 System Register Set .................................................... :.. 2-16 2.5.1 Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . .. 2-18 2.5.2 Descriptor-Registers and Descriptors ................................. 2-19 2.5.3 Task Register ...................................................... 2-23 2.5.4 Configuration Registers ............................................. 2-26 2.5.5 Debug Registers ................................................... 2-31 2.5.6 Test Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-33 2.6 Memory Address Space .................................................... 2-37 2.6.1 Offset Mechanism .................................................. 2-37 2.6.2 Real-Mode Memory Addressing ...................................... 2-38 2.6.3 Protected-Mode Memory Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-39 vii Contents 2.7 2.8 2.9 2.10 2.11 3 viii Interrupts and Exceptions .................................................. , 2.7.1 Interrupts .......................................................... 2.7.2 Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.7.3 Interrupt Vectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.7.4 Interrupt and Exception Priorities ..................................... 2.7.5 Exceptions in Real Mode ............................................ 2.7.6 Error Codes ....................................................... System-Management Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.8.1 SMM Operations ................................................... 2.8.2 SMM Memory Space Header ........................................ 2.8.3 SMM Instructions .................................................. 2.8.4 SMM Memory Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.8.5 SMI Service Routine Execution ....................... " .............. 2.8.6 CPU States Related to SMM and Suspend Mode ...................... , Shutdown and Halt ........................................................ Protection ................................................................ 2.10.1 Privilege Levels .................................................... 2.10.2 1/0 Privilege Levels ................................................. 2.10.3 Privilege Level Transfers ............................................ 2.10.4 Initialization and Transition to Protected Mode .......................... Virtual-8086 Mode ......................................................... 2.11.1 Memory Addressing ................................................ 2.11 .2 Protection ......................................................... 2.11.3 Interrupt Handling .................................................. 2.11.4 Entering and Leaving V86 Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-43 2-43 2-44 2-45 2-46 2-47 2-48 2-49 2-50 2-51 2-52 2-54 2-54 2-55 2-57 2-57 2-58 2-58 2-58 2-59 2-60 2-60 2-60 2-60 2-61 TI486SXLC Microprocessor Bus Interface ......................................... 3-1 3.1 Input/Output Signals ........................................................ 3-2 3.1 .1 TI486SXLC Terminal Function Descriptions ............................. 3-4 3.1.2 Signal States During Reset and Hold Acknowledge ..................... 3-12 3.2 Bus-Cycle Definition ....................................................... 3-13 3.2.1 Clock Doubling Using Software Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-13 3.2.2 Power Management ................................................ 3-15 3.3 Reset Timing and Internal Clock Synchronization .............................. 3-17 3.4 Bus Operation and Functional Timing ........................................ 3-19 3.4.1 Bus Cycles Using Nonpipelined Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-20 3.4.2 Bus Cycles Using Pipelined Addressing ............................... 3-24 3.4.3 Locked BusCydes ................................................. 3-31 3.4.4 Interrupt-Acknowledge Cycles ........................................ 3-31 3.4.5 Halt and Shutdown Cycles ........................................... 3-33 3.4.6 Internal Cache Interface ............................................. 3-36 3.4.7 Address Bit-20 Masking ............................................. 3-38 3.4.8 Hold-Acknowledge State ............................................ 3-39 3.4.9 Coprocessor Interface ............................................... 3-42 3.4.10 SMM Interface ................................... '.................. 3-43 3.4.11 Power Management ................................................ 3-45 3.4.12 Float.............................................................. 3-48 Contents 4 TI486SXL Microprocessor Bus Interface .......................................... 4-1 4.1 Input/Output Signals ........................................................ 4-2 4.1.1 TI486SXL Terminal Function Descriptions .............................. 4-4 4.1.2 Byte Enable Line Definitions ......................................... 4-13 4.1.3 Write Duplication as a Function of BE3# - BEO# . . . . . . . . . . . . . . . . . . . . . . .. 4-14 4.1.4 Generating A 1 - AO Using BE3# - BEO# .............................. 4-14 4.1.5 Signal States During Reset and Hold Acknowledge ..................... 4-14 4.2 Bus-Cycle Definition ....................................................... 4-16 4.2.1 Clock Doubling Using Software Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-16 4.2.2 Power Management ................................................ 4-18 4.3 Reset Timing and Internal Clock Synchronization .............................. 4-20 4.4 Bus Operation and Functional Timing ........................................ 4-22 4.4.1 Bus Cycles Using Nonpipelined Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-23 4.4.2 Bus Cycles Using Pipelined Addressing ............................... 4-27 4.4.3 Bus Cycles Using BS16# ............................................ 4-34 4.4.4 Locked Bus Cycles ............. ~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-37 4.4.5 Interrupt-Acknowledge Cycles ........................................ 4-37 4.4.6 Halt and Shutdown Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-39 4.4.7 Internal Cache Interface ............................................. 4-42 4.4.8 Address Bit-20 Masking ............................................. 4-45 4.4.9 Hold Acknowledge State ............................................ 4-46 4.4.10 Coprocessor Interface ............................................... 4-49 4.4.11 SMM Interface ..................................................... 4-50 4.4.12 Power Management ................................................ 4-52 4.4.13 Float (144-Pin QFP and 168-Pin PGA Pinouts Only) .................... 4-55 5 Electrical Specifications ........................................................ 5-1 5.1 Electrical Connections ....................................-. . . . . . . . . . . . . . . . . .. 5-2 5.1.1 Power and Ground Connections and Decoupling ........................ 5-2 5.1.2 Pullup/Pulidown Resistors ............................................ 5-2 5.1.3 NC Designated Terminals. . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. 5-3 5.1.4 Unused Signal Input Terminals ........................................ 5-3 5.2 Absolute Maximum Ratings .................................................. 5-4 5.3 Recommended Operating Conditions ......................................... 5-5 5.3.1 3.3-Volt Microprocessors With 5-Volt Tolerant Inputs, Outputs, and I/Os .... 5-5 5.3.2 3.3-Volt Microprocessors ............................................. 5-6 5.3.3 5-Volt Microprocessors ............................................... 5-6 5.4 DC Electrical Characteristics ................................................. 5-7 5.4.1 3.3-Volt Microprocessors With 5-Volt Tolerant Inputs, Outputs, and I/Os .... 5-7 5.4.2 3.3-Volt Microprocessors ............................................. 5-9 5.4.3 5-Volt Microprocessors .............................................. 5-12 5.5 AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-16 5.5.1 Measurement Points for AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-16 5.5.2 CLK2 Timing Measurement Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-19 5.5.3 AC Data Characteristics Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-19 5.5.4 RESET Setup and Hold Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-29 5.5.5 TI486SXLC Switching Waveforms .................................... 5-29 5.5.6 TI486SXL Switching Waveforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-32 Table of Contents ix Contents 6 Mechanical Specifications ....................................................... 6-1 6.1 Terminal Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-2 6.2 Package Dimensions ......... , ... " ..... " ..... '" ................ " ....... 6-13 6.3 Thermal Characteristics .................................................... 6-18 6.3.1 Airflow Measurement Setup ........................................ " 6-20 6.3.2 Thermal Parameter Definitions ....................................... 6-21 7 Instruction Set .................................................................. 7-1 7.1 General Instruction Format ................................................... 7-2 7.2 Instruction Fields ........................................................... 7-3 7.2.1 Prefixes ............................................................ 7-4 7.2.2 Opcode Field ....................................................... 7-5 7.2.3 w Field ............................................................. 7-5 7.2.4 d Field .................. '" " ........................ " ............ 7-6 7.2.5 reg Field ........................................................... 7-6 7.2.6 mod and rim Field ........ '" " ...... " . " ............. , ............. 7-7 7.2.7 mod and base Fields ........................... '" ..... " .. " ........ 7-9 7.2.8 ss Field ........................................................... 7-10 7.2.9 index Field ......................................................... 7-10 7.2.10 sreg2 Field ........................................................ 7-10 7.2.11 sreg3 Field ........................................................ 7-11 7.2.12 eee Field .......................................................... 7-11 7.3 Flags ................................................................... " 7-12 7.4 Clock-Count Summary ..................................................... 7-13 7.4.1 Assumptions ....................................................... 7-13 7.4.2 Abbreviations ...................................................... 7-13 7.5 Instruction Set ........................................................... " 7-13 A SMM Programmer's Guide ....................................................... A-1 A.1 SMM Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-2 A.1.1 Introduction ......................................................... A-2 A.1.2 SMM Implementation ................................................ A-2 A.2 TI486SXL(C) Microprocessor Power Management Features. " .. " .... '" .... , ... A-3 A.2.1 Reducing the Clock Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-3 A.2.2 Suspend Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-3 A.3 SMM Feature Comparison ................................................... A-4 SMM Hardware Considerations .................. " .......... " ............... A-5 A.4 A.4.1 SMM Pins .......................................................... A-5 A.4.2 SMI# Pin Timing ..................................................... A-5 A.4.3 Address Strobes .................................................... A-5 A.4.4 Chipset READY# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-6 A.5 SMM Software Considerations ............................................... A-7 A.5.1 Exiting the SMI Handler .............................................. A-9 A.5.2 Accessing Main Memory At the Same Address as SMM Code . . . . . . . . . . . .. A-9 A.5.3 Miscellaneous Execution Details ... " ......... " ...... " ............... A-9 A.6 Enabling SMM ............................................................ A-11 A.7 SMM Instruction Summary and Macros ....................................... A-12 A.8 SM I Handler Example ...................................... ;............... A-17 A.9 Loading SMM Memory With an SMM Program From Main Memory .............. A-22 A.10 Detection of a TI Microprocessor ............................................ A-26 A.11 Detection of SMM Capable Version .......................................... A-28 x Contents A.12 Format of Data Used by SVDC/RSOC Instructions ............................. A.13 Altering SMM Code Limits .................................................. A.14 Testing/Debugging SMM Code .............................................. A.14.1 Software Only Debugging ........................................... A.14.2 Software Debugging Example ........................................ A.14.3 Clearing the VM Flag Bit ............................................. A-32 A-34 A-3S A-3S A-36 A-42 B BIOS B.1 B.2 B.3 B.4 B.S Modifications Guide .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Differences Between the TI486SLC/OLC BIOS and the TI486SXL(C) BIOS ........ Power-Up and Hard Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Protected-Mode to Real-Mode Switching ...................................... Soft Reset-( CONTROL)( ALTJ ( DELETE) • . • • • • • • • • • • • . • • • • • • • • • • • • • • • • • • • • • • . • • • • • • • Turning the Internal Cache On and Off ........................................ B-1 B-2 B-3 B-3 B-4 B-4 C Design Considerations and Cache Flush .......................................... C.1 Design Considerations ...................................................... C.2 Address Bit A20 Masking ........................ , ................. , ......... C.3 General Cache Invalidation .................................................. C.3.1 Systems With No Secondary Cache or With a Parallel Secondary Cache ... C.3.2 Systems With a Serial Secondary Cache ..................... '.......... C-1 C-2 C-3 C-4 C-4 C-S o TI4B6SXL OEM Modifications for 16B-Pin CPGA ................................... 0-1 0.1 Boards Supporting TI486SXL and Intel ........................................ 0-2 Boards Supporting TI486SXL and a 4860X .................................... O-S 0.2 0.3 Boards Supporting TI486SXL and a 4860X4 ................................... 0-6 0.4 Boards Supporting the VL Bus ............................................... 0-7 0.4.1 Cache Snooping .................................................... 0-7 0.4.2 VL-Bus Clock ........... " " ........................................ 0-7 0.4.3 VL-Bus Slot 10 Settings .............................................. 0-8 O.S Power Planes for 3.3-V and 3.3-V/S-V Systems Using TI486SXL or 4860X4 ....... 0-9 0.S.1 Power Planes for 3.3-V Systems ...................................... 0-9 0.S.2 Power Planes for Mixed 3.3-V/S-V Systems ............................ 0-10 0.6 Chipset Support ........................................................... 0-11 E Thermal Management in Microprocessor-Based Systems .......................... E-1 E.1 Introduction ................................................................ E-2 E.1.1 Thermal Impedance ................................................. E-3 E.1.2 Power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-3 E.1.3 Junction Temperature ................................................ E-3 E.2 Modes,of Heat Transfer ..................................................... E-4 E.2.1 Integrated Circuit Thermal Resistance ................................ " E-S E.2.2 PWB Conductivity ................................................... E-7 E.2.3 Proximity of Integrated Circuit on Board ................................ E-8 E.2.4 Airflow.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-8 E.3 Thermal Specifications of Integrated Circuits ................................... E-9 E.3.1 System Dependence of RSJA and RSCA ..... . . . . . . . . . . . . . . . . . . . . . . . . .. E-9 E.3.2 Measurement of TA " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-10 E.3.3 Definition of Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-10 E.4 TI Thermal Specification Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-11 E.S Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-14 E.6 Current Trends and Theory of Correction ..................................... E-14 E.7 Conclusions ............................................................... E-1S Table of Contents ' xi Contents F Ordering Information ............................................................ F-1 F.1 Part Number Components ................................................... F-1 F.2 Part Numbers for Microprocessors Offered ..................................... F-2 G Glossary ........................................................................ G-1 xii Figures 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 2-11 2-12 2-13 2-14 2-15 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 2-24 2-25 2-26 2-27 2-28 2-29 2-30 2-31 TI486SXLC Functional Block Diagram ........................................... 1-6 TI486SXLC Logic Symbol .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-7 TI486SXLC Input and Output Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-8 TI486SXL Functional Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-10 TI486SXL Logic Symbol (132-Pin PGA Package) ................................ 1-11 TI486SXL Logic Symbol (144-Pin QFP and 168-Pin PGA Packages) .............. 1-12 TI486SXL Input and Output Signals for 132-Pin PGA Package ..................... 1-13 TI486SXL Input and Output Signals for 144-Pin QFP and 168-Pin PGA Package ..... 1-14 TI486SXLC Memory and I/O Address Spaces .................................... 2-8 TI486SXL Memory and I/O Address Spaces ..................................... , 2-8 Application Register Set ...................................................... 2-10 General Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-11 Segment Selector Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-12 EFLAGS Register .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-14 System Register Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-17 Control Registers ............................................................ 2-18 Descriptor-Table (System-Address) Registers .................................... 2-20 Application- and System-Segment Descriptors ................................... 2-21 Gate Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-23 Task (System-Address) Register ............................................... 2-23 32-Bit Task-State Segment (TSS) Table .................... : . . . . . . . . . . . . . . . . . . .. 2-24 16-Bit Task-State Segment (TSS) Table ......................................... 2-25 TI486SXLC Address Region Registers (ARR1-ARR4) ............................ 2-29 TI486SXL Address Region Registers~(ARR1-ARR4) ............................. 2-30 TI486SXLC Debug Registers .................................................. 2-31 TI486SXL Debug Registers ................................................... 2-32 Test Registers ............................................................... 2-33 Offset Address Calculation .................................................... 2-37 Real-Mode Address Calculation. " ..... , ............................... , ....... 2-38 Protected-Mode Address Calculation ........................................... 2':39 Selector Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-40 Paging Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-41 Directory- and Page-Table Entry (DTE and PTE) Format .......................... 2-41 Error-Code Format ........... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-48 TI486SXLC Memory and 110 Address Spaces ................................... 2-49 TI486SXL Memory and I/O Address Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-50 SMM Execution Flow Diagram ................................................. 2-51 SMM Memory Space Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-52 SMM and Suspended-Mode Flow Diagram ...................................... 2-56 Table of Contents xiti Figures 3-1 3-2 3-3 3-4 3-5 3-6 3-7 3-8 3-9 3-10 3-11 3-12 3-13 3-14 3-15 3-16 3-17 3-18 3-19 3-20 3-21 3-22 3-23 3-24 3-25 3-26 3-27 4-1 4-2 4-3 4-4 4-5 4-6 4...:.7 4-8 4-9 4-10 4-11 4-12 4-13 4-14 4-15 4-16 4-17 4-18 4-19 4-20 4-21 4-22 4-23 4-24 xiv TI486SXLC Functional Signal Groupings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. 3-2 Internal Processor Clock Synchronization ....................................... 3-17 Bus Activity From RESET Until First Code Fetch ................................. 3-18 Fastest Nonpipelined Read Cycles ............................................. 3-20 Various Nonpipelined Bus Cycles (No Wait States) ............................... 3-21 Various Nonpipelined Bus Cycles With Different Numbers of Wait States ............ 3-22 Nonpipelined Bus States ...................................................... 3-23 Fastest Pipelined Read Cycles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-25 Various Pipelined Cycles (One Wait State) ...................................... 3-27 Fastest Transition to Pipelined Address Following Idle Bus State ................... 3-28 Transitioning to Pipelined Address During Burst of Bus Cycles ..................... 3-29 Complete Bus States ......................................................... 3-30 Interrupt-Acknowledge Cycles ................................................. 3-32 Nonpipelined Halt Cycle ...................................................... 3-34 Pipelined Shutdown Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-35 Nonpipelined Cache Fills Using KEN# (With Different Numbers of Wait States) ....... 3-36 Pipelined Cache Fills Using KEN# (With Different Numbers of Wait States) .......... 3-37 Masking A20 Using A20M# During Burst of Bus Cycles ........................... 3-38 Requesting Hold From Bus-Idle State ........................................... 3-40 Requesting Hold From Active Nonpipelined Bus .................................. 3-41 Requesting Hold from Active Pipelined Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-42 SMI# Timing ................................................................. 3-43 I/O Trap Timing .............................................................. 3-44 SUSP#-Initiated Suspend Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-45 HALT-Initiated Suspend Mode ................................................. 3-46 Stopping CLK2 During Suspend Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-47 Entering and Exiting Float ..................................................... 3-48 TI486SXL Functional Signal Groupings .......................................... 4-2 Internal Processor Clock Synchronization ....................................... 4-20 Bus Activity From RESET Until First Code Fetch ................................. 4-21 Fastest Nonpipelined Read Cycles ............................................. 4-23 Various Nonpipelined Bus Cycles (No Wait States) ............................... 4-24 Various Nonpipelined Bus Cycles With Different Numbers of Wait States ............ 4-25 Nonpipelined Bus States ...................................................... 4-26 Fastest Pipelined Read Cycles ................................................. 4-28 Various Pipelined Cycles (One Wait State) ...................................... 4-30 Fastest Transition to Pipelined Address Following Idle Bus State ................... 4-31 Transitioning to Pipelined Address During Burst of Bus Cycles ..................... 4-32 Complete Bus States .......................................................... 4-33 Nonpipelined Bus Cycles Using 8S16# ......................................... 4-35 Pipeliningand BS16# ......................................................... 4-36 Interrupt-Acknowledge Cycles ................................................. 4-38 Nonpipelined Halt Cycle ...................................................... 4-40 Pipelined Shutdown Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-41 Nonpipelined Cache Fills Using KEN# .......................................... 4-42 Nonpipelined Cache Fills Using KEN# and BS16# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-43 Pipelined Cache Fills Using KEN# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-44 Masking A20 Using A20M# During Burst of Bus Cycles ........................... 4-45 Requesting Hold From Bus-Idle State ........................................... 4-47 Requesting Hold From Active Nonpipelined Bus ......... ; . . . . . . . . . . . . . . . . . . . . . . .. 4-48 Requesting Hold from Active Pipelined Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-49 Figures 4-25 4-26 4-27 4-28 4-29 4-30 5-1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 5-11 5-12 5-13 5-14 5-15 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12 7-1 A-1 A-2 C-1 C-2 C-3 D-1 D-2 D-3 D-4 D-5 E-1 E-2 E-3 E-4 E-5 E-6 SMI# Timing ................................................................. 4-50 1/0 Trap Timing .............................................................. 4-51 SUSP#-Initiated Suspend Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-52 HALT-Initiated Suspend Mode ................................................. 4-53 Stopping CLK2 During Suspend Mode .......... , .. , .... , ............ , .......... 4-54 Entering and Exiting Float ..................................................... 4-55 Internal Pullup/Pulidown-IV Characteristic ........................................ 5-3 TI486SXLC Drive Level and Measurement Points for AC Characteristics ............ 5-17 TI486SXL Drive Level and Measurement Points for AC Characteristics ............. 5-18 CLK2 Timing Measurement Points ............................................. 5-19 RESET Setup and Hold Timing ................................................ 5-29 TI486SXLC Input Signal Setup and Hold Timing ................................. 5-29 TI486SXLC Output Signal Valid Delay Timing .................................... 5-30 TI486SXLC Data Write Cycle Valid Delay Timing ...... . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-30 TI486SXLC Data Write Cycle Hold Timing ....................................... 5-31 TI486SXLC Output Signal Float Delay and HLDA Valid Delay Timing ............... 5-31 TI486SXL Input Signal Setup and Hold Timing ................................... 5-32 TI486SXL Output Signal Valid Delay Timing ..................................... 5-33 TI486SXL Data Write Cycle Valid Delay Timing .................................. 5-33 TI486SXL Data Write Cycle Hold Timing ........................................ 5-34 TI486SXL Output Signal Float Delay and HLDA Valid Delay Timing ................. 5-34 TI486SXLC Terminal Assignments .............................................. 6-2 132-Pin PGA TI486SXL Package Terminals (Bottom View) ......................... 6-4 132-Pin PGA TI486SXL Package Terminals (Top View) ............................ 6-5 144-Pin QFP TI486SXL Package Terminals (Top View) ............................ 6-7 168-Pin PGA TI486SXL Package Terminals (Bottom View) ......................... 6-9 168-Pin PGA TI486SXL Package Terminals (Top View) ........................... 6-10 1OO-Pin Thermally Enhanced Plastic QFP Package Dimensions (TI486SXLC) ....... 6-13 132-Pin Ceramic PGA Package Dimensions (TI486SXL) .......................... 6-14 144-Pin Plastic QFP Dimensions (TI486SXL) .................................... 6-15 144-Pin Ceramic QFP Package Dimensions (TI486SXL) .......................... 6-16 168-Pin Ceramic PGA Package Dimensions (TI486SXL) .......................... 6-17 Wind Tunnel Schematic Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-20 General Instruction Format ..................................................... 7-2 SMI# Timing .................................................................. A-5 SMM Memory Space Header ................................................... A-8 Cache Invalidation for the TI486SXLC and the 132-pin TI486SXL ................... C-4 Cache Invalidation for the 144- and the 168-Pin TI486SXL ......................... C-5 FLUSH# for 144-Pin and 168-Pin TI486SXL ...................................... C-5 FLUSH# Logic With a Serial Secondary Cache ................................... D-2 FLUSH# Logic With Level-2 Serial Cache ........................................ D-3 Hardware Flush .............................................................. , D-7 3.3-V VL-Bus Implementation ..... " ........... " ......... , .................... , D-9 Mixed 3.3-V/5-V VL-Bus Implementation ........................................ D-10 Effect of Component Operating Temperature on Component Failure Rate ............ E-2 Die Using a Temperature-Sensitive Electrical Parameter ........................... E-4 Diode Voltage Versus Temperature for a Typical Bipolar Device ..................... E-4 Metal Within Projected Footprint of Integrated Circuit .............................. E-8 Plotting Die Thermal Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-12 Wind Tunnel Schematic Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. E-13 Table of Contents xv Tables 1-1 1-2 1-3 1-4 1-5 1-6 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 2-11 2-12 2-13 2-14 2-15 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 2-24 2-25 2-26 3-1 3-2 3-3 3-4 3-5 xvi TI486SXLC Product Offering ................................................... 1-3 TI486SXL Product Offering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-3 TI486SXLC Microprocessors ................................................... 1-5 TI486SXL Microprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-9 TI486SXLC and TI486SXL Signal Differences ................................... 1-15 TI486SXL and TI486SLC/DLC Feature Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-16 TI486SXLC Initialized Register Contents ......................................... 2-3 TI486SXL Initialized Register Contents .......................................... 2-4 Real Mode Versus Protected Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-5 Segment Register Selection Rules ............................................. 2-13 EFLAGS Definitions ..................................................... :.... 2-15 CRO Bit Definitions ........................................................... 2-19 Segment Descriptor Bit Definitions ............................................. 2-22 Gate Descriptor Bit Definitions ................................................. 2-23 TI486SXLC Configuration Control Registers ..................................... 2-26 TI486SXL Configuration Control Registers ...................................... 2-26 CCRO Bit Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-27 CCR1 Bit Definitions .......................................................... 2-28 ARR1-ARR4 Block Size Field ................................................. 2-30 DR6 and DR7 Field Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-32 TR6 and TR7 Bit Definitions ................................................... 2-34 TR6 Attribute Bit Pairs ........................................................ 2-34 TR3-TR5 Bit Definitions ..................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-36 Memory Addressing Modes ................................................... 2-38 Directory and Page-Entry (DTE and PTE) Bit Definitions .......................... 2-42 Interrupt-Vector Assignments .................................................. 2-46 Interrupt and Exception Priorities ............................................... 2-47 Exception Changes in Real Mode .............................................. 2-47 Error-Code Bit Definitions ..................................................... 2-48 SMM Memory Space Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-52 SMM Instruction Set .......................................................... 2-53 Descriptor Types Used for Control Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-59 TI486SXLC Signal Summary ................................................... 3-3 TI486SXLC Terminal Functions ................................................. 3-4 Signal States During Reset and Hold Acknowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-12 Bus Cycle Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-13 Signal States During Suspend Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-16 Tables 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 5-1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 5-11 5-12 5-13 5-14 5-15 5-16 5-17 5-18 5-19 5-20 5-21 5-22 5-23 5-24 5-25 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12 6-13 6-13 7-1 7-2 7-3 TI486SXL Signal Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-3 TI486SXL Terminal Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-4 Byte Enable Line Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-13 Write Duplication as a Function of BE3#-BEO# .................................. 4-14 Generating A 1-AO Using BE3#-BEO# ......................................... , 4-14 Signal States During Reset and Hold Acknowledge .............................. , 4-15 Bus-Cycle Types ............................................................ , 4-16 Signal States During Suspend Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-19 Terminals Connected to Internal Pullup and Pulldown Resistors ..................... 5-2 Terminals Requiring External Pullup Resistors .................................... 5-3 Absolute Maximum Ratings .................................................... 5-4 TI486SXL-G Recommended Operating Conditions ................................ 5-5 TI486SXLC-V and TI486SXL-V Recommended Operating Conditions ................ 5-6 TI486SXLC and TI486SXL Recommended Operating Conditions. . . . . . . . . . . . . . . . . . .. 5-6 T1486SXL-G40 Electrical Characteristics ......................................... 5-7 T1486SXL2-G50 Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-8 TI486SXLC-V25 Electrical Characteristics ........................................ 5-9 TI486SXL -V40 Electrical Characteristics ........................................ 5-10 T1486SXL2-V50 Electrical Characteristics ...................................... , 5-11 T1486SXLC-040 Electrical Characteristics ....................................... 5-12 T1486SXLC2-050 Electrical Characteristics ................................ _..... , 5-13 TI486SXL -040 Electrical Characteristics ........................................ 5-14 T1486SXL2-050 Electrical Characteristics ....................................... 5-15 Measurement Points for AC Characteristics ..................................... 5-16 AC Characteristics for TI486SXL -G40 .......................................... 5-20 AC Characteristics for TI486SXL2 -G 50 ........................................ , 5-21 AC Characteristics for TI486SXLC-V25 ......................................... 5-22 AC Characteristics for T1486SXL-V40 .......................................... 5-23 AC Characteristics for T1486SXL2-V50 ......................................... 5-24 AC Characteristics for T1486SXLC-040 ......................................... 5-25 AC Characteristics for T1486SXLC2-050 ....................................... , 5-26 AC Characteristics for TI486SXL -040 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-27 AC Characteristics for TI486SXL2 -0 50 ......................................... 5-28 TI486SXLC Signal Names Sorted by Terminal Number. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-3 TI486SXLC Terminal Numbers Sorted by Signal Name. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-3 132-Pin PGA TI486SXL Signal Names Sorted by Terminal Number ......_. . . . . . . . . . .. 6-6 132-Pin PGA TI486SXL Terminal Numbers Sorted by Signal Name . . . . . . . . . . . . . . . . .. 6-6 144-Pin QFP TI486SXL Signal Names Sorted by Terminal Number . . . . . . . . . . . . . . . . .. 6-8 144-Pin QFP TI486SXL Terminal Numbers Sorted by Signal Name. . . . . . . . . . . . . . . . .. 6-8 168-Pin PGA TI486SXL Signal Names Sorted by Terminal Number .......... , ...... 6-11 168-Pin PGA TI486SXL Terminal Numbers Sorted by Signal Name ................ , 6-11 TI486SXL Signal Summary for 168-Pin PGA Pinout .............................. 6-12 TI486SXLC 100-Pin PQFP Thermal Resistance and Airflow ....................... 6-18 TI486SXL 132-Pin CPGA Thermal Resistance and Airflow ........................ 6-19 TI486SXL 144-Pin PQFP Thermal Resistance and Airflow ........................ , 6-19 TI486SXL 144-Pin CQFP Thermal Resistance and Airflow. . . . . . . . . . . . . . . . . . . . . . . .. 6-19 TI486SXL 168-Pin CPGA Thermal Resistance and Airflow ........................ 6-20 Instruction Fields .............................................................. 7-3 Instruction Prefix Summary ..................................................... 7-4 w Field Encoding .............................................................. 7-5 Table of Contents xvii Tables 7-4 7-5 7-6 7-7 7-8 7-9 7-10 7-11 7-12 7-13 7-14 7-15 7-16 7-17 A-1 A-2 A-3 A-4 A-5 A-6 D-1 0-2 E-1 E-2 E-3 E-4 E-5 F-1 F-2 xviii d Field Encoding ................................... , ........... , .............. 7-6 reg Field Encoding ............................................................ 7-6 mod rIm Field Encoding ... , .................................................... 7-7 mod rIm Field Encoding Dependent on w Field ...... , ..... " ...................... 7-8 mod base Field Encoding ...................................................... 7-9 ss Field Encoding ............................................................ 7-10 index Field Encoding ......................................................... 7-10 sreg2 Field Encoding ......................................................... 7-10 sreg3 Field Encoding ......................................................... 7-11 eee Field Encoding ..... " .................... , ............................... 7-11 Flag Abbreviations ........................................................... 7-12 Action of Instruction on Flag ................................................... 7-12 Clock-Count Abbreviations .................................................... 7-13 Instruction Set ... , .................................... " ..................... 7-14 Power Management Options ................................................... A-3 SMM Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-4 SMM Memory Space Header ...................................... . . . . . . . . . . . .. A-8 Setting SMM Register Bits .................................................... A-11 SMM Instruction Set with Clock Counts ......................................... A-13 EDX Register Data At Power-Up/Reset ......................................... A-28 VL-Bus Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .. 0-7 VL-Bus Slot ID Settings ........................................................ D-8 Thermal Conductivity of Packaging Materials ..................................... E-5 Thermal Performance of Various 486-Class Microprocessors ....................... E-6 Thermal Conductivity of PWBs With Various Amounts of Copper .................... E-7 RE>JA Versus Board Type ...................................................... E-8 R E>JA Versus Airflow .......................................................... E-9 TI486SXLC and TI486SXL Part Numbers ........................................ F-2 TI486SLC/E and TI486DLC/E Part Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. F-3 Examples A-1 A-2 A-3 A-4 A-5 A-6 A-7 A-8 A-9 A-10 8-1 8-2 Accessing Main Memory Overlapping SMM Space ................................ A-9 SMM Setup ................................................................. A-11 Macros That Implement the Special SM Instructions .............................. A-14 Typical Coding Found In SMI Handlers .......................................... A-17 SMI Handler Routine ......................................................... A-22 Detection of a TI Microprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26 Detection of SMM Capable Version ............................................. A-28 Internal Descriptor Format ..................................................... A-32 Load SS Descriptor Values (Real Mode) ........................................ A-33 Debugging SMI Code ......................................................... A-36 Turning Internal Cache Off ..................................................... 8-5 Turning Internal Cache On ..................................................... 8-6 Table of Contents xix xx Chapter 1 Product Overview This chapter introduces the features of the TI486SXLC series and TI486SXL series of microprocessors and defines the differences between them. The TI486SXL series offers a -G version that operates at 3.3 volts and features 5-V tolerant I/Os for use in either 3.3-volt-only or mixed 3.3-V/5-V systems. A functional block diagram, logic symbol, and I/O signal identifications are provided for the TI486SXLC and TI486SXL series of microprocessors. Additional material describes selected system architectures such as the execution pipeline, the on-chip cache memory, and the power-management techniques. The system-management mode (SMM) permits the TI486SXL(C) family of microprocessors to respond to and service interrupts with a higher priority than standard 486 processors. Topic Page 1.1 . 'C'c' ,:, . , . , ..... , . , , 'c'c' . , , , . , , , , , .,'.....•..... c" •......• 1..2 1.2 Introduction c............................ ~ ................ c. • . • . .• 1-4 1.3 TI486SXLC Series Overview •...•.•.•.• , .• '. , •.. , ..••••.••.. ,c.. 1-5 1.4 .TI486SXL Secrias Overview •. 0 •• 0 ........................ ~ • • • • • •• 1-9 1.5 Differences Between cthe TI486SXLC Series cand TI486SXL Series ........... ~ .....;....•. ~ ... ~ • . • .. . . . • • . .. . ... 1-15 1.6 Differences Between the TI486SXL(C) Family· and TI486SLC/DLCFamily .••.•••.•.••:., ...•.•..••.•• ~ ...•••....•. 1-16 1.7 Execution Pipeline . ~ .... ~ .. 1.8 Ori-ChipCache. ~ ......... :.. •• • . . •.• • . . • .•• . . . . • •. •• . . . • • • . . . .1";17 1.9 'Clock-Doubled Mode,. "w . . . . co;'o' •• ;........................ o' ••• 1..18 :o . . . . . . ~ ..... 0;'" . . . . . . . ~ ......... 1.10 Power Management·:~ c' ••• -: • ~ •••••••••.•..;........ ;.; •.•••• 0 0 cc. 1-17. • • • • • ;. 1-18 1-1 Features 1.1 Features The TI486SXLC and TI486SXL series microprocessors are attractive for new 486-compatible system designs as they are instruction-set and footprint compatible with existing platforms. Additionally, they implement high-performance levels, including clock-doubled CPUs with on-chip 8K-byte cache, advanced power-management techniques, and industry-standard pinouts that simplify implementation of energy-efficient desktop and/or battery-powered notebook systems. Their expanded features are: o o o 1-2 486 architecture and performance • 486-compatible instruction set and register set • On-chip 8K-byte, 32-bit instruction/data cache configured as two-way set associative • Clock-doubled 3.3-V with 5-V tolerant I/Os, and 5-V versions • Highly optimized, variable-length pipeline • On-chip 16-bit hardware multiplier High-performance, footprint-compatible upgrade path for existing TI486SLC and TI486DLC platforms • Clock speeds up to 50 MHz • Industry standard footprints: TI486SXLC series uses 100-pin QFP (486SLC footprint) TI486SXL series uses 132-pin PGA (486DLC footprint), 144-pin plastic or ceramic QFP (486DLC footprint), and a 168-pin CPGA (4868X footprint) Advanced power-management features for battery-powered notebook and energy-efficient desktop PC systems • System-management mode (SMM) • High-priority system-management interrupt (8MI) with separate memory-address space • Suspend mode (initiated by either hardware or software) • Dynamic clock scaling • Fully static device permits clock-stop state • 3.3-V versions provide approximately 60-percent power savings • 3.3-V versions with 5-V tolerant inputs and outputs (available in the TI486SXL series) can be used in 3.3-V-only or mixed 3.3-V/5-V systems Features Features (Continued) o o Texas Instruments EPICTM submicron CMOS technology TI4B6SXLC series features 32-bit internal and 16-bit external buses. The product offering is shown in Table 1-1 . Table 1-1. TI486SXLC Product Offering Speed (MHz) TI486SXLC Series Device Part Number Supply Voltage (V) Core TX486SXLC-V25-PJF 3.3 25 25 TX486SXLC-040-PJF 5 40 40,20t TX486SXLC2-050-PJF 5 50 25 Bus Package 100-pin QFP t These microprocessors can be operated as nonclock-doubled 40 MHz or clock-doubled 20/40 MHz. 0 TI4B6SXL series features 32-bit internal and 32-bit external buses. Theproduct offering is shown in Table 1-2 Table 1-2. TI486SXL Product Offering Speed (MHz) TI486SXL Series Device Part Number Supply Voltage (V) Core Bus TX486SXL-040S-GA 5 40 40,20t TX486SXL2-050S-GA 5 50 25 Package 132-pin PGA TX486SXL -040-PCE 5 40 40,20t 144-pin TEP TX486SXL-G40-HBN 3.3-V, 5-V tolerant 40 40,20t TX486SXL2-G50-HBN 3.3-V, 5-V tolerant 50 25 144-pin ceramic QFP TX486SXL -040-H BN 5 40 40,20 t TX486SXL2-050-HBN 5 50 25 TX486SXL-G40-GA 3.3-V, 5-V tolerant 40 40,20t TX486SXL2-G50-GA 3.3-V, 5-V tolerant 50 25 TX486SXL-V40-GA 3.3 40 40,20t TX486SXL2-V50-GA 3.3 50 25 TX486SXL -040-GA 5 40 40,20t TX486SXL2-050-GA 5 50 25 16B-pin PGA t These microprocessors can be operated as nonclock-doubled 40 MHz or clock-doubled 20/40 MHz. For an explanation of the part numbers see Appendix F. Product Overview 1-3 Introduction 1.2 Introduction The Texas Instruments TI486SXL(C) microprocessor family is comprised of advanced x86-compatible processors that offer clock-doubled features for increased system performance. Each provides an internaI8K-byte, 32-bit cache and integrated power management on a single chip. The fully static, 486 instruction-set-compatible TI486SXLC series microprocessors are backward compatible with the TI486SLC/E. The TI486SXLC2 microprocessors contain a clock-doubled feature for increased system performance of up to 50 MHz. The TI486SXLC series is an ideal solution for battery-powered applications as it typically draws only 0.1-mA supply current while the input clock is stopped in suspend mode. The TI486SXLC-V25 offers additional power savings as it operates from a 3.3-V power supply. The fully static, 486 instruction-set-compatible TI486SXL series microprocessors are available in three package types: a 132-pin PGA, 144-pin QFPs, and a 168-pin PGA. The 132-pin PGA TI486SXL and TI486SXL2 are backward compatible with the TI486DLC/E, the 144-pin QFP TI486SXL and TI486SXL2 are backward compatible with the 486DLC footprint, and the 168-pin PGA TI486SXL and TI486SXL2 have the same footprint as the 486SX pinout (see Appendix D, OEM Modifications for 168-Pin CPGA). The TI486SXL2 microprocessors contain a clock-doubled feature for increased system performance of up to 50 MHz. The TI486SXL series is an ideal solution for battery-powered applications as it typically draws only 0.1 mA while the input clock is stopped in suspend mode. The T1486SXL-V40 and T1486SXL2-V50 offer additional power savings as they operate from a 3.3-V power supply. The TI486SXL -G40 and T1486SXL2-G50 offer the equivalent power savings with the added capability to operate in either 3.3-V-only systems or in mixed 3.3-V/5-V systems. The TI486SXL series microprocessors support 8-,16-, and 32-bit data types and operate in real, virtual-8086, and protected modes. The TI486SXL(C) microprocessor family achieves high performance through use of a highly optimized, variable-length pipeline combined with a RISC-like, single-cycle execution unit, an on-chip hardware multiplier, and an 8K-byte integrated instruction and data cache. 1-4 T1486SXLC Series Overview 1.3 TI486SXLC Series Overview The TI486SXLC series of microprocessors are implemented using Texas Instruments EPICTM submicron CMOS technology. The combination of highperformance 486 operation, internal 8K-byte cache, advanced power management, and small-form-factor package makes the TI486SXLC series ideal for notebooklsubnotebook applications. A summary of the product offering is shown in Table 1-3. Figure 1-1 is a functional block diagram and Figure 1-2 is the logic symbol for the TI486SXLC microprocessors. Table 1-3. TI486SXLC Microprocessors Device t Supply Voltage (V) Speed (MHz) Core Bus TI486SXLC-V25 3.3 25 25 T1486SXLC-040 5 40 40,20+ T1486SXLC2-050 5 50 25 Packaget 100-pin QFP Pinout and footprint compatible with TI486SLC/E. +These microprocessors can be operated as nonclock-doubled 40 MHz or clock-doubled 20/40 MHz. Product Overview 1-5 T1486SXLC Series Overview Figure 1-1. TI486SXLC Functional Block Diagram r----------------------·--------T--------, 1 Decoder Control " , , ROM Address Sequencer 4 ~ 4-- 1"- II Bus Clock - CLK2 : ! I .. Microcode ROM Immediate , ,r Execution Unit Limit Multiplier Unit Unit ~ (fDala Bus .+ 3-lnput Adder Shift Register Unit File Unit - .. :1 1 Execution Pipeline ---------r - - - - - - - - - - - - - J " Memory Management Unit Cache and Memory Management . , ~ --+- Prefetch Unit -----.. 1 1 1 .... 1 Clock control 1"1 1 .... SUSP# 1 Suspend .... 32 1/ Mode 1 SUSPA# Internal Control I~ 1 Data Bus SMI# I .. 1 .... SMM 1 SMADS#l... Control 1 I" 1 Memory Enhanced 386SX- 1 Compatible 1 Bus Interface 1 1 1 Byte D15-DO Data .... __ 1 .. / I Muxes ... ... & I/O Buffers /16 1 Regs ~/ Control L -~ Immediate .l Branch Control Core Clock 1 16-byte Instruction Queue Bus Control 8 KByte , Instr/Data Cache - .... .~ Data Address Bus 1 1 Control 1 1 1 1 1 A23-A1 ~ Instruction Address Bus . ... I .. Address Buffers BHE#, .~ TI486SXLC Microprocessor ..11 I" ~ Interface ~LE#! /26 1 1 1 ------------------------------- --------- 1-6 Tl486SXLC Series Overview Figure 1-2. TI486SXLC Logic Symbolt «I> TI486SXLC MICROPROCESSOR CLK2 2x Clock Input RESET Non-Maskable Req. INTR SMI# Interrupt Control Maskable Req. ... .... '" ~ ~ System Mgmt Int. ~ ~ Float KEN# ~ ~ Cache Enable FLUSH# I'- ~ Cache Flush ~ Extension Req. I'- ~ Extension Busy ~ ~ Extension Error BUSY# ERROR# SUSP# I'- SUSPA# /' A20M# '" ~ Bus Ready l./1 ....... k---l ____ Next Address Req. .... Bus Cycle Control Address Strobe v ~ READY# NA# ADS# SMADS# ICache Internal Interface Coprocessor Interface Bus Cycle Definition Data/Control v D/C# Memory I/O v M/IO# Write/Read v W/R# Bus Lock ~ Suspend Req·1 Power Suspend Ack. HOLD HLDA Hold Ack. SMM Address Strobe v ~ FLT# PEREQ .... I Reset NMI . Hold Request Bus Arbitration Management ~ Address Bit 20 Mask I Byte High En. 'V Byte Low En. V ~ Byte Enables i"'-,. I LOCK# BHE# BLE# I DO 0 1 A1 • • • • • • • • • • • • D15 15 V< Data) I Addresvv 23 A23 tThis symbol is in accordance with ANSI/IEEE Std 91-1991 and IEC Publication 617-12. Product Overview 1-7 T1486SXLC Series Overview The TI486SXLC includes two power-management signals (SUSP# and SUSPA#). two cache-interface signals (FLUSH# and KEN#). an A20 mask input (A20M#). and two SMM signals (SMADS# and SMI#) that are additions to the 386SXsignai set. The TI486SXLC series has the same signal set as the TI486SLC/E microprocessor and the complete list of TI486SXLC signals is shown in Figure 1-3 . . Figure 1-3. TI486SXLC Input and Output Signals A20M# ----. 6. A23-A1 BUSY# ----. CLK2 ----. AOS# TI486SXLC Microprocessor BHE# ERROR# ----. BLE# 015-00 FLT# ----. FLUSH# ----. • O/C# INTR ----. HLOA HOLD ----. LOCK# KEN# ----. • M/IO# NA# ----. NMI----' PEREQ ----. SUSP# ----. • REAOY# ----. RESET ----. 1-8 • Internal Cache Interface • Power Management 6. A20 Mask • System Management Mode • • • SUSPA# SMAOS# SMI# W/R# TJ486SXL Series Overview 1.4 TI486SXL Series Overview The TI486SXL series of microprocessors are implemented using Texas Instruments EPIC submicron CMOS technology. The combination of high-performance 486 operation, internal 8K-byte cache, 32-bit external data path, and advanced power-management features makes the TI486SXL series ideal for energy-efficient desktop and notebook applications. A summary of the product offering is shown in Table 1-4. Figure 1-4 is a functional block diagram and Figure 1-5 and Figure 1-6 are logic symbols for the 132-pin, 144-pin, and 168-pin TI486SXL microprocessors. Table 1-4. TI486SXL Microprocessors Device Supply Voltage (V) Speed (MHz) Core Bus TI486SXL -G40 3.3-V, 5-V tolerant 40 40,20t T1486SXL2-G50 3.3-V, 5-V tolerant 50 25 TI486SXL -V40 3.3 40 40,20t T1486SXL2-V50 3.3 50 25 TI486SXL -040 5 40 40,20t T1486SXL2-0501l 5 50 25 Package 144-pin OFP=I=, and 168-pin PGA § 168-pin PGA§ 132-pin PGA=I=, 144-pin OFP*, and 168-pin PGA § t These microprocessors can be operated as nonclock-doubled 40 MHz or clock-doubled 20/40 MHz. +Pinout and footprint compatible with TI486DLC/E § Footprint compatible with 486SX. See Appendix 0, OEM Modifications for 168-Pin CPGA. 11 Available in 144-pin ceramic QFP and 168-pin PGA Product Overview 1-9 T1486SXL Series Overview Figure 1-4. TI486SXL Functional Block Diagram r----------------------·--------r--------I I Decoder ~ ...- ,r ,r ROM Address Sequencer ...... ... Microcode ROM n Immediate Control , ,r Limit Multiplier Unit Unit Execution Pipeline --------" ,+ ~ I ---+ 4 ... ~ --. Instruction Address Bus Data Address Bus TI486SXL Microprocessor L ______________________________ 1-10 CLK2 SMI# SMM Control I --.. 8 KByte InstrlData Cache f .... - SMADS# 386DX-Compatible Bus Interface Byte ..... Muxes and 1/0 Registers , Prefetch Unit Clock control Memory I 3-lnput Adder Shift Register Unit File Unit I _ SUSP# Suspend Mode .... SUSPA# Control 32/ Internal Data Bus I _ _ _ _ _ _ _ _ _ _ _ _ _ -1I Memory Management ~ Unit Cache and Memory Management ,..- tiData Bus Execution Unit Branch Control , I I I I I I I I I I Immediate Control ,. 16-byte Instruction Queue 4-- Core Clock ~ Bus Clock I I I I I I I I I I I I 1• 1"- 031-00 Data Buffers Bus Control / /32 ...... Control A31-A2 Address Buffers I I I I ! I- I I" I ~ I- I I I I I I I .. I I I I I I.. 1I I I II BE3#~BEO# , /34 I I I I _________!I I .. I" ~ Tl486SXL Series Overview Figure 1-5. TI486SXL Logic Symbolt (132-Pin PGA Package) TI486SXL MICROPROCESSOR (132-pin PGA) CLK2 ----I> 2x Clock Input Bus Arbitration RESET INTR Interrupt Control Maskable Req. ~ .. ~ '" ~ System Mgmt Int. KEN# '" '" Cache Enable FLUSH# '" ~ PEREQ I -..... ~- HOLD Hold Ack. 1--- HLDA .... Bus Size 16 V1 .... Non-Maskable Req. .... Hold Request Reset ---I NMI SMJ# I ~ Bus Ready V1 ....... Bus Cycle Control ICache Internal Cache Flush Next Address Req. Address Strobe v Extension Req. Coprocessor Interface '" ~ Extension Busy ERROR# '" ~ Extension Error SUSP# '" '" Suspend Req'l Power SUSPA# /' Suspend Ack. A20M# '" ... ~ SMM Address Strobe V ~ READY# NA# ADS# SMADS# Bus Cycle Definition Data/Control V D/C# Memory I/O V M/IO# Write/Read V W/R# Bus Lock . . . . . Management ~ Address Bit 20 Mask LOCK# Byte Enable 3 V "- BE3# Byte Enable 2 V "Byte Enables Byte Enable 1 V . . . . . BE2# Byte Enable 0 V "- BEO# I BE1# I DO o • • 031 ~ Interface BUSY# • • ./1 BS16# • • V< Data) I Addrese>v 31 2 A2 • • • • 31 A31 • • tThis symbol is in accordance with ANSI/IEEE Std 91-1991 and lEG Publication 617-12. Product Overview 1-11 Tl486SXL Series Overview Figure 1-6. TI486SXL Logic Symbolt (144-Pin QFP and 168-Pin PGA Packages) TI486SXL MICROPROCESSOR (144-pin QFP and 168-pin PGA) CLK2 - - - - I ' > 2x Clock Input Hold Request I - -.... ~I--- HOLD Hold Ack. 1---- HLDA Busl Arbitration RESET ----I NMI FLT# KEN# ...... ...... "'" ~ System Mgmt Int. '" ~ Float I"-- ~ Cache Enable I'-- ----'--">I ---L.::::oI ~ Cache Flush MEMW# I"---~ Memory Write (ISA bus) PEREQ - - - - - I ERROR# Interrupt Control Maskable Req. FLUSH# BUSY# Bus Size 16 1/1 - Non-Maskable Req. INTR SMI# Reset ~ '" -----L.:::.I ~ READY# Next Address Req. 1/'1 ... NA# ADS# Address Strobe V "'- SMM Address Strobe V ...,::"'->---- SMADS# Internal Cache Interface Bus Cycle Definition Data/Control V D/C# Memory I/O V M/IO# Write/Read V W/R# '" '" ~ Suspend Req'l Power + W/R# Write/Read V Coprocessor Interface ~ -----L.::>I Bus Ready 1/1 ~ Bus Cycle Control Extension Req. Extension Busy BS16# Bus Lock r-... LOCK# Extension Error Byte Enable 3 V ....."r-...>---_ _ BE3# SUSP# SUSPA# A20M# ---,,/'-1 Suspend Ack. Management '" ~ Address Bit 20 Mask BE2# Byte Byte Enable 2 V r-... Enables Byte Enable 1 V I-='r-...>--_ _ BE1# Byte Enable 0 V r-... 00-----1 • • • • • 031 o • ----I 2 I • Addresvv 31 tThis symbol is in accordance with ANSI/IEEE Std 91-1991 and lEG Publication 617-12. +144-pin QFP has W/R# on pins 36 and 37. These terminals must be connected together. 1-12 1---- A2 • • • 31 BEO# • • 1---- A31 T1486SXL Series Overview The TI486SXL includes two power-management signals (SUSP# and SUSPA#), two cache-interface signals (FLUSH# and KEN#), an A20 mask input (A20M#), and two SMM signals (SMAOS# and SMI#) that are additions to the 3860X signal set. The 132-pin PGA TI486SXL has the same signal set as the TI486DLC/E microprocessor while the 144-pin QFP and the 168-pin PGA have two additional inputs, MEMW#, and FLT#. MEMW# is part of the cache interface and FLT# can be used to float the bidirectional and output signals. (See Appendix 0, OEM Modifications for 168-Pin CPGA.). The complete list of TI486SXL signals is shown in Figure 1-7 for the 132-pin PGA and Figure 1-8 for the144-pin QFP and 168-pin PGA. Figure 1-7. TI486SXL Input and Output Signals for 132-Pin PGA Package A20M#---' • BS16# ---. A31-A2 AOS# BUSY#---' CLK2 ----. ERROR#---' TI486SXL Microprocessor 132-pin PGA BE3#-BEO# 031-00 FLUSH#---' • O/C# INTR ---. HLOA HOLD ----. LOCK# KEN#---' • M/IO# NA#---' NMI---' PEREQ---' SUSP# ----. • • • • SUSPA# SMAOS# SMI# W/R# READY# ----. RESET ----. • Internal Cache Interface • Power Management • • A20 Mask System Management Mode Product Overview 1-13 Tl486SXL Series Overview Figure 1-8. TI486SXL Input and Output Signals for 144-Pin QFP and 168-Pin PGA Package A20M# ----. .... BS16# ----. A31-A2 BUSY# ----. CLK2 ----. ERROR# ----. AOS# TI486SXL Microprocessor 144-pin QFP and 168-pin PGA BE3#-BEO# 031-00 FLT# O/C# FLUSH# ----. • HLOA INTR ----. LOCK# HOLO ----. M/IO# KEN# ----. • MEMW#----' • NA# ----. NMI----' PEREQ ----. • • • SUSPA# SMAOS# SMI# W/R# W/R#t SUSP# ----. • REAOY# ----. RESET ----. • Internal Cache Interface • Power Management .... A20 Mask • System Management Mode t 144-pin QFP has W/R# on pins 36 and 37. These terminals must be connected together. 1-14 Differences Between the Tl486SXLC Series and Tl486SXL Series 1.5 Differences Between the TI486SXLC Series and TI486SXL Series The TI486SXLC and the 132-pin TI486SXL are the same except for how the pin signals are routed and utilized on the processors. Thus, the bus interfaces / are different but the CPU core and cache/memory management are the same. The TI486SXLC has a physical address range of 16M bytes and the TI486SXL has a physical address range of 4G bytes. Table 1-5 describes the signal differences between the TI486SXLC and T1486SXL. Table 1-5. TI486SXLC and TI486SXL Signal Differences Description TI486SXLC (100-pin QFP) TI486SXL (132-pin PGA) TI486SXL (144-pin QFP and 168-pin PGA) Data bus 16 bits wide (015-00) 32 bits wide (031-00) 32 bits wide (031-00) Address bus A23-A1 A31-A2 A31-A2 Byte enables 2 byte enables used (BHE#, BLE#) 4 byte enables used (BE3#-BEO#) 4 byte enables used (BE3#-BEO#) Float bus signal (FLT#) supported not supported supported Bus size 16 signal (BS16#) not supported supported supported MEMW# ISA signal not supported not supported supported The 144-pin QFP and the 168-pin PGA TI486SXL differs from both the TI486SXLC and the 132-pin PGA TI486SXL by the addition of one signal, MEMW#. This signal is part of the cache flush logic that is implemented on-chip in the 144- and 168-pin versions of the T1486SXL. For a more detailed description of this logic, see Appendix C, Design Considerations and Cache Flush and Appendix 0, OEM Modifications for 168-Pin CPGA. The 144-pin QFP and the 168-pin PGA TI486SXL contain the TI486SXLC signal FLT# that is not implemented in the 132-pin PGA T1486SXL. This signal can be used to float all bidirectional and output signals of the TI486SXL microprocessor when it is used in conjunction with an upgrade socket. The 144-pin QFP differs from the 168-pin PGA by the addition of a second W/R# input. As these two W/R# inputs must be connected together, these devices are functionally the same. Product Overview 1-15 Differences Between the Tl486SXL(C) Family and the Tl486SLCIDLC Family 1.6 Differences Between the TI486SXL(C) Family and the TI486SLC/DLC Family The TI486SXLC and the TI486SLC/E are the same in all respects except for the cache size, cache organization, and the clock-doubled feature. The TI486SXL and the TI486DLC/E are also the same in all respects except for the same new features shown in Table 1-6. Signal differences between the TI486SXLC and the 132-pin PGA TI486SXL, listed in Table 1-5, also apply for the TI486SLC/E and TI486DLC/E, respectively. Table 1-6. TI486SXL and TI486SLCIDLC Feature Differences 1-16 Description TI486SXL(C) Family TI486SLC/DLC Family Cache size 8K bytes 1K byte Cache organization Two-way set associative Two-way set associative or direct mapped Clock doubled Supported Not supported Execution Pipeline / On-Chip Cache 1.7 Execution Pipeline The execution path in the TI486SXL(C} family of microprocessors consists of five pipelined stages optimized for minimal instruction-cycle times. These five stages are: o o o o o Code fetch Instruction decode Microcode ROM access Execution Memory/register file write-back These stages have been designed with hardware interlocks that permit execution overlap for successive instructions. The 16-byte instruction-prefetch queue fetches code in advance and prepares it for decode, helping to minimize overall execution time. The instruction decoder then decodes four bytes of instructions per clock, eliminating the need for a queue of decoded instructions. Sequential instructions are decoded quickly and provided to the microcode. Nonsequential operations do not have to wait for a queue of decoded instructions to be flushed and refilled before execution continues. As a result, both sequential and nonsequential instruction execution times are minimized. The execution stage takes advantage of a RISC-like, single-cycle execution unit and a 16-bit hardware multiplier. The write-back stage provides singlecycle, 32-bit access to the on-chip cache and posts all writes to the cache and system bus using a two-deep write buffer. Posted writes allow the execution unit to proceed with program execution while the bus-interface unit completes the write cycle. 1.8 On-Chip Cache The 8K-byte, 32-bit on-chip cache in the TI486SXL(C} family of microprocessors maximizes overall performance by quickly supplying instructions and data to the internal execution pipeline. An external memory access takes a minimum of two clock cycles (zero wait states). For cache hits, the TI486SXL series eliminates these two clock cycles by overlapping cache accesses with normal execution pipeline activity. In addition, bus bandwidth is gained by presenting instructions and data to the execution pipeline at up to 32 bits at a time compared to 16 bits per cycle for an external memory access. The TI486SXL(C} cache is an 8K-byte, write-through unified instruction and data cache with lines that are allocated only during memory read cycles. The cache is configured as two-way set associative, and the cache organization consists of 1024 sets each containing two lines of four bytes each. Product Overview 1-17 Clock-Doubled Mode / Power Management 1.9 Clock-Doubled Mode The TI486SXL(C) family of microprocessors is designed with a clock-doubled feature that provides an immediate performance increase and upgrade path from the TI486SLC/DLC family of products. The clock-doubled feature can be enabled using software by setting bit 6 of the Configuration Control register O. When the microprocessor is in clock-doubled mode, the internal core is operating at the CLK2 frequency while the external bus interface remains at half the CLK2 frequency. This provides a speed increase in the on-chip cache, instruction decode, and instruction execution while the external interface remains the same. In addition to the clock-doubled feature, the TI486SXL(C) microprocessor family also supports dynamic clock scaling that enables the CLK2 input to be scaled up or down. To take advantage of this feature (scaling or stopping the CLK2 input) the processor must first be brought into the nonclock-doubled mode. Dynamic clock scaling is transparent to the user since the processor continues instruction execution in nonclock-doubled mode until the desired frequency is reached within the PLL lock range to initiate clock-doubled mode. This allows for increased bandwidth on demand without restriction to the user. 1.10 Power Management The TI486SXL(C) family incorporates advanced power-managementfeatures such as suspend mode, static operation, and operation at 3.3 V. These capabilities are attractive for battery-powered notebook and energy-efficient desktop PC systems. 1.10.1 System-Management Mode (SMM) System-management mode (SMM) provides an additional interrupt and a separate address space that can be used for system power management or software-transparent emulation of liD peripherals. SMM is entered using the system-management interrupt (SMI#) that has a higher priority than any other interrupt. While running in protected SMM address space, the SMI interrupt routine can execute without interfering with the operating system or application programs. After receiving an SMI# interrupt, portions of the CPU state are automatically saved, SMM is entered and program execution begins at the base of SMM address space. The location and size of the SMM memory is programmable in the TI486SXL(C) microprocessor family. Seven SMM instructions have been added to the 486 instruction set that permit saving and restoring the total CPU state when in SMM mode. 1.10.2 Suspend Mode and Static Operation The power-management features in the TI486SXL(C) family of microprocessors allow a dramatic reduction in the current required when the microproces- 1-18 Power Management sor is in suspend mode (typically less than three percent of the operating current). Suspend mode is entered either by a hardware- or software-initiated action. Using the hardware to initiate suspend mode involves a two-pin handshake using the SUSP# and SUSPA# signals. The software initiates suspend mode through execution of the HALT instruction. Once in suspend mode, the microprocessor power consumption can be further reduced by stopping the external clock input. Note: For the clock-doubled versions of the TI486SXL(C} microprocessor family, suspend mode can be initiated while in clock-doubled mode as long as the external input clock is not stopped. The external input clock can be stopped after the microprocessor has been put into nonclock-doubled mode. Since these microprocessors are static devices, no internal CPU data is lost when the clock input is stopped. 1.10.3 3.3-V Operation The TI486SXLC-V and TI486SXLC2-V versions operate from a 3.3-V supply. Power consumed is typically only 30 percent of the power consumed while operating at 5 V. The TI486SXLC-V25 operates at 25-MHz speed. The TI486SXL-V and TI486SXL2-V versions operate from a 3.3-V supply. Power consumed is typically only 30 percent of the power consumed by a microprocessor operating at 5 V. The T1486SXL-V40 can be operated in clock-doubled mode at 40-MHz core and 20-MHz bus speeds, or in nonclockdoubled mode with both the core and bus speeds at 40 MHz. The T1486SXL2-V50 operates at 50 MHz core and 25-MHz bus speeds in the clock-doubled mode. 1.10.4 Mixed 3.3-V and 5-V Operation The TI486SXL-G and TI486SXL2-G versions operate from both a 3.3-V and a 5-V supply. These microprocessors feature 5-V tolerant inputs and outputs meaning that they can be incorporated in system designs that utilize both 3.3-V and 5-V devices. These devices can be used in 3.3-V-only systems by connecting the 5-V supply pin (VCCS) to the 3.3-V supply. The microprocessor power consumption is typically only 30 percent of the power consumed by a microprocessor operating at 5 V. The TI486SXL -G40 can be operated in clock-doubled mode at 40-MHz core and 20-MHz bus speeds, or in nonclockdoubled mode with both the core and bus speeds at 40 MHz. The T1486SXL2-G50 operates at 50-MHz core and 25-MHz bus speeds in the clock-doubled mode. Product Overview 1-19 1-20 Chapter 2 Programming Interface In this chapter, the internal operations of the TI486SXL(C) family of microprocessors are described mainly from an application programmer's point of view. Included in this chapter are descriptions of processor initialization, the register sets, memory addressing, various types of interrupts, system-management mode, and the shutdown and halt process. Overviews of real, virtual-8086, and protected operating modes are also included. Topic Page 2.1 Processor Initialization ....•.•..•.. '. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 2.2 Real ModeVersus Protected Mode ............................. 2-5 2.3 Instruction-Set Overview ...................................... 2-6 2.4 Application Register Set ...........•.......................... 2-10 2.5 System Register Set ............ oi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2.6 Memory Address Space ........... ~ ... ; ....... ~ ............... 2-37 2.7 Interrupts and Exceptions ............. ~ ........... ~ .. .. • .. ... 2-43 2.S System-Management Mode .................................... 2-49 2.9 Shutdown and Halt, •...................................•...... 2-57 2.10 Protection ................ _........ ;. ........................-.. 2-57 2.11 Virtual-S086 Mode .... . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . .. 2-60 2-1 Processor Initialization 2.1 Processor Initialization Each TI486SXL(C) family microprocessor is initialized when the RESET signal is asserted. The processor is placed in real mode and the registers listed in Table 2-1 or Table 2-2 are set to their initialized values. RESET invalidates and disables the cache, and turns off paging. For the clock-doubled versions of the TI486SXL(C) microprocessor family RESET returns the processor to the nonclock-doubled mode. When RESET is asserted, the microprocessor terminates all local bus activity and all internal execution. During the time that RESET is asserted, the internal pipeline is flushed and no instruction execution or bus activity occurs. Approximately 350 to 450 CLK2 clock cycles (additional 220 + 60 if self-test is requested) after deassertion of RESET, the processor begins executing instructions at the top of physical memory (address location FF FFFOh for the TI486SXLC series and FFFF FFFOh for the TI486SXL series). When the first intersegment JUMP or CALL is executed, address lines A23-A20 for the TI486SXLC series or A31-A20 for the TI486SXL series are driven low for code-segment-relative memory-access cycles. While these address lines are low, the microprocessor executes instructions only in the lowest 1M byte of physical address space until system-specific initialization occurs via program execution. 2-2 Processor Initialization Table 2-1. TI486SXLC Initialized Register Contents Register Register Name Initialized Contents Comments EAX Accumulator xx xxxxh 00 OOOOh indicates self-test passed. EBX Base xx xxxxh ECX Count xx xxxxh EDX Data xx 0400h + Revision ID EBP Base Pointer xx xxxxh ESI Source Index xx xxxxh EDI Destination Index xx xxxxh ESP Stack Pointer xx xxxxh EFLAGS Flag Word 00 0002h EIP Instruction Pointer 00 FFFOh ES Extra Segment OOOOh Base address set to 00 OOOOh Limit set to FFFFh CS Code Segment FOOOh Base address set to 00 OOOOh Limit set to FFFFh SS Stack Segment OOOOh DS Data Seglllent OOOOh FS Extra Segment OOOOh GS Extra Segment OOOOh IDTR Interrupt-Descriptor Table Base=O, Limit=3FFh CRO Machine Status Word 00 0010h CCRO Configuration Control CCR1 Configuration Control 1 xx xxx a (binary) ARR1 Address Region 1 OOOFh ARR2 Address Region 2 OOOOh ARR3 Address Region 3 OOOOh ARR4 Address Region 4 OOOOh DR? Debug 00 OOOOh Note: a Revision ID = 10h Base address set to 00 OOOOh Limit set to FFFFh OOh 4G-byte noncacheable region x = Undefined value Programming Interface 2-3 Processor Initialization Table 2-2. TI486SXL Initialized Register Contents Register Register Name Initialized Contents Comments EAX Accumulator xxxx xxxxh 0000 OOOOh indicates self-test passed EBX Base xxxx xxxxh ECX Count xxxx xxxxh EDX Data xxxx 0421 h + Revision ID EBP Base Pointer xxx x xxxxh ESI Source Index xxxx xxxxh EDI Destination Index xxxx xxxxh ESP Stack Pointer xxxx xxxxh EFLAGS Flag Word 00000002h EIP Instruction Pointer 0000 FFFOh ES Extra Segment OOOOh Base address set to 0000 OOOOh Limit set to FFFFh CS Code Segment FOOOh Base address set to 0000 OOOOh Limit set to FFFFh SS Stack Segment OOOOh DS Data Segment OOOOh FS Extra Segment OOOOh GS Extra Segment OOOOh IDTR Interrupt-Descriptor Table Base=O, Limit=3FFh CRO Machine Status Word 00000010h CCRO Configuration Control 0 OOh CCR1 Configuration Control 1 xxxx xxxO (binary) ARR1 Address Region 1 OOOFh ARR2 Address Region 2 OOOOh ARR3 Address Region 3 OOOOh ARR4 Address Region 4 OOOOh DR? Debug OOOOOOOOh Note: 2-4 x = Undefined value Revision ID = 10h Base address set to 0000 OOOOh Limit set to FFFFh 4G-byte noncacheable region Real Mode Versus Protected Mode 2.2 Real Mode Versus Protected Mode When powered up or reset, the microprocessor is initialized to real mode. Real mode establishes conditions that are backward compatible with the 8086/8088 microprocessors. Addressing capabilities are limited to the range that is available on those two microprocessors, and the default operand size is 16 bits. The microprocessor can be switched from the real mode into protected mode, where the extended capabilities of The TI486SXL(C) are available for use. Protected mode provides enhanced memory management capabilities that include segment- and page-level protection. Table 2-3 provides a comparison of real mode and protected mode. The microprocessor is in protected mode when the PE bit in Control register a is set. After this bit is set, an intersegment JMP is used to load the CS register and to flush the instruction-decode pipeline. Table 2-3. Real Mode Versus Protected Mode Real Mode Protected Mode Physical Memory is limited to 1M byte. Physical memory is limited to 4G bytes. Virtual memory of up to 4T bytes is available. Default operand size is 16 bits. Default operand size is 32 bits. Segments are fixed at 64K bytes. Segment size can vary from 1 byte to 4G bytes. Physical addresses are generated by Physical address are generated by apmultiplying the segment register value by plying paging, if enabled, to linear ad16 and adding an offset to the product. dresses. Linear addresses are generated by adding an offset to a value calculated from information contained in segment descriptors. The value in a segment register determines which of several possible segment descriptors will be used. No hardware protection is provided for Segments can be given combinations of segment access or use. read, write, and execute permissions. Attempted access beyond the end of a segment is monitored. There is no privileged code. Code can have one of four privilege levels, with some processor instructions restricted to the most privileged level. Programming Interface 2-5 Instruction-Set Overview 2.3 Instruction-Set Overview The TI486SXL(C) microprocessor family instruction set can be divided into eight types of operations: o o o o o o o o Arithmetic Bit manipulation Control transfer Data transfer High-level-language support Operating-system support Shift/rotate String manipulation All instructions operate on as few as zero operands and as many as three operands. An NOP (no operation) instruction is an example of a zero operand instruction. Two-operand instructions allow the specification of an explicit source and destination pair as part of the instruction. These two-operand instructions can be divided into eight groups according to operand types: o o o o o o o o Register to register Register to memory Memory to register Memory to memory Register to 110 110 to register Immediate data to register Immediate data to memory An operand can be held in the instruction itself (as in an immediate operand), in a register, in an 1/0 port, or in memory. An immediate operand is prefetched as part of the opcode for the instruction. Operand lengths of 8, 16, or 32 bits are supported. Operand lengths of 8 or 32 bits are generally used when executing code written for 386- or 486-class (32-bit code) processors. Operand lengths of 8 or 16 bits are generally used when executing 8086 or 80286 code (16-bit code). The default length of an operand can be overridden by placing one or more instruction prefixes in front of the opcode. For example, by using prefixes, a 32-bit operand can be used with 16-bit code or a 16-bit operand can be used with 32-bit code. Chapter 7, Instruction Set, lists each instruction in the TI486SXL(C) microprocessor family instruction set along with the associated opcodes, execution clock counts, and effects on the Flag Word register. 2-6 Instruction-Set Overview 2.3.1 Lock Prefix The LOCK prefix can be placed before certain instructions that read, modify, then write back to memory. The prefix asserts the LOCK# signal to indicate to the external hardware that the CPU is in the process of running multiple, indivisible memory accesses. The LOCK prefix can be used with the following instructions: o o o o Bit test instructions (BTS, BTR, BTC) Exchange instructions (XADD, XCHG, CMPXCHG) One-operand arithmetic and logical instructions (DEC, INC, NEG, NOT) Two-operand arithmetic and logical instructions (ADC, ADD, AND, OR, SBB, SUB, XOR) An invalid-opcode exception is generated if the LOCK prefix is used with any other instruction or with the above instructions when no write operation to memory occurs (i.e., the destination is a register). 2.3.2 Register Sets There are 43 accessible registers in the TI486SXL(C) microprocessor and these registers are grouped into two sets. The application register set contains the registers frequently used by applications programmers, and the system register set contains the registers typically reserved for use by operating-systems programmers. The application register set is made up of: o o Eight 32-bit General Purpose registers Six 16-bit Segment registers Dane 32-bit Flag Word register Dane 32-bit Instruction Pointer register The system register set is made up of the remaining registers that include: o o o o o Three 32-bit Control registers Two 48-bit and two 16-bit System Address registers Two 8-bit and four 16-bit (TI486SXLC) or 24-bit (TI486SXL) Configuration registers Six 32-bit Debug registers Five 32-bit Test registers Each application register is discussed in Section 2.4, Application Register Set, page 2-10. Each system register is discussed in Section 2.5, System Register Set, page 2-16. Programming Interface 2-7 Instruction-Set Overview 2.3.3 Address Spaces The microprocessor can directly address either memory or liD space. Figure 2-1 and Figure 2-2 illustrate the range of addresses available for memory address space and liD address space. Figure 2-1. TI486SXLC Memory and 110 Address Spaces Accessible Programmed I/O Space Physical Memory Space FFFFFFh~----------~ Physical Memory 16M bytes FF FFFFh 8000FFh 00 FFFFh 00 OOOOh '_____________ ..-- 8000F8h ------..-- 00 OOOOh a...-_ _ _ _ _ _ ___ Coprocessor Space TI486SXLC Configuration Register I/O Space 000023h 000022h Figure 2-2. TI486SXL Memory and 110 Address Spaces Accessible Programmed I/O Space Physical Memory Space FFFF FFFFh ~--------~ Physical Memory 4G bytes FFFF FFFFh 800000FFh 0000 FFFFh 0000 OOOOh ___________ 2-8 ..-- 800000F8h -----. 0000 OOOOh a...-_ _ _ _ ___ ..-- Coprocessor Space TI486SXL Configuration Register I/O Space 00000023h 00000022h Instruction-Set Overview 2.3.3.1 Memory Address Space Range For the TI486SXLC series, the addresses for physical memory range between 00 OOOOh and FF FFFFh ( 16M bytes). For the TI486SXL series, the addresses for physical memory range between 0000 OOOOh and FFFF FFFFh (4G bytes). Memory address space is accessed as bytes, words (16 bits), or doublewords (32 bits). Wordsand doublewords are stored in consecutive memory bytes with the low-order byte located in the lowest address. The physical address of a word or doubleword is the byte address of the low-order byte. Section 2.6, Memory Address Space, page 2-37, discusses in detail: Memory addressing modes that are used to calculate the physical address Memory management mechanisms, segmentation and paging, that can be used to protect address spaces and also create an environment that lets a small amount of physical memory simulate a large address space. o o 2.3.3.2 lID Address Space Range The accessible I/O address space for both the TI486SXLC and TI486SXL microprocessors ranges between 00 OOOOh and 00 FFFFh (64K bytes). The coprocessor communication space for the TI486SXLC series exists in upper I/O space between 80 00F8h and 80 OOFFh. The coprocessor communication space for the TI486SXL series exists in the upper I/O space between 8000 00F8h and 8000 OOFFh. These coprocessor liD ports are automatically accessed by the CPU whenever an ESC opcode is executed. The liD locations 22h and 23h are used for Configuration register access on all versions of the TI486SXL(C) microprocessors. The TI486SXL(C) family of microprocessors address space is accessed using IN and OUT instructions to addresses referred to as ports. The accessible liD address space is 64K bytes and can be accessed as 8-bit, 16-bit, or 32-bit ports. The execution of any IN or OUT instruction causes M/IO# to be driven low, thereby selecting the liD space instead of memory space for loading or storing data. The upper eight address bits of the TI486SXLC processor and the upper sixteen bits of the TI486SXL processor are driven low during IN and OUT instruction port accesses. The microprocessor Configuration registers reside within the I/O address space at port addresses 22h and 23h and are accessed using the standard IN and OUT instructions. The Configuration registers are modified by writing the index of the Configuration register to port 22h and then transferring the data through port 23h. Accesses to the on-chip Configuration registers do not generate external 110 cycles. However, each port 23h operation must be preceded by a port 22h write with a valid index value, otherwise the second and later port 23h operations are directed off-chip and generate external liD cycles without modifying the on-chip Configuration registers. Also, writes to port 22h outside of the microprocessor index range (COh to CFh) result in external I/O cycles and do not affect the on-chip Configuration registers. Reads of port 22h are always directed off-chip. Programming Interface 2-9 Application Register Set 2.4 Application Register Set The Application register set (Figure 2-3) consists of the registers most often used by the applications programmer. These registers are generally accessible and are not protected from read or write access. The General Purpose registers contents are frequently modified by assembly language instructions and typically contain arithmetic and logical-instruction operands. The Segment registers contain segment selectors that index into tables located in memory. These tables hold the base address for each segment as well as other information related to memory addressing. The Flag Word register contains control bits used to reflect the status of previously executed instructions. This register also contains control bits that affect the operation of some instructions. The Instruction Pointer is a 32-bit register that points to the next instruction that the processor executes. This register is automatically incremented by the processor as execution progresses. Figure 2-3. Application Register Set 31 16 15 8 7 o - - A H - - - ¥ - - - - A L - - EAX - - S H - - - ¥ - - - - B L - - EBX - - C H - - - o / - - - - C L - - ECX General Purpose Registers - - O H - - - o / - - - - O L - - EOX SI ESI 01 EOI BP EBP SP ESP 15 0 CS SS OS Segment Registers ES FS GS 31 16 15 0 IP Flag Word 2-10 I EIP EFLAGS } Instruction Pointer and Registers Application Register Set 2.4.1 General Purpose Registers The General Purpose registers are divided into four Data, two Pointer, and two Index registers as shown in Figure 2-4. Figure 2-4. General Purpose Registers Data Registers o 8 7 16 15 31 - - A H - - - ¥ - - - - , A I - - A (Accumulator) --SH---'¥----8[-- B (Base) --cH---Cf----cr-- C (Count) --OH---o/----[)[-- D (Data) Pointer and Index Registers 2.4.1. 1 (ESP) SP BP (Base Pointer) (ESP) SP SP (Stack Pointer) (ESI) SI SI (Source Index) (EDI) 01 DI (Destination Index) Data Registers The Data registers are used by the applications programmer to manipulate data structures and to hold the results of logical and arithmetic operations. Different portions of the general Data registers can be addressed by using different names. An E prefix identifies the complete 32-bit register. An X suffix without the E prefix identifies the lower 16 bits of the register. The lower two bytes of the register can be addressed with an H suffix to identify the upper byte or an L suffix to identify the lower byte. When a source operand value specified by an instruction is smaller than the specified destination register, the upper bytes of the destination register are not affected when the operand is written to the register. 2.4.1.2 Pointer and Index Registers The Pointer and Index registers are: BP or EBP 8P or ESP 81 or E81 01 or EDI Base Pointer Stack Pointer Source Index Destination Index These registers can be addressed as 16- or 32-bit registers, with the E prefix indicating 32 bits. These registers can be used as General Purpose registers; however, some instructions use a fixed assignment of these registers. For example, the string operations always use E81 as the source pointer, EDI as the destination pointer, and ECX as a counter. The instructions using fixed registers include double-precision multiply and divide, liD access, string operations, translate, loop, variable shift and rotate, and stack operations. Programming Interface 2-11 Application Register Set The TI486SXL(C) processors implement a stack using the ESP register. This stack is accessed during the PUSH and POP instructions, procedure calls, procedure returns, interrupts, exceptions, and interrupt/exception returns. The microprocessor automatically adjusts the value of the ESP during operation of these instructions. The EBP register can be used to reference data passed on the stack during procedure calls. Local data can also be placed on the stack and referenced relative to BP. This register provides a mechanism to access stack data in high-level languages. 2.4.2 Segment Registers and Selectors Segmentation provides a means of defining data structures inside the memory space of the microprocessor. There are three basic types of segments: code, data, and stack. Segments are used automatically by the processor to determine the memory locations of code, data, and stack references. There are six 16-bit Segment registers: CS DS FS GS SS ES Code Segment Data Segment Additional Data Segment Additional Data Segment Stack Segment Extra Segment In real and virtual-8086 operating modes, a Segment register holds a 16-bit segment base. The 16-bit segment base is multiplied by 16 and a 16-bit or 32-bit offset is then added to it to create a linear address. The offset size is dependent on the current address size. In real mode and in virtual-8086 mode with paging disabled, the linear address is also the physical address. In virtual8086 mode with paging enabled, the linear address is translated to the physical address using the current page tables. In protected mode, a Segment register holds a segment selector containing a 13-bit index, a table indicator (TI) bit, and a two-bit requested-privilege-Ievel (RPL) field as shown in Figure 2-5. Figure 2-5. Segment Selector Register 15 3 2 o Index TI = Table Indicator RPL = Requested Privilege Level The index points into a descriptor table in memory and selects one of 8192 (2 13) segment descriptors contained in the descriptor table. A segment descriptor is an eight-byte value used to describe a memory segment by defining the segment base, the segment limit, and access control information. 2-12 Application Register Set To address data within a segment, a 16-bit or 32-bit offset is added to the segment's base address. Once a segment selector has been loaded into a Segment register, an instruction needs to specify the offset only. The table indicator (TI) bit of the selector defines the descriptor table into which the index points. If TI = 0, the index references the global-descriptor table (GOT). IfTI = 1, the index references the local-descriptor table (LOT). The GOT and LOT are described in more detail later in this chapter. The requested privilege level (RPL) field contains a 2-bit segment privilege level (00 = most privileged, 11 = least privileged). The RPL bits are used when the Segment register is loaded to determine the effective privilege level (EPL). If the RPL bits indicate less privilege than the program, the RPL overrides the current privilege level and the EPL is the lower privilege level. If the RPL bits indicate more privilege than the program, the current privilege level overrides the RPL and again the EPL is the lower privilege level. When a Segment register is loaded with a segment selector, the segment base, segment limit, and access rights are also loaded from the descriptor table into a user-invisible or hidden portion of the Segment register, i.e., cached on-chip. The CPU does not access the descriptor table again until another Segment register load occurs. If the descriptor tables are modified in memory, the Segment registers must be reloaded with the new selector values. The processor automatically selects a default Segment register for memory references. Table 2-4 describes the selection rules. In general, data references use the selector contained in the OS register, stack references use the SS register, and instruction fetches use the CS register. While some of these selections can be overridden, instruction fetches, stack operations, and the destination write of string operations cannot be overridden. Special segment override prefixes allow the use of alternate Segment registers including the use of the ES, FS, and GS Segment registers. Table 2-4. Segment Register Selection Rules Type of Memory Reference Implied (Default) Segment Segment Override Prefix Code fetch CS None Destination of PUSH, PUSHF, INT, CALL, PUSHA instructions SS None Source of POP, POPA, POPF, IRET, RET instructions SS None Destination of STOS, MOVS, REP STOS, REP MOVS instructions ES None OS SS CS, ES, FS, GS, SS CS, OS, ES, FS,GS Other data references with effective address using Base registers of: EAX, EBX, ECX, EDX, ESI, EDI EBP, ESP Programming Interlace 2-13 Application Register Set 2.4.3 Instruction Pointer Register The (extended) Instruction Pointer (EIP) register shown in Figure 2-3 on page 2-10 contains the offset into the current code segment of the next instruction to be executed. The register is normally incremented with each instruction execution unless implicitly modified through an interrupt, exception, or an instruction that changes the sequential execution flow (e.g., jump, call). 2.4.4 Flag Word Register The Flag Word register, EFLAGS, contains status information and controls certain operations on the microprocessor. The lower 16 bits of this register are referred to as the Flag register, FLAGS, that is used when executing 8086 or 80286 code. The flag bits are shown in Figure 2-6 and defined in Table 2-5. Figure 2-6. EFLAGS Register EFLAGS (\, / FLAGS (\, / 2 2 4 3 3 1 1 1 1 1 1 1 1 8 7 6 5 4 3 2 I 10 PL 0 D I T S Z P A C F F F F F F 0 F 0 F 1 F I A = arithmetic flag, 2-14 ~ D = debug flag, S o or 1 indicates reserved \ 1 0 9 8 7 6 5 4 3 2 1 0 I A V 0 N 0 0 0 0 0 0 0 0 0 0 0 0 0 C M R F T Alignment Check - - S Virtual-8086 Mode - - S Resume Flag - - . D Nested Task Flag _.- S I/O Privilege Level - - S Overflow - - A Direction Flag - - C Interrupt Enable - - S Trap Flag - - D Sign Flag - - A Zero Flag - - A Auxiliary Carry - - S Parity Flag - - A Carry Flag - - A \ = system flag, C = control flag Application Register Set Table 2-5. EFLAGS Definitions Bit Position Name a CF Carry flag. CF is set when an operation results in a carry out of (addition) or borrow into (subtraction) the most significant bit, cleared otherwise. 2 PF Parity flag. PF is set when the low-order eight bits of the result contain an even number of ones, cleared otherwise. 4 AF Auxiliary carry flag. AF is set when an operation results in a carry out of (addition) or borrow into (subtraction) bit position 3, cleared otherwise. 6 ZF Zero flag. ZF is set if result is zero, cleared otherwise. 7 SF Sign flag. SF is set equal to high-order bit of result (0 indicates positive, 1 indicates negative). 8 TF Trap enable flag. Once TF is set, a single-step interrupt occurs after the next instruction completes execution. TF is cleared by the single-step interrupt. 9 IF Interrupt enable flag. When IF is set, maskable interrupts (INTR input pin) are acknowledged and serviced by the CPU. 10 DF Direction flag. When cleared, DF causes string instructions to auto-increment (default) the appropriate Index registers (ESI and/or EDI). Setting DF causes auto-decrement of the Index registers. 11 OF Overflow flag. Set if the operation resulted in a carry or borrow into the sign bit of the result but did not result in a carry or borrow out of the high-order bit. Also set if the operation resulted in a carry or borrow out of the high-order bit but did not result in a carry or borrow into the sign bit of the result. 12, 13 10PL I/O privilege level. While executing in protected mode, 10PL indicates the maximum current privilege level (CPL) permitted to execute I/O instructions without generating an exception 13 fault or consulting the I/O permission bit map. 10PL also indicates the maximum CPL allowing alteration of the IF bit when new values are popped into the EFLAGS register. 14 NT Nested task. While executing in protected mode, NT indicates that the execution of the current task is nested within another task. 16 RF Resume flag. RF is used in conjunction with Debug register breakpoints. It is checked at instruction boundaries before breakpoint exception processing. If set, any debug fault is ignored on the next instruction. 17 VM Virtual-8086 mode flag. If VM is set while in protected mode, the microprocessor switches to virtual-8086 operation handling segment loads as the 8086 does, but generating exception 13 faults on privileged opcodes. The VM flag can be set by the IRET instruction (if current privilege level =0) or by task switches at any privilege level. 18 AC Alignment-check enable. In conjunction with the AM flag in CRO, the AC flag determines whether or not misaligned accesses to memory cause a fault. If AC is set, alignment faults are enabled. Function Programming Interface 2-15 System Register Set 2.5 System Register Set The System register set (Figure 2-7) consists of registers not generally used by application programmers. These registers are typically used by systemlevel programmers who generate operating systems and memory-management programs. The Control registers control aspects of the microprocessor such as paging, coprocessor functions, and segment protection. When paging is enabled and a paging exception occurs, the Control registers retain the linear address of the access that caused the exception. The Descriptor Table registers and the Task register can also be referred to as System Address or Memory Management registers. These registers consist of two 48-bit and two 16-bit registers. These registers specify the location of the data structures that control the segmentation used by the microprocessor. Segmentation is a method of memory management. The Configuration registers are used to control the clock-doubled operation (for the TI486SXLC2 and T1486SXL2), on-chip cache operation, power-management features, and system-management mode. The clock-doubling, cache, power-management, and SMM features can be enabled or disabled by writing to these registers. Noncacheable areas of physical memory are also defined through the use of these registers. The Debug registers provide debugging facilities for the microprocessor and enable the use of data-access breakpoints and code-execution breakpoints. The Test registers provide a mechanism to test the contents of both the on-chip 8K-byte cache and the translation lookaside buffer (TLB). The TLB is used as a cache for translating linear addresses to physical addresses when paging is enabled. In the following sections, the System register set is described in greater detail. 2-16 System Register Set Figure 2-7. System Register Set 31 o 16 15 I CRO Page-Fault Linear Address Register CR2 Page-Directory Base Register CR3 47 o 16 15 Base Limit GDTR Base Limit IDTR Selector LDTR Selector TR 7 23 15 CCRO CCRO CCR1 CCR1 Address Region 1 ARR1 I Address Region 2 ARR2 I Address Region 3 ARR3 : Address Region 4 ARR4 I 31 (TI486SXL only) System Address (Task Register) Configuration Registers o Linear Breakpoint Address 0 DRO Linear Breakpoint Address 1 DR1 Linear Breakpoint Address 2 DR2 Linear Breakpoint Address 3 DR3 Breakpoint Status DR6 Breakpoint Control DR7 31 } System Address (Descriptor Table) Registers 0 i I } Control Registers Debug Registers 0 Cache Test TR3 Cache Test TR4 Cache Test TR5 TLB Test Control TR6 TLB Test Status TR7 Test Registers CCRO = Configuration Control 0 CCR1 = Configuration Control 1 Programming Interface 2-17 System Register Set 2.5.1 Control Registers The Control registers (CRO, CR2, and CR3) are shown in Figure 2-8. The CRO register contains system control flags that control operating modes and indicate the general state of the CPU. The lower 16 bits of CRO are referred to as the machine status word (MSW). The CRO bit definitions are described in Table 2-6. The reserved bits in CRO should not be modiJied. Figure 2-8. Control Registers 12 11 31 0 Page-Directory Base Register (PDBR) CR3 Page-Fault Linear Address P G C D o 3 1 3 0 2 9 = Reserved CR2 1 8 1 6 5 \-----------,V S E M 3 2 T 0 4 M P P E CRG 0 / MSW When paging is enabled and a page fault is generated, the CR2 register retains the 32-bit linear address of the address that caused the fault. CR3 contains the 20-bit base address of the page directory. The page directory must always be aligned to a 4K-byte page boundary; therefore, the lower 12 bits of CR3 are reserved. When operating in protected mode, any program can read the Control registers. Privilege level 0 (most privileged) programs can modify the contents of these registers. 2-18 System Register Set Table 2-6. eRO Bit Definitions Bit Position Name a PE MP Function Protected mode enable. Enables the segment-based protection mechanism. If PE = 1, protected mode is enabled. If PE = 0, the CPU operates in real mode, with segment-based protection disabled, and addresses are formed as in an 8086-class CPU. Monitor processor extension. If MP = 1 and TS = 1, a WAIT instruction causes fault 7. The TS bit is set to 1 on task switches by the CPU. Floating-point instructions are not affected by the state of the MP bit. The MP bit should be set to 1 during normal operations. 2 EM Emulate processor extension. If EM = 1, all floating-point instructions cause a fault 7. 3 TS Task switched. Set whenever a task-switch operation is performed. Execution of a floating-point instruction with TS = 1 causes a device-not-available (DNA) fault. If MP = 1 and TS = 1, a WAIT instruction also causes a DNA fault. . Reserved. Do not modify. 4 5 a 16 WP Write protect. Protects read-only pages from supervisor write access. The 386-type CPU allows a read-only page to be written from privilege levels 0-2. The TI486SXL(C) CPU is compatible with the 386-type CPU when WP = O. WP = 1 forces a fault on a write to a read-only page from any privilege level. 18 AM Alignment-check mask. If AM = 1 , the AC bit in the EFLAGS register is unmasked and allowed to enable alignment-check faults. Setting AM = a prevents AC faults from occurring. 29 a 30 CD Cache disable. If CD = 1, no further cache fills occur. However, data already present in the cache continues to be used if the requested address hits in the cache. The cache must also be invalidated to completely disable any cache activity. 31 PG Paging enable. If PG = 1 and protected mode is enabled (PE 2.5.2 Reserved. Do not modify. Reserved. Do not modify. = 1), paging is enabled. Descriptor-Table Registers and Descriptors The Global-, Interrupt-, and Local-Oescriptor-Table registers (GOTR, IOTR and LOTR) are used 10 specify the location of the data structures that control segmented memory management. 2.5.2.1 Descriptor-Table (System-Address) Registers The GOTR, IOTR, and LOTR, shown in Figure 2-9, are loaded using the LGOT, L10T, and LLOT instructions, respectively. The values of these r~gisters are stored using the corresponding store instructions. The GOTR and IOTR load instructions are privileged instructions when operating in protected mode. The LOTR can be accessed only in protected mode. The Global-Oescriptor-Table register (GOTR) holds a 32-bit base address and 16-bit limit for the global-descriptor table (GOT). The GOT is an array of up to 8192 8-byte descriptors. When a Segment register is loaded from memory, the TI bit in the segment selector chooses either the GOT or the local-descriptor Programming Interface 2-19 System Register Set table (LOT) to locate a descriptor. If TI = 0, the index portion of the selector is used to locate a given descriptor within the GOT table. The contents of the GOTR are completely visible to the programmer. The first descriptor in the GOT (location 0) is not used by the CPU and is referred to as the null descriptor. If the GOTR is loaded while operating in 16-bit operand mode, the microprocessor accesses a 32-bit base value but the upper 8 bits are ignored, resulting in a 24-bit base address. The Interrupt-Oescriptor-Table register (IOTR) holds a 32-bit base address and 16-bit limit for the interrupt-descriptor table (lOT). The lOT is an array of 256 8-byte interrupt descriptors, each of which is used to point to an interrupt service routine. Every interrupt that can occur in the system must have an associated entry in the lOT. The contents of the IOTR are completely visible to the programmer. Figure 2-9. Descriptor-Table (System-Address) Registers o 16 15 48 Base Address Limit GOTR Base Address Limit IOTR Selector LOTR The Local-Oescriptor-Table register (LOTR) holds a 16-bit selector for the local-descriptor table (LOT). The LOT is an array of up to 8192 8-byte descriptors. When the LOTR is loaded, the LOTR selector indexes an LOT descriptor that must reside in the global-descriptor table (GOT). The contents of the selected descriptor are cached on-chip in the hidden portion of the LOTR. The CPU does not access the GOT again until the LOTR is reloaded. If the LOT description is modified in memory in the GOT, the LOTR must be reloaded to update the hidden portion of the LOTR. When a Segment register is loaded from memory, the TI bit in the segment selector chooses either the GOT or the LOT to locate a segment descriptor. If TI = 1 , the index portion of the selector is used to locate a given descriptor within the LOT. Each task in the system may be given its own LOT, managed by the operating system. The LOTs provide a method for isolating a given task's segments from other tasks in the system. 2-20 System Register Set 2.5.2.2 Descriptors The three types of descriptors are: o Application-segment descriptors that define code, data, and stack segments o o System-segment descriptors that define an LOT segment or a TSS Gate descriptors that define task gates, interrupt gates, trap gates, and call gates Application-segment descriptors can be located in either the LOT or GOT. System-segment descriptors can be located only in the GOT. Oependent on the gate type, gate descriptors can be located in either the GOT, LOT, or lOT. Figure 2-10 illustrates the descriptor format for both application-segment descriptors and system-segment descriptors. Table 2-7 lists the corresponding bit definitions. Figure 2-10. Application- and System-Segment Descriptors 31 24 23 22 21 20 19 16 15 14 13 12 11 A Base 31-24 G 0 0 Base 15-0 V L Limit 19-16 P DPL 0 T 8 o 7 Type Base 23-16 +4 Limit 15-0 Programming Interface 2-21 System Register Set Table 2-7. Segment Descriptor Bit Definitions Bit Position Memory Offset Name Description 31-24 7-0 31-16 +4 +4 +0 Base 31-24 Segment base address. A 32-bit linear address that points to the beBase 23-16 ginning of the segment. Base15-0 19-16 15-0 +4 +0 Limit 19-16 Limit 15-0 Segment limit. In real mode, segment limit is always 64K bytes (OFFFFh). 23 +4 G Limit granularity: 0= byte granularity 1 = 4K-byte (page) granularity 22 +4 D Default length for operands and effective addresses. Valid for code and stack segments only: 0= 16 bit 1 = 32 bit 20 +4 AVL Segment available 15 +4 P Segment present 14-13 +4 DPL Descriptor privilege level 12 +4 DT Descriptor type: 0= system 1 = application 11-8 +4 Type 11 +4 E 10 +4 C/D 9 +4 RIW 8 +4 A Segment type. System descriptor (DT = 0): 0010 = LDT descriptor 1001 = TSS descriptor, task not busy 1011 = TSS descriptor, task busy Application descriptor (DT = 1): 0= data 1 = executable If E is 0: o = expand up, limit is upper bound of segment 1 = expand down, limit is lower bound of segment If E is 1: o = nonconforming 1 = conforming (runs at privilege level of calling procedure) If E is 0: o = nonreadable 1 = readable If E is 1: o = nonwritable 1 = writable o = not accessed 1 = accessed Gate descriptors provide protection for executable segments operating at different privilege levels. Figure 2-11 illustrates the format for gate descriptors and Table 2-8 lists the corresponding bit definitions. Task-gate descriptors are used to switch the CPU's context during a task switch. The selector portion of the task-gate descriptor locates a task-state segment. Task-gate descriptors can be located in the GOT, LOT, or lOT. 2-22 System Register Set Figure 2-11. Gate Descriptor 31 8 16 15 14 13 12 11 Offset 31 -1 6 P DPL 0 Type Selector 15-0 o 7 0 0 0 Parameters Offset 15-0 +4 +0 Table 2-8. Gate Descriptor Bit Definitions Bit Position Memory Offset Name Description Offset used during a call gate to calculate the branch target 31-16 15-0 +4 +0 Offset 31-1 6 Offset 15-0 31-16 +0 Selector 15-0 Segment selector used during a call gate to calculate the branch target 15 +4 P Segment present 14-13 +4 DPL Descriptor privilege level 11-8 +4 Type Segment type: 0100 = 16-bit call gate 0101 = tack gate 0110= 16-bit interrupt gate 0111 = 16-bit trap gate 1100 = 32-bit call gate 1110 = 32-bit interrupt gate 1111 = 32-bit trap gate 4-0 +4 Parameters Number of 32-bit parameters to copy from the caller's stack to the called procedure's stack Interrupt-gate descriptors are used to enter a hardware interrupt service routine. Trap-gate descriptors are used to enter exceptions or software interrupt service routines. Trap-gate and interrupt-gate descriptors can be located only in the IDT. Call-gate descriptors are used to enter a procedure (subroutine) that executes at the same or a more-privileged level. A call-gate descriptor primarily defines the procedure entry point and the procedure's privilege level. 2.5.3 Task Register The Task register (TR) holds a 16-bit selector for the current task-state segment (TSS) table as shown in Figure 2-12. The TR is loaded and stored via the LTR and STR instructions, respectively. The TR can be accessed only during protected mode and can be loaded only when the privilege level is 0 (most privileged). Figure 2-12. Task (System-Address) Register o 15 Selector Programming Interface 2-23 System Register Set When the TR is loaded, the TR selector field indexes a TSS descriptor that must reside in the global-descriptor table (GDT). The contents of the selected descriptor are cached on-chip in the hidden portion of the TR. During task switching, the processor saves the current CPU state in the TSS before starting a new task. The TR points to the current TSS. The TSS can be either a 286-type TSS (16-bit) or a 386/486-type TSS (32-bit) as shown in Figure 2-13 and Figure 2-14. An I/O permission bit map is referenced in the 32-bit TSS by the I/O map base address. Figure 2-13. 32-Bit Task-State Segment (TSS) Table 31 o 16 15 I/O Map Base Address EOI ESI +40h EBP +3Ch +38h +34h +30h +2Ch +28h +24h +20h +1Ch 0 0 0 0 000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 o0 o0 o0 o0 o0 o0 Selector For Task's LOT 0 0 0 GS 0 0 0 FS 0 0 0 OS 0 0 0 0 0 0 ss cs 0 0 0 ES ESP EBX EOX ECX EAX EFLAGS EIP CR3 0 0 0 0 0 0 0 0 0 0 0 o0 o 0 0 ESP for CPL 0 0 0 0 0 0 0 0 0 0 0 o0 000 0 0 0 0 0 0 0 0 0 0 0 o0 000 0 0 0 0 0 0 0 0 0 0 0 o0 000 ESP for CPL SS for CPL =2 SS for CPL =1 SS for CPL =0 =2 =1 ESP for CPL = 0 0= Reserved 2-24 o +64h +60h +5Ch +58h +54h +50h +4Ch +48h +44h 000 0 0 0 0 0 0 0 0 0 0 Back Link (Old TSS Selector) 01 T +18h +14h +10h +Ch +8h +4h +Oh System Register Set Figure 2-14. 16-Bit Task-State Segment (TSS) Table Selector For Task's LOT +2Ah OS +28h SS +26h CS +24h ES +22h DI +20h 81 +1Eh BP +1Ch SP +1Ah BX +18h OX +16h CX +14h AX +12h FLAGS +10h IP +Eh SP For Privilege Level 2 +Ch SS For Privilege Level 2 +Ah SP For Privilege Level1 +8h SS For Privilege Level 1 +6h SP For Privilege Level 0 +4h SS For Privilege Level 0 +2h Back Link (Old TSS Selector) +Oh Programming Interface 2-25 System Register Set 2.5.4 Configuration Registers The TI486SXL(C) family microprocessors contain six registers that do not exist on other 80x86 microprocessors. These registers include two Configuration Control registers (CCRO and CCR1) and four Address Region registers (ARR1 through ARR4) as listed in Table 2-9 and Table 2-10. The CCR and ARR registers exist in liD memory space and are selected by a register index number via I/O port 22h. I/O port 23h is used for data transfer. Table 2-9. TI486SXLC Configuration Control Registers Register Name Register Index Configuration Control 0 (CCRO) COh 8 Configuration Control 1 (CCR1) C1h 8 Address Region 1 (ARR1) C5h-C6h 16 Address Region 2 (ARR2) C8h-C9h 16 Address Region 3 (ARR3) CBh-CCh 16 Address Region 4 (ARR4) CEh-CFh 16 Note: Width The following register index numbers are reserved: C2h, C3h, C4h, C7h, CAh, CDh, and DOh through FFh. Table 2-10. TI486SXL Configuration Control Registers Register Name Register Index Configuration Control 0 (CCRO) COh 8 Configuration Control 1 (CCR1) C1h 8 Address Region 1 (ARR1) C4h-C6h 24 Address Region 2 (ARR2) C7h-C9h 24 Address Region 3 (ARR3) CAh-CCh 24 Address Region 4 (ARR4) CDh-CFh 24 Note: Width The following register index numbers are reserved: C2h, C3h, and DOh through FFh. Each liD port 23h data transfer must be preceded by an liD port 22h register selection, otherwise the second and later liD port 23h operations are directed off-chip and produce external 110 cycles. If the register index number is outside the COh-CFh range, external 110 cycles also occur. 2-26 System Register Set The CCRO register (Table 2-11) determines if the 64K-byte memory area on 1M-byte boundaries and the 640K-byte to 1M-byte area are cacheable. This register also enables certain functions associated with cache control, suspend mode, and the clock-doubled mode. Table 2-11. CCRO Bit Definitions Bit Position Register Index ° NCO Noncacheable 1M-byte boundaries: If 1, sets the first 64K bytes at each 1M-byte boundary as noncacheable. NC1 Noncacheable upper memory area: If 1, sets 640K-byte to 1M-byte memory region noncacheable. Description 2 A20M Enable A20M# pin: If 1, enables A20M#; otherwise pin is ignored. 3 KEN Enable KEN# pin: If 1, enables KEN#; otherwise pin is ignored. 4 FLUSH 5 BARB Enable cache flush during hold: If 1, enables flushing of the internal cache when hold state is entered. 6 CKD Enable clock double: If 1, enables clock-double mode. If 0, disables clock-double mode. 7 SUS Enable suspend pins: If 1, enables SUSP# and SUSPA#. If 0, SUSPA# floats; SUSP# is ignored. Enable FLUSH# pin: If 1, enables FLUSH#; otherwise pin is ignored. Programming Interface 2-27 System Register Set The CCR1 register (Table 2-12) is used to set up internal cache operation and system-management mode (SMM). The ARR registers (Figure 2-15 on page 2-29, Figure 2-16 on page 2-30, and Table 2-9 and Table 2-10 on page 2-26) are used to define the location and size of the memory regions associated with the internal cache. ARR1-ARR3 define three write-protected or noncacheable memory regions as designated by CCR1 bits WP1-WP3. ARR4 defines an SMM memory space or noncacheable memory region as defined by CCR1 bit SM4. Other CCR1 bits enable SMM pins and control SMM memory access. The SMAC bit allows access to defined SMM space while not in an SMI service routine. The MMAC bit allows access to main memory that overlaps with SMM memory while in an SMI service routine for data access only. Table 2-12. CCR 1 Bit Definitions Bit Position ° 2-28 Register Index Description Reserved SMI Enable SMM pins: If 1, SMI# and SMADS# are enabled. If 0, SMI# is ignored and SMADS# floats. 2 SMAC System management memory access: If 1, noncode-segment prefixed data reads and writes to addresses within the SMM memory space cause external bus cycles to be issued with SMADS# active. SMI# is ignored. If 0, no effect on access. 3 MMAC Main memory access: If 1 , all noncode-segment prefixed data reads and writes which occur within an SMI service routine (or when SMAC = 1) access main memory instead of SMM memory space. If 0, no effect on access. 4 WP1 Access region 1 control: If 1, region 1 is write protected and cacheable. If 0, region 1 is noncacheable. 5 WP2 Access region 2 control: If 1, region 2 is write protected and cacheable. If 0, region 2 is noncacheable. 6 WP3 Access region 3 control: If 1, region 3 is write protected and cacheable. If 0, region 3 is noncacheable. 7 SM4 Access region 4 control: If 1, region 4 is noncacheable SMM memory space. If 0, region 4 is noncacheable. SMI# input ignored. System Register Set The ARR registers define address regions using a starting address and a block size. The noncacheable region block sizes range from 4K bytes to 4G bytes (Table 2-13). A block size of zero disables the address region. The starting address of the address region must be on a block size boundary. For example, a 128K-byte block is allowed to have a starting address of OK bytes, 128K bytes, 256K bytes, etc. The SMM memory region size is restricted to a maximum of 16M bytes. The block size must be defined for SMI# to be recognized. Figure 2-15. TI486SXLC Address Region Registers (ARR1-ARR4) Register Index = C5h Register Index = C6h' r__-----------A~----------__'r__----------~A~----------__, 7 I A23 ~tarting 0 7 Address : A 16 . A 15 4 3 I 0 Size A 12_ I ARR1 I ARR2 I ARR3 I ARR4 . Address Region 1 Register Index = C8h Register Index = C9h r__----------~A~----------__'r__-----------A~----------__, 7 0 7 I A23 ~tarting Address : A16 . A15 4 3 A12 I 0 Size . Address Region 2 Register Index = CBh Register Index = CCh r__-----------A-----------__'r__----------~A~----------__, 7 0 7 Starting Address I A23 : A16 . A15 4 3 A12 I 0 Size . Address Region 3 Register Index = CEh = CFh 'r__-----------A~---------- -----------A-----------__ r__ 7 0 I Starting Address A23 Register Index 7 : A16 . A15 4 3 A12 I __, Sizet 0 . Address Region 4 tARR4 (Size) must be 4K bytes to 16M bytes if ARR4 is defined as SMM memory space. Programming Interface 2-29 System Register Set Figure 2-16. TI486SXL Address Region Registers (ARR1-ARR4) Register Index = C4h Register Index = C5h A A 7 o'( , A31 A24, A23 ( 7 Register Index = C6h A o'( , 7 , 0 43 Size Starting Address ARR1 A12 A16,A15 Address Region 1 Register Index = C7h Register Index = C8h A A 7 o'( , A31 A24. A23 ( 7 Register Index = C9h A o'(, 7 , 0 43 Size Starting Address ARR2 A12 A16.A15 Address Region 2 Register Index = CAh ( A 7 Register Index = CBh o'(7 A Register Index = CCh A o'( 7 I I Starting Address A31 , 0 43 A24.A23 Size A12 A16.A15 ARR3 Address Region 3 Register Index = CDh A Register Index = CEh 7 o'( ,7 A31 A24,A23 ( A Register Index = CFh A. o'(, 7 43 Sizet Starting Address A12 A16,A15 Address Region 4 t ARR4 (Size) must be 4K bytes to 16M bytes if ARR4 is defined as SMM memory space. Table 2-13.ARR1-ARR4 Block Size Field Bits 3-0 2-30 Block Size , 0 Bits 3-0 Block Size Oh Disabled 8h 512K bytes 1h 4K bytes 9h 1M bytes 2h 8K bytes Ah 2M bytes 3h 16K bytes Bh 4M bytes 4h 32K bytes Ch 8M bytes 5h 64K bytes Dh 16M bytes 6h 128K bytes Eh 32M bytes 7h 256K bytes Fh 4G bytes ARR4 System Register Set 2.5.5 Debug Registers Six Debug registers (DRO-DR3, DRS, and DR?), shown in Figure 2-1? and Figure 2-18, support debugging on the TI48SSXL(C) family of microprocessors. Memory addresses loaded in the Debug registers, referred to as breakpoints, generate a debug exception when a memory access of the specified type occurs to the specified address. A breakpoint can be specified for a particular kind of memory access such as a read or a write. Code and data breakpoints can also be set allowing debug exceptions to occur whenever a given data access (read or write) or code access (execute) occurs. The size of the debug target can be set to 1, 2, or 4 bytes. The Debug registers are accessed via MOV instructions that can be executed only at privilege level o. Figure 2-17. TI486SXLC Debug Registers 332222222222111111111 1098765432109876543209876543210 I I I I I I I LEN RIW LEN 332 o 0 0 0 000 RIW 2 o LEN 1 0 o RIW 1 0 o LEN RIW 00 0 0 o 0 o 0 BIB T S G D 0 0011~1~1~1~ I~I~ o1 1 1 1 1 1 1 G L G L 1 1 0 0 DR7 1 B B B B DR6 3 2 1 0 Reserved DR5 Reserved DR4 Breakpoint 3 Linear Address DR3 Breakpoint 2 Linear Address DR2 Breakpoint 1 Linear Address DR1 Breakpoint 0 Linear Address DRO All bits marked as 0 or 1 are reserved and should not be modified. The Debug Breakpoint (n) Linear Address registers DRO-DR3 each contain the linear address for one of four possible breakpoints. Each breakpoint is further specified by bits in the Debug Control register (DR?). For each breakpoint address in DRO-DR3, there are corresponding fields L, RIW, and LEN in DR? that specify the type of memory access associated with the breakpoint. The RIW field can be used to specify execution as well as data-access breakpoints. Instruction-execution and data-access breakpoints are always taken before execution of the instruction that matches the breakpoint. The Debug Status register (DRS) reflects conditions that were in effect at the time the debug exception occurred. The contents of the DRS register are not automatically cleared by the processor after a debug exception occurs and therefore should be cleared by software at the appropriate time. Table 2-14 lists the field definitions for the DRS and DR? registers. Programming Interface 2-31 System Register Set Figure 2-18. TI486SXL Debug Registers 332222222222111111111 1098765432109876543209876543210 LEN 3 RIW 3 o o 0 0 LEN 2 o 0 RIW 2 o 0 LEN 1 o 0 R!W 1 0 0 LEN RIW 0 0 o 0 o 0 o0 G G L G L D 000 E E 3 3 B B 1 011 T S 1 1 1 GIL 2 2 1 1 G L 1 1 G L 0 0 DR7 1 B B B B DR6 3 2 1 0 Breakpoint 3 Linear Address DR3 Breakpoint 2 Linear Address DR2 Breakpoint 1 Linear Address DR1 Breakpoint 0 Linear Address DRO All bits marked as 0 or 1 are reserved and should not be modified. Table 2-14. DR6 and DR7 Field Definitions Number Of Bits Register Field DR6 Bi Bi is set by the processor if the conditions described by DRi, RIWi, and LENi occurred when the debug exception occurred, even if the breakpoint is not enabled via the Gi or Li bits. BT BT is set by the processor before entering the debug handler if a task switch has occurred to a task with the T bit in the TSS set. BS BS is set by the processor if the debug exception was triggered by the single-step-execution mode (TF flag in EFLAGS set). DR7 Description RlWi 2 Applies to the DRi Breakpoint (n) Linear Address register: 00 - Break on instruction execution only 01 - Break on data writes only 10 - Not used 11 - Break on data reads or writes LENi 2 Applies to the DRi Breakpoint (n) Linear Address register: 00 - One-byte length 01 - Two-byte length 10 - Not used 11 - Four-byte length Gi If set to 1, breakpoint in DRi is globally enabled for all tasks and is not cleared by the processor as the result of a task switch. Li If set to 1, breakpoint in DRi is locally enabled for the current task and is cleared by the processor as the result of a task switch. GD Global disable of Debug register access. GD bit is cleared whenever a debug exception occurs. Code execution breakpoints can also be generated by placing the breakpoint instruction (lNT3) at the location where control is to be regained. The single- 2-32 . ' V..... ,HI1I Hp.{ll.c:m~r Set step feature can be enabled by setting the TF flag in the EFLAGS register. This causes the processor to perform a debug exception after the execution of every instruction. 2.5.6 Test Registers The five Test registers, shown in Figure 2-19, are used in testing the CPU's translation look-aside buffer (TLB) and on-chip cache. TR6 and TR7 are used for TLB testing, and TR3-TR5 are used for cache testing. Table 2-15 and Table 2-16 list the bit definitions for the TR6 and TR7 registers. Figure 2-19. Test Registers TLB Physical Address 31 TR7 12 TLB Linear Address 31 11 V 12 11 10 I D 10 4 3 2 0 I D# IU I U# I R IR# I 0 0 0 oI C 3 2 0 9 9 8 8 7 7 6 6 5 5 4 Set Selection 31 12 11 10 9 8 7 TR5 6 5 4 ,...- Valid --.... 0 Cache Tag Addresst 31 24 I TR6 TR4 12 11 9 8 7 6 5 4 3 2 0 I TR3 Cache Data 31 0 = Reserved t Bits 31-24 are reserved on the TI486SXLC. 2.5.6.1 TLB Test Registers The microprocessor TLB is a four-way set-associative memory with eight entries per set. Each TLB entry consists of a 24-bit tag and 20-bit data. The 24-bit tag represents the high-order 20 bits of the linear address, a valid bit, and three attribute bits. The 20-bit data portion represents the upper 20 bits of the physical address that corresponds to the linear address. The TLB Test-Control register (TR6) contains a command bit, the upper 20 bits of a linear address, a valid bit, and the attribute bits used in the test operation. The contents of TR6 are used to create the 24-bit TLB tag during both write and read (TLB lookup) test operations. The command bit defines whether the test operation is a read or a write. The TLB Test-Data register (TR7) contains the upper 20 bits of the physical address (TLB data field), two LRU bits, and a control bit. During TLB write operations, the physical address in TR7 is written into the TLB entry selected by Programming Interface 2-33 System Register Set the contents of TR6. During TLB lookup operations, the TLB data selected by the contents of TR6 is loaded into TR7. Table 2-15. TR6 and TR7 Bit Definitions Register Name Bit Position TR6 31-12 Linear address TLB lookup: The TLB is interrogated per this address. If one and only one match occurs in the TLB, the rest of the fields in TR6 and TR7 are updated per the matching TLB entry. TLB write: A TLB entry is allocated to this linear address. 11 Valid bit (V) TLB lookup: Always set to 1 TLB write: If set, indicates that the TLB entry contains valid data. If clear, target entry is invalidated. 10-9 Dirty attribute bit and its complement (D, D#). (Refer to Table 2-16.) 8-7 User/supervisor attribute bit and its complement (U, U#). (Refer to Table 2-16.) 6-5 Read/write attribute bit and its complement (R, R#). (Refer to Table 2-16.) o Command bit (C) If 0, TLB write If 1, TLB lookup 31-12 Physical address TLB lookup: data field from the TLB TLB write: data field written into the TLB 11 Page-level cache disable bit (PCD). Corresponds to the PCD bit of a page-table entry 10 Page-level cache write-through bit (PWT). Corresponds to the PWT bit of a page-table entry 9-7 LRU bits TLB lookup: LRU bits associated with the TLB entry prior to the TLB lookup TLB write: ignored 4 PL bit TLB lookup: If 1, read hit occurred. If 0, read miss occurred. TLB write: If 1, REP field is used to select the set. If 0, the pseudo-LRU replacement algorithm is used to select the set. 3-2 Set selection (REP) TLB lookup: If PL is 1, set in which the tag was found. If PL is 0, undefined data TLB write: If PL is 1, selects one of the four sets for replacement. If PL is 0, ignored TR7 Description Table 2-16. TR6 Attribute Bit Pairs 2-34 Bit (B) Bit Complement (B#) Effect on TLB Lookup Effect on TLB Write 0 0 1 1 0 1 0 1 Do not match Match if the bit is 0 Match if the bit is 1 Match if the bit is 1 or 0 Undefined Clear the bit Set the bit Undefined System Register Set 2.5.6.2 Cache Test Registers The microprocessor on-chip cache is 8K bytes in size and is configured as twoway set associative. The cache memory is physically split into two 4K-byte blocks each containing 1024 lines. Associated with each 4K-byte block are 256 twenty-bit tags implying there are four lines in a block that are associated with the same tag. These four lines are consecutive at 16-byte boundaries. For each byte in a line, there is a valid bit indicating which of the four data bytes actually contain valid data. In addition, there is a valid bit associated with each block of four lines, which when reset, indicates that none of the 16-bytes in the four lines of that block contain valid data. The LRU bit indicates which of the two sets was more recently accessed. The LRU bit is uninitialized for a given set after RESET or FLUSH#. The set's LRU bit will remain uninitialized until the first read allocation to that set occurs. The first cache allocation to a given set will be to way 1 and the LRU bit will than be equal to 1. In a similar manner, the tag and valid bits of a given set and way are uninitialized until a read allocation occurs and the block valid bit is set. The microprocessor contains three Test registers that allow testing of its internal cache. Using these registers, cache test writes and reads can be performed. Cache test writes cause the data in TR3 to be written to the selected wayand entry in the cache. Cache test reads allow inspection of the data, valid bits, and the LRU bit for the cache entry. For data to be written to the allocated entry, the valid bits for the entry must be set prior to the write of the data. Bit definitions for the cache Test registers are shown in Table 2-17. Programming Interface 2-35 System Register Set Table 2-17. TR3- TR5 Bit Definitions Register Name Bit Position Description TR3 31-0 Cache data Cache read: data accessed from the cache Cache write: to be written into the cache TR4 31-12 Tag address Cache read: tag address from which data is read Cache write: data written into the tag address of the selected set 7 LRU Cache read: the LRU bit associated with the cache set Cache write: ignored 6-3 Valid bits Cache read: four valid bits for the accessed line, (one bit per byte) Cache write: valid bits written into the line 2 Block valid bit Cache read: the block valid bit associated with the cache way Cache write: the block valid bit written into the selected way If 0, block is invalid (all 16 bytes are invalid). If 1, block is valid (one or more bytes may be valid in 16-byte line). 12 Way selection If 0, way 0 is selected. If 1, way 1 is selected. 11 -4 Set selection. Selects one of 256 sets 3-2 Line selection. Selects one of four lines 1-0 Control If 00, If 01, If 10, If 11, TR5 2-36 bits. These bits control reading or writing the cache. ignored cache write cache read cache invalidate 2.6 Memory Address Space The TI486SXLC directly addresses up to 16M bytes of physical memory and the TI486SXL directly addresses up to 4G bytes of physical memory. Memory address space is accessed as bytes, words (16 bits), ordoublewords (32 bits). Words and doublewords are stored in consecutive memory bytes with the loworder byte located in the lowest address. The physical address of a word or doubleword is the byte address of the low-order byte. With the TI486SXL(C) microprocessor family, memory can be addressed using nine different addressing modes. These addressing modes are used to calculate an offset address often referred to as an effective address. Depending on the operating mode of the CPU, the offset is then combined using memorymanagement mechanisms to create and address a physical memory location. Memory-management mechanisms on the microprocessor consist of segmentation and paging. Segmentation allows each program to use several independent, protected address spaces. Paging supports a memory subsystem that simulates a large address space using a small amount of RAM and disk storage for physical memory. Either or both of these mechanisms can be used for management of the microprocessor memory address space. 2.6.1 Offset Mechanism The offset mechanism computes an offset (effective) address by summing up to three values: the base, the index, and the displacement. The base, if present, is the value in one of eight 32-bit General registers at the time of the execution of the instruction. The index, like the base, is a value that is determined from one of the 32-bit General registers (except the ESP register) when the instruction is executed. The index differs from the base in that the index is first multiplied by a scale factor of 1, 2, 4 or 8 before the summation is made. The third component of the memory address calculation is the displacement which is a value of up to 32 bits in length supplied as part of the instruction. Figure 2-20 illustrates the calculation of the offset address. Figure 2-20. Offset Address Calculation Index Base Displacement Offset Address (Effective Address) Programming Interface 2-37 Memory Address Space Nine valid combinations of the base, index, scale factor, and displacement can be used with the TI486SXL(C) family instruction set. These combinations are listed in Table 2-18. The base and index both refer to contents of a register as indicated by [Base] and [Index]. Table 2-18. Memory Addressing Modes Addressing Mode Base Index Scale Factor (SF) Displacement (DP) Direct X Register indirect X Based X Index X Scaled index X Based index X X Based scaled index X X Based index with displacement X X Based scaled index with displacement X X 2.6.2 X OA=DP OA = X OA = [BASE] + DP X OA = [INDEX] + DP X OA = ([INDEX] * SF) + DP OA = [BASE] + [INDEX] [BASE] OA = [BASE] + ([INDEX] * SF) X X Offset Address (OA) Calculation X OA = [BASE] + [INDEX] + DP X OA = [BASE] + ([INDEX] * SF) + DP Real-Mode Memory Addressing In real-mode operation, the TI486SXL(C) family of microprocessors address only the lowest 1M bytes (2 20 ) of memory. To calculate a physical memory address, the 16-bit segment base address located in the selected Segment register is shifted left by four bits and then the 16-bit offset address is added. For the TI486SXLC, the resulting 20-bit address is then extended with four zeros in the upper address bits to create the 24-bit physical address. For the TI486SXL, the resulting 20-bit address is then extended with 12 zeros in the upper address bits to create the 32-bit physical address. Figure 2-21 illustrates the real-mode address calculation. Address offsets larger than 65,535 cause a general protection fault. Physical addresses beyond 1M byte cause a segment-limit-overrun exception. Figure 2-21. Real-Mode Address Calculation Offset Mechanism Offset Address 1-------------, Linear Address = Physical Address Selected Segment Register 2-38 1--_---1 x16 Memory Address Space The addition of the base address and the offset address can result in a carry. Therefore, the resulting address can actually contain up to 21 significant address bits that address memory in the first 64K bytes above 1M byte. 2.6.3 Protected-Mode Memory Addressing In protected mode, three mechanisms calculate a physical memory address. o o o Offset mechanism that produces the offset or effective address as in real mode Selector mechanism that produces the base address Optional paging mechanism that translates a linear address to the physical memory address The offset and base address are added together to produce the linear address as illustrated in Figure 2-22. If paging is not used, the linear address is used as the physical memory address. If paging is enabled, the paging mechanism is used to translate the linear address into the physical address. The offset mechanism is described earlier in this section and applies to both the real and protected modes. The selector and paging mechanisms are described in the following paragraphs. Figure 2-22. Protected-Mode Address Calculation Offset Mechanism Offset Address Linear Address Selector Mechanism 2.6.3.1 Optional Paging Mechanism Physical Memory Address Base Address 1---------------' Selector Mechanism Memory is divided into an arbitrary number of segments, each containing usually much less than the 2 32 -byte (4G-byte) maximum. The six Segment registers (CS, OS, SS, ES, FS and GS) each contain a 16-bit selector that is used when the register is loaded to locate a segment descriptor in either the global-descriptor table (GOT) or the local-descriptor table (LOT). The segment descriptor defines the base address, limit, and attributes of the selected segment and is cached on the microprocessor as a result of loading the selector. The cached descriptor contents are not visible to the programmer. When a memory reference occurs in protected mode, the linear address is generated by adding the segment base address in the hidden portion of the Segment register to the offset address. If paging is not enabled, this linear address is used as the physical memory address. Figure 2-23 illustrates the operation of the selector mechanism. Programming Interface 2-39 Memory Address Spac~ Figure 2-23. Selector Mechanism I---1----...,.---J JO} - 15 Selector Load ... Index (Accessed Segment Register) Selector Segment Descriptor Segment Descriptor Global-Descriptor Table Local-Descriptor Table Memory Reference 2.6.3.2 Til RPL ...... Descriptor Cache 1----~ Base Address Paging Mechanism The paging mechanism supports a memory subsystem that simulates a large address space with a small amount of RAM and disk storage. The paging mechanism either translates a linear address to its corresponding physical address or generates an exception if the required page is not currently present in RAM. When the operating system services the exception, the required page is loaded into memory and the instruction is then restarted. Pages are always 4K bytes in size and are aligned to 4K-byte boundaries. A page is addressed by using two levels of tables as illustrated in Figure 2-24. The upper 10 bits of the 32-bit linear address are used to locate an entry in the page-directory table. The page-directory table acts as a master index of up to 1K individual 32-bit pointers to second-level page tables. The selected entry in the page-directory table, referred to as the directory-table entry, identifies the starting address of the second-level page table. The page-directory table itself is a page and is therefore aligned to a 4K-byte boundary. The physical address of the current page directory is stored in the CR3 Control register, also referred to as the Page-Directory Base register (PDBR). 2-40 Figure 2-24. Paging Mechanism Linear Address 22 21 31 Directory-Table Index (DTI) o 12 11 Page-Table Index (PTI) Directory Table Page-Frame Offset (PFO) Page Table Page Frame 4KB 4 KB 4 KB ~ ~ ~ 8 DTE Physical Data - PTE r--- o .... ... o o Control Register Bits 12-21 of the 32-bit linear address, referred to as the page-table index, locate a 32-bit entry in the second-level page table. This page-table entry (PTE) contains the base address of the desired page frame. The second-level pagetable addresses up to 1K individual page frames. A second-level page table is 4K bytes in size and is itself a page. The lower 12 bits of the 32-bit linear address, referred to as the page-frame offset, locate the desired data within the page frame. Since the page-directory table can point to 1K page tables, and each page table can point to 1K page frames, a total of 1M page frames can be implemented. Since each page contains 4K bytes, up to 4G bytes of virtual memory can be addressed by the microprocessor with a single page-directory table. In addition to the base address of the page table orthe page frame, each directory-table entry or page-table entry contains attribute bits and a present bit, as illustrated in Figure 2-25 and listed in Table 2-19. Figure 2-25. Directory- and Page- Table Entry (DTE and PTE) Format 12 11 31 Base Address 10 Available 9 8 7 6 5 4 o A PCD 3 2 U/S W/R o P = Reserved Programming Interface 2-41 Memory Address Space Table 2-19. Directory- and Page- Table Entry (DTE and PTE) Bit Definitions Bit Position Field Name Description 31-12 Base Address Specifies the base address of the page or page-table 11-9 Undefined and available to the programmer 8-7 Reserved and not available to the programmer 6 D Dirty bit. If set, indicates that a write access has occurred to the page (PTE only, undefined in DTE) 5 A Accessed flag. If set, indicates that a read access or write access has occurred to the page 4 PCD Page caching disable flag. If set, indicates that the page is not cacheable in the on-chip cache 3 2 o Reserved and not available to the programmer U/S User/supervisor attribute. If set (user), page is accessible at all privilege levels. If clear (supervisor), page is accessible only when CPL :::; 2. W/R Write/read attribute. If set (write), page is writable. If clear (read), page is read only. P Present flag. If set, indicates that the page is present in RAM memory and validates the remaining DTE/PTE bits. If clear, indicates that the page is not present in memory and that the remaining DTE/PTE bits can be used by the programmer If the present bit (P) is set in the DTE, the page table is present and the appropriate page-table entry is read. If P = 1 in the corresponding PTE (indicating that the page is in memory), the accessed and dirty bits are updated and the operand is fetched. Both accessed bits (DTE and PTE) are set, if necessary, to indicate that the table and the page have been used to translate a linear address. The dirty bit (D) is set before the first write is made to a page. The present bits must be set to validate the remaining bits in the DTE and PTE. If either of the present bits is not set, a page fault is generated when the DTE or PTE is accessed. If P = 0, the remaining DTE/PTE bits are available for use by the operating system. For example, the operating system can use these bits to record where on the hard disk the pages are located. A page fault is also generated if the memory reference violates the page-protection attributes. 2.6.3.3 Trans/ation Look-Aside Buffer The translation look-aside buffer (TLB) is a cache for the paging mechanism and replaces the two-level page-table lookup procedure for cache hits. The TLB is a four-way, set-associative, 32-entry, page-table cache that automatically keeps the most commonly used page-table entries in the processor. The 32-entry TLB coupled with a 4K page size results in coverage of 128K bytes of memory addresses. The TLB must be flushed when entries in the page tables are changed. The TLB is flushed whenever the CR3 register is loaded. An individual entry in the TLB can be flushed using the INVLPG instruction. 2-42 Interrupts and Exceptions 2.7 Interrupts and Exceptions The processing of either an interrupt or an exception changes the normal sequential flow of a program by transferring program control to a selected service routine. Except for SMM interrupts, the location of the selected service routine is determined by one of the interrupt vectors stored in the interrupt-descriptor table. All true interrupts are hardware interrupts and are generated by signal sources external to the CPU. All exceptions, including so-called software interrupts, are produced internally by the CPU. 2.7.1 Interrupts External events can interrupt normal program execution by using one of the three interrupt pins on the TI486SXL(C) family of microprocessors. o o o Nonmaskable Interrupt (NMI pin) Maskable Interrupt (INTR pin) SMM Interrupt (SMI# pin) For most interrupts, program transfer to the interrupt routine occurs after the current instruction has been completed. When the execution returns to the original program, it begins immediately following the interrupted instruction. The NMI interrupt cannot be masked by software and always uses interrupt vector 2 to locate its service routine. Since the interrupt vector is fixed and is supplied internally, no interrupt-acknowledge bus cycles are performed. This interrupt is usually reserved for unusual situations such as parity errors and has priority over INTR interrupts. Once NMI processing has started, no additional NMls are processed until an IRET instruction is executed, typically at the end of the NMI service routine. If NMI is re-asserted prior to the execution of the IRET instruction, one and only one NMI rising edge is stored and then processed after execution of the next IRET. During the NMI service routine, maskable interrupts are still enabled. If an unmasked INTR occurs during the NMI service routine, the INTR is serviced and execution returns to the NMI service routine following the next IRET. If a HALT instruction is executed within the NMI service routine, the microprocessor restarts execution only in response to RESET, an unmasked INTR, or an SMM interrupt. NMI does not restart CPU execution under this condition. The INTR interrupt is unmasked when the interrupt enable flag (IF) in the EFLAGS register is set to 1. With the exception of string operations, INTR interrupts are acknowledged between instructions. Long string operations have interrupt windows between memory moves that allow INTR interrupts to be acknowledged. When an INTR interrupt occurs, the CPU performs two locked interrupt-acknowledge bus cycles. During the second cycle, the CPU reads an 8-bit vector that is supplied by an external interrupt controller. This vector selects which of Programming Interface 2-43 Interrupts and Exceptions the 256 possible interrupt handlers will be executed in response to the interrupt. The SMM interrupt has higher priority than either the INTR or NMI. After SMI# is asserted, program execution is passed to an SMI service routine that runs in SMM address space reserved for this purpose. The remainder of this subsection (2.7.2, Exceptions, through 2.7.6, Error Codes, page 2-48) does not apply for SMM interrupts. SMM interrupts are described in Section 2.8, System-Management Mode, page 2-49. 2.7.2 Exceptions Exceptions are generated by an interrupt instruction or a program error. Exceptions are classified as traps, faults, or aborts depending on the mechanism used to report them and the restartability of the instruction that first caused the exception. 2.7.2.1 Trap Exceptions A trap exception is reported immediately following the instruction that generated the trap exception. Trap exceptions are generated by execution of a software interrupt instruction during single stepping, at a breakpoint, or by software interrupt instruction (INTO, INT3, INTn, BOUND) by a single-step operation, or by a data breakpoint. Software interrupts can be used to simulate hardware interrupts. For example, an INTn instruction causes the processor to execute the interrupt service routine pointed to by the nth vector in the interrupt table. Execution of the interrupt service routine occurs regardless of the state of the IF flag in the EFLAGS register. The one-byte INT3, or breakpoint-interrupt (vector 3), is a particular case of the INTn instruction. By inserting this one-byte instruction in a program, the user can set breakpoints in code that can be used during debug. Single-step operation is enabled by setting the TF bit in the EFLAGS register. When TF is set, the CPU generates a debug exception (vector 1) after the execution of every instruction. Data breakpoints also generate a debug exception and are specified by loading the Debug registers (DRO-DR7) with the appropriate values. 2.7.2.2 Fault Exceptions A fault exception is caused by a program error and is reported prior to completion of the instruction that generated the exception. By reporting the fault prior to instruction completion, the CPU is left in a state that allows the instruction to be restarted and the effects of the faulting instruction to be nullified. Fault exceptions include divide-by-zero errors, invalid opcodes, page faults, and coprocessor errors. Debug exceptions (vector 1) are also handled as faults (except for data breakpoints and single-step operations). After execution of the fault service routine, the instruction pointer points to the instruction that caused the fault. 2-44 2.7.2.3 Abort Exceptions An abort exception is a type of fault exception severe enough that the CPU cannot restart the program at the faulting instruction. Abort exceptions include the double fault (vector 8) and coprocessor segment overrun (vector 9). 2.7.3 Interrupt Vectors When the CPU services an interrupt or exception, the current program's instruction pointer and flags are pushed onto the stack to allow resumption of execution of the interrupted program. In protected mode, the processor also saves an error code for some exceptions. Program control is then transferred to the interrupt handler (also called the interrupt service routine). Upon execution of an IRET at the end of the service routine, program execution resumes at the instruction-pointer address saved on the stack when the interrupt was serviced. 2.7.3.1 Interrupt-Vector Assignments Each interrupt (except SMI#) and each exception is assigned one of 256 interrupt-vector numbers (Table 2-20). The first 32 interrupt-vector assignments are defined or reserved. INT instructions acting as software interrupts can use any of the interrupt vectors, 0 through 255. The nonmaskable hardware interrupt (NMI) is assigned vector 2. In response to a maskable hardware interrupt (INTR), the microprocessor issues interrupt-acknowledge bus cycles used to read the vector number from external hardware. These vectors should be in the vector range of 32-255 because vectors 0-31 are predefined. 2.7.3.2 Interrupt-Descriptor Table The interrupt-vector number is used by the microprocessor to locate an entry in the interrupt-descriptor table (lOT). In real mode, each lOT entry consists of a four-byte far pointer to the beginning of the corresponding interrupt service routine. In protected mode, each lOT entry is an eight-byte descriptor. The Interrupt-Oescriptor-Table register (IOTR) specifies the beginning address and limit of the lOT. Following reset, the 10TR contains a base address of Oh with a limit of 3FFh. The lOT can be located anywhere in physical memory as determined by the 10TR register. The lOT can contain different types of descriptors: interrupt gates, trap gates, and task gates. Interrupt gates are used mainly to enter a hardware interrupt handler. Trap gates are generally used to enter an exception handler or software interrupt handler. If an interrupt gate is used, the interrupt enable flag (IF) in the EFLAGS register is cleared before the interrupt handier is entered. Task gates are used to make the transition to a new task. Programming Interface 2-45 Interrupts and Exceptions Table 2-20. Interrupt- Vector Assignments Interrupt Vector o 2.7.4 Exception Type Divide error Fault Debug exception Trap (see Note) 2 NMI interrupt 3 Breakpoint Trap 4 Interrupt on overflow Trap 5 BOUND range exceeded Fault 6 Invalid opcode Fault 7 Device not available Fault 8 Double fault Abort 9 Coprocessor segment overrun Abort 10 Invalid TSS Fault 11 Segment not present Fault 12 Stack fault Fault 13 General-protection fault Fault 14 Page fault FaultlTrap 15 Reserved 16 Coprocessor error Fault 17 Alignment-check exception Fault 18-31 Note: Function Reserved 32-255 Maskable hardware interrupts Trap 0-255 Programmed interrupt Trap Some debug exceptions may report traps on the previous instruction and faults on the next instruction. Interrupt and Exception Priorities As the TI486SXL(C) family of microprocessors executes instructions, each follows a consistent policy for prioritizing exceptions and hardware interrupts as listed in Table 2-21. SMM interrupts always take precedence. Debug traps for the previous instruction and next instruction are handled in the next priority. When NMI and maskable INTR interrupts are both detected at the same instruction boundary, the microprocessor services the NMI interrupt first. The microprocessor checks for exceptions in parallel with instruction decoding and execution. Several exceptions can result in a single instruction. However, only one exception is generated upon each attempt to execute the instruction. Each exception service routine should make the appropriate corrections to the instruction and then restart the instruction. In that way, exceptions can be serviced until the instruction executes properly. The microprocessor supports instruction restart after all faults except when an instruction causes a task switch to a task whose task-state segment (TSS) is 2-46 Interrupts and Exceptions partially not present. A TSS can be partially not present if the TSS is not page aligned and one of the pages (where the TSS resides) is not currently in memory. Table 2-21. Interrupt and Exception Priorities Priority Description Notes Debug traps and faults from previous instruction Includes single-step trap and data breakpoints specified in the Debug registers 2 Debug traps for next instruction Includes instruction execution breakpoints specified in the Debug registers 3 Nonmaskable hardware interrupt Caused by N M I asserted 4 Maskable hardware interrupt Caused by INTR asserted and IF = 1 5 Faults resulting from fetching the next instruction Includes segment not present, general-protection fault, and page fault 6 Faults resulting from instruction decoding Includes illegal opcode, instruction too long, and privilege violation 7 WAIT instruction and TS 8 ESC instruction and EM = 1 or TS = 1 Device not available exception generated 9 Coprocessor-error exception Caused by ERROR# asserted 10 Segmentation faults (for each memory reference required by the instruction) that prevent transferring the entire memory operand Includes segment not present, stack fault, and general-protection fault 11 Page faults that prevent transferring the entire memory operand 12 Alignment-check fault 2.7.5 = 1 and MP = 1 Device not available exception generated Exceptions in Real Mode Many of the exceptions described in Table 2-20 are not applicable in real mode. Exceptions 10, 11, and 14 do not occur in real mode. Other exceptions have slightly different meanings in real mode, as listed in Table 2-22. Table 2-22. Exception Changes in Real Mode Vector Number Protected-Mode Function Real Mode Function 8 Double fault Interrupt table limit overrun 10 Invalid TSS 11 Segment not present 12 Stack fault SS segment limit overrun 13 General-protection fault CS,DS,ES,FS,GSsegme~ limit overrun 14 Page fault Programming Interface 2-47 Interrupts and Exceptions 2.7.6 Error Codes When operating in protected mode, the following exceptions generate a 16-bit error code: o o o o o o o Double fault Alignment check Invalid TSS Segment not present Stack fau It General-protection fault Page fault The error-code format is shown in Figure 2-26 and the error-code bit definitions are listed in Table 2-23. Bits 15-3 (selector index) are not meaningful if the error code was generated as the result of a page fault. The error code is always zero for double faults and alignment-check exceptions. Figure 2-26. Error-Code Format 3 15 Selector Index o 2 S2 S1 SO Table 2-23. Error-Code Bit Definitions Fault Type Selector Index (Bits 15-3) Page fault S2 (Bit 2) S1 (Bit 1) SO (Bit 0) Reserved Fault caused by: = not present page 1 = page-level protection violation Fault occurred during: = read access 1 = write access Fault occurred during: = supervisor access 1 = user access lOT fault Index of faulty lOT selector Reserved Segment fault Index of faulty selector TI bit of faulty selector 2-48 o o o If set, the exception occurred while trying to or invoke exception hardware interrupt handler. 0 If set, the exception occurred while trying to invoke exception or hardware interrupt handler. System-Management Mode 2.8 System-Management Mode System-management mode (SMM) provides an additional interrupt that can be used for system power management or software-transparent emulation of I/O peripherals. SMM is entered using the software-management interrupt (SMI#) which has a higher priority than any other interrupt, including NMI. After receiving an SMI#, portions of the CPU state are automatically saved, SMM is entered and program execution begins at the base of SMM space (Figure 2-27 and Figure 2-28). Running in protected SMM address space, the interrupt routine does not interfere with the operating system or any application program. Seven SMM instructions have been added to the TI486SXL(C) microprocessor family instruction set that permit saving and restoring the total CPU state when in SMM mode. Two new pins, SMI# and SMADS#, support SMM functions. Figure 2-27. TI486SXLC Memory and 110 Address Spaces Physical Memory Space FFFFFFh~--------------------~ Potential SMM Addres Space FF FFFFh Defined SMM Address Space Physical Memory 16M bytes 4K bytes to 16M bytes OOOOOOh ________________________ Non-SMM Mode ADS#Active SMADS# Active ADS# Active OOOOOOh ________________________ SMM Mode Programming Interface 2-49 System-Management Mode Figure 2-28. TI486SXL Memory and liD Address Spaces Physical Memory Space FFFF FFFFh Potential SMM Address Space FFFF FFFFh Defined SMM Address Space Physical Memory 4G bytes 4K bytes to 16M bytes 0000 OOOOh _ _ _ _ _ __ ADS# Active 0000 OOOOh _ _ _ _ _ __ Non-SMM Mode ADS#Active 2.8.1 SMADS# Active SMM Mode SMM Operations SMM operation is summarized in Figure 2-29. Entering SMM requires the assertion of SMI# for at least four CLK2 periods. For the SMI# input to be recognized, the following Configuration register bits must be set as shown below: SMI 8MAC 8M4 ARR4 CCR1 (1) CCR1 (2) CCR1 (7) SIZE(3-0) =1 =0 =1 >0 The Configuration registers are discussed in subsection 2.5, System Register Set, page 2-16. After recognizing SMI# and prior to executing the SMI service routine, some of the CPU-state information is changed. Prior to modification, this information is automatically saved in the 8MM memory-space header located at the top of the 8MM memory space. After the header is saved, the CPU enters real mode and begins executing the 8MI service routine starting at the SMM memory base address. The 8MI service routine is user definable and may contain system or powermanagement software. If the power-management software forces the CPU to power down, or if the 8MI service routine modifies more than what is automatically saved, the complete CPU-state information must be saved. 2-50 System-Management Mode Figure 2-29. SMM Execution Flow Diagram SMI# Sampled Active CPU State Stored in SMM Address-Space Header Program Flow Transfers to SMM Address Space CPU Enters Real Mode Execution Begins at SMM Address-Space Base Address RSM Instruction Restores CPU State Using Header Information Normal Execution Resumes A complete CPU-state save is performed by using MOV instructions to save normally accessible information, and by using the SMM instructions to save CPU information that is not normally accessible to the programmer. As will be explained, SMM instructions (SVDC, SVLDT, and SVTS) are used to store the LDTR, TSR, and Segment registers and their associated descriptor cache entries in aO-bit memory locations. After power up or at the end of the SM I service routine, the MOV and additional SMM instructions (RSDC, RSLDT, and RSTS) are used to restore the CPU state. The SMM RSM instruction returns the CPU to normal execution. 2.8.2 SMM Memory Space Header With every SMI interrupt, certain CPU-state information is automatically saved in the SMM memory space header located at the top of SMM address space (Table 2-24 and Figure 2-30). The header contains CPU-state information that is modified when servicing an SMI interrupt. Included in this information are two pointers. The current IP points to the instruction executing when the SMI was detected. The next IP points to the instruction that will be executed after exiting SMM. Also saved are the contents of Debug register? (DR?), the extended Flag Word register (EFLAGS), and Control register 0 (CRO). If SMM has been entered due to an 1/0 trap for a REP INSx or REP OUTSx instruction, the current IP and next IP fields (Table 2-24) contain the same addresses and the I and P fields contain valid information. Programming Interface 2-51 SV~5tel77-"lIarla!J,ement Mode Table 2-24. SMM Memory Space Header Name Description Size DR? The contents of the Debug register? 4 bytes EFLAGS The contents of the extended flag register 4 bytes CRO The contents of the Control register 0 4 bytes Current IP The address of the instruction executed prior to servicing the SMI interrupt 4 bytes Next IP The address of the next instruction that will be executed after exiting the SMM mode 4 bytes CS Selector Code Segment register selector for the current code segment 2 bytes CS Descriptor Code register descriptor for the current code segment 8 bytes P REP INSx/OUTSxt Indicator P is 1 if current instruction has a REP prefix P is 0 if current instruction does not have REP prefix 1 bit IN, INSx, OUT, or OUTSx Indicator I is 1 if current instruction performed is an I/O WRITE I is 0 if current instruction performed is an I/O READ 1 bit ESI or EDI t Restored ESI or EDI value. Used when it is necessary to repeat a REP OUTSx or 4 bytes REP INSx instruction when one of the 1/0 cycles caused an SMI# trap INSx = INS, INSB, INSW, or INSD instruction, and OUTSx = OUTS, OUTSB, OUTSW, or OUTSD instruction. Figure 2-30. SMM Memory Space Header o 31 Top of SMM ----. Address Space DR? -4h EFLAGS -8h CRO -Ch Current IP -10h Next IP 16 15 31 Reserved I 0 -14h CS Selector -18h CS Descriptor (Bits 63-32) 31 CS Descriptor (Bits 31-0) Reserved -1Ch 2 1 0 Ipl'l -20h -24h Reserved -28h Reserved -2Ch ESI or EDI 2.8.3 -30h SMM Instructions The TI486SXL(C) microprocessor family automatically saves the minimal amount of CPU-state information when entering SMM that allows fast SMI service routine entry and exit. After entering the SMI service routine, the MOV, SVDC, SVLDT, and SVTS instructions can be used to save the complete CPU 2-52 Sv~)teln-lI.l/an'aaj9mI9nt Mode state information. If the SMI service routine either modifies more than what is automatically saved or forces the CPU to power down, the complete CPUstate information must be saved. Since the TI486SXL(C) microprocessors are static devices, their internal state is retained when the input clock is stopped. Therefore, an entire CPU-state save is not necessary prior to stopping the input clock. The new SMM instructions, listed in Table 2-25, can be executed only if: (a) the current privilege level (CPL) = 0 and the SMAC bit (CCR1 , bit 2) is set; or (b) CPL = 0 and the CPU is in an SMI service routine (SMI# = 0). If both these conditions are not met and an attempt is made to execute an SMM instruction, an invalid-opcode exception is generated. These instructions can be executed outside of defined SMM space provided the above conditions are met. All of the SMM instructions (except RSM) save or restore 80 bits of data, allowing the saved values to include the hidden portion of the register contents. Table 2-25. SMM Instruction Set t Instruction Opcode Format Description SVOC OF 78 [mod sreg3 rim] SVOC mem80t, sreg3 Save Segment register and Descriptor Saves reg OS, ES, FS, GS, or SS to mem80 RSOC OF 79 [mod sreg3 rim] RSOC sreg3, mem80 Restore Segment register and Descriptor Restores reg OS, ES, FS, GS, or SS from mem80 (eS is automatically restored with RSM) SVLOT OF 7A [mod 000 rim] SVLOT mem80 Save LDTR and Descriptor Saves local-descriptor table mem80 (LOTR) to RSLOT OF 7B [mod 000 rim] RSLOT mem80 Restore LDTR and Descriptor Restores local-descriptor table (LOTR) from mem80 SVTS OF 7C [mod 000 rim] SVTS mem80 Save TSR and Descriptor Save Task-State register (TSR) to mem80 RSTS OF 70 [mod 000 rim] RSTS mem80 Restore TSR and Descriptor Restores Task-State register (TSR) from mem80 RSM OF AA RSM Resume Normal Mode Exits SMM mode. The CPU state is restored using the SMM memory space header and execution resumes at interrupted point. mem80 = 80-bit memory location. Programming Interface 2-53 System-Management Mode 2.8.4 SMM Memory Space SMM memory space is defined by assigning address region 4 to SMM memory space. This assignment is made by setting bit 7 (SM4) in the on-chip CCR1 register. ARR4, also an on-chip Configuration register, specifies the base address and size of the SMM memory space. The base address must be a multiple of the SMM memory space size. For example, a 32K-byte SMM memory space must be located at a 32K-byte address boundary. The memory space size can range from 4K bytes to 16M bytes. SMM memory space accesses can use address pipelining, and are always noncacheable. SMM accesses ignore the state of the A20M# input and drive the A20 address bit to the unmasked value. Access to the SMM memory space can be made while not in SMM mode by setting the system-management access (SMAC) bit in the CCR1 register. This feature can be used to initialize the SMM memory space. While in SMM mode, SMADS# address strobes are generated instead of ADS# for SMM memory accesses. Any memory accesses outside the defined SMM space result in normal memory accesses and ADS# strobes. Data (noncode) accesses to main memory that overlap defined SMM memory space are allowed if bit 3 in CCR1 (MMAC) is set. In this case, ADS# strobes are generated for data accesses only and SMADS# strobes continue to be generated for code accesses. 2.8.5 SMI Service Routine Execution Upon entry into SMM after the SMM header has been saved, the CRO, EFLAGS, and DR7 registers are set to their reset values. The Code Segment (CS) register is loaded with the base and limits defined by the ARR4 register and the SMI service routine begins execution at the SMM base address in real mode. The routine must then save the value of any registers that can be changed by the SMI service routine. For data accesses immediately after entering the SMI service routine, the routine must use CS as a segment override. I/O port access is possible during the routine but care must be taken to save registers modified by the I/O instructions. Before using a Segment register, the register's descriptor-cache contents should be saved using the SVDC instruction. While executing in SMM space, execution flow can transfer to normal memory locations. Hardware interrupts (INTRs and NMls) can be serviced during an SMI service routine. If interrupts are to be serviced while operating in SMM memory space, the SMM memory space must be within the 0 to 1M-byte address range to assure proper return to the SMI service routine after handling the interrupt. INTRs are automatically disabled when entering SMM since the IF flag is set to its reset value. However, NMls remain enabled. If it is desired to disable NMI, it should be done immediately after entering the SMI service routine by the system hardware logic. Within the SMI service routine, protected mode can be entered and exited as required, and real- or protected-mode device drivers can be called. 2-54 System-Management Mode To exit the SMI service routine, a resume (RSM) instruction, rather than an IRET, is executed. The RSM instruction causes the microprocessor to restore the CPU state using the SMM header information and resume execution at the interrupted point. If the full CPU state was saved by the programmer, the stored values should be reloaded prior to executing the RSM instruction using the MOV and the RSDC, RSLDT, and RSTS instructions. 2.8.6 CPU States Related to SMM and Suspend Mode The state diagram shown in Figure 2-31 illustrates the various CPU states associated with SMM and suspend mode. While in the SMI service routine, the TI486SXL(C) microprocessor family can enter suspend mode either by executing a HALT instruction or by asserting the SUSP# input. During SMM operation and while in SUSP#-initiated suspend mode, an occurrence of either NMI or INTR is latched. In order for INTR to be latched, the IF flag must have been set. The INTR or NMI is serviced after exiting suspend mode. If suspend mode is entered via a HALT instruction from the operating system or application software, the reception of an SMI# interrupt causes the CPU to exit suspend mode and enter SMM. If suspend mode is entered via the hardware (SUSP# = 0) while the operating system or application software is active, the CPU latches one occurrence of INTR#, NMI, and SMI#. Programming Interface 2-55 System-Management Mode Figure 2-31. SMM and Suspended-Mode Flow Diagram NMI or INTR HALT* IRET* SUSP# RESET------~~~~ =0 as/Application Software SUSP# =1 (INTR, NMI, and SMI Latched) Non-SMM Oerations - -SMM - -Operations ------- INTR and NMI * Instructions 2-56 (INTR and NMI Latched) Shutdown and Halt / Protection 2.9 Shutdown and Halt Shutdown occurs when a severe error is detected that prevents further processing. An NMI input can bring the processor out of shutdown if the IDT limit is large enough to contain the NMI interrupt vector (at least OOOFh) and the stack has enough room to contain the vector and flag information (Le., stack pointer is greater than OOOSh). Otherwise, shutdown can be exited only by a processor reset. The halt (HLT) instruction stops program execution and prevents the processor from using the local bus until restarted. The microprocessor then enters a low-power suspend mode. INTR with interrupts enabled (IF bit in EFLAGS = 1), SMI, NMI, or RESET forces the CPU out of the halt state. If interrupted, the saved code segment and instruction pointer specify the instruction following the HLT. 2.10 Protection Segment protection and page protection are safeguards built into the TI486SXL(C) microprocessor family protected-mode architecture that deny unauthorized or incorrect access to selected memory addresses. These safeguards allow multitasking programs to be isolated from each other and from the operating system. Page protection is discussed in subsection 2.6.3, Protected-Mode Memory Addressing, page 2-39. This section concentrates on segment protection. Selectors and descriptors are the key elements in the segment-protection mechanism. The segment base address, size, and privilege level are established by a segment descriptor. Privilege levels control the use of privilege instructions, 1/0 instructions, and access to segments and segment descriptors. Selectors are used to locate segment descriptors. Segment accesses are divided into two basic types, those involving code segments (e.g., control transfers) and those involving data accesses. The ability of a task to access a segment depends on: o o o o the the the the segment type instruction requesting access type of descriptor used to define the segment associated privilege levels Data stored in a segment can be accessed only by code executing at the same or a more privileged level. A code segment or procedure can be called only by a task executing at the same or a less privileged level. 2. 10.1 Privilege Levels The values for privilege levels range between 0 and 3. Level 0 is the highest privilege level (most privileged), and level 3 is the lowest privilege level (least privileged). The privilege level in real mode is effectively O. The descriptor privilege level (DPL) is the privilege level defined for a segment in the segment descriptor. The DPL field specifies the minimum privilege level needed to access the memory segment pointed to by the descriptor. Programming Interface 2-57 Protection The current privilege level (CPL) is defined asthe current task's privilege level. The CPL of an executing task is stored in the hidden portion of the Code Segment register and essentially is the DPL for the current code segment. The requested privilege level (RPL) specifies a selector's privilege level and is used to distinguish between the privilege level of a routine actually accessing memory (the CPL), and the privilege level of the original requestor (the RPL) of the memory access. The lower privilege level (0 is highest) of RPL and CPL is called the effective privilege level (EPL). Therefore, if RPL = 0 in a segment selector, the effective privilege level is always determined by the CPL. If RPL = 3, the effective privilege level is always 3 regardless of CPL. For a memory access to succeed, the effective privilege level (EPL) must be at least as privileged as the descriptor privilege level (EPL ~ DPL). If the EPL is less privileged than the DPL (EPL < DPL), a general-protection fault is generated. For example, if a segment has a DPL = 2, an instruction accessing the segment succeeds only if executed with an EPL ~ 2. 2.10.2 1/0 Privilege Levels The 1/0 privilege level (IOPL) allows the operating system executing at CPL = 0 to define the least-privileged level at which 10PL-sensitive instructions can be used unconditionally. The 10PL-sensitive instructions include CLI, IN, OUT, INS, OUTS, REP INS, REP OUTS, and STI. Modification of the IF bit in the EFLAGS register is also sensitive to the 1/0 privilege level. The 10PL is stored in the EFLAGS register. An 1/0 permission bit map is available as defined by the 32-bit task-state segment (TSS). Since each task can have its own TSS, access to individual 1/0 ports can be granted through separate 1/0 permission bit maps. If CPL ::;; 10PL, 10PL-sensitive operations can be performed. If CPL > 10PL, a general-protection fault is generated if the current task is associated with a 16-bit TSS. If the current task is associated with a 32-bit TSS and CPL > 10PL, the CPU consults the 1/0 permission bit map in the TSS to determine on a portby-port basis whether or not I/O instructions (IN, OUT, INS, OUTS, REP INS, REP OUTS) are permitted, and the remaining 10PL-sensitive operations generate a general-protection fault. 2.10.3 Privilege Level Transfers A task's CPL can be changed only through intersegment control transfers using gates or task switches to a code segment with a different privilege level. Control transfers result from exception and interrupt servicing and from execution of the CALL, JMP, INT, IRET, and RET instructions. 2.10.3. 1 Control Transfers The five types of control transfers are summarized in Table 2-26. Control transfers can be made only when the operation causing the control transfer references the correct descriptor type. Any violation of these descriptor-usage rules causes a general-protection fault. 2-58 Protection Table 2-26. Descriptor Types Used for Control Transfer Descriptor Referenced Descriptor Table Intersegment within the same privilege JMP, CALL, RET, IRET level Code segment GOT or LOT Intersegment to the same or a more CALL privileged level. Interrupt within task Interrupt instruction, Excep(could change CPL level) tion, External interrupt Call gate GOT or LOT Type Of Control Transfer Operation Types Trap or interrupt lOT gate Intersegment to a less privileged level RET,IRET (changes task CPL) Code segment GOT or LOT Task switch via TSS CALL, JMP Task-state segment GOT Task switch via task gate CALL, JMP Task gate GOT or LOT Task switch via task gate IRET, Interrupt instruction, Task gate Exception, External interrupt lOT Any control transfer that changes the CPL within a task results in a change of stack. The initial values for the stack segment (SS) and stack pointer (ESP) for privilege levels 0, 1, and 2 are stored in the TSS. Ouring a JMP or CALL control transfer, the SS and ESP are loaded with the new stack pointer and the previous stack pointer is saved on the new stack. When returning to the original privilege level, the RET or IRETinstruction restores the less-privileged stack. 2.10.3.2 Gates Gate descriptors provide protection for privilege transfers among executable segments. Gates are used to transition to routines of the same or a more privileged level. Call gates, interrupt gates, and trap gates are used for privilege transfers within a task. Task gates are used to transfer between tasks. Gates conform to the standard rules of privilege.· In other words, gates can be accessed by a task if the effective privilege level (EPL) is the same or more privileged than the gate descriptor's privilege level (OPL). 2.10.4 Initialization and Transition to Protected Mode The TI486SXL(C) microprocessor family switches to real mode immediately after RESET. While operating in real mode, the system tables and registers should be initialized. The GOTR and IOTR must point to a valid GOT and lOT, respectively. The size of the lOT should be at least 256 bytes, and the GOT must contain descriptors that describe the initial code and data segments. The processor can be placed in protected mode by setting the PE bit in the CRO register. After enabling protected mode, the CS register should be loaded and the instruction-decode queue should be flushed by executing an intersegment JMP. Finally, all data Segment registers should be initialized with appropriate selector values. Programming Interface 2-59 Virtua/-8086 Mode 2.11 Virtual-SOS6 Mode Both real mode and virtual-8086 (V86) mode are supported by the TI486SXL(C) microprocessor family, allowing execution of 8086 application programs and 8086 operating systems. V86 mode allows the execution of 8086-type applications, yet still permits use of the TI486SXL(C) microprocessor-protection mechanism. V86 tasks run at privilege level 3. Upon entry, all segment limits are set to FFFFh (64K) as in real mode. 2.11.1 Memory Addressing While in V86 mode, Segment registers are used in the same manner as in real mode. The contents of the Segment register are shifted left four bits and added to the offset to form the segment base linear address. The TI486SXL(C) microprocessor family permits the operating system to select which programs use the V86 address mechanism and which programs use protected-mode addressing for each task. The TI486SXL(C) microprocessor family also permits the use of paging when operating in V86 mode. Using paging, the 1M-byte address space of the V86 task can be mapped to anywhere in the 4G-byte linear address space of the microprocessor CPU. As in real mode, linear addresses that exceed 1M byte cause a segment-limit-overrun exception. The paging hardware allows multiple V86 tasks to run concurrently, and provides protection and operating-system isolation. The paging hardware must be enabled to run multiple V86 tasks or to relocate the address space of a V86 task to physical address space above 1M byte. 2.11.2 Protection All V86 tasks operate at the lowest privilege level (level 3) and are subject to all of the microprocessor protected-mode protection checks. As a result, any attempt to execute a privileged instruction within a V86 task results in a general-protection fault. In V86 mode, a slightly different set of instructions is sensitive to the 1/0 privilege level (IOPL) than in protected mode. These instructions are: CLI, INTn, IRET, POPF, PUSHF, and STI. The INT3, INTO and BOUND variations of the INT instruction are not 10PL sensitive. 2.11.3 Interrupt Handling To fully support the emulation of an 8086-type machine, interrupts in V86 mode are handled as follows. When an interrupt or exception is serviced in V86 mode, program execution transfers to the interrupt service routine at privilege level 0 (i.e., transition from V86 to protected mode occurs) and the VM bit in the EFLAGS register is cleared. The protected-mode interrupt service routine then determines if the interrupt came from a protected-mode or V86 application by examining the VM bit in the EFLAGS image stored on the stack. The interrupt service routine can then choose to allow the 8086 operating system 2-60 Virtual-8086 Mode to handle the interrupt or can emulate the function of the interrupt handler. Following completion of the interrupt service routine, an IRET instruction restores the EFLAGS register (restores VM = 1) and segment selectors and control returns to the interrupted V86 task. 2.11.4 Entering and Leaving Va6 Mode V86 mode is entered from protected mode either by executing an IRET instruction at CPL = 0 or by task switching. If an IRET is used, the stack must contain an EFLAGS image with VM = 1. If a task switch is used, the TSS must contain an EFLAGS image containing a 1 in the VM bit position. The POPF instruction cannot be used to enter V86 mode since the state of the VM bit is not affected. V86 mode can be exited only as the result of an interrupt or exception. The transition out must use a 32-bit trap or interrupt gate that must point to a nonconforming privilege level 0 segment (DPL =0), or a 32-bit TSS. These restrictions are required to permit the trap handler to IRET back to the V86 program. Programming Interface 2-61 2-62 Chapter 3 TI486SXLC Microprocessor Bus Interface This chapter provides a summary of the TI486SXLC series processor signals and descriptions of all inputs/outputs, functional timing and bus operations (including pipelined and nonpipelined addressing), various interfaces, and power management. Topic Page .~ •...••............ ~ .•... \..• ~ ....•• 'o • • ~. • • 3..2 3.1 InputlOutputSignals 3~2 Bus-Cycle Definition ................... ~ ............... .; •. ~ .•.•. '3-13 3.3 . ResetTimingand InternafClockSyhchronization .' •. '" ........ ~ .3..17 "" 3.4 ~ , , ~ : ;:' " , "e ' , ' , " ',' ~ , BusOperationand:Functi,onaITiirlihg ................... ~ .•.•• cO.·3-1~ 3-1 Input/Output Signals 3.1 Input/Output Signals This section describes the TI486SXLC series microprocessors' input and output signals. The discussion of these signals is arranged by functional groups as shown in Figure 3-1. Table 3-1 gives a brief description of each signal. Figure 3-1. TI486SXLC Functional Signal Groupings 2x Clock CLK2 TI486SXLC INTR NMI Reset Address Bus RESET { Data Bus Bus Cycle Definition Bus Cycle Control 3-2 { { A23-A1 BLE# } Interrupt Control } Internal Cache Interface SMI# KEN# FLUSH# BHE# D15-DO A20M# W/R# PEREQ D/C# BUSY# M/IO# HOLD NA# HLDA ADS# SMADS# } Coprocessor Interface } Bus Arbitration } Power Management ERROR# LOCK# READY# Address Bit-20 Mask SUSP# SUSPA# FLT# Float Control Input/Output Signals Table 3-1. TI486SXLC Signal Summary Signal Signal Name Signal Group ADS# Address strobe Bus-cycle control A20M# Address bit-20 mask None A23-A1 Address bus lines Address bus BHE# Byte-high enable Address bus BlE# Byte-low enable Address bus BUSY# Processor extension busy Coprocessor interface ClK2 2X clock input None 015-00 Data bus lines None D/C# Data/control Bus-cycle definition ERROR# Processor extension error Coprocessor interface FlT# Float None FlUSH# Cache flush Internal cache interface HlDA Hold acknowledge Bus arbitration HOLD Hold request Bus arbitration INTR Maskable interrupt request Interrupt control KEN# Cache enable Internal cache interface lOCK# Bus lock Bus-cycle definition M/IO# Memory/input-output Bu~-cycle NA# Next address request Bus-cycle control NMI Nonmaskable interrupt request Interrupt control PEREQ Processor extension request Coprocessor interface READY# Bus ready Bus-cycle control RESET Reset None SMADS# SMM address strobe Bus-cycle control SMI# System management interrupt Interrupt control SUSP# Suspend request Power management SUSPA# Suspend acknowledge Power management W/R# Write/read Bus-cycle definition definition The following sections describe the signals and their functional characteristics. Additional signal information can be found in Chapter 5, Electrical Specifications. Chapter 5 documents the dc and ac characteristics for the signals including voltage levels, propagation delays, setup times, and hold times. Specified setup and hold times must be met for proper operation of the TI486SXLC series microprocessors. Tl486SXLC Microprocessor Bus Interface 3-3 Input/Output Signals 3.1.1 TI486SXLC Terminal Function Descriptions Table 3-2 identifies and describes each of the TI486SXLC package terminals. Table 3-2. TI486SXLC Terminal Functions Terminal Name No. Description A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 18 51 52 53 54 55 56 58 59 60 61 62 64 65 66 70 72 73 74 75 76 79 80 ADS# 16 Address Strobe (active low). This 3-state output indicates that the TI486SXLC microprocessor has driven a valid address (A23-A 1, BHE#, BLE#) and bus-cycle definition (M/IO#, D/C#, W/R#) on the appropriate output pins. During nonpipelined bus cycles, ADS# is active for the first clock of the bus cycle. During address pipelining, ADS# is asserted during the previous bus cycle and remains asserted until READY# is returned for that cycle. ADS# floats while the microprocessor is in a hold-acknowledge or float state. A20M# 31 Address Bit-20 Mask (active low). This input causes the microprocessor to mask (force low) physical address bit 20 when driving the external address bus or performing an internal cache access. When the processor is in real mode, asserting A20M# emulates the 1M-byte address wraparound that occurs on the 8086. The A20 signal is never masked when paging is enabled regardless of the state of the A20M# input. The A20M# input is ignored following reset and can be enabled using the A20M bit in the CCRO Configuration register. Address Bus (active high). The address bus (A23-A 1) signals are 3-state outputs that provide addresses for physical memory and 1/0 ports. All address lines can be used for addressing physical memory allowing a 16M-byte address space (00 OOOOh to FF FFFFh). During 1/0 port accesses, A23-A16 are driven low (except for coprocessor accesses). This permits a 64K-byte 1/0 address space (00 OOOOh to 00 FFFFh). During all coprocessor 1/0 access address lines A22-A 16 are driven low and A23 is driven high. This allows A23 to be used by external logic to generate a coprocessor select signal. Coprocessor command transfers occur with address 80 00F8h and coprocessor data transfers occur with addresses 80 OOFCh and 80 OOFEh. A23-A 1 float while the CPU is in a hold-acknowledge or float state. A20M# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. 3-4 Input/Output Signals Table 3-2. TI486SXLC Terminal Functions (Continued) Terminal Name No. Description BHE# BLE# 19 17 Byte Enables (active low). Byte-low enable (BLE#) and byte-high enable (BHE#) 3-state outputs indicate which byte( s} of the 16-bit data bus are selected for data transfer during the current bus cycle. BLE# selects the low byte (07-00) and BHE# selects the high byte (015-08). When BHE# and BLE# are asserted, both bytes (all 16 bits) of the data bus are selected. BLE# and BHE# float while the CPU is in a hold-acknowledge or float state. BHE# = BLE# = 1 never occurs during a bus cycle. BUSY# 34 Coprocessor Busy (active low). This input indicates to the TI486SXLC that the coprocessor is currently executing an instruction and is unable to accept another opcode. When the microprocessor encounters a WAIT instruction or any coprocessor instruction that operates on the coprocessor stack (Le., load, pop, arithmetic operation), BUSY# is sampled. BUSY# is continually sampled and must be recognized as inactive before the CPU supplies the coprocessor another instruction. However, coprocessor instructions FNINIT and FNCLEX are allowed to execute even if BUSY# is active because they are used for coprocessor initialization and exception clearing. BUSY# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. CLK2 15 2X Clock Input (active high). This input signal is the basic timing reference for the TI486SXLC microprocessors. The CLK2 input is internally divided by two to generate the internal processor clock. The external CLK2 is synchronized to a known phase of the internal processor clock by the falling edge of the RESET signal. External timing parameters are defined with respect to the rising edge of CLK2. For the TI486SXLC2 microprocessors, the CLK2 input is used internally to generate the internal core processor clock and the internal bus interface clock. The external CLK2 is synchronized to a known phase of the internal processor clock by the falling edge of the RESET signal. External timing parameters are defined with respect to the rising edge of CLK2. O/C# 24 Data/Control. This 3-state, bus-cycle-definition signal is low during control cycles and is high during data cycles. Control cycles are issued during functions such as a halt instruction, interrupt servicing, and code fetching. Data bus cycles include data access from either memory or 110. Tl486SXLC Microprocessor Bus Interface 3-5 Input/Output Signals Table 3-2. TI486SXLC Terminal Functions (Continued) Terminal Name No. Description 00 01 02 03 04 05 06 07 08 D9 010 011 012 013 014 015 1 100 99 96 95 94 93 92 90 89 88 87 86 83 82 81 Oata Bus (active high). The data bus (015-00) signals are 3-state bidirectional signals that provide the data path between the microprocessor and external memory and I/O devices. The data bus inputs data during memory-read, I/O-read, and interrupt-acknowledge cycles and outputs data during memory and I/O-write cycles. Oata read operations require that specified data setup and hold times be met for correct operation. The data bus signals float while the CPU is in a hold-acknowledge or float state. ERROR# 36 Coprocessor Error (active low). This input indicates that the coprocessor generated an error during execution of an instruction. ERROR# is sampled by the microprocessor whenever a coprocessor instruction is executed. If ERROR# is sampled active, the processor generates exception 16 that is then serviced by the exception handling software. Certain coprocessor instructions do not generate an exception 16 even if ERROR# is active. These instructions, which involve clearing coprocessor error flags and saving the coprocessor state, are: FNINIT, FNCLEX, FNSTSW, FNSTCW, FNSTENV, FNSAVE. ERROR# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. FLT# 28 Float (active low). This input forces all bidirectional and output signals to a 3-state condition. Floating the signals allows the microprocessor signals to be driven externally without physically removing the device from the circuit. The microprocessor must be reset following assertion or deassertion of FLT#. It is recommended that FLT# be used only for test purposes. FLT# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. FLUSH# 30 Cache Flush (active low). This input invalidates (flushes) the entire cache. Use of FLUSH# to maintain cache coherency is optional. The cache may also be invalidated during each hold-acknowledge cycle by setting the BARB bit in the CCRO Configuration register. The FLUSH# input is ignored following reset and can be enabled using the FLUSH bit in the CCRO Configuration register. FLUSH# is internally connected to a pullup resistor to prevent it from "floating active when left unconnected. 3-6 Input/Output Signals Table 3-2. TI486SXLC Terminal Functions (Continued) Terminal Name HOLD No. 4 Description Hold Request (active high). This input indicates that another bus master requests control of the local bus. The bus arbitration (HOLD, HLDA) signals allow the microprocessor to relinquish control of its local bus when requested by another bus master device. Once the processor has relinquished its bus (3-stated), the bus master device can then drive the local bus signals. After recognizing the HOLD request and completing the current bus cycle or sequence of locked bus cycles, the microprocessor responds by floating the local bus and asserting the hold-acknowledge (HLDA) output. Once HLDA is asserted, the bus remains granted to the requesting bus master until HOLD becomes inactive. When the microprocessor recognizes HOLD is inactive, it simultaneously drives the local bus and drives HLDA inactive. External pullup resistors may be required on some of the microprocessor 3-state outputs to ensure that they remain inactive while in a hold-acknowledge state. The HOLD input is not recognized while RESET is active. If HOLD is asserted while RESET is active, RESET has priority and the microprocessor places the bus into an idle state instead of a hold-acknowledge state. The HOLD input is also recognized during suspend mode provided that the CLK2 input has not been stopped. HOLD is level sensitive and must meet specified setup and hold times for correct operation. HLDA 3 Hold Acknowledge (active high). This output indicates that the microprocessor is in a hold-acknowledge state and has relinquished control of its local bus. While in the hold-acknowledge state, the microprocessor drives HLDA active and continues to drive SUSPA#, if enabled. The other microprocessor outputs are in the high-impedance state allowing the requesting bus master to drive these signals. If the on-chip cache can satisfy bus requests, the microprocessor continues to operate during hold-acknowledge states. A20M# is internally recognized during this time. The microprocessor deactivates HLDA when the HOLD request is driven inactive. The microprocessor stores an NMI rising edge during a hold-acknowledge state for processing after HOLD is inactive. The FLUSH# input is also recognized during a hold-acknowledge state. If SUSP# is asserted during a hold-acknowledge state, the microprocessor mayor may not enter suspend mode depending on the state of the internal execution pipeline. Table 3-3 summarizes the state of the microprocessor signals during hold acknowledge. INTR 40 Maskable Interrupt Request. This level-sensitive input causes the processor to suspend execution of the current instruction stream and begin execution of an interrupt service routine. The INTR input can be masked (ignored) through the Flag Word register IF bit. When unmasked, the microprocessor responds to the INTR input by issuing two locked interrupt-acknowledge cycles. To assure recognition of the INTR request, INTR must remain active until the start of the first interrupt-acknowledge cycle. T1486SXLC Microprocessor Bus Interface 3-7 Input/Output Signals Table 3-2. TI486SXLC Terminal Functions (Continued) Terminal Name No. Description KEN# 29 Cache Enable (active low). This input indicates that the data being returned during the current cycle is cacheable. When KEN# is active and the microprocessor is performing a cacheable code-fetch or memory-data-read cycle, the cycle is transformed into a cache fill. Use of the KEN# input to control cacheability is optional. The Noncacheable Region registers can also be used to control cacheablity. Memory addresses specified by the Noncacheable Region registers are not cacheable regardless of the state of KEN#. I/O accesses, locked reads, SMM address space accesses, and interrupt-acknowledge cycles are never cached. During cached code fetches, two contiguous read cycles are performed to completely fill the 4-byte cache line. KEN# must be asserted during both read cycles to cause a cache line fill. During memory data reads, the microprocessor performs as many read cycles as necessary to supply the required data to complete the current operation. Valid bits are maintained for each byte in the cache line and each block of four lines, thus allowing data operands of less than four bytes to reside in the cache. If two read cycles are performed with the same address (A23-A2), KEN# must be asserted during both cycles to cache the data in these cycles. If the data is cached, the microprocessor ignores the state of the byte enables (BHE# and BLE#) and all data on the bus is cached. The KEN# input is ignored following reset and can be enabled using the KEN bit in the CCRO Configuration register. KEN# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. LOCK# 26 LOCK (active low). This 3-state, bus-cycle-definition signal is asserted to deny access of the CPU bus to other bus masters. The LOCK# signal may be explicitly activated during bus operations by including the LOCK prefix on certain instructions. LOCK# is always asserted during descriptor and page table updates, interrupt- acknowledge sequences, and when executing the XCHG instruction. The microprocessor does not enter the hold-acknowledge state in response to HOLD while the LOCK# output is active. M/IO# 23 Memory/IO. This 3-state, bus-cycle-definition signal is low during I/O read and write cycles and is high during memory cycles. NA# 6 Next Address Request (active low). This input requests address pipelining by the system hardware. When asserted, the system indicates that it is prepared to accept new bus-cycle definition and address signals (M/IO#, D/C#, W/R#, A23-A 1, BHE#, and BLE#) from the microprocessor even if the current bus cycle has not been terminated by assertion of READY#. If the microprocessor has an internal bus request pending and the NA# input is sampled active, the next bus-cycle definition and address signals are driven onto the bus. NC 27,45, 46 Make no external connection. Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. 3:-8 Input/Output Signals Table 3-2. TI486SXLC Terminal Functions (Continued) Terminal Name No. Description NMI 38 Nonmaskable Interrupt Request. This rising-edge-sensitive input causes the processor to suspend execution of the current instruction stream and begin execution of an NMI interrupt service routine. The NMI interrupt service request cannot be masked by software. Asserting NMI causes an interrupt which internally supplies interrupt vector 2h to the CPU core. External interrupt-acknowledge cycles are not necessary since the NMI interrupt vector is supplied internally. Once NMI processing has started, no additional NMls are processed until an IRET instruction is executed. The microprocessor samples NMI at the beginning of each phase two (<1>2) clock period. To assure recognition, NMI must be inactive for at least eight CLK2 periods and then be active for at least eight CLK2 periods. Additionally, specified setup and hold times must be met to assure recognition at a particular clock edge. PEREQ 37 Coprocessor Request (active high). This input indicates that the coprocessor is ready to transfer data to or from the CPU. The coprocessor can assert PEREQ in the process of executing a coprocessor instruction. The microprocessor internally stores the current coprocessor opcode and performs the correct data transfers to support coprocessor operations using PEREQ to synchronize the transfer of required operands. PEREQ is internally connected to a pulldown resistor to prevent this signal from floating active when left unconnected. READY# 7 Ready (active low). This input is generated by the system hardware to indicate that the current bus cycle can be terminated. During a read cycle, assertion of READY# indicates that the system hardware has presented valid data to the CPU. When READY# is sampled active, the microprocessor latches the input data and terminates the cycle. During a write cycle, READY# assertion indicates that the system hardware has accepted the microprocessor output data. READY# must be asserted to terminate every bus cycle, including halt and shutdown indication cycles. RESET 33 Reset (active high). When asserted, RESET suspends all operations in progress and places the microprocessor into a reset state. RESET is a level-sensitive synchronous input and must meet specified setup and hold times to be properly recognized by the microprocessor. The microprocessor begins executing instructions at physical address location FF FFFOh approximately 400 CLK2s after RESET is driven inactive (low). While RESET is active, the microprocessor is initialized to nonclock-doubled mode (for the TI486SXLC2) and all other input pins, except FLT#, are ignored. The remaining signals are initialized to their reset state during the internal processor reset sequence. The reset signal states for the microprocessor are shown in Table 3-3. SMADS# 20 SMM Address Strobe (active low). SMADS#, a 3-state output, is asserted instead of the ADS# during SMM bus cycles and indicates that SMM memory is being accessed. SMADS# floats while the CPU is in a hold-acknowledge or float state. The SMADS# output is disabled (floated) following reset and can be enabled using the SMI bit in the CCR1 Configuration register. Tl486SXLC Microprocessor Bus Interface 3-9 Input/Output Signals Table 3-2. TI486SXLC Terminal Functions (Continued) Terminal Name No. Description SMI# 47 System Management Interrupt (active low). This 3-state, bidirectional, level-sensitive input/output signal is an interrupt with higher priority than the NMI interrupt. SMI# must be active for at least four CLK2 clock periods to be recognized by the microprocessor. After the 8M I is acknowledged, the SM 1# pin is driven low by the microprocessor for the duration of the SMI service routine. The SMI# input is ignored following reset and can be enabled using the SMI bit in the CCR1 Configuration register. SMI# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. SUSP# 43 Suspend Request (active low). This input requests the microprocessor to enter suspend mode. After recognizing SUSP# active, the processor completes execution of the current instruction, any pending decoded instructions, and associated bus cycles. In addition, the microprocessor waits for the coprocessor to indicate a not-busy status (BUSY# = 1) before entering suspend mode and asserting suspend acknowledge (SUSPA#). SUSP# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. SUSPA# 44 Suspend Acknowledge (active low). This output indicates that the microprocessor has entered the suspend mode as a result of SUSP# assertion or execution of a HALT instruction. Vee 8 9 5-V Power Supply. All pins must be connected and used. 10 21 32 39 42 48 57 69 71 84 91 97 3-10 Input/Output Signals Table 3-2. TI486SXLC Terminal Functions (Continued) Terminal Name Vss W/R# No. Description 2" 5 11 12 13 14 22 35 41 49 50 63 67 68 77 78 85 98 Ground Pins. All pins must be connected and used. 25 Write/Read. This 3-state, bus-cycle-definition signal is low during read cycles (data is read from memory or I/O) and is high during write bus cycles (data is written to memory or I/O). Tl486SXLC Microprocessor Bus Interface 3-11 Input/Output Signals 3.1.2 Signal States During Reset and Hold Acknowledge RESET is the highest priority input signal. When RESET is asserted, the microprocessor aborts any current bus cycle and establishes real-mode buscycle definition with active buses. See Table 3-3 and Section 3.3, Reset Timing and Internal Clock Synchronization, page 3-17. The hold-acknowledge state (Th) is entered in response to assertion of the HOLD input during which the microprocessor floats all output and bidirectional signals, except for HLDA and SUSPA#. In the hold-acknowledge state, all inputs except HOLD, FLUSH#, FLT#, SUSP# and RESET are ignored. See Table 3-3 and subsection 3.4.8, Hold Acknowledge State, page 3-39. The hold-acknowledge state provides the mechanism for an external device to acquire the system bus. Table 3-3. Signal States During Reset and Hold Acknowledge Signal Name Signal State During Reset Signal State During Hold Acknowledge A20M# Ignored Input recognized A23-A1 1 Float Float ADS# BHE#, BLE# 0 Float BUSY# Initiates self test Ignored D15-DO Float Float Float D/C# 3-12 ERROR# Ignored Ignored FLT# Input recognized Input recognized FLUSH# Ignored Input recognized HLDA 0 HOLD Ignored Input recognized INTR Ignored Input recogn'ized KEN# Ignored Ignored LOCK# 1 Float M/IO# 0 Float NA# Ignored Ignored NMI Ignored Input recognized PEREQ Ignored Ignored READY# Ignored Ignored RESET Input recognized Input recognized SMADS# Float Float SMI# Ignored Input recognized SUSP# Ignored Input recognized SUSPA# Float Driven W/R# 0 Float Bus-Cycle Definition 3.2 Bus-Cycle Definition The bus-cycle-definition signals consist of four 3-state outputs (M/IO#, D/C#, W/R#, LOCK#) that define the type of bus-cycle operation being performed. Table 3-4 defines the bus cycles for the possible states of these signals. M/IO#, D/C#, and W/R# are the primary bus-cycle-definition signals and are driven valid as ADS# (address strobe) becomes active. During nonpipelined cycles, the LOCK# output is driven valid along with M/IO#, D/C# and W/R#. During pipelined addressing, LOCK# is driven at the beginning of the bus cycle, which is after ADS# becomes active for that cycle. The bus-cycle-definition signals are active low and float while the microprocessor is in a hold-acknowledge or float state. Table 3-4. Bus Cycle Types MIl 0# D/C# W/R# LOCK# 0 0 0 0 0 0 0 0 0 1 X 0 X 0 0 0 Bus Cycle Type Interrupt acknowledge I/O data read 0 I/O data write 0 X 0 0 0 Memory code read Halt: A23-A1=2h, BHE#=1 and BLE#=O Shutdown: A23-A1=Oh, BHE#=1 and BLE#=O 0 0 0 0 Locked memory data read Memory data read 0 Locked memory data write Memory data write x = Don't care - = Does not occur 3.2.1 Clock Doubling Using Software Control The clock-doubled feature of the TI486SXLC2 is enabled/disabled using Configuration Control register 0 (CCRO), bit 6. The following can be used for software enabling/disabling of CKD: Set CKD programming sequence: mov out in mov or mov out mov out aI, OCOh 22h, al aI, 23h ah, al ah, 40h aI, OCOh 22h, al aI, ah 23h, al ;select CCRO ;read CCRO ;save in AH iset AH<6> iselect CCRO iwrite CCRO Tl486SXLC Microprocessor Bus Interface 3-13 Bus-Cycle Definition Reset CKD programming sequence: mov out in mov and mov out mov out 3.2.1.1 ai, OCOh 22h, al ai, 23h ah, al ah, OBFh ai, OCOh 22h, al ai, ah 23h, al iselect CCRO iread CCRO isave in AH ireset AH<6> iselect CCRO iwrite CCRO Entering Clock-Doubled Mode The TI486SXLC2 microprocessors power up in the nonclock-doubled mode. To enter the clock-doubled mode, set CLK2 to the desired frequency inside the phase-locked loop (PLL) lock range (see Table 5-5 and Table 5-6) and issue the set CKD programming sequence. Approximately 20 ~s after the final OUT instruction has exited the processor pipeline, the PLL locks and the CPU enters clock-doubled mode. Until the PLL is locked, the processor continues to operate in the nonclock-doubled mode. 3.2.1.2 Clock-Scaling Sequence When the processor is in clock-doubled mode and the CLK2 input is to be scaled or stopped, the reset CKD programming sequence should be issued. The final OUT instruction exiting the processor pipeline causes the CKD bit to be reset and puts the processor into nonclock-doubled mode. This must occur prior to scaling or stopping the CLK2 input in order to prevent a synchronization errorfrom occurring. This may be ensured by issuing aJUMP instruction, such as JMP $+2, before scaling CLK2. To return the processor to clock-doubled mode, set CLK2 to the desired frequency inside the PLL lock range and issue the set CKD programming sequence. Approximately 20 ~s after the final OUT instruction has exited the processor pipeline, the PLL locks and the processor enters clock-doubled mode. 3.2.1.3 Suspend Mode Suspend mode can be initiated when the TI486SXLC2 microprocessor is in clock-doubled mode as long as the CLK2 input is not scaled or stopped. Suspend mode does not disable the PLL; instead, changing the CLK2 frequency causes the PLL to lose lock. For more detailed information on entering and exiting suspend in nonclockdoubled mode, refer to subsection 3.2.2, Power Management. In order to get the lowest possible power state, bring the microprocessor out of clock-doubled mode, enter the suspend mode (using software or hardware), and stop the CLK2 input. 3-14 Bus-Cycle Definition 3.2.2 Power Management The power-management signals allow the TI486SXLC series microprocessors to enter suspend mode. Suspend-mode circuitry allows the microprocessor to consume minimal power while maintaining the entire internal CPU state. 3.2.2.1 Suspend Request (SUSP#) Suspend request (SUSP#) is an active-low input that requests the TI486SXLC series microprocessors to enter suspend mode. With the TI486SXLC2 microprocessors you should follow the procedure in subsection 3.2.1 to enter nonclock-doubled mode prior to scaling or stopping the CLK2 input. After recognizing SUSP# is active, the processor completes execution of the current instruction, any pending decoded instructions, and associated bus cycles. In addition, the microprocessor waits for the coprocessor to indicate a not-busy condition (BUSY#=1) before entering suspend mode and asserting suspend acknowledge (SUSPA#). During suspend mode, internal clocks are stopped and only the logic associated with monitoring RESET, HOLD, and FLUSH# remains active. With SUSPA# asserted, the CLK2 input to the microprocessor can be stopped in either phase. Stopping the CLK2 input further reduces current required by the microprocessor. To resume operation, the CLK2 input is restarted (if stopped), followed by deassertion of the SUSP# input. The TI486SXLC2 processors can enter clock-doubled mode (subsection 3.2.1.1, Entering Clock-Doubled Mode) once the CLK2 input reaches the desired frequency within the PLL lock range. The processor then resumes instruction fetching and begins execution in the instruction stream at the point it had stopped. The SUSP# input is level sensitive and must meet specified setup and hold times to be recognized at a particular clock edge. The SUSP# input is ignored following reset and can be enabled using the SUSP bit in the CCRD Configuration register. 3.2.2.2 Suspend Acknowledge (SUSPA#) The suspend acknowledge (SUSPA#) output indicates that the TI486SXLC series microprocessor has entered the suspend mode as a result of SUSP# assertion or execution of a HALT instruction. If SUSPA# is asserted and the CLK2 input is switching, the microprocessor continues to recognize FLT#, RESET, HOLD, and FLUSH#. In addition, the TI486SXLC2 microprocessor may stay in clock-doubled mode while the CLK2 input is switching. If suspend mode was entered as the result of a HALT instruction, the microprocessor also continues to monitor the NMI input and an unmasked INTR input. Detection of INTR or NMI forces the microprocessor to exit suspend mode and begin execution of the appropriate interrupt service routine. The CLK2 input to the processor can be stopped after SUSPA# has been asserted to further reduce the power requirement of the microprocessor. For this case, the TI486SXLC2 microprocessor must be brought out of clock-doubled mode prior to stopping the CLK2 input to prevent a synchronization error. The SUSPA# output is disabled (floated) following reset and can be enabled using the SUSP bit in the CCRD Configuration register. Tl486SXLC Microprocessor Bus Interface 3-15 Bus-Cycle Definition Table 3-5 shows the state of the TI486SXLC series microprocessor signals when the device is in suspend mode. Table 3-5. Signal States During Suspend Mode Signal Name Signal State During Hold Acknowledge Signal State During HaltInitiated Suspend Mode A20M# Ignored Ignored BHE#, BLE# 0 0 BUSY# Ignored Ignored 015-00 Float Float ERROR# Ignored Ignored FLT# Input recognized Input recognized FLUSH# Input recognized Input recognized HLOA 0 0 HOLD Input recognized Input recognized INTR Latched Input recognized KEN# Ignored Ignored M/IO# 0 0 NA# Ignored Ignored NMI Latched Input recognized PEREQ Ignored Ignored REAOY# Ignored Ignored RESET Input recognized Input recognized SMI# Latched Input recognized SUSP# Input recognized Ignored SUSPA# 0 0 W/R# 0 0 A23-A1 AOS# O/C# LOCK# SMAOS# 3-16 Reset Timing and Internal Clock Synchronization 3.3 Reset Timing and Internal Clock Synchronization RESET is the highest priority input signal and is capable of interrupting any processor activity when it is asserted. When RESET is asserted, the microprocessor aborts any bus cycle. Idle, hold-acknowledge, and suspend states are also discontinued and the reset state is established. RESET is used when the microprocessor is powered up to initialize the CPU to a known valid state and to synchronize the internal CPU clock with external clocks. The TI486SXLC2 microprocessors are initialized to nonclock-doubled mode upon RESET going active. RESET must be asserted for at least 15 CLK2 periods to ensure recognition by the microprocessor. If the self-test feature is to be invoked, RESET must be asserted for at least 80 CLK2 periods. RESET pulses of less than 15 CLK2 periods may not have sufficient time to propagate throughout the microprocessor and may not be recognized. RESET pulses of less than 80 CLK2 periods followed by a self-test request may incorrectly report a self-test failure when no true failure exists. Provided the RESET falling edge meets specified setup and hold times, the internal processor clock phase is synchronized as illustrated in Figure 3-2. The TI486SXLC internal processor clock is half the frequency of the CLK2 input and each CLK2 cycle corresponds to an internal CPU clock phase (<1». Phase two (<1>2) of the internal clock is defined to be the second rising edge of CLK2 following the falling edge of RESET. The TI486SXLC2 internal core clock is the same frequency as the CLK2 input and the internal bus interface clock is half the frequency of the CLK2 input. Phase two of the internal clock is defined to be the second rising edge of CLK2 following the falling edge of RESET. Figure 3-2. Internal Processor Clock Synchronization 2 or <1>1 2 or <1>1 <1>2 CLK2 I I ~ RESET I I INTERNAL~ PROCESSOR CLOCK I I I I I I I I I I I I I I I I ~~__-IV- Tl486SXLC Microprocessor Bus Interface 3-17 Reset Timing and Internal Clock Synchronization Following the falling edge of RESET (and after self test if it was requested), the microprocessor performs an internal initialization sequence for approximately 400 CLK2 periods. The microprocessor self-test feature is invoked if the BUSY# input is in the active (low) state when RESET falls inactive. The self-test sequence requires approximately (2 20 + 60) CLK2 periods to complete. Even if the self test indicates a problem, the microprocessor attempts to proceed with the reset sequence. Figure 3-3 illustrates the bus activity and timing during the microprocessor reset sequence. Figure 3-3. Bus Activity From RESET Until First Code Fetch ~ Reset I ~15ClK2 periods if not I going to request self test. I ~ 80 ClK2 periods before I requsting self-test. CLK2 RESET ClK (Internal) BUSY# J1IU1JlJ1J ---?:,------'oS x?oooa I ~\ ~ .10IIII 1 1 ( I Internal Initialization If self test is performed, add 20 20 + 60* to these numbers 1 2 3 Cycle 1 Nonplpelined 1 (Read) T1 T2 I ~7 ~8 ~9 (~2'~3~4;';95' I U U WI \ .1 YU YL · Approximately \ I 1<\>21<1>11<1>21<1>11<1>2 <\>1 <1>21<1>11<1>21 \. . r-\. r1\. \.../ ~( 1 ' - . / 1 " - r1\ High for no Self Test (see Note) \~ ~ .~ Low to Begin Self Test ERROR#~~ma BHE#'BLE#,~ I ~ lO~ if W/R#, M/IO#, HLDA~ A23-A1 ~ " IS II 'i'; ;~ ','; O/C#, ~ I High lOCK# ADS# U to 30 ClK2 ~ ~Hi;~ I I IV i\ : Valid : Valid I "~ ,/, NA#~~ma" READY#~~~ 015-00 ~--~s------ (Floating) ----.;c,-----.;c,--i---t- SUSPA# ~--~s------ (Floating) ----.;c,-----.;c,--I---.L, Note: 1 1 1 I BUSY# should be held stable for 80 ClK2 periods before and after the ClK2 period in which RESET falling edge occurs. Upon completion of self-test, the EAX register contains 0000 OOOOh if the microprocessor passed its internal self test with no problems detected. Any nonzero value in the EAX register indicates that the microprocessor is faulty. 3-18 Bus Operation and Functional Timing 3.4 Bus Operation and Functional Timing The TI486SXLC series microprocessor communicates with the external system through separate, parallel buses for data and address. This is commonly called a demultiplexed address/data bus. This demultiplexed bus eliminate,s the need for address latches required in muttiplexed address/data bus configurations where the address and data are presented on the same pins at different times. TI486SXLC series microprocessor instructions can act on memory data operands consisting of 8-bit bytes, 16-bit words, or 32-bit double words. The microprocessor bus architecture allows for bus transfers of these operands without restrictions on physical address alignment. Any byte boundary may require more than one bus cycle to transfer the operand. This feature is transparent to the programmer. The microprocessor data bus (D15-DO) is a 16-bit-wide bidirectional bus. Th,e microprocessor drives the data bus during write bus cycles, and the external system hardware drives the data bus during read bus cycles. The address bus provides a 24-bit value using 23 signals for the 23 upper-order address bits (A23-A1), defining which 16-bit word is being accessed, and two byte-enable signals (BHE# and BLE#) to directly indicate which of the two bytes within the word is active. Every bus cycle begins with the assertion of the address strobe (ADS#). ADS# indicates that the microprocessor has issued a new address and new buscycle-definition signals. A bus cycle is defined by four signals: M/IO#, W/R#, D/C#, and LOCK#. M/IO# defines if a memory or I/O operation is occurring, W/R# defines the cycle to be read or write, and D/C# indicates whether a data or control cycle is in effect. LOCK# indicates that the current cycle is a locked bus cycle. Every bus cycle completes when the system hardware returns READY# asserted. The TI486SXLC series microprocessor performs the following bus-cycle types: o Memory read o Locked memory read o Memory write o Locked memory write o I/O read (or coprocessor read) o I/O write (or coprocessor write) o Interrupt acknowledge (always locked) o HalVshutdown When the microprocessor has no pending bus requests, the bus enters the idle state. There is no encoding of the idle state on the bus-cycle-definition signals; however, the idle state can be identified by the absence of further assertions of ADS# following a completed bus cycle. It should be noted that all bus diagrams apply for all TI486SXLC series microprocessors. The TI486SXLC2 clock-doubled feature does not change the external microprocessor bus interface. T1486SXLC Microprocessor Bus Interface 3-19 Bus Operation and Functional Timing 3.4.1 Bus Cycles Using Nonpipelined Addressing The shortest time unit of bus activity is a bus state, commonly called a T state. A bus state is one internal processor clock period in duration (two CLK2 periods in nonclock-doubled mode and one CLK2 period in clock-doubled mode). A complete data transfer occurs during a bus cycle, composed of two or more bus states. 3.4.1.1 Nonpipelined Bus States The first state of a nonpipelined bus cycle is called T1. During phase one (<1>1, first CLK2) of T1, the address bus and bus-cycle-definition signals are driven valid and,to signal their availability, address strobe (ADS#) is simultaneously asserted. The second bus state of a nonpipelined cycle is called T2. T2 terminates a bus cycle with the assertion of the READY# input and valid data is either input or output depending on the bus-cycle type. The fastest microprocessor bus cycle requires only these two bus states. READY# is ignored at the end of the T1 state. Three consecutive bus read cycles, each consisting of two bus states, are shown in Figure 3-4. Figure 3-4. Fastest Nonpipelined Read Cycles Cycle 1 I Cycle 3 Nonpipelined (Read) Cycle 2 Nonpipelined ~~ Nonpipelined (Read) I (Read) T1 T2 T2 T1 I I I <1> 1 I <1>2 I <1> 1 I <1>2 I <1>"1 I <1>2 I <1> 1 I ~ I I I <1>2 I I CLK2 I A23-A1, BHE#, BLE#, M/IO#, O/C#, W/R# AOS# NA# REAOY# ~ I I 015-00 (Input During Read) I I I V I I I I I I I I I I I I I I I I I I I I I I I I I ~ I I I I I I I I ~ I 3-20 V~lid2 I :1 I I I ~ +id3 l\ :1 I l'-- I I I I I I I I I I I I ~ I I I I I I I I ~alid3 ~ ~ ~ ~ ~--t--~--t--~--t--~ +id1 I Note: I ~ +d1 I LOCK# I I +id2 I Fastest nonpipelined bus cycles consist of T1 and T2. I I I I Bus Operation and Functional Timing 3.4.1.2 Nonpipelined Read and Write Cycles Any bus cycle can be performed with nonpipelined address timing. Figure 3-5 shows a mixture of read and write cycles with nonpipelined address timing. When a read cycle is performed, the microprocessor floats its data bus and the externally addressed device then drives the data. The microprocessor requires that all data-bus pins be driven to a valid logic state (high or low) at the end of each read cycle, when READY# is asserted. When a read cycle is acknowledged by READY# asserted in the T2 bus state, the microprocessor latches the information present at its data-bus pins and terminates the cycle. When a write cycle is performed, the data bus is driven by the microprocessor beginning in phase two of T1. When a write cycle is acknowledged, the write data remains valid throughout phase one of the next bus state to provide writedata hold time. Figure 3-5. Various Nonpipelined Bus Cycles (No Wait States) , , , , , CLK2 Idle Ti , , , ,t4 , I I W/R#~ ADS# I I , , , Cycle 2 Nonpipelined (Read) ~ T1 == , A23-A1.~ BHE#, BLE#, M/IO#, D/C# Cycle 1 Nonpipelined (Write) T2 V~lid 1 , T2 T1 ~ I ~ I I I I Cycle 3 Nonpipelined (Write) ~ , , I , , , Vflid2 I I T2 ~ I I .,, , Idle Ti , , , Cycle 4 Nonpipelined (Read) ,t4 T1 ~ ~ V~lid3 V , , I I I I I T1 , I I I , , I I I I I I I I I T2 , , , .,, Idle Ti , I V~lid4 I I ~ I I I I I I NA# REAOY#~i _ LOCK# ! + End Cycle 1 Valid 1 X i Note: ~ : End 9h • >+--1--<$)--- _ : . - : End Cycle 2 Valid 2 I 015- 00 +. _ : CY~ ! End Cycle 4 Valid 4 ~ Tl486SXLC Microprocessor Bus Interface 3-21 Valid 3 1---+-< : O~1: >1--$\: i out~ Idle states are shown here for diagram variety only. Bus Operation and Functional Timing 3.4. 1.3 Nonpipelined Wait States Once a bus cycle begins, it continues until acknowledged by the external system hardware using the READY# input. Acknowledging the bus cycle at the end of the first T2 results in the shortest possible bus cycle, requiring only T1 and T2. If READY# is not immediately asserted however, T2 states are repeated indefinitely until the READY# input is sampled active. These intermediate T2 states are referred to as wait states. If the external system hardware is not able to receive or deliver data in two bus states, it withholds the READY# signal and at least one wait state is added to the bus cycle. Thus, on an address-by-address basis the system is able to define how fast a bus cycle completes. Figure 3-6 illustrates nonpipelined bus cycles with one wait state added to cycles 2 and 3. READY# is sampled inactive at the end of the first T2 state in cycles 2 and 3. Therefore, the T2 state is repeated until READY# is sampled active at the end of the second T2 and the cycle is then terminated. The microprocessor ignores the READY# input at the end of the T1 state. Figure 3-6. Various Nonpipelined Bus Cycles With Different Numbers of Wait States I I Idle : I Ti I I Cycle 1 Nonpipelined I I Cycle 2 Nonpipelined ~ (Read) ~ (Write) I T1 T2 I . T1 I I Idle ~ T2 T2 I Ti I I Cycle 3 Nonpipelined ~ (Read) I T1 I I Idle ~ T2 T2 I Ti CLK2 I I ___ I I B~~:~~~~ ~~~~~~ va~;li_d_1 ~~~ ~ va_li_d~2: ~ __ : __ __ AOS# I I ____ I V: W/R#I. I I I I I __ ~I::~ I ~ I NA#~ I I -+~~~~~__~:__v_al_id~~~ ~~~~ I_I I I I I I I '----J I I I I I ~~----~--- _ _ ~ READY#~: ~ i \%l~!~: I!llt ~+ ~ LOCK# 015-00 Note: 3-22 ~ _ ~ I; End Cycle 1 V~lid 1 X I: : ,valid 2, i i i ii-$: < i I -.,---+----+- I In 1 Idle states are shown here for diagram variety only, ; End ~ CY~~ ~ :1 ,Valid I • ! End Cycle 3 _ ~ ~ : : }-I---+---+i iii i i$ - Out 2 In 3 - Bus Operation and Functional Timing 3.4.1.4 Initiating and Maintaining Nonpipelined Cycles The bus states and transitions for nonpipelined addressing are illustrated in Figure 3-7. The bus transitions between four possible states: T1, T2, Ti, and Th. Active bus cycles consist of T1 and T2 states, with T2 being repeated for wait states. Bus cycles always begin with a single T1 state. T1 is always followed by a T2 state. If a bus cycle is not acknowledged during a given T2 and NA# is inactive, T2 is repeated resulting in a wait state. When a cycle is acknowledged during T2, the following state is T1 of the next bus cycle if a bus request is pending internally. If no internal bus request is pending, the Ti state is entered. If the HOLD input is asserted and the microprocessor is ready to enter the hold-acknowledge state, the Th state is entered. Figure 3-7. Nonpipelined Bus States HOLD Asserted HOLD Negated No Request HOLD Asserted READY# Asserted HOLD Asserted READY# Asserted HOLD Negated No Request Always Request Pending HOLD Negated READY# Asserted HOLD Negated Request Pending Bus States: T1 T2 Ti Th - First clock of a nonpipelined bus cycle (CPU drives new address and asserts ADS#) Subsequent clocks of a bus cycle when NA# has not been sampled asserted in the current bus cycle Idle state Hold acknowledge (CPU asserts HLDA) The fastest bus cycle consists of two states: T1 and T2. Tl486SXLC Microprocessor Bus Interface 3-23 Bus Operation and Functional Timing Because of the demultiplexed nature of the bus, the address pipelining option provides a mechanism for the external hardware to have an additional T state of access time without inserting a wait state. After the reset sequence and following any idle bus state, the processor always uses nonpipelined address timing. Pipelined or nonpipelined address timing is then determined on a cycle-by-cycle basis using the NA# input. When address pipelining is not used, the address and bus-cycle definition remain valid during all wait states. When wait states are added and nonpipelined address timing is necessary, negate NA# during each T2 state of the bus cycle except the last one. 3.4.2 Bus Cycles Using Pipelined Addressing The address pipelining option allows the system to request the address and bus-cycle definition of the next internally pending bus cycle before the current bus cycle is acknowledged with READY# asserted. If address pipelining is used, the external system hardware has an extra T state of access time to transfer data. The address pipelining option is controlled on a cycle-by-cycle basis by the state of the NA# input. 3.4.2.1 Pipelined Bus States Pipelined addressing is always initiated by asserting NA# during a nonpipelined bus cycle. Within the nonpipelined bus cycle, NA# is sampled at the beginning of phase two of each T2 state and is only acknowledged by the microprocessor during wait states. When address pipelining is acknowledged, the address (BHE#, BLE#, and A23-A 1) and bus-cycle definition (W/R#, D/C#, and M/IO#) of the next bus cycle are driven before the end of the nonpipelined cycle. The address status output (ADS#) is asserted simultaneously to indicate validity of these signals. Once in effect, address pipelining is maintained in successive bus cycles by continuing to assert NA# during the pipelined bus cycles. As in nonpipelined bus cycles, the fastest bus cycles using pipelined address require only two bus states. Figure 3-8 illustrates the fastest read cycles using pipelined address timing. The two bus states for pipelined addressing are T1 P and T2P or T1 P and T21. The T1 P state is entered following completion of the bus cycle in which the pipelined address and bus-cycle-definition information was made available and is the first bus state of every pipelined bus cycle. In other words, the T1 P state follows a T2 state if the previous cycle was nonpipelined, and follows a T2P state if the previous cycle was pipelined. 3-24 Bus Operation and Functional Timing Figure 3-8. Fastest Pipelined Read Cycles Cycle 1 Pipelined (Read) I ~ Cycle 2 Pipelined (Read) Cycle 3 Pipelined (Read) CLK2 A23-A1,BHE#, --~------~~----~------~~----~------~~------~--BLE#, M/IO#, O/C#, W/R# --..------_r-~----...,..------~...Jo..----_.,..------~~------....._--- AOS# NA# I I R~O~ I I LOCK# 015-00 (InputOuringRead) ~ ~ ~ I Note: ~alid __ I ~ 1 ~alid 2 ~ ~alid ~ 3 1,__ ~ __ 1,__ ~ __ I, __ ~ ~ , I ~ , I ~ , I Fastest pipelined bus cycles consist of T1 P and T2P. Within the pipelined bus cycle, NA# is sampled at the beginning of phase two (<1>2) of the T1 P state. If the microprocessor has an internally pending bus request and NA# is asserted, the T1 P state is followed by a T2P state and the address and bus-cycle definition for the next pending bus request is made available. If no pending bus request exists, the T1 P state is followed by a T21 state regardless of the state of NA# and no new address or bus-cycle information is driven. The pipelined bus cycle is terminated in either the T2P or T21 states with the assertion of the READY# input and valid data is either input or output depending on the bus cycle type. READY# is ignored at the end of the T1 P state. 3.4.2.2 Pipelined Read and Write Cycles Any bus cycle can be performed with pipelined address timing. When a read cycle is performed, the microprocessor floats its data bus and the externally addressed device drives the data. When a read cycle is acknowledged by READY# asserted in either the T2P or T21 bus state, the microprocessor latches the information present at its data pins and terminates the cycle. When a write cycle is performed, the data bus is driven by the microprocessor beginning in phase two (<1>2) of T1 P. When a write cycle is acknowledged, the Tl486SXLC Microprocessor Bus Interface 3-25 Bus Operation and Functional Timing write data remains valid throughout phase one (-i--i-~< ~ I Out 3 I . : V+d 4 I ~ ~ _6 I >-t-~i Following any idle bus state (Ti), addresses are nonpipelined bus cycles, NA# is sampled only during wait states. Therefore, to begin address pipelining during a group of nonpipelined bus cycles requires a nonpipelined cycle with at least one wait state (cycle 2 above). Tl486SXLC Microprocessor Bus Interface 3-29 Bus Operation and Functional Timing The complete bus-state-transition diagram, including operation with pipelined address, is given in Figure 3-12. This is a superset of the diagram for nonpipelined address. The three additional bus states for pipelined address are shaded. Figure 3-12. Complete Bus States HOLD Asserted READY# Asserted. HOLD Asserted NA# Asserted • (HOLD Asserted + No Request) READY# Asserted. HOLD Asserted HOLD Negated. Request Pending HOLD Asserted _-r- READY# Asserted. HOLD Negated. No Request Request Pending. HOLD Negated READY# Asserted. HOLD Negated. No Request (No Request + HOLD Asserted) • NA# Asserted • READY# Negated I I I I I I I I NA# Negatedl READY# Asserted. HOLD Negated. Request Pending READY# Asserted. HOLD Negated. Request Pending READY# Negated. NA# Asserted • HOLD Negated Request Pending READY# Negated Request Pending HOLD Asserted NA# Asserted • HOLD Negated. Request Pending READY# Asserted READY# Negated Bus States: T1 - First clock of a nonpipelined bus cycle (CPU drives new address and asserts ADS#) T2 - Subsequent clocks of a bus cycle when NA# has not been sampled asserted in the current bus cycle T21 - Subsequent clocks of a bus cycle when NA# has been sampled asserted in the current bus cycle but there is not yet an internal bus request pending (CPU does not drive a new address or assert ADS#) T2P - Subsequent clocks of a bus cycle when NA# has been sampled asserted in the current bus cycle and there is an internal bus request pending (CPU drives new address and asserts ADS#) T1 P - First clock of a pipelined bus cycle Ti - Idle state Th - Hold acknowledge state (CPU asserts HLDA) 3-30 Bus Operation and Functional Timing 3.4.3 Locked Bus Cycles When the LOCK# signal is asserted, the TI486SXLC series microprocessors do not allow other bus master devices to gain control of the system bus. LOCK# is driven active in response to executing certain instructions with the LOCK prefix. The LOCK prefix allows indivisible read/modify/write operations on memory operands. LOCK# is also active during interrupt-acknowledge cycles. LOCK# is activated on the CLK2 edge that begins the first locked bus cycle and is deactivated when READY# is returned at the end of the last locked bus cycle. When using nonpipelined addressing, LOCK# is asserted during phase one ( --r t---i---l I. (Floating) I I I 1 1 I 1 Bus Operation and Functional Timing 3.4.5.2 Shutdown Indication Cycle Shutdown occurs when a severe error is detected that prevents further processing. The TI486SXLC series microprocessor shuts down as a result of a protection fault while attempting to process a double fault as well as the conditions referenced in Chapter 2, Programming Interface. A shutdown indication cycle is performed signaling its entrance into the shutdown state. The shutdown indication cycle is identified by the state of the bus-cycle-definition signals (M/IO#=1, D/C#=O, W/R#=1, LOCK#=1) and an address of Oh (A23-A 1=0, BHE#=1 , BLE#=O). The shutdown indication cycle must be acknowledged by asserting READY#. A shutdown microprocessor resumes execution only when NM lor RESET is asserted. Figure 3-15 illustrates a shutdown cycle using pipelined addressing. Figure 3-15. Pipelined Shutdown Cycle I Cycle 1 Pipelined (Read) 1 1 1 .,... I I... T1P T2P , 1 I I I 1 Idle 1 ~ ~ I 1 1 Cycle 2 Pipelined (Shutdown) , I T1P T2P , Ti Ti Ti Ti 1 CLK2 BHE# M/IO# :7 .......&.---'""\ Valid 1 W/R# - - r - - - - f A23-A1, BLE#, D~# Valid 1 remains 11~" CPU shutdown until NMI, or , 1 1 1 Shutdown cycle ~II 1 I 1 --r·-----~~----~I------~~~~~~~~~~~~~~~~~~~ : : -t,l -+,I_ _ ADS#I I i\ I I !I 1 1 V 1 ,I I, I, !, I, I I I I I I I I I I NA#~ ~ ~i~i READY# 1 1 1 i I 1 I ___ t i l I I 1 1 I I: 1 I 1 1 1 1 1 1 1 1 1 1 ~ ( ~-t--~-< undefin~ )--~ ~I~ I I Shutdown cycle must be acknowledged by asserting READY#. Wait states may be added to th,e cycle if desired. vali~1 LOCK# D1S-DO RESET is a~serted. BLE# is IIOW for I (Floating) t---+---~ i l l I , 1 Tl486SXLC Microprocessor Bus Interface 1 1 , , 3-35 Bus Operation and Functional Timing 3.4.6 Internal Cache Interface The TI486SXLC cache is an 8K-byte write-through unified instruction/data cache with lines that are allocated only during memory read cycles. The cache is configured as two-way set associative, and the cache organization consists of 1024 sets each containing two lines of four bytes each. 3.4.6.1 Cache Fills Any unlocked memory-read cycle can be cached by the TI486SXLC series microprocessor. The microprocessor does not cache accesses automatically to memory addresses specified by the Noncacheable-Region registers. Additionally, the KEN# input can be used to enable caching of memory accesses on a cycle-by-cycle basis. The microprocessor acknowledges the KEN# input only if the KEN enable bit is set in the CCRO Configuration register. As shown in Figure 3-16 and Figure 3-17, the microprocessor samples the KEN# input one CLK2 before READY# is sampled active. If KEN# is asserted and the current address is not set as noncacheable per the Noncacheable-Region registers, the microprocessor fills two bytes of a line in the cache with the data present on the data bus pins. The states of BHE# and BLE# are ignored if KEN# is asserted for the cycle. Figure 3-16. Nonpipelined Cache Fills Using KEN# (With Different Numbers of Wait States) I Cycle 1 Nonpipelined (Read-Cache Fill) I I ~ Cycle 2 Nonpipelined (Read-Cache Fill) CLK2 A23-A1, BHE#, BLE#, O/C#, M/IO#, W/R# ~ +id1 i\ I V I AOS# NA# KEN# REAOY# LOCK# 015-00 (Input Ouring Read) I I I I I I I I I ~ I I I I ~ I I Valid2 : I I I I • I I i\I V I I I I I I I I I I I I I I I ~ I I I I I I -I I I I I I I I I I ~ ~ __l __ ~ __ L ___J__ ~_J ~ I 3-36 I I Valid2 : +d1 I I I I I I I • I I I Bus Operation and Functional Timing Figure 3-17. Pipelined Cache Fills Using KEN# (With Different Numbers of Wait States) CLK2 A23-A1, BHE#, Valid 1 Valid 2 BLE#,O/C#, M/IO#, W/R# -"'---~~"""--.,...----..,.----!l-~-- Valid 3 . . . . ------- AOS# NA# KEN# REAOY# LOCK# X Valid 1 X Valid 2 X Valid 3 015-00 (Input During Read) 3.4.6.2 Flushing the Cache To maintain cache coherency with external memory, the TI486SXLC series microprocessor cache contents should be invalidated when previously cached data is modified in external memory by another bus master. The microprocessor invalidates the internal cache contents during execution of the INVD and WBINVD instructions following assertion of HLDA if the BARB bit is set in the CCRD Configuration register or following assertion of FLUSH# if the FLUSH bit is set in CCRD. The microprocessor samples the FLUSH# input on the rising edge of CLK2 corresponding to the beginning of phase two (<1>2) of the internal processor clock. If FLUSH# is asserted, the microprocessor invalidates the entire contents of the internal cache. The actual point in time where the cache is invalidated depends upon the internal state of the execution pipeline. FLUSH# must be asserted for at least two CLK2 periods and must meet specified setup and hold times to be recognized on a specific CLK2 edge. Tl486SXLC Microprocessor Bus Interface 3-37 Bus Operation and Functional Timing 3.4.7 Address Bit-20 Masking The TI486SXLC series microprocessor can be forced to provide 8086 1M-byte address wraparound compatibility by setting the A20 bit in the CCRO Configuration register and asserting the A20M# input. When the A20M# is asserted, the 20th bit in the address to both the internal cache and the external bus pin is masked (zeroed). As shown in Figure 3-18, the microprocessor samples the A20M# input on the rising edge of CLK2 corresponding to the beginning of phase two (<1>2) of the internal processor clock. If A20M# is asserted and paging is not enabled, the microprocessor masks the A20 signal internally starting with the next cache access and externally starting with the next bus cycle. If paging is enabled, the A20 signal is not masked regardless of the state of A20M#. A20 remains masked until the access following detection of an inactive state on the A20M# pin. A20M# must be asserted for a minimum of two CLK2 periods and must meet specified setup and hold times to be recognized on a specific CLK2 edge. Figure 3-18. Masking A20 Using A20M# During Burst of Bus Cycles 1 Idle 1 .14 Cycle 1 Nonpipelined (Write) 1 Ti 1 1 Cycle 2 Nonpipelined (Read) 1 1 .14 1 .~ 1 T1 T2 1 T1 T2 T2P 1 Cycle 3 Pipelined (Write) Cycle 4 Pipelined (Write) 1 1 .. 14 T2P 1 T1P CLK2 1 1 A19-A1'~ A23-A21, BHE#, BLE#, M/IO#, D/C# 1 V~lid1 ~ I W/R# ADS# A20M# 3-38 1 1 I +d2 ~ 1 m~~'-l--l' '-_--+-1 --..if I ~ 1 Idle .I~ 1 1 T1P 1 1 +id4 T21 1 Ti Bus Operation and Functional Timing An alternative to using the A20M# pin is provided by the NCO bit in the CCRO Configuration register. The microprocessor does not automatically cache accesses to the first 64K bytes and to 1M byte + .64K bytes if the NCO bit is set. This prevents data within the wraparound memory area from residing in the internal cache and eliminates the need for masking A20 to the internal cache. 3.4.8 Hold-Acknowledge State The hold-acknowledge state provides the mechanism for an external device in a TI486SXLC microprocessor system to acquire the system bus while the microprocessor is held in an inactive bus state. This allows external bus masters to take control of the microprocessor bus and directly access system hardware in a shared manner. The microprocessor continues to execute instructions out of the internal cache (if enabled) until a system bus cycle is required. The hold-acknowledge state (Th) is entered in response to assertion of the HOLD input. In the hold-acknowledge state, the microprocessor floats all output and bidirectional signals, except for HLDA and SUSPA#. HLDA is asserted as long as the microprocessor remains in the hold-acknowledge state and all inputs except HOLD, FLUSH#, FLT#, SUSP# and RESET are ignored. State Th can be entered directly from a bus-idle state, as in Figure 3-19, or after the completion of the current physical bus cycle if the LOCK signal is not asserted, as in Figure 3-20 and Figure 3-21. The CPU samples the HOLD input on the rising edge of CLK2 corresponding to the beginning of phase one (<1>1) of internal processor clock. HOLD is a synchronous input and can be asserted at any CLK2 edge, provided setup and hold requirements are met in every bus state. The hold-acknowledge state is exited in response to the HOLD input being negated. The next bus start is an idle state (Ti) if no bus request is pending, as in Figure 3-19. If an internal bus request is pending, as in Figure 3-20 and Figure 3-21 , the next bus state is T1. State Th is also exited in response to RESET being asserted. If HOLD remains asserted when RESET goes inactive, the microprocessor enters the hold-acknowledge state before performing any bus cycles provided HOLD is still asserted when the CPU is ready to perform its first bus cycle. If a rising edge occurs on the edge-triggered NMI input while in state Th, the event is remembered as a nonmaskable interrupt 2 and is serviced when the state is exited. T1486SXLC Microprocessor Bus Interface 3-39 Bus Operation and Functional Timing Figure 3-19. Requesting Hold From Bus-Idle State I I I I Idle Ti ~ I I .1 Hold Acknowledge Th I I Th I I I Th I Idle Ti CLK2 III HOLD (Note 1) I HLDA I i I I IV ~ ~ A23-A1, BHE#, BLE#, D/C#, M/IO#, W/R# _ ADS# (Note 2) I I I I ~~~___ i I I· 1\ Ii I I. i I I I ---+ I i i - . :I -' (Floating) ~I - - - - I l I I I I I ~ I I I , I I I ~----I-. (Floating) l _____ LI I I I I I -----i NA#~ ~ADW LOCK# D15-DO Notes: II II _ _ I ----1-' (Floating) 1----I I I I I I I I ------I-------l-, (Floating) ..1------.1-------1 I I I I I I 1) HOLD is a synchronous input and can be asserted at any CLK2 edge, provided setup and hold requirements are met in every bus state. Violating setup or hold requirements will result in incorrect operation. 2) For maximum design flexibility the CPU has no internal pullup resistors on its outputs. External pullups may be required on ADS# and other outputs to keep them negated during hold-acknowledge period. 3-40 Bus Operation and Functional Timing Figure 3-20. Requesting Hold From Active Nonpipelined Bus Hold Acknowledge Cycle 1 Nonpipelined (Read) T1 T2 Th T2 Cycle 2 Nonpipelined (Write) Th T1 T2 CLK2 HOLD (See Note) I I HOLD asserted no later than READY# asserted HLDA A23-A1, BHE#, BLE#, BLE#, D/C#, M/IO#, W/R# I I _~,..-_--i._ _ _--l...._-+-_"" I --,!,-~--..,.....---..,...--+-~ (FIO~,ting) , _--i---+-~ , , , r-- I I ,~-- (Floflting) ADS# ... I I ,..---....I:~-- ---K,'"--___ . I , I '1/ ---1\1' . \l""l"'a_lid_2_ _ , ~ '-------", NA# READY# (Negated, or last locked cycle) LOCK# 015-00 I : Valid 1 : I I I -i----~, , , Note: , (Floating) , (Florting) I +-6 '~I (Flolting) , , I I : ---K----.. . \l-al-id-2-....... I ---~-< : I '----------, Out 2 I , HOLD is a synchronous input and can be asserted at any CLK2 edge provided setup and hold requirements are met in every bus state. Violating setup or hold requirements will result in incorrect operation. Tl486SXLC Microprocessor Bus Interface 3-41 Bus Operation and Functional Timing Figure 3-21. Requesting Hold from Active Pipelined Bus Cycle 1 Pipelined (Write) T21 T21 T1P Cycle 2 Nonpipelined (Read) Hold Acknowledge Th Th T1 1 T2 CLK2 HOLD (See Note) ~~~ HLDA 1 I A23-A1, BHE#, I I ----r--~~~~~~~~'" BLE#, D/C#, M/IO#, W/R# -T"""--+---+-~~~~~~~-¥ - - (Floating) I 1 READY# J ~ D15-DO V I ~ II~I ~:~: I I I ~ ; Valid 1 ; I 1 O~t X i I Note: I • V(Negated. or last locked cycle) LOCK# Valid 2 ,..-+--+-----i----.....' - - - (FI~ating) - - { I ADS# NA# I ____________...... ---K11,.."----...,1---....., O~t 1 1 r-- 1 : : I 1 1 (Flatting) - - - { : : . Valid 2 . }-r--- (Fla~ting) --l--~ I 1 1 I I 1 1 HOLD is a synchronous input and can be asserted at any CLK2 edge provided setup and hold requirements are met in every bus state. Violating setup or hold requirements will result in incorrect operation. 3.4.9 Coprocessor Interface The data-bus, address-bus, and bus-cycle-definition signals, as well as the coprocessor interface signals (PEREQ, BUSY#, ERROR#), are used to control communication between the TI486SXLC microprocessor and a coprocessor. Coprocessor or ESC opcodes are decoded by the microprocessor and the opcode and operands are then transferred to the coprocessor via liD port accesses to addresses 80 00F8h, 80 OOFCh, or 80 OOFEh. Address 80 00F8h functions as the control-port address and 80 OOFCh and 80 OOFEh are used for operand transfers. 3-42 Bus Operation and Functional Timing Coprocessor cycles can be either read or write and can be either nonpipelined or pipelined. Coprocessor cycles must be terminated by READY# and, as with any other bus cycle, can be terminated as early as the second bus state of the cycle. BUSY#, ERROR# and PEREQ are asynchronous level-sensitive inputs used to synchronize CPU and coprocessor operation. All three signals are sampled at the beginning of phase one ( 2) CLK2 rising edge and must meet specified setup and hold times to be recognized at a particular CLK2 edge. The time from assertion of SUSP# to activation of SUSPA# varies depending on which instructions were decoded prior to assertion of SUSP#. The minimum time from SUSP# sampled active to SUSPA# asserted is two CLK2s. As a maximum, the microprocessor can execute up to two instructions and associated bus cycles prior to asserting SUSPA#. The time required for the microprocessor to deactivate SUSPA# once SUSP# has been sampled inactive is four CLK2s. Figure 3-24. SUSP#-Initiated Suspend Mode 1 <1>1 I <1>2 1 <1>1 I 1 <1>2 1 <1>1 I <1>2 1 I 2 <1>1 I <1>2 1 I 2 CLK2 SUSP# BUSY# 1 2 CLK2s 1 ~ Min ---.1 14------- 4 CLK2s ----6 1 SUSPA# Tl486SXLC Microprocessor Bus Interface 3-45 Bus Operation and Functional Timing If the microprocessor is in a hold-acknowledge state and SUSP# is asserted, the processor mayor may not enter suspend mode depending on the state of the microprocessor internal execution pipeline. If the microprocessor is in a SUSP#-initiated suspend state and the CLK2 input is not stopped, the processor recognizes and acknowledges the HOLD input and stores the occurrence of FLUSH#, NMI, and INTR (if enabled) for execution once suspend mode is exited. 3.4.11.2 HALT-Initiated Suspend Mode The TI486SXLC series microprocessor also enters suspend mode as a result of executing a HALT instruction. The SUSPA# output is asserted no more than 17 CLK2s following a READY# sampled active for the HALT bus cycle as shown in Figure 3-25. Suspend mode is then exited upon recognition of an NMI or an unmasked INTR. SUSPA# is deactivated 12 CLK2s after sampling of an active NMI or unmasked INTR. If the microprocessor is in a HALT-initiated suspend mode and the CLK2 input is not stopped, the processor recognizes and acknowledges the HOLD input and stores the occurrence of FLUSH# for execution once suspend mode is exited. Figure 3-25. HALT-Initiated Suspend Mode Nonpipelined HALT T1 T2 Ti Ti Ti CLK2 ( 1 1 1 NMI 17 CLK2s Max ~I~-----+------- 3-46 1 12 1 I 1 1'- CL~2S ~I _ .......-~(I 1 ) 1 I SUSPA# (( 1 ~j~1--~----~--~I--~Jji READY# 1 1 1 Bus Operation and Functional Timing 3.4.11.3 Stopping the Input Clock Because the TI486SXLC series microprocessors are static devices, the input clock (CLK2) can be stopped and restarted without loss of any internal CPU data. This assumes, of course, that the TI486SXLC2 microprocessor is in nonclock-doubled mode when the input clock is stopped. (Refer to subsection 3.2.1, Clock Doubling Using Software Control, page 3-13.) CLK2 can be stopped in either phase one (>1) or phase two (<1>2) of the clock and in either a logic-high or logic-low state. However, entering suspend mode prior to stopping CLK2 dramatically reduces the CPU current requirements. Therefore, the recommended sequence for stopping CLK2 of the TI486SXLC2 series microprocessor from clock-doubled mode is: 1) Bring the processor out of clock-doubled mode 2) Initiate suspend mode 3) Wait for assertion of SUSPA# by the processor 4) Stop the input clock Note: Suspend mode can be entered while in clock-doubled mode as long as CLK2 is not scaled or stopped. For all other cases, including the TI486SXLC2 in nonclock-doubled mode, the recommended sequence is: 1) Initiate suspend mode 2) Wait for assertion of SUSPA# by the processor 3) Stop the input clock The TI486SXLC series microprocessor remains suspended until CLK2 is restarted and suspend mode is exited as described above. While CLK2 is stopped, the microprocessor can no longer sample and respond to any input stimulus including the HOLD, FLUSH#, NMI, INTR, and RESET inputs. Figure 3-26 illustrates the recommended sequence for stopping CLK2 using SUSP# to initiate suspend mode. CLK2 should be stable for a minimum of 10 clock periods before SUSP# is deasserted. Figure 3-26. Stopping CLK2 During Suspend Mode M I CLK2 I I JiAAiJi} I $1 I $2 1 I $1 1 1 SUSP# J'------~((~------------)) ~~------~((~----------------~(( )j : _ _ _ _---...( (~----------------~(( I ((~--------~((~------------)) )) )j )) 10 CLK2s Min 1 1 )~ --+1-4-------------., -------...( (.,..--SUSPA# I (I )j BUSY# I )) \ , ' 11 (( (( ((1r- _ _..JI ~---~)~)---~)~)--------~)) Tl486SXLC Microprocessor Bus Interface 3-47 Bus Operation and Functional Timing 3.4.12 Float Activating the FLT# input floats all TI486SXLC bidirectional and output signals. Asserting FLT# electrically isolates the microprocessor from the surrounding circuitry. This feature is useful in board-level test environments. Since the microprocessor is packaged in a surface-mount QFP, it is not usually socketed and cannot be removed from the motherboard when in-circuit emulation (ICE) is needed. Float capability allows connection of an emulator by clamping the emulator probe onto the microprocessor QFP without removing it from the circuit board. FLT# is an asynchronous, active-low input. It is recognized on the rising edge of CLK2. When recognized, it aborts the current bus state and floats the outputs of the microprocessor as shown in Figure 3-27. FLT# must be asserted for a minimum of 16 CLK2 cycles. To exit the float condition, RESET should be asserted and held asserted until after FLT# is deasserted. Asserting the FLT# input unconditionally aborts the current bus cycle and forces the microprocessor into the float mode. As a result, the microprocessors are not guaranteed to enter float in a valid state. After deactivating FLT#, the CPU is not guaranteed to exit float in a valid state. The microprocessor RESET input must be asserted prior to exiting float to ensure that the microprocessor is reset and that it returns in a valid state. Figure 3-27. Entering and Exiting Float CLK2 FLT# , CONTROL DATA ADDRESS RESET 3-48 ~ 1 _ _ _ _ _ _ _ _ _ _ _- - . 1 Valid X____ } - - - - - - - - - - - - - - - - - - - {_ _ _ _ _..J -1}--{ Valid ~ Valid L } - - - - - - - - - - - - - - - - - - {_ _ _ _ _ X___ } - - - - - - - - - - - - - - - - - - {_ _- . . J 1 _ _ _ _-.-.6 Chapter 4 TI486SXL Microprocessor Bus Interface This chapter provides a summary of the TI486SXL series processor signals and descriptions of all inputs/outputs, functional timing and bus operations (including pipelined and nonpipelined addressing), various interfaces, and power management. Topic 4~1 Page I nputlO utput Signals .' •.. ~. ~ ~ •..••••••••••• ~ • ;, ~ •. L •.•••.. ~'~ .. •. . .• 4..2 " " ;- BU$..Cy'CI~ Definition; ............ ~~ ............. ~ .i •• ~. ~ ••••• ~ .....L4;'15 " ~~" ': ' '0 " "i 0 ,'; " , Re$et '·nlllingaRCI:lijternaICI()ck$ynchr;Qnizati9n'; •. ~ :.' •••••..••~.' . ~." 4;.19 ~u~Qperatiohantt :~:UR9tio,ri~al :;i:ni~9.· 4-1 Input/Output Signals 4.1 Input/Output Signals This section describesthe TI486SXL series microprocessors' input and output signals. The discussion of these signals is arranged by functional groups as shown in Figure 4-1. Table 4-1 gives a brief description of each signal. Figure 4-1. TI486SXL Functional Signal Groupings 2x Clock CLK2 TI486SXL INTR NMI Reset RESET Address { A31-A2 Bus BE3#--BEO# SMI# 1 J Interrupt Control KEN# } FLUSH# Internal Cache Interface tMEMW# Data Bus D31-DO Address Bit-20 Mask A20M# -+W/R# Bus-Cycle Definition W/R# PEREQ D/C# BUSY# M/IO# LOCK# BS16# NA# Bus-Cycle Control READY# ADS# SMADS# 4-2 Coprocessor Interface ERROR# HOLD } HLDA SUSP# SUSPA# t FLT# t 144-pin QFP and 168-pin PGA pinout only -+ 144-pin QFP pinout only } } Bus Arbitration Power Management Float Control Input/Output Signals Table 4-1. TI486SXL Signal Summary Signal Signal Name Signal Group AOS# Address Strobe Bus-cycle control A20M# Address Bit-20 Mask None A31-A2 Address Bus Lines Address bus BE3#-BEO# Byte enables Address bus BS16# Bus size 16 Bus-cycle control BUSY# Processor extension busy Coprocessor interface CLK2 2X clock input None 031-00 Data bus None D/C# Data/control Bus-cycle definition ERROR# Processor extension error Coprocessor interface FLT#t Float None FLUSH# Cache flush Internal cache interface HLDA Hold acknowledge Bus arbitration HOLD Hold request Bus arbitration INTR Maskable interrupt request Interrupt control KEN# Cache enable Internal Cache interface LOCK# Bus lock Bus-cycle definition MEMW#t ISA memory write Internal cache interface M/IO# Memory/input-output Bus-cycle definition NA# Next address request Bus-cycle control NMI Nonmaskable interrupt request Interrupt control PEREQ Processor extension request Coprocessor interface READY# Bus ready Bus-cycle control RESET Reset None SMADS# SMM address strobe Bus-cycle control SMI# System management interrupt Interrupt control SUSP# Suspend request Power management SUSPA# Suspend acknowledge Power management W/R#+- Write/read Bus-cycle definition t 144-pin OFP and 168-pin PGA pinout only. +- 144-pin OFP has W/R# on pins 36 and 37. These terminals must be connected together. The following sections describe the signals and their functional characteristics. Additional signal information can be found in Chapter 5, Electrical Specifications. Chapter 5 documents the dc and ac characteristics for the signals including voltage levels, propagation delays, setup times, and hold times. Specified setup and hold times must be met for proper operation of the TI486SXL series microprocessors. Tl486SXL Microprocessor Bus Interface 4-3 Input/Output Signals 4.1.1 TI486SXL Terminal Function Descriptions Table 4-2 identifies and describes each of the TI486SXLC package terminals. Table 4-2. TI486SXL Terminal Functions Name Terminal No. 132- 144- 168pin pin pin Description A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 C4 A3 B3 B2 C3 C2 C1 03 02 01 E3 E2 E1 F1 G1 H1 H2 H3 J1 K1 K2 L1 L2 K3 M1 N1 L3 M2 P1 N2 73 74 75 76 77 78 86 87 88 89 90 93 94 95 104 106 107 108 109 110 113 114 61 60 59 58 84 83 82 81 014 R15 816 012 815 013 R13 011 813 R12 87 010 85 R7 09 03 R5 04 08 05 07 83 06 R2 82 81 R1 P2 P3 Q1 Address Bus (active high). The address bus (A31-A2) signals are threestate outputs that provide addresses for physical memory and I/O ports. All address lines can be used for addressing physical memory allowing a 4G-byte address space (0000 OOOOh to FFFF FFFFh). During 1/0 port accesses, A31-A 16 are driven low (except for coprocessor accesses). This permits a 64-Kbyte 1/0 address space (0000 OOOOh to 0000 FFFFh). AD8# E14 26 817 Address 8trobe (active low). This 3-state output indicates thafthe TI4868XL microprocessor has driven a valid address (A31-A2, BE3#-BEO#) and bus-cycle definition (M/IO#, D/C#, W/R#) on the appropriate output pins. During nonpipelined bus cycles, AD8# is active for the first clock of the bus cycle. During address pipelining, AD8# is asserted during the previous bus cycle and remains asserted until READY# is returned for that cycle. AD8# floats while the microprocessor is in a hold-acknowledge or float state. A20M# F13 43 015 Address Bit-20 Mask (active low). This input causes the microprocessor to mask (force low) physical address bit 20 when driving the external address bus or performing an internal cache access. When the processor is in real mode, asserting A20M# emulates the 1M-byte address wraparound that occurs on the 8086. The A20 signal is never masked when paging is enabled regardless of the state of the A20M# input. The A20M# input is ignored following reset and can be enabled using the A20M bit in the CCRO Configuration register. During all coprocessor 1/0 access address lines A30-A 16 are driven low and A31 is driven high. This allows A31 to be used by external logic to generate a coprocessor select signal. Coprocessor command transfers occur with address 8000 00F8h and coprocessor data transfers occur with address 8000 OOFCh. A31-A2 float while the CPU is in a hold-acknowledge or float state. A20M# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. 4-4 Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Name Terminal No. 132- 144- 168pin pin pin BE3# BE2# BE1# BEO# A13 B13 C13 E12 32 31 28 27 F17 J15 J16 K15 Description Byte Enables BE3#-BEO# (active low). These 3-state outputs determine which bytes within the 32-bit data bus are transferred during a memory or I/O access (Table 4-3). During a memory write, one or both of the upper bytes (0 and C) of the data bus can be duplicated in the lower bytes (B and A) of the bus. This duplication is dependent on BE3#-BEO# as listed in Table 4-4. Generating A1-AO using BE3#-BEO# can be achieved by using the following equations: AO = (BEO# • BE2#) + (BEO# • BE1 #) A1 = BEO#. BE1# The relationship between A1-AO and BE3#-BEO# is shown in Table 4-5. BS16# C14 115 C17 Bus Size 16 (active low). This input allows connection of the 32-bit microprocessor data bus to an external 16-bit data bus. When this input is activated, the microprocessor performs multiple bus cycles to couple read and write accesses from devices that cannot provide (accept) 32 bits of data in a single cycle. During bus cycles with BS16# active, data is transferred using data bus signals 015-00 only. BUSY# B9 48 S4 Coprocessor Busy (active low). This input indicates to the TI486SXL that the coprocessor is currently executing an instruction and is unable to accept another opcode. When the microprocessor encounters a WAIT instruction or any coprocessor instruction that operates on the coprocessor stack (Le., load, pop, arithmetic operation), BUSY# is sampled. BUSY# is continually sampled and must be recognized as inactive before the CPU supplies the coprocessor with another instruction. However, the following coprocessor instructions are allowed to execute even if BUSY# is active because they are used for coprocessor initialization and exception clearing: FNINIT, FNCLEX. BUSY# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. CLK2 F12 25 C3 2X Clock Input (active high). This input signal is the basic timing reference for the TI486SXL series microprocessors. The CLK2 input is internally divided by two to generate the internal processor clock. The external CLK2 is synchronized to a known phase of the internal processor clock by the falling edge of the RESET signal. External timing parameters are defined with respect to the rising edge of CLK2. For the TI486SXL2 microprocessors, the CLK2 input is used internally to generate the internal core processor clock and the internal bus interface clock. The external CLK2 is synchronized to a known phase of the internal processor clock by the falling edge of the RESET signal. External timing parameters are defined with respect to the rising edge of CLK2. Tl486SXL Microprocessor Bus Interface 4-5 Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Name Terminal No. 132- 144- 168pin pin pin O/C# A11 35 M15 Oata/Control. This 3-state, bus-cycle-definition signal is low during control cycles and is high during data cycles. Control cycles are issued during functions such as a halt instruction, interrupt servicing, and code fetching. Oata bus cycles include data access from either memory or 1/0. 00 01 02 03 04 05 06 07 08 09 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 H12 H13 H14 J14 K14 K13 L14 K12 L13 N14 M12 N13 N12 P13 P12 M11 N11 N10 P11 P10 M9 N9 P9 N8 P7 N6 P5 N5 M6 P4 P3 M5 1 144 143 137 136 135 134 133 131 130 129 128 127 118 117 116 124 123 122 121 102 101 100 99 3 4 142 141 12 13 14 15 P1 N2 N1 H2 M3 J2 L2 L3 F2 01 E3 C1 G3 02 K3 F3 J3 03 C2 81 A1 B2 A2 A4 A6 86 C7 C6 C8 A8 C9 88 Oata Bus (active high). The data bus (031-00) signals are 3-state bidirectional signals that provide the data path between the microprocessor and external memory and 1/0 devices. The data bus inputs data during memory read, 1/0 read, and interrupt-acknowledge cycles and outputs data during memory and 1/0 write cycles. Oata read operations require that specified data setup and hold times be met for correct operation. The data bus signals float while the CPU is in a hold-acknowledge or float state. ERROR# A8 49 A12 Coprocessor Error (active low). This input indicates that the coprocessor generated an error during execution of an instruction. ERROR# is sampled by the microprocessor whenever a coprocessor instruction is executed. If ERROR# is sampled active, the processor generates exception 16, that is then serviced by the exception handling software. Description Certain coprocessor instructions do not generate an exception 16 even if ERROR# is active. These instructions, which involve clearing coprocessor error flags and saving the coprocessor state, are: FNINIT, FNCLEX, FNSTSW, FNSTCW, FNSTENV, FNSAVE. ERROR# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. 4-6 Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Name Terminal No. 132- 144- 168pin pin pin FLT# 40 C11 Description Float (active low). This input forces all bidirectional and output signals to a 3-state condition. Floating the signals allows the microprocessor signals to be driven externally without physically removing the device from the circuit. The microprocessor must be reset following assertion or deassertion of FLT#. This signal may be used in conjunction with an upgrade socket. FLT# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. FLUSH# E13 42 C15 Cache Flush (active low). This input invalidates (flushes) the entire cache. Use of FLUSH#to maintain cache coherency is optional. The cache may also be invalidated during each hold-acknowledge cycle by setting the BARB bit in the CCRO Configuration register. The FLUSH# input is ignored following reset and can be enabled using the FLUSH bit in the CCRO Configuration register. FLUSH# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. HOLD 014 7 E15 Hold Request (active high). This input indicates that another bus master requests control of the local bus. The bus arbitration (HOLD, HLDA) signals allow the microprocessor to relinquish control of its local bus when requested by another bus master device. Once the processor has relinquished its bus (3-stated), the bus master device can then drive the local bus signals. After recognizing the HOLD request and completing the current bus cycle or sequence of locked bus cycles, the microprocessor responds by floating the local bus and asserting the hold acknowledge (HLDA) output. Once HLDA is asserted, the bus remains granted to the requesting bus master until HOLD becomes inactive. When the microprocessor recognizes HOLD is inactive, it simultaneously drives the local bus and drives HLDA inactive. External pullup resistors may be required on some of the microprocessor 3-state outputs to ensure that they remain inactive while in a hold-acknowledge state (or float state for the 144-pin QFP and 168-pin CPUs). The HOLD input is not recognized while RESET is active. If HOLD is asserted while RESET is active, RESET has priority and the microprocessor places the bus into an idle state instead of a hold-acknowledge state. The HOLD input is also recognized during suspend mode provided that the CLK2 input has not been stopped. HOLD is level-sensitive and must meet specified setup and hold times for correct operation. Tl486SXL Microprocessor Bus Interface 4-7 Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Name Terminal No. 132- 144- 168pin pin pin HLDA M14 6 P15 Description Hold Acknowledge (active high). This output indicates that the microprocessor is in a hold-acknowledge state and has relinquished control of its local bus. While in the hold-acknowledge state, the microprocessor drives HLDA active and continues to drive SUSPA#, if enabled. The other microprocessor outputs are in the high-impedance state allowing the requesting bus master to drive these signals. If the on-chip cache can satisfy bus requests, the microprocessor continues to operate during hold-acknowledge states. A20M# is internally recognized during this time. The microprocessor deactivates HLDA when the HOLD request is driven inactive. The microprocessor stores an NMI rising edge during a hold-acknowledge state for processing after HOLD is inactive. The FLUSH# input is also recognized during a hold-acknowledge state. If SUSP# is asserted during a hold-acknowledge state, the microprocessor mayor may not enter suspend mode depending on the state of the internal execution pipeline. Table 4-6 summarizes the state of the microprocessor signals during hold acknowledge. INTR B7 53 A 16 Maskable Interrupt Request. This level-sensitive input causes the processor to suspend execution of the current instruction stream and begin execution of an interrupt service routine. The INTR input can be masked (ignored) through the Flag Word register IF bit. When unmasked, the microprocessor responds to the INTR input by issuing two locked interrupt-acknowledge cycles. To assure recognition of the INTR request, INTR must remain active until the start of the first interrupt-acknowledge cycle. KEN# B12 41 F15 Cache Enable (active low). This input indicates that the data being returned during the current cycle is cacheable. When KEN# is active and the microprocessor is performing a cacheable code fetch or memory data read cycle, the cycle is transformed into a cache fill. Use of the KEN# input to control cacheability is optional. The noncacheable region registers can also be used to control cacheablity. Memory addresses specified by the noncacheable region registers are not cacheable regardless of the state of KEN#. I/O accesses, locked reads, SMM address space accesses, and interrupt-acknowledge cycles are never cached. During cached code fetches with BS16# asserted, two contiguous read cycles are performed to completely fill the 4-byte cache line. KEN# must be asserted during both read cycles to cause acache line fill. If BS16# is inactive, only one bus cycle is required and KEN# must be asserted for the data to be cached. During memory data reads, the microprocessor performs as many read cycles as necessary to supply the required data to complete the current operation. Valid bits are maintained for each byte in the cache line and for each block of four lines, thus allowing data operands of less than four bytes to reside in the cache. If two read cycles are performed with the same address (A31-A2), KEN# must be asserted during both cycles to cache the data in these cycles. If the data is cached, the microprocessor ignores the state of the byte enables (BE3#- BEO#) and four bytes of data (2 bytes if BS 16# is asserted) is cached. The KEN# input is ignored following reset and can be enabled using the KEN bit in the CCRO Configuration register. KEN# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. 4-8 Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Name Terminal No. 132- 144- 168pin pin pin LOCK# C10 MEMW# Description 38 N15 LOCK (active low). This 3-state, bus-cycle-definition signal is asserted to deny access of the CPU bus to other bus masters. The LOCK# signal may be explicitly activated during bus operations by including the LOCK prefix on certain instructions. LOCK# is always asserted during descriptor and page table updates, interrupt-acknowledge sequences, and when executing the XCHG instruction. The microprocessor does not enter the hold-acknowledge state in response to HOLD while the LOCK# output is active. 66 816 Memory Write (active low). This input is used in the cache interface logic which flushes the cache in systems that hold the CPU during DMA and MASTER cycles. M/IO# A 12 34 N16 Memory/IO. This 3-state, bus-cycle-definition signal is low during I/O read and write cycles and is high during memory cycles. NA# D13 9 A 13 Next Address Request (active low). This input requests address pipelining by the system hardware. When asserted, the system indicates that it is prepared to accept new bus-cycle definition and address signals (M/IO#, D/C#, W/R#, A31-A2, 8S16#, and 8E3#-8EO#) from the microprocessor even if the current bus cycle has not been terminated by assertion of READY#. If the microprocessor has an internal bus request pending and the NA# input is sampled active, the next bus-cycle definition and address signals are driven onto the bus. NC 86 39 65 71 138 A3 A5 A14 A17 814 815 817 C10 C12 C14 D16 D17 F1 G15 H3 H15 J17 L15 N3 Q15 Q16 Q17 R16 Make no external connection. Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. Tl486SXL Microprocessor Bus Interface 4-9 Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Terminal No. 132- 144- 168- Name pin pin pin Description NMI B8 51 A15 Nonmaskable Interrupt Request. This rising-edge-sensitive input causes the processor to suspend execution of the current instruction stream and begin execution of an NMI interrupt service routine. The NMI interrupt service request cannot be masked by software. Asserting NMI causes an interrupt which internally supplies interrupt vector 2h to the CPU core. External interrupt-acknowledge cycles are not necessary since the NMI interrupt vector is supplied internally. Once NMI processing has started, no additional NMls are processed until an IRET instruction is executed. The microprocessor samples NMI at the beginning of each phase two (<1>2) clock period. To assure recognition, NMI must be inactive for at least eight CLK2 periods and then be active for at least eight CLK2 periods. Additionally, specified setup and hold times must be met to assure recognition at a particular clock edge. PEREa C8 50 R17 Coprocessor Request (active high). This input indicates that the coprocessor is ready to transfer data to or from the CPU. The coprocessor can assert PEREa in the process of executing a coprocessor instruction. The microprocessor internally stores the current coprocessor opcode and performs the correct data transfers to support coprocessor operations using PEREa to synchronize the transfer of required operands. PEREa is internally connected to a pulldown resistor to prevent this signal from floating active when left unconnected. READY# G13 10 Ready (active low). This input is generated by the system hardware to indicate that the current bus cycle can be terminated. During a read cycle, assertion of READY# indicates that the system hardware has presented valid data to the CPU. When READY# is sampled active, the microprocessor latches the input data and terminates the cycle. During a write cycle, READY# assertion indicates that the system hardware has accepted the microprocessor output data. READY# must be asserted to terminate every bus cycle, including halt and shutdown indication cycles. A10 Reserved RESET F16 C9 45 C16 Reset (active high). When asserted, RESET suspends all operations in progress and places the microprocessor into a reset state. RESET is a level-sensitive synchronous input and must meet specified setup and hold times to be properly recognized by the microprocessor. The microprocessor begins executing instructions at physical address location FF FFFOh approximately 400 CLK2s after RESET is driven inactive (low). While RESET is active, the microprocessor is initialized to nonclock-doubled mode (for the T1486SXL2) and all other input pins are ignored. The remaining signals are initialized to their reset state during the internal processor reset sequence. The reset signal states for the microprocessor are shown in Table 4-6. SMADS# 4-10 C6 29 B13 SMM Address Strobe (active low). SMADS#, a three-state output, is asserted instead of the ADS# during SMM bus cycles and indicates that SMM memory is being accessed. SMADS# floats while the CPU is in a hold-acknowledge or float state. The SMADS# output is disabled (floated) following reset and can be enabled using the SMI bit in the CCR1 Configuration register. Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Name SMI# Terminal No. 132144168pin pin pin C7 67 B10 Description System Management Interrupt (active low). This 3-state, bidirectional, level-sensitive, input/output signal is an interrupt with higher priority than the NMI interrupt. SMI# must be active for at least four CLK2 clock periods to be recognized by the microprocessor. After the SMI is acknowledged, the SMI# pin is driven low by the microprocessor for the duration of the SMI service routine. The SMI# input is ignored following reset and can be enabled using the SMI bit in the CCR1 Configuration register. SMI# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. SUSP# A4 63 C13 Suspend Request (active low). This input requests the microprocessor to enter suspend mode. After recognizing SUSP# active, the processor completes execution of the current instruction, any pending decoded instructions, and associated bus cycles. In addition, the microprocessor waits for the coprocessor to indicate a not-busy status (BUSY# = 1) before entering suspend mode and asserting suspend acknowledge (SUSPA#). SUSP# is internally connected to a pullup resistor to prevent it from floating active when left unconnected. SUSPA# B4 64 B12 Suspend Acknowledge (active low). This output indicates that the microprocessor has entered the suspend mode as a result of SUSP# assertion or execution of a HALT instruction. Vee A1 AS A7 A10 A14 C5 C12 012 G2 G3 G12 G14 L12 M3 M7 M13 N4 N7 P2 P8 5 11 16 17 30 44 52 55 56 62 68 79 85 91 98 103 105 119 125 132 139 B7 B9 B11 C4 C5 E2 E16 G2 G16 H16 K2 K16 L16 M2 M16 P16 R3 R6 R8 R9 R10 R11 R14 Power Supply. All pins must be connected and used. 47 J1 VCC5 5-V Power Supply Tl486SXL Microprocessor Bus Interface 4-11 Input/Output Signals Table 4-2. TI486SXL Terminal Functions (Continued) Name Terminal No. 132- 144- 168pin pin pin Description Vss A2 A6 A9 B1 B5 B11 B14 C11 F2 F3 F14 J2 J3 J12 J13 M4 M8 M10 N3 P6 P14 2 8 18 19 20 21 22 23 24 33 48 54 57 69 70 72 80 92 96 97 111 A7 A9 A11 B3 B4 B5 E1 E17 G1 G17 H1 H17 K1 K17 L1 L17 M1 M17 P17 Q2 R4 S6 S8 S9 S10 S11 812 S14 Ground Pins. All pins must be connected and used. W/R# B10 36 37 N17 Write/Read. This 3-state, bus-cycle-definition signal is low during read cycles (data is read from memory or I/O) and is high during write bus cycles (data is written to memory or I/O). 4.1.2 Byte Enable Line Definitions These 3-state outputs determine which bytes within the 32-bit data bus are transferred during a memory or liD access. See Table 4-3. Table 4-3. Byte Enable Line Definitions Byte Enable Line 4-12 Byte Transferred BEO# 07-00 BE1# 015-08 BE2# 023-016 BE3# 031-024 InpuVOufpuf Signals 4.1.3 Write Duplication as a Function of BE3# - BEQ# During a memory write, one or both of the upper bytes (D and C) of the data bus can be duplicated in the lower bytes (B and A) of the bus. This duplication is dependent on BE3#-BEO# as listed in Table 4-4. Table 4-4. Write Duplication as a Function of BE3#-BEO# BE3#-BEO# 031-024 023-016 015-08 07-00 Duplicated Data 0000 0 C B A No 0001 0 C B X No 0011 0 C 0 C Yes 0111 0 X 0 X Yes 1000 X C B A No 1001 X C B X No 1011 X C X C Yes 1100 X X B A No 1101 X X B X No 1110 X X X A No Note: 4.1.4 BE3# - BEO# combinations not listed do not occur during TI486SXL bus cycles. A = logical write data D7 - DO B = logical write data D15 - D8 C = logical write data D23 - D16 D = logical write data D31 - D24 X = Don't care Generating A 1 - AQ Using BE3# - BEQ# Generating A 1-AO using BE3#-BEO# can be achieved by using the following equations: AO = (BEO# • A1 = BEO#. BE1# BE2#) + (BEO# • BE1 #) The relationship between A1-AO and BE3#-BEO# is shown in Table 4-5. Table 4-5. Generating A 1-AO Using BE3#-BEO# A31-A2 A1 AO BE3# BE2# BE1# BEO# 0 0 X X X 0 X X 0 X 0 0 0 0 Note: 4.1.5 X = Don't care Signal States During Reset and Hold Acknowledge RESET is the highest priority input signal. When RESET is asserted, the microprocessor aborts any current bus cycle and establishes real-mode bus- TI486SXL Microprocessor Bus Interface 4-13 Input/Output Signals cycle definition with active buses. See Table 3-3 and Section 4.3, Reset Timing and Internal Clock Synchronization, page 4-19. The hold-acknowledge state (Th) is entered in response to assertion of the HOLD input during which the microprocessor floats all output and bidirectional signals, except for HLDA and SUSPA#. In the hold-acknowledge state, all inputs except HOLD, FLUSH#, FLT#, SUSP# and RESET are ignored. See Table 3-3 and subsection 4.4.9, Hold Acknowledge State, page 4-45. The hold-acknowledge state provides the mechanism for an external device to acquire the system bus. Table 4-6. Signal States During RESET and Hold Acknowledge Signal Name Signal State During Reset Signal State During Hold Acknowledge A20M# Ignored Input recognized A31-A2 1 Float ADS# 1 Float BE3#-BEO# 0 Float BS16# Ignored Ignored BUSY# Initiates self test Ignored D31-DO Float Float Float D/C# ERROR# Ignored Ignored FLT#t Input recognized Input recognized FLUSH# Ignored Input recognized HLDA 0 1 HOLD Ignored Input recognized INTR Ignored Input recognized KEN# Ignored Ignored LOCK# 1 Float MEMW#t Ignored Input recognized M/IO# 0 Float NA# Ignored Ignored NMI Ignored Input recognized PEREQ Ignored Ignored READY# Ignored Ignored RESET Input recognized Input recognized SMADS# Float Float SMI# Ignored Input recognized SUSP# Ignored Input recognized SUSPA# (Float Driven W/R#':t. 0 Float t 144-pin OFP and 168-pin PGA only ':t. 144-pin OFP has W/R# on pins 36 and 37. These terminals must be connected together. 4-14 Bus-Cycle Definition 4.2 Bus-Cycle Definition The bus-cycle-definition signals consist of four 3-state outputs (M/IO#, D/C#, W/R#, LOCK#) that define the type of bus-cycle operation being performed. Table 4-7 defines the bus cycles for the possible states of these signals. M/IO#, D/C#, and W/R# are the primary bus-cycle-definition signals and are driven valid as ADS# (Address Strobe) becomes active. During nonpipelined cycles, the LOCK# output is driven valid along with M/IO#, D/C# and W/R#. During pipelined addressing, LOCK# is driven at the beginning of the bus cycle, which is after ADS# becomes active for that cycle. The bus-cycle-definition signals are active low and float while the microprocessor is in a hold-acknowledge or float state. Table 4-7. Bus-Cycle Types M/IO# D/C# W/R# LOCK# 0 0 0 0 0 0 0 0 0 Bus-Cycle Type Interrupt acknowledge X 0 X 0 0 0 I/O data read liD data write 0 0 X 0 0 0 Memory code read Halt: A31-A2 = Oh, BE3#-BEO# = 1011 Shutdown: A31-A2 = Oh, BE3#-BEO# =1110 0 0 Locked memory data read 0 Memory data read 0 Locked memory data write 0 Memory data write X = don't care - = does not occur 4.2.1 Clock Doubling Using Software Control The clock-doubled feature of the Tl486SXL2 is enabledldisabled using Configuration Control register 0 (CCRO) bit 6. The following can be used for software enablingldisabling of CKD: Set CKD programming sequence: mov out in mov or mov out mov out aI, OCOh 22h, al aI, 23h ah, al ah, 40h aI, OCOh 22h, al aI, ah 23h, al ;select CCRO ;read CCRO ;save in AH ;set AH<6> ;select CCRO ;write CCRO Tl486SXL Microprocessor Bus Interface 4-15 Bus-Cycle Definition Reset CKD programming sequence: mov out in mov and mov out mov out 4.2.1.1 al, OCOh 22h, al al, 23h ah, al ah, OBFh al, OCOh 22h, al al, ah 23h, al ;select CCRO ;read CCRO ;save in AH ;reset AH<6> ;select CCRO ;write CCRO Entering Clock-Doubled Mode The TI486SXL2 microprocessors power up in the nonclock-doubled mode. To enter the clock-doubled mode, set CLK2 to the desired frequency inside the phase-locked loop (PLL) lock range (see Table 5-5 and Table 5-6) and issue the set CKD programming sequence. Approximately 20 ~s after the final OUT instruction has exited the processor pipeline, the PLL locks and the CPU enters clock-doubled mode. Until the PLL is locked, the processor continues to operate in the nonclock-doubled mode. 4.2.1.2 Clock-Scaling Sequence When the processor is in clock-doubled mode and the CLK2 input is to be scaled or stopped, the reset CKD programming sequence should be issued. The final OUT instruction exiting the processor pipeline causes the CKD bit to be reset and puts the processor into nonclock-doubled mode. This must occur prior to scaling or stopping the CLK2 input in order to prevent a synchronization error from occurring. This may be ensured by issuing a JUMP instruction, such as JMP $ + 2, before scaling CLK2. To return the processor to clock-doubled mode, set CLK2 to the desired frequency inside the PLL lock range and issue the set CKD programming sequence. Approximately 20 ~s after the final OUT instruction has exited the processor pipeline, the PLL locks and the processor enters clock-doubled mode. 4.2.1.3 Suspend Mode Suspend mode can be initiated when the TI486SXL2 microprocessor is in clock-doubled mode as long as the CLK2 input is not scaled or stopped. Suspend mode does not disable the PLL; instead, changing the CLK2 frequency causes the PLL to lose lock. For more detailed information on entering and exiting suspend in nonclockdoubled mode, refer to subsection 4.2.2, Power Management. In order to get the lowest possible power state, bring the microprocessor out of clock-doubled mode, enterthe suspend mode (using software or hardware), and stop the CLK2 input. 4-16 Bus-Cycle Definition 4.2.2 Power Management The power management signals allow the TI486SXL series microprocessors to enter suspend mode. Suspend-mode circuitry allows the microprocessor to consume minimal power while maintaining the entire internal CPU state. 4.2.2.1 Suspend Request (SUSP#) Suspend Request (SUSP#) is an active-low input that requests the TI486SXL series microprocessors to enter suspend mode. With the TI486SXL2 microprocessors you should follow the procedure in subsection 4.2.1 to enter nonclock-doubled mode prior to scaling or stopping the CLK2 input. After recognizing SUSP# is active, the processor completes execution of the current instruction, any pending decoded instructions, and associated bus cycles. In addition, the microprocessor waits for the coprocessor to indicate a not-busy condition (BUSY#=1) before entering suspend mode and asserting suspend acknowledge (SUSPA#). During suspend mode, internal clocks are stopped and only the logic associated with monitoring RESET, HOLD, and FLUSH# remains active. With SUSPA# asserted, the CLK2 input to the microprocessor can be stopped in either phase. Stopping the CLK2 input further reduces current required by the microprocessor. To resume operation, the CLK2 input is restarted (if stopped), followed by deassertion of the SUSP# input. The TI486SXL2 processors can enter clockdoubled mode (subsection 4.2.1.1, Entering Clock-Doubled Mode) once the CLK2 input reaches the desired frequency within the PLL lock range. The processor then resumes instruction fetching and begins execution in the instruction stream at the point it had stopped. The SUSP# input is level sensitive and must meet specified setup and hold times to be recognized at a particular clock edge. The SUSP# input is ignored following reset and can be enabled using the SUSP bit in the CCRO Configuration register. 4.2.2.2 Suspend Acknowledge (SUSPA#) The Suspend Acknowledge (SUSPA#) output indicates that the TI486SXL series microprocessor has entered the suspend mode as a result of SUSP# assertion or execution of a HALT instruction. If SUSPA# is asserted and the CLK2 input is switching, the microprocessor continues to recognize RESET, HOLD, and FLUSH#. In addition, the TI486SXL2 microprocessor may stay in clock-doubled mode while the CLK2 input is switching. If suspend mode was entered as the result of a HALT instruction, the microprocessor also continues to monitor the NMI input and an unmasked INTR input. Detection of INTR or NMI forces the microprocessor to exit suspend mode and begin execution of the appropriate interrupt service routine. The CLK2 input to the processor can be stopped after SUSPA# has been asserted to further reduce the power requirement of the microprocessor. For this case, the TI486SXL2 microprocessor must be brought out of clock-doubled mode prior to stopping the CLK2 input to prevent a synchronization error. The SUSPA# output is disabled (floated) following reset and can be enabled using the SUSP bit in the CCRO Configuration register. Tl486SXL Microprocessor Bus Interface 4-17 Bus-Cycle Definition Table 4-8 shows the state of the TI486SXL series microprocessor signals when the device is in suspend mode. Table 4-8. Signal States During Suspend Mode Signal Name Signal State During Hold Acknowledge Signal State During HaltInitiated Suspend Mode A20M# Ignored Ignored BE3#-BEO# 0 0 8S16# Ignored Ignored BUSY# Ignored Ignored 031-00 Float Float ERROR# Ignored Ignored FLT#t Input recognized Input recognized FLUSH# Input recognized Input recognized HLOA 0 0 HOLD Input recognized Input recognized INTR Latched Input recognized KEN# Ignored Ignored MEMW#t Input recognized Input recognized M/IO# 0 0 NA# Ignored Ignored NMI Latched Input recognized PEREQ Ignored Ignored REAOY# Ignored Ignored RESET Input recognized Input recognized SMI# Latched Input recognized SUSP# Input recognized Ignored SUSPA# 0 0 W/R#+ 0 0 A31-A2 ADS# O/C# LOCK# SMAOS# t 144-pin QFP and 168-pin PGA only + 144-pin QFP has duplicate W/R# inputs on pins 36 and 37 4-18 Reset Timing and Internal Clock Synchronization 4.3 Reset Timing and Internal Clock Synchronization RESET is the highest priority input signal and is capable of interrupting any processor activity when it is asserted. When RESET is asserted, the microprocessor aborts any bus cycle. Idle, hold -acknowledge, and suspend states are also discontinued and the reset state is established. RESET is used when the microprocessor is powered up to initialize the CPU to a known valid state and to synchronize the internal CPU clock with external clocks. The TI486SXL2 microprocessors are initialized to nonclock-doubled mode upon RESET going active. RESET must be asserted for at least 15 CLK2 periods to ensure recognition by the microprocessor. If the self-test feature is to be invoked, RESET must be asserted for at least 80 CLK2 periods. RESET pulses of less than 15 CLK2 periods may not have sufficient time to propagate throughout the microprocessor and may not be recognized. RESET pulses of less than 80 CLK2 periods followed by a self-test request may incorrectly report a self-test failure when no true failure exists. Provided the RESET falling edge meets specified setup and hold times, the internal processor clock phase is synchronized as illustrated in Figure 4-2. The TI486SXL internal processor clock is half the frequency of the CLK2 input and each CLK2 cycle corresponds to an internal CPU clock phase (cp). Phase two (<1>2) of the internal clock is defined to be the second rising edge of CLK2 following the falling edge of RESET. The TI486SXL2 internal core clock is the same frequency as the CLK2 input and the internal bus interface clock is half the frequency of the CLK2 input. Phase two of the internal clock is defined to be the second rising edge of CLK2 following the falling edge of RESET. Figure 4-2. Internal Processor Clock Synchronization <\> 2 or <\>1 <\> 2 or <\>1 <\>2 <\> 1 CLK2 I I RESET !I INTERNAL PROCESSOR CLOCK - I I I I I I I I ~-~--~-------------------+!--------~!---- ~'--__--IV- Tl486SXL Microprocessor Bus Interface 4-19 Reset Timing and Internal Clock Synchronization Following the falling edge of RESET (and after self-test if it was requested), the microprocessor performs an internal initialization sequence for approximately 400 CLK2 periods. The microprocessor self-test feature is invoked if the BUSY# input is in the active (low) state when RESET falls inactive. The self-test sequence requires approximately (2 20 + 60) CLK2 periods to complete. Even if the self-test indicates a problem, the microprocessor attempts to proceed with the reset sequence. Figure 4-3 illustrates the bus activity and timing during the microprocessor reset sequence. Figure 4-3. Bus Activity From RESET Until First Code Fetch I... I going to request self-test. ~ 80 CLK2 periods before 1 1 n h,~es;;g~-tt· CLK2 - ' II BUSY# I I ~ ~ Internal Initialization I ( If self-test is performed, add 20 20 + 60* to these numbers 1 2 ~ U LJ LJ W ) U U W) ~ ERROR#~ I Cycle 1 Nonplpehned (R d) ea T1 T2 YU YL * Approximately I " x?oooa ~\ I 3~7 ~8 ~91~:r~3;::4;;95' '; RESET -----( CLK (Internal) .1'" Reset ~ 15 CLK2 periods if not I 1<1>21<1>11<1>21<1>11<1>2<1>1 <1>21<1>11<1>2.1 \. r\. \..../ '-.,( I \..../ . I ' - r1\ High to, no SeW-Test (see Note) Low to Begin SeltTest r1\ \~~ BB ~ ~I BE3#-~7~:: ~ LO: M/IO#, HLOA Up to 30 CLK2 ------.I II I', V vali~ '/; '/; K Vali~ :: A36/t#~ ~ Hi9j~ 1 LOCK# Up to 30 CLK2 ~ ADS# ~Hi9\~ A20M#, BS16#, ~ : 1 'i, "~ ~b 1 I <1>2 I I -.~ T2 1 I <1>2 I I Cycle 2 .I~ Nonpipelined I (Read) I T2 I <1>2 I 1 I <1>2 I Cycle 3 Nonpipelined (Read) <1>2 I I ~ T2 1 I <1>2 I I CLK2 (Input) A31-A2, BE3#-BEO#, M/IO#, O/C#, W/R# A08# NA# B816# REAOY# LOCK# 031-00 (Input During Read) ~ 4-22 ~ +id2 :1 V I 1\ I I I I I I I I I I I I I I I I I I I I I I I I I i\ I I I I ~ I r :\ I I I I +id1 ~ ~ :'-- I I I I I I I I I I ~ ~ :1 I I I I I I +id2 ~alid3 I I I I I I I I I +id3 ~ ~--+--~--+--~--+--~ I Note: V~lid 1 I Fastest nonpipelined bus cycles consist of T1 and T2. I I I I Bus Operation and Functional Timing 4.4.1.2 Nonpipelined Read and Write Cycles Any bus cycle can be performed with nonpipelined address timing. Figure 4-5 shows a mixture of read and write cycles with nonpipelined address timing. When a read cycle is performed, the microprocessor floats its data bus and the externally addressed device then drives the data. The microprocessor requires that all data-bus pins be driven to a valid logic state (high or low) at the end of each read cycle, when READY# is asserted. When a read cycle is acknowledged by READY# asserted in the T2 bus state, the microprocessor latches the information present at its data-bus pins and terminates the cycle. When a write cycle is performed, the data bus is driven by the microprocessor beginning in phase two of T1. When a write cycle is acknowledged, the write data remains valid throughout phase one of the next bus state to provide writedata hold time. Figure 4-5. Various Nonpipelined Bus Cycles (No Wait States) 1 1 1 Idle 1 1 I~ 1 1 1 Ti 1 Cycle 1 Nonpipelined (Write) 1 1 .I~ Cycle 2 Nonpipelined (Read) 1 T1 T2 1 1 T1 1 1 .I~ Cycle 3 Nonpipelined (Write) 1 Idle / T1 1 T2 1 / 1 I~ .1 1 T2 / 1 Cycle 4 Nonpipelined (Read) 1 1 1 Idle .1 1 Ti 1 / T1 1 / 1 T2 1 Ti CLK2 ~~~~~~~~~~~~~ va~;'i_~_1 ~:~)(~ V~f'_id_2 ~~~~ va~;li_d_3 ~:~~~~~ v_a~;lid_4 ~~:~~~ ___ W/R# __ __ "l"I"l'$Wt~~~""--+-i---\.~ __ i ri __ __ ___ __ ~~~~---i..i--~~~~ / / / / /Bus Size/ /Bus Size/ /Bus Sizel A:: / / / /Bus Size/ / BS16#~+_+ _ + ~+ ~ REAOY#~:~i~:~:~ ~+~+ ~; ~; ~ LOCK# ~ _ ~ I; End Cycle 1 V~lid 1 X r 031-00-1---1-< : 0"11: Note: Ii End Cycle 2 V~lid 2 )( ~ ;1 End V~lid 3 Cy_~ ~ i I; End Cycle 4 V~lid 4 I: >@??OX ~ >1-~<: O~~ >t--1--$-~ Idle states are shown here for diagram variety only. Tl486SXL Microprocessor Bus Interface 4-23 Bus Operation and Functional Timing 4.4.1.3 Nonpipelined Wait States Once a bus cycle begins, it continues until acknowledged by the external system hardware using the READY# input. Acknowledging the bus cycle at the end of the first T2 results in the shortest possible bus cycle, requiring only T1 and T2. If READY# is not immediately asserted however, T2 states are repeated indefinitely until the READY# input is sampled active. These intermediate T2 states are referred to as wait states. If the external system hardware is not able to receive or deliver data in two bus states, it withholds the READY# signal and at least one wait state is added to the bus cycle. Thus, on an address-by-address basis the system is able to define how fast a bus cycle completes. Figure 4-6 illustrates nonpipelined bus cycles with one wait state added to cycles 2 and 3. READY# is sampled inactive at the end of the first T2 state in cycles 2 and 3. Therefore, the T2 state is repeated until READY# is sampled active at the end of the second T2 and the cycle is then terminated. The microprocessor ignores the READY# input at the end of the T1 state. Figure 4-6. Various Nonpipelined Bus Cycles With Different Numbers of Wait States I I I I I Idle Ti I I Cycle 1 Nonpipelined ~ (Read) I I T1 : T2 I I Cycle 2 Nonpipelined (Write) I ·r I T1 T2 I I Idle I I Ti ~ T2 I I I r I I I Cycle 3 Nonpipelined (Read) T1 T2 Idle I T2 ~ I Ti CLK2 BE~~t~:..kwmL V~lid 1:X ~ :~: ~ bxxxxd "'~~~~~-""""'i---+----~----,i~-.....,.~~~~---~--,...i---f~~~~ I .IV I I II I _ II__.....I..II __.....~ M/IO#, O/C# W/R# Valid ~ AOS# I I I .I Valid "-lo~~~o.a.-_.... I I I I I I I I I IBus Sizel I I I ~~~~ I I I I I IBus Size I I NA#~~~ I Bus Sizel I I BS16#~+~+~+_ ~~~II READY#~:~i"':~:~:~ ~+~I ~ _ LOCK# _ I: V~lid End 1 Cycle X 1 031-00 4-24 I; 1 1 < Idle states are shown here for diagram variety only. ~ : ,Valid 1 1 1 -In $ : ~---+----+1 1 Note: 1 +~I End CY.~ _ :1 ,Valid ! ~ 1 Out: 2 : + End Cycle 3 ~ I I I - < $In) }-f---+---+3 -1 1 1 I Wxxxxx! Bus Operation and Functional Timing 4.4.1.4 Initiating and Maintaining Nonpipelined Cycles The bus states and transitions for nonpipelined addressing are illustrated in Figure 4-7. The bus transitions between four possible states: T1, T2, Ti, and Th. Active bus cycles consist of T1 and T2 states, with T2 being repeated for wait states. Bus cycles always begin with a single T1 state. T1 is always followed by a T2 state. If a bus cycle is not acknowledged during a given T2 and NA# is inactive, T2 is repeated resulting in a wait state. When a cycle is acknowledged during T2, the following state is T1 of the next bus cycle if a bus request is pending internally. If no internal bus request is pending, the Ti state is entered. If the HOLD input is asserted and the microprocessor is ready to enter the hold-acknowledge state, the Th state is entered. Figure 4-7. Nonpipelined Bus States HOLD Asserted HOLD Negated Request Pending HOLD Negated No Request HOLD Asserted READY# Asserted HOLD Asserted READY# Asserted HOLD Negated No Request Always Request Pending HOLD Negated READY# Asserted HOLD Negated Request Pending Bus States: T1 - First clock of a nonpipelined bus cycle (CPU drives new address and asserts ADS#) T2 - Subsequent clocks of a bus cycle when NA# has not been sampled asserted in the current bus cycle Ti - Idle state Th - Hold acknowledge (CPU asserts HLDA) The fastest bus cycle consists of two states: T1 and T2. Tl486SXL Microprocessor Bus Interface 4-25 Bus Operation and Functional Timing Because of the demultiplexed nature of the bus, the address pipelining option provides a mechanism for the external hardware to have an additional T state of access time without inserting a wait state. After the reset sequence and following any idle bus state, the processor always uses nonpipelined address timing. Pipelined or nonpipelined address timing is then determined on a cycle-by-cycle basis using the NA# input. When address pipelining is not used, the address and bus-cycle definition remain valid during all wait states. When wait states are added and nonpipelined address timing is necessary, negate NA# during each T2 state of the bus cycle except the last one. 4.4.2 Bus Cycles Using Pipelined Addressing The address pipelining option allows the system to request the address and bus-cycle definition of the next internally pending bus cycle before the current bus cycle is acknowledged with READY# asserted. If address pipelining is used, the external system hardware has an extra T state of access time to transfer data. The address pipelining option is controlled on a cycle-by-cycle basis by the state of the NA# input. 4.4.2. 1 Pipelined Bus States Pipelined addressing is always initiated by asserting NA# during a nonpipelined bus cycle. Within the nonpipelined bus cycle, NA# is sampled at the beginning of phase two of each T2 state and is only ac~nowledged by the microprocessor during wait states. When address pipelining is acknowledged, the address (BE3#-BEO#, and A31-A2) and bus-cycle definition (W/R#, D/C#, and M/IO#) of the next bus cycle are driven before the end of the nonpipelined cycle. The address status output (ADS#) is asserted simultaneously to indicate validity of these signals. Once in effect, address pipelining is maintained in successive bus cycles by continuing to' assert NA# during the pipelined bus cycles. As in nonpipelined bus cycles, the fastest bus cycles using pipe lined address require only two bus states. Figure 4-8 illustrates the fastest read cycles using pipelined address timing. The two bus states for pipelined addressing are T1 P and T2P or T1 P and T21. The T1 P state is entered following completion of the bus cycle in which the pipelined address and bus-cycle-definition information was made available and is the first bus state of every pipelined bus cycle. In other words, the T1 P state follows a T2 state if the previous cycle was nonpipelined, and follows a T2P state if the previous cycle was pipelined. 4-26 Bus Operation and Functional Timing Figure 4-8. Fastest Pipelined Read Cycles I ~ Cycle 1 Pipelined (Read) Cycle 2 Pipelined (Read) Cycle 3 Pipelined (Read) CLK2 A31-A2, BE3#-BEO#, M/IO#, D/C#, W/R# -or----~~a..---..,...---~:F_.a.---..,.._--~':!I_~--..,....- AD8# NA# B816# READY# LOCK# D31-DO (Input During Read) ~--t--~--t--~--t--~ I Note: I I I I I I Fastest pipelined bus cycles consist of T1 P and T2P. Within the pipelined bus cycle, NA# is sampled at the beginning of phase two ( 2) of T1 P. When a write cycle is acknowledged, the write data remains valid throughout phase one (<1>1) of the next bus state to provide write-data hold time. 4.4.2.3 Pipelined Wait States Once a pipelined bus cycle begins, it continues until acknowledged by the external system hardware using the microprocessor READY# input. Acknowledging the bus cycle at the end of the first T2P or T21 state results in the shortest possible pipelined bus cycle. If READY# is not immediately asserted, however, T2P or T21 states are repeated indefinitely until the READY# input is sampled active. Additional T2P or T21 states are referred to as wait states. Figure 4-9 illustrates pipelined bus cycles with one wait state added to cycles 1 through 3. Cycle 1 is a pipelined cycle with NA# asserted during T1 P and a pending bus request. READY# is sampled inactive at the end of the first T2P state in cycle 1. Therefore, the T2P state is repeated until READY# is sampled active at the end of the second T2P and the cycle is then terminated. The microprocessor ignores the READY# input at the end of the T1 P state. ADS#, the address, and the bus-cycle-definition signals for the pending bus cycle are all valid during each of the T2P states. Also, asserting NA more than once during the cycle has no additional effects. Pipelined addressing can only output information for the next bus cycle. Cycle 2 in Figure 4-9 illustrates a pipelined cycle, with one wait state, where NA# is not asserted until the second bus state in the cycle. In this case, the CPU enters the T2 state following T1 P because NA# is not asserted. During the T2 state the microprocessor samples NA# asserted. Because a bus request is pending internally, and READY# is not active, the CPU enters the T2P state and asserts ADS#, a valid address, and bus-cycle-definition information for the pending bus cycle. The cycle is then terminated by an active READY# at the end of the T2P state. Cycle 3 of Figure 4-9 illustrates the case where no internal bus request exists until the last state of a pipelined cycle with wait states. In cycle 3, NA# is asserted in T1 P, requesting the next address. Because the CPU does not have an internal bus request pending, The T21 state is entered. However, by the end of the T21 state, a bus request exists. Because READY# is not asserted, a wait state is added. The CPU then enters the T2P state and asserts ADS#, a valid address, and bus-cycle-definition information for the pending bus cycle. As long as the CPU enters the T2P state at some point during the bus cycle, pipelined addressing is maintained. NA# needs to be asserted only once during the bus cycle to request pipelined addressing. 4-28 Bus Operation and Functional Timing Figure 4-9. Various Pipelined Cycles (One Wait State) Cycle 1 Pipelined ~I ... (Write) I I~ T2P Cycle 2 Pipelined (Read) I I ~ T2P Cycle 3 Pipelined (Write) ... I I I T21 ~ T2P ... I I I Cycle 4 Pipelined (Read) CLK2 A31-A2, __~__~~__~__________~____~~________~~~~~________~ BE3#- BEO#, Valid 2 M/IO#, O/C# --,.--------I~--~----~I------r------+.~---:------+-;~~~~--.,-----~ 'I I I I as soon I AOS# is asserted I I I as the CPU has another bus cycle to perform, which is not always immediately after NA# is asserted. I I I I I W/R# I I AOS# I 1 1 1 1 As long as the CPU enters the T2P state during cycle 3, address pipelining is maintained in cycle 4. I I I I I I 8S16# REAOY# *' o I I ' I l"A,A~~Aj~A~ LOCK# Valid 2 I 031-00 I NA# could have been asserted in T1 P if desired. Assertion now is the latest time possible to allow the CPU to enter T2P state to maintain pipelining in cycle 3. Valid 3 I I I I I 1 I 1 I I _~...u_t....X"--"'I"':--~--~}--r--f--¢x,...l:----'-~-ut-3-"""'- TI486SXL Microprocessor Bus Interface 4-29 Bus Operation and Functional Timing 4.4.2.4 Initiating and Maintaining Pipelined Cycles Pipelined addressing is always initiated by asserting NA# during a nonpipelined bus cycle with at least one wait state. The first bus cycle following reset, an idle bus, or a hold-acknowledge state is always nonpipelined. Therefore, the microprocessor always issues at least one nonpipelined bus cycle following reset, idle, or hold acknowledge before pipelined addressing takes effect. Once a bus cycle is in progress and the current address has been valid for one entire bus state, the NA# input is sampled at the end of every phase one until the bus cycle is acknowledged. Once NA# is sampled active, the microprocessor is free to drive a new address and bus-cycle definition on the bus as early as the next bus state and as late as the last bus state in the cycle. Figure 4-10 illustrates the fastest transition possible to pipelined addressing following an idle bus state. In cycle 1, NA# is driven during state T2. Thus, cycle 1 makes the transition to pipelined address timing, since it begins with T1 but ends with T2P. Because the address for cycle 2 is available before cycle 2 begins, cycle 2 is called a pipelined bus cycle, and it begins with a T1 P state. cycle 2 begins as soon as READY# assertion terminates cycle 1. Figure 4-10. Fastest Transition to Pipelined Address Following Idle Bus State Idle Cycle 2 Pipelined (Read) Cycle 1 Nonpipelined (Write) 1 1 1 1 1 Cycle 3 Pipelined (Write) T1 I I T2 1 : T2P : T1P : T2P 1 Cycle 4 Pipelined (Read) 1 1 "'1 4 "'14 "'14 Ti 1 I T1 P I 1 T2P 1 T1 P I I 1 T21 T21 1 Ti CLK2 W/R# ~~~'-l-/~ '-____ "+--¥ AOS# LOCK#" 1 1 031-00...L--..L-{ 1 Note: 4-30 1 Following any idle bus state (Ti) the address is always nonpipelined and NA# is sampled only during wait states. To start address pipelining after an idle state requires a nonpipelined cycle with at least one wait state (cycle 1 above). The pipelined cycles (2, 3, and 4 above) are shown with various numbers of wait states. Bus Operation and Functional Timing Figure 4-11 illustrates transitioning to pipelined addressing during a burst of bus cycles. Cycle 2 makes the transition to pipelined addressing. Comparing cycle 2 to cycle 1 of Figure 4-10 (on page 4-30) illustrates that a transition cycle is the same when it occurs and consists of at least T1, T2 (NA# is asserted at that time), and T2P (provided the microprocessor has an internal bus request already pending). T2P states are repeated if wait states are added to the cycle. Cycles 2, 3, and 4 in Figure 4-11 show that once address pipelining is achieved it can be maintained with two-state bus cycles consisting only of T1P and T2P. Once a pipelined bus cycle is in progress, pipelined timing is maintained for the next cycle by asserting NA# and detecting that the microprocessor enters T2P during the current bus cycle. The current bus cycle must end in state T2P for pipelining to be maintained in the next cycle. T2P is identified by the assertion of ADS#. Figure 4-10 and Figure 4-11 each show pipelining ending after cycle 4. This occurs because the microprocessor does not have an internal bus request prior to the acknowledgment of cycle 4. Figure 4-11. Transitioning to Pipelined Address During Burst of Bus Cycles I I Idle I I I Ti I I I I I I I I I Cycle 1 Cycle 2 Cycle 3 Cycle 4 Nonpipelined Nonpipelined Pipelined Pipelined Idle I -I _ (Write) I (Read) 1_ (Write) I (Read) ..L ----·,..-------~··14~----------~.Mr~---I--~·~14~------~~~I~~~~ T1 T2 I T1 T2 T2P I T1 P I T2P I T1 P I Ti CLK2 AOS# BS 16# "\/\/\./\/\/V\/\.I\/\/\,/\/\/.... /\/\.I\/\I',/\/\/.... /\/\/\/\I',/\/\)'\/\/\/\I READY#~ LOCK# 031-00 Note: ¢m$ I I I I I Valid 1 i ~I_ _"",-- -1---r--{ Out 1 I Following any idle bus state (Ti), addresses are nonpipelined bus cycles, NA# is sampled only during wait states. Therefore, to begin address pipelining during a group of nonpipelined bus cycles requires a nonpipelined cycle with at least one wait state (cycle 2 above). Tl486SXL Microprocessor Bus Interface 4-31 Bus Operation and Functional Timing The complete bus-state-transition diagram, including operation with pipelined address, is given in Figure 4-12. This is a superset of the diagram for nonpipelined address. The three additional bus states for pipelined address are shaded. Figure 4-12. Complete Bus States HOLD Asserted READY# Asserted. HOLD Asserted NA# Asserted. (HOLD Asserted + No Request) READY# Asserted. HOLD Asserted HOLD Negated. Request Pending HOLD Asserted ~--r- Request Pending. HOLD Negated READY# Asserted. HOLD Negated. No Request READY# Asserted. HOLD Negated. No Request (No Request + HOLD Asserted) • NA# Asserted • READY# Negated I I I I I I I I NA# Negatedl READY# Asserted. HOLD Negated. Request Pending READY# Asserted. HOLD Negated. Request Pending READY# Negated Request Pending HOLD Asserted NA# Asserted. HOLD Negated • Request Pending READY# Asserted READY# Negated Bus States: T1 - First clock of a nonpipelined bus cycle (CPU drives new address and asserts ADS#) T2 - Subsequent clocks of a bus cycle when NA# has not been sampled asserted in the current bus cycle T21 - Subsequent clocks of a bus cycle when NA# has been sampled asserted in the current bus cycle but there is not yet an internal bus request pending (CPU does not drive a new address or assert ADS#) T2P - Subsequent clocks of a bus cycle when NA# has been sampled asserted in the current bus cycle and there is an internal bus request pending (CPU drives new address and asserts ADS#) T1 P - First clock of a pipelined bus cycle Ti - Idle state Th - Hold acknowledge state (CPU asserts HLDA) 4-32 Bus Operation and Functional Timing 4.4.3 Bus Cycles Using BS16# Assertion of B816# during a bus cycle effectively changes the TI4868XL microprocessor 32-bit bus into a 16-bit data bus. Although slower, the 16-bit data bus usually requires less hardware interface circuitry and generally offers greater compatibility with 16-bit devices. 4.4.3.1 Nonpipelined Cycles With B816# asserted, all operand transfers physically occur on data bus lines 015-00. With B816# asserted during a 32-bit nonpipelined read or write, additional bus cycles are issued by the CPU to transfer the data. For data reads with only the two upper bytes selected (BE3# and/or BE2# asserted), data is read from 015-00. For data writes with only the two upper bytes selected (BE3# and/or BE2# asserted), data is duplicated on 015-00 and no further action is required. For data reads with all four bytes selected (at least BE1 #, BE2# asserted and possibly BEO# and/or BE3# also asserted), the CPU performs two 16-bit read cycles using data lines 015-00. Lines 031-016 are ignored. Oata writes with all four bytes selected (at least BE1#, BE2# asserted and possibly BEO# and/or BE3# also asserted), the CPU performs two 16-bit write cycles using data lines 015-00. Bytes 0 and 1 (corresponding to BEO#, BE1 #) are sent on the first bus cycle (part one) and bytes 2 and 3 (corresponding to BE2#, BE3#) are sent on the second bus cycle (part two). BEO# and BE1 # are always negated during the second 16-bit bus cycle. Figure 4-13 illustrates two nonpipelined bus cycles using B816#. TI486SXL Microprocessor Bus Interface 4-33 Bus Operation and Functional Timing Figure 4-13. Nonpipelined Bus Cycles Using BS 16# Transfer Requiring Two Cycles on 16-Bit Data Bus Transfer Requiring Two Cycles on 16-Bit Data Bus , ( ---------~~--------~(--------~~~-------Idle , , Cycle 1 , Cycle 1A Nonpipelined , Nonpipelined ~ Write, Part One , Write, Part Two --,~ , Ti I ,T1 T2 , , , Cycle 2 , Cycle 2A Pipelined , Pipelined ~ Read, Part One ~ Read, Part Two ,~ --I I T1 T2 , T1 I T2, T1 I T1 , ,Idle J --I , Ti CLK2 BE1#,BEO#~~~I[J;~=7)A~IW~azy!s ~ln~ac~ti~ve~=J~~=7AA~IW~a~YS~I~na~c~tiv~e~~~!~~ ~ During Part 2 I "---..,.....----{ Duri~g Part 2 I BE3~~1E~~: ~ M/IO#,D/C#-'l;~~~~ ~ ~ AD8# ~l ~~. I B816# x x x :'\. X ('\. I I: n x I xxx x x :X x I I ." ." ~ ..~ x xx X XXxl\x..)< ~~ I I, X X IXJ\ I, X X xx " J\Xll>. I _~~I~~ i~ x x x l2on't x xx xxxx Don't x xx X x x Care X X x x Care x xxx x I X X I : X X X X :'\,. IX X X xx Xli>. xX" X" I i I )(,XXx x x ,XX x x x XX xxx xx :vxxxmxxxxxxxx ~ I A Don't Care X XXfI0I\!) J\ Qon't Care J\xx i Valid 2 : I I k I I 1\ III I W/R#~ NA# :x ya:lid 1 : ." I 16-Bit I I :":" Xli>. x XY'x Xx~ ." IBUSSize:.e:.e: READY#_I.I~I_I I I I 16-Bit I I ~e: 16-Bit I LOCK#$m$ I D15-DO D31- I -I---r-.-{ I ~ va:id1: : d15-dO: Out I I X ~31-d16: Out ~31-d16 1---r-<: : out: I D16 : I I : V+2 16-Bit I I : ~ >-+--$--t--qr-t---I d15-dO I d31-d16 I >-t--CP--l--Y--r--I : I Ignored I Ignored I Note: Dn = physical data pin n dn = logical data bit n 4.4.3.2 Pipelined Cycles The input signal NA# is a request to the CPU to drive the address, byte enables, and bus status signals for the next bus cycle as soon as they become internally available. Pipelining this address allows the system logic to anticipate the next bus-cycle operation. The CPU cannot acknowledge both address pipelining and 8S16# for the same bus cycle. If NA# is already sampled when 8S16# is asserted, the data bus remains 32 bits wide. If NA# and 8S16# are asserted in the same window, NA# is ignored and 8S16# remains effective (the data bus becomes 16 bits wide). Figure 4-14 illustrates the interaction between NA# and 8816#. 4-34 Bus Operation and Functional Timing Figure 4-14. Pipelining and as 16# A Transfer Requiring Two Cycles on 16-Bit Bus ( ~-------------~~------------~~ Previous I Cycle 1A I Cycle 1B Cycle 2 Cycle Pipelined I Nonpipelined Nonpipelined ____~.~~~--W--rit-e-,P-a-rt-O-n-e--~.14~----W-r-ite-,-P-art_T'_w_o__~~.______R_e_a_d______~ I T2P Idle I I T2 I T1 CLK2 BE1#,BEO# -+~------~----------~ BE~,kE~~:~ --r ~ ....__ M/IO#, O/C# W/R# AOS# ~ v~a:l_id_1 ~~ ___ __ ____ ~ ________ ~:~)(~ va~~li_d_2 ~:)(~ Va_li~d_3 ~ i i __ __ __ __ ---+-:----+-:----1----1\.:\ : : : t-Y---+---.L..l-~W : U ~"--____! ----' j;',..-----IIf---.j....---r-: I I NA# ____ I I I NA# must be negated in these T's to allow I recognit:on of ass~rted BS1 ~# in final T2s. \1V\/'\AA,f\AA,/V I I I I , 16-Bit I I 16-Bit I I: ~1~IBUSSizel~IBUSSizel ~I REAOY# ~ .~ I LOCK#~ : V~lid1 I d31)16 ~ I tiiiilpii" Bl& :x:'alid~ ~ : d15-dO: : d15-dO . d31-d16: 031-016 : ~ I d I I I .,--q:>--<: ~ut X . O~t >-.,---+--q::>---i i I I I -,--q:>--<' -r----,.._-..,.....__ -----r--..,...-J>---~--+-_q:>_-1 I I I I d15-dO 015-00 : "I I I : d31- d 16 : 0 ut : : d31 -d16 or-. J I I I I I I I I On = physical data pin n dn = logical data bit n Cycle 1A is pipelined. Cycle 1B cannot be pipelined, but its address can be inferred from cycle 1 to externally simulate address pipelining during cycle 1B. Tl486SXL Microprocessor Bus Interface 4-35 Bus Operation and Functional Timing 4.4.4 Locked Bus Cycles When the LOCK# signal is asserted, the TI486SXL series microprocessors do not allow other bus master devices to gain control of the system bus. LOCK# is driven active in response to executing certain instructions with the LOCK prefix. The LOCK prefix allows indivisible read/modify/write operations on memory operands. LOCK# is also active during interrupt-acknowledge cycles. LOCK# is activated on the CLK2 edge that begins the first locked bus cycle and is deactivated when READY# is returned at the end of the last locked bus cycle. When using nonpipelined addressing, LOCK# is asserted during phase one ( --t--~ -<: undefine~ >--~ (Floating) t---t---~ Bus Operation and Functional Timing 4.4.7 Internal Cache Interface The TI486SXL cache is an 8K-byte write-through unified instruction/data cache with lines that are allocated only during memory read cycles. The cache is configured as two-way set associative, and the cache organization consists of 1024 sets each containing two lines of four bytes each. 4.4.7. 1 Cache Fills Any unlocked memory read cycle can be cached by the TI486SXL series microprocessor. The microprocessor does not cache accesses automatically to memory addresses specified by the Noncacheable-Region registers. Additionally, the KEN# input can be used to enable caching of memory accesses on a cycle-by-cycle basis. The microprocessor acknowledges the KEN# input only if the KEN enable bit is set in the CCRO Configuration register. As shown in Figure 4-18, the microprocessor samples the KEN# input one CLK2 before READY# is sampled active. If KEN# is asserted and the current address is not set as noncacheable per the Noncacheable-Region registers, the microprocessor fills two bytes of a line in the cache with the data present on the data bus pins. Figure 4-18. Nonpipelined Cache Fills Using KEN# Cycle 2 Nonpipelined (Read - Cache Fill) 1 1 14 CLK2 1 A31-A2, BE3#-BEO#, O/C#, M/IO#, W/R# ~ 1 A08# B816# 1 +id1 1 1 1 ~ Valid 2 1 V f\ V $Wr ~ ~ 1 1 I I NA# LOCK# 031-00 1 I I I I 1 1 -I REAOY# __I~ ~ V~lid1 ~ I I I KEN# • I I 1 1 ~ 1 1 1 I 1 I I : valid2: • ~--+--~--~---~--~-~ I~I -T-f1~1 Tl486SXL Microprocessor Bus Interface 4-41 Bus Operation and Functional Timing As shown in Figure 4-19 and Figure 4-20 on page 4-43, the microprocessor samples the KEN# input one CLK2 before READY# is sampled active. If KEN# is asserted and the current address is not set as noncacheable per the Noncacheable-Region registers, the microprocessor fills two bytes of a line in the cache with the data present on the data bus pins. The states of BE3#-BEO# are ignored if KEN# is asserted for the cycle. Figure 4-19. Nonpipelined Cache Fills Using KEN# and 8S16# I I Cycle 1 Nonpipelined (Read - Cache Fill) Cycle 2 Nonpipelined (Read - Cache Fill) ~ CLK2 I A31-A2, BE3#-BEO#, O/C#, M/IO#, W/R# ~ I • V V ~ ~ 1"1. Valid 1 I A08# B816# NA# KEN# ~ I i\ I I I I I I I ~ ~ --.:;..J I On = physical data pin n dn = logical data bit n 4-42 I KEN# must be asserted during both read cycles in order for the cache fill to occur. LOCK# 031-00 (Input During Read) Valid 2 : i\ I I REAOY# I I I I +d1 I ~ I : valid< I • I I d1S-dO I _ _ ~I __ ~ __ LI ___ ..JI __ ~_..JI d1S-dO ~ I I ~ I I I I Bus Operation and Functional Timing Figure 4-20. Pipelined Cache Fills Using KEN# Cycle 2 Pipelined (Read - Cache Fill) Cycle 1 Pipelined (Read - Cache Fill) I I l1li CLK2 A31-A2, BE3#-BEO#, D/C#, M/IO#, W/R# Valid 3 Valid 1 AD8# I NA# B816# KEN# I W~_ -~ \1/: \1 ;,.......:- . . . -f-I I READY# I LOCK# Valid 1 I I I ~ .1Valid 2 ~ I Valid13 D31-DO (Input During Read) 4.4.7.2 Flushing the Cache To maintain cache coherency with external memory, the TI486SXL series microprocessors cache contents should be invalidated when previously cached data is modified in external memory by another bus master. The microprocessor invalidates the internal cache contents during execution of the INVD and WBINVD instructions following assertion of HLDA if the BARB bit is set in the CCRD Configuration register or following assertion of FLUSH# if the FLUSH bit is set in CCRD. The microprocessor samples the FLUSH# input on the rising edge of CLK2 corresponding to the beginning of phase two (<1>2) of the internal processor clock. If FLUSH# is asserted, the microprocessor invalidates the entire contents of the internal cache. The actual point in time where the cache is invalidated depends upon the internal state of the execution pipeline. FLUSH# must be asserted for at least two CLK2 periods and must meet specified setup and hold times to be recognized on a specific CLK2 edge. Tl486SXL Microprocessor Bus Interface 4-43 Bus Operation and Functional Timing 4.4.8 Address Bit-20 Masking The TI486SXL series microprocessor can be forced to provide 8086 1M-byte address wraparound compatibility by setting the A20 bit in the CCRO Configuration register and asserting the A20M# input. When the A20M# is asserted, the 20th bit in the address to both the internal cache and the external bus pin is masked (zeroed). As shown in Figure 4-21, the microprocessor samples the A20M# input on the rising edge of CLK2 corresponding to the beginning of phase 2 (<1>2) of the internal processor clock. If A20M# is asserted and paging is not enabled, the microprocessor masks the A20 signal internally starting with the next cache access and externally starting with the next bus cycle. If paging is enabled, the A20 signal is not masked regardless of the state of A20M#. A20 remains masked until the access following detection of an inactive state on the A20M# pin. A20M# must be asserted for a minimum of two CLK2 periods and must meet specified setup and hold times to be recognized on a specific CLK2 edge. Figure 4-21. Masking A20 Using A20M# During Burst of Bus Cycles 1 Idle 1 I Ti 4-44 ·tll 1 Cycle 1 Nonpipelined (Write) T1 I 1 I .1 T2 Cycle 2 Nonpipelined (Read) 1 4 1 T1 I T2 I 1 1 T2P ·rI. 1 Cycle 3 Pipelined (Write) T1 P I T2P 1 1 I ·r 1 Cycle 4 Pipelined (Write) T1 P I 1 T21 1 Ti Bus Operation and Functional Timing An alternative to using the A20M# pin is provided by the NCO bit in the CCRO Configuration register. The microprocessor does not automatically cache accesses to the first 64K bytes and to 1M byte + 64K bytes if the NCO bit is set. This prevents data within the wraparound memory area from residing in the internal cache and eliminates the need for masking A20 to the internal cache. 4.4.9 Hold Acknowledge State The hold-acknowledge state provides the mechanism for an external device in a TI486SXL microprocessor system to acquire the system bus while the microprocessor is held in an inactive bus state. This allows external bus masters to take control of the microprocessor bus and directly access system hardware in a shared manner. The microprocessor continues to execute instructions out of the internal cache (if enabled) until a system bus cycle is required. The hold-acknowledge state (Th) is entered in response to assertion of the HOLD input. In the hold-acknowledge state, the microprocessor floats all output and bidirectional signals, except for HLDA and SUSPA#. HLDA is asserted as long as the microprocessor remains in the hold-acknowledge state and all inputs except HOLD, FLUSH#, SUSP# and RESET are ignored. State Th can be entered directly from a bus-idle state, as in Figure 4-22, or after the completion of the current physical bus cycle if the LOCK signal is not asserted, as in Figure 4-23 and Figure 4-24. The CPU samples the HOLD input on the rising edge of CLK2 corresponding to the beginning of phase one (>1) of internal processor clock. HOLD is a synchronous input and can be asserted at any CLK2 edge, provided setup and hold requirements are met in every bus state. The hold-acknowledge state is exited in response to the HOLD input being negated. The next bus start is an idle state (Ti) if no bus request is pending, as in Figure 4-22. If an internal bus request is pending, as in Figure 4-23 and Figure 4-24, the next bus state is T1 . Th is also exited in response to RESET being asserted. If HOLD remains asserted when RESET goes inactive, the microprocessor enters the hold-acknowledge state before performing any bus cycles provided HOLD is still asserted when the CPU is ready to perform its first bus cycle. If a rising edge occurs on the edge-triggered NMI input while in Th state, the event is remembered as a nonmaskable interrupt 2 and is serviced when the state is exited. Tl486SXL Microprocessor Bus Interface 4-45 Bus Operation and Functional Timing Figure 4-22. Requesting Hold From Bus-Idle State I I I I Idle Hold Acknowledge Idle Ti Th I I Th I I Th Ti CLK2 III HOLO (Note 1) HLOA AOS# (Note 2) I I I i~i I I I I I ~--~V I A31-A2, BE3#-BEO#, O/C#, M/IO#, W/R# I I ~~~I--------~ I : ----+~ I I : :\----1 I I i----I 1 (Floating) I I _ _ I I I I I ~ I I I I '-----.1-- (Floating) -.1------1-' I I I I I I I I I I I I I I I I I I BS16#, NA#, REAOY# LOCK# ~----+I 031-00 Notes: (Floating) 1-----_. I I I I I I I I I I I I I I --+------I------.J.-, (Floating) ..J------I------I 1) HOLD is a synchronous input and can be asserted at any CLK2 edge, provided setup and hold requirements are met in every bus state. Violating setup or hold requirements will result in incorrect operation. 2) For maximum design flexibility the CPU has no internal pullup resistors on its outputs. External pullups may be required on ADS# and other outputs to keep them negated during hold-acknowledge period. 4-46 Bus Operation and Functional Timing Figure 4-23. Requesting Hold From Active Nonpipelined Bus I~ 1 Hold Acknowledge Cycle 1 Nonpipelined (Read) 1 T2 T1 T2 1 1 ~I .14 I Th 1 Th Cycle 2 Nonpipelined (Write) T1 1 1 ~ T2 1 1 CLK2 1 HOLD (See Note) - .......-----i------i---- :I I \ ~~------~------~ HOLD asserted no later than READY# asserted HLDA 1 1 A31-A2,--~~--~-----~--~-~ BE3#-BEO#, D/C#, M/IO#, W/R# -+-..a.-----..,...-----...,...--~-__f 1 - - (Fla1ating ) I ADS# I ~-- (Flo~ting) I I I I~____~~____~ ---K'-____ \l"Tt_lid__ 2__ 1 ---i ~ I ,~_ _ _ _~. 1 V I I 1 NA# BS16# READY# (Negaled, or lasl locked cycle) LOCK# ; Note: I : ---K\",__---,I"""'\l_al_id_2_~ -+---- (~Iaaling) '-+---$--- (~Iaaling) .-~-<\",-~:_O_u_t2_~ I D31-DO Valid 1 ; ! ( - - (Fla~ling) '- I I 1 1 HOLD is a synchronous input and can be asserted at any CLK2 edge provided setup and hold requirements are met in every bus state. Violating setup or hold requirements will result in incorrect operation. Tl486SXL Microprocessor Bus Interface 4-47 Bus Operation and Functional Timing Figure 4-24. Requesting Hold from Active Pipelined Bus Hold Acknowledge Cycle 1 Pipelined (Write) 1 I.. 1 1 1 .1II1II ..1II1II 1 T1P 1 1 T21 T21 Cycle 2 Nonpipelined (Read) 1 Th 1 Th 1 T1 T2 CLK2 HOLD (See Note) HOLD asserted in same bus state as NA# asserted. HLDA I I 1 1 1 1 1 -"'---+--':""""71:'~~~~~~~ A31-A2, BE3#-BEO#, D/C#, M/IO#, W/R# -.,---~-.,......~~~~~~~ I - + - -........--~---~I ADS# NA# LOCK# ! 1 1 I '--- (FI~ating) ---K 1 - - (Flo1atin g ) : Valid 2 1. . 1 --{ V I ~ ~ IIIIII ~ I~: I 1 ~ _ (Negated. or last locked cycle) : Valid 1 D31-~ ~-t""II"'x--_.:. -O .... : I ~ - - (Flottin g) . I ~ I I I --i : ~alid 1 1 I 1 1 I : 2 . -~>+--. (Flo~ting) ---i--~ ---O .......... t 1 - -....... : I Note: 1 1 ~ BS1~$'! READY# 1 I 1 HOLD is a synchronous input and can be asserted at any CLK2 edge provided setup and hold requirements are met in every bus state. Violating setup or hold requirements will result in incorrect operation. 4.4.10 Coprocessor Interface The data-bus, address-bus, and bus-cycle-definition signals, as well as the coprocessor interface signals (PEREQ, BUSY#, ERROR#), are used to control communication between the TI486SXL series microprocessor and a coprocessor. Coprocessor or ESC opcodes are decoded by the microprocessor and the opcode and operands are then transferred to the coprocessor via I/O port accesses to addresses 8000 00F8h and 8000 OOFCh. Address 8000 00F8h functions as the control-port address and 8000· OOFCh is used for operand transfers. 4-48 Bus Operation and Functional Timing Coprocessor cycles can be either read or write and can be either nonpipelined or pipelined. Coprocessor cycles must be terminated by READY# and, as with any other bus cycle, can be terminated as early as the second bus state of the cycle. BUSY#, ERROR#, and PEREQ are asynchronous level-sensitive inputs used to synchronize CPU and coprocessor operation. All three signals are sampled at the beginning of phase one (<1>1) and must meet specified setup and hold times to be recognized at a given CLK2 edge. 4.4.11 SMM Interface System Management Mode (SMM) uses two TI486SXL microprocessor pins, SMI# and SMADS#. The bidirectional SMI# pin is a nonmaskable interrupt that is a higher priority than the NMI input. SMI# must be active for at least four CLK2 periods to be recognized by the microprocessor. Once the microprocessor recognizes the active SMI# input, the CPU drives the SMI# pin low for the duration of the SMI service routine. The SMADS# pin outputs the SMM address strobe that indicates an SMM memory bus cycle is in progress and a valid SMM address is on the address bus. The SMADS# functional timing, output delay times, and float delay times are identical to the main memory address strobe (ADS#) timing. 4.4.11.1 SMI Handshake The functional timing for SMI# interrupt is shown in Figure 4-25. Five significant events take place during an SMI# handshake: 1) The SM 1# input pin is driven active (low) by the system logic. 2) The CPU samples SMI# active on the rising edge of CLK2 phase one (<1>1). 3) Four CLK2s after sampling the SMI# active, the CPU switches the SMI# pin toan output and drives SMI# low. 4) Following execution of the RSM instruction, the CPU drives the SMI# pin high for two CLK2s indicating completion of the SMI service routine. 5) The CPU stops driving the SMI# pin high and switches the SMI# pin to an input in preparation for the next SMI interrupt. The system logic is responsible for maintaining the SMI# pin at the inactive (high) level after the pin has been changed to an input. Figure 4-25. SMI# Timing CLK2 (Input) SMI# ~~i--~--~i----~)(~)l--~i/ I I I I I I I I 2 3 4 I I I I 5 Indicates that TI486SXL drives the SMI# pin. Tl486SXL Microprocessor Bus Interface 4-49 Bus Operation and Functional Timing 4.4.11.2 liD Trapping The TI4868XL series provides I/O trapping that can be used to facilitate power management of I/O peripherals. When an I/O bus cycle is issued, the I/O address is driven onto the address bus and can be decoded by external logic. If a trap to the SMI handler is required, the 8MI# input should be activated at least three CLK2 edges prior to returning the READY# input for the I/O cycle. The timing for creating an I/O trap via the SMI# input is shown in Figure 4-26. The microprocessor immediately traps to the SMI interrupt handler following execution of the I/O instruction, and no other instructions are executed between completion of the I/O instruction and entering the 8MI service routine. The I/O trap mechanism is not active during coprocessor accesses. Figure 4-26. liD Trap Timing I 1/0 CYCLE (Read or Write) 14 T2 I T1 I T2 I T2 I CLK2 (Input) I Address, Byte Enables ADS# (Output) READY# SMI# I ~ I \mozxxxxxxxxxx V :I'd "'~~~~~~--Io._ _........_ _ _ _a.,...I_~_""""_ _ _--10~--11'~~~~~~~ I I V: I : I I I I I I ------~:\ I ~ ! \,--_~i~~~~~~ ~II :I \'-+I----------IlooJ/ I I I j4-- 4-50 3 CLK2s ~ Bus Operation and Functional Timing 4.4.12 Power Management The power-management features in the TI486SXL(C} family of microprocessors allow a dramatic reduction in the current required when the microprocessor is in suspend mode (typically less than three percent of the operating current). Suspend mode is entered either by a hardware- or software-initiated action. Using the hardware to initiate suspend mode involves a two-pin handshake using the SUSP# and SUSPA# signals. Using the software involves initiating the suspend mode through execution ofthe HALT instruction. Additional power management can be achieved by stopping and restarting the input clock. This technique is available because the TI486SXLC series microprocessors are static devices, meaning that clock can be stopped and restarted without loss of any internal CPU data. 4.4.12.1 SUSP#-initiated Suspend Mode The TI486SXL series microprocessor enters suspend mode when the SUSP# input is asserted and execution of the current instruction, any pending decoded instructions, and associated bus cycles are completed. The microprocessor also waits forthe coprocessor to indicate a not-busy status (BUSY#=1) prior to entering suspend mode. The SUSPA# output is then asserted. The microprocessor responds to SUSP# and asserts SUSPA# only if the SUSP bit is set in the CCRO Configuration register. Figure 4-27 illustrates the microprocessor functional timing for SUSP#-initiated suspend mode. SUSP# is sampled on the phase two ($2) CLK2 rising edge and must meet specified setup and hold times to be recognized at a particular CLK2 edge. The time from assertion of SUSP# to activation of SUSPA# varies depending on which instructions were decoded prior to assertion of SUSP#. The minimum time from SUSP# sampled active to SUSPA# asserted is two CLK2s. As a maximum, the microprocessor can execute up to two instructions and associated bus cycles prior to asserting SUSPA#. The time required for the microprocessor to deactivate SUSPA# once SUSP# has been sampled inactive is four CLK2s. Figure 4-27. SUSP#-Initiated Suspend Mode <\>1 I <\>2 I I I <\>1 I <\>2 I <\>1 I <\>2 <\> 1 I<\>2 <\>1 I <\>2 <\> 1 I<\>2 CLK2 SUSP# BUSY# ~--- 4 CLK2s - - - - - SUSPA# Tl486SXL Microprocessor Bus Interface 4-51 Bus Operation and Functional Timing If the microprocessor is in a hold-acknowledge state and SUSP# is asserted, the processor mayor may not enter suspend mode depending on the state of the microprocessor internal execution pipeline. If the microprocessor is in a SUSP#-initiated suspend state and the CLK2 input is not stopped, the processor recognizes and acknowledges the HOLD input and stores the occurrence of FLUSH#, NMI, and INTR (if enabled) for execution once suspend mode is exited. 4.4.12.2 Halt-Initiated Suspend Mode The TI486SXL series microprocessor also enters suspend mode as a result of executing a HALT instruction. The SUSPA# output is asserted no more than 17 CLK2s following READY# sampled active for the HALT bus cycle as shown in Figure 4-28. Suspend mode is then exited upon recognition of an NMI or an unmasked INTR. SUSPA# is deactivated 12 CLK2s after sampling of an active NMI or unmasked INTR. If the microprocessor is in a HALT-initiated suspend mode and the CLK2 input is not stopped, the processor recognizes and acknowledges the HOLD input and stores the occurrence of FLUSH# for execution once suspend mode is exited. Figure 4-28. HALT-Initiated Suspend Mode I ~ Nonpipelined HALT I I T1 T2 4 I I I Ti Ti Ti CLK2 I --\ ADS# BE3#,BE1#, BEQ#, M/IO#, W/R#, I (( I /~----+-II---~)) I I\'-_ _ _..J. I I I I I I I I I AA (( )) I I I I I I ~I: ~I I I I ~I I YJ/: 'I ~I ~. ~ A31-A2,-\ BE2#,D/C# _~...,....,._ _ _ _ _ _ _ _~~~~~~~~ I ( I READY# I (( I ) 1 I 1 )) 1 1 1 __-r-I NMI I 17 CLK2s Max -11.~-----f---.1 I 12 I 1 I I'-CL~2Sl L (I 1 ) 1 1 1 1 I SUSPA# 1 1 4.4.12.3 Stopping the Input Clock Because the TI486SXL series microprocessors are static devices, the input clock (CLK2) can be stopped and restarted without loss of any internal CPU 4-52 Bus Operation and Functional Timing data. This assumes, of course, that the TI486SXL2 microprocessor is in nonclock-doubled mode when the input clock is stopped. (Refer to subsection 4.2.1, Clock Doubling Using Software Control, page 4-15.) CLK2 can be stopped in either phase one (<1>1) or phase two (<1>2) of the clock and in either a logic-high or logic-low state. However, entering suspend mode prior to stopping CLK2 dramatically reduces the CPU current requirements. Therefore, the recommended sequence for stopping CLK2 of the TI486SXLC2 series microprocessor from clock-doubled mode is: 1) Bring the processor out of clock-doubled mode 2) Initiate suspend mode 3) Wait for assertion of SUSPA# by the processor 4) Stop the input clock Note: Suspend mode can be entered while in clock-doubled mode as long as CLK2 is not scaled or stopped. For all other cases, including the TI486SXLC2 in nonclock-doubled mode, the recommended sequence is: 1) Initiate suspend mode 2) Wait for assertion of SUSPA# by the processor 3) Stop the input clock The TI486SXL series microprocessor remains suspended until CLK2 is restarted and suspend mode is exited as described above. While CLK2 is stopped, the microprocessor can no longer sample and respond to any input stimulus including the HOLD, FLUSH#, NMI, INTR, and RESET inputs. Figure 4-29 illustrates the recommended sequence for stopping CLK2 using SUSP# to initiate suspend mode. CLK2 should be stable for a minimum of 10 clock periods before SUSP# is deasserted. Figure 4-29. Stopping CLK2 During Suspend Mode I I CLK2 SUSP# hll \ <1>1 I <1>2 I I <1>1 I <1>2 I I 1 I 1 rI ~AAN-Lt- <1>1 1 -------~((~----------------~((~--+---~( )) ))) __ ) ----~((~------------ 1 BUSY# -------\(( ( ( )) )) 1 ( ( ' r - - - - - - - - -..... ((....- - - - - - - - - - - - I )) )) 1....- - - 10 CLK2s Min -----.t.1 1 _____---\((~----~ SUSPA# )) \ _ _ _ _ _ _ _......( (~----___*.())(~-------- ))~( ......( I V _____ )) Tl486SXL Microprocessor Bus Interface 4-53 Bus Operation and Functional Timing 4.4.13 Float (144-Pin QFP and 168-Pin PGA Pinouts Only) Activating the FLT# input on the 144-pin or 168-pin TI486SXL floats all bidirectional and output signals. Asserting FLT# electrically isolates the microprocessor from the surrounding circuitry. This feature is useful in systems designs that contain an upgrade socket. FLT# is an asynchronous, active-low input. It is recognized on the rising edge of CLK2. When recognized, it aborts the current bus state and floats the outputs of the microprocessor as shown in Figure 4-30. FLT# must be asserted for a minimum of 16 CLK2 cycles. To exit the float condition, RESET should be asserted and held asserted until after FLT# is deasserted. Asserting the FLT# input unconditionally aborts the current bus cycle and forces the microprocessor into the float mode. As a result, the microprocessors are not guaranteed to enter float in a valid state. After deactivating FLT#, the CPU is not guaranteed to exit float in a valid state. The microprocessor RESET input must be asserted prior to exiting float to ensure that the microprocessor is reset and that it returns in a valid state. Figure 4-30. Entering and Exiting Float CLK2 FLT# , CONTROL ~ _ _ _ _ _ _ _ _ _ _ _ _, Valid DATA - - { } - { ADDRESS RESET 4-54 }_------------------{~_ _ _ _ _ _X~ Valid ___ C } - - - - - - - - - - - - - - - - - - {_ _ _ _ _ ~o....-_ _v_al_id_ __ ' } - - - - - - - - - - - - - - - - - - {_ _ _ _X___ ------, Chapter 5 Electrical Specifications Electrical specifications for the TI486SXL(C) family of microprocessors are provided in this chapter. The specifications include electrical connection requirements for all package pins, maximum ratings, recommended operating conditions, dc electrical characteristics, and ac characteristics. Page Topic 5:2· Absolvt~ 'Maximl;lmR~tings . ·.. 0 . ; . . . . . ~ • • • " . . ·5.3flecQrnrt1e.,d~d O'pel'~~ing 5.4. CQrlcfitions .;. d ••• ' ••••••• o .............. . . . . . . . . . . ; '0. • • • • • • •' .~ •• 5-4 5-5 DC Electti~al·Characteri$ties .........'....... ~ •.. " .~ ...• ~ .......... ' 5~7 , ~, " _ " ' , < 5~!? ·ACCha.ra.ct~ristics~ " ,:' J , ' , -, , > .... '.......:..~ 0:; .~;; , •••••• ; '0. "'0 •• ~.. • • . • •. 5.:16 5-1 Electrical Connections 5.1 Electrical Connections This section provides specific requirements for power and ground connections, decoupling, termination of inputs with internal pullup/pulldown resistors, termination of system functional inputs requiring external pullup resistors, termination of unused inputs, and connection to terminals designated NC. 5.1.1 Power and Ground Connections and Decoupling The high-frequency operation of the TI486SXL(C) microprocessors makes it necessary to install and test the devices using standard high-frequency techniques. The high clock frequencies used in the microprocessors and their output buffer circuits can cause transient power surges when several output buffers switch output levels simultaneously. These effects can be minimized by filtering the dc power leads with low-inductance decoupling capacitors, using low-impedance wiring, and by making connection to all of the V CC, V CC5, and Vss (GNO) terminals. 5.1.2 Pullup/Pulidown Resistors Table 5-1 list~ the input terminals that are internally connected to pullup and pulldown resistors (see Figure 5-1). The pullup resistors are connected to VCC and the pulldown resistors are connected to VSS. When unused, these inputs do not require connection to external pullup or pulldown resistors. Note: The internal pullup and pulldown resistors are designed to tie off the individual internal signal associated with that pin. External signals should not be terminated to any of these pins. Table 5-1. Terminals Connected to Internal Pullup and Pulldown Resistors Signal TI486SXLC 100-Terminal TI486SXL 132-Terminal TI486SXL 144-Terminal TI486SXL 168-Terminal Resistor A20M# 31 F13 43 D15 Pullup 8USY# 34 89 48 S4 Pullup C14 115 C17 Pullup A8 49 A12 Pullup 40 C11 Pullup C15 Pullup 8S16# ERROR# 36 FLT# 28 FLUSH# 30 E13 42 KEN# 29 812 41 F15 Pullup 66 816 Pullup MEMW# PEREQ 37 C8 50 R17 Pulldown SMI# 47 C7 67 810 Pullup SUSP# 43 A4 63 C13 Pullup 5-2 Electrical Connections Figure 5-1. Internal PulluplPulldown-IV Characteristic 60 50 «:::t 40 -...... I cCI): 30 j 0 20 10 0 / / o I /V / 0.5 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Voltage-V It is recommended that the ADS# and LOCK# output terminals be connected to pullup resistors, as indicated in Table 5-2. The external pullups ensure that the signals remain negated during hold-acknowledge states. Table 5-2. Terminals Requiring External Pullup Resistors Signal TI486SXLC 100-Terminal TI486SXL 132-Terminal TI486SXL 144-Terminal TI486SXL 168-Terminal ADS# 16 E14 26 S17 20-kQ pullup LOCK# 26 C10 38 N15 20-kQ pullup 5.1.3 External Resistor NC Designated Terminals Terminals designated NC should be left disconnected. Connecting or terminating any NC terminal(s) to a pullup resistor, pulldown resistor, or an active signal can cause unpredictable results or nonperformance of the microprocessor. 5.1.4 Unused Signal Input Terminals All signal inputs not used by the system designer and not listed in Table 5-1 should be connected eitherto VSsortoVCc. Connect active-high inputs to Vss through a 20-k,Q (±100/0) pulldown resistor and active-low inputs to VCC through a 20-k,Q (±1 0%) pullup resistor to prevent possible spurious operation. Electrical Specifications 5-3 Absolute Maximum Ratings 5.2 Absolute Maximum Ratings The absolute maximum ratings provide specific limits regarding power supply and input voltages, input and output current limits, and operating and storage temperatures. Table 5-3 specifies the absolute maximum ratings for the TI486SXL(C) family of microprocessors. Table 5-3. Absolute Maximum Ratings Over Operating Free-Air Temperature Range (Unless Otherwise Noted)t Min Max Unit TI486SXLC and TI486SXL With respect to VSS -0.5 6.5 V TI486SXLC-V, TI486SXL-V, TI486SXLC-G, and TI486SXL-G With respect to V SS -0.3 5.5 V Voltage on any terminal With respect to V SS -0.5 Case temperature Power applied -65 110 °C Storage temperature No bias -65 150 °C Parameter Supply voltage, VCC t VCC+0.5 V Stresses beyond those listed under absolute maximum ratings may cause permanent damage to the device. These are stress ratings only and functional operation of the device at these or any other conditions beyond those indicated under recommended operating conditions is not implied. Exposure to absolute-maxi mum-rated conditions for extended periods may affect device reliability. 5-4 Recommended Operating Conditions 5.3 Recommended Operating Conditions Recommended operating conditions provide specific values for power supply and input voltages, required input threshold ranges, output drive currents available for system interfacing, and operating levels for clamp currents and case temperature. 5.3.1 3.3-Volt Microprocessors With 5-Volt Tolerant Inputs, Outputs, and II0s Table 5-4 presents the recommended operating conditions for the TI486SXL-G 3.3-V microprocessors with 5-V-tolerant inputs, outputs, and liDs. During power up and power down conditions, the 3.3-V VCC terminals and the 5-VVCC5 terminal should be ramped simultaneously asthe 3.3-VVCCvoltage should not exceed the 5-V VCC5 voltage by more than 1 V or the device may not initialize correctly. Conversely, the 5-V V CC5 can exceed the 3.3-V VCC by up to 2.25 V. Table 5-4. TI486SXL -G Recommended Operating Conditions Min Max Unit VCC Supply voltage t With respect to VSS See Note 1 3 3.6 V VCC5 Supply voltage:j: With respect to VSS See Note 2 3 5.25 V VIH High -level input voltage 2 VCC5+ 0 .3 V VIL Low-level input voltage -0.3 0.6 V VILC CLK2 low-level input voltage -0.3 0.5 V VIHC CLK2 high -level input voltage VCC-0.3 VCC5+ 0 .3 IOH High -level output current VOH IOL Low-level output current VOL =VOL(max) PLLLOCK Phase -locked loop frequency lock range With respect to CLK 2 frequency tc Notes: Case temperature rnA 5 rnA 32 50 MHz TI486SXLC in 100-pin QFP 0 85 TI486SXL in 132- and 168-pin PGA 0 85 TI486SXL in 144-pin QFP 0 85 = VOH(min) Power applied V -2 °c 1) VCC should be no more than 1 V greater than VCC5 during power up or the device may not initialize correctly. 2) VCC5 should be connected to the 3.3-V supply in a3.3-V~only system. In mixed systems (3.3/5 V) VCC5 should be connected to the 5-V supply. Electrical Specifications 5-5 Recommended Operating Conditions 5.3.2 3.3-Volt Microprocessors Table 5-5 presents the recommended operating conditions for the TI486SXLC-V and TI486SXL-V 3.3-V microprocessors. Table 5-5. TI486SXLC-V and TI486SXL-V Recommended Operating Conditions Min VCC Supply voltage VIH High -level input voltage With respect to VSS "Max Unit 3 3.6 V 2 VCC+0.3 V VIL Low-level input voltage -0.3 0.6 V VILC CLK2 low-level input voltage -0.3 0.5 V VIHC CLK2 high -level input voltage VCC-0.3 VCC+0.3 V IOH High -level output current IOL Low-level output current VOL= VOL(max) PLLLOCK Phase -locked loop frequency lock range With respect to CLK2 frequency Case temperature tc 5.3.3 -2 rnA 5 rnA 32 50 MHz TI486SXLC in 100-pin OFP 0 85 TI486SXL in 132- and 168-pin PGA 0 85 TI486SXL in 144-pin OFP 0 85 VOH = VOH(min) Power applied °c 5-Volt Microprocessors Table 5-6 presents the recommended operating conditions for the TI486SXLC and TI486SXL 5-V microprocessors. Table 5-6. TI486SXLC and TI486SXL Recommended Operating Conditions Min Max Unit 4.75 5.25 V VCC Supply voltage VIH High -level input voltage 2 VCC+0.3 V VIL Low-level input voltage -0.3 0.8 V VILC CLK2 low-level input voltage -0.3 0.8 V VIHC CLK2 high -level input voltage 3.7 VCC+0.3 IOH High -level output current IOL Low-level output current PLLLOCK Phase -locked loop frequency lock range With respect to CLK 2 frequency tc 5-6 Case temperature With respect to VSS V VOH=VOH(min) -1 rnA VOL = VOL(max) 5 rnA 32 50 MHz TI486SXLC in 100-pin OFP 0 100 TI486SXL in 132- and 168-pin PGA 0 85 TI486SXL in 144-pin OFP 0 100 Power applied °C DC Electrical Characteristics 5.4 DC Electrical Characteristics The dc electrical characteristics tables provide specific data regarding the capabilities of the TI486SXL(C) family microprocessors to interface directly with either CMOS- or TTL-type system functions. Devices are offered for operation in 3.3 and 5-volt mixed, 3.3-volt only, and 5-volt only systems. 5.4.1 3.3-Volt Microprocessors With 5-Volt-Tolerant Inputs, Outputs, and 1I0s o o Table 5-7 covers the 3.3-V 40, 20-MHz TI486SXL-G40. Table 5-8 on page 5-8 covers the 3.3-V 50-MHz TI486SXL2-G50. Table 5-7. T1486SXL-G40 Electrical Characteristics at Recommended Operating Conditions (Typical values are at VCC = 3.3 \I, VCC5 = 5 \I, and 1A = 25°C) T1486SXL-G40 Parameter VOL Low-level output voltage Test Conditions 0.4 II Input current (leakage) VIN = 0, VIN ~ VCC See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 IlL Low-level input current VIL = 0.45 V, See Note 3 Unit V V 10H =-0.2mA VCC-O.4 Supply current (Active mode) 20 MHz (CLK2 = 40 MHz) ICCSM Supply current (Suspend mode) 20 MHz (CLK2 = 40 MHz) ICCSS Standby supply current CIN Input capacitance fc = 1 MHz, COUT Output or I/O capacitance Input capacitance CLK2 CCLK Max 2.4 10H =-1 rnA High-level output voltage Notes: Typ IOL=3 rnA VOH ICC Min -,: ~ ±15 ~A 200 ~A -400 ~A 400 rnA 300 rnA 15 See Note 4 o MHz, Suspended/CLK2 stopped, 0.1 1 rnA See Note 5 10 pF fc = 1 MHz, See Note 5 12 pF fc = 1 MHz, See Note 5 20 pF See Note 4 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREQ has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 rnA). 5) Not 100% tested Electrical Specifications 5-7 DC Electrical Characteristics Table 5-8. T1486SXL2-G50 Electrical Characteristics at Recommended Operating Conditions (Typical values are at VCC = 3.3 V, VCC5 = 5 V, and 1A = 25°C) Parameter VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ;::: VCC See Note 1 IIH High-level input current at PEREa VIN = 2.4, See Note 2 See Note 3 Min Typ Max 0.4 10L= 3 rnA Unit V 2.4 10H =-1 rnA V IOH =-0.2 rnA VCC-O.4 IlL Low-level input current VIL = 0.45 V, ICC Supply current (Active mode) 25 MHz (CLK2 = 50 MHz) ICCSM Supply current (Suspend mode) 25 MHz (CLK2 = 50 MHz) ICCSS Standby supply current CIN Input capacitance fc = 1 MHz, See Note 5 COUT Output or 1/0 capacitance fc = 1 MHz, CCLK Input capacitance CLK2 fc = 1 MHz, Notes: T1486SXL2-G50 Test Conditions See Note 4 o MHz, Suspended/CLK2 stopped, ~ '%~ 365 ±15 ~A 200 ~A -400 ~A 500 rnA 20 rnA 1 rnA 10 pF See Note 5 12 pF See Note 5 20 pF See Note 4 0.1 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREQ has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 rnA). 5) Not 100% tested 5-8 DC Electrical Characteristics 5.4.2 3.3-Volt Microprocessors o o o Table 5-9 covers the 3.3-V 25-MHz TI486SXLC-V25. Table 5-10 on page 5-10 covers the 3.3-V 40,20 MHz TI486SXL-V40. Table 5-11 on page 5-11 covers the 3.3-V 50,25 MHz T1486SXL2-V50 Table 5-9. TI486SXLCB- V25 Electrical Characteristics at Recommended Operating Conditions (Typical values are at Vee = 3.3 V and fA = 25°C) TI486SXLC-V25 Parameter Test Conditions Min Typ 0.4 VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ~ VCC See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 See Note 3 10L= 3 rnA Unit V 2.4 10H =-1 rnA V 10H =-0.2 rnA VCC-O.4 ~ IlL Low-level input current VIL = 0.45 V, ICC Supply current (Active mode) 25 MHz ICCSM Supply current (Suspend mode) 25 MHz See Note 4 6 ICCSS Standby supply current oMHz, Suspended/CLK2 stopped, 0.1 CIN Input capacitance fc = 1 MHz, COUT Output or I/O capacitance fc = 1 MHz, CCLK Input capacitance CLK2 fc = 1 MHz, Notes: Max ~ ±15 /-LA 200 /-LA -400 /-LA 285 rnA 225 rnA 1 rnA See Note 5 10 pF See Note 5 12 pF See Note 5 20 pF See Note 4 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREa input has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 rnA). 5) Not 100% tested Electrical Specifications 5-9 DC Electrical Characteristics Table 5-10. T1486SXL·V40 Electrical Characteristics at Recommended Operating Conditions (Typical values are at Vee = 3.3 V and 1A = 25°C) T1486SXL-V40 Parameter VOL Low-level output voltage VOH High-level output voltage Test Conditions V V VCC-O.4 Input current (leakage) VIN = 0, VIN ~ VCC See Note 1 IIH VIN = 2.4, See Note 2 IlL Low-level input current VIL = 0.45 V, See Note 3 ICC Supply current (Active mode) 20 MHz (CLK2 = 40 MHz) Standby supply current Unit 2.4 10H =-1 mA High-level input current at PEREQ ICCSS Max 0.4 II Supply current (Suspend mode) Typ 10L= 3 mA 10H =-0.2 mA ICCSM Min 20 MHz (CLK2 = 40 MHz) ±15 -;: 300 200 IlA IlA -400 IlA 400 mA ~ See Note 4 o MHz, Suspended/CLK2 stopped, See Note 4 mA 15 0.1 1 mA CIN Input capacitance fc = 1 MHz, See Note 5 10 pF COUT Output or I/O capacitance fc = 1 MHz, See Note 5 12 pF CCLK Input capacitance CLK2 fc = 1 MHz, See Note 5 20 pF Notes: 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREa has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 orVcc. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 mAl. 5) Not 100% tested 5-10 DC Electrical Characteristics Table 5-11. T1486SXL2- V50 Electrical Characteristics at Recommended Operating Conditions (Typical values are at Vee = 3.3 V and 1A = 25°C) T1486SXL2-V50 Parameter Test Conditions VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ~ VCC See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 IlL Low-level input current VIL = 0.45 V, See Note 3 Min Typ Max 0.4 10L= 3 rnA Unit V 2.4 IOH=-1 rnA V IOH =-0.2 rnA VCC-O.4 ICC Supply current (Active mode) 25 MHz (CLK2 = 50 MHz) ICCSM Supply current (Suspend mode) 25 MHz (CLK2 = 50 MHz) ICCSS Standby supply current ±15 ~200 ~ o MHz, Suspended/CLK2 stopped, /lA 500 rnA 365 0.1 See Note 4 /lA -400 rnA 20 See Note 4 /lA 1 rnA CIN Input capacitance fc = 1 MHz, See Note 5 10 pF COUT Output or 1/0 capacitance 12 pF CCLK Input capacitance CLK2 = 1 MHz, fc = 1 MHz, See Note 5 See Note 5 20 pF Notes: fc 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREQ has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 rnA). 5) Not 100% tested Electrical Specifications 5-11 DC Electrical Characteristics 5.4.3 5-Volt Microprocessors o o o o Table Table Table Table 5-12 5-13 5-14 5-15 covers the 5-V 40, 20-MHz TI486SXLC-040. on page 5-13 covers the 5-V 50, 25-MHz TI486SXLC2-050. on page 5-14 covers the 5-V 40, 20-MHz TI4868XL-040. on page 5-15 covers the 5-V 50. 25-MHz TI486SXL2-050. Table 5-12. TI486SXLC-040 Electrical Characteristics at Recommended Operating Conditions (Typical values are at Vee = 5 V and TA = 25°C) Parameter VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ~ VCC See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 See Note 3 Min Typ Max 0.4 10L = 5 mA V V 10H =-0.2 mA VCC-0.5 Low-level input current VIL = 0.45 V, ICC Supply current (Active mode) 20 MHz (CLK2 = 40 MHz) ICCSM Supply current (Suspend mode) 20 MHz (CLK2 = 40 MHz) ICCSS Standby supply current CIN Input capacitance COUT Output or 1/0 capacitance fc = 1 MHz, CCLK Input capacitance CLK2 fc = 1 MHz, See Note 4 o MHz, Suspended/CLK2 stopped _'0k~ 580 ±15 ~A 200 ~A -400 ~A 725 mA 10 0.1 mA 1 mA 10 pF See Note 5 12 pF See Note 5 20 pF See Note 4 fc = 1 MHz, Unit 2.4 10H =-1 mA IlL Notes: TI486SXLC - 040 Test Conditions See Note 5 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREQ has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 mA). 5) Not 100% tested 5-12 DC Electrical Characteristics Table 5-13. T1486SXLC2-050 Electrical Characteristics at Recommended Operating Conditions (Typical values are at Vee = 5 V and TA = 25°C) TI486SXLC2 - 050 Parameter Test Conditions VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ~ VCC See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 IlL Low-level input current VIL = 0.45 V, See Note 3 ICC Supply current (Active mode) 25 MHz (CLK2 = 50 MHz) ICCSM Supply current (Suspend mode) 25 MHz (CLK2 = 50 MHz) ICCSS Standby supply current CIN Input capacitance fc = 1 MHz, COUT Output or I/O capacitance CCLK Input capacitance CLK2 Notes: Min Typ Max 0.45 IOL=5 mA Unit V 2.4 IOH=-1 mA V 10H =-0.2 mA VCC-0.5 ~ , ,,:::::;= ±15 /lA 200 /lA -400 /lA 850 mA 640 9 See Note 4 o MHz, Suspended/CLK2 stopped, 0.1 mA 1 mA See Note 5 10 pF fc = 1 MHz, See Note 5 12 pF fc = 1 MHz, See Note 5 20 pF See Note 4 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREa has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0.4 or VCC-O.4 (CMOS levels). All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 mA). 5) Not 100% tested Electrical Specifications 5-13 DC Electrical Characteristics Table 5-14. TI486SXL -040 Electrical Characteristics at Recommended Operating Conditions (Typical values are at nominal Vee = 5 Vand 1A = 25°C) T1486SXL-040 Parameter Test Conditions Min Typ Max 0.45 VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ;::: VCC See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 IlL Low-level input current VIL = 0.45 V, See Note 3 ICC Supply current (Active mode) 20 MHz (CLK2 = 40 MHz) ICCSM Supply current (Suspend mode) 20 MHz (CLK2 = 40 MHz) ICCSS Standby supply current CIN Input capacitance 10L= 5 mA V 10H =-0.2 mA VCC-0.5 See Note 4 o MHz, Suspended/CLK2 stopped, ~200 ±15 600 IlA IlA -400 IlA 800 mA mA 10 1 mA See Note 5 10 pF pF pF See Note 4 0.1 COUT Output or 1/0 capacitance fc = 1 MHz, See Note 5 12 CCLK Input capacitance CLK2 fc = 1 MHz, See Note 5 20 Notes: V 2.4 10H =-1 mA fc = 1 MHz, Unit 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREQ input has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 mA). 5) Not 100% tested ADVANCE INFORMATION concerns new products in the sampling or preproduction phase of development. Characteristic data and other specifications are subject to change without notice. 5-14 DC Electrical Characteristics Table 5-15. T1486SXL2-050 Electrical Characteristics at Recommended Operating Conditions (Typical values are at nominal Vee = 5 V and TA = 25°C) Parameter T1486SXL2-050 Test Conditions VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ;::: VCC See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 IlL Low-level input current VIL = 0.45 V, See Note 3 ICC Supply current (Active mode) 25 MHz (CLK2 = 50 MHz) ICCSM Supply current (Suspend mode) 25 MHz (CLK2 = 50 MHz) ICCSS Standby supply current o MHz, Suspended/CLK2 stopped, CIN Input capacitance fc = 1 MHz, COUT Output or 1/0 capacitance CCLK Input capacitance CLK2 Min Max 0.45 10L= 5 mA Unit V 2.4 10H =-1 mA Notes: Typ V 10H =-0.2 mA VCC-0.5 ~ ±15 JlA 200 JlA -400 JlA 900 mA 670 10 See Note 4 mA 1 mA See Note 5 10 pF fc = 1 MHz, See Note 5 12 pF fc = 1 MHz, See Note 5 20 pF 0.1 See Note 4 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREQ input has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static, (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 mA). 5) Not 100% tested ADVANCE INFORMATION concerns new products in the sampling or preproduction phase of development. Characteristic data and other specifications are subject to change without notice. Electrical Specifications 5-1 5 AC Characteristics 5.5 AC Characteristics The ac characteristics provide detailed information regarding measurement points, specific timing requirements for setup and hold times, and propagation delay times of the TI486SXL(C) microprocessors. 5.5.1 Measurement Points for AC Characteristics The rising-clock-edge reference level VREFC, and other reference levels are specified in Table 5-16 for the TI486SXL(C) family of microprocessors. Input or output signals must cross these levels during testing. Table 5-16. Measurement Points for AC Characteristics Symbol TI486SXLC-V and TI486SXL-V TI486SXLC and TI486SXL Unit VREFC 1.5 2 V VREF 1.2 1.5 V VIHC VCC-0.3 VCC-O.B V VILC 0.6 O.B V VIHD 2.3 3 V VILD 0 0 V Figure 5-2 and Figure 5-3 show delays (A and B) and input setup and hold times (C and D). Input setup and hold times (C and D) are specified minimums, defining the smallest acceptable sampling window during whic~ a synchronous input signal must be stable for correct operation. The TI486SXLC microprocessor outputs A23-A 1, ADS#, BHE#, BLE#, D/C#, HLDA, LOCK#, M/IO#, SMADS#, SMI#, and W/R# change only at the beginning of phase one (Figure 5-2, <1>1). Outputs D15-DO (write cycles) and SUSPA# change at the beginning of phase two (<1>2). The TI486SXLC microprocessor inputs BUSY#, D15-DO (read cycles), ERROR#, FLT#, HOLD, PEREQ, and READY# are sampled at the beginning of phase one (Figure 5-2, <1>1). Inputs A20M#, FLUSH#, INTR, KEN#, NA#, NMI, SMI# and SUSP# are sampled at the beginning of phase two (<1>2). The TI486SXL microprocessor outputs A31-A2, ADS#, BE3#- BEO#, D/C#, HLDA, LOCK#, M/IO#, SMADS#, SMI#, and W/R# change only at the beginning of phase one (Figure 5-3, <1>1). Outputs D31-DO (write cycles) and SUSPA# change at the beginning of phase two (<1>2). The TI486SXL microprocessor inputs BUSY#, D31-DO (read cycles), ERROR#, HOLD, PEREQ, and READY# are sampled at the beginning of phase 1 (Figure 5-3, <1>1). Inputs A20M#, BS16, FLUSH#, INTR, KEN#, NA#, NMI, SMI# and SUSP# are sampled at the beginning of phase two (<1>2). 5-16 AC Characteristics Figure 5-2. TI486SXLC Drive Level and Measurement Points for AC Characteristics Tx I CLK2: A23-Al, ADS# BHE#, BLE#, D/C#, HLDA, LOCK#, M/IO#, SMADS#, SMI#, W/R# I <1>2 v~----~-----l-----~----~ 0 1411 OUTPUTS: I <1>1 ~Min Valid Output n ~Max I I I I : I I VREF I I I 0 ~ I Max I I I I OUTPUTS: Valid Output n . D15-DO, SUSPA# I I I I I I I I I I INPUTS: A20M#, FLUSH#, INTR, KEN#, NA#, NMI, SMI#, SUSP# ~ .V REF Valid Input V _ REF I I I I I ~ INPUTS: BUSY#, D15-DO, ERROR#, FLT#, HOLD, PEREQ, READY# LEGEND: A B C D - • Valid ~ Maximum Output Delay Specification Minimum Output Delay Specification Minimum Input Setup Specification Minimum Input Hold Specificaton Electrical Specifications 5-17 AC Characteristics Figure 5-3. TI486SXL Drive Level and Measurement Points for AC Characteristics Tx I I <\>1 <\>2 CLK2: l-----~_ Max OUTPUTS: A31-A2, ADS# BE3#-BEO#, D/C#, HLDA, LOCK#, M/IO#, SMADS#, SMI#,W/R# I Valid Output n ~------~~-Max I OUTPUTS: Valid Output n D31-DO, SUSPA# I I I I I ~ INPUTS: A20M#, BS16, FLUSH#, INTH, KEN#, NA#, NMI, SMI#, SUSP# • BUSY#, D31-DO, ERROR#, HOLD, PEREQ,READY# 5-18 VREF Valid Inpul _ VRE~ I I I I I I I I ~ INPUTS: .EGEND: A B C D I I - Maximum Output Delay Specification Minimum Output Delay Specification Minimum Input Setup Specification Minimum Input Hold Specificaton . VREF Valid Inpul V ~ RE~ AC Characteristics 5.5.2 CLK2 Timing Measurement Points The CLK2 timing measurement points are illustrated in Figure 5-4 for the TI486SXL(C) family of microprocessors. Figure 5-4. CLK2 Timing Measurement Points ~ I ~ I T1 I I j4--T2a~ II4--T2b~ CLK2 ---VIHC~-----= ----- vREFC---VILC - - ~ ~T5 I ---:\¥----~=----~~:\~ -------T Ii+-T3b-+1 I 1 I ~ ~T4 j4--T3a~ 5.5.3 AC Data Characteristics Tables Parametric ac characteristics include output delays, input setup requirements, input hold requirements, and output float delays are based on the measurement points identified in Figure 5-2 on page 5-17, Figure 5-3 on page 5-18, and Figure 5-4. Electrical Specifications 5-19 AC Characteristics 5.5.3.1 AC Data for 3.3-Volt Microprocessors with 5-Volt Tolerant Outputs o o Table 5-17 covers the 3.3-V 40, 20-MHz TI486SXL-G40. Table 5-18 on page 5-21 covers the 3.3-V 50-MHz TI486SXL2-G50. Table 5-17. A C Characteristics for TI486SXL -G40, VCC =3 V to 3.6 V, VCC5 =4.75 V to 5.25 Vor 3 V to 3.6 V, TC,= 0 to 85°C SYMBOl PARAMETER CLK2 clock-doubled frequency range TI486SXlG40 MIN MAX 32 40 UNIT FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 12.5 12.5 17 ns 5-12,5-15 5-12,5-15 5-15 CL = 50 pF CL = 50 pF Note 3 3 3 12.5 17 ns 5-12,5-15 5-15 CL = 50 pF Note 3 AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay 3 3 12.5 12.5 ns 5-12,5-15 5-12,5-15 CL CL T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay 17 3 3~7 ns Note 3 Note 3 T12 T12a T13 031-00 write data, SUSPA# valid delay 031-00 write data hold time 031-00 write data, SUSPA# float delay ~O20 5-15 5-15 ns 5-12,5-13 5-14 5-15 CL = 50 pF, Note 5 Notes 3,6 T14 HOLA valid delay 17 ns 5-15 CL T15 T16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time 5 2 ns 5-11 5-11 T17 T18 BS16# setup time BS16# hold time 5 2 ns 5-11 5-11 T19 T20 REAOY# setup time REAOY# hold time 5 3 ns 5-11 5-11 T21 T22 031-00 read data setup time 031-00 read data hold time 5 3 ns 5-11 5-11 T23 T24 HOLD setup time HOLD hold time 4 2 ns 5-11 5-11 T25 T26 RESET setup time RESET hold time 4.5 2 ns 5-4 5-4 Note 5 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 5 5 5 5 ns 5-10 5-10 5-10 5-10 Note 4 Note 4 Note 4 Note 4 T29 T30 PEREO, ERROR#, BUSY# setup time PEREO, ERROR#, BUSY# hold time 5 3 ns 5-10 5-10 Note 4 Note 4 T31 Clock-doubled PLL lock time 12.5 5 3.25 5 3.25 T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time T6 T6a T7 A31-A2 valid delay SMI# valid delay A31-A2 float delay 3 3 3 T8 T9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay T10 T10a Notes: 5-20 1) 2) 3) 4) 4 4 14.5 20 IlS = 50 pF = 50 pF = 50 pF Note 7 Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These following inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Delay time from setting CKO in CCRO to entering clock-doubled mode. AC Characteristics Table 5-18. AC Characteristics for TI486SXL2-G50, Vee = 3 V to 3.6 V, VCC5 = 4.75 Vto 5.25 Vor3 Vto 3.6 V, Tc = 0 to 85°C SYMBOL PARAMETER CLK2 clock-doubled frequency range T1 T2a T2b T3a T3b T4 T5 CLK2 CLK2 CLK2 CLK2 CLK2 CLK2 CLK2 period high time high time low time low time fall time rise time T6 T6a T7 A31-A2 valid delay SMI# valid delay A31-A2 float delay T8 T9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay T10 T10a AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay T12 T12a T13 031-00 write data, SUSPA# valid delay 031-00 write data hold time 031-00 write data, SUSPA# float delay T14 HOLA valid delay T15 T16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time T17 T18 T1486SXL2-G50 MIN MAX 32 50 20 7 4 7 5 UNIT FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 7 7 3 3 4 21 30 30 ns 5-12,5-15 5-12,5-15 5-15 CL = 50 pF CL = 50 pF Note 3 2.5 4 18 30 ns 5-12,5-15 5-15 CL = 50 pF Note 3 ns 5-12,5-15 5-12,5-15 CL = 50 pF CL = 50 pF ns 5-15 5-15 Note 3 Note 3 ns 5-12,5-13 5-14 5-15 CL = 50 pF, Note 5 Notes 3,6 ns 5-15 CL 5 3.5 ns 5-11 5-11 BS16# setup time BS16# hold time 7 2 ns 5-11 5-11 T19 T20 REAOY# setup time REAOY# hold time 9 4 ns 5-11 5-11 T21 T22 031-00 read data setup time 031-00 read data hold time 7 5 ns 5-11 5-11 T23 T24 HOLO setup time HOLO hold time 9 3.5 ns 5-11 5-11 T25 T26 RESET setup time RESET hold time 8 3 ns 5-4 5-4 Note 5 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 6 6 6 6 ns 5-10 5-10 5-10 5-10 Note 4 Note 4 Note 4 Note 4 T29 T30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time 6 5 ns 5-10 5-10 Note 4 Note 4 T31 Clock-doubled PLL lock time Notes: ~ 30 30 ~ 27 2 4 22 2 22 20 Ils = 50 pF Note 7 1) 2) 3) 4) Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These following inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Oelay time from setting CKO in CCRO to entering clock-doubled mode. Electrical Specifications 5-21 AC Characteristics 5.5.3.2 AC Data for 3.3-Volt Microprocessors o o o Table 5-19 covers the 3.3-V 25-MHz TI486SXLC-V25. Table 5-20 on page 5-23 covers the 3.3-V 40, 20 MHz TI486SXL-V40. Table 5-21 on page 5-24 covers the 3.3-V 50 MHZ TI486SXL2-050. Table 5-19. AC Characteristics for TI486SXLC-V25, Vee = 3 V to 3.6 V Te = O°C to 85°C SYMBOl PARAMETER T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time T6 T6a T7 A23-A 1 valid delay SMI# valid delay A23-A 1 float delay T8 T9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay T10 T10a AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay T12 T12a T13 015-00 write data, SUSPA# valid delay 015-00 write data hold time 015-00 write data, SUSPA# float delay T14 HOLA valid delay T15 T16 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time T19 T20 T1486SXlC-V25 MIN MAX 20 7 4 7 5 UNIT FIGURE NOTES ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 7 7 3 3 4 21 30 30 ns 5-7,5-10 5-7,5-10 5-10 CL = 50 pF CL = 50 pF Note 3 2.5 4 18 30 ns 5-7,5-10 5-10 CL = 50 pF Note 3 4 4 19 19 ns 5-7,5-10 5-7,5-10 CL CL ns 5-10 5-10 Note 3 Note 3 ns 5-7,5-8 5-9 5-10 CL = 50 pF, Note 5 Notes 3, 6 CL = 50 pF Jf! 27 22 ns 5-10 5 3.5 ns 5-6 5-6 REAOY# setup time REAOY# hold time 9 4 ns 5-6 5-6 T21 T22 015-00 read data setup time 015-00 read data hold time 7 5 ns 5-6 5-6 T23 T24 HOLO setup time HOLO hold time 9 3.5 ns 5-6 5-6 T25 T26 RESET setup time RESET hold time 8 3 ns 5-5 5-5 Note 5 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 6 6 6 6 ns 5-6 5-6 5-6 5-6 Note 4 Note 4 Note 4 Note 4 T29 T30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time 6 5 ns 5-6 5-6 Note 4 Note 4 Notes: 1) 2) 3) 4) 22 Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold acknowledge state. ADVANCE INFORMATION concerns new products in the sampling or preproduction phase of development. Characteristic data and other specifications are subject to change without notice. 5-22 2 = 50 pF = 50 pF AC Characteristics Table 5-20. AC Characteristics for TI486SXL-V40, Vee =3 V to 3.6 V, Te = 0 to 85°C SYM· BOl PARAMETER CLK2 clock-doubled frequency range T1486SXl·V40 MIN MAX 32 40 UNIT FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 12.5 12.5 17 ns 5-12,5-15 5-12,5-15 5-15 CL = 50 pF CL = 50 pF Note 3 3 3 12.5 17 ns 5-12,5-15 5-15 CL = 50 pF Note 3 AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay 3 3 12.5 12.5 ns 5-12,5-15 5-12,5-15 CL CL T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay 3 3 17 17, ns 5-15 5-15 Note 3 Note 3 T12 T12a T13 031-00 write data, SUSPA# valid delay 031-00 write data hold time 031-00 write data, SUSPA# float delay ~. ns 5-12,5-13 5-14 5-15 CL = 50 pF, NoteS Notes 3,6 T14 HOLA valid delay ns 5-15 CL ns 5-11 5-11 T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time T6 T6a T7 A31-A2 valid delay SMI# valid delay A31-A2 float delay 3 3 3 T8 T9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay T10 T10a 12.5 5 3.25 5 3.25 4 4 2 4.5 17 = 50 pF = 50 pF = 50 pF T15 T16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time "g T17 T18 BS16# setup time BS16# hold time 5 2 ns 5-11 5-11 T19 T20 REAOY# setup time REAOY# hold time 5 3 ns 5-11 5-11 T21 T22 031-00 read data setup time 031-00 read data hold time 5 3 ns 5-11 5-11 T23 T24 HOLD setup time HOLD hold time 4 2 ns 5-11 5-11 T25 T26 RESET setup time RESET hold time 4.5 2 ns 5-4 5-4 NoteS T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 5 5 5 5 ns 5-10 5-10 5-10 5-10 Note 4 Note 4 Note 4 Note 4 T29 T30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time 5 3 ns 5-10 5-10 Note 4 Note 4 T31 Clock-doubled PLL lock time Notes: 2 20 I-ts Note 7 Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These following inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Delay time from setting CKO in CCRO to entering clock-doubled mode. 1) 2) 3) 4) Electrical Specifications 5-23 AC Characteristics Table 5-21. AC Characteristics for TI486SXL2-V50, Vee = 3 V to. 3.6 V, Te = 0 to 85°C SYMBOL PARAMETER T1486SXL2-V50 MIN MAX 50 CLK2 clock-doubled frequency range 32 T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time 20 7 4 7 5 T6 T6a T7 A31-A2 valid delay SMI# valid delay A31-A2 float delay T8 T9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay T10 T10a AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay T12 T12a T13 031-00 write data, SUSPA# valid delay 031-00 write data hold time 031-00 write data, SUSPA# float delay T14 HOLA valid delay T15 T16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time T17 T18 UNIT FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 7 7 3 3 4 21 30 30 ns 5-12,5-15 5-12,5-15 5-15 CL = 50 pF CL = 50 pF Note 3 2.5 4 18 30 ns 5-12,5-15 5-15 CL = 50 pF Note 3 $~O~ ns 5-12,5-15 5-12,5-15 CL = 50 pF CL = 50 pF 30 ns 5-15 5-15 Note 3 Note 3 ns 5-12,5-13 5-14 5-15 CL = 50 pF, Note 5 Notes 3,6 CL = 50 pF «'30 4 4 19 27 4 22 2 22 ns 5-15 5 3.5 ns 5-11 -5-11 BS16# setup time BS16# hold time 7 2 ns 5-11 5-11 T19 T20 REAOY# setup time REAOY# hold time 9 4 ns 5-11 5-11 T21 T22 031-00 read data setup time 031-00 read data hold time 7 5 ns 5-11 5-11 T23 T24 HOLO setup time HOLO hold time 9 3.5 ns 5-11 5-11 T25 T26 RESET setup time RESET hold time 8 3 ns 5-4 5-4 Note 5 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 6 6 6 6 ns 5-10 5-10 5-10 5-10 Note 4 Note 4 Note 4 Note 4 T29 T30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time 6 5 ns 5-10 5-10 Note 4 Note 4 T31 Clock-doubled PLL lock time Notes: 5-24 1) 2) 3) 4) 20 Ils Note 7 Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These following inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Oelay time from setting CKO in CCRO to entering clock-doubled mode. AC Characteristics 5.5.3.3 AC Data for 5-Volt Microprocessors o o o o Table Table Table Table 5-22 5-23 5-24 5-25 covers the 5-V 40,20 MHz TI486SXLC-040. on page 5-26 covers the 5-V 50 MHz TI486SXLC2-050. on page 5-27 covers the 5-V 40,20 MHz TI486SXL-040. on page 5-28 covers the 5-V 50 MHz T1486SXL2-050 Table 5-22. AC Characteristics for TI486SXLC-040, Vee = 4.75 V to 5.25 \I, Te = 0 to 100°C TI486SXLC-040 SYMBOL PARAMETER CLK2 clock-doubled frequency range MIN MAX 32 40 T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time T6 T6a T7 A23-A 1 valid delay SM 1# valid delay A23-A 1 float delay 3 3 3 T8 T9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay T10 T10a FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 12.5 12.5 17 ns 5-7,5-10 5-7,5-10 5-10 CL = 50 pF CL = 50 pF Note 3 3 3 12.5 17 ns 5-7,5-10 5-10 CL = 50 pF Note 3 AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay 3 3 12. ns 5-7,5-10 5-7,5-10 CL CL T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay 3 ns 5-10 5-10 Note 3 Note 3 T12 T12a T13 015-00 write data, SUSPA# valid delay 015-00 write data hold time 015-00 write data, SUSPA# float delay ns 3 14.5 5-7,5-8 5-9 5-10 CL = 50 pF, Note 5 Notes 3,6 T14 HOLA valid delay 3 17 ns 5-10 CL T15 T16 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time 5 2 ns 5-6 5-6 T19 T20 REAOY# setup time REAOY# hold time 5 3 ns 5-6 5-6 T21 T22 015-00 read data setup time 015-00 read data hold time 5 3 ns 5-6 5-6 T23 T24 HOLD setup time HOLD hold time 4 2 ns 5-6 5-6 T25 T26 RESET setup time RESET hold time 4.5 2 ns 5-5 5-5 Note 5 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 5 5 5 5 ns 5-6 5-6 5-6 5-6 Note Note Note Note T29 T30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time 5 3 ns 5-6 5-6 Note 4 Note 4 T31 Clock-doubled PLL lock time Notes: 12.5 5 3.25 5 3.25 UNIT 4 4 17 17 20 20 (ls = 50 pF = 50 pF = 50 pF 4 4 4 4 Note 7 1) 2) 3) 4) Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold acknowledge state. 7) Delay time from setting CKO in CCRO to entering clock-doubled mode. ADVANCE INFORMATION concerns new products in the sampling or preproduction phase of development. Characteristic data and other specifications are subject to change without notice. Electrical Specifications 5-25 AC Characteristics Table 5-23. AC Characteristics for TI486SXLC2-050, Vee Te = 0 to 100°C SYMBOL PARAMETER = 4.75 V to 5.25 V T1486SXLC2-050 MIN MAX CLK2 clock-doubled frequency range 32 50 T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time 20 7 4 7 5 T6 T6a T7 A23-A 1 valid delay SMI# valid delay A23-A 1 float delay 4 4 4 T8 T9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay T10 T10a UNIT FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 21 30 30 ns 5-7,5-10 5-7,5-10 5-10 CL = 50 pF CL = 50 pF Note 3 4 4 21 30 ns 5-7,5-10 5-10 CL = 50 pF Note 3 AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay 4 4 21 ns 5-7,5-10 5-7,5-10 CL CL T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay 4 0 30 ns 5-10 5-10 Note 3 Note 3 T12 T12a T13 015-00 write data, SUSPA# valid delay 015-00 write data hold time 015-00 write data, SUSPA# float delay ns 4 22 5-7,5-8 5-9 5-10 CL = 50 pF, Note 5 Notes 3,6 T14 HOLA valid delay 4 22 ns 5-10 CL = 50 pF T15 T16 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time 5 3 ns 5-6 5-6 T19 T20 REAOY# setup time REAOY# hold time 9 4 ns 5-6 5-6 T21 T22 015-00 read data setup time 015-00 read data hold time 7 5 ns 5-6 5-6 T23 T24 HOLD setup time HOLD hold time 9 3 ns 5-6 5-6 T25 T26 RESET setup time RESET hold time 8 3 ns 5-5 5-5 Note 5 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 6 6 6 6 ns 5-6 5-6 5-6 5-6 Note 4 Note 4 Note 4 Note 4 T29 T30 PEREa, ERROR#, BUSY# setup time PEREa, ERROR#, BUSY# hold time 6 5 ns 5-6 5-6 Note 4 Note 4 T31 Clock-doubled PLL lock time Notes: 5-26 1) 2) 3) 4) 7 7 27 20 J-ts = 50 pF = 50 pF Note 7 Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold acknowledge state. ' 7) Delay time from setting CKO in CCRO to entering clock-doubled mode. AC Characteristics Table 5-24. AC Characteristics for TI486SXL -040, Vee =4.75 V to 5.25 V, (for Te see Table 5-6) SYMBOl PARAMETER CLK2 clock-doubled frequency range T1486SXl-040 MIN MAX 32 40 UNIT FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 12.5 12.5 17 ns 5-12,5-15 5-12,5-15 5-15 CL = 50 pF CL = 50 pF Note 3 3 3 12.5 17 ns 5-12,5-15 5-15 CL = 50 pF Note 3 AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay 3 3 12.5 12.5 ns 5-12,5-15 5-12,5-15 CL = 50 pF CL = 50 pF T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay 3 3 17 ns 5-15 5-15 Note 3 Note 3 T12 T12a T13 031-00 write data, SUSPA# valid delay 031-00 write data hold time 031-00 write data, SUSPA# float delay ns 5-12,5-13 5-14 5-15 CL = 50 pF, Note 5 Notes 3,6 ns 5-15 CL ns 5-11 5-11 T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time 12.5 5 3.25 5 3.25 T6 T6a T7 A31-A2 valid delay SMI# valid delay A31-A2 float delay 3 3 3 T8 T9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay T10 T10a 4 4 11 ~ 2 14.5 =~ = 50 pF T14 HOLA valid delay T15 T16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time T17 T18 BS16# setup time BS16# hold time 5 2 ns 5-11 5-11 T19 T20 REAOY# setup time REAOY# hold time 5 3 ns 5-11 5-11 T21 T22 031-00 read data setup time 031-00 read data hold time 5 3 ns 5-11 5-11 T23 T24 HOLO setup time HOLO hold time 4 2 ns 5-11 5-11 T25 T26 RESET setup time RESET hold time 4.5 2 ns 5-4 5-4 Note 5 Note 4 Note 4 Note 4 Note 4 Note 4 Note 4 17 '~·5 2 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 5 5 5 5 ns 5-10 5-10 5-10 5-10 T29 T30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time 5 3 ns 5-10 5-10 T31 Clock-doubled PLL lock time Notes: 20 !lS Note 7 1) 2) 3) 4) Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These following inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Oelay time from setting CKO in CCRO to entering clock-doubled mode. Electrical Specifications 5-27 AC Characteristics Table 5-25. AC Characteristics for TI486SXL2-050, Vee = 4.75 V to 5.25 V, (for Te see Table 5-6) PARAMETER SYMBOL T1486SXL2-050 MIN MAX CLK2 clock-doubled frequency range 32 50 T1 T2a T2b T3a T3b T4 T5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time 20 7 4 7 5 T6 T6a T7 A31-A2 valid delay SMI# valid delay A31-A2 float delay T8 T9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay T10 T10a AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay T11 T11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay T12 T12a T13 031-00 write data, SUSPA# valid delay 031-00 write data hold time 031-00 write data, SUSPA# float delay UNIT FIGURE NOTES MHz ns 5-4 5-4 5-4 5-4 5-4 5-4 5-4 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 7 7 3 3 4 21 30 30 ns 5-12,5-15 5-12,5-15 5-15 CL = 50 pF CL = 50 pF Note 3 2.5 4 18 30 ns 5-12,5-15 5-15 CL = 50 pF Note 3 4 4 .~~o~~ ns 5-12,5-15 5-12,5-15 CL = 50 pF CL = 50 pF ns 5-15 5-15 Note 3 Note 3 ns 5-12,5-13 5-14 5-15 CL = 50 pF, Note 5 Notes 3,6 CL = 50 pF 19 1f'30 30 27 4 22 2 22 ns 5-15 5 3.5 ns 5-11 5-11 BS16# setup time BS16# hold time 7 2 ns 5-11 5-11 T19 T20 REAOY# setup time REAOY# hold time 9 4 ns 5-11 5-11 T21 T22 031-00 read data setup time 031-00 read data hold time 7 5 ns 5-11 5-11 T23 T24 HOLD setup time HOLD hold time 9 3.5 ns 5-11 5-11 T25 T26 RESET setup time RESET hold time 8 3 ns 5-4 5-4 Note 5 T27 T27a T28 T28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time 6 6 6 ns 6 5-10 5-10 5-10 5-10 Note 4 Note 4 Note 4 Note 4 T29 T30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time 6 5 ns 5-10 5-10 Note 4 Note 4 T31 Clock-doubled PLL lock time T14 HOLA valid delay T15 T16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time T17 T18 Notes: 5-28 1) 2) 3) 4) 20 I-ls Note 7 Input clock can be stopped, therefore minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are guaranteed by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These following inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested. 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Delay time from setting CKO in CCRO to entering clock-doubled mode. AC Characteristics 5.5.4 RESET Setup and Hold Timing RESET setup and hold timing for the TI486SXL(C) family of microprocessors are illustrated in Figure 5-5. Figure 5-5. RESET Setup and Hold Timing CLK2 ., I I I I I .,( j RESET ~ T25 ~ ()~ T26~ 5.5.5 TI486SXLC Switching Waveforms Switching waveforms for the TI486SXLC microprocessors are illustrated in Figure 5-6, Figure 5-7, Figure 5-8, Figure 5-9, and Figure 5-10 on pages 5-29 through 5-31. Figure 5-6. TI486SXLC Input Signal Setup and Hold Timing <1>2 <1>1 <1>2 <1>1 CLK2 '---...II READY# ~ ---~:~-::: ~ HOLD_ ::: .. X%. I+-T21-......- D1S-DOR PEREQ,ERROR#,~ I + - T29 BUSY# :~ T30 rI////////IX. ~~~~~--------~------~~~~~ ~ NA#, SUSP#, FLUSH#, KEN#, A20M# ----.lX%. ~ T1S ~ - T16----.1 NMI, INTR, SMI# ADVANCE INFORMATION concerns new products in the sampling or preproduction phase of development. Characteristic data and other specifications are subject to change without notice. Electrical Specfications 5-29 AC Characteristics Figure 5-7. TI486SXLC Output Signal Valid Delay Timing <1>1 <1>2 <1>1 <1>2 CLK2 T8 Valid n+1 BHE#, BLE# LOCK# T10,T10a AOS#,O/C#, M/IO#, SMAOS#, W/R# Valid n+1 T6,T6a Valid n+1 A23-A1, SMI# SUSPA# Figure 5-8. TI486SXLC Data Write Cycle Valid Delay Timing <1>1 CLK2 '------' I I I I I W/R# T12 015-00 ~ I .: Min I ~ Max -----------~~ I Valid I~------~~~------------ I 5-30 I AC Characteristics Figure 5-9. TI486SXLC Data Write Cycle Hold Timing >1 CLK2 I I -.-1 I k\~--------~-----------------------~dn+1 W/R# I T12a 015-00 I I Min Valid n Valid n+1 Figure 5-10. TI486SXLC Output Signal Float Delay and HLDA Valid Delay Timing Ti or T1 Th >2 >1 CLK2 I >2 >1 I I >2 BHE#, BLE#, LOCK# T11,T11a AOS#,O/C#, \I1/10#,SMAOS#, W/R# A23-A1 015-00 (Write Data), SUSPA# T14 HLOA Electrical Specifications 5-31 AC Characteristics 5.5.6 TI486SXL Switching Waveforms Switching waveforms for the TI486SXL microprocessors are illustrated in Figure 5-11, Figure 5-12, Figure 5-13, Figure 5-14, and Figure 5-15 on pages 5-32 through 5-34. Figure 5-11. TI486SXL Input Signal Setup and Hold Timing >1 >2 CLK2 --- I '---.I ~ T19 ---~Ie---T20 ~ REAOY#. HOLO. ~ : I I ~ T23-.....-411-- ~T21 T22~~ ~ 031-00. PEREQ,ERROR#, ~~ T29 : T30 ~~. BUSY#~~ ~~~~------------------~~~~ I ~ NA#, SUSP#, FLUSH#, KEN#, NENW#, A20M# BS16 NMI, INTR, SMI# 5-32 T15,T32 ~ T16,T33 ~ AC Characteristics Figure 5-12. TI486SXL Output Signal Valid Delay Timing <1>2 <1>1 CLK2 T8----~--------~~ Valid n+1 BE3#-BEO# LOCK# T10 ADS#, D/C#, M/IO#, SMADS#, W/R# Valid n+1 T6,T6a Valid n+1 A31-A2, SMI# SUSPA# Valid n Figure 5-13. TI486SXL Data Write Cycle Valid Delay Timing <1>1 <1>1 <1>2 CLK2 '------' I I I W/R# I I / --.J T12 D31-DO I I r~ Min ~ Max -----------r-_""''''''"'~~---v-a-lid--- Electrical Specifications 5-33 AC Characteristics Figure 5-14. TI486SXL Data Write Cycle Hold Timing <1>1 <1>1 <1>2 CLK2 I I K W/R# ---'I I : 1-. Valid n+1 I ~--------~--------------------T12a~M' 031-00 Valid n Valid n+1 Figure 5-15. TI486SXL Output Signal Float Delay and HLDA Valid Delay Timing I I I <1>2 CLK2 BE3#-BEO#, LOCK# T11,T11a AOS#,O/C#, M/IO#, SMAOS#, W/R# A31-A2 031-00 (Write Oata), SUSPA# T14 HLOA 5-34 I I Th <1>1 I <1>2 I Ti or T1 <1>1 I I <1>2 Chapter 6 Mechanical Specifications Mechanical specifications include pin assignments, package dimensions, and thermal characteristics for each of the TI486SXL( C) microprocessors. The TI486SXL( C) microprocessors are supplied in the following packages: o o o o o 100-pin, thermally enhanced plastic quad flat package 132-pin, ceramic pin grid array package 144-pin, thermally enhanced plastic quad flat package 144-pin, ceramic quad flat package 168-pin, ceramic pin grid array package Pin assignments provide both a pin locator drawing and two pin listings. One pin listing is alphabetically by pin name and the other is (alpha)numerically by pin number. A pinout cross-reference, comparing industry-standard 486SX pinouts, is supplied for the 168-pin package at the end of the pin-assignment data. Industry-standard dimensioned drawings are supplied for each package. Thermal characteristics are supplied on each package that includes airflow measurement setup data for correlation purposes. Topic 6.1 Page Pin"AsSlgnments... ••• ........... " " , , ' '"'''H''' 6.2 " . •.. ~~. ~ .. ~ ....••. 'c" •••• ,6..2 "/i":oc, P,ckage:DimensiCjFls",,;, .... ~~ .~ •. ; ....... ~,; ~ ..• , ....'.; .• 6-13 6.3: ••:rl'lermaiChara~terisfic~,. ~ , •••. ~ ~.' • ,.a •• ,on .!O • •••••• ~•••, • • • , • • • '• • 6-18 6-1 Terminal Assignments 6.1 Terminal Assignments The terminal assignments for the TI486SXLC microprocessors are shown in Figure 6-1. The signal names are shown in Table 6-1 sorted by terminal numbers and in Table 6-2 sorted by signal names. Figure 6-1. TI486SXLC Terminal Assignments gmro~~~~~N~omro~~~~~N~omro~~ ~mmmmmmmmmmrorororororororororo~~~~ DO Vss HLDA HOLD Vss NA# READY# Vcc Vcc Vcc Vss Vss Vss Vss CLK2 ADS# BLE# A1 BHE# SMADS# Vcc VSS M/IO# D/C# W/R# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 Terminal # 1 Index Mark (On Top Side) , (Top View) 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 A20 A19 A18 A17 Vcc Vcc VSS VSS A16 A15 A14 A13 VSS A12 A11 A10 A9 A8 Vcc A7 A6 A5 A4 A3 A2 ~~romo~N~~~~~romo~N~~~~~romo NNNN~~~~~~~~~~~~~~~~~~~~~ NC - Make no external connection Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. 6-2 Terminal Assignments Table 6-1. TI486SXLC Signal Names Sorted by Terminal Number Term. No. Signal Name 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 00 Vss HLOA HaLO Vss NA# REAOY# VCC Vec Vec Vss Vss Vss Vss eLK2 AOS# BLE# A1 BHE# SMAOS# Term. No. Signal Name Term. No. 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Vee Vss M/IO# 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 O/C# W/R# LOCK# NC FLT# KEN# FLUSH# A20M# Vce RESET BUSY# Vss ERROR# PEREa NMI Vec INTR Signal Name Vss Vee susP# SUSPA# NC NC SMI# VCC Vss Vss A2 A3 A4 A5 A6 A7 Vee A8 A9 A10 Term. No. 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Signal Name A11 A12 Vss A13 A14 A15 Vss Vss Vee A16 Vee A17 A18 A19 A20 A21 Vss Vss A22 A23 Term. No. 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 Signal Name 015 014 013 Vcc Vss 012 011 010 09 08 Vce 07 06 05 04 03 Vec Vss 02 01 Table 6-2. TI486SXLC Terminal Numbers Sorted by Signal Name Signal Name A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 Term. No. Signal Name Term. No. 18 51 52 53 54 55 56 58 59 60 61 62 64 65 66 70 72 73 74 75 A21 A22 A23 AOS# A20M# BHE# BLE# BUSY# CLK2 00 01 02 03 04 05 06 07 08 09 010 76 79 80 16 31 19 17 34 15 1 100 99 96 95 94 93 92 90 89 88 Signal Name 011 012 013 014 015 O/C# ERROR# FLT# FLUSH# HaLO HLOA INTR KEN# LOCK# M/IO# NA# NMI Ne NC NC Term. No. 87 86 83 82 81 24 36 28 30 4 3 40 29 26 23 6 38 27 45 46 Signal Name PEREQ REAOY# RESET SMAOS# SMI# SUSP# SUSPA# Vcc Vcc Vce Vee Vcc Vce Vcc Vcc Vec Vce Vee Vcc Vce Term. No. 37 7 33 20 47 43 44 8 9 10 21 32 39 42 48 57 69 71 84 91 Signal Name Vcc Vss Vss VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS W/R# Term. No. 97 2 5 11 12 13 14 22 35 41 49 50 63 67 68 77 78 85 98 25 Ne - Make no external connection Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. Mechanical Specifications 6-3 Terminal Assignments The terminal assignments for the 132-pin PGA TI486SXL microprocessors are shown as viewed from the terminal side (bottom) in Figure 6-2 and as viewed from the top side (component side when mounted on a PC board) in Figure 6-3. The signal names are listed in Table 6-3 and Table 6-4 sorted by terminal number and signal name respectively. Figure 6-2. 132-Pin PGA TI486SXL Package Terminals (Bottom View) Terminal # 1 Index Mark (On Top Side) BCD 1 2 3 4 5 6 7 8 9 10 11 12 13 E F G H J K L M N p \G8G88GGGGGGGGG 80GGG8G888GGGG G88GGGG8GGGGGG 88G 8800 GGG 888 GGG 8G8 88G 888 GGG 888 GGG 888 888 GGG 888 888 TI486SXL (Bottom View) 88888888888888 88888888988988 14 888889GGGGG8GG NC - Make no external connection 6-4 Terminal Assignments Figure 6-3. 132-Pin PGA TI486SXL Package Terminals (Top View) p N M L K J H G Terminal # 1 Index Mark (On Top Side) FED C B GG8GGGG88GG8G 888GG8G88G888G 88888888888888 888 888 888 88G 888 eGG 888 88G 888 888 888 8SG 888 88G 888 8G8 8888888G888888 88888888888888 TI486SXL (Top View) GG8GGGGGG888GG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 NC - Make no external connection Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. Mechanical Specifications 6-5 Terminal Assignments Table 6-3. 132-Pin PGA TI486SXL Signal Names Sorted by Terminal Number Term. No. A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 81 B2 83 84 B5 86 87 88 Signal Name Term. No. B9 810 811 812 813 814 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 01 02 VCC VSS A3 SUSP# VCC VSS VCC ERROR# VSS VCC O/C# M/IO# BE3# VCC VSS A5 A4 SUSPA# VSS NC INTR NMI Signal Name Term. No. BUSY# 03 012 013 014 E1 E2 E3 E12 E13 E14 F1 F2 F3 F12 F13 F14 G1 G2 G3 G12 G13 G14 W/R# VSS KEN# 8E2# VSS A8 A7 A6 A2 VCC SMAOS# SMI# PEREQ RESET LOCK# VSS VCC BE1# 8S16# A11 A10 Signal Name Term. No. A9 VCC NA# HOLO A14 A13 A12 8EO# FLUSH# AOS# A15 VSS VSS CLK2 A20M# VSS A16 VCC VCC VCC REAOY# VCC H1 H2 H3 H12 H13 H14 J1 J2 J3 J12 J13 J14 K1 K2 K3 K12 K13 K14 L1 L2 L3 L12 Signal Name A17 A18 A19 00 01 02 A20 VSS VSS VSS VSS 03 A21 A22 A25 07 05 04 A23 A24 A28 VCC Term. No. Signal Name Term. No. L13 L14 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 N1 N2 N3 N4 N5 N6 08 06 A26 A29 VCC VSS 031 028 VCC VSS 020 VSS 015 010 VCC HLOA A27 A31 VSS VCC 027 025 N7 N8 N9 N10 N11 N12 N13 N14 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 Signal Name VCC 023 021 017 016 012 011 09 A30 VCC 030 029 026 VSS 024 VCC 022 019 018 014 013 VSS Table 6-4. 132-Pin PGA TI486SXL Terminal Numbers Sorted by Signal Name Signal Name Term. No. Signal Name Term. No. Signal Name Term. No. Signal Name Term. No. Signal Name Term. No. Signal Name Term. No. A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A20M# A21 A22 C4 A3 83 82 C3 C2 C1 03 02 01 E3 E2 E1 F1 G1 H1 H2 H3 J1 F13 K1 K2 A23 A24 A25 A26 A27 A28 A29 A30 A31 AOS# 8EO# BE1# 8E2# 8E3# 8S16# BUSY# CLK2 L1 L2 K3 M1 N1 L3 M2 P1 N2 E14 E12 C13 B13 A13 C14 89 F12 A11 H12 H13 H14 J14 04 05 06 07 08 09 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 K14 K13 L14 K12 L13 N14 M12 N13 N12 P13 P12 M11 N11 N10 P11 P10 M9 N9 P9 N8 P7 N6 026 027 028 029 030 031 ERROR# FLUSH# HLOA HOLO INTR KEN# LOCK# M/IO# NA# NMI NC PEREQ REAOY# RESET SMI# SMAOS# P5 N5 M6 P4 P3 M5 A8 E13 M14 014 87 B12 C10 A12 013 88 B6 C8 G13 C9 C7 C6 SUSP# SUSPA# VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC A4 84 A1 A5 A7 A10 A14 C5 C12 012 G2 G3 G12 G14 L12 M3 M7 M13 N4 N7 P2 P8 VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS A2 A6 A9 81 85 811 814 C11 F2 F3 F14 J2 J3 J12 J13 M4 M8 M10 N3 P6 P14 810 O/C# 00 01 02 03 W/R# NC - Make no external connection Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. 6-6 Terminal Assignments The terminal assignments for the 144-pin, QFP TI486SXL microprocessors are shown as viewed from the top side (component side when mounted on a PC board) in Figure 6-4. The signal names are listed in Table 6-5 and Table 6-6 sorted by terminal number and signal name, respectively. Figure 6-4. 144-Pin QFP TI486SXL Package Terminals (Top View) A20 A21 VSS VSS A22 A23 BS16# 015 014 013 VCC VSS 019 018 017 016 VCC VSS 012 011 010 09 08 VCC 07 06 05 04 03 NC VCC VSS 027 026 02 01 72 71 109 110 111 112 113 114 115 116 70 69 68 67 66 65 64 63 62 61 60 59 58 117 118 119 120 121 122 123 124 125 126 127 57 56 55 TI486SXL 54 53 52 51 50 49 48 128 129 130 131 132 133 134 135 136 47 46 45 137 138 44 43 42 41 40 39 ~ ~~ Terminal # 1 Index Mark 1 4 1 / (On Top Side) 142 143 144 a 38 37 VSS NC VSS VSS VCC SMI# MEMW# NC SUSPA# SUSP# VCC A24 A25 A26 A27 VSS VCC VCC VSS INTR VCC NMI PEREQ ERROR# VSS NCNCC5 t BUSY# RESET VCC A20M# FLUSH# KEN# FLT# NC LOCK# W/R# O~~M~~m~romo~NM~~m~romo~~M~~m ~~M~~m~rom~~~~~~~~~~~~N~~~NN~NMMMMMMM NC - Make no external connection This pin is VCC5 for the T1486SXL-G40 and TI486SXL2-G50. It is NC for all other devices. t Mechanical Specifications 6-7 Terminal Assignments Table 6-5. 144-Pin QFP TI486SXL Signal Names Sorted by Terminal Number Term. No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Signal Name Term. No. 00 Vss 024 025 Vce HLOA HOLO Vss NA# REAOY# Vcc 028 029 030 031 Vce Vcc Vss Vss Vss Vss Vss Vss Vss 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Signal Name Term. No. eLK2 AOS# BEO# BE1# SMAOS# Vce BE2# BE3# Vss M/IO# O/C# W/R# W/R# LoeK# NC FLT# KEN# FLUSH# A20M# Vce RESET BUSY# NCNce5t Vss 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 Signal Name Term. No. ERROR# PEREa NMI Vcc INTR Vss Vce Vce Vss A27 A26 A25 A24 Vcc susP# SUSPA# NC MEMW# SMI# Vcc Vss Vss Ne Vss 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Signal Name A2 A3 A4 A5 A6 A7 Vce Vss A31 A30 A29 A28 Vce A8 A9 A10 A11 A12 Vce Vss A13 A14 A15 Vss Term. No. Signal Name Term. No. 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 Vss Vee 023 022 021 020 Vee A16 Vec A17 A18 A19 A20 A21 Vss Vss A22 A23 BS16# 015 014 013 Vec Vss 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 Signal Name 019 018 017 016 Vcc Vss 02 011 010 09 08 Vec 07 06 05 04 03 NC Vce Vss 027 026 02 01 Table 6-6. 144-Pin QFP TI486SXL Terminal Numbers Sorted by Signal Name Signal Name Term. No. Signal Name Term. No. A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A20M# A21 A22 A23 A24 73 74 75 76 77 78 86 87 88 89 90 93 94 95 104 106 107 108 109 43 110 113 114 61 A25 A26 A27 A28 A29 A30 A31 AOS# BEO# BE1# BE2# BE3# BS16# BUSY# CLK2 60 59 58 84 83 82 81 26 27 28 31 32 115 48 25 35 1 144 143 137 136 135 134 133 O/C# 00 01 02 03 04 05 06 07 Signal Name 08 09 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 Term. No. 131 130 129 128 127 118 117 116 124 123 122 121 102 101 100 99 3 4 142 141 12 13 14 15 Signal Name ERROR# FLT# FLUSH# HLOA HOLO INTR KEN# LoeK# M/IO# MEMW# NA# NMI Ne NCNec5t NC NC NC PEREa REAOY# RESET SMI# SMAOS# susP# SUSPA# Term. No. 49 40 42 6 7 53 41 38 34 66 9 51 39 47 65 71 138 50 10 45 67 29 63 64 Signal Name Vcc Vce Vee Vcc Vcc Vec Vcc Vcc Vec Vcc Vce Vee Vcc Vcc Vec Vcc Vcc Vce Vcc Vcc Vce Vss Vss Vss Term. No. Signal Name Term. No. 5 11 16 17 30 44 52 55 56 62 68 79 85 91 98 103 105 119 125 132 139 2 8 18 Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss W/R# W/R# 19 20 21 22 23 24 33 48 54 57 69 70 72 80 92 96 97 111 112 120 126 140 36 37 Ne - Make no external connection t This pin is VCC5 for the T1486SXL-G40 and TI486SXL2-G50. It is NC for all other devices. Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. 6-8 Terminal Assignments The terminal assignments for the 168-pin, PGA TI486SXL microprocessors are shown as viewed from the terminal side (bottom) in Figure 6-5 and as viewed from the top side (component side when mounted on a PC board) in Figure 6-6. The signal names are listed in Table 6-7 and Table 6-8 sorted by terminal number and signal name, respectively. In addition, Table 6-9 shows a cross-reference between the 168-pin TI486SXL pinout and the 486SX pinout. Figure 6-5. 168-Pin PGA TI486SXL Package Terminals (Bottom View) Terminal # 1 Index Mark (On Top Side) 8 1 C 0 E F G H J K L M N p Q R s 8888G88~8888G88G 288888888080888888 388888888888888888 4888 888 5888 888 6888 888 788G GGG 888 888 @88 888 11888 0088 a 9 ~~a ~~V a~~ TI486SXL (Bottom View) V~~ 10 12 13 14 15 16 17 888 888 888 088 888 888 88888888888888888 88888888888888888 88888888888888888 NC - Make no external connection tThis pin is VCC5 for the T1486SXL-G40 and TI486SXL2-G50. It is VCC for all other devices. Mechanical Specifications 6-9 Terminal Assignments Figure 6-6. 168-Pin PGA TI486SXL Package Terminals (Top View) Terminal # 1 Index Mark (On Top Side) s R Q p N M L J K H G FED C B G8GGGGGG~GGG8GB8 88888888808888888 88888888888888888 888 888 GGG G88 88G G88 GGG 888 888 888 aaa \!J\JV \J\J\!J 888 G8@ 888 888 888 888 888 888 888 888 88888888888888888 88888888888888888 a~f::::\ TI486SXL (Top View) 88GG8GGGGGG8G8888 NC - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Make no external connection t This pin is VCC5 for the T1486SXL-G40 and TI486SXL2-G50. It is VCC for all other devices. Note: NC Terminals Connecting or terminating (high or low) any NC terminal(s) may cause unpredictable results or nonperformance of the microprocessor. 6-10 Terminal Assignments Table 6~7. 168-Pin PGA TI486SXL Signal Names Sorted by Terminal Number Term. No. A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 81 82 83 84 85 86 87 88 89 810 811 Signal Name 020 022 NC 023 NC 024 VSS 029 VSS Reserved VSS ERROR# NA# NC NMI INTR NC 019 021 VSS VSS VSS 025 VCC 031 VCC SMI# VCC Term. No. 812 813 814 815 816 817 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 01 02 03 015 016 Signal Name Term. No. SUSPA# SMAOS# NC NC MEMW# NC 011 018 CLK2 VCC VCC 027 026 028 030 NC FLT# NC SUSP# NC FLUSH# RESET 8S16# 09 013 017 A20M# NC 017 E1 E2 E3 E15 E16 E17 F1 F2 F3 F15 F16 F17 G1 G2 G3 G15 G16 G17 H1 H2 H3 H15 H16 H17 J1 J2 J3 Signal Name NC VSS VCC 010 HaLO VCC VSS NC 08 015 KEN# REAOY# 8E3# VSS VCC 012 NC Vec VSS VSS 03 NC NC VCC VSS VCC(5 t ) 05 016 Term. No. Signal Name Term. No. Signal Name Term. No. Signal Name J15 J16 J17 K1 K2 K3 K15 K16 K17 L1 L2 L3 L15 L16 L17 M1 M2 M3 M15 M16 M17 N1 N2 N3 N15 N16 N17 P1 8E2# 8E1# NC VSS VCC 014 8EO# VCC VSS VSS 06 07 NC VCC VSS VSS VCC 04 P2 P3 P15 P16 P17 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 R1 R2 R3 R4 R5 R6 A29 A30 HLOA VCC VSS A31 VSS A17 A19 A21 A24 A22 A20 A16 A13 A9 A5 A7 A2 NC NC NC A28 A25 VCC VSS A18 VCC R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16 S17 A15 VCC VCC VCC VCC A11 A8 VCC A3 NC PEREQ A27 A26 A23 8USY# A14 VSS A12 VSS VSS VSS VSS VSS A10 VSS A6 A4 AOS# O/C# VCC VSS 02 01 NC LOCK# M/IO# W/R# 00 Table 6-8. 168-Pin PGA TI486SXL Terminal Numbers Sorted by Signal Name Signal Name Term. No. Signal Name Term. No. Signal Name Term. No. Signal Name Term. No. Signal Name A2 014 A29 P2 016 SMAOS# J3 NC A3 A3 R15 A30 P3 017 NC A5 SUSP# 03 Q1 A4 S16 A31 018 C2 NC A14 SUSPA# A5 012 AOS# S17 019 81 NC A17 VCC A6 S15 8EO# K15 020 A1 NC 814 VCC Q13 8E1# A7 021 82 J16 NC 815 VCC A8 R13 8E2# J15 022 A2 NC 817 VCC Q11 8E3# A9 F17 023 A4 NC C10 VCC A10 S13 8S16# C17 024 A6 NC C12 VCC A11 R12 8USY# S4 025 C14 VCC 86 NC A12 S7 CLK2 026 C3 C7 NC 016 VCC Q10 O/C# A13 M15 027 017 VCC C6 NC A14 00 P1 028 S5 C8 NC F1 VCC R7 01 A15 N2 029 A8 NC G15 VCC(5t ) Q9 A16 02 N1 030 C9 NC H3 VCC Q3 A17 03 H2 031 88 NC H15 VCC A18 R5 04 ERROR# A12 NC M3 J17 VCC Q4 05 FLT# A19 J2 C11 NC L15 VCC Q8 A20 06 L2 FLUSH# C15 NC N3 VCC A20M# 015 07 L3 HLOA P15 NC 015 VCC Q5 A21 08 F2 E15 NC HaLO 016 VCC A22 09 01 INTR A16 NC 07 017 VCC A23 010 E3 KEN# F15 NC S3 R16 VCC A24 011 C1 LOCK# N15 PEREQ 06 R17 VCC A25 R2 012 M/IO# G3 N16 REAOY# F16 VCC A26 S2 013 02 MEMW# 816 Reserved A10 VCC A27 NA# S1 014 K3 A13 RESET C16 VCC A28 R1 015 F3 NMI A15 SMI# 810 VSS NC - Make no external connection tThis pin is VCC5 for the T1486SXL-G40 and TI486SXL2-G50. It is VCC for all other devices. Term. No. 813 C13 812 87 89 811 C4 C5 E2 E16 G2 G16 H16 J1 K2 K16 L16 M2 M16 P16 R3 R6 R8 R9 R10 R11 R14 A7 Signal Name VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS W/R# Mechanical Specifications Term. No. A9 A11 83 84 85 E1 E17 G1 G17 H1 H17 K1 K17 L1 L17 M1 M17 P17 Q2 R4 S6 S8 S9 S10 S11 S12 S14 N17 6-11 ~ Table 6-9. TI486SXL Signal Summary for 168-Pin PGA Pinout Q)I ~ I\) Address 486SX 486SX L A2 A3 A4 AS A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A2 A3 A4 AS A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 Data Pin 486SX 486SX L DO 01 02 03 04 05 06 07 08 09 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 DO 01 02 03 04 05 06 07 08 09 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 Pin 486SX 486SXL Pin 486SX 486SXL Pin S· VCCNSS Miscellaneous and Spares Control ~ 486SX 486SXL Pin Vee Vee Vee Vee Vee Vee5(OX4) Vee Vee Vee Vee Vee Vee Vee Vee Vee Vee Vee Vee Vee(5t) Vee Vee Vee Vee Vee Vee Vee 87, 89 811, C4 C5, E2 E16, G2 G16, H16 J1 K2 K16, L16 M2, M16 P16,R3 R6,R8 R9,R10 R11,R14 Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss Vss A7,A9 A11,83 84,85 E1,E17 G1, G17 H1, H17 K1, K17 L1, L17 M1, M17 P17,02 R4,86 88,89 810,811 812,814 ::t=. ~ cO· :=:! 014 R15 S16 012 S15 013 R13 011 813 R12 87 010 S5 R7 09 03 R5 04 08 05 07 S3 06 R2 82 81 R1 P2 P3 01 P1 N2 N1 H2 M3 J2 L2 L3 F2 01 E3 C1 G3 02 K3 F3 J3 03 C2 81 A1 82 A2 A4 A6 86 C7 C6 C8 A8 C9 88 A20M# AOS# AHOLO 8EO# 8E1# 8E2# 8E3# 8LAST# 80FF# 8ROY# 8REO# 888# 8816# CLK A20M# AOS# NC 8EO# 8E1# 8E2# 8E3# NC NC NC NC NC 8816# CLK2 O/C# O/C# OPO OP1 OP2 OP3 EA08# FLU8H# HLOA HOLD INTR KEN# LOCK# M/IO# NMI PCO PCHK# PWT PCLOK# ROY# RE8ET W/R# NC NC NC NC NC FLU8H# HLOA HOLD INTR KEN# LOCK# M/IO# NMI NC NC NC NC REAOY# RE8ET W/R# 015 S17 A17 K15 J16 J15 F17 R16 017 H15 015 016 C17 C3 M15 N3 F1 H3 AS 817 C15 P15 E15 A16 F15 N15 N16 A15 J17 017 L15 016 F16 C16 N17 - (LP) = Low Power. (S) = 486SX, (OX) = 4860X, and (OX4) = 4860X4 t This pin is Vee5 for the T1486SXL-G40 and TI486SXL2-G50. It is Vee for all other devices. CLKSEL(LP) NC Reserved Reserved ERROR# NC NA# NC TOI(s/ox) NC SMI# SMI#(s) SUSPA# NC SMAOS# NC TM8 NC . NC NMI(ox) MEMW# TOO(s/OX) SRESET(s) NC FLT# UP#(S) 8MIACT#(s) NC 8USP# NC FERR#(ox) NC 8TPCLK(s) NC PEREO NC 8USY# NC A3 A10 A12 A13 A14 810 812 813 814 815 816 C10 C11 C12 C13 C14 G15 R17 84 :3 CI) :=:! Cij Package Dimensions 6.2 Package Dimensions The package dimensions for the TI486SXLC microprocessors are shown in Figure 6-7. The package dimensions for the 132-pin, PGA TI486SXL microprocessors are shown in Figure 6-8, package dimensions forthe 144-pin QFP versions are shown in Figure 6-9 and Figure 6-10, and the package dimensions for the 168-pin PGA TI486SXL are shown in Figure 6-11 . Figure 6-7. 100-Pin Thermally Enhanced Plastic QFP Package Dimensions (TI486SXLC) PJF(S-PQFP-G100) PLASTIC QUAD FLATPACK 50 ~ y L 0.025 (O,64) 1 1-$-1. 0.012 (0,3O} 0.008 (0,20). 0.006 (0,15) @ 1. 26 0.006 (0,15) TYP 25 0.766(19,46) 0.734 (18,64) sa --~ 0.890(22,61) 0.870 (22,10) 0.912 (23,16) 0.888 (22,56) sa - - - - - . t l t 0.151 (3,81) 0.130 (3,30) ~ sa _ _ _~ 0.046 (1,17) 0.036 (0,91) it l 0.1;: (4,57) ~ MA~ Seating Plane 1=1 0.004{O,10j '-----'------'--------'----'--~ 40400931A 10/93 NOTES: A. B. C. D. All linear dimensions are in millimeters. This drawing is subject to change without notice. Falls within JEDEC MO-069 Thermally enhanced molded plastic package with a heat slug (HSL) exposed on bottom side of the package body. Mechanical Specifications 6-13 Package Dimensions Figure 6-8. 132-Pin Ceramic PGA Package Dimensions (TI486SXL) CPGA-132 PIN CERAMIC PIN GRID ARRAY Pin # 1Index Mark (On Top Side) 1,27 (0.50) MAXTYP I I I I I I I ~Ir- 1_ 18,4(0.725) no 1 '~@@@@@@@@@@@@~ - 16,5(0.650) 2 @@@@@@@I@@@@@@@ - 14,0(0.550) 3 @@@@@@@@@@@@@@ - 11,4(0.450) 4 @@@~ @@@ - 8,89(0.350) 5 @@@ @@@ - 6,35(0.250) 6 @@@ I @@@ - 3,81 (0.150) 7@@)@_-L_@@@-0-1,27(8.050) 8 @@@ TI486SXL @@@ 9 @@@ (BOTT~M VIEW) @@@ 0,025 (0.001)R 10 @@@ @@@ MINTYP "& 11 @@@ @@@ 12 @@@@@@@@@@@@@@ 0,47(0.0180) 13 @@@@@@@I@@@@@@@ 14 ~ 0 @@@@@@@@@@@Q ~ o U' L D E ---- F G 1,65 (0.065) Swedge Pin Standoff (4) Places - - - - - - - 36,83 (1.450) - - - - - . 4,57 (0,180)1 J 3,05 (0.120) ALL LINEAR DIMENSIONS ARE IN MILLIMETERS AND PARENTHETICALLY IN INCHES NOTES: A. All linear dimensions are in millimeters. B. This drawing is subject to change without notice. 6-14 7/94 Package Dimensions Figure 6-9. 144-Pin Plastic QFP Dimensions (TI486SXL) PLASTIC QUAD FLATPACK PCE(S-PQFP-G144) 73 108 72 109 ~ L ~ 1-$-1 o,13@1 0,65 144 37 o 0,16TVP 1 36 k- 22,75 sa TVP --------.t.1 ~------------ 28,20 27,80 sa -----------. 31,45 sa ------~ 30,95 7/94 NOTES: A. B. C. D. All linear dimensions are in millimeters. This drawing is subject to change without notice. Falls within JEDEC MS-022 Thermally enhanced molded plastic package with a heat spreader (HSP). E. Foot length is measured from lead tip to a position on backside of lead O,25mm above seating plane (gage plane). Mechanical Specifications 6-15 Package Dimensions Figure 6-10. 144-Pin Ceramic QFP Package Dimensions (TI486SXL) HBN (S-CaFP-G 144) CERAMIC aUAD FLATPACK 73 108 72 109 ~ 0,30TVP T ~ 144 37 o 0,16 NOM 1 I~. .----- 36 22,75 TVP 28,00 27,45 31,45 30,95 -------al~1 sa f 3,42TVP ~ sa i 0,25 MIN 0,95 0,65 S~_~M 4,07 MAX ~c>IO,10 I 9/94 NOTES: A. All linear dimensions are in millimeters. B. This drawing is subject to change without notice. 6-16 ~':Ji"v':Ji'ya Dimensions Figure 6-11. 168-Pin Ceramic PGA Package Dimensions (TI486SXL) CPGA-168 PIN CERAMIC PIN GRID ARRAY -~--- 40,64 (1.60) TYP - - - - ~ i44.S(1.7S)TYPi S R Q @@~@@@@@@@@@@@~@@ p N M L @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ K J H G F E 0 0 4.0 (0.160)TYP ~~ 0,46 (0.018) TYP @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ c @@~@@@@@@@@@@@~@@ B A @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ rt H f ~ ffiHHHHHHl U n @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ 1 2 3 4 5 6 7 8 9 1011121314151617 1 ---.jj.-2,92 (0.115) TYP ~ 2,54 (0.100) TYP 7/94 NOTES: A. All linear dimensions are in millimeters (inches). B. This drawing is subject to change without notice. Mechanical Specifications 6-17 Thermal Characteristics 6.3 Thermal Characteristics The junction-to-ambient (typical) values vary for individual applications depending on factors relating to how the device is mounted and the surrounding environment such as: o Circuit trace density of the printed circuit board (PCB) and/or the presence or absence of ground or power planes internal to the PCB that affect the ability of the board to conduct heat away from the device o Whether the device is soldered to the PCB or is inserted into a socket o Orientation of the PCB that the device is mounted on and the proximity of adjacent PCBs or system enclosure features that impede natural convection air circulation around the device o Ambient air temperature in close proximity to the device and the proximity of other high-power devices in the system o Presence of airflow over the device and the attachment of an external heat sink as indicated by the data in Table 6-10 and Table 6-11 For the 1~O-pin and 144-pin QFPs, the values shown for thermal resistance in Table 6-10 and Table 6-12 with a heatsink are examples of the estimated improvement in thermal performance. Note: The final responsibility for verifying designs incorporating any version of a TI microprocessor rests with the customer originating the design. Recommended case temperature extremes are specified in Table 5-4, Table 5-5, and Table 5-6. Table 6-10. TI486SXLC 1DO-Pin PQFP Thermal Resistance and Airflow Thermal Resistance (OelW) TI486SXLC 100-Pin PGFP Without Heatsink Airflow (FtlMin) o With Heatsinkt RaJC RaJA RaJA 2 36 32 2 15 12 100 200 400 600 t 6-18 Round, omni-directional heatsink. Dimensions are approximately 1.125" diameter by 0.42" high. Thermal Characteristics Table 6-11. TI486SXL 132-Pin CPGA Thermal Resistance and Airflow Thermal Resistance (OCIW) TI486SXL 132-Pin CPGA t Airflow (FtiMin) t ReJC RSJA 0 3 20 100 3 17 200 3 15 400 3 11 600 3 9 Thermal resistance values shown are based on measurements made on similar ceramic PGA packages. Table 6-12. TI486SXL PQFP Thermal Resistance and Airflow Thermal Resistance caCIW) TI486SXL 144-Pin PQFP:j: Without Heatsink Airflow (FtiMin) o With Heatsink§ RSJC RSJA RSJA 2 25 18 2 12 6 100 200 400 600 :j: Values shown are based on measurements made on similar 28 mm QFP packages. § Pin-Fin heatsink. Dimensions are approximately 1.2" long, by 1.3" wide, by 0.49" high. Table 6-13. TI486SXL 144-Pin CQFP Thermal Resistance and Airflow Thermal Resistance (OCIW) TI486SXL 144-Pin CQFP1f Airflow (FtiMin) RSJC RSJA o 3 33 100 3 28 200 3 24 1f Thermal resistance values shown are based on measurements made on similar ceramic QFP packages. Mechanical Specifications 6-19 Thermal Characteristics Table 6-14. TI486SXL 168-Pin CPGA Thermal Resistance and Airflow Thermal Resistance eCIW) 168-Pin Ceramic PGA Package Airflow (FtlMin) RSJC RSJA 0 3 18 100 3 15 200 3 13 400 3 10 600 3 8 Thermal resistance values shown are based on measurements made on similar ceramic PGA packages. 6.3.1 Airflow Measurement Setup The wind tunnel used for airflow measurements is represented schematically in Figure 6-12. Figure 6-12. Wind Tunnel Schematic Diagram Device test board Temperature and anemometer-type airflow probe ~ > Airflow > ~ ~ I Wind tunnel cross-section is 6" by 6". (Dimensions are approximate.) ~ ~ 78 " ~ 5" II I I I ~I~ 24" Fan II I I I . p Typically, the devices undergoing thermal test are mounted on a test board consisting of 0.062" thick FR4 printed circuit board material with one-ounce copper etch. Surface-mount devices are soldered to the test board using matching footprints with minimal circuit trace density required to electrically interconnect the device to the board. PGA devices are typically inserted in a socket that is soldered to the test board. 6-20 Thermal Characteristics 6.3.2 Thermal Parameter Definitions The maximum die temperature (TJmax) and the maximum ambient temperature (TAmax) can be calculated using the following equations: Tjmax = TC + (P max x RSJC) TAmax = TJ - (P max x RSJA)) where: TJmax = Maximum average junction temperature (OC) TC = Case temperature at top center of package (OC) Pmax = Maximum device power dissipation (W) RSJC = Junction-to-case thermal resistance (OC/W) TAmax = Maximum ambient temperature (OC) TJ = Average junction temperature (OC) RSjA = Junction-to-ambient thermal resistance (OC/W) Values for RSJA and RSJC are given in Table 6-10 and Table 6-11 for various airflows. Mechanical Specifications 6-21 6-22 Chapter 7 Instruction Set This chapter provides information pertaining to the TI486SXL(C) microprocessor instruction set. Information is provided to explain the general instruction format, fields, flags, clock-count summary, and detailed information on the instruction encodings. All instructions are listed in the instruction set in Section 7.5, Instruction Set. Topic 7.1 Page Generallostructh;:m Format .. , ~ .••• , ......... , •.•••• , .. ~ .••••..• , ~ 7-2 7.2~ Instruction Fields, •.••. • d~:;', ••••• , •• " ••••, •• 7.3 Flags •• '," ••",.:~ . " ,',. ,,';' .; .. ", .. ,'. ,.,::.', '~ ,,", . ,,~ ',', ','. "". , • ~:; • , ~,~ • '. '. ~' .•",' •.' ~ ,.':7:-1'2 7.4 Clock..CountSuininary ..... " ~~, •. , . ~ •• ~~. ~ . ~ 7.5 Instruction Set. , .... "... ,.~, ........................ ,;, ......... 7-13 •.• ~ ......... ,7..13 7-1 General Instruction Format 7.1 General Instruction Format All of the TI486SXL(C) microprocessor family machine instructions follow the general instruction format shown in Figure 7-1. These instructions vary in length and can start at any byte address. An instruction consists of one or more bytes that can include: prefix byte(s), at least one opcode byte, mod rim byte, s-i-b (ss, index, and base fields) byte, address displacement byte(s) and immediate data byte(s). An instruction can be as short as one byte and as long as 15 bytes. If there are more than 15 bytes in the instruction, a general protection fault (error code of 0) is generated. Figure 7-1. General Instruction Format Ip p p p p p p PiT T T T T T TTl mod 7 07 I ss R R R rim I index base d321161al none id321161al none 0765320765320 optional prefix opcode byte(s) (one or two bytes) mod rim byte s-i-b byte address displacement / (4, 2, 1 bytes, V~-----', or none) ,'-------- register and address mode specifier P - prefix bit T - opcode bit R - opcode bit or reg bit 7-2 immediate data (4, 2, 1 bytes, or none) Instruction Fields 7.2 Instruction Fields The general instruction format shows the larger fields that make up an instruction. Certain instructions have smaller encoding fields that vary according to the class of operation. These fields define information such as the direction of the operation, the size of the displacements, register encoding and sign extension. All the fields are described in Table 7-1, and subsequent paragraphs provide greater detail. Table 7-1. Instruction Fields Field Name Description Number of Bits Prefix Specifies segment register override, address and operand size, repeat elements in string instruction, LOCK# assertion. 8 per byte Opcode Identifies instruction operation. 1 or 2 bytes w Specifies if data is byte or full size (full size is 16 or 32 bits). d Specifies direction of data operation. s Specifies if an immediate data field must be sign-extended. reg General register specifier 3 mod rim Address mode specifier 2 for mod; 3 for rim ss Scale factor for scaled index address mode 2 index General register to be used as index register 3 base General register to be used as base register 2 sreg2 Segment register for CS, SS, OS, and ES 2 sreg3 Segment register for CS, SS, OS, ES, FS, and GS 3 eee Control, debug, and test register specifier 3 Address displacement Address displacement operand 1, 2, or 4 bytes Immediate data Immediate data operand 1, 2, or 4 bytes Instruction Set 7-3 Instruction Fields 7.2.1 Prefixes Prefix bytes can be placed in front of any instruction. The prefix modifies the operation of the immediately following instruction only. When more than one prefix is used, the order is not important. There are five types of prefixes as follows: 1) Segment override explicitly specifies which segment register an instruction will use. 2) Address size and operand size toggle between 16- and 32-bit addressing modes. Prefixing the instruction for operand size or address size selects the inverse of the current addressing mode. See also Section 2.1 , Processor Initialization, page 2-2. 3) Repeat is used with a string instruction that causes the instruction to be repeated for each element of the string. 4) Lock is used to assert the hardware LOCK# signal during execution of the instruction. Table 7-2 lists the encodings for each of the available prefix bytes. The operand-size and address-size prefixes allow individual overriding of the default value for operand size and effective-address size. The presence of these prefixes selects the opposite (nondefault) operand size and/or effective-address size as the case may be. Table 7-2. Instruction Prefix Summary Prefix 7-4 Encoding Description ES: 26h Override segment default, use ES for memory operand. CS: 2Eh Override segment default, use CS for memory operand. SS: 36h Override segment default, use SS for memory operand. OS: 3Eh Override segment default, use OS for memory operand. FS: 64h Override segment default, use FS for memory operand. GS: 65h Override segment default, use GS for memory operand. Operand size 66h Make operand size attribute the inverse of the default. Address size 67h Make address size attribute the inverse of the default. LOCK FOh Assert LOCK# hardware signal. REPNE F2h Repeat the following string instruction. REP/REPE F3h Repeat the following string instruction. Instruction Fields 7.2.2 Opcode Field The opcode field is either one or two bytes long and specifies the operation to be performed by the instruction. Some operations have more than one opcode, each specifying a different form of the operation. Some opcodes name instruction groups. For example, opcode Ox80 names a group of operations that have an immediate operand, and a register or memory operand. The group opcodes use an opcode extension field of three bits in the following byte, called the MOD RIM byte, to resolve the operation type. Opcodes for the entire TI486SXL(C) microprocessor instruction set are listed in Table 7-17 on page 7-14. The opcodes are given in hex values unless shown within brackets ([ ]). Values shown in brackets are binary values. 7.2.3 vv Field The 1-bit field indicates the operand size during 16- and 32-bit data operations as shown in Table 7-3. Table 7-3. w Field Encoding w Field o Operand Size 16-Bit Data Operations Operand Size 32-Bit Data Operations 8 bits 8 bits 16 bits 32 bits Instruction Set 7-5 Instruction Fields 7.2.4 d Field The d field determines which operand is taken as the source operand and which operand is taken as the destination as shown in Table 7-4. Table 7-4. d Field Encoding d Field o Direction Of Operation Source Operand Designation Operand Register reg mod rim or mod ss-index-base mod rim or mod ss-index-base reg -7 Register/Memory Register/Memory 7.2.5 -7 Register reg Field The reg field determines which general registers are to be used. The selected register is dependent on whether 16- or 32-bit operation is current and the status of the "w" bit as shown in Table 7-5. Table 7-5. reg Field Encoding 7-6 reg Field 16-Bit Operation w Field Not Present 32-Bit Operation w Field Not Present 16-Bit Operation w=o 16-Bit Operation w=1 32-Bit Operation w=o 32-Bit Operation w=1 000 AX EAX AL AX AL EAX 001 CX ECX CL CX CL ECX 010 DX EDX DL DX DL EDX 011 BX EBX BL BX BL EBX 100 SP ESP AH SP AH ESP 101 BP EBP CH BP CH EBP 110 SI ESI DH SI DH ESI 111 DI EDI BH DI BH EDI Instruction Fields 7.2.6 mod and rIm Field The mod and rim sub-fields, within the mod rim byte, select the type of memory addressing to be used. Some instructions use a fixed addressing mode (e.g., PUSH or POP) and therefore, these fields are not present. Table 7-6 lists the addressing method when 16-bit addressing is used and a mod rim byte is present. Some mod rim field encodings are dependent on the w field and are shown in Table 7-7. Table 7-6. mod rim Field Encoding mod rIm 16-Bit Address Mode With mod rIm Byte 32-Bit Address Mode With mod rIm Byte And No s-i-b Byte Present 00000 DS:[BX+SI] DS:[EAX] 00001 DS:[BX+DI] DS:[ECX] 00010 SSS:[BP+SI] DS:[EDX] 00011 SS:[BP+DI] DS:[EBX] 00100 DS:[SI] s-i-b is present (see subsection 7.2.7) 00101 DS:[DI] DS:[d32] 00110 DS:[d16] DS:[ESI] 00 111 DS:[BX] DS:[EDI] 01 000 DS:[BX+SI+d8] DS:[EAX+d8] 01 001 DS:[BXI+DI+d8] DS:[EAX+d8] 01 010 SS:[BP+SI+d8] DS:[EDX+d8] 01 011 SS:[BP+DI+d8] DS:[EBX+d8] 01 100 DS:[SI+d8] s-i-b is present (see subsection 7.2.7) 01 101 DS:[DI+d8] SS:[EBP+d8] 01 110 SS:[BP+d8] DS:[ESI+d8] 01 111 DS:[BX+d8] DS:[EDI+d8] 10000 DS:[BX+SI+d16] DS:[EAX+d32] 10001 DS:[BX+DI+d16] DS:[ECX+d32] 10010 SS:[BP+SI+d16] DS:[EDX+d32] 10011 SS:[BP+DI+d16] DS:[EBX+d32] 10100 DS:[SI+d16] s-i-b is present (see subsection 7.2.7) 10101 DS:[DI+d16] SS:[EBP+d32] 10 110 SS:[BP+d16] DS:[ESI+d32] 10 111 DS:[BX+d16] DS:[EDI+d32] 11 000 11 111 See Table 7-7 See Table 7-7 Instruction Set 7-7 Instruction Fields Table 7-7. mod rim Field Encoding Dependent on 7-8 w Field mod rIm 16-Bit Operation w=o 16-Bit Operation w=1 32-Bit Operation w=o 32-Bit Operation w=1 11 000 AL AX AL EAX 11 001 CL CX CL ECX 11 010 OL OX OL EOX 11 011 BL BX BL EBX 11 100 AH 8P AH ESP 11 101 CH BP CH EBP 11 110 OH 81 OH E81 11 111 BH 01 BH EOI Instruction Fields 7.2.7 mod and base Fields In Table 7-6, the note "s-i-b present" (for certain entries) forces the use of the mod base field as listed in Table 7-8. Table 7-8. mod base Field Encoding mod rIm 32-Bit Address Mode With mod rIm Byte and No s-i-b Byte Present 00000 DS:[EAX+(scaled index)] 00001 DS:[ECX+(scaled index)] 00010 DS:[EDX+(scaled index)] 00011 DS:[EBX+(scaled index)] 00100 SS:[ESP+(scaled index)] 00101 DS:[EBP+(scaled index)] 00110 DS:[ESI+(scaled index)] 00 111 DS:[EDI+(scaled index)] 01 000 DS:[EAX+(scaled index)+d8] 01 001 DS:[ECX+(scaled index)+d8] 01 010 DS:[EDX+(scaled index)+d8] 01 011 DS:[EBX+(scaled index)+d8] 01 100 SS:[ESP+(scaled index)+d8] 01 101 SS:[EBP+(scaled index)+d8] 01 110 DS:[ESI+(scaled index)+d8] 01 111 DS:[EDI+(scaled index)+d8] 10000 DS:[EAX+(scaled index)+d32] 10001 DS:[ECX+(scaled index)+d32] 10010 DS:[EDX+(scaled index)+d32] 10011 DS:[EBX+(scaled index)+d32] 10100 SS:[ESP+(scaled index)+d32] 10101 SS:[EBP+(scaled index)+d32] 10 110 DS:[ESI+(scaled index)+d32] 10 111 DS:[EDI+(scaled index)+d32] Instruction Set 7-9 Instruction Fields 7.2.8 ss Field The ss field (Table 7-9) specifies the scale factor used in the offset mechanism for address calculation. The scale factor multiplies the index value to provide one of the components used to calculate the offset address. Table 7-9. ss Field Encoding 7.2.9 ss Field Scale Factor 00 x1 01 x2 10 x4 11 x8 index Field The index field (Table 7-10) specifies the index register used by the offset mechanism for offset-address calculation. When no index register is used (index field = 00), the ss value must be 00 or the effective address is undefined. Table 7-10. index Field Encoding index Field Index Register 000 EAX 001 ECX 010 EOX 011 EBX 100 none 101 EBP 110 ESI 111 EDI 7.2.10 sreg2 Field The sreg2 field (Table 7-11) is a two-bit field that allows one of the four 286-type segment registers to be specified. Table 7-11. sreg2 Field Encoding 7-10 sreg2 Field Segment Register Selected 00 ES 01 CS 10 SS 11 OS Instruction Fields 7.2.11 sreg3 Field The sreg3 field (Table 7-12) is three-bit field that is similar to the sreg2 field, but allows use of the FS and GS segment registers. Table 7-12.sreg3 Field Encoding sreg3 Field Segment Register Selected 000 ES 001 CS 010 SS 011 DS 100 FS 101 GS 110 undefined 111 undefined 7.2.12 eee Field The eee field is used to select the control, debug, and test registers as indicated in Table 7-13. The values shown are the only valid encodings for the eee bits. Table 7-13.eee Field Encoding eee Field Register Type Base Register 000 Control register CRO 010 Control register CR2 011 Control register CR3 000 Debug register DRO 001 Debug register DR1 010 Debug register DR2 011 Debug register DR3 110 Debug register DR6 111 Debug register DR? 011 Test register TR3 100 Test register TR4 101 Test register TR5 110 Test register TR6 111 Test register TR? Instruction Set ? -11 Flags 7.3 Flags The instruction set summary table lists nine flags that are affected by the execution of instructions. The conventions shown in Table 7-14 are used to identify the different flags. Table 7-15 lists the conventions used to indicate what action the instruction has on the particular flag. Table 7-14. Flag Abbreviations Abbreviation Name of Flag OF Overflow flag DF Direction flag IF Interrupt enable flag TF Trap flag SF Sign flag ZF Zero flag AF Auxiliary flag PF Parity flag CF Carry flag Table 7-15.Action of Instruction on Flag Instruction Table Symbol Action m Flag is modified by the instruction u Flag is not changed by the instruction o Flag is reset to 0 Flag is set to 1 7-12 Clock Count Summary / Instruction Set 7.4 Clock-Count Summary The clock-count summaries presented in Table 7-17 are based on assumptions associated with each individual instruction. Abbreviations that indicate the clock-count conditions have been developed to simplify the presentation. 7.4.1 Assumptions The following assumptions have been made in presenting the clock-count values for the individual instructions. o o o o o o o o 7.4.2 The instruction has been prefetched, decoded, and is ready for execution. Bus cycles do not require wait states. There are no local-bus HOLD requests delaying processor access to the bus. No exceptions are detected during instruction execution. If an effective address is calculated, it does not use two general register components. One register, scaling, and displacement can be used within the clock count shown. However, if the effective-address calculation uses two general register components, add 1 to the clock count shown. All clock counts assume aligned 16-bit memory/IO operands for cachemiss counts. If instructions access a misaligned 16-bit operand or a 32-bit operand on even addresses, add two clock counts for read or write, and add four clock counts for read and write. If instructions access a 32-bit operand on odd addresses, add four clock counts for read or write, and add eight clock counts for read and write. Abbreviations The clock counts listed in the instruction set summary table are grouped by operating mode and whether there is a register/cache hit or a cache miss. In some cases, more than one clock count is shown in a column for a given instruction, or a variable is used in the clock count. The abbreviations used for these conditions are listed in Table 7-16. Table 7-16. Clock-Count Abbreviations Clock-Count Symbol Explanation / Register operand/memory operand n Number of times operation is repeated L Level of the stack frame Conditional jump taken I conditional jump not taken CPL ~ IOPL \ CPL > IOPL 7.5 Instruction Set The TI486SXLC and TI486SXL instruction set is provided in Table 7-17. Instruction name, encoding, flags that are affected, and instruction clock counts for each instruction are shown. The clock-count values are based on the assumptions described in subsection 7.4.1. Instruction Set 7-13 ~ ...... s2" Table 7-17. Instruction Set CI) ~ Real-Mode Clocks Flags Instruction Opcode AAA ASCII Adjust AL after Add 37 P F C F Reg! Cache Hit m u m 5 5 m u m u 4 4 m u m u 17 17 5 5 1 3 3 1/3 1 5 5 5 1 3 3 1/3 1 5 5 5 1 3 3 1/3 1 5 5 5 1 3 3 1/3 1 5 5 5 6/10 10 0 0 S F F Z F A F I F T F u u u u u u F AAD ASCII Adjust AX before Divide D50A u u u u m AAM ASCII Adjust AX after Multiply D40A u u u u m AAS ASCII Adjust AL after Subtract 3F u u u u u u m u m m u u u m m m m m ADC Add with Carry Register to Register Register to Memory Memory to Register Immediate to RegisterlMemory Immediate to Accumulator ADD Integer Add Register to Register Register to Memory Memory to Register Immediate to RegisterlMemory Immediate to Accumulator 1 [OOdw] [11 reg rim] 1 [OOOw] [mod reg rim] 1 [001 w] [mod reg rim] 8 [OOsw] [mod 010 r/m]t 1 [010w]t o [OOdw] [11 reg rim] o [OOOw] [mod reg rim] o [001w] [mod reg rim] u u m m m m 1 3 3 1/3 1 ARPL Adjust Requested Privilege Level From RegisterlMemory 63 [mod reg rim] 0 u u u m m u m 1 3 3 1/3 1 62 [mod reg rim] u u u u u u u u u m u u u u u u u u u u m u u Real Mode Protected Mode 1 2 1 2 1 2 3 2 1,4 2,5,6,7,8 1 2 5 5 5 u 11 +int 11 u 5/7+n g" Notes 5 5 5 u 11 +int 11 OF BC[mod reg rim] Cache Miss 0 [OOdw] [11 reg rim] [OOOw] [mod reg rim] [001 w] [mod reg rim] [OOsw] [mod 100 r/m]t [010w]t u Regl Cache Hit m 8 [OOsw] [mod 000 r/m]t 2 2 2 8 2 BSF Scan Bit Forward RegisterlMemory, Register u o [010w]t AND Boolean AND Register to Register Register to Memory Memory to Register Immediate to RegisterlMemory Immediate to Accumulator BOUND Check Array Boundaries If Out of range (Int 5) If In Range m Cache Miss () Protected-Mode Clocks 9+n 5/7+n 9+n ~ Table 7-17. Instruction Set (Continued) Real-Mode Clocks Flags D F I F T F S F Z F F A F P F C F u u u u u m u u u 0 Instruction Opcode BSR Scan Bit Reverse Register/Memory, Register OF BC[mod reg rim] BSWAP Byte Swap OF C[1 reg] BT Test Bit Register/Memory, Immediate Register/Memory, Register OF BA[mod 100 r/mlt OF A3[mod reg rim] BTC Test Bit and Complement Register/Memory, Immediate Register/Memory, Register OF BA[mod 111 r/m]t OF BB[mod reg rim] BTR Test Bit and Reset Register/Memory, Immediate Register/Memory, Register OF BA[mod 110 r/m]t OF B3[mod reg rim] s- CI) St ~ 5"' ::::, ~ u u u u u u u u u u u u u u u m u u u BTS Test Bit and Set Register/Memory R~ister ~hort ~rm) u u - - - OF BA[mod 101 rim] _L-0F AB[rl'l0d reg rim] u u u u u u u u u u u u u u u u u u u u u Reg! Cache Hit 5/7+n Protected-Mode Clocks Cache Miss Reg! Cache Hit Cache Miss 9+n 5/7+n 9+n 5 Notes Real Mode Protected Mode 1 2 1 2 1 2 1 2 1 2 5 3/4 3/6 5 7 3/4 3/6 5 7 4/5 5/8 6 9 4/5 5/8 6 9 4/5 5/8 6 9 4/5 5/8 6 9 4/5 5/8 6 9 4/5 5/8 6 9 m m m t = immediate data ::J: = 8-bit displacement § = 16-bit displacement ~ = 32-bit displacement m = Flag modified u = Flag unchanged 1) Exception 13 fault (general protection) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum CS, OS, ES, FS, or GS segment Notes: limit (FFFFh). Exception 12 fault (stack segment limit violation or not present) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum SS limit. 2) Exception 13 fault occurs if the memory operand in CS, OS, ES, FS, or GS cannot be used due to either a segment limit violation or an access rights violation. If a stack limit is violated, an exception 12 occurs. 3) This is a protected mode instruction. Attempted execution in real mode will result in exception 6 (invalid opcode). 4) An exception may occur, depending on the value of the operand. 5) LOCK# is asserted during descriptor table accesses. 6) All segment descriptor accesses in the GOT or LOT made by this instruction automatically asserts LOCK# to maintain descriptor integrity in multiprocessor systems. 7) JMP, CALL, INT, RET, and IRET instructions referring to another code segment causes an exception 13, if an applicable privilege rule is violated. 8) The destination of a JMP, CALL, INT, RET, or IRET must be in the defined limit of a code segment or an exception 13 fault occurs. s- CI) ~ 01 St ~ 5"' ::::, ~ ~ ..... ~ Table 7-17. Instruction Set (Continued) cr> Real-Mode Clocks Flags D F I F T F 5 Z F F F A F P F C F u u u u u u u u u 0 Instruction Opcode CALL Subroutine Call Direct within Segment Register/Memory Indirect within Segment E811 FF [mod 010 rim] Reg! Cache Hit Cache Miss 7 8/9 10 Reg! Cache Hit 7 8/9 10 30 41 83 81+4x 262 293 179 238 296 182 49 97 95+4x 263 317 206 258 340 229 14 43 85 86+4x 267 298 181 243 301 184 34 51 99 100+4x 268 322 211 263 345 230 Direct Intersegment Call Gate to Same Privilege Call Gate to Different Privilege No Parameters Call Gate to Different Privilege Parameters 16-Bit Task to 16-bit TSS 16-Bit Task to 32-bit TSS 16-Bit Task to V86 Task 32-Bit Task to 16-bit TSS 32-Bit Task to 32-bit TSS 32-Bit Task to V86 Task 9A [unsigned full offset, selector] 12 Indirect Intersegment Call Gate to Same Privilege Call Gate to Different Privilege No Parameters Call Gate to Different Privilege Parameters 16-Bit Task to 16-bit TSS 16-Bit Task to 32-bit TSS 16-Bit Task to V86 Task 32-Bit Task to 16-bit TSS 32-Bit Task to 32-bit TSS 32-Bit Task to V86 Task FF [mod 011 rim] 14 CBW Convert Byte to Word 98 u u u u u u u u u 3 3 CDa Convert Doubleword to Quadword 99 u u u u u u u u u 1 2 CLC Clear Carry Flag F8 u u u u u u u u 0 1 1 17 CLD Clear Direction Flag FC u 0 u u u u u u u 1 1 CLI Clear Interrupt Flag FA u u 0 u u u u u u 5 5 CLTS Clear Task Switched Flag OF06 u u u u u u u u u 4 4 CMC Complement the Carry Flag F5 u u u u u u u u m 1 1 CMP Compare Integers Register to Register Register to Memory Memory to Register Immediate to Register/Memory Immediate to Accumulator m u u u m m m m m 3 3 3 8 3 1 3 3 1/3 1 1 3 3 1/3 1 [10dw] [11 reg rim] [101 w] [mod reg rim] [100w] [mod reg rim] [OOsw] [mod 111 r/m]t [110w]t - - - - '--- ~- - -- "----- -- - 5 5 5 Cache Miss 2 g: C) Protected-Mode Clocks Notes :J Real Mode Protected Mode 1 2,6,7,8 9 5 5 5 10 11 1 2 ~ Table 7-17. Instruction Set (Continued) Real-Mode Clocks Flags 0 D F I F T F S F Z F A F P F Protected-Mode Clocks C F Regl Cache Hit Cache Miss Regl Cache Hit Cache Miss Real Mode Protected Mode 8 9 8 9 1 2 5 7 8 5 7 8 1 2 1,4 2,4 1 2 Instruction Opcode F CMPS Compare String A [011w] m u u u m m m m m m u u u m m m m m CMPXCHG Compare and Exchange Register1, Register2 Memory, Register OF B[OOOw] [11 reg2 reg1] OF B[OOOw] [mod reg rim] CWD Convert Word to Doubleword 99 u u u u u u u u u 1 2 CWDE Convert Word to Doubleword Extended 98 u u u u u u u u u 3 3 DAA Decimal Adjust AL after Add 27 u u u u m m m m m 4 4 DAS Decimal Adjust AL after Subtract 2F u u u u m m m m m 4 4 m u u u m m m m u DEC Decrement by 1 Register/Memory Register (short form) 1/3 1 F [111w] [mod 001 rim] 4 [1 reg] DIV Unsigned Divide Accumulator by Register/Memory Divisor: Byte Word Doubleword F [011w] [mod 110 rim] ENTER Enter New Stack Frame Level = 0 Level = 1 Level (L) > 1 C8 [8-bit level]§ HLT Halt F4 u u u u u u u u u u u u u u u u u u u u u u 1/3 1 5 17 24 40 13/15 21/22 38/39 10 6+4*L 7 10 6+4*L 17 24 40 u 7 10 6+4*L u 5 u 13/15 21/22 38/39 u Notes u 3 3 10 6+4*L 11 t = s- (I) St ?5 8". ::J fi? -.. -;--J ...... -.....J immediate data :I: = 8-bit displacement § = 16-bit displacement ~ = 32-bit displacement m = Flag modified u = Flag unchanged Notes: 1) Exception 13 fault (general protection) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum CS, DS, ES, FS, or GS segment limit (FFFFh). Exception 12 fault (stack segment limit violation or not present) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum SS limit. 2) Exception 13 fault occurs if the memory operand in CS, DS, ES, FS, or GS cannot be used due to either a segment limit violation or an access rights violation. If a stack limit is violated, an exception 12 occurs. 3) This is a protected mode instruction. Attempted execution in real mode will result in exception 6 (invalid opcode). 4) An exception may occur, depending on the value of the operand. 5) LOCK# is asserted during descriptor table accesses. 6) All segment descriptor accesses in the GDT or LDT made by this instruction automatically asserts LOCK# to maintain descriptor integrity in multiprocessor systems. 7) JMP, CALL, INT, RET, and IRET instructions referring to another code segment causes an exception 13, if an applicable privilege rule is violated. 8) The destination of a JMP, CALL, INT, RET, or IRET must be in the defined limit of a code segment or an exception 13 fault occurs. 9) An exception 13 fault occurs if CPL is greater than IOPL . 1O)This instruction may be executed in real mode. In real mode, its purpose is primarily to initialize the CPU for protected mode. 11) An exception 13 fault occurs if CPL is greater than 0 (0 is the most privileged level). s(I) ~ ?5 8". ::J ~ ~ Table 7-17. Instruction Set (Continued) :J (I) ~ (Xl Real-Mode Clocks Flags D F I F T F S F Z F F A F P F C F u u u u u u u u u 0 Instruction IDIV Integer (Signed) Divide Accumulator by Register/Memory Divisor: Byte Word Doubleword IMUL Integer (Signed) Multiply Accumulator by Register/Memory Multiplier: Byte Word Doubleword Register with Register/Memory Multiplier: Byte Word Doubleword Register/Memory with Immediate to Register2 Multiplier: Byte Word Doubleword Opcode Cache Miss Regl Cache Hit Cache Miss Notes Real Mode Protected Mode 1,4 2,4 1 2 F [011 w][mod 111 rim] 14/15 23/24 40/41 m u u u u u u u 18 25 44 14/15 23/24 40/41 18 25 44 m F [011 w] [mod 101 rim] 3/5 3/5 7/9 7 7 13 3/5 3/5 7/9 7 7 13 3/5 3/5 7/9 7 7 13 3/5 3/5 7/9 7 7 13 3/5 3/5 7/9 7 7 13 3/5 3/5 7/9 7 7 13 16 16 16 16 16 16 17 17 1/3 1 5 1/3 1 5 20 20 14/20 6/21 OF AF[mod reg rim] 6 [1 Os1] [mod reg r/m]t IN Input from 110 Port Fixed Port Variable Port E [01 Ow] [port number] E [110w] INC Increment by 1 Register/Memory Register (short from) F [111w] [mod 000 rim] 4 [0 reg] INS Input String from 110 Port 6 [110w] INT Software Interrupt INTi Protected Mode: Interrupt or Trap to Same Privilege Interrupt or Trap to Different Privilege 16-Bit Task to 16-bit TSS by Task Gate 16-Bit Task to 32-bit TSS by Task Gate 16-Bit Task to V86 Task by Task Gate 32-Bit Task to 16-bit TSS by Task Gate 32-Bit Task to 32-bit TSS by Task Gate 32-Bit Task to V86 Task by Task Gate V86 to 16-bit TSS by Task Gate V86 to 32-bit TSS by Task Gate V86 to Privilege 0 by Trap Gate/lnt Gate Reg! Cache Hit ~ Protected-Mode Clocks u m CD[i] u u u u u u u m u m u m u m 9 u 1 u u u u u u u u u u u m 0 u u u u u u 14 16 57 91 265 296 177 241 299 180 241 299 106 58 92 266 320 205 261 343 232 261 343 114 2 1 2,9 1,4 5,6,7,8 g" :J ~ Table 7-17. Instruction Set (Continued) Real-Mode Clocks Flags Instruction Opcode INT Software Interrupt (Continued) INT3 CC 0 D T F Z F I F S F F F A F P F C F u m 0 u u u u u u Reg! Cache Hit Cache Miss 14 16 Protected Mode: Interrupt or Trap to Same Privilege Interrupt or Trap to Different Privilege 16-Bit Task to 16-bit TSS by Task Gate 16-Bit Task to 32-bit TSS by Task Gate 16-Bit Task to V86 by Task Gate 32-Bit Task to 16-bit TSS by Task Gate 32-Bit Task to 32-bit TSS by Task Gate 32-Bit Task to V86 by Task Gate V86 to 16-bit TSS by Task Gate V86 to 32-bit TSS by Task Gate V86 to Privilege 0 by Trap Gate/lnt Gate INTO If OF == 0 If OF == 1 (INT4) s- CI) ==t ~ g. :::, ~ ..... ~ CD Protected Mode: Interrupt or Trap to Same Privilege Interrupt or Trap to Different Privilege 16-Bit Task to 16-bit TSS by Task Gate 16-Bit Task to 32-bit TSS by Task Gate 16-Bit Task to V86 by Task Gate 32-Bit Task to 16-bit TSS by Task Gate 32-Bit Task to 32-bit TSS by Task Gate 32-Bit Task to V86 by Task Gate V86 to 16-bit TSS by Task Gate V86 to 32-bit TSS by Task Gate V86 to Privilege 0 by Trap Gate/lnt Gate t = CE u u m 0 u u u u Protected-Mode Clocks Reg! Cache Hit Cache Miss 57 91 265 296 177 241 299 180 241 299 106 58 92 266 320 205 261 343 232 261 343 114 1 1 57 91 265 296 177 241 299 180 241 299 106 58 92 266 320 205 261 Notes Real Mode Protected Mode 1,4 5,6,7,8 u 1 15 1 17 343 232 261 343 114 :j: = 8-bit displacement § = 16-bit displacement ~ = 32-bit displacement m = Flag modified u = Flag unchanged 1) Exception 13 fault (general protection) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum CS, OS, ES, FS, or GS segment limit (FFFFh). Exception 12 fault (stack segment limit violation or not present) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum SS limit. 2) Exception 13 fault occurs if the memory operand in CS, OS, ES, FS, or GS cannot be used due to either a segment limit violation or an access rights violation. If a stack limit is violated, an exception 12 occurs. 3) This is a protected mode instruction. Attempted execution in real mode will result in exception 6 (invalid opcode). 4) An exception may occur, depending on the value of the operand. 5) LOCK# is asserted during descriptor table accesses. 6) All segment descriptor accesses in the GOT or LOT made by this instruction automatically asserts LOCK# to maintain descriptor integrity in multiprocessor systems. 7) JMP, CALL, INT, RET, and IRET instructions referring to another code segment causes an exception 13, if an applicable privilege rule is violated. 8) The destination of a JMP, CALL, INT, RET, or IRET must be in the defined limit of a code segment or an exception 13 fault occurs. 9) An exception 13 fault occurs if CPL is greater than IOPL. immediate data Notes: s- CI) ==t ~ g. :::, ~ --..J N Table 7-17. Instruction Set (Continued) ~ o ~ Real-Mode Clocks Flags 0 Instruction Opcode INVD Invalidate Cache OF08 F C F Regl Cache Hit u u u 7 7 u u u 5 5 I F T F S Z A P F 0 F F F F u u u u u u u u u u u INVLPG Invalidate TLB Entry OF 01 [mod 111 rim] u IRET Interrupt Return CF m m m m m m m m m Real Mode Protected Mode Within Task to Same Privilege Within Task to Different Privilege 16-Bit Task to 16-bit TSS 16-Bit Task to 32-bit TSS 16-Bit Task to V86 Task 32-Bit Task to 16-bit TSS 32-Bit Task to 32-bit TSS 32-Bit Task to V86 Task u u u u u u u u u 72:1= OF 8211 u 8-Bit displacement Full displacement 76:1= OF 8611 JCXZ Jump on CX Zero E3:1= JElJZ Jump on Equal/Zero 8-Bit displacement Full displacement 74:1= OF 8411 JECXZ Jump on ECX Zero E3:1= JUJNGE Jump on Less/Not Greater or Equal 7C:I= OF 8ClI u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u Real Mode Protected Mode 17 37 78 260 314 203 255 339 226 8 411 512 411 613 411 512 411 613 713 713 411 512 411 613 713 713 411 512 411 613 u u CJ) Cache Miss 14 16 35 74 259 290 173 235 295 176 JBElJNA Jump on Below or Equal/Not Above 8-Bit displacement Full displacement Reg! Cache Hit 5"" ~ Notes 2,5,6,7,8 14 JB/JNAElJC Jump on Below/Not Above or EquaVCarry 8-Bit displacement Full displacement Cache Miss ~ Protected-Mode Clocks 8 8 8 8 8 ~ Table 7-17. Instruction Set (Continued) Real-Mode Clocks Flags Instruction Opcode JLElJNG Jump on Less or Equal/Not Greater 8-Bit displacement Full displacement 7E:j: OF 8ElI JMP Unconditional Jump Short Direct within Segment RegisterlMemory Indirect within Segment Direct Intersegment Call Gate Same Privilege Level 16-Bit Task to 16-bit TSS 16-Bit Task to 32-bit TSS 16-Bit Task to V86 Task 32-Bit Task to 16-bit TSS 32-Bit Task to 32-bit TSS 32-Bit Task to V86 Task Indirect Intersegment Call Gate Same Privilege Level 16-Bit Task to 16-bit TSS 16-Bit Task to 32-bit TSS 16-Bit Task to V86 Task 32-Bit Task to 16-bit TSS 32-Bit Task to 32-bit TSS 32-Bit Task to V86 Task s- CI) 2 C) 5"' ::J ~ -....J ~ JNB!JAElJNC Jump on Not Below/ AbbveorEquaVNotCaffY 8-Bit displacement Full displacement 0 0 S Z A F I F T F F F F F P F C F u u u u u u u u u u u u u u u u u FF [mod 101 rim] 411 613 4 5 4 6 u u u u u u Real Mode 1 13 u Cache Miss Notes Protected Mode 8 411 512 7/8 9 u Cache Miss Reg! Cache Hit u EB:j: E911 FF [mod 100 rim] EA [full offset, selector] 73:j: OF 8311 Reg! Cache Hit Protected-Mode Clocks 10 14 8/9 10 27 45 265 296 182 241 299 185 45 266 320 209 261 343 232 39 47 270 301 184 246 304 187 39 47 271 325 214 268 348 237 u 2,6,7,8 8 411 512 411 613 t = immediate data :j: = 8-bit displacement § = 16-bit displacement 11 = 32-bit displacement m = Flag modified u = Flag unchanged Notes: 1) Exception 13 fault (general protection) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum CS, DS, ES, FS, or GS segment limit (FFFFh). Exception 12 fault (stack segment limit violation or not present) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum SS limit. 2) Exception 13 fault occurs if the memory operand in CS, DS, ES, FS, or GS cannot be used due to either a segment limit violation or an access rights violation. If a stack limit is violated, an exception 12 occurs. 3) This is a protected mode instruction. Attempted execution in real mode will result in exception 6 (invalid opcode). 4) An exception may occur, depending on the value of the operand. 5) LOCK# is asserted during descriptor table accesses. 6) All segment descriptor accesses in the GDT or LDT made by this instruction automatically asserts LOCK# to maintain descriptor integrity in multiprocessor systems. 7) JMP, CALL, INT, RET, and IRET instructions referring to another code segment causes an exception 13, if an applicable privilege rule is violated. 8) The destination of a JMP, CALL, INT, RET, or IRET must be in the defined limit of a code segment or an exception 13 fault occurs. s- CI) ~ ~ 5"' ::J ~ --...J N ~ Table 7-17. Instruction Set (Continued) ==t I\:) Real-Mode Clocks Flags F 0 F I F T F S F Z F A F P F C F u u u u u u u u u 0 Instruction Opcode JNBElJA Jump on Not Below or Equal/Above 8-Bit displacement Full displacement 77:\: OF 8711 JNElJNZ Jump on Not Equal/Not Zero 8-Bit Displacement Full Displacement 75:\: OF 8511 JNUJGE Jump on Not Less/Greater or Equal 8-Bit displacement Full displacement 7D:\: OF 8011 JNLElJG Jump on Not Less or Equal/Greater 8-Bit displacement Full displacement 7F:\: OF 8FlI JNO Jump on Not Overflow 8-Bit displacement Full displacement 71:\: OF 8111 JNP/JPO Jump on Not Parity/Parity Odd 8-Bit displacement Full displacement 7B:\: OF 8BlI JNS Jump on Not Sign 8-Bit displacement Full displacement 79:\: OF 8911 JO Jump on Overflow 8-Bit displacement Full displacement 70:\: OF 8011 JP/JPE Jump on Parity/Parity Even 8-Bit displacement Full displacement 7A:\: OF 8AlI JS Jump on Sign 8-Bit displacement Full displacement 78:\: OF 8811 LAHF Load AH with Flags 9F u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u Regl Cache Hit Cache Miss Protected-Mode Clocks Reg! Cache Hit Cache Miss Real Mode Protected Mode 8 411 512 411 613 411 512 411 613 411 512 411 613 411 512 411 613 411 512 411 613 411 512 411 613 411 512 411 613 411 512 411 613 411 512 411 613 411 512 411 613 2 2 u 8 8 u 8 u 8 u 8 u 8 u 8 u 8 u 8 u u a-:::s~ Notes - -- - - ~ Table 7-17. Instruction Set (Continued) Real-Mode Clocks Flags 0 s- ~ g: ::, ~ -....J r\) w I F T F S F Z F A F P F C F u u u u u m u u u Cache Miss Cache Miss 11/12 14 19 Notes Real Mode Protected Mode 3 2,5,6,12 22 1 2,6,13 Opcode LAR Load Access Rights From RegisterlMemory OF 02[mod reg rim] LDS Load Pointer to OS C5 [mod reg rim] u u u u u u u u u LEA Load Effective Address No Index Register With Index Register 80 [mod reg rim] u u u u u u u u u LEAVE Leave Current Stack Frame C9 u u u u u u u u u 5 6 5 6 1 2 LES Load Pointer to ES C4 [mod reg rim] u u u u u u u u u 7 8 20 21 1 2,6,13 LFS Load Pointer to FS OF B4[mod reg rim] u u u u u u u u u 7 8 20 21 1 2,6,13 LGDT Load GOT Register OF 01 [mod 010 rim] u u u u u u u u u 9 9 9 9 1,10 2,11 LGS Load Pointer to GS OF B5[mod reg rim] u u u u u u u u u 7 8 7 8 1 2,6,13 LIDT Load !DT Register OF 01 [mod 011 rim] u u u u u u u u u 11 11 11 11 1,10 2,11 u u u u u u u u u 3 2,5,6,11 u u u u u u u u u 1,10 2,11 6 7 2 3 2 3 OF OO[mod 010 rim] LMSW Load Machine Status Word From RegisterlMemory OF 01 [mod 110 rim] LODS Load String A [110w] LOOP Offset Loop/No Loop E2:t t = ~ D F Reg! Cache Hit Instruction LLDT Load LOT Register From RegisterlMemory CI) F Reg! Cache Hit Protected-Mode Clocks + u ---- -_. --- u u u u L- - u _~ u u u u _L.....- u u u u u L....--.l- u u u 16/17 18 5 8 5 8 6 6 6 6 ~.~ _ ~------L- __ 1 ~ 2 - - 8 - immediate data = 8-bit displacement § = 16-bit displacement 11 = 32-bit displacement m = Flag modified u = Flag unchanged Notes: 1) Exception 13 fault (general protection) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum CS, OS, ES, FS, or GS segment limit (FFFFh). Exception 12 fault (stack segment limit violation or not present) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum SS limit. 2) Exception 13 fault occurs if the memory operand in CS, OS, ES, FS, or GS cannot be used due to either a segment limit violation or an access rights violation. If a stack limit is violated, an exception 12 occurs. 3) This is a protected mode instruction. Attempted execution in real mode will result in exception 6 (invalid opcode). 4) An exception may occur, depending on the value of the operand. 5) LOCK# is asserted during descriptor table accesses. 6) All segment descriptor accesses in the GOT or LOT made by this instruction automatically asserts LOCK# to maintain descriptor integrity in multiprocessor systems. 7) JMP, CALL, INT, RET, and IRET instructions referring to another code segment causes an exception 13, if an applicable privilege rule is violated. 8) The destination of a JMP, CALL, INT, RET, or IRET must be in the defined limit of a code segment or an exception 13 fault occurs. 9) An exception 13 fault occurs if CPL is greater than IOPL. 10)This instruction may be executed in real mode. In real mode, its purpose is primarily to initialize the CPU for protected mode. 11) An exception 13 fault occurs if CPL is greater than 0 (0 is the most privileged level). 12)Any violation of privilege rules as apply to the selector operand does not cause a Protection exception, rather, the zero flag is cleared. 13) For segment load operations, the CPL, RPL, and OPL must agree with the privolege rules to avoid an exception 13 fault. The segment's descriptor must indicate present or exception 11 occurs (OS, OS, ES, FS, GS not present). If the SS register is loaded and a stack segment not present is detected, an exception 12 occurs. s- CI) ~ ~ g. ::, ~ -....J N s- Table 7-17. Instruction Set (Continued) CI) ::t ~ Real-Mode Clocks Flags F D F I F T F S F Z F A F P F C F Reg! Cache Hit u u u u 814 914 814 914 0 Instruction Opcode LOOPNZlLOOPNE Offset EO:f: u u u u u LOOPZlLOOPE Offset E1:f: u u u u u u u u u u u u u u m u u u LSL Load Segment Limit From Register/Memory OF 03[mod reg rim] LSS Load Pointer to SS OF B2[mod reg rim] u u u u u u u u u LTR Load Task Register From Register/Memory OF OO[mod reg rim] u u u u u u u u u MOV Move Data Register to Register/Memory Register/Memory to Register Immediate to Register/Memory Immediate to Register (short form) Memory to Accumulator (short form) Accumulator to Memory (short form) Register/Memory to Segment Register Segment Register to Register/Memory 8 [11 Ow] [mod reg rim] 8 [1 01w] [mod reg rim] C [011 w] [mod 000 r/m]t . B [w reg]t A [OOOw]~ A [001w]~ 8E [mod sreg3 rim] 8C [mod reg rim] MOV Move to/from Control/DebuglTest Registers Register to CRO/CR2/CR3 CRO/CR2/CR3 to Register Register to DRO-DR3 DRO-DR3 to Register Register to DR6-DR7 DR6-DR7 to Register Register to TR3-5 TR3-5 to Register Register to TR6-TR7 TR6-TR7 to Register OF 22[11 OF 20[11 OF 23[11 OF 21 [11 OF 23[11 OF 21 [11 OF 26[11 OF 24[11 OF 26[11 OF 24[11 MOVS Move String A [01 Ow] MOVSX Move with Sign Extension Register from Register/Memory OF B[111w] [mod reg rim] MOVZX Move with Zero Extension Register from Register/Memory OF 8[011 w] [mod reg rim] u u u u u u u u u u u u u u 8 2 4 2 4 2 5 3 u u u u u u u u u u u u u u u u u u u u u u u u Real Mode ~ Protected Mode 8 8 14/15 17 19 20 16/17 18 1/2 1/2 1/2 1 2 2 15/16 1/3 2 4 2 3 2,5,6,12 3 2,6,13 3 2,5,6,11 1 2,6,13 4 2 18 3 c 11 14/3/3 2/3/3 10 9 10 9 10 11 8 9 u Cache Miss 5" ::J Notes u reg] reg] reg] reg] reg] reg] reg] reg] reg] reg] u Reg! Cache Hit u 1/2 1/2 1/2 1 2 2 2/3 1/3 u eee eee eee eee eee eee eee eee eee eee u 7 Cache Miss ~ Protected-Mode Clocks 14/3/3 2/3/3 10 9 10 9 10 11 8 9 5 5 5 5 2/3 5 2/3 5 2/3 5 2/3 5 u 1 2 1 2 1 2 Table 7-17. Instruction Set (Continued) Real-Mode Clocks Flags s- ~ 2"' :J ~ '-J N 01 I F T F S F Z F A F F P F C F m u u u u u u u m Opcode MUL Unsigned Multiply Accumulator with RegisterlMemory Multiplier: Byte Word Ooubleword F [011w] [mod 100 rim] NEG Negate Integer F [011w][mod 011 rim] m u u u m m m m NOP No Operation 90 u u u u u u u NOT Boolean Complement F [011 w] [mod 010 rim] u u u u u u 0 u u u m m OR Boolean OR Register to Register Register to Memory Memory to Register Immediate to RegisterlMemory Immediate to Accumulator 0[10dw][11 reg rim] o [1 OOw] [mod reg rim] o [101 w] [mod reg rim] 8 [OOOw] [mod 001 r/m]t o [110w]t OUT Output to Port Fixed Port Variable Port E [011 w] [port number] E [111w] OUTS Output String ~ D F Instruction t = (I) 0 u * - - _~J111w] u u u u u u u u u u u Regl Cache Hit 3/5 3/5 10/9 m 1/3 u u 1 u u u 1/3 m m 0 u u u u 1 3 3 1/3 1 Cache Miss 7 7 Protected-Mode Clocks Reg! Cache Hit Cache Miss Notes Real Mode Protected Mode 1 2 1 2 1 2 1 2 7 7 14 3/5 3/5 10/9 14 5 1/3 5 1 5 1/3 5 5 5 5 1 3 3 1/3 1 5 5 5 18 18 18 18 14\34 14\34 14\35 14\35 20 20 14\34 14\34 u u 9 1 2,9 immediate data = 8-bit displacement § = 16-bit displacement ~ = 32-bit displacement m = Flag modified u = Flag unchanged Notes: 1) Exception 13 fault (general protection) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum CS, OS, ES, FS, or GS segment limit (FFFFh). Exception 12 fault (stack segment limit violation or not present) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum SS limit. 2) Exception 13 fault occurs if the memory operand in CS, OS, ES, FS, or GS cannot be used due to either a segment limit violation or an access rights violation. If a stack limit is violated, an exception 12 occurs. 3) This is a protected mode instruction. Attempted execution in real mode will result in exception 6 (invalid opcode). 4) An exception may occur, depending on the value of the operand. 5) LOCK# is asserted during descriptor table accesses. 6) All segment descriptor accesses in the GOT or LOT made by this instruction automatically asserts LOCK# to maintain descriptor integrity in multiprocessor systems. 7) JMP, CALL, INT, RET, and IRET instructions referring to another code segment causes an exception 13, if an applicable privilege rule is violated. 8) The destination of a JMP, CALL, INT, RET, or IRET must be in the defined limit of a code segment or an exception 13 fault occurs. 9) An exception 13 fault occurs if CPL is greater than IOPL. 10) This instruction may be executed in real mode. In real mode, its purpose is primarily to initialize the CPU for protected mode. 11 )An exception 13 fault occurs if CPL is greater than 0 (0 is the most privileged level). 12)Any violation of privilege rules as apply to the selector operand does not cause a Protection exception, rather, the zero flag is cleared. 13) For segment load operations, the CPL, RPL, and OPL must agree with the privolege rules to avoid an exception 13 fault. The segment's descriptor must indicate present or exception 11 occurs (OS, OS, ES, FS, GS not present). If the SS register is loaded and a stack segment not present is detected, an exception 12 occurs. s- (I) ~ ?5 2"' :J ~ "'..J '" s- Table 7-17. Instruction Set (Continued) CI) ::;- 0'> Real-Mode Clocks Flags Instruction Opcode POP Pop Value off Stack Register/Memory Register (short form) Segment Register (ES, CS, SS, DS) Segment Register (ES, CS, SS, DS, FS, GS) 8F [mod 000 rim] 5 [1 reg] [000 sreg2 110] OF [10 sreg3 001] POPA Pop All General Registers 61 POPF Pop Stack into Flags 9D 0 0 F u Z F S F u u T F I F u u F A F P F C F u u u u ~ Protected-Mode Clocks Reg! Cache Hit Cache Miss Regl Cache Hit Cache Miss 3/5 3 8 8 4/5 4 9 9 3/5 3 8 8 4/5 4 9 9 5::::J Notes Real Mode Protected Mode 1 2,6,13 u u u u u u u u u 18 18 18 18 1 2 4 5 4 5 1 2,14 m m m m m m m m m ,. u u u u u u u u u u u u u u u u u u PREFIX BYTES Assert Hardware LOCK Prefix Address Size Prefix Operand Size Prefix Segment Override Prefix: CS DS ES FS GS SS 2E 3E 26 64 65 36 PUSH Push Value onto Stack Register/Memory Register (short form) Segment Register (ES, CS, SS, DS) Segment Register (ES, CS, SS, DS, FS, GS) Immediate FF [mod 110 rim] 5 [0 reg] [000 sreg2 11 0] OF [10 sreg3 000] 6 [10s0]t PUSHA Push All General Registers 60 u u u u u u u u PUSHF Push Flags Register 9C u u u u u u u RCL Rotate Through Carry Left Register/Memory by 1 Register/Memory by CL Register/Memory by Immediate m u u u u u u D [OOOw] [mod 010 rim] D [001 w] [mod 010 rim] C [OOOw] [mod 010 r/m]t RCR Rotate Through Carry Right Register/Memory by 1 Register/Memory by CL Register/Memory by Immediate D [OOOw] [mod 011 rim] D [001w] [mod 011 rim] C [OOOw] [mod 011 r/m]t 9 FO 67 66 m u u u u u u -'----- 1 2 17 1 2 2 2 1 2 1 2 10 10 10 9/9 9/9 9/9 10 10 10 1 2 10 10 10 9/9 9/9 9/9 10 10 10 2/4 2 2 2 2 4 2 2 2 2 2/4 2 2 2 2 4 2 2 2 2 u 17 17 17 u u 2 2 u m 9/9 9/9 9/9 9/9 9/9 9/9 u - m - - -- - - - - - - ~ Table 7-17. Instruction Set (Continued) ~ 8"' ::J ~ -....J N -....J I F T F S F Z F F A F P F C F Reg! Cache Hit Cache Miss Reg! Cache Hit Cache Miss Real Mode Protected Mode REP INS Input String F26[110w] u u u u u u u u u 20+9n 20+9n 5+9n\ 18+9n 5+9n\ 19+9n 1 2,9 REP LOOS Load String F2 A[110w] u u u u u u u u u 4+5n 4+5n 4+5n 4+5n 1 2 REP MOVS Move String F2 A[010w] u u u u u u u u u 5+4n 5+4n 5+4n 5+4n 1 2 REP OUTS Output String F26[111w] u u u u u u u u u 20+4n 20+4n 5+4n\ 18+4n 5+4n\ 19+4n 1 2,9 REP STOS Store String F2 A[101w] u u u u u u u u u 3+4n 3+4n 3+4n 3+4n 1 2 REPE CMPS Compare String (Find nonmatch) F3 A[011w] m u u u m m m m m 5+8n 5+8n 5+8n 5+8n 1 2 REPE SCAS Scan String (Find non-AUAXlEAX) F3 A[111w] m u u u m m m m m 4+5n 4+6n 4+5n 4+6n 1 2 REPNE CMPS Compare String (Find match) F2 A[011w] m u u u m m m m m 5+8n 5+8n 5+8n 5+8n 1 2 u u u m m m -- - t = s- 0 F Opcode -- t:t 0 Notes Instruction REPNE SCAS Scan String (Find AUAXlEAX) CI) Protected Mode Clocks Real-Mode Clocks Flags - -- - F2 A[111w] - + - - - -- -- m ---- ------ -- m - m -- - - 4+5n ____ __ 4+6n _1 __ - ---- 4+5n - --- --- 1 4+6n ---- ---- - L- _ 2 - - - immediate data = 8-bit displacement § = 16-bit displacement ~ = 32-bit displacement m = Flag modified u = Flag unchanged Notes: 1) Exception 13 fault (general protection) occurs in real mode if an operand reference is made that partially or fully extends beyond the maximum CS, OS, ES, FS, or GS segment limit (FFFFh). Exception 12 fault (stack segment limit violation or not present) occurs in real mode if an operand reference is made that partially orfully extends beyond the maximum SS limit. 2) Exception 13 fault occurs if the memory operand in CS, OS, ES, FS, or GS cannot be used due to either a segment limit violation or an access rights violation. If a stack limit is violated, an exception 12 occurs. 3) This is a protected mode instruction. Attempted execution in real mode will result in exception 6 (invalid opcode). 4) An exception may occur, depending on the value of the operand. 5) LOCK# is asserted during descriptor table accesses. 6) All segment descriptor accesses in the GOT or LDT made by this instruction automatically asserts LOCK# to maintain descriptor integrity in multiprocessor systems. 7) JMP, CALL, INT, RET, and IRET instructions referring to another code segment causes an exception 13, if an applicable privilege rule is violated. 8) The destination of a JMP, CALL, INT, RET, or IRET must be in the defined limit of a code segment or an exception 13 fault occurs. 9) An exception 13 fault occurs if CPL is greater than IOPL. 10) This instruction may be executed in real mode. In real mode, its purpose is primarily to initialize the CPU for protected mode. 11) An exception 13 fault occurs if CPL is greater than 0 (0 is the most privileged level). 12)Any violation of privilege rules as apply to the selector operand does not cause a Protection exception, rather, the zero flag is cleared. 13)For segment load operations, the CPL, RPL, and OPL must agree with the privolege rules to avoid an exception 13 fault. The segment's descriptor must indicate present or exception 11 occurs (OS, OS, ES, FS, GS not present). If the SS register is loaded and a stack segment not present is detected, an exception 12 occurs. 14)The IF bit of the flag register is not updated if CPL is greater than IOPL. The IOPL and VM fields of the flag register are updated only if CPL = O. s- CI) t:t ~ 8"' ::J ~ ...... -...J N s- Table 7-17. Instruction Set (Continued) CI) ex:> ~ Real-Mode Clocks Flags I F T F S F Z F D F u u u u u 0 Instruction RET Return from Subroutine Within Segment Within Segment Add Immediate to SP Intersegment Intersegment Add Immediate to SP Protected Mode: Different Privilege Level Interseg ment Intersegment Add Immediate to SP ROL Rotate Left Register/Memory by 1 Register/Memory by CL Register/Memory by Immediate ROR Rotate Right Register/Memory by 1 Register/Memory by CL Register/Memory by Immediate Opcode F A F P F C F u u u u 10 10 13 13 C3 C2§ CB CA§ o [OOOw] [mod 000 rim] o [001 w] [mod 000 rim] m u u u u u u u m u u u u u u u Cache Miss 13 13 Reg! Cache Hit Cache Miss 10 10 26 26 26 27 69 69 72 72 \ m C [OOOw] [mod 000 r/m]t o [OOOw] [mod 001 o [001 w] [mod 001 Regl Cache Hit Protected-Mode Clocks 2/4 3/5 2/4 6 7 6 2/4 3/5 2/4 6 7 6 2/4 3/5 2/4 6 7 6 2/4 3/5 2/4 6 7 6 m rim] rim] C [OOOw] [mod 001 r/m]t ?5 g" ::J Notes Real Mode Protected Mode 1 2,5,6,7,8 1 2 1 2 RSDC Restore Segment Register and Descriptor OF 79 [mod sreg3 rim] u u u u u u u u u 14 14 15 15 RSLDT Restore LDTR and Descriptor OF 78 [mod 000 rim] u u u u u u u u u 14 14 15 15 RSM Resume from SMM Mode oFAA u u u u u u u u u 76 76 15 15 15 15 RSTS Restore TSR and Descriptor OF 70 [mod 000 rim] u u u u u u u u u 14 14 SAHF Store AH in Flags 9E u u u u m m u m m 2 2 SAL Shift Left Arithmetic Register/Memory by 1 Register/Memory by CL Register/Memory by Immediate o [OOOw] [mod 100 rim] o [001w] [mod 100 rim] m u u u m m u m m SAR Shift Right Arithmetic Register/Memory by 1 Register/Memory by CL Register/Memory by Immediate C [OOOw] [mod 100 r/m]t o [OOOw] [mod 111 o [001 w] [mod 111 rim] rim] C [OOOw] [mod 111 r/m]t m u u u m m m m 2/4 3/5 2/4 6 7 6 2/4 3/5 2/4 6 7 6 2/4 3/5 2/4 6 7 5 2/4 3/5 2/4 6 7 8 m ~ Table 7-17.° Instruction Set (Continued) Real-Mode Clocks Flags Instruction Opcode SBB Integer Subtract with Borrow Register to Register Register to Memory Memory to Register Immediate to RegisterlMemory Immediate to Accumulator (short form) 1 [10dw] [11 reg rim] 1 [100w] [mod reg rim] 1 [101w] [mod reg rim] 8 [OOsw] [mod 011 r/mlt 1 [110w]t SCAS Scan String A [111w] SETB/SETNAEISETC Set Byte on Below/ Not Above or Equal/Carry To RegisterlMemory SETBEISETNA Set Byte on Below or Equal/ Not Above To RegisterlMemory SETEISETZ Set Byte on Equal/Zero Register/ Memory SETUSETNGE Set Byte on Less/ Not Greater or Equal To RegisterlMemory s- CI) ~ ~ g. :J ~ ""-I N select set ARR4 SMM base address upper bits write value index ARR4 SMM base address bits <15-12> and 4 bits for SMM size set SMM lower address bits and SMM size write value SMM Programmer's Guide A-11 SMM Instruction Summary and Macros A.7 SMM Instruction Summary and Macros The TI486SXL(C) microprocessor responds to seven instructions when it is in SM mode that are not standard instructions. The seven instructions include: o o o o Two that save and restore a segment register and its descriptor Two that save and restore the task register Two that save and restore the LDT register One that exits SM mode The instructions that save and restore registers are needed because the CPU saves a minimum amount of information in the SM header (for speed). If one or more of the segment registers in the SM interrupt handler needs to be modified, the previous values need to be preserved as they are not automatically saved in the header. The instructions that save and restore segment registers are provided for this purpose. Similarly, the instructions that save and restore the Task register and LDT register allow creation of an SM interrupt handler that enters protected mode and acts as a task dispatcher. The seven SM instructions summarized in Table A-5 are valid only when CPL is 0 and either: A-12 o The SMAC, SMI, and SM4 bits are set and a valid SMM region is defined (the SMM size defined to be greater than 0). o The SMI# pin is driven low by the CPU. (The CPU drives SMI# low after it recognizes the SMI interrupt and continues to drive it low until RSM is executed. See Figure A-1 page A-5.) SMM Instruction Summary and Macros Table A-S. SMM Instruction Set with Clock Counts Instruction Mnemonic Opcode Clocks Description rsdc rsCseg OF 79 14 Restores a segment register from an a~-bit memory location. t rsldt rstJdt OF 78 14 Restores the local-descriptortable register from an aD-bit memory location. t rsts rsCtr OF7D 14 Restores the task register from an aD-bit memory location.t svdc OF7a 22 Saves a segment register at an aD-bit memory location.:j: svldt OF7A 22 Saves the local-descriptor-table register at an aD-bit memory location.:j: svts OF7C 22 Saves the task register at an aD-bit memory location.:j: OFAA 5a Restores the state of the CPU from the data saved in the header at the top of SM memory (the header is created by the processor when it recognizes an SMI). This instruction takes the processor out of 8M mode and returns it to the task that was executing when the 8MI occurred. rsm exiCsm t The restore includes the descriptor information that is not visible to applications. :j: The save includes the descriptor information that is not visible to applications. The values in the second column in Table A-5, titled Mnemonic, are arbitrary since there is no current assembler support for the SM instructions. That means that the code will probably be generated manually. In generating the code other arbitrary names may be preferred. The names shown in the first column of Table A-5 are the instruction names that have been added to the TI486SXL(C) instruction set. The mnemonics are a bit more descriptive and are used in the example macros, Example A-3. These examples for generating SM instruction code have been rewritten from earlier versions. The third column in Table A-5 provides the basic opcode for the SM instructions. In addition to these basic codes, the first six SM instructions listed can be prefixed with a segment override and/or an address size override, and they require a mod rim byte and a memory offset. The include file shown in Example A-3 contains some macros that will be useful within an SM interrupt handler. These macros implement versions of the seven special 8M instructions shown in Table A-5. These macros can be used as is, or modified to suit the particular application. SMM Programmer's Guide A-13 SMM Instruction Summary and Macros Macros That Implement the Special SM Instructions Example A-3. COMMENT A File: SM.MAC Copyright (c) 1994 Texas Instruments, Incorporated This include file defines a set of macros for generating System Management (SM) mode instruction opcodes, since no assembler directly supports these SM instructions. There are six SM instructions that are used to save and restore registers that are not automatically saved when SM mode is entered, and one instruction for exiting from SM mode. These instructions support many addressing modes, but the macros in this file only implement one mode--a 16-bit memory reference (within the code segment as a CS: override is also used). These macros could be made much more complex to allow other addressing modes, but the additional complexity wouldn't provide much useful benefit. Each of the macros that implements a register save or restore takes as a parameter an offset in the code segment where the register should be saved to or restored from. The two macros that save and restore segment registers also take the name of a segment register as a parameter. Here is a small portion of code that shows how the macros in this file are used: «««< BEGIN EXAMPLE CODE »»»> • CODE smi_entrYJ>oint: A-14 sav_seg sav_seg sav_seg sav_seg sav_seg sav_Idt sav_tr mov mov old_ds,ds old_es,es old_fs,fs old_gs,gs old_ss,ss old_Idt old_tr dword ptr cs:old_eax,eax cs:old_ebx,ebx rst_seg rst_seg rst_seg rst_seg ds, old_ds es,old_es fs,old_fs gs,old_gs Save segment registers Save LDTR and TR Save other registers Restore segment registers SMM Instruction Summary and Macros old_ds old_es old fs old_gs old ss old tr old ldt old eax old ebx rst_seg rst - ldt rst- tr mov mov exit- sm ss, old_ss old_ ldt old_tr eax,dword ptr cs:old_eax ebx,dword ptr cs:old_ebx dt dt dt dt dt dt dt dd dd ? ? ? ? ? ? ? ? ? Restore LDTR and TR Restore other registers Exit SM interrupt handler 10 bytes in code segment «««< END EXAMPLE CODE »»»> NOTE: The location at addr must be 10 bytes in size and it must reside within the code segment. It should be defined as: iaddr dt ? sav_seg MACRO SMMac ENDM addr, reg sav_seg, addr, reg, 78h Save one of the segment registers rst_seg MACRO SMMac ENDM reg, addr rst_seg, addr, reg, 79h Restore one of the segment registers sav_ldt MACRO SMMac ENDM addr sav_ldt, addr, ldt, 7Ah Save the LDT register rst_ldt MACRO SMMac ENDM addr rst_ldt, addr, ldt, 7Bh Restore the LDT register sav_ts MACRO SMMac ENDM addr sav_ts, addr, ts, 7Ch Save the Task register rst_ts MACRO SMMac addr rst_ts, addr, ts, 7Dh Restore the Task register SMM Programmer's Guide A-15 SMM Instruction Summary and Macros ENOM exit_smMACRO OB Exit from SM mode OOFh, OAAh ENOM SMMac MACRO mname, addr, reg, op ; CS: override and SM instruction opcode db 2Eh db OFh, op ; mod rim byte , ifidni db OOEh , elseifidni db 01Eh , elseifidni db 026h , elseifidni db 02Eh , elseifidni db 016h , elseifidni db 006h elseifidni , db 006h , elseifidni db 006h else ECHO ERROR in ECHO Register ECHO Register ECHO or LOT • ERR endif ; 16-bit displacement dw offset addr EN OM A-16 macro : parameter unknown: parameter must be either CS, OS, ES, FS, GS, SS, TS, SMI Handler Example A.S SMI Handler Example This section contains fragments of typical coding found in 8MI handlers. Example A-4. Typical Coding Found In 8MI Handlers 5MBASE= OC8000H SMSIZE= 2 SMEND = SMSIZE SHL (SMSIZE-l) ; base address of SMM space ; SMM space size is 8k bytes ;works for most cases INCLUDE SM.MAC .MODEL SMALL .386P . CODE ;see Section Example A-3, page A-14 COMMENT "Execution begins here in real mode, with CS defined at the 5MBASE and EIP=O public smi_start smi_start: jmp $skipdata EAXsave dd DSsave dt DStemp db $skipdata: mov sav_seg rst_seg ;skip data area, makes it easy for ; assembler ? ? Offh, Offh, 0,0,0,92h,8fh,0,0,0 ;4gig present segment dword ptr cS:[EAXsave],eax; save EAX [DSsave], ds save DS ds,[DStemp] ; setDS COMMENT "We need to extend the limits of DS so that we don't get a fault when we use it to access low memory. It may be not present with a limit of 0, and these values won't be changed when we set it using a real mode load. ;Determine Why Are We In The SMI Handler COMMENT "chipset/Core logic unique instructions will follow. The chipset will be used to determine what caused the SMM interrupt to occur. The BIOS could also "jump" to this point in the SMM region. Decision Tree: a) If timer, go to timer_expired b) If port i/o occurred to a trapped location, go to port_io_caused c) If the cpu was turned off, go to cpu_turned_off ; timer_expired; SMM Programmer's Guide A-17 8MI Handler Example COMMENT A A chipset timer has expired. Unique code would appear to determine which timer. Depending on the purpose of the timer the handler could; 1) 2) 3) 4) 5) Reduce the clock frequency Execute a halt instruction and enter suspend mode Turn current off to the CPU Turn off a peripheral device Reset the timer and increment a counter reduce clock: COMMENT A To go to a lower CPU current requirement the CPU clock can be reduced. The CPU clock can be reduced from its current setting to a lower value. That value could be zero. Since the CPU is a static device and will maintain the state of all its registers in the absence of a clock input there is no state saving requirement. It is assumed that by writing to the chipset it will reduce or zero the clock. If the clock is stopped then the next instruction to be executed will be one in this SMI handler immediately following the point where the chipset turned the clock off. jmp end_timer: execute halt: COMMENT A To go to a lower CPU current consumption the SMI handler will now execute a HLT instruction. The HLT instruction will put the CPU into a low power sleep mode until a non-SMI interrupt occurs. Interrupt(s) will need to be enabled to permit the interrupt to wake-up the CPU. A common choice would be the keyboard interrupt. A flag would need to be set in main memory to indicate that the SMI handler should be jumped into or SMI created, to permit it to restore the state/context of the CPU, prior to the halt for servicing the interrupt. The interrupt in low memory must point to the BIOS handler for the return to be made to the SMI handler. An interrupt handler in SMM space could also service the interrupt rather than a BIOS routine. ;[ Alternatively the chipset could pull the SUSP# CPU pin low to enter ;[ suspend mode. The chipset would have to pull SUSP# high to exit] ;[ suspend mode. ] :To be sure that BIOS will get control on intr ;check for keyboard interrupt vector pointing to BIOS ;if not BIOS, save existing and set to BIOS vector or jump to can_not_halt ;Set a flag in main memory indicating SMI HALT executed ;If an SMM space interrupt handler is used then IDTR and/or the vector ;would need to be updated to the SMM space routine. mov ax, 0 point to bottom segment mov ds, ax ; ds segment is now in main memory mov [485], 1 ; set BIOS flag in main memory ; hlt ; last instruction executed here ; nop ;CPU state will not be correct at interrupt A-18 SMI Handler Example set bit in main memory to indicate to the BIOS that SMI handler turned power off to CPU and CPU state should be restored by the SMI handler mov ax, 0 mov ds, ax mov [485], 1 point to bottom segment ds segment is now in main memory set BIOS flag in memory (save entire CPU state. See Restore CPU state label) (chipset specific instructions to be executed to remove power to cpu) jmp end_timer turn_off-peripheral: chipset specific instructions to turn off peripheral and enable chipset 1/0 trapping of the devices io range or enable timer to allow polling of peripheral requirements. jmp end_timer reset_timer: chipset specific instructions to be executed to reset a timer and possibly increment a counter to maintain number to time out occurred for a particular device. jmp end timer jmp done port io caused: COMMENT "The SMM support for 1/0 being interrupted provides information that permits the restarting of the 1/0 instruction without investigating the actual code where the instruction is located. Many things can be done at this point beyond turning on a powered down peripheral. The CPU clock could now be speeded up in anticipation of heavy CPU processing requirements, timers could be reset, etc. ;** Restart the interrupted instruction eax,dword ptr [SMEND+SMI_PREVIOUSIP] mov dword ptr [SMEND+SMI_NEXTIP],eax mov al,byte ptr cs:[SMEND+SMI_BITS] mov ;test for REP instruction ;rep instruction? bt al,2 ; (result to Carry) ecx,O ;if so, increment ecx adc ;test bit 1 to see test al,1 shl 1 ;if an OUTS or INS jnz SMM Programmer's Guide A-19 8MI Handler Example COMMENT . . ** A port read (INx) instruction caused the chipset to generate an SMI instruction. Restore EDI saved by SMI microcode. edi, dword ptr cs:[SMEND+SMI_EDIESI] common! mov jmp out_instr: COMMENT . . ** A port write (OUTx) instruction caused the chipset to generate an SMI instruction. Restore ESI saved by SMI microcode. mov common!: jmp esi, dword ptr cs:[SMEND+SMI_EDIESI] done COMMENT . . This handler turned off the current to the cpu. Before it did, the handler set a bit in main memory or battery-backed-up CMOS indicating that this event happened. At reset, BIOS will determine that this was the case and "jump" into the SMI handler. SMI handler will then restore the entire state/context of the CPU prior to current being removed. The bit in main memory would also be cleared indicating that the SMI handler had removed current. mov mov mov mov mov A-20 ax, 0 ds, ax [485] , 0 ax, cs ds, ax point to bottom segment ds segment is now in main memory clear BIOS flag in main memory restore ds to SMM area SMI Handler Example {Restore Complete CPU State} eax ebx ecx edx edi esi ebp esp cs iuse rst _seg ds iuse rst_seg ss ;use rst_seg es iuse rst_seg fs ;use rst_seg gs ;use rst _seg ldtr gdtr idtr tr eflags crO cr2 cr3 drO drl dr2 dr3 dr6 dr7 ccrO ccrl ccr2 Save the configuration registers with index C3h through FFh for future product compatibility arrl arr2 arr3 arr4 jmp done done: mov rst_seg exit_sm eax,cs:[EAXsave] ds,[DSsave] return SMM Programmer's Guide A-21 Loading SMM Memory With an SMM Program from Main Memory A.9 Loading SMM Memory With an SMM Program From Main Memory To load SMM memory with an SMI interrupt handler it is important that the SMI interrupt does not occur before the handler is ready to accept it. This can be done by not having SMAC = 0 and SMI = 1 (in the CCR1 register) before the SMI handler is installed. It is necessary to set SM4 = 1 (in the CCR1 register) and ARR4 with appropriate values before using the SMM memory. To load SMM memory with a program it is first necessary to enable SMM with the exception of the SMI# pin by setting SMAC. (See Section A.6, Enabling SMM, page A-11.) The SMM region is then mapped over main memory at the same location. This is done by the generation of SMADS# for memory access for the SMI. A REP MOV instruction can then be used to transfer the program to the location. Then, turn off SMAC to activate potential SMls. Example A-S. • MODEL 8MI Handler Routine MEDIUM • STACK MACROS iodlay_ macro jcxz jcxz enclm $+2 $+2 segcs_ macro db enclm 02Eh Short delay for 1/0 operations CS: override prefix include SM.MAC See Example A-3 page A-14 • CODE ============================================================================= S M I HAN D L E R R 0 UTI N E ============================================================================= When an SM interrupt occurs, the code segment base is set to the SM area start as defined in ARR4, and the IP is set to O. This means the first SM handler instruction must be at offset O--that is why this loader program begins with the SM handler code. The offsets referenced in the SMI portion of this program will be correct in SM mode as well. A-22 Loading SMM Memory With an SMM Program from Main Memory smi_code_start: Save DS, ES, TS, LDT, AX, and ex (only AX and ex are used by the handler--the other registers are only saved to show how the macros are used). sav_seg sav_seg sav_tr sav_Idt mov mov old_ds, ds old_es, es old_tr old_Idt dword ptr cs:old_eax, eax dword ptr cs:old_ecx, ecx The main handler code goes here •.• The code below simply writes a down count to port 80--your code will be much more complex and useful. ; Write port 80 values mov aI, OFFh out mov loop dec jnz 80h, al cx, 8FFFh $ al dec loop decloop: Delay Restore registers saved at start of handler, then exit from SM mode. rst_seg rst _ seg rst - tr rst - ldt mov mov exit sm ds, old ds es, old es old- tr old- ldt eax, dword ptr cs:old eax ecx, dword ptr cs:old ecx Exit SM mode--resume the interrupted program smi- code- end: The locations below are for saving registers that are used in the SM! routine but are not automatically saved when an SM interrupt occurs. Some of the registers saved below are not actually used by the code in this example, but they are saved/restored just to demonstrate how the 8M macros shown earlier are used. SMM Programmer's Guide A-23 Loading SMM Memory With an SMM Program from Main Memory old_ds old_es old_tr old_Idt old_eax old_ecx dt dt dt dt dd dd ? ? ? ? ? ? ========================================~============= ======================= PRO C E D U RES USE D B Y THE LOA D E R ============================================================================= ============================================================================= Read a value from a register in AL via I/O ports 22 and 23. Return the value in AL. ============================================================================= near out 22h, al iodlay_ in aI, 23h ret ============================================================================= Write the value in AH to a register in AL via I/O ports 22 and 23. ============================.================================================= w22 23 proc near - 22h, al out iodlay_ mov aI, ah 23h, al out ret w22 - 23 endp LOADER E N TRY POI N T ============================================================================= entry~oint: Set ARR4 registers for 64K SMM area at OOOAOOOO: mov call mov call A-24 ax, OOCDh w22_23 ax, OACEh w22_23 ARR4 OOOA05 Loading SMM Memory With an SMM Program from Main Memory mov call ax, 05CFh w22_23 Set ARR4 control bit in CCRI to make ARR4 == SMM memory. Set SMI enable bit and SMAC bit to allow non-CS-based data writes to go to the SM area. mov call or mov mov call al, OClh r22_23 al, 86h ah, al al, OClh w22 - 23 SM4=1; SMAC 1; SMI 1 Copy SMI code to AOOO:OOOO xor mov mov mov mov mov ax, si, di, ax, es, ex, ax ax SMI code starts at offset o of this CS ax and offset 0 of SM memory too. OAOOOh SM memory segment ax offset smi _code_end; Number of bytes of SM handler code segcs_ rep movsb Copy from EXE memory space to SM mem The SM handler is now in place. Disable access to SM memory leaving the SMI bit set, so that SM interrupts can now occur. mov call and mov mov call al, r22 al, ah, al, w22 - OClh 23 OFBh al OClh 23 SMAC 0 Exit to DOS mov int END ax, 04cOOh 21h entry-point SMM Programmer's Guide A-25 Detection of a TI Microprocessor A.10 Detection of a TI Microprocessor It is possible, with a small amount of code, to detect if the CPU is a TI microprocessor and if the CPU is the TI486SXL(C) family or a TI486xLC/E family. The following assembler code accomplishes this task. Example A-6. Detection of a TI Microprocessor ~Purpose: ~To ~To To detect if the CPU is Texas Instruments microprocessor, and then determine if it is a TI486SXLC Family. detect if Texas Instruments: The undefined flags of the TI microprocessor remain unchanged following a divide. An Intel part will modify some of the undefined flags. Check by saving the flags, do a divide, and~ then compare the new flags with the old flags. detect if TI486SXLC Family: The cache test registers in the TI486SXLC Family differ from the TI486xLCE due to the difference in cache size. Bit 9 in TR4 is used to determine if the processor is of the TI486SXLC Family by seeing if it can be toggled. The code that follows is a procedure that returns the CPU detected in AX . • MODEL SMALL .486P ~Values that code will return in AX: CPU_Not TI EQU 0 CPU_TI486xLCE EQU 1 CPU_TI486SXLC EQU 2 TR5_Write TR5_Read CR LF EQU EQU EQU EQU . CODE DetectCPU StartDetect: PROC 1 2 OAh ODh ~NOTE: This procedure returns a value in AX. Value in BX is destroyed and not saved. Value in top-half of EAX is destroyed. CLI AreWeTI486: ~Assume A-26 MOV CMP that CPU is at least a 386 CPU. AX, 0 ~ set flags to known value AX, AX PUSHF POP MOV AX flags_before, MOV MOV MOV DIV AX, dividend DX, 0 BX, divisor BX ~save old flags AX setup for DIV instruction Detection of a TI Microprocessor isave new flags PUSHF POP MOV AX flags_after, AX MOV AND MOV AND AX, AX, BX, BX, CMP JNZ AX, BX NotTI flags_mask flags_before flags_mask flags_after iisolate bits we are interested in and compare iflags same before and after? inO - don't have TI CPU WeAreTI486: iNow check to see if CPU is TI486xLCE or TI486SXLC MOV MOV MOV EAX, 0200h TR4, EAX EAX, TR5_Write MOV MOV MOV MOV AND CMP JNE TR5, EAX EAX. TR5 Read TR5, EAX EAX, TR4 EAX, 0200h EAX, 0200h FoundTI486SXLC iattempt to set bit 9 of TR4 imust do write, ithen read operation on test registers iread TR4 back iisolate bit 9 idid it stay set? ino - found TI486SXLC FoundTI486xLCE: iCPU is a TI486xLCE MOV AX, CPU_TI486xLCE JMP Done FoundTI486SXLC: iCPU is TI486SXLC MOV AX, CPU_TI486SXLC JMP Done NotTI: iCPU is not a TI486 MOV AX, CPU_NotTI Done JMP Done: ileave return value in AX RET DetectCPU ENDP • DATA flags_before flags_after flag_mask dividend divisor result DW DW DW DW DW DW ? ? 08D5h OFFFFh 4h 0 END SMM Programmer's Guide A-27 Detection of SMM Capable Version A.11 Detection of SMM Capable Version At power-up/reset the EDX register contains part type and stepping information as shown in Table A-6. Table A-6. EDX Register Data At Power-Up/Reset EDX Stepping SMM Available 0410h A No 0411h B Yes The following technique can be used to identify the stepping of a TI486SXL(C) microprocessor after the reset information in EDX is lost. The method uses two functions: the mixed C and assembler function isbO and assembly language illegal opcode handler interrupt handler ilLop. The function isbO returns a 1 to indicate when a B step part is present, 0 otherwise. The function isbO installs an illegal opcode handler, ilLop. Then isbO sets up conditions to execute an SMM segment save instruction, SVDC. If an A step part is present the illegal opcode handler is invoked. The ilLop process then modifies the return address on the stack to return to the instruction after the SVDC instruction. The storage location used by the SVDC instruction is then checked to see if it changed. If it has changed, the part being tested is a B step part. This detection technique must be run at protection ring O. Example A-7. Detection of SMM Capable Version 11**************************************************** *********************** 11********************************* isb.c *********************************** 11**************************************************** *********************** #define TRUE 1 #defube FALSE 0 int old_off; int old_seg; extern ill_op(); 11**************************************************** *********************** Function: isb () II Returns:1 if TI486SXL(C) B step II o if TI486SXL(C) A step II 11**************************************************** *********************** isb () { int i, b_step; char mem[ 10]; for (i=O; i<10; mem[i++]=O; asm { .386 extrn _ill_op:near A-28 Detection of SMM Capable Version ;********************************************* ;****** get present illegal opcode handler ,.********************************************* push es push bx mov ax, 3506h int 21h mov old_seg, es old_off, bx mov pop bx pop es ;********************************************* ;****** install new illegal opcode handler ;********************************************* push dx push bx push ds mov ax, 2506h mov dx, OFFSET _ill_op mov bx, cs mov ds, bx int 21h pop ds pop bx pop dx ;************************************************************* ;****** Set SM4 and SMAC and SMI bit to allow SMM instructions ;************************************************************* mov al, Oclh out 22h, al in al, 23h mov byte ptr [save_ccrl, al or al, 86h mov ah, al mov al, Oclh out 22h, al mov al, ah out 23h, al ;********************************************* ;****** Setup nonzero SMM region ;********************************************* mov al, Ocfh out 22h, al in al, 23h mov byte ptr [save_cf), al .al, Ocfh mov out 22h, al mov al, 1 23h, al out SMM Programmer's Guide A-29 Detection of SMM Capable Version ,.********************************************* ;****** Set SMM region to the top of memory to ;****** avoid overlapping with this program ,.********************************************* mov out in mov mov out in mov mov out mov out mov out mov out mov out in and out aI, Ocdh 22h, al aI, 23h byte ptr aI, Oceh 22h, al aI, 23h byte ptr aI, Ocdh 22h, al aI, Offh 23h, al aI, Oceh 22h, al aI, Oh 23h, al aI, Ocfh 22h, al aI, 23h aI, Ofh 23h, al ;****** flush pre fetch after changing configuration jmp $+2 ,.********************************************* ;****** Execute SMM instruction sav_seg ,.********************************************* ;sav_seg word ptr mem, ds Word ptr mem == ss:[bx] lea bx, mem db 36h Ofh 78h Ifh ,.********************************************* ;****** restore configuration registers ,.********************************************* mov out mov out mov out mov out mov out mov out mov out mov out A-30 aI, Ocdh 22h, al aI, byte ptr save_cd 23h, al aI, Oceh 22h, al aI, byte ptr save_ce 23h, al aI, Ocfh 22h, al al byte ptr save_cf 23h, al aI, Oclh 22h, al al byte ptr save_ccrl 23h, al Detection of SMM Capable Version ,.********************************************* ;****** restore old illegal opcode handler ,.********************************************* push dx push bx push ds mov ax, dx, mov mov bx, mov ds, 21h int pop ds pop bx pop dx ) II isb asm region 2506h OFFSET old_off OFFSET old_seg bx for (i=O, b_step=FALSE; i<10; ++i) if (mem[i] 1= 0) { b_step break; TRUE; } return (b_step); } II isb () ;********************** bad_op.asm *********************** public _ill_op assumecs:_TEXT _TEXT segment byte public 'CODE' _ill_op proc near pop ax add ax, 5 push ax iret _ill_op endp TEXT ends end SMM Programmer's Guide A-31 Format of Data Used by SVDCIRSDC Instructions A.12 Format of Data Used by SVDC/RSDC Instructions The SVDC/RSDC instructions should be used to change limits and read/write access privilege levels of the application and system segment descriptor registers, see Table 2-7 (page 2-22), before they are used by SMM code. The instructions use a 10 byte area composed of two major portions of the system address register set, see Figure 2-7 (page 2-17), value/contents, and the nonprogrammer-visible internal descriptor that has the format shown in Example A-B. Example A-9 (page A-33) loads a real-mode system segment (SS) descriptor and nonprogrammer-visible region values. System segment-descriptor registers are described in Subsection 2.5.2.2, Descriptors, page 2-21. Example A-B. Internal Descriptor Format 'Segment Register Descriptor <8 bytes>, Segment Register Selector <2 bytes>, ;1) Segment Register Selector: This is the segment if the segment register ;was loaded in real mode or the selector if the segment register was ;loaded in protected mode. In real mode, this is also equal to the segment ;base divided by 10h and clipped to 16 bits. dw ,Selector or Segment ;2) Segment Register Descriptor, which is the actual descriptor if the ;segment was loaded in protected mode, or a pseudo-descriptor if the segment ;register was loaded in real mode. dw dw db db db db A-32 Limit [15:0] , Base [15:0] , Base [23: 16 ] , , P , DPL , 1 , DscTy[2:0] , A , 'G , D , r , AVL , Limit [19:16] , Base [31:24] I DscTy is descriptor ;type (DT) Format of Data Used by SVDCIRSDC Instructions Example A-9. Load 88 Descriptor Values (Real Mode) iLoad SS descriptor (nonprogrammer-visible region) values appropriate to iREAL mode. see Example A-3 page A-14 INCLUDE SM.MAC old_val real mode: dt dw dw db db db db dw location to store old ss value limit base 0 base 0 lOOlOOllB i 93h, data segment G=O, D=O, upper limit=O 0 0 high portion of base selector/segment 0 sav_seg rst_seg mov mov [old_val], ss ss,[real_mode] ax, cs ds, ax ? Offffh SMM Programmer's Guide A-33 Altering SMM Code Limits A.13 Altering SMM Code Limits When the CPU acknowledges an external SM interrupt and switches into system management mode, the CPU is put into real mode. In section 2.8.5, SMI Service Routine Execution on page 2-54, it is stated that the code segment register is loaded with the base and limits defined by the ARR4 register. If the defined SMM address space is a 16K region, the CS segment limit will be 16K. This is in contradiction to the normal segment limit of 64K for real mode. This does not normally cause the programmer any problems, since the CS register can access any address in the SMM address space. The only time this can become a problem is if the SMM code jumps to code outside the SMM address space. An example of this might be jumping to a BIOS routine to save a block of memory to the disk drive. The BIOS routine might expect the CS code segment limit to be 64K, and might require it to be, depending on the offset of the routine, or any routine it calls. The BIOS procedure might be at offset 38416 of the BIOS segment for example. If, as stated above, our SMM limit is 16K, then the CPU would generate a segment overrun fault when it attempted to jump to offset 38416 of the BIOS segment. There are several solutions to this problem. One solution is to never execute code outside of the SMM space. Another solution is to have an SMM space of 64K, or larger, so that the CS code segment limit is 64K or more. The third solution is to change the CS limits while in the SMM code. When in real mode, the hidden portion of the segment registers are not accessible to the programmer, unlike in protected mode. With the new SMM instruction RSOC, a complete 80-bit segment register and descriptor cache entry can be read from memory into a segment register, thus changing the segment limits and attributes, even when in real mode. This could be done to make the OS segment have a 4G limit, enabling real mode SMM code to access all of memory with a 32-bit offset, without ever leaving real mode. However, the RSOC instruction will not work with the CS register! The only way to change the limits of the CS segment is to switch to protected mode, do a far jump to a segment descriptor that has the desired segment limit and attributes, and switch back to real mode. To do this, several things must happen. A GOT with at least one valid entry must be set up (this entry is a descriptor for the code segment that the intersegment jump is made to). Save the old GDTR register contents (using SGOT), and the register should be loaded to point to the new table (using LGOT). Save the old CRO value, and switch into protected mode with paging off. Do an intersegment jump to the code segment in the GOT, thus changing the CS segment limit. Next, restore the CRO value, which switches back to real mode. Restore the saved GOTR value. A-34 Testing/Debugging SMM Code A.14 Testing/Debugging SMM Code There are several ways to debug SMM code: o Emulation Technology TI486SXLC microprocessor pod with an HP 16500/550 Logic Analyzer o o • Supports selective trace capture • SMM instruction disassembly Periscope - software only • Full screen debugging • TSR • Single stepping and break points DOS debug - software only • o Single stepping and break points Other selected logic analyzers A.14.1 Software Only Debugging It is possible to write an SMI handler and debug it as a TSR. Use a debugger that can set break points at any address in memory. Use the following code sequence as a model of how to build the SMI handler as a TSR. This code sequence also contains a section that loads the CS nonprogrammer-visible section to change the limit. This is required so that a protection error does not occur when code is executed outside of the SMM region. It is assumed that ADS# and SMADS# from the CPU are ORed together by the chipset or external logic. Also, the chipset should support programmable SMM locations. This code marks the SMI handler address in the user interrupt INT 66 location (0:198h). This is done so that the programmer can determine the location of the SMM region and set break points. The debugger is able to set a code break point outside of the SM I handler using INT 3 only. This is because the debug control register DR? is set to the reset value upon entry to the SMI handler. This causes break conditions in DRO-3 to be disabled. Debug registers can be used if set after entry to the SMI handler and DRO-3 are saved. Using a TSR to debug SMI has some limitations: o o Other code could overwrite the region. Jumps or call~ must be to known offsets. SMM Programmer's Guide A-35 Testing/Debugging SMM Code A.14.2 Software Debugging Example The following is an example that can be used forthe first step in debugging 8MI code: Example A-1 o. Debugging 8MI Code .MODEL SMALL . STACK .386P INCLUDE SM.MAC RD_WR EQU EX_RD EQU 12h 1Ah ;read/write ;execute/readable COMMENT "This is an example of SMI code which can exist below the 1 MByte boundary. It must be before the 1 MByte boundary because it uses the value in the cs register in order to form fixups based on its location as well as for the jump to return to real mode • . CODE srni_handler: jmp db stacksmilabel $over 100 dup (?) ;pass data area for assembler ;our smi handler gdt gdt ADDR LIMT g_big dq o ;null 0 100000h = $ gdt dw (LIMT-l and Offffh) dw (ADDR and Offffh) db «ADDR SHR 16) and Offh) db RD_WR OR (0 SHL 5) OR (1 SHL 7) db «(LIMT-1) SHR 16) AND Of h) OR (0 SHL 6) OR (1 SHL 7) db «ADDR SHR 24) and Offh) g_code = $-gdt ADDR 0 LIMT = 100000h dw (LIMT-l and Offffh) dw (ADDR and Offffh) db «ADDR SHR 16) and Offh) db EX_ RD OR (0 SHL 5) OR (1 SHL 7) db «(LIMT-1) SHR 16) AND Of h) OR (0 SHL 6) OR (1 SHL 7) db «ADDR SHR 24) and Offh) A-36 Testing/Debugging SMM Code GDTSIZE = ($-gdt) csareadb dsareadb ssareadb esareadb fsareadb gsareadb tsareadb gdtsave df? gdtnewdw eaxsave ebxsave ecxsave edxsave espsave dd dd dd dd dd 10 10 10 10 10 10 10 dup dup dup dup dup dup dup (? ) (? ) (? ) (?) (? ) (? ) (? ) GDTSIZE - 1 dd ? ; address ? ? ? ? ? $over: COMMENT A The debugger may want to use ss,ds,es,fs,gs. The limits may be shortened if the program had been running in protected mode. We therefore extend the limits of these registers before we enable the debugger. sav_seg sav_seg sav_seg sav_seg sav_seg mov mov mov [ssarea],ss [dsarea] ,ds [esarea] ,es [fsarea],fs [gsarea],gs cs: [eaxsave] , eax cs: [ebxsave] , ebx cs:[espsave],esp ;save the stack pointer COMMENT A Clear VM flag in Eflags (See Section A.14.3). mov mov mov mov push mov push push iretd esp, offset smistack ax, cs ss, ax eax, 0 eax eax, cs eax, offset @F eax sgdt fword ptr cs: [gdtsave] @@: SMM Programmer's Guide A-37 Testing/Debugging SMM Code COMMENT A fixup code for smi base ipatch gdt mov eax,cs shl eax,4 mov ebx,offset gdt add ebx,eax mov dword ptr [gdtnew+2],ebx ipatch far jump into protected mode mov ebx,offset $nextO add ebx,eax mov dword ptr cs:[patchl],ebx ipatch far jump back to real mode mov word ptr cs:[patch2],cs isegment of us here ioffset to here idefine gdt base start here COMMENT A extend the limits for the code segment patchl db 19dt mov or mov db db dd dw $nextO: mov mov mov mov mov mov xor mov db dw patch2 dw $nextl: A-38 66h fword ptr [gdtnew] eax,crO al,l crO,eax 66h Oeah ? g_code bx,g_big ss,bx ds,bx es,bx fs,bx gs,bx al,l crO,eax Oeah offset $nextl iextend the limits of the data segments ? ifar jump to set cs and writable bit ;back to real mode Testing/Debugging SMM Code COMMENT A define a valid stack mov mov mov COMMENT ax,cs ss,ax esp,offset stacksmi A ****** Insert user specific smi code here & set breakpoints. ****** db 66h fword ptr cs:[gdtsave] 19dt rst_seg ss, [ssarea] rst_seg ds, [dsarea] rst_seg es, [esarea] rst_seg fs, [sarea] rst_seg gs, [gsarea] mov eax,dword ptr cs:[eaxsave] mov ebx,dword ptr cs:[ebxsave] mov esp,dword ptr cs:[espsave] exit sm smi handlere: SMI SIZE = offset smi_handlere - offset smi_handler Install PROC i***** Enable SMM Region ****** Don't enable SMI yet because we're not ready for it. mov aI, Oclh iselect CCRl out 22h,al in aI, 23h iread CCRl ienable SMADS# and SMM region (not SMI) or aI, 80h mov ah, al aI, Oclh iselect CCRl mov out 22h, al mov aI, ah iwrite new CCRl value out 23h, al mov mov shl add add and mov push eax,offset endresident ebx,cs ebx,4 eax,ebx eax,Offfh eax,NOT Offfh ieax edx,eax edx start of smi space SMM Programmer's Guide A-39 Testing/Debugging SMM Code ,.**************************************************************************** ; * Load 8M! address and size into ARR4 ,.****** cd ;****** ; ****** Config Reg ; ****** Address ce cf 31-28 27-24, 23-20 19-16, 15-12 7-4 3-0 31-28 27-24, 23-20 19-16, 15-12 11-8, ;region 4 1st word mov out mov shr out aI, Ocdh 22h, al eax, edx eax, 24 23h, al mov out mov shr out aI, Oceh 22h, al eax, edx eax, 16 23h, al ;region 4 2nd word mov out mov shr and or out aI, Ocfh 22h, al eax, edx eax, 8 aI, OfOh aI, 1 23h, al ;region 4 3rd word ;get smi handler address ;move address <31~24> to al ; [7-0]=>smbase[31-24] ;get smi handler address ;move address <23-16> to al ; [7-0]=>smbase[23-16] ;get smi handler address ;move address <15-12> to al ;clear bottom nibble ;select 4KB 8M! size ; and [3-0]=>smsize ,.**************************************************************************** pop mov add mov shl sub she push shr mov mov mov mov int pop A-40 edx eax,edx edx,1000h ebx,es ebx,4 edx,ebx edx,4 dx eax,4 es,ax ds,ax dx,O ax, 2566h 21h dx ;start of smi area ;reserve 4k for smi handler ;current psp ;bytes to reserve ;paragraphs to reserve in dx ;paragraph of smi handler ;save for later ;always starts at 0 ;int 66h vector at O:198h ;tsr address Testing/Debugging SMM Code ;move the code to the smi area mov aI, Oclh ;select CCRI 22h, al out in aI, 23h ;read CCRI mov ah, al ;save old value aI, Oclh mov ;select CCRI out 22h, al mov aI, ah ;get old value or aI, 04h ;enable SMAC 23h,al out ;be clean on ah for later RELOCATE = 0 IF RELOCATE sub esi,esi sub edi,edi mov cx,cs mov ds,cx mov ecx, (SMI_SIZE+3)/4 rep movs dword ptr es:[edi],dword ptr ds:[esi] ELSE ;put the far jump at the start of the smi_area to above code mov byte ptr es:[O],Oeah mov word ptr ex:[l],offset smi handler mov word ptr ex:[3],cs ENDIF ;restore smi state and enable SMI mov aI, Oclh ;select CCRI out 22h, al mov aI, ah ;get old value or aI, 02h ;set SMI bit to enable SMI 23h,al out ;be clean on ah for later COMMENT " SMIs may happen at any time now. idx = offset in this segment to tsr mov ax, 3100h int 21h Install ENDP ;----end of resident code---endresident label byte db END 2000h ;Request function 31h, error code=O ; Terminate-and-Stay-Resident dup (?) Install ,.**************************************************************************** SMM Programmer's Guide A-41 Testing/Debugging SMM Code A.14.3 Clearing the VM Flag Bit The following condition is known to exist: If the CPU is in V86 mode and is interrupted by an 8MI, the VM bit in the EFLAG8 register is not cleared as it should be during real-mode operation. Not clearing this bit can cause protection errors of valid instructions that are being executed in the 8MI handler. This can be resolved by adding the following code after saving all used registers: rst_seg ss, [gdt+g_big] mov esp, offset smistack mov ax, cs mov ss, ax mov eax, 0 push eax mov eax, cs push eax mov eax, offset @F push eax iretd @@: change ss limit to 4 Gbytes create new stack pointer new stack segment flags after iretd segment after iretd offset after iretd Note: See the debugging example in Section A.14, Testing/Debugging SMM Code, for usage of above code. A-42 Appendix B BIOS Modifications Guide To reap full benefit from the TI486SXL(C) family of microprocessors, the system BIOS should be modified to support the internal registers that control the on-chip cache, clock doubling, and other features. This appendix serves as a guide to some of the changes that need to be considered, and includes sample assembler code for controlling the cache. There are three considerations that are discussed in relation to the internal cache registers and clock double enable: o Power-up and hard reset o Protected-mode to real-mode switching o Soft reset- ( CONTROL) (ALT) ( DELETE) In each case, the state of the CPU cache registers and the clock-double enable bit must be known to determine when and how to change their values. Topic Page -' 'c~ y ~ ,~ ~ B~ 1I?iffere.rice$·Bet\Ne~ntbe TI486SlC/aLC:BIO$and: theJI~:86$~L(ClBI.(jS ". . pr~~.PAQ.toRea'-MQ.d~C$WitCh~~r·· •..• . . .. .. ...:: S~ft~Re~et: .',: ¢(.\Nl~Qli~AtT..I))EE,ETE " •. ~' .•••• ,~; ~.:. ~. ~ •• ,~ ..•~.. '. _.•• ,~.•• ~ ~,;B':4 :rtlr~ing (jhandQ~'t~efrit~rrial C~~h~; ~j' ........ .,~ ~ ~ ... '.- • • • ·u~;. ~..;;; ;:. ~"J:l~4:' 8-1 Differences Between the TI486xLCIE BIOS and the TI486SXL(C) BIOS B.1 Differences Between the TI486SLC/DLC BIOS and the TI486SXL(C) BIOS The TI486SLC/DLC BIOS requires some modifications to fully support the new features of the TI486SXL(C) family of microprocessors. If the BIOS currently tests the internal cache before enabling it, the test routine will require modification. Due to the larger size of the TI486SXL(C) cache, the cache test registers have changed from those in the TI486SLC/DLC. (See Table 2-17 on page 2-36.) It is not necessary to test the TI486SXL(C) cache prior to enabling it during the boot process. In addition to changing the cache test registers, the cache organization selection bit has been redefined. In the TI486SLC/DLC, configuration control register 0 (CCRO) bit 6 is used to select between a direct-mapped and a two-way, set-associative, internal cache organization. For the TI486SXL(C) family, the cache is always two-way set associative and CCRO bit 6 is defined to enable clock-doubled mode. BIOS prepared to support the TI486SLC/DLC can allow the user to select the cache organization, but BIOS prepared for the TI486SXL(C) should comprehend that the cache-organization selection is not available. If the BIOS supports software clock switching, a modification to support clockdoubled feature may be desirable. Switching to high-speed mode should enable bit 6 of CCRO and thus put the CPU in clock-doubled mode. Switching down the CPU speed should disable bit 6 of CCRO and put the CPU in nonclock-doubled mode. If the BIOS is APM (advanced power management) compliant, the use of 1x and 2x modes should be implemented as well. Note: When the TI486SXL(C) is in clock-doubled mode, the CLK2 input must not be scaled or stopped. First, the processor must be placed in nonclockmode; then, the CPU clock speed can be changed. doubled , When the TI486SXL(C) family microprocessors are reset, the cache and the clock-doubled features are disabled by default. 8-2 Power-Up and Hard Reset / Protected-Mode to Rea/-Mode Switching B.2 Power-Up and Hard Reset During power-up and hard reset, the system is booted into the operating system. Due to the reset line to the CPU going active, the internal cache and the clock-doubled feature are disabled, making the CPU act similar to a 386. If the cache and the clock-doubled feature are enabled prior to the reset, they must be turned on at some point before the as is booted. A convenient time may be during final chipset initialization, understanding that the cache should remain off during memory sizing. Many BlOSs provide the user an option to disable the system cache using the setup screen. Because most user cache-control options are stored in nonvolatile RAM, the flag responses and potentially other flags should be checked before turning the cache on. B.3 Protected-Mode to Real-Mode Switching Protected-mode to real-mode switching can be implemented to handle cases where the as has been booted, applications are running, and the CPU needs to be reset from protected to real mode. The object is to switch CPU modes and jump back into the as or application at some saved return address. When the CPU is reset, the internal cache and the clock-doubled feature are disabled. Before returning control to the application, the cache and clock doubling should be turned back on, but only if they were enabled before the reset occurred. This is accomplished by checking the cache-enable flag in the nonvolatile RAM to see if the user enabled caching from the setup screen. However, if the BIOS allows the user to turn off the cache by a hot-key combination (perhaps as part of speed switching), other checks may need to be performed to see if the cache should be turned back on. BIOS Modification Guide 8-3 Soft Reset-CONTROL-ALT-DELETE / Turning the Internal Cache On and Off 8.4 Soft Reset- (CONTROL J ( ALT J ( DELETE J The objective of a soft reset is to reset the system and reboot the as, similar to power-up and hard reset, but a hard reset of the CPU is not generated. Thus, the CPU's internal cache and clock doubling are not disabled. Since the cache is not disabled, this can negatively impact memory-sizing code, such as generating memory-size mismatch errors. In this situation, disable the internal cache and enable it prior to booting if it was enabled by the user in setup. 8.5 Turning the Internal Cache On and Off When the TI486SXL(C) family of microprocessors internal cache is turned on or off, the following guidelines should be observed in the order presented: 1) Turn off interrupts-CLI 2) Turn off cache using Control Register 0 (CRO) bit 30 and flush using WBINVD 3) Manipulate cache registers 4) Turn on cache and flush using WBINVD 5) Turn on interrupts-STI This sequence ensures that the process is not interrupted until complete and that no cache coherency issues arise when the cache is turned back on. When manipulating the cache registers it is a good idea to explicitly set each register instead of relying on default values. 8-4 Turning the Internal Cache On and Off Example 8-1. Turning Internal Cache Off Some example assembler code for turning the cache off follows: CacheOut index, value AL, index 22h, AL AL, value 23h, AL MACRO MOV OUT MOV OUT CacheOut ENDM CLI MOV OR MOV WBINVD EAX, CRO EAX, 40000000h CRO, EAX CacheOut CacheOut OCOh, OClh, OOh OOh CacheOut CacheOut CacheOut OC4h, OC5h, OC6h, OOh OOh OFh CacheOut CacheOut CacheOut OC7h, OC8h, OC9h, OOh OOh OOh CacheOut CacheOut CacheOut OCAh, OCBh, OCCh, OOh OOh OOh CacheOut CacheOut CacheOut OCDh, OCEh, OCFh, OOh OOh OOh EX, 4COOh 21h WBINVD STI MOV INT set bit 30, turn off cache for external cache coherency return to DOS BIOS Modification Guide 8-5 Turning the Internal Cache On and Off Example 8-2. Turning Internal Cache On Turn on the microprocessor internal cache by modifying some of the register values as shown. The CacheOut macro definition remains the same: CLI MOV OR MOV WBINVD EAX, CRO EAX, 40000000h CRO, EAX CacheOut CacheOut OCOh, OClh, 23h OOh CacheOut CacheOut CacheOut OC4h, OC5h, OC6h, OOh OOh OOh CacheOut CacheOut CacheOut OC7h, OC8h, OC9h, OOh OOh OOh CacheOut CacheOut CacheOut OCAh, OCBh, OCCh, OOh OOh OOh CacheOut CacheOut CacheOut OCDh, OCEh, OCFh, OOh OOh OOh MOV AND MOV WBINVD STI MOV INT EAX, CRO EAX, NOT 40000000h CRO, EAX clear CD bit EX,4COOOh 2lh return to DOS 8-6 set bit 30, turn on cache for external cache coherency set bits NCI, NCO, BARB Appendix C I Desi n Considerations and Cache Flush This appendix provides design considerations, address bit A20 masking, and general cache invalidation procedures. Topic C.1 Page Besign .Consideratlons'.;.:~ '. ~',' .. ~ ..... ~ .. ~;.. " • ~~ ~~:.: ....... ~ •.'ii .~.C~2: . Co2 C.3 . General Ciijlle Invallijation '. ~ •... ~ ~ ... ~ ~ •. ~'.o' .... :,~ •• ~ ••' •• " ,0'0 • • :~ •• G'*4 . C-1 Design Considerations C.1 Design Considerations The following conventions should be employed in connecting the TI486SXL(C) terminals to the PWB: D Connect (short) all VCC terminals to the positive supply voltage. D Connect (short) all VSS (GND) terminals to the system ground. D For the TI486SXL in the 144-pin package connect (short) both W/R# terminals (terminals 36 and 37) together and connect to W/R# signal source. D Leave electrically open (unconnected) all NC terminals. Note: Connecting orterminating (high or low) any NC terminal(s) can cause unpredictable results or nonperformance of the microprocessor. The final responsibility for verifying designs incorporating TI486SXL(C) microprocessors rests with the customer originating the motherboard design. C-2 Address Bit A20 Masking C.2 Address Bit A20 Masking The A20M, address bit 20 mask, is an anomaly in PC designs resulting from the fact that truncated addresses can be generated by an 8086/8088 outside the physical address range of Oh-FFFFFh. For example, an 8086/8088 system that contains FFFFh in a segment register and OFFFh in an offset register results in an address of 1OOFFEh that requires 21 bits to address. Since the 8086/8088 has only 20 address bits (AO-A19), the most significant bit of the resultant address would need to appear on an A20 bit if the 8086/8088 had one. Since the 8086/8088 address bus is not wide enough, only the first 20 bits of the address are seen by the system. Using the address 1OOFFEh, generated in the previous example, the 8086/8088 system read/write address is performed at location FFEh and not at 1OOFFEh. The 80286 and later microprocessors implement at least 24 address bits and perform the read/write to address location 1OOFFEh. Thus, software applications can produce different results when run on an 8086/8088 system versus an 80286 or later microprocessor system. Systems that use 80286 or later microprocessors compensated for this anomaly by adding circuits to generate an A20 mask (referred to as the A20 mask or the A20 gate, or similar). The A20 mask consists of software-controlled logic that forces a zero on the A20 address line regardless of the actual value of A20. The software-controlled A20 mask can also instruct the mask to permit the true value to be passed to the system when required. It is important to note that the A20 mask logic is external to the processor in both 80286 and 80386 designs. The processor generates the actual address but the system logic can be set to ignore or not ignore the A20 pin. Normally, the A20 pin is ignored when these processors are executing in real mode and emulating an 8086/8088. This is an important consideration when replacing an 80386SXlOX device with a Tl486-type device. The TI486SXL(C) microprocessors implement an internal cache and, if the system is in a state that ignores the A20 address input, the processor must know so that it can also ignore the A20 address input. If the A20M bit of configuration control register 0 (CCRO) is set, the TI486SXL(C) microprocessor knows that the A20M input provides the true value required. However, if the TI486SXL(C) is inserted into a socket designed for the 80386SXlOX, the TI486SXL(C) A20M pin is placed at a pin location that is n"ot used by the 80386SXlOX. The system hardware needs to be modified to provide the A20M connection. The NCO bit of CCRO is a software-only solution to the A20 mask function. When set, the TI486SXL(C) microprocessor does not cache the first 64K bytes of memory above each 1M byte boundary. This solution means that, even if the value of the A20 address is not known, the processor does not cache data to the affected addresses. Design Considerations and Cache Flush C-3 General Cache Invalidation C.3 General Cache Invalidation When the FLUSH bit in configuration control register 0 (CCRO) is set, the FLUSH# input, when asserted low, invalidates the contents of the TI486SXL(C) internal cache. This can be used to assure that data stored in the TI486SXL(C) internal cache does not differ from data stored in system memory. Additionally, the cache can be invalidated by execution of the 486-compatible invalidate instructions (INVD,WBINVD) or in response to a hold acknowledge state if the BARB bit in CCRO is set. The method chosen for invalidating the TI486SXL(C) internal cache can be different, depending on whether or not the system has a serial secondary cache. Invalidation methods are described for systems with and without a serial secondary cache. C.3.1 Systems With No Secondary Cache or With a Parallel Secondary Cache When the only cache memory in the system is the TI486SXL(C) internal cache, or when the secondary cache has a parallel (or look-aside) architecture, there are two general methods of invalidating the cache and maintaining cache coherency. C.3.1.1 Method 1 Invalidate the TI486SXL(C) cache every time the CPU enters a hold state. By setting the BARB bit in CCRO, automatic cache flush occurs when the TI486SXL(C) is placed in a hold state. If the chipset does not support hidden refresh, very frequent cache invalidation may occur since the CPU is placed in hold during DRAM refresh cycles that occur approximately every 15 /-1s. If the chipset supports hidden refresh, this may be an acceptable solution since the cache is only invalidated during DMA or bus master reads from or writes to memory. C.3.1.2 Method 2 Invalidate the TI486SXL(C) internal cache when a DMA or bus master writes to system memory. The external hardware must drive the TI486SXL(C) FLUSH# or MEMW#t input when DMA or bus masters are detected writing to system memory. This can be done using one of the circuits shown in Figure C-1 or Figure C-2. Figure C-1 shows the circuitry needed to generate an active-low FLUSH# to the CPU each time a hold state is entered (defined by HLDA = 1) and memory write occurs (defined by MEMW# = 0). Figure C-1. Cache Invalidation for the TI486SXLC and the 132-pin TI486SXL TI486SXLC and 132-Pin TI486SXL MEMW# (from ISA bus) HLDA ----------------~ (from CPU) FLUSH# t MEMW# input is implemented on the 144-pin and 16B-pin TI4B6SXL only. C-4 General Cache Invalidation The 144-pin QFP and 168-pin PGA versions of the TI486SXL have the external hardware shown in Figure C-1 incorporated on chip. Therefore, to maintain cache coherency in these two devices, connect the MEMW# signal from the ISA bus to the MEMW# input as shown in Figure C-2. Figure C-2. Cache Invalidation for the 144- and the 168-Pin TI486SXL 144- and 168-Pin TI486SXL MEMW# (ISA) ----I MEMW# (Internal pullup) C.3.2 Systems With a Serial Secondary Cache In a system with a serial (or look-through) secondary cache, flushing the cache cannot be accomplished by setting the BARB bit in CCRO. Bus arbitration occurs between the serial cache controller and the system allowing the CPU to continue executing out of cache. The secondary cache controller arbitrates the bus among itself and DMA controllers or bus masters and asserts HLDA to the chipset when the bus has been granted. Each time a DMA or bus master write is detected, the FLUSH# pin on the TI486SXL(C) must be asserted. The circuit shown in Figure C-3 can be used. Note that the HLDA signal is generated by the secondary cache controller rather than the CPU. This is the preferred solution since, in many cases with secondary serial caches, the CPU is not put in hold so it can continue execution from cache while DMA or bus-master activity is occurring on the system bus. Figure C-3. FLUSH# Logic With a Serial Secondary Cache TI486SXL 144- and 168-pin only ~ • _____________________ .. ~,Pin66 , MEMW#, '(no connection) 1.-------------- ______ " MEMW# - - - - ( (From ISA) )-----1 FLUSH# HLDA - - - - - - - - ' (From Cache Controller) Design Considerations and Cache Flush C-5 C-6 Appendix D OEM Modifications for 168·Pin CPGA This appendix describes the potential modifications an OEM needs to imple-\ ment on an existing 486SX/DX motherboard to take advantage of the TI486SXL 168-pin CPGA. This package offers OEMs added flexibility in implementing solutions that support various 486 CPUs with the same motherboard. The pinout of the TI486SXL 168-pin CPGA is nearly identical to the Intel™ or AMDTM 486SX CPGA pinout. The NC pins on the TI486SXL package that match signal pins on the 486SX have no internal connection and can be left connected to the 486SX signal pins when the board is configured as a TI486SXL board. This greatly simplifies the interface for the OEM. The classes of board designs covered are listed in the topic index below. The board design requires the use of system logic that supports the Intel/Advanced Micro Devices 486 interface and the TI486SXL interface. Since board modifications for TI486SXL support are system-logic dependent, the implementation details are left to the board designer.The design examples show both required and optional jumper connections that can be made if the functions associated with them are needed. None of the optional signals require termination if not used. Subsection D.5, Power Planes for 3.3-Vand 3.3-V/5-V Systems Using TI486SXL or 486DX4 on page D-9, shows a system implementation for .a 3.3-V system that supports a 5-V ISA and a 3.3-V VL bus and another imple. mentation for a mixed 3.3-V/5-V system that supports a 5-V ISA and a 5-V VL bus. In both implementations the microprocessor runs at 3.3 V. The final responsibility for verifying designs incorporating any version of a TI486SXL microprocessor rests with the customer originating the motherboard design. Topic Page . :D~1 . 1391l" - - - - - - CLKMUL o System Logic Side 1 0 - - - - - BUSY# S4/VOLOET-------I0 2 3 0 - - - - - VOLOET Jumper 1-2: TI486SXL 2-3: 4860X4 Function: Burst Mode (Required) 168 CPGA Socket Side 486DX4 Pin No./Name R16/BLAST# 0-6 1-2: TI486SXL 2-3: 4860X4 Function: Voltage Detect (Required) 168 CPGA Socket Side 486DX4 Pin No./Name o Jumper System Logic Side 10 kQ 1 0------JVV'v-- V SS 20 BLAST# 0 3 (VL slot) Jumper 1-2: TI486SXL 2-3: 4860X4 Boards Supporting the VL Bus 0.4 Boards Supporting the VL Bus In order to support the VESA VL bus™ 2.0p Proposal, the following design guidelines should be considered. 0.4.1 Cache Snooping In a VL-bus design, it is the function of the local bus controller to resolve arbitration between the CPU and the VL-bus master. For this architecture, the CPU can be forced to relenquish the host bus by asserting HOLD. There are two options for maintaining cache coherence: D Use the BARB bit in Configuration Control register 0 (CCRO) to flush the internal cache. D Use the inverted HLOA output of the CPU to perform a hardware FLUSH# to the CPU. See Figure 0-3. The FLUSH# pin must be enabled by using bit 4 of CCRO. Figure D-3. Hardware Flush HLOA4-------e----1 CPU FLUSH# Note: Pin names and assigned locations are provided in Chapter 6, Mechanical Specifications. These methods can be used only if the system logic supports the CPU HOLD arbitration scheme. 0.4.2 VL-Bus Clock The VL-bus clock signal is a 1X clock that is in phase with the 486-type CPU and is driven by either the system logic or the local-bus controller. The VESA speciification allows for a frequency range of up to 66 MHz and dynamic clock scaling. The specification limits the low-to-high level skew from the CPU clock to LCLK as shown in Table 0-1 . Table D-1. VL -Bus Skew LCLK Max Frequency Unit 33 40 50 Max Skew Unit 3 MHz 2.5 ns 2 Systems that currently support a 1X and a 2X clock source should supply the 2X clock source to the CLK2 input of the TI486SXL and the 1X clock source to the VL-bus LCLK signal. Systems that currently support only a 2X clock source can consider the addition of a PLL or clock divider to generate the 1X VL-bus clock. OEM Modifications for 168-Pin CPGA 0-7 Boards Supporting the VL Bus 0.4.3 VL-Bus Slot 10 Settings The VL-bus slot 10 settings are shown in Table 0-2. Table 0-2. VL-Bus Slot 10 Settings Slot 10 Setting 100 0-8 Comments TI486SXL Mode 101 0 TI486SXL Mode 102 o or 1 0: Minimum one wait state for writes 1 : Zero wait states for writes 103 o or 1 0: >33 MHz CPU clock speed 1: < 33 MHz CPU clock speed 104 0 Burst transfer not supported Power Planes for 3-V and 3- V/5- V Systems Using T1486SXL or 486DX 0.5 Power Planes for 3.3-V and 3.3-V/S-V Systems Using TI486SXL or 486DX4 0.5.1 Power Planes for 3.3-V Systems Figure 0-4 shows the implementation of a 3.3-V system that supports use of either the TI486SXL or a 4860X4 microprocessor. This implementation yields a 5-V ISA bus and a 3.3-V VL bus with the microprocessor running at 3.3 V. Figure D-4. 3.3-V VL-Bus Implementation Vee 5-V Power Supply Regulator = 3.3 V 3.3-V VL Bus r--Chipset (3.3-V/5-V mixed) 3.3-V SRAMs DRAMs I I I I I I IL ---, I I I VGAlLCD I I VL Slots I (optional) I _ _ _ _ _ _ _ .J 5-V ISA Bus r- I I I I I IL -. I I I I I _ _ _ _ _ _ _ _ ISA __ _ _ _ _ _ _ _ _ _ .JI Slots OEM Modifications for 168-Pin CPGA D-9 Power Planes for 3- V and 3- V/5- V Systems Using Tl486SXL or 486DX 0.5.2 Power Planes for Mixed 3.3-V/5-V Systems Figure D-5 shows the implementation of a 3.3-V/5-V system that supports use of either the TI486SXL or the 486DX4 microprocessor. This implementation yields a 5-V ISA and and a 5-V VL bus with the mocroprocessor running at 3.3 V. Figure O-S. Mixed 3.3-V/S-V VL-Bus Implementation VCC5 = 5 V 5-V Power Supply Vcc = 3.3 V Regulator 5-V VL Bus r- 5-V Chipset 5-V SRAMs DRAMs --- -, I I I I I Slot 1 Slot 2 I I I I I I VL Slots I IL _ _(optional) _ _ _ _ _ .JI 5-V ISA Bus --, ~~~~~~,......-l~~~"""""~ I I I I - - - - - - - - - - - - "---- '-----' 1....-......... I IL _ _ _ _ _ _ _ _ISA Slots I _ _ _ _ _ _ _ _ _ _ _ .J 0-10 Chipset Support 0.6 Chipset Support The following list of chipset vendors providing single-chipset solutions that support both the Intel/AMD and the TI486SXL interface was compiled from information received from the specified chipset vendors. This is a partial list and is not meant to be all inclusive. o o o o o o o o o o o o o o ACC Microelectronics Acer Laboratories EFAR ETEQ Microsystems Headland Technology OPTI PicoPower Technology SARC/PC Chip Silicon Integrated Systems (SIS) Symphony Laboratories Tidalwave UMC UniChip Western Digital OEM Modifications for 168-Pin CPGA D-11 D-12 Appendix E Thermal Management in Microprocessor-Based Systems The purpose of this paper is to familiarize the reader with basic thermal concepts and the relationship between thermal measurements and the system. In addition, problems associated with comparing thermal specifications from different manufacturers are discussed. Finally, corrective activity within JEDEC is explained in detail. This application report is intended for the casual scientific reader and the only prerequisite is general engineering knowledge of semiconductor devices. Page Topic 0>..•..• > •.. ~' .•••.•.. ~ •..... ~'; ..>•.... E·2 E.1 Introduction. '>,' ii • • E.2 Modes E;3 Thermal SpecificationsC)flnfe,gtated Circuits .••... ~ ..•••••..••.• E-9 E.4 TIThermal Specification Methodology ••.••.••.• ~ .•••••••' .••..• E-11 E.5 Guidelines •..• >.•••••..••.•••••..•••...• 0...................... E-14 E~7 Current Trends and Th~ory of Correction •• ~ .•..•.•••....•.•.•.. E-15 E.7 Conclusions> •..••........••.•.... ~ ••..•...•••....••.••.....••• E-15 » .......... of Heat Transfer ; •...••.•..•.•••.•.•••.... >••••••...•.... E..4 E-1 Introduction E.1 Introduction Thermal management is considered to be an important factor in both the conception and usage of semiconductor integrated circuits (ICs). Thermal management is defined as the modes and techniques required to transfer a powered IC's resultant operating heat to a system thermal heat sink. The thermal management of an IC is normally discussed in terms of that IC's operating junction temperature (i.e., p-n junction of a diode). There are two main goals for thermal management. o The first is to ensure that the operating junction temperature of the IC does not exceed the range of functional and maximum temperature limits of that IC. The functional temperature range of an IC is bounded by the temperatures that allow the IC to meet specified performance requirements. If the operating junction temperature of an IC is not within the functional temperature range, diminishing system performance and operational errors may result. The absolute maximum temperature is defined as the temperature at above which physical damage begins to occur to the IC. o The second objective of thermal management is to ensure that the operating temperature of an IC enables the product reliability objectives for a given application to be met. Device failure rates are proportional to IC operating temperatures as shown in Figure E-1. Figure E-1. Effect of Component Operating Temperature on Component Failure Rate t eV 1= 10 3 ~I~ c E ~ 1 mAl 500 I Q) ~ C> 19 g 400 " Q) "'0 0 0 300 Q) "§ u; ..0 200 '" " ~ ~~ " :::J CJ) I "> 100 o o 20 40 60 80 100 120 T J -Junction Temperature- °C E.2 Modes of Heat Transfer There are three ways that heat is transferred between points of differing thermal potential: o o o conduction convection radiation Conduction, the simplest heat-transfer mechanism, is the transfer of kinetic energy from a more excited atom or electron to a nearby atom or electron that is less excited via vibrations and collisions. The ability to conduct heat is dependent on the material. Materials that are dilute by nature (e.g., gases) are poor heat conductors because of their low density. On the other hand, metals are good thermal conductors as a result of their inherently high number of free electrons to encourage collisions. This ability to conduct heat is quantified by a proportionality constant (k) often referred to as thermal conductivity. Table E-1 lists some common packaging materials and their associated thermal conductivities. E-4 Modes of Heat Transfer Table E-1. Thermal Conductivity of Packaging Materials§, 11 Metals (at 25°C) Thermal Conductivity, (W/m) (0 C) Copper 397 Aluminum 238 Lead 34.7 Alloy-42 (common lead-frame material) 10.7 Thermal Conductivity, (W/m) (0 C) 0.0234 Air Nonmetals Thermal Conductivity, (W/m) (0 C) ~0.8 Glass Epoxy glass ~O.89 A second mode of heat transfer is convection, which is heat transfer by the movement of a heated substance. In the case of natural convection, such movement is caused by the induced differences in density that result from the expansion and compression of a gas or liquid subjected to temperature changes. Another type of convection, forced convection, forces movement of a cooling medium across a heat source. Often, forced convection is created by the use of a cooling fan within a system. A final mode of heat transfer is radiation. Radiated heat transfers occur due to thermal emission primarily in the infrared spectrum. Radiation is subject to common-wave phenomena such as reflection. The ability of the surface of a material to radiate heat is referred to as that surface's emissivity. Possible values for emissivity are from zero to unity, where unity signifies the maximum thermal radiation at a given temperature.§ E.2.1 Integrated Circuit Thermal Resistance The thermal resistance of an integrated circuit within a system can be broken into two major components: o o Internal resistance of the IC, Rei External resistance of the Ie, Rex Conventionally, resistances are discussed in more distinct terms. ReJC is defined as the thermal impedance from the silicon die within an integrated circuit to the package surface, or case of that IC. This thermal path includes the thermal impedances of each of the materials used in packaging the IC, such as solder, die adhesive, base materials, leads, the case itself, etc. Rei and ReJC are interchangeable terms because ReJC quantifies only those thermal impedances internal to the package ending at the package leads or package body surface. Re i and ReJC are functions of the IC package only and are not significantly affected by the particular system in which an IC is used. The semiconductor manufacturer controls the values of Re i and ReJc, 11 Charles A. Harper and Frank E. Altoz, Electronic Packaging and Interconnection Handbook, Mc Graw-HiII, Inc, New York, pp. 2.61-2.62. § Raymond A. Serway, Physics for Scientists and Engineers, Saunders College Publishing, Philadelphia, p. 545. Thermal Management in Microprocessor-Based Systems E-5 Modes of Heat Transfer The thermal impedances that exist between the package case and the system ambient thermal sink are collectively defined as RaCA, (thermal impedance from case to ambient air). For a given package size and format, all such thermal impedances are primarily dependent on the particular system in which an IC is used (PWB thermal conductivity, presence of forced convection, etc.). These impedances are controlled by the user of the IC. Often RaJC and RaCA are referred to together as RaJA. RaJA can be qualitatively described as the thermal impedances between, and including, a heat-sourcing silicon die and the system ambient thermal heat sink.lf# To demonstrate the relative size of RaJC and RaCA, Table E-2 displays various values for each of their respective percentages of the corresponding value of RaJA at 0 cubic feet per minute (cfm) airflow. All entries listed come from various data sheets of several manufacturers of 486-class microprocessors. Notice that RaJC accounts for a maximum of 15 percent of RaJA. For all QFP packages listed, the average share of RaJC is 9.6 percent. For the PGA package, 15 percent of RaJA is RaJc. As previously mentioned, the semiconductor manufacturer controls the value of RaJC through various process parameters. Therefore, at maximum, RaJC accounts for approximately 1/8th of the RaJA value for packages listed. Stated differently, RaCA (or the system), accounts for approximately 7/8ths of the total thermal resistance within a system. Table E-2. Thermal Performance of Various 486-Class Microprocessors Package QFP PGA Number of Pins RSJC, eCIW) Metal 100 Plastic 100 Ceramic 132 Material Percent of ReJA ReCA, eCIW) Percent of ReJA 2 8.7 21 91.3 4 11.1 32 88.9 3 15.0 17 85.0 The system in which an integrated circuit is used is quite significant in the RaJA value for that IC. As stated, at least 7/8ths of the thermal impedance from the silicon die to ambient air is due to the system. Significant effort is concentrated on thermally optimizing the system in order to improve the thermal performance of the ICs within. It is important to understand that such effort is exerted by the IC user. There are several user-controlled system factors that contribute to the thermal resistance of an IC: o o o PWB thermal conductivity Proximity/density of the ICs on a PWB Airflow ~ Charles A. Harper and Frank E. Altoz, Electronic Packaging and Interconnection Handbook, Mc Graw-Hill, Inc, New York, pp. 2.61-2.62. # Jack Belani and B.J. Shanber, "Impact of Packaging Materials on Semiconductor Thermal Management", Third Conference of Electronic Packaging: Materials and Processes &Corrosion in Microelectronics, Minneapolis, Minnesota, April 28-30, 1987, pp. 113-115, 118. E-6 Modes of Heat Transfer E.2.2 PWB Conductivity The thermal conductivity of a PWB is determined by the individual thermal conductivities of materials that comprise the PWB. PWBs are non homogenous and normally consist of a base-laminate material, such as epoxy glass, and various amounts of other materials, such as traces or planes made of copper. The thermal conductivity of the laminate varies little between commonly used PWB laminates (thermal conductivity of epoxy glass is about 0.89). Since the thermal conductivities of commonly used routing metals are much higher than that of the PWB laminate (see Table E-1 [page E-5], aluminum: 238, copper: 397), the thermal conductivity of a PWB is proportional to the amount of metal in the PWB. Table E-3 shows the thermal conductivities of several PWBs made from FR-4, a type of epoxy glass. The boards vary by the number of signal layers and the number of ground layers, or essentially, the copper volume. As copper volume increases from 0 to 6.9 percent, thermal conductivity (W/m) (OC) increases by a factor of 90 or almost two orders of magnitude. This is a result of the higher thermal conductivity of copper compared to epoxy glass. The thermal conductivity of the PWB is proportional to the signal and ground metal content of a PWB. The area and thickness of metal on lower levels of a PWB, under the footprint of an IC, affects the thermal performance of that particular IC.II Table E-3. Thermal Conductivity of PWBs With Various Amounts of Copper Board Type and Layers Signal-Layer Trace Widtht Ground-Layer Trace Widtht Copper Volume, (%) Thermal Conductivity, (W/m)(OC) FR-4 a 0.3 FR-42 layer 35 11m 1.0 3.7 FR-44 layer 35 11m 35 11m 3.5 13.6 35 11m 70 11m 6.9 26.9 FR-44 layer t Trace thickness is 2 flm. Table E-4 compares two types of PWBs with identical 1~O-pin QFP devices mounted on each board, and each board uses identical minimum-metal, signal-routing traces to complete the signal-interconnection layer. The singlesided PWB contains no metal on the opposite side of the board. The two-layer PWB has a solid-copper ground plane on the opposite side. All measurements are taken with no airflow present. The value of R8JA for the IC is improved by 9 percent by the addition of a copper ground plane (a resulting increase of 55 percent in copper content). When metal is present on lower levels of a PWB within the projected footprint of an IC, the thermal performance of that IC is improved due to a lower value of R8JA- II Ake Malhammer, Ph.D, "Heat Dissipation Limits for Components Cooled by the PCB Surface", International Electronics Packaging Conference, San Diego, California, September 15-1B, 1991, pp. 307-30B. Thermal Management in Microprocessor-Based Systems E-7 Modes of Heat Transfer Table E-4. ReJA Versus Board Type Board Type Single sided 36.0 Two sided 32.8 Figure E-4. Metal Within Projected Footprint of Integrated Circuit PWB I If metal is in this area, the thermal performance of the Ie improves. I ~ E.2.3 Projected Footprint \ \ ~ Proximity of Integrated Circuit on Board The location of an integrated circuit on a PWB can make a significant difference in the junction temperature of that device. In an ideal design, those ICs with the lowest heat dissipation are located in the center of a PWB, and those ICs with the highest heat dissipation are at the edges of the PWB. A concept known as the territory surface method associates an area of PWB required to sink the heat flow from a given IC. Often, in the case of surface-mount packaging, an IC's territory is violated by either other IC's territories or the edge of the PWB. In either case, thermal performance is hindered in all involved ICs. It is important to understand that not only the proximity of an IC on a PWB but also its relative location on the board has significant effects on thermal performance.lI* E.2.4 Airflow In a typical system, heat dissipated by natural convection is a significant portion of overall heat dissipation. When forced convection is present within a system, the amount of heat dissipation increases in proportion to the rate of flow of the convection. Higher rates of forced convection result in lower values of RaJA· In Table E-5, values of RaJA are listed for a 1~O-pin QFP mounted on a singlesided board in varying amounts of forced convection. As airflow (forced convection) increases from a rate of 0 cfm to 600 cfm, RaJA is decreased by a factor of 2.4. It can be stated that the RaJA value of an IC in a system is inversely proportional to the presence/amount of forced convection (airflow). II Ake Malhammer, Ph.D, "Heat Dissipation Limits for Components Cooled by the PCB Surface", International Electronics Packaging Conference, San Diego, California, September 15-1B, 1991, pp. 307-30B. *M.M. Hussein, D.J. Nelson, and A. Elshahiu-Riad, "Thermal Interconnection of Semiconductor Devices on Copper-Clad Ceramic Substrates", 7th IEEE SEMI-THERM Symposium, August 1991, pp.121-122. E-8 Modes of Heat Transfer / Thermal Specifications of Integrated Circuits Table E-S. ReJA Versus Airflow t Airflow (cfmt) ReJA o 36 100 32 200 26 400 19 600 15 cfm = cubic feet per minute E.3 Thermal Specifications of Integrated Circuits Manufacturers normally publish detailed specifications of ICs that contain a thermal portion, or a thermal specification. Manufacturer's thermal specifications differ in many ways, but most thermal specifications publish the range of allowable package case temperatures in order to ensure that a device is functional (those case temperatures at which the range of functional junction temperatures are not exceeded). In addition, many manufacturers include some of the following variables: o o o RaJC RaJA at various airflows Maximum ambient air temperature, TA, at various airflows. As previously stated, many thermal variables are system dependent. In order to compare ICs on the basis of their published thermal specifications, it is necessary to have knowledge of the system in which such specifications were measured. Recall that 7/8ths of the thermal resistance of an IC, RaJA, is due to elements other than that IC. In addition, measurement techniques can affect thermal resistance values. In general, there are three factors that contribute to the inability to compare different manufacturers' thermal specifications: o o o E.3.1 System dependence of RaJA and RaCA Technique/location for measurement of TA Definition of Q or P.D System Dependence of RaJA and RacA There is presently no industry accepted standard system used for measuring thermal resistances. Consequently, systems used to measure thermal specifications vary widely between manufacturers with respect to thermal performance. For similar ICs built by different manufacturers, thermal specifications are often misleading due to the use of differing thermal systems. o [7]James A. Andrews, "Package Thermal Resistance Model Dependency on Equipment Design", IEEE Transactions on Components, Hybrids, and Manufacturing Technology, Volume II, Number 4, December 1988, pp. 536-537. Thermal Management in Microprocessor-Based Systems E-9 Thermal Specifications of Integrated Circuits As stated previously, there are several approaches to publishing thermal specifications: worst case, best case, and somewhere between these two points. As a result, you need to be cautious when making decisions based on systemdependent thermal resistances such as RSJA and RSCA' If information concerning the system is omitted from a thermal specification, values for RSJA and RSCA should be disregarded for the purpose of comparison. E.3.2 Measurement of TA Recall equation E-2 for thermal impedance, repeated here as equation E-4: R S = L\T E-4 0 where L\T is the difference in temperature between a transistor junction and some reference point. The choice of reference point and its temperature with respect to the junction is of great importance to the precision of thermal impedance. Holding the junction temperature constant as the reference point's temperature is increased makes the calculated thermal impedance smaller. Most manufacturers choose the local ambient-air temperature within the system enclosure as the reference point. However, because the local air temperature is likely to be subject to natural convection and a resulting nonuniformity of temperature, the reference point must be well defined to avoid inaccuracy. When comparing thermal specifications, the reference point used to calculate thermal impedance has significant effect on the value of thermal impedance. If no information is included concerning the reference point, absolute comparisons of thermal specifications must be made cautiously. E.3.3 Definition of Q The rate at which energy is converted from electrical energy into heat energy is known as power (P). P is defined by equation E-5: P = VCC x ICC E-5 For the purpose of thermal-impedance calculations, some manufacturers use a relationship that describes the typical power dissipation, equation E-6: = VCC(t) x P ICC(t) E-6 Other manufacturers use the maximum amount of power dissipated, equation E-7: P = VCC(m) x ICC(m) E-7 where (t) denotes a typical value and (m) is a maximum value. Neither method is incorrect, but typical power dissipation is significantly lower than maximum power dissipation in most circumstances. As a result, thermal impedances calculated using typical power dissipation are lower than those thermal impedances calculated using maximum power dissipation. This is because of impedance's inverse relationship with power dissipation or 0, as shown in equation E-8: R S E-10 = L\T 0 E-8 Thermal Specifications of Integrated Circuits / TI Thermal Specification Methodology When examining thermal specifications, it is important to know the manufacturer's definition of power dissipation. Often, the equation for power dissipation is included in either the section pertaining to electrical characteristics or the thermal specification's definition of variables. If not, use caution when comparing such specifications. E.4 TI Thermal Specification Methodology Some manufacturers publish thermal specifications according to typical system conditions in which the IC will be used. Other manufacturers publish thermal specifications for absolute worst-case conditions. Other manufacturers' thermal specifications are applicable for conditions somewhere between these two points. In order to ensure the reliability of Texas Instruments microprocessor devices, the thermal specifications are published in accordance with a realistic worst-case scenario. This means that the data is measured in a conservative manner, but not so conservative as to hinder its usefulness when designing microprocessor-based systems incorporating TI devices. The following paragraphs provide a detailed explanation of how TI obtains thermal data and the reasons for using such methods. A thermal test die is mounted in the package to be tested and the package is mounted on a test board consisting of 0.062 inch thick FR-4 material with oneounce copper etch. The 100-pin QFP (package of the TI486SXLC microprocessor) is soldered to a single-sided test board using matching footprints and minimal circuit-trace density required to interconnect the device electrically to the board. The 132-pin ceramic PGA (package of the TI486SXL microprocessor) is inserted in a socket that is soldered to the same test board. As discussed previously, PWB thermal conductivity has a significant effect on the RSJA value of a device and is proportional to the amount of metal in the PWB within the projected footprint of the device. It is important to recognize that the test PWB described above has a minimum amount of routing metal and is single layer. PWB conductivity is minimized, and the experimentally determined value for RSJA is maximized. To measure still-air RSJA, the package to be tested and board on which it is mounted are placed horizontally in a container that has a volume of one cubic foot of air. Power is supplied to a transistor on the die, and after a thirty-minute stabilization period, the temperature of the air (T1) and the base-emitter voltage (VBE 1) of the transistor are recorded. Power is supplied to an array of transistors on the die to cause an increase in junction temperature and the baseemitter voltage (VBE2) of the powered transistor is recorded. The package and board are placed in an oven and the temperature is raised to 90° C, T2 and another measurement of base-emitter voltage (VBE3) is recorded. Still-air RSJA can be calculated by substituting the measured variables (T1 , T2, VBE 1, and VBE3) into equations E-9 and E-10: - (VBE1-VBE3) s Iope (T2-T1) E-9 R E-10 - (VBE1 - VBE2) SJA slope Thermal Management in Microprocessor-Based Systems E-11 TI Thermal Specification Methodology For the purpose of measuring RSJC, the package and board are placed in a bath of moving fluorinert FC-77. After a thirty-minute stabilization period, the temperature of the fluorinert is recorded (T1) and the voltage across a powered transistor on the test die is measured from base to emitter (VBE1). Power is then applied to an array of resistors on the test die to produce a subsequent increase in junction temperature. The voltage across the same transistor from base to emitter (VBE2) is recorded. The package and board are placed in an oven at 90° C (T2) and the voltage across the powered transistor is measured from base to emitter, VBE3. Note that at this point, the resistors are no longer powered. Once VBE1, VBE2, VBE3, T1, and T2 are known, these values are substituted into equations E-11 and E-12 to find a value for RSJC. RSJC is independent of the system so system information has been omitted from this explanation. However, the test die that is used within the package must be consistent in size and power dissipation with the actual application die. An example of plotting thermal data is shown in Figure E-S. - (VBE1-VBE3) s Iope (T2-T1) R E-11 _ (VBE1 - VBE2) slope E-12 SJC - Figure E-S. Plotting Die Thermal Data VBE1 ~ VBE2 VBE3 o Ambient ~ 25 90 T1 T2 Power Oven TJ-Junction Temperature of Test Die-oC To measure RSJA versus airflow, the test package and mounting board are placed vertically in a calibrated wind tunnel as shown in Figure E-6. A temperature probe and anemometer-type airflow probe are located towards the front end of the tunnel. A fan is mounted at the rear of the tunnel. Its airflow is directed away from the wind tunnel to induct air from the front of the tunnel to the rear. At various controlled rates of airflow, the voltage is measured across a powered transistor on the test die (VBE1). The temperature in the tube is recorded as T1. An array of resistors on the test die is powered to cause an increase of temperature across the die. The voltage is again measured across E-12 TI Thermal Specification Methodology the same transistor (VBE2). The device is removed from the wind tunnel, placed in an oven at 90° C (T2), and only the transistor is powered. The voltage from base to emitter on the transistor is measured (VBE3). As in the procedure for RSJC, the experimental values are substituted into equations E-9 and E-10 (page E-11 ) to find the value for the slope and RSJA for a specific airflow. Figure E-6. Wind Tunnel Schematic Diagram Device Test Board Temperature and Anemometer-Type Airflow Probe > AirflOW> Fan Wind Tunnel Cross-Section is 6 in by 6 in. ~ 5 in ---I~I.I--- 24 in -~:I ..... ~--------------------------78in--------------------------~ (Dimensions are approximate.) The procedures described above are relatively consistent across the industry with the exception of the test-board specifications and the measurement location of T1. In the test-board specification the thermal conductivity is of great importance to the experimentally determined value of RSJA. As shown in Table E-3 (page E-7), a 4-layer FR-4 PWB is approximately 89 times as thermally conductive as a single layer PWB with no copper. It is not uncommon to find 8 or more layers in a microprocessor PWB. TI uses a single-sided test board with only one ounce of copper etch as opposed to a typical application multilayer PWB with a much higher content of copper etch and consequently, better thermal conductivity. The RSJA values reported by TI should be viewed as worst-case versus typical for an application. The ambient temperature location is measured and is not affected by an increase in operational case temperature as would occur in a typical closed-system-case application. Such a measurement of ambient temperature allows for a greater difference or delta between the junction temperature and the measurement reference point and, as a result, a higher value of RSJA. When comparing RSJA values from Texas Instruments with other manufacturers, it is important to understand the test conditions of each before drawing conclusions regarding which unit offers the best thermal performance. Thermal Management in Microprocessor-Based Systems E-13 Guidelines / Current Trends and Theory of Correction E.S Guidelines Because of the possibility of disparity in generating thermal specifications, it is often difficult to compare similar parts produced by different manufacturers. To ensure the validity of a comparison between the thermal specifications of several devices, these guidelines should be followed: o Ensure that the system is the same for all devices to be included in the comparison. If the system is not the same, only consider values for ReJc, ReCA and ReJA values should be disregarded because oftheir system dependence.# o Disregard from the comparison those devices whose thermal impedances were obtained using different reference points. Remember that ~T decreases as the reference temperature increases (holding the junction temperature constant), and that thermal impedance is proportional to ~T. An increase in ~T (or a decrease in the measured reference temperature) causes a resulting increase in the calculated thermal impedance. o Include only those devices with like definitions for power dissipation. Higher values for P result in lower values of calculated thermal impedance. Typical power dissipation (the product of typical V CC and typical ICC) is significantly lower than maximum power dissipation (the product of maximum VCC and maximum ICC)' E.6 Current Trends and Theory of Correction The dilemma concerning thermal specifications and the incompatibilities between manufacturers has not gone unnoticed. The JEDEC JC-15 committee has developed objectives for standardizing electrical and thermal modeling and measurements for IC packages and interconnects. A task force, designated JC-15.1 , was originated to accomplish two of the above goals by the following actions: o o Propose a standard board for device thermal-resistance measurements Provide a standard measurement to which actual thermal-modeling measurements can be compared Companies often use varying systems and measuring techniques for the purpose of obtaining thermal-resistance measurements of ICs. To cope with these variances, JEDEC JC-15.1 is proposing a board layout to standardize thermal-resistance measurements. The proposed board (3" by 4.5") ~contains only the device to be characterized with a minimum amount of metal. If widely accepted within the semiconductor industry, such a board definition could provide improved validity when comparing integrated-circuit thermal specifications. # Jack Belani and B.J. Shanber, "Impact of Packaging Materials on Semiconductor Thermal Management", Third Conference of Electronic Packaging: Materials and Processes &Corrosion in Microelectronics, Minneapolis, Minnesota, April 28-30, 1987, pp. 113-115, 118. E-14 Conclusions E.7 Conclusions In summary, the thermal impedance of an integrated circuit within a system is divided into two components: Rei and Rex or ReJC and ReCA' ReJC or Rei account for only about 118th of the total thermal resistance of an IC within a system. ReCA or Rex is responsible for 7/8ths of the total thermal resistance. The total thermal resistance of an IC within a system, often referred to as ReJA, is significantly dependent on the system's thermal performance. The system thermal performance can be attributed to several factors: o o Proximity of ICs on the PWB and total component density of the PWB o Presence andlor amount of forced convection PWB thermal conductivity Thermal specifications of ICs include one or more of the following variables versus airflow: ReJC, ReJA, and TA(m)' ReJA is dependent on the system. To make a valid comparison of multiple manufacturers' thermal specifications for similar parts, thermal specifications must meet the following guidelines: o Identical systems (Le., PWB thermal conductivity, airflow) o o Similar reference points for thermal-impedance calculation Like definitions of P Because of the current problems surrounding thermal specification comparisons, JEDEC has provided a task force, JC-1S.1 , to develop and maintain a standard-PWB definition for the purpose of measuring thermal resistances to be included in thermal specifications. Until such a method is adopted industry wide, the discussed guildelines should be followed to assure valid thermalspecification comparisons. Thermal Management in Microprocessor-Based Systems E-15 E-16 Appendix F Ordering Information F.1 Part Number Components Components of the TI486SXL( C) family of microprocessor part numbers are diagrammed in the following example. EXAMPLE: - - -..~.TX486SXLC B - V 25 GA I Device Name: SXLCB = 16-bit I/O SXLB = 32-bit I/O SXLC2 and SXL2 are clock doubled Device Revision level: _ _ _ _ _ _ _- . . 1 Supply Voltage: 0=5 V V = 3.3 V G = 3.3 V with 5-V-tolerant inputs Speed: 25 = 25 MHz 33 = 33 MHz 40 = 40 MHz 50 = 50 MHz Package Type: HBN = 144-Pin Ceramic Quad Flat Package GA = Ceramic Pin Grid Array (S-GA = 132 pins for the TI486SXL family) PJF = Thermally Enhanced 100-Pin Plastic Quad Flat Package PCE = Themally Enhanced 144-Pin Plastic Quad Flat Package F-1 Part Numbers for Microprocessors Offered F.2 Part Numbers for Microprocessors Offered Table F-1 lists the complete part number for each version of the TI486SXL microprocessors offered, and Table F-2 lists the part number for each version of the TI486SLC/DLC microprocessors .offered. The tables provide a short description consisting of the supply voltage, performance capabilities, and the mechanical package for each device part number. Table F-1. TI486SXLC and TI486SXL Part Numbers Speed (MHz) Device Part Number Supply Voltage (V) Core Bus TX486SXLCB-V25-PJF 3.3 25 25 TX486SXLCB-040- PJ F 5 40 40,20t Package 1~O-pin TEP plastic QFP TX486SXLC2B-050-P J F 5 50 25 TX486SXLB-040S-GA 5 40 40,20t TX486SXL2B-050S-GA 5 50 25 TX486SXLB-040-PCE 5 40 40,20t 144-pin TEP plastic QFP TX486SXL-G40-HBN 3.3-V, 5-V tolerant 40 40,20t TX486SXL2-G50-HBN 3.3-V, 5-V tolerant 50 25 144-pin ceramic QFP TX486SXLB-040-H BN 5 40 40,20t TX486SXL2B-050-H BN 5 50 25 TX486SXL-G40-GA 3.3-V, 5-V tolerant 40 40,20t TX486SXL2-G50-GA 3.3-V, 5-V tolerant 50 25 TX486SXLB-V40-GA 3.3 40 40,20t TX486SXL2B-V50-GA 3.3 50 25 TX486SXLB-040-GA 5 40 40,20t TX486SXL2B-050-GA 5 50 25 132-pin PGA 168-pin PGA t These microprocessors can be operated as nonclock-doubled 40 MHz or clock-doubled 20/40 MHz. F-2 Part Numbers for Microprocessors Offered Table F-2. TI486SLCIE and TI486DLCIE Part Numbers Supply Voltage (V) Speed (MHz) TI486SLC/E-033C-P J F 5 33 TI486SLC/E-V25C-PJF 3.3 25 TI486SLC/E-040C-PJ F 5 40 TI486DLC/E-033C-GA 5 33 TI486DLC/E-040C-GA 5 40 Device Part Number TI486DLC/E-033C-PCE 5 33 TI486DLC/E-040C-PCE 5 40 Package 1~O-pin TEP plastic QFP 132-pin ceramic PGA 144-pin TEP plastic QFP Ordering Information F-3 F-4 Appendix G Glossary 2-way set associative: In a 2-way set associative cache, an index identifies two lines of data (i.e., only two members of a set may exist in cache at a given time). This design provides significant performance improvement in comparison to direct mapped caches as measured by the hit ratio. (See set associativity.) A20M: When bit 2 of CCRO is true, the A20M# pin is enabled. Note: The A20M# pin is an anomoly occurring in PC designs as a result of the fact that truncated addresses can be generated by an 8086/8088 outside the physical address range. A: AC: Accessed/nonAccessed bit. Segment descriptor bit 8. The Alignment-Check enable flag verifies that computer-word bits are aligned with respect to significance. address: Each byte of memory is assigned a specific address space. The amount of addressable memory space depends on the width of the CPU address bus. The TI486SXLC has a 24-bit address bus, and the TI486SXL has a 32-bit address bus. AF: AM: The Auxiliary carry Flag is set when an operation results in a carry out of ( addition) or borrow into ( subtraction) bit position 3. Otherwise it is cleared. Alignment-check Mask bit. CRO bit 18. ARR1 through ARR4: Address Region registers 1 through 4 define the location and size of the memory regions associated with the internal cache. These registers are unique to the TI486SXL(C) microprocessors. asserted: When a signal is asserted, it is logically true. G-1 Glossary AVaiLable bit. Segment Selector register bit 20. AVL: bandwidth: Bandwidth is how much information can be transferred during a period of time. As an example, video, which requires a maximum bandwidth of 80 megabytes per second (MBps), takes advantage of the 132 MBps transfer rate provided by the VESA-VL or PCI bus. BARB: When bit 5 of CCRO is set (high), the BARB bit enables flushing of the internal cache when a hold state is entered. base: The base is the beginning of some segments (extra data, code, or data segments) or the beginning address provided in some registers (CC3, GOTR, IDTR, or SO). BIOS: The Basic Input Output System is a set of routines that contain detailed instructions for activating computer and peripheral devices. The BIOS is normally implemented in nonvolatile memory. bit: A bit is the fundamental unit of computer memory. A bit can be a 1 or a o. A byte is made up of eight bits. breakpoint: A breakpoint can be embedded within a program to temporarily stop execution so that machine status may be determined. byte: A byte is made up of eight bits and basically represents one character of information. C/O: Expand segment upper limit or lower limit bit. Segment descriptor bit 10. cache: A cache is a small, high-speed memory used to provide a temporary storage location for data most likely to be requested by the CPU. This allows for quick access of data and improved CPU performance (Le., zero wait states). cacheable: A memory location is cacheable if the system allows data at this location to reside in the cache. cache addressing: Cache addressing is performed by dividing the physical address into an index field, a tag field, and a byte select field. A valid field indicates whether the cached data at that physical address is currently valid. cache (data) coherency: Data coherence is necessary when a system has multiple memories. If several memories contain the same data word, modifying that data word in one memory causes the data to be incoherent with the data stored in the other memories. Therefore, the other memories that have a copy of that same data word must either update or invalidate their copy. If this is not done, data remains inconsistent or incoherent. G-2 Glossary cache flush: Cache flush is a method used to maintain cache consistency in which all locations with dirty bits are written to main memory. Then, the cache contents are cleared (flushed). cache hit: A cache hit is said to occur when data being requested by the CPU resides in cache. cache miss: A cache miss is said to occur when data being requested by the CPU does not reside in cache. cache tag address: The cache tag address contains the high-order bits of the physical address of the associated data stored in the cache. CCRO, CCR1: Configuration Control register 0 enables certain functions associated with cache control, suspend mode, and the clock-doubled mode. Configuration Control register 1 is used to set up internal cache operation and system-management mode. These registers are unique to the TI486SXL(C) microprocessors. Cache Disable bit. CRO bit 30. CD: CF: The Carry Flag is set when an operation results in a carry out of ( addition) or borrow into ( subtraction) the most significant bit. Otherwise it is cleared. CKO: Enable Clock Doubled. CCRO bit 6. clock doubled: When the microprocessor is in clock-doubled mode, the internal core is operating at the CLK2 frequency while the external bus interface remains at half the CLK2 frequency. clock scaling: The TI486SXL(C) microprocessor family supports dynamic clock scaling that enables the CLK2 input to be scaled up or down. clock speed: Clock speed is the speed at which the CPU operates, typically measured in megahertz (MHz). CISC: A Complex Instruction Set Computers is a type of computer architecture that requires multiple clock cycles per instruction but offers many specialized instructions for programmers. conventional memory: The DOS memory which occupies the addresses between 0 and 640 KB and is available to the user or software programs. coprocessor: A coprocessor is an external processor that can be operated in parallel with the CPU to relieve the CPU loading. The TI486SXL(C) microprocessors are designed to interface to a coprocessor. CPGA: A Ceramic Pin Grid Array package consists of ceramic substrates to hermetically enclose the IC and an interconnection scheme that presents male leads extending from the bottom of the package. CPL: The Current Privilege Level is the privilege level of the current operation. CPU: The Central Processing Unit is the execution unit of the microprocessor. It consists of control, shift, adder, multiplier, and limit units and a register file. Glossary G-3 Glossary CRO, CR2, CR3: Control register 0 contains system control flags and indicates the general state of the CPU. The lower 16 bits are referred to as the machine status word. When paging is enabled and a page fault is generated, Control register 2 retains the 32-bit linear address of the address that caused a fault. Control register 3 contains the 20-bit base address of the page directory. CS: D: In real and virtual-8086 operating modes, the Code Segment register holds a 16-bit segment base. In protected mode, the Code Segment register holds a segment selector. Defaultlength bit for operands and addresses. Segment descriptor bit 22. deasserted: When a signal is deasserted, it is logically false (not true). descriptor: A segment descriptor is a data structure that defines a segment's base, limit and attributes. DF: The Direction Flag, when cleared, causes string instructions to autoincrement (default) the appropriate Index registers ( ESI and/or EDI). Setting OF causes auto-decrement of the Index registers. direct mapped cache: A direct mapped cache is the simplest form of set associative cache architecture, one-way set associative. In a direct mapped cache, an index identifies only one line of data (i.e., only one member of a set may exist in cache at a given time). Therefore, only one address comparison is required to determine if the requested word is in the cache. direct memory access (DMA): Direct memory access allows data to be transferred between a device and memory without the constant control of the CPU. DMA permits two operations to be executed simultaneously. As an example, the CPU can access the cache while DMA allows a peripheral to access the main memory. disk drive controller: When the microprocessor requests information or a software application, a copy of it is transferred from storage (disk drive, floppy drive, or CD-ROM) into RAM by the disk drive controller. displacement: Displacement is a value, of up to 32 bits in length, that is supplied as part of the instruction. The displacement is used as the address in direct address mode and is added to based, index, scaled index, based index with displacement, and based scaled index with displacement address modes. DNA: Device Not Available fault. DOS memory: DOS memory is limited to 1 MB of memory unless using applications that take advantage of extended or expanded memory. DP: G-4 Displacement Glossary DPL: Descriptor Privilege Level field. Gate or segment descriptor bits 14-13. DRAM: Dynamic Random Access Memory are volatile memory chips that use capacitors to store information as an electrical charge. They offer high density at a low cost, but they must be refreshed frequently which makes them relatively slow. drive controller board: See disk drive controller. DRO through DR7: Debug registers Othrough 7 contain memory addresses and breakpoints used to support debugging of the microprocessor. DS: In real and virtual-BOB6 operating modes, the Data Segment register holds a 16-bit segment base. In protected mode, the Data Segment register holds a segment selector. DT: Descriptor Type bit. Segment Selector register bit 12. DTE: The Directory Table Entry is selected from the directory table by the ten most-significant bits of the linear address and contains the starting address of the second-level page table. DTI: The Directory Table Index acts as a 32-bit master index to up to 1K individual second-level page tables. E: Application descriptor bit. Segment descriptor bit 11. EAX, ESX, ECX, EDX, ESI, EDI, ESP, ESP: register set. The ExtendedGeneral Purpose EFLAGS: The Extended Flag Word register contains status information and controls certain operations on the microprocessor. The lower 16 bits of this register are referred to as the Flag register. EGA: EIP: Enhanced Graphics Adapter is a video standard for IBM-compatible PCs named after a particular video adapter that was the standard for the IBM PC-AT. The (extended) Instruction Pointer register contains the offset into the current code segment of the next instruction to be executed. EPROM: Electrically Programmable Read-Only Memory is a permanent memory used for items such as the BIOS instructions which occupy the reserved address space in DOS systems. EPROM access times tend to be long, but, being non-volatile, they are used primarily for initialization. If higher performance is required, the EPROM contents can be copied to DRAM memory. This technique is called shadowing. EM: EPL: EMulate processor extension. CRO bit 2. The Effective Privilege Level protects memory from being accessed by privilege levels that are lower than the descriptor privilege level. Glossary G-5 Glossary The Extra Segment register is the destination of STOS, MOVS, REP STOS, and REP MOVS instructions. Special segment override prefix ES allows the use of this additional Segment register. ES: expanded memory: Borrows addresses from reserved DOS memory to point to additional memory as a means of getting around the 1 MB DOS memory limit. extended memory: Used by software applications, such as Windows or OS/2, to get around the 1 MB DOS memory limit. far jump: A far jump is ajump whose destination is in another code segment. fast IDE: Fast IDE provides data transfer of 16-bit wide data at speeds of up to 13 MBps. flash memory: Flash memory cards are designed for program storage, can be used in floppy and solid-state applications, and are ideal for applications that require frequent updates. float: A condition during which all 3-state bidirectional and output terminals are placed in a high-impedance state to electrically isolate the microprocessor from the system. flush: Flushing the cache invalidates the entire contents of the cache memory. footprint compatible: A device packaged to be compatible for installation in existing boards/systems. FPU: A Floating Point Unit is used to accelerate the computation of floatingpoint arithmetic. If a PC does not have an FPU, the CPU emulates floating-point instructions which takes more time to execute. FS: Additional Data Segment register. Special segment override prefix of FS allows the use of this additional Segment register. fully associative: Fully associative is the most flexible type of cache placement policy. There is no single relationship between all of the addresses. The cache has to store the entire address of each block of words and compare its address with each of those in the cache until itfinds a match. G: GO: Limit Granularity bit. Segment descriptor bit 23. When set, the Global Disable bit denies access to the Debug register. GOT: The Global Descriptor Table is part of the selector mechanism and contains segment descriptors that are used when the TI bit in the Segment Selector register is set to zero. G-6 Glossary GOTR: The Global Descriptor Table register holds a 32-bit base address and 16-bit limit for the global-descriptor table. graphic accelerators: Graphic accelerators have special circuitry which speeds up image processing. The CPU sends commands to the accelerator which executes them rather than having the CPU manipulating and sending data to the adapters. Objects are drawn on the screen rather than being transferred pixel by pixel. This reduces the amount of data that is transferred across the processor bus. graphic adapter: A graphic adapter translates the instructions from the CPU into information that the PC monitor can understand. Graphic adapters before and including VGA rely on the CPU to perform operations that manipulate the display image. Advanced adapters, that handle more data, have circuitry to speed up image processing directly on the graphic adapter card. graphic coprocessor: A graphic coprocessor is fully programmable making it more flexible than a graphic adapter. graphics mode: Graphics mode is a video mode that divides images into thousands of dots, or pixels, to create text and detailed images. GUI: Graphical Users Interface is a feature of some software applications that permits the user to interact with the computer by using icons and small graphics rather than by using text and commands. green PC: A green PC is an environmentally correct PC that reduces power consumption (currently by as much as 800/0 when compared to current models). This guideline resulted from the Environmental Protection Agency's Star program. GS: Additional Data Segment register. Special segment override prefix of GS allows the use of this additional Segment register. III hard drive controller: See disk drive controller. hot insertion (or hot swapping): Plugging or unplugging PC cards without disrupting the host system's operation. Typical associated with PCMCIA. D IDE: lOT: Integrated Device Electronics The Interrupt Descriptor Table is an array of up to 256 8-byte interrupt descriptors, each of which points to an interrupt service routine. IOTR: The Interrupt Descriptor Table register holds a 32-bit base address and 16-bit limit for the interrupt-descriptor table. IF: When the Interrupt Flag is set, maskable interrupts ( INTR input pin) are acknowledged and serviced by the CPU. Glossary G-7 Glossary index: An index is a reference or initial value. instruction: An instruction is a machine-language command to the CPU. The TI486SXL(C) instructions are described in detail in Chapter 7, Instruction Set. instruction set: The instruction set consists of machine-language instructions that the architecture of the TI486SXL(C) CPU can execute. integrated device electronics: The IDE interface is based on the ISA bus, using the set of registers and commands originally used by the IBM AT. This interface is the current favorite among most disk drive makers for hard disks because they are inexpensive and have a low command overhead. Drives using IDE interfaces integrate the controller and drive in one, making them more efficient than older drives. Therefore IDE drives and controllers do not need to translate commands from your PC. IDE provides data transfer of 8-bit wide data at speeds of up to 5 MBps. Fast IDE provides data transfer of 16-bitwide data at speeds of upto 13 MBps. INTR: An Interrupt is a signal generated by external hardware that changes the normal sequential flow of a program by transferring program control to a selected service routine. 10PL: The Input/Output Privilege Level indicates the maximum current privilege level (CPL) permitted to execute liD instructions and indicates the maximum CPL allowing alteration of the IF bit. 1/0: Input/Output 1/0 bus (peripheral or system bus): The liD bus is used to communicate with the various liD or peripheral devices being used. Using this bus avoids loading down the time-critical local or processor bus with the I/O or peripheral devices. 1/0 Controller: Most liD devices have a controller that acts as its supervisor and interfaces with the CPU. The controller can be either built into the system board or on a separate adapter that is plugged into the system bus. Some controllers have their own special-purpose processors and some even have their own memory. 1/0 device interface: The liD device or peripheral interface is an essential part of any PC as it supports the communication between the CPU and the device or peripheral. 1/0 mapped: The simplest architecture uses I/O mapped devices. liD devices are mapped into the programmed liD address space. Address decoding is easier since fewer address lines must be decoded. KEN: G-8 When bit 3 of CCRO is true, the KEN# pin is enabled. Glossary II LOT: The Local Descriptor Table is part of the selector mechanism and contains segment descriptors that are used when the TI bit in the Segment Selector register is set to one. LOTR: The Local Descriptor Table register holds a 16-bit selector for the local-descriptor table. A limit defines the maximum range. limit: line: A line is the fixed unit of information transfer between cache and main memory. line size: Line size refers to the amount of information in a line and is defined as a number of bytes. Line size is one of the parameters that most strongly affects cache performance as it represents the amount of data the cache must retrieve during each cache line replacement (every cache miss). linear address: In real mode, the offset address is added to the product of the segment register multiplied by sixteen to produce the linear address. This linear address is the physical address. In protected mode, the offset address is added to the base address to produce the linear address. If paging is disabled, the linear address is the physical address. If paging is enabled, the linear address is translated by the paging mechanism into the physical address. local bus: The local bus connects peripherals directly to the CPU and is designed to transmit 32-bit data at the speed of a PC's processor. Two local bus standards are VESA-VL and PCI. locality: Locality refers to the fact that programs usually address memory in the neighborhood of recently accessed locations. LRU: The Least-Recently Used bit indicates which of the cache two-way sets was more recently accessed. iii math coprocessor: See FPU. MBps: Mega Bytes Per Second Mbps: Mega Bits Per Second memory mapped: I/O devices can be mapped into physical memory addresses. Even though more addresses must be decoded with this interface, memory-mapped devices can be accessed using CPU instructions allowing for more efficient code. Memory mapping also offers more flexibility in protection than I/O mapping through memory management since a device can be inaccessible/fully accessible or visible but protected. Very few peripherals use memory-mapped ports except for video cards. Glossary G-9 Glossary MMAC: Main Memory Access. A memory access stores or retrieves data to or from main memory. modem: A modem translates (MODulates) computer signals into tones and translates (DEModulates) tones back into computer signals. monochrome: MP: A video mode that uses only one color in varying intensities. Monitor Processor extension bit. CRO bit 1. multithreading: Multithreading is a software technique that allows an application to split tasks into subtasks, or threads, for improved speed and efficiency. This feature is supported by Windows NT as a way of speeding up Windows and reducing the chances of a system crash. m NCO: Non-Cacheable O. NCO is bit 0 in the Configuration Control register o. When set, this bit sets the first 64K bytes at each 1M-byte boundary as noncacheable. NC1: Non-Cacheable 1. NC1 is bit 1 in the Configuration Control register o. When set, this bit sets sets 640K-byte to 1M-byte memory region as noncacheable. NC (Terminal designator): negated: NMI: Make No external Connection. Logically false, not true. The NonMaskable Interrupt is a rising-edge-sensitive input that, when asserted, causes the processor to suspend execution of the current instruction stream and begin execution of an NMI interrupt service routine. noncacheable memory: In noncacheable memory systems, all shared memory locations are considered noncacheable. Access too the shared memory is never copied to the cache, and the cache never receives stale data. nonprogrammer visible: Nonprogrammer visible pertains to the contents (data, address components, and current states) of registers and stored data that cannot be accessed, trapped, or retrieved. nonvolatile memory: A nonvolatile memory, like ROM and EPROM, is a memory in which the data content is maintained whether the power supply is connected or not. G-10 NT: The Nested Taskflag, while executing in protected mode, indicates that the execution of the current task is nested within another task. OA: Offset Address. The offset address is the result of an offset calculation. Base address, index address, scale factor, and displacement are the components used, in various combinations, to calculate the offset address. Glossary OF: The Overflow Flag is set if the operation resulted in a carry or borrow into the sign bit of the result but did not result in a carry or borrow out of the high-order bit. It is also set if the operation resulted in a carry or borrow out of the high-order bit but did not result in a carry or borrow into the sign bit of the result. opcode: The physical implementation of an instruction in machine-readable code. os: P: An Operating System is a master control program that supervises the functions and components of a computer system. A Prefix bit in a prefix byte. or Present bit. Gate or segment descriptor bit 15. paging: Paging is a memory management technique that provides direct access to small portions of stored data within a large segment of virtual memory space. Paging is very useful in minimizing the amount of physical space required to service active routines. parallel port: A parallel port is used mostly by the computer to send out data to be printed. A parallel port moves data in bytes (8-bits wide) or words (16-bits or 32-bits wide) depending on the application. parity bit: The eighth bit or extra bit that is used to help detect errors. PCO: The Page-level Cache Disable bit is located in Test register 7. This bit corresponds to the PCD bit of a page-table entry. PCI: The Peripheral Component Interconnect standard is a board-level local-bus implementation for high-end PC applications. PCI is a fully independent bus that requires a PCI bridge to establish communication with the CPU bus. PCI is fully independent from the CPU and the CPU timing and PCI can be used with non-X86 systems. PCI multiplexes addresses and data to reduce the number of required pins. Each card is uniquely identified by a special code allowing for autoconfiguration. PCMCIA: The Personal Computer Memory Card International Association peripheral bus standard provides a way for the portable computer user to expand the memory, storage, communication, and other capabilities that are common to the desktop PC user. There are several types of PCMCIA cards: DRAM, flash memory, hard-disk drives, LANs, and modems. The cards can be plugged into the expansion slot without opening the computer. POBR: The Page-Directory Base register is located in Control register 3. The register contains the 20-bit base address of the page directory. PE: Protected mode Enable bit. CRO bit O. peripheral bus: See I/O bus. Glossary G-11 Glossary peripherals: Peripherals are the external devices such as printers, fax machines, modems, and etc. peripheral interface: The I/O device or peripheral interface is an essential part of any PC since it supports the communication between the CPU and the peripherals. PF: The Parity Flag is set when the low-order 8 bits of the operation result contain an even number of ones. Otherwise it is cleared. PFO: The Page-Frame Offset is part of the paging mechanism. The physical page frame data is selected by the first 12 bits of the linear address. PG: PaGing enable bit. CRG bit 31. PGA: A Pin Grid Array package consists of substrates to hermetically enclose the IC and an interconnection scheme that presents male leads extending from the bottom of the package. physical address: When paging is disabled the 32-bit linear address is the physical address. When paging is enabled it translates the linear address into a physical address. The physical address appears on the pins of the CPU. pipelined addressing: Pipelined addressing allows bus cycles to be overlapped, increasing the amount of time available for the memory or I/O device to respond. The NA# input to the CPU controls address pipelining. pipelining: A series of suboperation stages, like fetching, decoding, execution, and address translation. Pipelining results in a continuous execution rate of one instruction per clock cycle. pixel: The smallest information building block of an on-screen image. On a color monitor, each pixel is made up of one or more triads. Resolution is usually expressed in the number of pixels making up the width and height of a complete on-screen image. PL: The Privilege Level implements a protection scheme. The values for privilege levels are 0 to 3. Level 0 is the most privileged and 3 the least privileged. PLL: Phase-Locked Loop. In the TI486SXL(C) microprocessor, a PLL is used to implement clock synchronization. posted write: In a write-through cache, read cycles are accelerated but write cycles are not. Through the use of a write buffer, write cycles can also be accelerated. The process of buffering or storing address and data in a write buffer is referred to as a posted write or buffered write. power management: A feature of some CPUs that shuts down parts of the computer not being used to save power. G-12 Glossary PQFP: The Plastic Quad Flat Package consists of a metal substrate, IC, and interconnection scheme that presents leads extending from the four sides of the plastic encapsulated package. The leads are formed, using a double break, to create a planar foot on each lead that supports the package body above the seating plane. The thermally enhanced package includes a metal plate or slug near the mounting surface that enhances heat dissipation. prefix: Prefix bytes can be placed in front of an instruction to override segment defaults, change operand and/or address-size attributes, assert LOCK#, and repeat string instructions. privilege level: In the protected mode, privilege levels control the use of privileged instructions, I/O instructions, and access to segments and segment descriptors. programmer visible: Programmer visible pertains to the contents (data, address components, and current states) of registers and stored data that can be accessed, trapped, or retrieved. protected mode: The microprocessor is in protected mode when the PE bit of Control register 0 is set. In protected mode, the enhanced memory management capabilities, which include segmentation and paging, are available. Code has one of four privilege levels, with some processor instructions restricted to the most-privileged code. PTE: The Page Table Entry, selected from the page table by bits 21-12 of the linear address, contains the base address of the desired page frame. PTI: The Page Table Index acts as a 32-bit master index to up to 1K individual page frames. PWT: The Page-level cache Write Through bit in Test register 7 enables or disables this cache function. This register bit corresponds to the PWT bit of a page-table entry. m QFP: R: A Quad Flat Package consists of a substrate, IC, and interconnection scheme encapsulated in plastic or enclosed with metal that presents leads extending from the four sides of the package. The leads are formed, using a double break, to create a planar foot on each lead that supports the package body above the seating plane. There is a metal and a plastic version of this package type. Opcode or register bit. RIW: Read/Write. or Readable/Writable or nonreadable/nonwritable bit. Segment descriptor bit 9. Glossary G-13 Glossary real memory: The memory that actually exists in the PC, or memory that is not borrowed from an external source. real mode: The TI486SXL(C) powers up or resets to real mode. In real mode, conditions are established that make the microprocessor backward compatible with 8086/8088 microprocessors. No hardware protection is provided for segment access or use and there is no privileged code. RF: The Resume Flag is used in conjunction with Debug register breakpoints. It is checked at instruction boundaries before breakpoint exception processing. If set, any debug fault is ignored on the next instruction. RISC: A Reduced Instruction Set Computerarchitecture is a type of computer that executes instructions in one clock cycle by limiting the number of instructions that are available. ROM: A Read Only Memory is a permanent, unchangeable memory used in the PC to accomplish system startup. It stores the BIOS programs needed to perform diagnostics and instruct the computer in various operations. When using DOS, the contents of the ROM are placed in reserved memory. RPL: The Requested Privilege Level field. Segment Selector register bits 1-0. scale factor: The Scale Factor is a factor (1, 2, 4, or 8) by which the index address is multiplied when the offset mechanism calculates the offset address. SCSI: The Small Computer System Interface offers hard disk data transfer rates of up to 10 MBps. segmentation: Segmentation is a memory management technique that permits application-specific segmentation to improve the efficiency of memory space utilization. serial port: A serial port is a communication path based on a standard convention of transmitting two-way asynchronous serial data. A serial port moves data one bit at a time and can be half duplex (one direction at a time) or full duplex (both directions simultaneously). serialization: Serialization takes byte-wide data as input and provides serial bits in a stream as output. set associativity: Set associative is a type of cache placement policy that has more than one set of direct mapped caches operating in parallel. For each cache index there are several block locations allowed. The block can be placed in and retrieved from any set. This type of cache performs more efficiently than a direct mapped cache, but it needs a wider tag field and additional logic to determine which set should receive the data. G-14 Glossary SF: Scale Factor or The Sign Flag is set equal to the high-order bit of the operation result ( 0 indicates positive, 1 indicates negative). shadowing: Shadowing is a technique used to improve system performance by copying the contents of ROMs or EPROMs into DRAM to achieve faster access. s-i-b byte: This byte includes the Ss, Index, and Base fields SIMM: A Single In-Line Memory Module is a packaging technique for memory modules. SM4: System Management access region 4, sometimes called Address Region register 4. SMM memory space is defined by assigning address region 4 to SMM memory space. SMAC: In normal mode, SMADS# address strobes are generated instead of ADS# for System-management Memory Accesses. SMI: A System Management Interrupt causes the microprocessor to enter the system management mode that allows various subsystems of the computer to be powered down under certain conditions. The systemmanagement interrupt has a higher priority than any other interrupt, including NMI. SMM: The System Management Mode is a power management feature that allows various subsystems of the computer to be powered down when not in use to conserve power. snooping: Snooping is a method used to maintain cache consistency. The cache controller monitors the bus lines to detect any shared locations that are written by another processor. When a common cache location is found, it is invalidated and cache consistency is maintained. SS: The Stack Segment register contains segment selectors that index into tables located in memory. These tables hold the base address for each segment as well as other information related to memory addressing. SRAM: A Static Random Access Memory is a high performance storage medium that does not require refresh. SUS: The SUSpend bit in Configuration Control register 0 enables or disables the SUSP# and SUSPA# pins that control entry into the suspend mode. system bus: See liD bus. o T: Opcode bit. Glossary G-15 Glossary T1: T1 P: The first clock of a non-pipelined bus cycle. The first clock of a pipelined bus cycle. T2: Subsequent clocks of a nonpipelined bus cycle. NA# has not been sampled asserted. T21: Subsequent clocks of a pipelined bus cycle. NA# has been sampled asserted. T2P: Subsequent clocks of a pipelined bus cycle. NA# has been sampled asserted. tag: A tag is a directory that records what data is currently being stored in a cache. TEP: The Thermally Enhanced Plastic package includes a metal plate or slug near the mounting surface that enhances heat dissipation. text mode: A video mode that divides the screen into character positions. TF: Once the Trap enable Flag is set, a single-step interrupt occurs after the next instruction completes execution. TF is cleared by the single-step interrupt. Th: A hold acknowledge state. TI: Table Indicator bit. Segment Selector register bit 2. Ti: A bus Idle state. TLB: The Translation Look-Aside Buffer is an on-chip, four-way, setassociative, 32-entry page-table cache. This buffer contains the most recently accessed pages which reduces the average time required to make virtual memory references. TR: The Task register holds a 16-bit selector for the current task-state segment (TSS) table. The TR is loaded and stored using the LTR and STR instructions, respectively. TR3 through TR7: G-16 Test registers 3 through 7. Glossary transfer rate: Transfer rate is the rate at which data is moved from one component to another and is usually measured in megabits per second (Mbps) or megabytes per second (MBps). Some examples follow. System Buses Local Buses Hard Disk Drives Networks ISA 1 to 4 MBps 32-Bit VESA-VL 132 MBps IDE 4 MBps Ethernet 10 Mbps EISA 33 MBps PCI 132 MBps SCSI 5 MBps Token Ring 4 or 16 Mbps MCA 32 MBps TS: Task Switched bit. CRO bit 3. TSR: The Task State registers are the TSRs that are saved and restored using the SVTS and RSTC instructions, respectively. TSS: During task switching, the processor saves the current CPU state in the Task State Segment table before starting a new task. type: Segment Type field. Gate or segment descriptor bits 11-8. 1m U/S: The UserlSupervisorattribute is used in conjunction with the write/read attribute to implement protection atthe page level. When set (user), the page. is accessible at all privilege levels. When clear (supervisor), the page is accessible only when CPL :::; 2. I!I VS6: Virtual8086 VESA: The Video Equipment Standards Association VL-bus is a straightforward expansion of the 486 host bus, meaning that it uses the 486 data, address, and control signals directly. A few more lines are added to allow bus mastering and other functions. VGA: Video Graphics Array is the most popular color graphics system for IBM-compatible computers today. virtual-SOS6 mode: When the Virtual-8086 Mode flag is set in protected mode, the microprocessor switches to virtual-8086 operation, handling segment loads as the 8086 does. virtual memory: Virtual memory is similar to expanded memory in that it temporarily borrows space from an external memory source, such as hard disk, to simulate a large amount of memory. Up to 64 terabytes of virtual memory can be addressed in 386- and 486-based systems. VM: The Virtual-8086 Mode flag. volatile memory: A memory in which the data content is lost when the power supply is disconnected. Glossary G-17 Glossary VRAM: Video Random Access Memories have been used by designers of high-resolution graphics and imaging systems to enhance system performance and display more colors at higher resolutions. wait state: The number of clock cycles the CPU has to wait for other operations to complete before continuing with its operations. way: Way is used to define the organization of a cache. A cache with a way 1 and a way 2 is a 2-way cache. WP1, WP2, WP3: The Write Protected access regions 1 through 3 bits, located in the Configuration Control register 1, define write protection and cacheability for 3 regions of memory space. The starting address and block size for each region is mapped in the Address Region registers 1 through 3. WP: Write Protect bit. CRO bit 16. write-back: Write-back is an approach used to update the main memory. The CPU writes data into the cache and sets a dirty bit indicating that a word has been written into the cache but not into the main memory. The cache data is written back into the main memory at a later time and the dirty bit is cleared. Write-back accesses memory less than a writethrough cache, but its cache control logic is more complex. write protected: Write protected is an attribute applied to segments to ensure that the requestor privilege level is sufficient to perform a write to that segment. write-through cache: Write-through is an approach to update the main memory. The data is written to the main memory while it is is written to cache, or immediately afterwards. The main memory always contains valid data, and blocks in cache can be overwritten without data loss, and the hardware implementation remains relatively simple. ZF: G-18 The Zero Flag is set if the operation result is zero. Otherwise it is cleared. Index 3.3-V operation 1-19 3.3-V15-V operation 1-19 accumulator initial value 2-3 to 2-4 additional-data-segment-selector registers abort exceptions 2-45 absolute maximum ratings 5-4 ac characteristics. See timing accessing address space 2-9 application register set 2-10 configuration registers 2-9,2-26 coprocessor liD Tl486SXL 4-4 Tl486SXLC 3-4 coprocessor liD ports 2-8 data/liD during SMI service routine 2-54 debug registers 2-31 directory-table entry 2-42 during protection 2-57 gate descriptors 2-59 global-descriptor-table register 2-19 liD address space 2-9 I/O privilege required 2-58 local-descriptor-table register 2-19 main memory 2-26 main memory overlapping SMM 2-28 A-5 memory address space 2-37 numeric coprocessor liD. See accessing coprocessor liD page-table entry 2-42 privilege requirements 2-57 SMM defined space 2-28 memory 2-28 memory space 2-54 stack-pointer register 2-11 task register 2-23 2-12 address I/O space 2-9 memory space 2-37 offset mechanism 2-37 real mode memory 2-37 setting size 7-4 address bit-20 masking TI486SXL 4-45 TI486SXLC 3-38 2-54 C-3 address bus description TI486SXL 4-4 TI486SXLC 3-4 address spaces coprocessor communication space 2-8 liD address space 2-8 memory address space 2-8, 2-37 physical memory space 2-8, 2-39 ranges 2-8, 2-26 address-region registers 2-30 initial value 2-3 to 2-4 addressing data registers 2-11 index and pointer registers 2-11 main memory at the same address as SMM code A-9 modes 2-38 modes (memory) 2-38 paging mechanism 2-40 pOinter and index registers 2-11 real mode 2-38 segment and selector 2-39 using nonpipelined bus cycles Tl486SXL 4-23 Tl486SXLC 3-20 Index-1 Index addressing (continued) using pipelined bus cycles Tl486SXL 4-27 Tl486SXLC 3-24 while in virtual 8086 mode 2-60 airflow measurement setup for thermal characteristics 6-20 alignment-check enable 2-19 flag 2-15 altering SMM code limits in system-management mode A-34 application register set 2-10 flag word 2-14 general-purpose registers 2-11 data 2-11 pointer and index registers 2-11 segment registers and selectors 2-12 instruction pointer 2-14 overview 2-10 pointer and index 2-11 segment registers 2-12 selector (segment) 2-12 auxiliary-carry flag 2-15 base register 2-11 base register initial value 2-3 to 2-4 base-pointer register 2-11 initial value 2-3 to 2-4 based addressing modes 2-38 810S modifications 8-1 differences of TI486xLC/E and TI486SXUC 8-2 power-on and hard reset 8-3 protected-mode to real-mode switching 8-3 soft reset 8-4 turning on and off the internal cache 8-4 bit A20M masking C-3 bit definitions configuration control registers 0 and 1 2-27 control register 0 (eRO) 2-19 debug registers DR6 and DR7 2-32 directory and page table 2-42 error codes 2-48 flag register 2-14 gate descriptors 2-23 page table and directory 2-42 segment descriptors 2-22 test registers _ TR3 to TR5 2-36 TR6 and TR7 2-34 block diagra.m TI486SXL 1-10 TI486SXLC 1-6 Index-2 block sizes address-region registers 2-30 breakpoint address setting 2-31 bus address Tl486SXL 4-4 Tl486SXLC 3-4 data Tl486SXL 4-6 TI486SXLC 3-6 nonpipelined states Tl486SXL 4-26 Tl486SXLC 3-23 operation Tl486SXL 4-22 Tl486SXLC 3-19 pipelined states TI486SXL 4-31 Tl486SXLC 3-28 state transitions Tl486SXL 4-33 Tl486SXLC 3-30 states Tl486SXL 4-23, 4-27 Tl486SXLC 3-20, 3-24 bus cycle definition Tl486SXL 4-16 Tl486SXLC 3-13 halt and shutdown Tl486SXL 4-39 Tl486SXLC 3-33 initiating and maintaining nonpipelined Tl486SXL 4-26 Tl486SXLC 3-23 initiating and maintaining pipelined Tl486SXL 4-31 Tl486SXLC 3-28 interrupt acknowledge Tl486SXL 4-37 Tl486SXLC 3-31 locked Tl486SXL 4-37 Tl486SXLC 3-31 nonpipelined addressing Tl486SXL 4-23 Tl486SXLC 3-20 pipelined addressing Tl486SXL 4-27 Tl486SXLC 3-24 types Tl486SXL 4-16, 4-22 Tl486SXLC 3-13,3-19 using bus-size input Tl486SXL 4-34 Index bus operation and functional timing TI486SXL 4-22 TI486SXLC 3-19 byte enable outputs description Tl486SXL 4-5, 4-14 Tl486SXLC 3-5 generating A 1-AO Tl486SXL 4-14 line definitions TI486SXL 4-13 write duplication Tl486SXL 4-14 clock-doubled mode 1-18 disabling 2-27 enabling 2-27 entering Tl486SXL 4-17 Tl486SXLC 3-14 using software control Tl486SXL 4-16 Tl486SXLC 3-13 code fetch first after reset Tl486SXL 4-21 Tl486SXLC 3-18 code-segment register 2-12 initial value 2-3 to 2-4 cache example code for turning off 8-5 for turning on 8-6 fills Tl486SXL 4-42 TI486SXLC 3-36 flush enabling 2-27 flushing C-4 TI486SXL 4-44 Tl486SXLC 3-37 initialization 2-2 invalidation C-4 on chip 1-17 test registers 2-35 cacheability disabling 2-28 enabling 2-28 calculation effective address 2-37 offset address 2-37 protected-mode address 2-39 real-mode address 2-38 call gates 2-59 carry flag 2-15 clearing the VM bit A-42 clock scaling sequence TI486SXL 4-17 Tl486SXLC 3-14 stopping the input Tl486SXL 4-53 TI486SXLC 3-47 synchronization Tl486SXL 4-20 Tl486SXLC 3-17 clock-count summary abbreviations 7-13 assumptions 7-13 comparison of SMM features A-4 configuration registers 2-26 liD address locations 2-9 space access 2-8 configuration-control registers 2-26 bit definitions 2-27 to 2-30 configuration-control registers initial values 2-3 to 2-4 control registers 2-18 bit definitions 2-18 machine status word (MSW) 2-18 page-directory base register 2-18 page-fault linear address 2-18 coprocessor busy Tl486SXL 4-5 Tl486SXLC 3-5 communication space 2-8 error Tl486SXL 4-6 TI486SXLC 3-6 liD access address lines Tl486SXL 4-4 Tl486SXLC 3-4 interface Tl486SXL 4-49 TI486SXLC 3-42 count register 2-11 count register initial value 2-3 to 2-4 CPU states related to system-management mode 2-55 cross reference terminal assignments to 486SX, DX, DX4 (168-pin PGA) 6-12 Index-3 Index m d field for instructions 7-6 data bus description T1486SXL 4-6 T1486SXLC 3-6 data registers 2-11 initial values 2-3 to 2-4 data-segment register 2-12 initial value 2-3 to 2-4 dc electrical characteristics 5-7, 5-12 3.3-volt devices 5-9 T1486SXLC- V25 5-9 T1486SXL2- V50 5-11 T1486SXL -V40 5-10 3.3-voltl5-volt-tolerant devices 5-7 T1486SXL -G40 5-7 T1486SXL2-G50 5-8 5-volt devices T1486SXL2-050 5-15 T1486SXL -040 5-14 T1486SXLC2-050 5-13 T1486SXLC-040 5-12 debug breakpoint conditions setting 2-32 debug registers 2-31 initial value 2-3 to 2-4 debugging SMI code using software A-36 testing SMM code A-35 decoupling 5-2 default operand size real versus protected modes 2-5 default segment override 7-4 defining address region size T1486SXL 2-30 T1486SXLC 2-29 nancacheable block size T1486SXL 2-30 T1486SXLC 2-29 SMM memory region size T1486SXL 2-30 T1486SXLC 2-29 definitions bus cycle T1486SXL 4-16 T1486SXLC 3-13 configuration-control register 0 bits 2-27 configuration-control register 1 bits 2-28 control register 0 bits 2-19 CRO-register bits 2-19 debug register DR6 and DR7 bits 2-32 Index-4 definitions (continued) directory and page table register bits 2-42 error code bits 2-48 flags 2-15 gate-descriptor register bits 2-23 page table and directory register bits 2-42 segment-descriptor register bits 2-22 test register bits for TR3-TR5 2-36 test register bits for TR6 and TR7 2-34 description address bus T1486SXL 4-4 T1486SXLC 3-4 bus cycle T1486SXL 4-22 T1486SXLC 3-19 byte enable outputs T1486SXL 4-5, 4-14 T1486SXLC 3-5 data bus T1486SXL 4-6 T1486SXLC 3-6 descriptor type setting 2-22 descriptor-table registers and descriptors 2-19 global descriptor table register 2-20 global-descriptor table 2-40 interrupt description table register 2-20 local-descriptor table 2-40 design considerations C-2 destination-index register 2-11 initial value 2-3 to 2-4 detection of a TI microprocessor A-26 of SMM capable version A-28 differences between TI486SXL(C) family and TI486SLC/DLC family 1-16 TI486SXLC series and TI486SXL series 1-15 direct addressing mode 2-38 direction flag 2-15 directory and page table entry bit definitions 2-42 directory table 2-41 disabling (ignore) A20M pin 2-27, C-3 (ignore) SMI input 2-28 (masking) alignment check 2-19 cache 2-19 cacheability 2-28 clock doubled 2-27, 8-2 using software TI486SXL 4-16 TI486SXLC 3-13 FLUSH# pin 2-27 interrupts INTR 2-43 KEN# pin 2-27 Index main memory access MMAC A-9 disabling (continued) maskable interrupts INTR 2-15 paging 2-2 protected mode (8086-class CPU) SMM pins 2-28 suspend pins 2-27 write protection 2-28 displacement addressing modes OX support OX4 support 2-38 0-5 0-6 EAX register value after self test Tl486SXL 4-21 Tl486SXLC 3-18 eee field for instructions entering clock-doubled mode Tl486SXL 4-17 Tl486SXLC 3-14 float mode Tl486SXL 4-55 Tl486SXLC 3-48 hold-acknowledge state Tl486SXL 4-46 Tl486SXLC 3-39 virtual-8086 mode 2-61 error codes 2-48 bit definitions 2-48 format 2-48 effective address calculation 2-37 setting length 2-22 EFLAGS register A-11 error coprocessor Tl486SXL 4-6 Tl486SXLC 3-6 7-11 2-14, 2-15 electrical connections decoupling 5-2 ground 5-2 NC designated terminals power 5-2 pullup/pulldown resistors unused inputs 5-3 2-19 enabling (continued) SMM A-11 memory space 2-28 pins 2-28 suspend pins 2-27 system-management mode write protection 2-28 5-3 5-2 enabling A20M pin 2-27, C-3 alignment check 2-19 cache 2-19 cache flush 2-27 cacheability 2-28 clock doubled 2-27, 8-2 using software TI486SXL 4-16 TI486SXLC 3-13 FLUSH# pin 2-27 interrupts INTR 2-43 KEN# pin 2-27 locked hardware signal 7-4 main memory access MMAC A-9 maskable interrupts 2-15 paging 2-19 protected mode 2-19 segment default override 7-4 SMI# pin Tl486SXL 2-30 Tl486SXLC 2-29 example altering SMM code limits A-34 clearing VM bit after saving registers A-42 code for turning cache off 8-5 for turning cache on 8-6 debugging SMI code A-36 detection of a TI microprocessor A-26 of SMM capable version A-28 enabling SMM A-11 enabling/disabling clock doubling Tl486SXL 4-16 Tl486SXLC 3-13 format of data used by SVOC/RSOC A-32 loading SMM memory with SMI interrupt handler A-22 SMI handler A-17 exceptions 2-44 abort 2-45 fault 2-44 invalid opcode 2-7 priorities 2-47 processing 2-43 real mode 2-47 trap 2-44 exceptions and interrupts exceptions in real mode execution pipeline 2-43 2-47 1-17 Index-5 Index exiting clock-doubled mode T1486SXL 4-17 T1486SXLC 3-14 float mode T1486SXL 4-55 T1486SXLC 3-48 hold acknowledge state T1486SXL 4-46 T1486SXLC 3-39 SMI handler A-9 virtual-8086 mode 2-61 extra-segment-selector register 2-12 extra-segment registers initial values 2-3 to 2-4 fault exceptions 2-44 field address displacement format base 7-9 d 7-6 eee 7-11 flags 7-12 immediate data format 7-2 index 7-10 mod 7-9 mod rim 7-7 mod rim format 7-2 opcode 7-5 opcode format 7-2 prefix bytes 7-4 prefix format 7-2 reg 7-6 s-i-b format 7-2 sreg2 7-10 sreg3 7-11 ss 7-10 w 7-5 7-2 fills, cache TI486SXL 4-42 TI486SXLC 3-36 first code fetch, after reset TI486SXL 4-21 TI486SXLC 3-18 flags abbreviations used in instruction set list 7-12 actions based on instruction 7-12 alignment check 2-15 auxiliary carry 2-15,7-12 carry 2-15, 7-12 definitions 2-15 direction 2-15,7-12 Index-6 flags (continued) 1/0 privilege level 2-15 interrupt enable 2-15, 7-12 nested task 2-15 overflow 2-15, 7-12 parity 2-15,7-12 resume 2-15 sign 2-15,7-12 trap enable 2-15, 7-12 virtual 8086 mode 2-15 zero 2-15,7-12 flag-word register 2-14 bit definitions 2-15 initial value 2-3 to 2-4 float TI486SXL 4-55 TI486SXLC 3-48 float delay TI486SXL 5-34 TI486SXLC 5-31 flow diagram system management and suspend 2-56 system-management mode execution 2-51 FLUSH# pin disabling 2-27 enabling 2-27 flushing cache T1486SXL 4-44 T1486SXLC 3-37 cache (internal) 2-27, C-4 instruction-decode queue 2-59 internal pipeline 2-2 translation look-aside buffer 2-42 format error codes 2-48 for instructions 7-2 format of data used by SVDC/RSDC instructions, in system-management mode A-32 functional block diagram TI486SXL 1-1 0 TI486SXLC 1-6 functional timing entering and exiting float T1486SXL 4-55 T1486SXLC 3-48 fastest nonpipelined read cycles TI486SXL 4-23 TI486SXLC 3-20 pipelined read cycles TI486SXL 4-28 TI486SXLC 3-25 fastest transition to pipelined address following idle bus state T1486SXL 4-31 T1486SXLC 3-28 Index functional timing (continued) HALT-initiated suspend mode T14868XL 4-53 T14868XLC 3-46 liD trap T1486SXL 4-51 T1486SXLC 3-44 interrupt-acknowledge cycles T14868XL 4-38 T14868XLC 3-32 masking A20 using A20M during burst of bus cycles T14868XL 4-45 T14868XLC 3-38 nonpipeliined, cache fills using KEN#, TI486SXLC 3-36 nonpipelined bus cycles using 8816# TI486SXL 4-35 cache fills using KEN# TI486SXL 4-42 cache fills using KEN# and 8816# TI486SXL 4-43 halt cycle TI486SXL 4-40 TI486SXLC 3-34 read and write cycles TI486SXL 4-24 TI486SXLC 3-21 wait states TI486SXL 4-25 TI486SXLC 3-22 pipelined cache fills using KEN# TI486SXL 4-44 TI486SXLC 3-37 shutdown cycle TI486SXL 4-41 TI486SXLC 3-35 wait states TI486SXL 4-29 TI486SXLC 3-26 requesting hold from active nonpipelined bus TI486SXL 4-48 TI486SXLC 3-41 from active pipelined bus TI486SXL 4-49 TI486SXLC 3-42 from bus-idle state TI486SXL 4-47 TI486SXLC 3-40 SMI#pin T14868XL 4-50 T14868XLC 3-43 functional timing (continued) stopping CLK2 during suspend mode T14868XL 4-54 T14868XLC 3-47 SUSP#-initiated suspend mode T1486SXL 4-52 T1486SXLC 3-45 transitioning to pipelined address during burst of bus cycles T1486SXL 4-32 T1486SXLC 3-29 functional timing and bus operation TI486SXL 4-22 TI486SXLC 3-19 m gate descriptors 2-22 bit definitions 2-23 gates 2-59 call 2-59 interrupt 2-59 task 2-59 trap 2-59 general cache invalidation C-4 general-purpose registers 2-11 data 2-11 index and pointer 2-11 pointer and index 2-11 base pointer 2-11 destination index 2-11 source index 2-11 stack pointer 2-11 generating A1-AO as a function of byte enables T1486SXL 4-14 global-descriptor table 2-40 register 2-20 granularity setting limit 2-22 ground electrical connections 5-2 m halt bus cycles TI486SXL 4-39 TI486SXLC 3-33 halt and shutdown 2-57 HALT-initiated suspend mode TI486SXL 4-53 TI486SXLC 3-46 Index-7 Index hardware considerations address bit A20M C-3 address strobes A-5 cache invalidation C-4 chipset REAOY#, A-5 connecting terminals C-2 modifications for 168-pin CPGA 0-1 SMI# pin timing A-5 SMM pins A-5 header SMM memory space 2-50 HLOA valid delay timing TI486SXL 5-34 TI486SXLC 5-31 hold acknowledge signal states TI486SXL 4-15 TI486SXLC 3-12 hold acknowledge state entering Tl486SXL 4-46 Tl486SXLC 3-39 exiting Tl486SXL 4-46 Tl486SXLC 3-39 requesting from idle bus Tl486SXL 4-46 Tl486SXLC 3-39 requesting from nonpipelined bus Tl486SXL 4-46 Tl486SXLC 3-39 requesting from pipelined bus Tl486SXL 4-46 Tl486SXLC 3-39 initial value accumulator 2-3 to 2-4 address-region registers 2-3 to 2-4 base register 2-3 to 2-4 base-pointer register 2-3 to 2-4 code-segment register 2-3 to 2-4 configuration-control registers 2-3 to 2-4 count register 2-3 to 2-4 data register 2-3 to 2-4 data-segment register 2-3 to 2-4 debug register 2-3 to 2-4 destination-index register 2-3 to 2-4 extra-segment registers 2-3 to 2-4 flag-word register 2-3 to 2-4 instruction-pointer register 2-3 to 2-4 interrupt-descriptor-table register 2-3 to 2-4 machine-status-word register 2-3 to 2-4 source-index register 2-3 to 2-4 stack-pointer register 2-3 to 2-4 stack-segment register 2-3 to 2-4 D initiating and maintaining pipelined bus cycles TI486SXL 4-31 TI486SXLC 3-28 I/O address space 2-8, 2-9 configuration register access 2-8 floating Tl486SXL 4-55 Tl486SXLC 3-48 privilege level flag 2-15 privilege levels 2-58 trapping Tl486SXL 4-51 Tl486SXLC 3-44 implementation system-management mode A-5 index addressing modes 2-38 index field for instructions 7-10 indirect addressing mode 2-38 Index-8 initialization 2-2 protected mode 2-59 initiating protected mode 2-59 self test TI486SXL 4-20 Tl486SXLC 3-17 suspend mode Tl486SXL 4-52 Tl486SXLC 3-45 initiating and maintaining nonpipelined bus cycles TI486SXL 4-26 TI486SXLC 3-23 initiating suspend mode TI486SXL 4-53 TI486SXLC 3-46 input clock, stopping TI486SXL 4-53 TI486SXLC 3-47 input/output signals TI486SXL 4-2 TI486SXLC 3-2 instruction locked hardware signal 7-4 override segment default 7-4 repeat following string 7-4 instruction decode queue instruction format 7-2 2-59 Index instruction set clock counts 7-13 clock-count summary 7-13 encoding 7-13 flags 7-12 flags affected 7-13 instruction fields d field 7-6 eee field 7-11 index field 7-10 mod and base fields 7-9 mod and rim field 7-7 opcode field 7-5 prefixes 7-4 reg field 7-6 sreg2 field 7-10 sreg3 field 7-11 ss field 7-10 w field 7-5 listing of all 7-14 to 7-33 lock prefix 2-7 names of instructions 7-13 overview 2-6 system-management mode 2-52, A-13 types of operations 2-6 instruction summary system-management mode A-12 instruction types 2-7, 7-2 instruction-pointer register 2-14 initial value 2-3 to 2-4 internal clock synchronization TI486SXL 4-20 TI486SXLC 3-17 interrupt acknowledge bus cycles TI486SXL 4-37 TI486SXLC 3-31 interrupt gates 2-59 interrupt handling virtual-8086 mode 2-60 interrupt vectors 2-45 assignments 2-46 interrupt-descriptor table 2-45 interrupt-enable flag 2-15 interrupt-descriptor-table register initial value 2-3 to 2-4 interrupts descriptor table register 2-20 gate descriptors 2-23 maskable 2-43 non maskable 2-43 system management Tl486SXL 4-50 Tl486SXLC 3-43 interrupts and exceptions 2-43 priorities 2-46 intersegment transfers 2-59 invalid-opcode exception invalidation cache C-4 2-7 KEN# pin disabling 2-27 enabling 2-27 I!I leaving virtual-8086 mode 2-61 list, instruction set 7-14 to 7-33 loading SMM memory from main memory system-management mode A-22 local-descriptor table 2-40 register 2-20 lock hardware signal setting 7-4 lock prefix 2-7, 7-4 locked bus cycles TI486SXL 4-37 TI486SXLC 3-31 logic symbol TI486SXL 1-11 to 1-12 TI486SXLC 1-7 machine-status-word register control register 0 2-18 initial value 2-3 to 2-4 maskable interrupts 2-43 enabling 2-15 masking See also disabling alignment check 2-19 bit A20M address C-3 interrupts INTR 2-43 measurement points for ac characteristics 5-16 to 5-19, 5-29 to 5-34 memory address space 2-8 offset mechanism 2-37 real-mode memory addressing 2-38 system-management mode 2-54 memory addressing 2-8, 2-37 during virtual-8086 mode 2-60 memory space header SMM 2-50 system-management mode 2-52 mixed 3.3-V/5-Voperation 1-19 Index-9 Index nonpipelined (continued) bus states Tl486SXL 4-23 Tl486SXLC 3-20 halt cycle Tl486SXL 4-39 Tl486SXLC 3-33 read and write cycles Tl486SXL 4-24 Tl486SXLC 3-21 wait states Tl486SXL 4-25 Tl486SXLC 3-22 numeric coprocessor. See coprocessor mixed systems 3-V systems 0-9 3-V15- V systems 0-10 using TI486SXL 0-9 mod and base fields for instructions 7-9 mod and rim field for instructions 7-7 mode 3.3-Voperation 1-19 clock doubled 1-18 entering clock doubled Tl486SXL 4-17 Tl486SXLC 3-14 halt 2-57 I/O float Tl486SXL 4-55 Tl486SXLC 3-48 memory addressing 2-38 mixed 3.3-V/5-V operation 1-19 power management 1-18 Tl486SXL 4-18 TI486SXLC 3-15 protected 2-12 protection 2-57 real 2-12 real versus protected 2-5 segment registers 2-12 shutdown 2-57 static operations 1-18 stopping the input clock Tl486SXL 4-53 TI486SXLC 3-47 suspend 1-18 Tl486SXL 4-52, 4-53 See a/so suspend request 3-45, 3-46 See a/so suspend request Tl486SXLC system management 1-18, 2-49 Tl486SXL 4-50 TI486SXLC 3-43 virtual 8086 2-60 m NC designated terminals nested-task flag 5-3 2-15 non maskable interrupts 2-43 noncacheable boundaries, setting nonpipelined addressing bus cycles Tl486SXL 4-23 Tl486SXLC 3-20 bus cycles using bus size input Tl486SXL 4-34 Index-10 OEM modifications for 168-pin CPGA 0-1 chipset support 0-11 offset address calculation 2-37 mechanism 2-37 on-chip cache 1-17 opcode field for instructions 7-5 operands default size real versus protected modes 2-5 length and location 2-6 overview 2-6 setting length 2-22 setting size 7-4 types 2-6 operations system-management mode 2-50 ordering information part number components F-1 overflow flag 2-15 override segment default 7-4 overview system-management mode 1-18, A-2 TI486SXL series 1-9 TI486SXLC series 1-5 2-27 package dimensions TI486SXL 132-pin PGA TI486SXL 168-pin PGA TI486SXL ceramic QFP TI486SXL plastic QFP TI486SXLC plastic QFP page frame 2-41 page table 2-41 6-14 6-17 6-16 6-15 6-13 Index page-directory base register control register 3 2-1 8 page-fault linear address control register 2 2-18 paging initialization 2-2 paging mechanism directory table 2-41 page frame 2-41 page table 2-41 parameter definitions for thermal characteristics parity flag 6-20 2-15 part numbers offered TI486DLC F-3 TI486SLC F-3 TI486SXL F-2 TI486SXLC F-2 physical memory space 2-8 real mode versus protected mode 2-5 pin assignments TI486SXL 132-pin PGA 6-6 144-pin QFP 6-8 168-pin PGA 6-11 cross reference to 486SX, OX,OX4 TI486SXLC 6-3 pin functions TI486SXL 4-4 to 4-11 TI486SXLC 3-4 to 3-11 pipeline for execution 1-17 initialization 2-2 Ii] pipelined addressing bus cycles Tl486SXL 4-27 Tl486SXLC 3-24 bus cycles using bus size input Tl486SXL 4-35 bus states Tl486SXL 4-27 Tl486SXLC 3-24 read and write cycles Tl486SXL 4-28 Tl486SXLC 3-25 shutdown Tl486SXL 4-41 Tl486SXLC 3-35 wait states Tl486SXL 4-29 Tl486SXLC 3-26 pointer and index registers power electrical connections 6-12 power management 1-18 features system-management mode A-3 TI486SXL 4-18, 4-52 TI486SXLC 3-15, 3-45 power-on and hard reset 810S modifications 8-3 prefix lock 2-7 prefixes for instruction set 7-4 priorities interrupts and exceptions 2-46 privilege levels 2-57 1/0 2-58 real versus protected mode 2-5 transfer 2-58 intersegment 2-59 task switches 2-59 privilege-level flag 2-14 1/0 2-15 processor initialization 2-2 protected mode 2-57 address calculation 2-39 initialization and transition 2-59 to real-mode switching 810S modifications 8-3 protected mode versus real mode 2-5 protection during virtual-8086 mode 2-60 gates 2-59 initialization 2-59 pullup/pulldown resistors 5-2 2-11 5-2 ranges address space 2-8 read and write cycles nonpipelined Tl486SXL 4-24 Tl486SXLC 3-21 pipelined Tl486SXL 4-28 Tl486SXLC 3-25 real mode address calculation 2-38 exceptions 2-47 memory addressing 2-38 real mode versus protected mode 2-5 recommended operating conditions 5-5 3.3-volt devices 5-6 3.3-voltl5-volt-tolerant TI486SXL-G devices 5-volt devices 5-6 reducing the clock frequency system-management mode A-3 5-5 Index-11 Index reg field for instructions 7-6 registers accumulator 2-11 initial value 2-3 to 2-4 additional data segment 2-12 address region 2-29 to 2-30 initial value 2-3 to 2-4 base 2-11 initial value 2-3 to 2-4 base pointer 2-11 initial value 2-3 to 2-4 code segment 2-12 initial value 2-3 to 2-4 configuration control 2-26 initial value 2-3 to 2-4 count 2-11 initial value 2-3 to 2-4 data 2-11 initial value 2-3 to 2-4 data segment 2-12 initial value 2-3 to 2-4 debug 2-31 initial value 2-3 to 2-4 destination index 2-11 initial value 2-3 to 2-4 EFLAGS 2-14 extra segment 2-12 initial value 2-3 to 2-4 flag word 2-14 initial value 2-3 to 2-4 general purpose 2-11 data registers 2-11 pointer and index 2-11 instruction pointer 2-14 initial value 2-3 to 2-4 interrupt-descriptor table 2-20 initial value 2-3 to 2-4 machine-status word 2-14 initial value 2-3 to 2-4 segment selector 2-13 additional data 2-12 code 2-12 data 2-12 extra segment 2-12 selection rules 2-13 stack 2-12 source index 2-11 initial value 2-3 to 2-4 stack pointer 2-11 initial value 2-3 to 2-4 stack segment 2-12 initial value 2-3 to 2-4 Index-12 register sets application registers 2-7 overview 2-7 system registers 2-16 repeat string instruction 7-4 reset processor initialization 2-2 signal states TI486SXL 4-15 TI486SXLC 3-12 soft 8-4 timing T1486SXL 4-20 T1486SXLC 3-17 RESET setup and hold timing 5-29 restore LDTR and descriptor system-management mode A-13 register and descriptor system-management mode A-13 TSR and descriptor system-management mode A-13 resume flag 2-15 from suspend T1486SXL 4-18 T1486SXLC 3-15 normal mode from system-management mode A-13 revision ID 2-3 to 2-4 save LDTR and descriptor system-management mode A-13 register and descriptor system-management mode A-13 TSR and descriptor system-management mode A-13 scaled addressing modes 2-38 scaling clock 3-14, 4-17 segment descriptor register bit definitions 2-22 descriptors system and application 2-21 register selection rules 2-13 setting limit 2-22 size 2-5 segment default, override 7-4 segment registers, types 2-12 selector mechanism 2-39 Index self test clock-cycle count 2-2 EAX register after completion Tl486SXL 4-21 Tl486SXLC 3-18 initiating Tl486SXL 4-20 Tl486SXLC 3-17 sequence, clock scaling TI486SXL 4-17 TI486SXLC 3-14 setting address region size Tl486SXL 2-30 Tl486SXLC 2-29 address size 7-4 breakpoint address 2-31 debug breakpoint conditions 2-32 descriptor type 2-22 granularity 2-22 length of effective addresses 2-22 setting (continued) length of operands 2-22 lock hardware signal 7-4 noncacheable boundaries 2-27 operand size 7-4 segment limit 2-22 setup and hold timing TI486SXL 5-32 TI486SXLC 5-29 shutdown and halt soft reset 810S modifications A-4 8-4 software debugging 8MI code A-36 software considerations addressing SMM code A-9 exiting the 8MI handler A-9 memory space header (SMM) 2-57 2-15 sreg2 field for instructions sreg3 field for instructions ss field for instructions 7-10 7-11 7-10 stack-pointer register 2-11 initial value 2-3 to 2-4 static operation stopping the input clock TI486SXL 4-53 TI486SXLC 3-47 size operanq default real versus protected modes 2-5 segment 2-5 setting address 7-4 setting operand 7-4 SUSP-initiated suspend mode TI486SXL 4-52 TI486SXLC 3-45 2-54 2-12 states bus Tl486SXL 4-23, 4-27 Tl486SXLC 3-20, 3-24 bus transitions Tl486SXL 4-33 Tl486SXLC 3-30 hold acknowledge Tl486SXL 4-46 Tl486SXLC 3-39 signal summary TI486SXL 4-3 TI486SXLC 3-3 SMI handler example system-management mode A-17 exiting A-9 A-35 source-index register 2-11 initial value 2-3 to 2-4 signal states during reset and hold acknowledge TI486SXL 4-15 Tl486SXLC 3-12 during suspend mode Tl486SXL 4-19 Tl486SXLC 3-16 SMI service routine execution A-7 software control for clock doubling TI486SXL 4-16 TI486SXLC 3-13 software only debugging of SMM code stack-segment-selector register stack-segment register initial value 2-3 to 2-4 shutdown, bus cycles TI486SXL 4-39 TI486SXLC 3-33 sign flag SMM feature comparison pins disabling 2-28 enabling 2-28 1-18 suspend acknowledge TI486SXL 4-18 TI4868XLC 3-15 suspend mode 1-18 during system-management mode HALT initiated Tl486SXL 4-53 Tl486SXLC 3-46 2-55 Index-13 Index suspend mode (continued) initiating TJ486SXL 4-52, 4-53 TJ486SXLC 3-45, 3-46 signal states during TJ486SXL 4-19 TJ486SXLC 3-16 stopping the input clock TJ486SXL 4-53 TJ486SXLC 3-47 SUSP initiated TJ486SXL 4-52 TJ486SXLC 3-45 system-management mode TJ486SXL system-management mode (continued) feature comparison A-4 flow diagram 2-51 format of data used by SVOC/RSOC instructions A-32 implementation A-5 software considerations. See instructions 2-52 instruction summary A-12 restore LDTR and descriptor A-13 register and descriptor A-13 TSR and descriptor A-13 A-3 resume normal mode A-13 save See suspend request LDTR and descriptor A-13 register and descriptor A-13 TSR and descriptor A-13 TJ486SXLC See suspend request suspend pins disabling 2-27 enabling 2-27 introduction 2-49 loading SMM memory from main memory memory space 2-54 memory space header 2-51 , A-8 operations 2-50 overview 1-18, A-2 power management features A-3 reducing the clock frequency A-3 suspend mode A-3 programming guide altering SMM code limits A-34 clearing the VM bit A-42 detection suspend request TI486SXL 4-18 TI486SXLC 3-15 SX support 0-2 symbol TI486SXL 1-11 to 1-12 TI486SXLC 1-7 system management interrupt TI486SXL 4-50 TI486SXLC 3-43 of SMM capable version A-28 of TI microprocessor A-26 system register set 2-16 address-region registers 2-30 block sizes 2-30 cache-test registers 2-35 configuration registers 2-26 configuration-control register a bit definitions enabling SMM A-11 format of data used by SVDC/RSDC instructions A-32 hardware considerations A-5 address strobes A-5 chipset READY#, A-6 SMI# pin timing A-5 SMM pins A-5 2-27 configuration-control register 1 bit definitions 2-28 control registers bit definitions 2-19 CRO, CR2, CR3 2-18 debug registers (OR7-0) 2-31 descriptor-table registers, descriptors overview 2-16 system-address registers 2-19 task register 2-23 test registers 2-33 system-address registers 2-19 system-management mode altering SMM code limits A-34 CPU states 2-55 detection of a TI microprocessor A-26 of SMM capable version A-28 enabling A-11 Index-14 A-22 2-19 implementation A-2 instruction summary A-12 introduction A-2 loading SMM memory from main memory A-22 overview A-2 reducing the clock frequency A-3 SMI handler example A-17 software considerations addressing SMM code A-9 execution details A-9 exiting the SMI handler A-9 memory space header A-7 to A-8 suspend mode A-3 testing/debugging SMM code A-35 SMI handler example A-17 SMI service routing execution 2-54 Index system-management mode (continued) suspend mode 2-55 suspended-mode flow diagram 2-56 testing/debugging SMM code A-35 TI486SXL 4-50 TI486SXLC 3-43 timing (continued) ac characteristics (continued) 3.3-volt devices 5-22 T1486SXL2-V50 5-24 T1486SXL-V40 5-23 TI486SXLC-V25 5-22 5-volt devices 5-25 T1486SXL2-050 5-28 T1486SXL-040 5-27 T1486SXLC2-050 5-26 T1486SXLC-040 5-25 D task gates 2-59 descriptors 2-22 task register task switches 2-23 2-59 terminal assignments TI486SXL 132-pin PGA 6-6 144-pin QFP 6-8 168-pin PGA 6-11 168-pin cross reference to 486SX, OX, OX4 6-12 TI486SXLC 6-3 terminal functions TI486SXL 4-4 to 4-11 TI486SXLC 3-4 to 3-11 test registers 2-33 testing/debugging SMM code system-management mode A-35 thermal characteristics 6-18 parameter definitions 6-20 thermal management conclusions E-15 airflow measurement setup 6-20 current trends and theory of correction E-14 guidelines E-14 introduction junction temperature E-3 power E-3 thermal impedance E-3 methodology for TI specifications E-11 modes of heat transfer E-4 airflow E-8 integrated circuit thermal resistance E-5 proximity of integrated circuit on board E-8 PWB conductivity E-7 thermal specifications of integrated circuit E-9 definition of Q E-10 measurement of ambient temperature E-10 system dependence of junction-to and case-to ambient temperature E-9 timing See also functional timing ac characteristics 5-19 3.3-voltl5-volt-tolerant devices TI486SXL -G40 5-20 T1486SXL2-G50 5-21 CLK2 measurement points 5-19 clock synchronization Tl486SXL 4-20 Tl486SXLC 3-17 float delay Tl486SXL 5-34 Tl486SXLC 5-31 functional Tl486SXL 4-22 Tl486SXLC 3-19 HLDA valid delay timing Tl486SXL 5-34 Tl486SXLC 5-31 input signal setup and hold Tl486SXL 5-32 Tl486SXLC 5-29 measurement points 5-16 to 5-19, 5-29 to 5-34 Tl486SXL 5-18 Tl486SXLC 5-17 output signal valid delay Tl486SXL 5-33 Tl486SXLC 5-30 reset Tl486SXL 4-20 Tl486SXLC 3-17 RESET setup and hold timing 5-29 write cycle hold timing Tl486SXL 5-34 Tl486SXLC 5-31 write cycle valid delay timing Tl486SXL 5-33 Tl486SXLC 5-30 TLB-test registers transfer privilege levels 2-58 transitions, bus states TI486SXL 4-33 TI486SXLC 3-30 translation look-aside buffer 2-42 trap exceptions 2-44 trap gates 2-59 trap-enable flag 5-20 2-33 2-15 trapping I/O TI486SXL 4-51 TI486SXLC 3-44 turning the internal cache on and off B-4 Index-15 Index type of bus cycle TI486SXL 4-16, 4-22 TI486SXLC 3-13, 3-19 m unused inputs 5-3 valid delay timing TI486SXL 5-33 TI486SXLC 5-30 vector assignments for interrupts vectors interrupt-descriptor table interrupts 2-45 2-45 virtual-8086 mode 2-60 entering and leaving 2-61 flag 2-15 interrupt handling 2-60 memory addressing 2-60 protection 2-60 VL bus cache snooping 0-7 clock and clock skew 0-7 10 settings 0-8 support 0-7 Index-16 2-46 wfield for instructions 7-5 wait states nonpipelined Tl486SXL 4-25 Tl486SXLC 3-22 pipelined Tl486SXL 4-29 Tl486SXLC 3-26 write and read cycles nonpipelined Tl486SXL 4-24 Tl486SXLC 3-21 pipelined Tl486SXL 4-28 Tl486SXLC 3-25 write cycle hold timing Tl486SXL 5-34 Tl486SXLC 5-31 valid delay timing TI486SXL 5-33 Tl486SXLC 5-30 write duplication as a function of byte enables write protection disabling 2-28 enabling 2-28 zero flag 2-15 TI486SXL 4-14 TI Worldwide Sales Offices ALABAMA: Huntsville: 4970 Corporate Drive, NW Suite 125H, Huntsville, AL 35805-6230, (205) 430-0114. ARIZONA: Phoenix: 2525 E. Camelback, Suite 500, Phoenix, AZ 85016, (602) 224-7800. CALIFORNIA: Irvine: 1920 Main Street, Suite 900, Irvine, CA 92714, (714) 660-1200; San Diego: 5625 Ruffin Road, Suite 100, San Diego, CA 92123, (619) 278-9600; San Jose: 2825 North First Street, Suite 200, San Jose, CA 95134, (408) 894-9000; Woodland Hills: 21550 Oxnard Street, Suite 700, Woodland Hills, CA 91367, (818) 704-8100. COLORADO: Aurora: 1400 S. Potomac Street, Suite 101, Aurora, CO 80012, (303) 368-8000. CONNECTICUT: Wallingford: 1062 Barnes Industrial Park Road, Suite 303, Wallingford, CT 06492, (203) 265-3807. FLORIDA: Orlando: 370 S. North Lake Boulevard, Suite 1008, Altamonte Springs, FL 32701 , (407) 260-2116; Fort Lauderdale: Hillsboro Center, Suite 110, 600 W. Hillsboro Boulevard, Deerfield Beach, FL 33441, (305) 425-7820; Tampa: 4803 George Road, Suite 390, Tampa, FL 33634-6234, (813) 882-0017. GEORGIA: Atlanta: 5515 Spalding Drive, Norcross, GA 30092-2560, (404) 662-7967. ILLINOIS: Arlington Heights: 515 West Algonquin, Arlington Heights, IL 60005, (708) 640-2925. INDIANA: Indianapolis: 550 Congressional Drive, Suite 100, Carmel, IN 46032, (317) 573-6400; Fort Wayne: 103 Airport North Office Park, Fort Wayne, IN 46825, (219) 489-3860. KANSAS: Kansas City: 7300 College Boulevard, Lighton Plaza, Suite 150, Overland Park, KS 66210, (913) 451-4511. MARYLAND: Columbia: 8815 Centre Park Drive, Suite 100, Columbia, MD 21045, (410) 964-2003. MASSACHUSETTS: Boston: Bay Colony Corporate Center, 950 Winter Street, Suite 2800, Waltham, MA 02154, (617) 895-9100. MICHIGAN: Detroit: 33737 W. 12 Mile Road, Farmington Hills, M148331, (313) 553-1500. MINNESOTA: Minneapolis: 11000 W. 78th Street, Suite 100, Eden Prairie, MN 55344, (612) 828-9300. NEW JERSEY: Edison: 399 Thornall Street, Edison, NJ 08837-2236, (908) 906-0033. NEW MEXICO: Albuquerque: 3916 Juan Tabo Place NE, Suite 22, Albuquerque, NM 87111, (505) 345-2555. NEW YORK: East Syracuse: 5015 Campuswood Drive, East Syracuse, NY 13057, (315) 463-9291 ; Poughkeepsie: 300 Westage Business Center, Suite 250, Fishkill, NY 12524, (914) 897-2900; Long Island: 48 South Service Road, Suite 100, Melville, NY 11747, (516) 454-6601 ; Rochester: 2851 Clover Street, Pittsford, NY 14534, (716) 385-6700. NORTH CAROLINA: Charlotte: 8 Woodlawn Green, Suite 100, Charlotte, NC 28217, (704) 522-5487; Raleigh: Highwoods Tower 1, 3200 Beach Leaf Court, Suite 206, Raleigh, NC 27604, (919) 876-2725. OHIO: Cleveland: 23775 Commerce Park Road, Beachwood, OH 44122-5875, (216) 765-7528; Dayton: 4035 Colonel Glenn Highway, Suite 310, Beavercreek, OH 45431-1601, (513) 427-6200. OREGON: Portland: 6700 S.w. 105th Street, Suite 110, Beaverton, OR 97005, (503) 643-6758. PENNSYLVANIA: Philadelphia: 600 W. Germantown Pike, Suite 200, Plymouth Meeting, PA 19462, (215) 825-9500. PUERTO RICO: Hato Rey: 615 Mercantil Plaza Building, Suite 505, Hato Rey, PR 00919, (80!;}) 753-8700. TEXAS: Austin: 12501 Research Boulevard, Austin, TX 78759, (512) 250-6769; Dallas: 7839 Churchill Way, Dallas, TX 75251, (214) 917-1264; Houston: 9301 Southwest Freeway, Commerce Park, Suite 360, Houston, TX 77074, (713) 778-6592; Midland: FM 1788 & 1-20, Midland, TX 79711-0448, (915) 561-7137. UTAH: Salt Lake City: 2180 South 1300 East, Suite 335, Salt Lake City, UT 54106, (801) 466-8973. WISCONSIN: Milwaukee: 20825 Swenson Drive, Suite 900, Waukesha WI 53186, (414) 798-1001. CANADA: Ottawa: 303 Moodie Drive, Suite 1200, Mallorn Centre, Nepean, Ontario, Canada KZH 9R4, (613) 726-3201; Toronto: 280 Centre Street East, Richmond Hill, Ontario, Canada L4C 1B1, (416) 884-9181; Montreal: 9460 Trans Canada Highway, St. Laurent, Quebec, Canada H4S 1 R7, (514) 335-8392. MEXICO: Texas Instruments de Mexico S.A. de C.V., Xola 613, Modulo 1-2, Colina del Valle, 03100 Mexico, D.F., 5-639-9740. AUSTRALIA (& NEW ZEALAND): Texas Instruments Australia Ltd., 6-10 Talavera Road, North Ryde (Sydney), New South Wales, Australia 2113,2-878-9000; 14th Floor, 380 Street, Kilda Road, Melbourne, Victoria, Australia 3000, 3-696-1211. BELGIUM: Texas Instruments Belgium S.A.lN.V., Avenue Jules Bordetlaan 11, 1140 Brussels, Belgium, (02) 242 30 80. BRAZIL: Texas Instrumentos Electronicos do Brasil Ltda., Av. Eng. Luiz Carlos Berrini, 1461,11 andar, 04571-903, Sao Paulo, SP, Brazil, 11-535-5133. DENMARK: Texas Instruments AlS, Borupvang 2D, 2750 Ballerup, Denmark, (44) 68 74 00. FINLAND: Texas Instruments OY, Tekniikantie 12, 02150 Espoo, Finland, (0) 43 54 20 33. FRANCE: Texas Instruments France, 8-10 Avenue Morane-Saulnier, B.P. 67, 78141 VelizyVillacoublay Cedex, France, (1) 30 701001. GERMANY: Texas Instruments Deutschland GmbH., Haggertystra~e 1, 85356 Freising, Germany, (08161) 80-0; Kirchhorster Stra~e 2, 30659 Hannover, Germany, (0511) 904960; Maybachstra~e II, 73760 Ostfildern, Germany, (0711) 34 03 o. HONG KONG: Texas Instruments Hong Kong Ltd., 8th Floor, World Shipping Centre, 7 Canton Road, Kowloon, Hong Kong, 737-0338. HUNGARY: Texas Instruments Representation, Budaorsi u.50, 3rd floor, 1112 Budapest, Hungary, (1) 269 8310. INDIA: Texas Instruments India Private Ltd., AL-Aabeeb, 150/1 Infantry Road, Bangalore 560001, India, (91-80) 226-9007. IRELAND: Texas Instruments Ireland Ltd., 7/8 Harcourt Street, Dublin 2, Ireland, (01) 475 52 33. ITALY: Texas Instruments Italia S.p.A., Centro Direzionale Colleoni, Palazzo Perseo-Via Paracelso 12,20041 Agrate Brianza (Mi), Italy, (039) 63221; Via Castello della Magliana, 38, 00148 Roma, Italy (06) 657 26 51. JAPAN: Texas Instruments Japan Ltd., Aoyama Fuji Building 3-6-12 Kita-Aoyama Minato-ku, Tokyo, Japan 107,03-498-12111; MS Shibaura Building 9F, 4-13-23 Shibaura, Minato-ku, Tokyo, Japan 108,03-769-8700; Nissho-Iwai Building 5F, 2-5-8 Imabashi, Chuou-ku, Osaka, Japan 541, 06-204-1881; Dai-ni Toyota Building Nishi-kan 7F, 4-10-27 Meieki, Nakamura-ku, Nagoya, Japan 450, 052-583-8691; Kanazawa Oyama-cho Daiichi Seimei Building 6F, 3-10 Oyama-cho, Kanazawa-shi, Ishikawa, Japan 920, 0762-23-5471; Matsumoto Showa Building 6F, 1-2-11 Fukashi, Matsumoto-shi, Nagano, Japan 390, 0263-33-1060; Daiichi Olympic Tachikawa Building 6F, 1-25-12, Akebono-cho, Tachikawa-shi, Tokyo, Japan 190,0425-27-6760; Yokohama Business Park East Tower 1OF, 134 Goudo-cho, Hodogaya-ku, Yokohama-shi, Kanagawa, Japan 240,045-338-1220; Nihon Seimei Kyoto Yasaka Building 5F, 843-2, Higashi Shiokohji-cho, Higashi-iru, Nishinotoh-in, Shiokohji-dori, Shimogyo-ku, Kyoto, Japan 600, 075-341-7713; Sumitomo Seimei Kumagaya Building 8F, 2-44 Yayoi, Kumagaya-shi, Saitama, Japan 360, 0485-22-2440; 4262, Aza Takao, Oaza Kawasaki, Hiji-Machi, Hayami-Gun, Oita, Japan 879-15, 0977-73-1557. KOREA: Texas Instruments Korea Ltd., 28th Floor, Trade Tower, 159-1, Samsung-Dong, Kangnam-ku Seoul, Korea, 2-551-2800. MALAYSIA: Texas Instruments, Malaysia, SDN. BHD., Lot 36.1 #Box 93, Menara Maybank, 100 Jalan Tun Perak, 50050 Kuala Lumpur, Malaysia, 50-3-230-6001. NORWAY: Texas Instruments Norge AlS, P.B. 106, Brin Sveien 3, 0513 Oslo 5, Norway, (02) 264 75 70. PEOPLE'S REPUBLIC OF CHINA: Texas Instruments China Inc., Beijing Representative Office, 7-05 CITIC Building, 19 Jianguomenwai Dajie, Beijing, China, 500-2255, Ext. 3750. PHILIPPINES: Texas Instruments Asia Ltd., Philippines Branch, 14th Floor, Ba-Lepanto Building, 8747 Paseo de Roxas, 1226 Makati, Metro Manila, Philippines, 2-817-6031. PORTUGAL: Texas Instruments Equipamento Electronico (Portugal) LDA., Eng. Frederico Ulricho, 2650 Moreira Da Maia, 4470 Maia, Portugal (2) 948 10 03. SINGAPORE (& INDONESIA, THAILAND): Texas Instruments Singapore (PTE) Ltd., 990 Bendemeer Road, Singapore 1233, (65) 390-7100. SPAIN: Texas Instruments Espana S.A., clGobelas 43,28023, Madrid, Spain, (1) 372 80 51; Parc Technologic Del Valles, 08290 Cerdanyola, Barcelona, Spain, (3) 31 791 80. SWEDEN: Texas Instruments International Trade Corporation (Sverigefilialen), Box 30, 164 93, Isafjordsgatan 7, Kista, Sweden, (08) 752 58 00. SWITZERLAND: Texas Instruments Switzerland AG, Riedstrasse 6, CH-8953 Dietikon, Switzerland, (01)7442811. TAIWAN: Texas Instruments Taiwan Limited, Taipei Branch, 23th Floor, Sec. 2, Tun Hua S. Road, Taipei 106, Taiwan, Republic of China, (2) 378-6800. UNITED KINGDOM: Texas Instruments Ltd., Manton Lane, Bedford, England, MK41 7PA, (0234) 270111. ~TEXAS INSTRUMENTS A0294 ©1994 Texas Instruments Incorporated Printed in U.S.A. TI486SXLC and TI486SXL Microprocessors Reference Guide • TEXAS INSTRUMENTS lUlU l ;"' i ,. . I.U. ; .... \ IT' ; iii I .. Addendum it ... n It L. Ll r Ii i "j i ;' . . ;::z :os ....",_ _.. ~hY~~~~~_~y.y ...,~. This addendum to the TI486SXLC and TI486SXL Microprocessors Reference Guide (SRZU006D) provides updated information for the electrical, mechanical, and thermal specifications and ordering information of subject microprocessors. Power supply requirements of the 486-compatible microprocessors offered are shown in Table A-1. Table A-1. Application Classifications Family Dash Number Supply Voltages TI486SXL(C)2 -oxxt Vee TI486SXL( C)2 -GXX Vee = 3.3, VeC(5) = 3.3 V to 5 V 5-volt-tolerant inputs for mixed 3-V/5-V systems TI486SXL(C)2 -VXX Vce= 3.3 V 3-V systems Note: =5 V Application 5-V systems 2 indicates clock-doubled versions. Single-clock versions are also offered (Le., SXL-040). XX = Frequency of operation (25, 40, or 50 MHz) A complete listing of the microprocessors offered is shown in Table F-1 on addendum page 24. A chapter-by-chapter synopsis of the changes follows. Chapter 5 Electrical Specifications Locations of the updated data in Chapter 5 are referenced by paragraph number and subject. 5.3 Recommended Operating Conditions The TI486SXL( C) 5-V microprocessors are intended for use in environments where the maximum case temperature is below 100°C for the 100-pin and 144-pin quad flat packages (QFPs), 85°C for the 132-pin and 168-pin ceramic pin grid arrays (CPGAs), and 75°C for the 144-and 168-pin TI486SXL2-G66. Achieving this case temperature may require a heat sink fin and/or appropriate airflow. For updated data see Section 6.3, Thermal Characteristics, starting on page 20 of this addendum. Tables 5-4 through 5-6, showing the recommended operating conditions, supersede the corresponding tables in the TI486SXLC and Tl486SXL Microprocessors Reference Guide. Changes are indicated by revision bars on the left. SRZU017 (For use with SRZU006D) Addendum-1 Addendum :: :=. ,c.• ;:m,mu 5.4.1 I.... ;:: ::.:.:::U.a.:.•... unm, . . :... 5.. Q U .::.:.::m'-'=.~:Q!:.:.:::: ... : UU·:.:.:RR.~:. 3.3-Volt Microprocessors With S-Volt-Tolerant Inputs DC electrical characteristics for three new 5-V-tolerant input, 3.3-V micropro:Cessors, the TI496SXL2-G66, .TI486SXLC-G40, and TI486SXLC2-G50, have been added with new Tables 5-8A, 5-88, and 5-8C. Revision bars are omitted as all the material is new. 5.5 AC Characteristics The TI486SXL(C) ac specifications have been updated and are included in Tables 5-17 through 5-25. These tables supersede the corresponding tables in the TI486SXLC and TI486SXL Microprocessor Reference Guide. Revision bars are omitted as most of the setup, hold, and delay times have changed. AC specifications for the added 5-V-tolerant input, 3.3-V devices, TI496SXL2-G66, TI486SXLC-G40, and TI486SXLC2-G50, have been added with new Tables 5-18A, 5-188, and 5-18C. Chapter 6 Mechanical Specifications Locations of the updated data in Chapter 6 are referenced by paragraph number and subject. 6.3 Thermal Characteristics The TI486SXL(C) family thermal characteristics are included in Tables 6-10 through 6-14. These tables contain the same data as the corresponding tables in the TI486SXLC and Tl486SXL Microprocessors Reference Guide. They are presented here for your convenience. A new Table 6-10A has been a~ded to provide thermal data for the 100-pin ceramic quad flat package (CQFP). Revision bars are omitted as all the material is new. Appendix F Ordering Information Locations of the updated data in Appendix Fare refe'renced by paragraph number and subject. F.2 Part Numbers for Microprocessors Offered Table F-1 has been updated to show the availability of the TI486SXLC in the small-form-factor, 100-pin CQFP. The new offering includes a 40-MHz or 40/20-MHz version and a 50-MHz clock-doubled version. Also added is the availability of the TI486SXL2-G66. A complete listing of the microprocessors offered is shown in Table F-1 on addendum page 24. The added microprocessors are indicated by a revision bar· on the left side of the table. Addendum-2 _ _ _ _ _ _ _........_ ........._ _........_ _ _ _ _ :::::~_::::_:::: ___ :~: Recommended Operating........:Conditions .. W ...,.;.:.»»»"H.....:..N»"......H ...hW,.;.Y...hY...... ""::::_::':_:.'_:~ ...:«««-»»~:-:«««*' h»»~h:*»»:O;'»» 5.3 Recommended Operating Conditions Recommended operating conditions provide specific values for power supply and input voltages, required input threshold ranges, output drive currents available for system interfacing, and operating levels for clamp currents and case temperature. 5.3.1 3.3-Volt Microprocessors With 5-Volt-Tolerant Inputs Table 5-4 presents the recommended ope'rating conditions for the TI486SXL-G 3.3-V microprocessors with 5-V-tolerant inputs. I During power up and power down conditions, the 3.3-V Vee terminals and the 5-V VeC(5) terminal should be ramped simultaneously because the 3.3-V Vee voltage should not exceed the 5-V VeC(5) voltage by more than 1 V or the device may not initialize correctly. Conversely, the 5-V VCe(5) can exceed the 3.3-V Vce by up to 2.25 V. Table 5-4. TI486SXL-G Recommended Operating Conditions Min Max Unit With respect to VSS See Note 1 3 3.6 V With respect to VSS, See Note 1 3.2 3.6 V With respect to V SS, See Note 2 3 5.25 V 2 VCC(5)+0.3 V -0.3 0.6 V -0.3 0.5 V VCC-0.3 VCC(5)+0.3 VCC Supply voltage VCC Supply voltage TI486SXL2-G66 (only) VCC(5) Supply voltage VIH High-level input voltage VIL Low-level input voltage VIL(C) CLK2low-level input voltage VIH(C) CLK2 high-level input voltage IOH High -level output current VOH = VOHmin IOL Low-level output current VOL=VOLmax flock Phase -locked loop frequency lock range With respect to CLK2 frequency mA 5 mA 32 50 MHz 85 TI486SXL in 144-pin QFP a a a TI486SXL2-G66 in 144-pin QFP or 168-pin PGA a 75 TI486SXLC in 1OO-pin QFP (T1486SXL in 168-pin PGA TC Notes: Case temperature Power applied, V -2 85 85 °C 1) VCC should be no more than 1 V greater than VCC(5) during power up or the device may not initialize correctly. 2) VCC(5) should be connected to the3.3-V supply in a3.3-V-only system. In mixed systems (3.3/5 V) VCC(5) should be connected to the 5-V supply. Replaces original page 5-5 Addendum-3 Recommended Operating Conditions QC 5.3.2 : 3.3-Volt Microprocessors Table 5-5 presents the recommended operating conditions for the TI486SXLC-V and TI486SXL-V 3.3-V microprocessors. Table 5-5. TI486SXLC-Vand TI486SXL-V Recommended Operating Conditions VCC Supply voltage VIH High-level input voltage VIL Low-level input voltage VIL(C) CLK2 low-level input voltage VIH_(C) CLK2 high -level input voltage IOH High-level output current VOH= VOHmin IOL Low-level output current VOL=VOLmax flock Phase -locked loop frequency lock range With respect to CLK 2 frequency TC 5.3.3 With respect to VSS Case temperature Power applied Min Max Unit 3 3.6 V 2 VCC+0.3 V -0.3 0.6 V -0.3 0.5 V VCC-0.3 VCC+0.3 V -2 rnA 5 rnA 32 50 MHz 0 85 1T1486SXL in 168-pin PGA 0 85 TI486SXL in 144-pin QFP 0 85 TI486SXLC in 100-pin QFP °c 5-Volt Microprocessors Table 5-6 presents the recommended operating conditions for the TI486SXLC and TI486SXL 5-V microprocessors. Table 5-6. TI486SXLC and TI486SXL Recommended Operating Conditions Min Max Unit 4.75 5.25 V VCC Supply voltage VIH High-level input voltage 2 VCC+0.3 V VIL Low-level input voltage -0.3 0.8 V VIL(C) CLK2 low-level input voltage -0.3 0.8 V VIH_(C) CLK2 high -level input voltage 3.7 VCC+0.3 V IOH High-level output current VOH=VOHmin -1 rnA IOL Low-level output current VOL= VOLmax 5 rnA flock Phase -locked loop frequency lock range With respect to CLK2 frequency 32 50 MHz TI486SXLC in 100-pin QFP 0 100 TI486SXL in 132- and 168-pin PGA 0 85 TI486SXL in 144-pin QFP a 100 TC Case temperature Replaces original page 5-6 Addendum-4 With respect to VSS Power applied °C __ 5.4.1 DC Electrical Specifications :..,.'..,. . . a_a . .."..,..."..,................................._ _"""""'_::_'_ _- '_ _ _ ""::;:-:-»»'''''~.:.::;_H_~:; ... t_~:»Wh»»'~'«« .••. .::,' 420 '.' Cc Notes: See Note 4 o MHz, Suspended/CLK2 stopped, 23 0.1 mA 1 mA See Note 5 10 pF fc = 1 MHz, See Note 5 12 pF fc = 1 MHz, See Note 5 20 pF See Note 4 1) Applicable for all input terminals except those with an internal pullup resistor. See Table 5-1. 2) PEREQ has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 or VCC. All inputs held static (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 mA). 5) Not 100% tested New page 5-8A ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development Characteristic data and other specHlcetions are subject to change without notice. Addendum-5 DC Electrical Specifications _ _.:_. :._a::VAf"'~h»:-»»»'»:_.::.:.:_.:':.::_.' __ : :.... :, .W'~:--~« _ _ _ _'_.na_naWh.»! : ... :.:.m Table 5-88. TI486SXLC-G40 Electrical Characteristics at Recommended Operating Conditions (Typical Values are at Vee = 3.3 \I, and 1A = 25°C) TI486SXLC-G40 Parameter VOL Test Conditions Low-level output voltage Min IOL= 3 mA Max Unit 0.4 V 2.4 IOH=-1 mA VOH High-level output voltage II Input current (leakage) VIN = 0, VIN ~ VCC, See Note 1 IIH High-level input current at PEREQ VIN = 2.4, See Note 2 IlL Low-level input current VIL = 0.45 V, See Note 3 IOH =-0.2 rnA V VCC-O.4 ICC Supply current (Active mode) 20 MHz (CLK2 = 40 MHz) ICC(SM) Supply current (Suspend mode) 20 MHz (CLK2 = 40 MHz), ICC(SS) Standby supply current Ci Input capacitance Co Cc Notes: Typ See Note 4 o MHz, Suspended/CLK2 stopped, See Note 4 N- ~';;~~~:~;7:jfY <::;lt~!~ ::",' 300 ±15 J.IA 200 J.IA -400 J.IA 400 rnA 15 0.1 rnA 1 rnA 10 pF fc = 1 MHz, See Note 5 Output or 1/0 capacitance fc = 1 MHz, See Note 5 12 pF Input capacitance on CLK2 fc = 1 MHz, See Note 5 20 pF 1) Applicable for all input terminals except those with an internal pull up resistor. See Table 5-1 . 2) PEREQ has an internal pulldown resistor. 3) Applicable for all inputs that have an internal pullup resistor. See Table 5-1. 4) All inputs at 0 orVCC. All inputs held static (except CLK2 as indicated). All outputs unloaded (static lOUT = 0 rnA). 5) Not 100% tested ADVANCE INFORMATION concerns new products In 1I1e sampling or preproduction phase of development. Characteristic data and other specifications are subject to change without notice. Addendum-6 New page 5-88 .......____. . . . . . . . __. . . . __. . . . . . . . ___. . . . . . . . ___............... .. DC Electrical Specifications ..... , ........ , ..... _=a_~~ m:""':_;m_~:_u""' VAV~ :: :~ :C:ClQ:VU.....-»»w.(o'.w.-w,. Table 5-8C. T14868XLC2-G50 Electrical Characteristics at Recommended Operating Conditions (Typical Values are at Vee = 3.3 V, and 1A = 25°C) T1486SXLC2-G50 VOL Low-level output voltage VOH High-level output voltage II Input current (leakage) IIH High-level input current at PEREQ VIN = 2.4, Low-level input current VIL = 0.45 V, IlL Min Test Conditions Parameter IOL=3mA IOH =-0.2 rnA VIN = 0, VIN ~ VCC, Max Unit 0.4 V 2.4 IOH =-1 rnA V VCC-O.4 See Note 1 '., .""t~:::" 17 ~::::it" 20 I':' .5 ns ns 14.5 17 ns 4 3 ns 5-11 5-11 8 5 ns REAOY# setup time REAOY# hold time 5-11 5-11 7 3 ns t21 t22 031-00 read data setup time 031 - 00 read data hold time 5-11 5-11 5 3 ns t23 t24 HOLO setup time HOLO hold time 5-11 5-11 7 2 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 5 2 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 5 5 5 5 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 5 3 ns t31 Clock-doubled PLL lock time Note 6 t32 t33 MEMW# setup time MEMW# hold time Notes: Notes 5, 7 20 5-11 5 5 Ils ns 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. Theyare determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) Oelay time from setting CKO in CCRO to entering clock-doubled mode 7) MEMW# is available on the 144-pin QFP and i68-pin PGA only. Replaces original page 5-20 Addendum-8 ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development Characteristic data and other specifications are subject to change without notice. ::_,_ _ _ _,.....Q:..... m.:....:...... : :........"'""" .. "..m,..,m:,..,~w,..,m:_a!:_. _ _ _ _ _ _....._.L_!.l.... :.:.:.:."": ... _: ......,..... " l"", _ _ _:~~_:H~: AC Characteristics """""; ::_.:::_.:C:.:"". ;.::"""':,:.::_:.::_:::.:.... w:~" ... ;: _ _ _""" aa_.m=_u.=u~_.:m_:m =w.<: Table 5-18 covers the 3.3-V, 50-MHz TI486SXL2-G50. Table 5-18. AC Characteristics for TI486SXL2-G50, Vee = 3 V to 3.6 \I, Vee(5) = 4.75 V to 5.25 V or 3 V to 3.6 \I, Tc = 0 to 85°C Test Conditions T1486SXL2·G50 Symbol Parameter t1 t2a t2b t3a t3b t4 t5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 20 7 4 7 5 t6 t6a t7 A31 - A2 valid delay SMI# valid delay A31 - A2 float delay CL=50pF CL = 50 pF Note 3 5-12,5-15 5-12,5-15 5-15 1 1.5 3 17 30 30 ns t8 t9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay CL = 50 pF Note 3 5-12,5-15 5-15 1 3 17 30 ns t10 t10a AOS#, O/C#, MIIO#, W/R# valid delay SMAOS# valid delay CL = 50 pF CL= 50 pF 5-12,5-15 5-12,5-15 1.5 1.5 17 17 ns t11 t11a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay Note 3 Note 3 5-15 5-15 t12 t12a t13 031-00 write data, SUSPA# valid delay 031 - 00 write data hold time 031-00 write data, SUSPA# float delay CL=50pF Note 5 Note 3 5-12,5-13 5-14 5-15 .~;~ 3 1.5 ..,., ,¥§ 1." ,. 3 .:............ ':';' " 22 .. t14 HLOA valid delay CL=50pF 5-15 1.5 t15 t16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time 5-11 5-11 5 3 ns t17 t18 BS 16 setup time BS16 hold time 5-11 5-11 8 5 ns t19 t20 REAOY# setup time REAOY# hold time 5-11 5-11 9 4 ns t21 t22 031 - 00 read data setup time 031 - 00 read data hold time 5-11 5-11 7 5 ns t23 t24 HaLO setup time HaLO hold time 5-11 5-11 9 3.5 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 8 3 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 6 6 6 6 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 6 5 ns t31 Clock-doubled PLL lock time Note 6 t32 t33 MEMW# setup time MEMW# hold time Notes 5, 7 Figures CLK2 clock-doubled frequency range Min Max Unit 32 50 MHz ns 7 7 3~ ns ns ~: ..•. Notes: 22 20 5-11 5 5 ns ,""S ns 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) Oelay time from setting CKO in CCRO to entering clock-doubled mode 7) MEMW# is available on the 144-pin QFP and 168-pin PGA only. ADVANCE INFORMATION concems new products In the sampling or preproduction phase of development Characteristic data and other speclnCltlons er. subject to change without notice. Replaces original page 5-21 Addendum-9 AC Characteristics Table 5-18A covers the 3.3-V, 66-MHz TI486SXL2C-G66. Table 5-18A. AC Characteristics for TI486SXL2-G66, Vec = 3.2 V to 3.6 \I, VCC(5) = 4.75 V to 5.25 V or 3.2 V to 3.6 \I, TC = 0 to 75°C Parameter Symbol T1486SXL2·G66 Test Conditions Figures CLK2 clock-doubled frequency range Min Max Unit 32 66 MHz t1 t2a t2b t3a t3b t4 t5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 15 7 4 7 5 t6 t6a t7 A31 - A2 valid delay SMI# valid delay A31-A2 float delay CL=50pF CL=50pF Note 3 5-12,5-15 5-12,5-15 5-15 1 1.5 3 15 15 20 ns t8 t9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay CL = 50 pF Note 3 5-12,5-15 5-15 1 3 15 20 ns t10 t10a ADS#, D/C#, MIIO#, W/R# valid delay SMADS# valid delay CL=50pF CL = 50 pF 5-12,5-15 5-12,5-15 1.5 1.5 15 15 ns t11 t11a ADS#, D/C#, Mil 0#, W/R# float delay SMADS# float delay Note 3 Note 3 5-15 5-15 ·~~:~~fo ns ns 7 7 3 3 ,:~{ .... t12 t12a t13 D31-DO write data, SUSPA# valid delay D31 - DO write data hold time D31-DO write data, SUSPA# float delay CL= 50 pF Note 5 Note 3 t14 HLDA valid delay CL = 50 pF t15 t16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time t17 t18 BS16 setup time BS 16 hold time t19 t20 5-12,5-13 5-14 5-15 k·· I.):'='<, 24 l~ ns ;;i~ 20 5-15 1.5 20 5-11 5-11 5 3 ns 5-11 5-11 8 5 ns READY# setup time READY# hold time 5-11 5-11 9 4 ns t21 t22 D31-DO read data setup time D31 - DO read data hold time 5-11 5-11 7 5 ns t23 t24 HOLD setup time HOLD hold time 5-11 5-11 9 3.5 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 8 3 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 6 6 6 6 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 6 5 ns t31 Clock-doubled PLL lock time Note 6 t32 t33 MEMW# setup time MEMW# hold time Notes 5, 7 20 5-11 5 5 J.lS ns Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) Delay time from setting CKD in CCRO to entering clock-doubled mode 7) MEMW# is available on the 144-pin QFP and 168-pin PGA only. ADVANCE INFORMATION concerns new products In the sampling or New page 5-21 A preproduction phase of development Characteristic data and either Notes: 1) 2) 3) 4) ns specifications are subject to change without notlca. Addendum-10 AC Characteristics Table 5-188 covers the 3.3-V, 40-MHz or 40/20-MHz TI486SXLC-G40. Table 5-188. AC Characteristics for TI486SXLC-G40, Vce = 3 V to 3.6 \I, Te Symbol Parameter = 0 to 85°C TI486SXLC· G40 Test Conditions Figures Min 32 CLK2 clock-doubled frequency range Max Unit 40 MHz t1 t2a t2b t3a t3b t4 t5 CLK2 period (clock-doubled period) CLK2 high time (clock-doubled high time) CLK2 high time (clock-doubled high time) CLK2 low time (clock-doubled low time) CLK2 low time (clock-doubled low time) CLK2 fall time (clock-doubled fall time) CLK2 rise time (clock-doubled rise time) Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5.:4 5-4 5-4 5-4 5-4 5-4 5-4 t6 t6a t7 A23-A 1 valid delay SMI# valid delay A23-A 1 float delay CL = 50 pF CL = 50 pF Note 3 5-12,5-15 5-12,5-15 5-15 1 1.5 3 15.5 12.5 17 ns t8 t9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay CL = 50 pF Note 3 5-12,5-15 5-15 1 3 12.5 17 ns t10 t10a AOS#, O/C#, MIIO#, W/R# valid delay SMAOS# valid delay CL = 50 pF CL = 50 pF 5-12,5-15 5-12,5-15 1.5 1.5 12.5 12.5 ns t11 t11a AOS#, O/C#, MIIO#, W/R# float delay SMAOS# float delay Note 3 Note 3 5-15 5-;15 t12 t12a t13 015-00 write data, SUSPA# valid delay 015-00 write data hold time 015-00 write data, SUSPA# float delay CL = 50 pF Note 5 Note 3,6 5-12,5-13 5-14 5-15 17 .,.;~ ;,~><,;.;;~+" 17 1. .:::~~~~.; ;~;:~:~t'" 20 <. ,~. :$:; t~~;' 14.5 CL 12.5 (25) 5 (8) 3.25 (5) 5 (8) 3.25 (6) ns 4 (8) 4 (8) 3 3 ns ns t14 HLOA valid delay 5-15 <:~~f::5 t15 t16 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time 5-11 5-11 4 3 ns t19 t20 REAOY# setup time REAOY# hold time 5-11 5-11 7 3 ns t21 t22 015 - DO read data setup time 015-00 read data hold time 5-11 5-11 5 3 ns t23 t24 HOLD setup time HOLD hold time 5-11 5-11 7 2 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 5 2 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 5 5 5 5 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 5 3 ns Clock-doubled PLL lock time Note 7 t31 Notes: = 50 pF 17 20 ns J.1S Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Delay time from setting CKO in CCRO to entering clock-doubled mode 1) 2) 3) 4) ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development Characteristic data and other speclftcatlons are subject to change without notice. New page 5-21 B Addendum-11 AC Characteristics Table 5-18C covers the 3.3-V, 50-MHz TI486SXL2C-G50. Table 5-18C. AC Characteristics for TI486SXLC2-G50, Vee = 3 V to 3.6 V, Te = Oto 85°C Symbol Parameter T1486SXLC2-G50 Test Conditions Figures CLK2 clock-doubled frequency range Min Max Unit 32 50 MHz t1 t2a t2b t3a t3b t4 t5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 20 7 4 7 5 t6 t6a t7 A23-A1 valid delay SMI# valid delay A23-A1 float delay CL =50 pF CL = 50 pF Note 3 5-12,5-15 5-12,5-15 5-15 1 1.5 3 17 30 30 t8 t9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay CL=50pF Note 3 5-12,5-15 5-15 1 3 30 t10 t10a ADS#, D/C#, M/IO#, W/R# valid delay SMADS# valid delay CL = 50 pF CL =50 pF 5-12,5-15 5-12,5-15 1.5 1.5 17 t11 t11 a ADS#, D/C#, M/IO#, W/R# float delay SMADS# float delay Note 3 Note 3 5-15 5-15 3 3 .; ~;~:~~;;:~JjS t12 t12a t13 D15-DO write data, SUSPA#valid delay D15- DO write data hold time D15- DO write data, SUSPA# float delay CL =50 pF Note 5 Note 3,6 5-12,5-13 5-14 5-15 t14 HLDA valid delay CL = 50 pF t15 t16 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time 5-11 5-11 5 3 ns t19 t20 READY# setup time READY# hold time 5-11 5-11 9 4 ns t21 t22 D15- DO read data setup time D15-DO read data hold time 5-11 5-11 7 5 ns t23 t24 HOLD setup time HOLD hold time 5-11 5-11 3.5 t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 8 3 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 6 6 6 6 ns t29 t30 PEREa, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 6 5 ns t31 Clock-doubled PLL lock time Note 7 Notes: 5-15 ns 7 7 17 17 ~~ y·S ~~:lP· ns ns ns ns 23 ns 22 22 9 ns ns 20 !ls 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Delay time from setting CKD in CCRO to entering clock-doubled mode ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development Characteristic data and other specifications are subject to change without notice. Addendum-12 New page 5-21 C AC Characteristics 5.5.3.2 AC Data for 3.3-Volt Microprocessors Table 5-19 covers the 3.3-V, 25-MHz TI486SXLC-V25. Table 5-19. AC Characteristics for T14868XLC- V25, Vee =3 V to 3.6 \I, Te = 0 to 85°C TI486SXLC· V25 Parameter Test Conditions Figures t1 t2a t2b t3a t3b t4 t5 CLK2 CLK2 CLK2 CLK2 CLK2 CLK2 CLK2 Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 20 7 4 7 5 t6 t6a t7 A23-A1 valid delay SMI# valid delay A23-A 1 float delay CL = 50 pF CL = 50 pF Note 3 5-7,5-10 5-7,5-10 5-10 1 1.5 4 21 30 30 ns t8 t9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay CL = 50 pF Note 3 5-7,5-10 5-10 1 4 18 30 ns t10 t10a AOS#, O/C#, MIIO#, W/R# valid delay SMAOS# valid delay CL = 50 pF CL = 50 pF 5-7,5-10 5-7,5-10 1.5 1.5 19 ,,': i;~::> f";f,),g ns t11 t11 a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay Note 3 Note 3 5-10 5-10 : : ~ ;~;~} :;;:S:~"" ~g ns t12 t12a t13 015-00 write data, SUSPA# valid delay 015-00 write data hold time 015-00 write data, SUSPA# float delay CL = 50 pF Note 5 Notes 3,6 5-7,5-8 5-9 5-10 t14 HLOA valid delay CL = 50 pF t15 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time Symbol t16 period high time high time low time low time fall time rise time Min Max Unit 11S 7 7 .. ": ,~~~~~"~ 27 ns 4 22 5-10 2 22 5-6 5 5-6 3.5 ns ns t19 t20 REAOY# setup time REAOY# hold time 5-6 5-6 9 4 ns t21 t22 015-00 read data setup time 015-00 read data hold time 5-6 5-6 7 5 ns t23 t24 HOLD setup time HOLD hold time 5-6 5-6 9 3.5 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 8 3 ns t27 t27a t28 t28a NMI,INTR setup time SMI# setup time NMI,INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-6 5-6 5-6 5-6 6 6 6 6 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREa, ERROR#, BUSY# hold time Note 4 Note 4 5-6 5-6 6 5 ns Notes: 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. Replaces original page 5-22 ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development. Characteristic data and other speclflcadons are subject to change without notice. Addendum-13 AC Characteristics Table 5-20 covers the 3.3-V, 40-MHz or 40/20-MHz TI486SXL-V40. '. Table 5-20. Symbol AC Characteristics for T1486SXL-V40, Vee Parameter Test Conditions = 3 V to 3. 6 V, Te = 0 to 85°C T1486SXL-V40 Figures CLK2 clock-cloubled frequency range Min Max Unit 40 MHz 32 t1 t2a t2b t3a t3b t4 t5 CLK2 period (clock-doubled period) CLK2 high time (clock-doubled high time) CLK2 high time (clock-doubled high time) CLK2 low time (clock-doubled low time) CLK2 low time (clock-doubled low time) . CLK2 fall time (clock-doubled fall time) CLK2 rise time (clock-doubled rise time) Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 12.5 (25) 5 (8) 3.25 (5) 5 (8) 3.25 (6) t6 t6a t7 A31 - A2 valid delay SMI# valid delay A31-A2 float delay CL= 50 pF CL= 50 pF Note 3 5-12,5-15 5-12,5-15 5-15 1 1.5 3 15.5 12.5 17 ns t8 t9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay CL=50pF Note 3 5-12,5-15 5-15 1 3 12.5 17 ns t10 t10a ADS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay CL=50pF CL= 50 pF 5-12,5-15 5-12,5-15 1.5 1.5 12.5 12.5 ns t11 t11a ADS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay Note 3 Note 3 5-15 5-15 . 17 r~~&>~7 ns t12 t12a t13 031-00 write data, SUSPA# valid delay 031 - DO write data hold time 031-00 write data, SUSPA# float delay CL=50pF Note 5 Note 3 5-12,5-13 5-14 5-15 20 ns CL = 50 pF 14.5 17 ns ns 4 (8) 4 (8) ),. '1 3 t' '> t14 HLOA valid delay 5-15 ".~ '<:~r5 t15 t16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time 5-11 5-11 4 3 ns t17 t18 BS 16 setup time BS 16 hold time 5-11 5-11 8 2 ns t19 t20 REAOY# setup time REAOY# hold time 5-11 5-11 7 3 ns t21 t22 031-00 read data setup time 031-00 read data hold time 5-11 5-11 5 3 ns t23 t24 HOLD setup time HOLD hold time 5-11 5-11 7 2 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 5 2 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 5 5 5 5 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 5 3 ns t31 Clock-doubled PLL lock time Note 6 t32 t33 MEMW# setup time MEMW# hold time 5-11 5 5 Notes: Notes 5, 7 20 !JS ns 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) Delay time from setting CKO in CCRD to entering clock-doubled mode 7) MEMW# is available on the 144-pin QFP and 168-pin PGA only. ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development. Characteristic data and other speclftcatlons are subject to change without notice. Addendum-14 Replaces original page 5-23 AC Characteristics Table 5-21 covers the 3.3-V, 50-MHz TI486SXL2-V50. Table 5-21. AC Characteristics for TI486SXL2-V50, Vee Te = 0 to 85°C Symbol Parameter Test Conditions = 3 V to 3.6 V, T1486SXL2-V50 Figures CLK2 clock-doubled frequency range Min Max Unit 32 50 MHz t1 t2a t2b t3a t3b t4 t5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time Note 1 Note 2 Note 2 Note 2· Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 20 7 4 7 5 t6 t6a t7 A31-A2 valid delay SMI# valid delay A31-A2 float delay CL = 50 pF CL= 50 pF Note 3 5-12,5-15 5-12,5-15 5-15 1 1.5 3 17 30 30 ns t8 t9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay CL = 50 pF Note 3 5-12,5-15 5-15 1 3 17 30 ns t10 t10a ADS#, D/C#, MIIO#, W/R# valid delay SMADS# valid delay CL = 50 pF CL= 50 pF 5-12,5-15 5-12,5-15 1.5 1.5 17 17 ns t11 t11a ADS#, D/C#, MIIO#, W/R# float delay SMADS# float delay Note 3 Note 3 5-15 5-15 t12 t12a t13 031-00 write data, SUSPA# valid delay 031-00 write data hold time 031-00 write data, SUSP,A# float delay CL = 50 pF Note 5 Note 3 5-12,5-13 5-14 5-15 x.~ ::)~~{~g ~~?,:~:>' 23 ......... v 1;J:~~;~ ~l <~»:-::~. t14 HLDA valid delay CL=50pF 5-15 'Y.5 t15 t16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time 5-11 5-11 5 3 ns t17 t18 BS 16 setup time BS 16 hold time 5-11 5-11 8 5 ns t19 t20 REAOY# setup time READY# hold time 5-11 5-11 9 4 ns t21 t22 031-DO read data setup time" 031 - DO read data hold time 5-11 5-11 7 5 ns t23 t24 HOLD setup time HOLD hold time 5-11 5-11 9 3.5 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 8 3 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 6 6 6 6 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 6 5 ns t31 Clock-doubled PLL lock time Note 6 t32 MEMW# setup time MEMW# hold time t33 Notes: Notes 5, 7 ns 7 7 3 3 ~ ~. .::~;,~:w' 5-11 .. Input clock can be stopped; therefore, minimum CLK2 frequency IS 0 MHz . ns 22 22 20 5 5 ns ns ""S ns 1) 2) These parameters are not tested. They are determined by design characterization. 3) Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. 4) These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) Delay time from setting CKD in CCRO to entering clock-doubled mode 7) MEMW# is available on the 144-pin QFP and 168-pin PGA only. Replaces original page 5-24 ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development Characteristic data and other speclflcallons are subject to change without notice. Addendum-15 AC Characteristics 5.5.3.3 A C Data for 5· Volt Microprocessors Table 5-22 covers the 5-V, 40-MHz or 40/20-MHz TI486SXLC-040. Table 5-22. AC Characteristics for TI486SXLC-040, Vee Te = 0 to 100°C Symbol Parameter = 4.75 V to 5.25 \I, TI486SXLC-040 Test Conditions Figures Min 32 CLK2 clock-doubled frequency range Max Unit 40 MHz t1 t2a t2b t3a t3b t4 t5 CLK2 period (clock-doubled period) CLK2 high time (clock-doubled high time) CLK2 high time (clock-doubled high time) CLK2 low time (clock-doubled low time) CLK2 low time (clock-doubled low time) CLK2 fall time (clock-doubled fall time) CLK2 rise time (clock-doubled rise time) Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 t6 t6a t7 A23-A1 valid delay SMI# valid delay A23-A1 float delay CL = 50 pF CL=50pF Note 3 5-7,5-10 5-7,5-10 5-10 1.5 1.5 3 15 12.5 17 ns t8 t9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay CL=50pF Note 3 5-7,5-10 5-10 1.5 3 12.5 17 ns t10 t10a AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay CL = 50 pF CL=50pF 5-7,5-10 5-7,5-10 1.5 1.5 12.5 12.5 ns t11 t11 a AOS#, O/C#, M/IO#, W/R# float delay SMAOS# float delay Note 3 Note 3 5-10 5-10 3 3 17 17 ns t12 t12a t13 015- DO write data, SUSPA# valid delay 015-00 write data hold time 015- DO write data, SUSPA# float delay CL = 50 pF Note 5 Notes 3,6 5-7,5-8 5-9 5-10 2 2 3 20 14.5 t14 HLOA valid delay CL = 50 pF 5-10 2 17 t15 t16 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time 5-6 5-6 4 3 ns t19 t20 REAOY# setup time REAOY# hold time 5-6 5-6 7 3 ns t21 t22 015- DO read data setup time 015- DO read data hold time 5-6 5-6 5 3 ns t23 t24 HOLD setup time HOLD hold time 5-6 5-6 7 2 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 5 2 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-6 5-6 5-6 5-6 5 5 5 5 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-6 5-6 5 3 ns Clock-doubled PLL lock time Note 7 t31 Notes: 12.5 (25) 5 (8) 3.25 (5) 5 (8) 3.25 (6) ns 4 (8) 4 (8) ns 20 ns !1S 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Delay time from setting CKO in CCRO to entering clock-doubled mode Replaces original page 5-25 Addendum-16 AC Characteristics Table 5-23 covers the 5-V, 50-MHz TI486SXLC2-050. Table 5-23. Symbol AC Characteristics for TI486SXLC2-050, Vee Te = 0 to 100°C Parameter = 4.75 V to 5.25 \/, T1486SXLC2-050 Test Conditions Figures CLK2 clock-cfoubled frequency range Min Max Unit 32 50 MHz t1 t2a t2b t3a t3b t4 t5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 20 7 4 7 5 t6 t6a t7 A23-A1 valid delay SMI# valid delay A23-A 1 float delay CL=50pF CL = 50 pF Note 3 5-7,5-10 5-7,5-10 5-10 1.5 1.5 3 17 30 30 ns t8 t9 BHE#, BLE#, LOCK# valid delay BHE#, BLE#, LOCK# float delay CL = 50 pF Note 3 5-7,5-10 5-10 1.5 3 17 30 ns t10 t10a AOS#, O/C#, M/IO#, W/R# valid delay SMAOS# valid delay CL=50pF CL = 50 pF 5-7,5-10 5-7,5-10 1.5 1.5 17 17 ns t11 AOS#, O/C#, MIIO#, W/R# float delay SMAOS# float delay Note 3 Note 3 5-10 5-10 3 3 30 30 ns 015-00 write data, SUSPA# valid delay 015-00 write data hold time 015-00 write data, SUSPA# float delay CL = 50 pF Note 5 Notes 3,6 5-7,5-8 5-9 5-10 2 2 3 23 22 CL = 50 pF 22 t11a t12 t12a t13 ns 7 7 ns t14 HLOA valid delay 5-10 2 t15 t16 NA#, SUSP#, FLUSH#, KEN#, A20M# setup time NA#, SUSP#, FLUSH#, KEN#, A20M# hold time 5-6 5-6 5 3 ns t19 t20 REAOY# setup time REAOY# hold time 5-6 5-6 9 4 ns t21 t22 015-00 read data setup time 015-00 read data hold time 5-6 5-6 7 5 ns t23 t24 HaLO setup time HaLO hold time 5-6 5-6 3.5 t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 8 3 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-6 5-6 5-6 5-6 6 6 6 6 ns t29 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-6 5-6 6 5 ns Clock-doubled PLL lock time Note 7 t30 t31 Notes: 9 ns ns 20 ~s 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) SUSPA# floats only in response to activation of FLT#. SUSPA# does not float during a hold-acknowledge state. 7) Oelay time from setting CKO in CCRO to entering clock-doubled mode Replaces original page 5-26 Addendum-17 AC Characteristics Table 5-24 covers the 5-V, 40-MHz or 40/20-MHz TI486SXL-040. Table 5-24. AC Characteristics for T1486SXL-040, Vee = 4.75 V to 5.25 \I, (for Te see Table 5-6) Symbol Parameter Test Conditions TI486SXL-040 Figures CLK2 clock-doubled frequency range t1 t2a t2b t3a t3b t4 t5 CLK2 CLK2 CLK2 CLK2 CLK2 CLK2 CLK2 t6 t6a t7 period (clock-doubled period) high time (clock-doubled high time) high time (clock-doubled high time) low time (clock-doubled low time) low time (clock-doubled low time) fall time (clock-doubled fall time) rise time (clock-doubled rise time) Min 32 Max Unit 40 MHz Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 A31-A2 valid delay SMI# valid delay A31-A2 float delay CL =50 pF CL= 50 pF Note 3 5-12,5-15 5-12,5-15 5-15 1.5 1.5 3 15 12.5 17 ns t8 t9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay CL = 50 pF Note 3 5-12,5-15 5-15 1.5 3 12.5 17 ns t10 t10a AOS#, 0/C#, M/IO#, W/R# valid delay SMAOS# valid delay CL = 50 pF CL= 50 pF 5-12,5-15 5-12,5-15 1.5 1.5 12.5 12.5 ns t11 t11a AOS#, 0/C#, M/IO#, W/R# float delay SMAOS# float delay Note 3 Note 3 5-15 5-15 3 3 17 17 ns t12 t12a t13 031-00 write data, SUSPA# valid delay 031 - 00 write data hold time 031-00 write data, SUSPA# float delay CL= 50 pF Note 5 Note 3 5-12,5-13 5-14 5-15 2 2 3 20 14.5 t14 HLOA valid delay CL= 50 pF 5-15 2 17 t15 t16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time 5-11 5-11 4 3 ns t17 t18 BS16 setup time BS16 hold time 5-11 5-11 8 5 ns t19 t20 REAOY# setup time REAOY# hold time 5-11 5-11 7 3 ns t21 t22 031 - 00 read data setup time 031-00 read data hold time 5-11 5-11 5 3 ns t23 t24 HaLO setup time HaLO hold time 5-11 5-11 7 2 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 5 2 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 5 5 5 5 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 5 3 ns t31 Clock-doubled PLL lock time Note 6 t32 t33 MEMW# setup time MEMW# hold time 5-11 5 5 Notes: Notes 5,7 12.5 (25) 5 (8) 3.25 (5) 5 (8) 3.25 (6) ns 4 (8) 4 (8) ns 20 ns !AS ns 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) Oelay time from setting CKO in CCRO to entering clock-doubled mode 7) MEMW# is available on the 144-pin QFP and 168-pin PGA only. Replaces original page 5-27 Addendum-18 AC Characteristics Table 5-25 covers the 5-V 50-MHz T1486SXL2-050 Table 5-25. AC Characteristics for T1486SXL2-050, Vee (for Te see Table 5-6) Symbol Parameter Test Conditions = 4.75 V to 5.25 \I, T1486SXL2-050 Figures CLK2 clock-doubled frequency range Min Max Unit 32 50 MHz t1 t2a t2b t3a t3b t4 t5 CLK2 period CLK2 high time CLK2 high time CLK2 low time CLK2 low time CLK2 fall time CLK2 rise time Note 1 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 5-4 5-4 5-4 5-4 5-4 5-4 5-4 20 7 4 7 5 t6 t6a t7 A31 - A2 valid delay SMI# valid delay A31-A2 float delay CL = 50 pF CL = 50 pF Note 3 5-12,5-15 5-12,5-15 5-15 1.5 1.5 3 17 30 30 ns t8 t9 BE3# - BEO#, LOCK# valid delay BE3# - BEO#, LOCK# float delay CL = 50 pF Note 3 5-12,5-15 5-15 1.5 3 17 30 ns t10 t10a ADS#, D/C#, M/IO#, W/R# valid delay SMADS# valid delay CL= 50 pF CL = 50 pF 5-12,5-15 5-12,5-15 1.5 1.5 17 17 ns t11 t11 a ADS#, D/C#, M/IO#, W/R# float delay SMADS# float delay Note 3 Note 3 5-15 5-15 3 3 30 30 ns t12 t12a t13 D31 - DO write data, SUSPA# valid delay D31 - DO write data hold time D31- DO write data, SUSPA# float delay CL = 50 pF Note 5 Note 3 5-12,5-13 5-14 5-15 2 2 3 23 t14 HLDA valid delay CL=50pF 5-15 2 22 t15 t16 A20M#, FLUSH#, KEN#, NA#, SUSP# setup time A20M#, FLUSH#, KEN#, NA#, SUSP# hold time 5-11 5-11 5 3 ns t17 t18 BS 16 setup time BS 16 hold time 5-11 5-11 8 5 ns t19 t20 READY# setup time READY# hold time 5-11 5-11 9 4 ns t21 t22 D31 - DO read data setup time D31-DO read data hold time 5-11 5-11 7 5 ns t23 t24 HOLD setup time HOLD hold time 5-11 5-11 9 3.5 ns t25 t26 RESET setup time RESET hold time Note 5 5-5 5-5 8 3 ns t27 t27a t28 t28a NMI, INTR setup time SMI# setup time NMI, INTR hold time SMI# hold time Note 4 Note 4 Note 4 Note 4 5-11 5-11 5-11 5-11 6 6 6 6 ns t29 t30 PEREQ, ERROR#, BUSY# setup time PEREQ, ERROR#, BUSY# hold time Note 4 Note 4 5-11 5-11 6 5 ns t31 Clock-doubled PLL lock time Note 6 t32 t33 MEMW# setup time MEMW# hold time Notes: Notes 5, 7 ns 7 7 ns 22 20 5-11 5 5 ns ""s ns 1) 2) 3) 4) Input clock can be stopped; therefore, minimum CLK2 frequency is 0 MHz. These parameters are not tested. They are determined by design characterization. Float condition occurs when maximum output current becomes less than II in magnitude. Float is not 100% tested. These inputs are allowed to be asynchronous to CLK2. The setup and hold specifications are given for testing purposes, to assure recognition within a specific CLK2 period. 5) Not 100% tested 6) Delay time from setting CKD in CCRO to entering clock-doubled mode 7) MEMW# is available on the 144-pin QFP and 168-pin PGA only. Replaces original page 5-28 Addendum-19 Thermal Characteristics 6.3 Thermal Characteristics The junction-to-ambient (typical) values vary for individual applications depending on factors relating to how the device is mounted and the surrounding environment such as: o Circuit trace density of the printed circuit board (PCB) and/or the presence or absence of ground or power planes internal to the PCB that affect the ability of the board to conduct heat away from the device o o Whether the device is soldered to the PCB or is inserted into a socket Orientation of the PCB that the device is mounted on and the proximity of adjacent PCBs or system enclosure features that impede natural convection air circulation around the device o Ambient air temperature in close proximity to the device and the proximity of other high-power devices in the system o Presence of airflow over the device and the attachment of an external heat sink as indicated by the data in Tables 6-10 and 6-12. For the 100-pin and 144-pin QFPs, the values shown for thermal resistance in Tables 6-10 and 6-12 with a heatsink are examples of the estimated improvement in thermal performance. Note: The final responsibility for verifying designs incorporating any version of a TI microprocessor rests with the customer originating the design. Recommended case temperature extremes are specified in Tables 5-4, 5-5, and 5-6. Table 6-10. TI486SXLC 1~O-Pin PQFP Thermal Resistance and Airflow Thermal Resistance (OC/W) TI486SXLC 100-Pin PQFP Without Heatsink Airflow (FtlMin) With Heatsinkt RaJC RaJA R!;)JA o 2 36 32 600 2 15 12 t Round, omnidirectional heatsink. Dimensions are approximately 1.125 in diameter by 0.42 in high. Replaces original page 6-18 Addendum-20 ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development. Characteristic dati and other specifications are subJect to change without notice. Thermal Characteristics _ _ _ _ _ _ _ _·~_~:m_:;.._ .. _u:._.a:.~_J:.::'_.l:Q:g",_.::.o_lQ:Q.~_ .......,_;;.:_;m_.:::':':_:W::_ _ !.l_:nQ~ .... m.""K:.:."":.:.;"".."".:m.... c._. U.... :;-:Q _''''''~:1:.:.... a:.:»»:a.:»».:.;:.l''''.:.l:»»!a:_.:m»»:;c~c_:Q:n_a:.:._l.:.:.:.ern:.:.:.:.ern~.:.:ern.:.:.:."":.:.::ernl.:.,...:.m;"".m:ern::.Kern:.>':."::».... ,ern._ Table 6-10A. ..... TI486SXLC 1~O-Pin CQFP Thermal Resistance and Airflow Thermal Resistance caCIW) TI486SXLC 100-Pin CQFPt Airflow (FtlMin) RaJC RaJA Jt;~~;:<:.J.~~~:· o .~>.~~::;;1~:J~!$ ------------------+-------~~~------r-----~ 100 200 t Thermal resistance values shown are based on measurements made on similar ceramic PGA packages. Table 6-11. TI486SXL 132-Pin CPGA Thermal Resistance and Airflow Thermal Resistance (OC/W) TI486SXL 132-Pin CPGAt: Airflow (FtlMin) o 100 ------------------+------- RaJC RaJA 3 20 ,,::~~~~{30-~ 200 400 600 3 9 :t: Thermal resistance values shown are based on measurements made on similar ceramic PGA packages. Table 6-12. TI486SXL 144-Pin PQFP Thermal Resistance and Airflow Thermal Resistance caC/W) TI486SXL 144-Pin PQFP§ Without Heatsink Airflow (FtlMin) o With Heatsink§ RaJC RaJA RaJA 2 25 18 2 . f ~ii~~;~i;~i>'21 100 ---------------~------~ ... 200 2 14 400 600 19 2 12 6 § Thermal resistance values shown are based on measurements made on similar 28-mm QFP packages. ~ Pin-Fin heatsink. Dimensions are approximately 1.2 in long, by 1.3 in wide, by 0.49 in high. ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development Characteristic data and other specifications are subject to change wlihout noUce. Replaces original page 6-19 Addendum-21 Thermal Characteristics Table 6-13. TI486SXL 144-Pin CQFP Thermal Resistance and Airflow Thermal Resistance COC/W) TI486SXL 144-Pin CQFPt Airflow (FtlMin) o 100 200 t Thermal resistance values shown are based on measurements made on similar ceramic QFP packages. Table 6-14. TI486SXL 168-Pin CPGA Thermal Resistance and Airflow Thermal Resistance COC/W) 168-Pin CPGA Package:t: Airflow (FtlMin) o RaJC RaJA 3 18 100 200 400 3 600 3 8 :t: Thermal resistance values shown are based on measurements made on similar ceramic PGA packages. 6.3.1 Airflow Measurement Setup The wind tunnel used for airflow measurements is represented schematically in Figure 6-12. Figure 6-12. Wind Tunnel Schematic Diagram Device test board Temperature and anemometer-type airflow probe > AirflOW> Fan Wind tunnel cross-section is 6 in by 6 in. (Dimensions are approximate.) ~--------------------------78 ~5 in ~14 24 in in---------------------------. Typically, the devices undergoing thermal test are mounted on a test board consisting of 0.062 in thick FR4 printed circuit board material with one-ounce Replaces original page 6-20 Addendum-22 ADVANCE INFORMATION concerns new products In the sampling or preproduction phase of development. Charectarlstlc data and other specifications are aublect to change without notice. Thermal Characteristics copper etch. Surface-mount devices are soldered to the test board using matching footprints with minimal circuit trace density required to electrically interconnect the device to the board. PGA devices are typically inserted in a socket that is soldered to the test board. 6.3.2 Thermal Parameter Definitions The maximum die temperature (TJmax) and the maximum ambient temperature (TAmax) can be calculated using the following equations: TJmax = TC + (Pmax x RaJC) TAmax = TJ - (Pmax x RaJA)) where: TJmax = Maximum average junction temperature (OC) TC = Case temperature at top center of package (OC) Pmax = Maximum device power dissipation (W) RaJC = Junction-to-case thermal resistance (OC/W) TAmax = Maximum ambient temperature (OC) TJ = Average junction temperature (OC) RajA = Junction-to-ambient thermal resistance (OC/W) Values for RaJC and RaJA are given in Tables 6-10 through 6-14 for various airflows. Replaces original page 6-21 Addendum-23 Part Numbers for Microprocessors Offered t.~ ~; .. :Q:Q:Q:QQ • U .. ; ..:. H ;:U:Q. l ' :Q U ~ Jm .11 F.2 Part Numbers for Microprocessors Offered Table F-1 lists the complete part number for each version of the TI486SXL microprocessors offered, and Table F-2 lists the part number for each version of the TI486SLC/DLC microprocessors offered. The tables provide a short description consisting of the supply voltage, performance capabilities, and the mechanical package for each device part number. Table F-1. TI486SXLC and TI486SXL Part Numbers Speed (MHz) Device Part Number Supply Voltage (V) Core Bus TX486SXLCB-V25-PJF 3.3 25 25 TX486SXLCB-040-PJF 5 40 40,20 t TX486SXLC2B-050-PJF 5 50 25 (TX486SXLC-G40-WN 3.3 (5-V tolerant) 40 40,20t (TX486SXL2C-G50-WN 3.3 (5-V tolerant) 50 25 TX486SXLB-040S-GA 5 40 40,20t TX486SXL2B-050S-GA 5 50 25 TX486SXLB-040-PCE 5 40 40,20t TX486SXL-G40-HBN 3.3 (5-V tolerant) 40 40,20 t TX486SXl2-G50-HBN 3.3 (5-V tolerant) 50 25 TX486SXl2-G50-HBN 3.3 (5-V tolerant) 66 33 TX486SXLB-040-HBN 5 40 40,20 t TX486SXl2B-050-HBN 5 50 25 TX486SXL-G40-GA 3.3 (5-V tolerant) 40 40,20t TX486SXl2-G50-GA 3.3 (5-V tolerant) 50 25 (TX486SXl2-G66-GA 3.3 (5-V tolerant) 66 33 TX486SXLB-V40-GA 3.3 40 40,20t TX486SXl2B-V50-GA 3.3 50 25 TX486SXLB-040-GA 5 40 40,20 t TX486SXl2B-050-GA 5 50 25 Package 1OO-pin TE p:j: plastic QFP 100-pin ceramic QFP 132-pin PGA 144-pin TEP plastic QFP 144-pin ceramic QFP 168-pin PGA t These microprocessors can be operated as nonclock-doubled 40 MHz or clock-doubled 20/40 MHz. :j: Thermally enhanced package Replaces original page F-2 Addendum-24 NOTES NOTES IMPORTANT NOTICE Texas Instruments (TI) reserves the right to make changes to its products or to discontinue any semiconductor product or service without notice, and advises its customers to obtain the latest version of relevant information to verify, before placing orders, that the information being relied on is current. TI warrants performance of its semiconductor products and related software to the specifications applicable at the time of sale in accordance with Tl's standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. Certain applications using semiconductor products may involve potential risks of death, personal injury, or severe property or environmental damage ("Critical Applications"). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. Inclusion of TI products in such applications is understood to be fully at the risk of the customer. Use of TI products in such applications requires the written approval of an appropriate TI officer. Questions concerning potential risk applications should be directed to TI through a local SC sales office. In order to minimize risks associated with the customer's applications, adequate design and operating safeguards should be provided by the customer to minimize inherent or procedural hazards. TI assumes no liability for applications assistance, customer product design, software performance, or infringement of patents or services described herein. Nor does TI warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. Copyright © 1994, Texas Instruments Incorporated TI Worldwide Sales and Representative Offices AUSTRALIA I NEW ZEALAND: Texas Instruments Australia Ltd.: $ydney [61] 2-910-3100, Fax 2-805-1186; Melbourne 3-696-1211, Fax 3-696-4446. BELGIUM: Texas Instruments Belgium S.A./N.V.: Brussels [32] (02) 242 75 80, Fax (02) 726 72 76. BRAZIL: Texas Instrumentos Electronicos do Brasil Ltda.: Sao Paulo [55] 11-535-5133. CANADA: Texas Instruments canada Ltd.: Montreal (514) 335-8392; Ottawa (613) 726-3201; Toronto (416) 884-9181. DENMARK: Texas Instruments A/S: Ballerup [45] (44) 68 74 00. FINLAND: Texas InstrumentslOY: Espoo [358] (0) 4354 20 33, Fax (0) 46 73 23. FRANCE: Texas Instruments France: Velizy·Villacoublay Cedex [33](1) 30 701001, Fax (1) 30701054. GERMANY: Texas Instruments Deutschland GmbH.: Freislng [49](08161)80-0, Fax (08161)804516; Hannover (0511)904960, Fax (0511) 64 90 331; Ostfildern (0711) 34 03 0, Fax (0711) 34 032 57. HONG KONG: Texas Instruments Hong Kong Ltd.: Kowloon [852]956-7288, Fax 956-2200. HUNGARY: Texas Instruments Representation: Budapest [36] (1) 269 8310, Fax (1) 2671357. INDIA: Texas Instruments India Private Ltd.: Bangalore [91]80226-9007. IRELAND: Texas Instruments Ireland Ltd.: Dublin [353] (01) 475 52 33, Fax (01) 47814 63. ITALY: Texas Instruments Italla S.p.A.: Agrate Brianza [39] (039) 6842.1, Fax (039) 6842.912; Rome (06) 6572651. JAPAN: Texas Instruments Japan Ltd;: Tokyo [81] 03-769-8700,· Fax 03-3457-6777; Osaka 06-204-1881, Fax 06-204-1895; Nagoya 052-583-8691, Fax 052-583-8696; Ishikawa 0762-23-5471, Fax 0762-23-1583; Nagano 0263-33-1060, Fax 0263-35-1025; Kanagawa 045-338-1220, Fax 045-338-1255; Kyoto 075-341-7713, Fax 075-341-7724; Saltama 0485-22-2440, Fax 0425-23-5787; Olta 0977-73-1557, Fax 0977-73-1583. KOREA: Texas Instruments Korea Ltd.: Seoul [82] 2-551-2800, Fax 2-551-2828. MALAYSIA: Texas Instruments Malaysia: Kuala Lumpur [60] 3-230-6001, Fax 3-230-6605. MEXICO: Texas Instruments de Mexico S.A. de C.V.: Colina del Valle [52] 5-639-9740. NORWAY: Texas Instruments Norge A/S: Oslo [47] (02) 264 75 70. PEOPLE'S REPUBLIC OF CHINA: Texas Instruments China Inc.: Beijing [86] 1-500-2255, Ext. 3750, Fax 1-500-2705. PHILIPPINES: Texas Instruments Asia Ltd.: Metro Manila [63]2-817-6031, Fax 2-817-6096. PORTUGAL: Texas Instruments Equipamento Electronico (Portugal) LOA.: Mala [351](2) 94810 03, Fax (2) 9481929. SINGAPORE I INDONESIA I THAILAND: Texas Instruments Singapore (PTE) Ltd.: Singapore [65]390-7100, Fax 390-7062. SPAIN: Texas Instruments Espana S.A.: Madrid [34] (1) 372 80 51, Fax (1) 372 82 66; Barcelona (3) 31791 80. SWEDEN: Texas Instruments International Trade Corporation (Sverigeflllalen): Klsta [46] (08) 7525800, Fax (08) 7519715. SWITZERLAND: Texas Instruments Switzerland AG: Dietlkon [41] 886-2-3771450. TAIWAN: Texas Instruments Taiwan Limited: Taipei [886] (2) 378-6800, Fax 2-377-2718. UNITED KINGDOM: Texas Instruments Ltd.: Bedford [44] (0234) 270 111, Fax (0234) 223459. UNITED STATES: Texas Instruments Incorporated: ALABAMA: Huntsville (205) 430-0114; ARIZONA: Phoenix (602) 244-7800; CALIFORNIA: Irvine (714) 660-1200; San Diego (619) 278-9600; San Jose (408) 894-9000; Woodland Hills (818) 704-8100; COLORADO: Aurora (303) 368-8000; CONNECTICUT: Wallingford (203) 265-3807; FLORIDA: Orlando (407) 260-2116; Fort Lauderdale (305) 425-7820; Tampa (813) 882-0017; GEORGIA: Atlanta (404) 662-7967; ILLINOIS: Arlington Heights (708) 640-2925; INDIANA: Indianapolis (317) 573-6400; KANSAS: Kansas City (913) 451-4511; MARYLAND: Columbia (410) 312-7900; MASSACHUSETTS: Boston (617) 895-9100; MICHIGAN: Detroit (303) 553-1500; MINNESOTA: Minneapolis (612) 828-9300; NEW JERSEY: Edison (908) 906-0033; NEW MEXICO: Albuquerque (505) 345-2555; NEW YORK: Poughkeepsie (914) 897-2900; Long Island (516) 454-6601; Rochester (716) 385-6770; NORTH CAROLINA: Charlotte (704) 522-5487; Raleigh (919) 876-2725; OHIO: Cleveland (216) 765-7258; Dayton (513) 427-6200; OREGON: Portland (503) 643-6758; PENNSYLVANIA: Philadelphia (215) 825-9500; PUERTO RICO: Hato Rey (809) 753-8700; TEXAS: Austin (512) 250-6769; Dallas (214) 917-1264; Houston (713) 778-6592; WISCONSIN: Milwaukee (414) 798-100t North American Authorized Distributors COMMERCIAL MILITARY Almac 1Arrow Alliance Electronics Inc' Anthem Electronics Future Electronics (Canada) Arrow 1Schweber Hamilton Hallmark Future Electronics (Canada) Zeus - An Arrow Company Hamilton Hallmark CATALOG Marshall Industries Allied Electronics Wyle Arrow Advantage OBSOLETE PRODUCTS Newark Electronics Rochester Electronics 508/462-9332 For Distributors outside North America, contact your local Sales OffIce. A11M Important Notice: Texas Instruments (TI) reserves the right to make changes to or to discontinue any product or service identified in this publication without notice. TI advises its customers to obtain the latest version of the relevant information to verify, before placing orders, that the information being relied upon is current. Please be advised that TI warrants its semiconductor products and related software to the specifications applicable at the time of sale in accordance with Tl's standard warranty. TI assumes no liability for applications aSSistance, software performance, or third-party product information, or for infringement of patents or services described in this publication. TI assumes no responsibility for customers' applications or product designs. ~TEXAS INSTRUMENTS © 1994 Texas Instruments Incorporated Printed in the U.S.A. "TEXAS INSTRUMENTS Printed in U.S.A. 1094-IP SRZU006D
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2013:09:04 11:20:25-08:00 Modify Date : 2013:09:04 14:45:33-07:00 Metadata Date : 2013:09:04 14:45:33-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:107cdd9e-f116-2a46-a570-2428e4dc523d Instance ID : uuid:bb7cedb6-5d01-5b4e-8a22-1433fda7d724 Page Layout : SinglePage Page Mode : UseNone Page Count : 446EXIF Metadata provided by EXIF.tools