Sable CPU Module Specification
Sable CPU Module Specification Sable CPU Module Specification
Copyright © 1993 Digital Equipment Corporation. For divide instructions, the Fbox does not compute the inexact flag. Consequently, the INE exception flag in the FPCR register is never set for IEEE floating-point divide using the inexact enable (/I) qualifier. In order to deliver IEEE conforming exception behavior to the user, 21064 FPU hardware always traps on DIVS/SI and DIVT/SI instructions. The intent is for the arithmetic exception handler in either PALcode or the operating system to identify the source of the trap, compute the inexact flag, and deliver the appropriate exception to the user. The exception associated with DIV/SI and DIVT/SI is imprecise. Software must follow the rules specified by the Alpha AXP architecture associated with the software completion modifier in order to ensure that the trap handler can deliver correct behavior to the user. For IEEE compliance issues, see Section 3.5 and the Alpha Architecture Handbook. 3.5 21064 IEEE Floating Point Conformance The 21064 supports the IEEE floating-point operations as defined by the Alpha AXP architecture. Support for a complete implementation of the IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Standard 754-1985) is provided by a combination of hardware and software as described in the Alpha Architecture Handbook. Additional information that provides guidelines for writing code supporting precise exception handling (necessary for complete conformance to the Standard) is in the Alpha Architecture Handbook. Information specific to the 21064 follows: • When operating without the /Underflow qualifier, the 21064 replaces underflow results with exact zero even if the correct result would have been negative zero as defined in the IEEE Standard. This is an Alpha AXP architecture value-added behavior for improved performance over either hardware or software denormal handling. When strict IEEE compliance is required, the /Underflow modifier is necessary and the software must provide the correct result (including negative zero). • The 21064 supports Infinity operands only when used in the CMPT instruction. Other instructions using Infinity operands cause Invalid Operation (INV) arithmetic traps. • NaN, Denormal, or Infinity (except when used in CMPT) input operands produce Invalid Operation (INV) arithmetic traps when used with arithmetic operation instructions. CPYSE/CPYSN, FCMOV instructions, and MF_FPCR/MT_FPCR are not arithmetic operations, and will pass NaN, Denormal, and Infinity values without initiating arithmetic traps. Input operand traps take precedence over arithmetic result traps. • The 21064 will not produce a NaN, Denormal, or Infinity result. • The 21064 supports IEEE normal and chopped rounding modes in hardware. Instructions designating plus infinity and minus infinity rounding modes cause precise exceptions to the OPCDEC PAL entry point. This implies that the EXC_ Functions Located on the DECchip 21064 57
Copyright © 1993 Digital Equipment Corporation. ADDR register will be loaded with the address of the faulting instruction and all following instructions will be aborted. • The DIVS and DIVT with /Inexact modifier instructions report an Inexact (INE) arithmetic trap on all results of operations that do not involve NaN, Infinity, or Denormal input operands. Operations using NaN, Infinity, and Denormal input operands generate Invalid Operation (INV) arithmetic traps. • Floating-point exceptions generated by the 21064 are recorded in two places. — The FPCR register, as defined in the Alpha AXP architecture and accessible by the MT/MF_FPCR instructions, records the occurrence of all exceptions that are detected (except SWC), whether or not the corresponding trap is enabled (through the instruction modifiers). This register can only be cleared through an explicit clear command (MT_FPCR) so that the exception information it records is a summary of all exceptions that have occurred since the last clear. — In addition, if an exception is detected and the corresponding trap is enabled, the 21064 will record the condition in the EXC_SUM register and initiate an arithmetic trap. As a special case, in order to support Inexact exception behavior with the DIVS/I and DIVT/I instructions, the FPCR will not record an Inexact exception, although the 21064 will always set the INE bit in the EXC_SUM register during these instructions. This behavior allows software emulation of the division instruction with accurate reporting of potential Inexact exceptions. 58 Functions Located on the DECchip 21064
- Page 23 and 24: 1.2 The Alpha AXP Architecture Copy
- Page 25 and 26: Copyright © 1993 Digital Equipment
- Page 27 and 28: Copyright © 1993 Digital Equipment
- Page 29 and 30: Copyright © 1993 Digital Equipment
- Page 31 and 32: Copyright © 1993 Digital Equipment
- Page 33 and 34: Copyright © 1993 Digital Equipment
- Page 35 and 36: Copyright © 1993 Digital Equipment
- Page 37 and 38: Copyright © 1993 Digital Equipment
- Page 39 and 40: Copyright © 1993 Digital Equipment
- Page 41 and 42: Copyright © 1993 Digital Equipment
- Page 43 and 44: Copyright © 1993 Digital Equipment
- Page 45 and 46: Copyright © 1993 Digital Equipment
- Page 47 and 48: Copyright © 1993 Digital Equipment
- Page 49 and 50: Copyright © 1993 Digital Equipment
- Page 51 and 52: Copyright © 1993 Digital Equipment
- Page 53 and 54: Copyright © 1993 Digital Equipment
- Page 55 and 56: Copyright © 1993 Digital Equipment
- Page 57 and 58: Copyright © 1993 Digital Equipment
- Page 59 and 60: Copyright © 1993 Digital Equipment
- Page 61 and 62: Copyright © 1993 Digital Equipment
- Page 63 and 64: Copyright © 1993 Digital Equipment
- Page 65 and 66: Copyright © 1993 Digital Equipment
- Page 67 and 68: Copyright © 1993 Digital Equipment
- Page 69 and 70: Copyright © 1993 Digital Equipment
- Page 71 and 72: Copyright © 1993 Digital Equipment
- Page 73: Copyright © 1993 Digital Equipment
- Page 77 and 78: Copyright © 1993 Digital Equipment
- Page 79 and 80: Copyright © 1993 Digital Equipment
- Page 81 and 82: Copyright © 1993 Digital Equipment
- Page 83 and 84: Copyright © 1993 Digital Equipment
- Page 85 and 86: Copyright © 1993 Digital Equipment
- Page 87 and 88: Copyright © 1993 Digital Equipment
- Page 89 and 90: Copyright © 1993 Digital Equipment
- Page 91 and 92: Copyright © 1993 Digital Equipment
- Page 93 and 94: Copyright © 1993 Digital Equipment
- Page 95 and 96: Copyright © 1993 Digital Equipment
- Page 97 and 98: Copyright © 1993 Digital Equipment
- Page 99 and 100: CHAPTER 4 FUNCTIONS LOCATED ELSEWHE
- Page 101 and 102: Copyright © 1993 Digital Equipment
- Page 103 and 104: Figure 41: B-Cache Control Register
- Page 105 and 106: Table 28 (Cont.): B-Cache Control R
- Page 107 and 108: Table 28 (Cont.): B-Cache Control R
- Page 109 and 110: Copyright © 1993 Digital Equipment
- Page 111 and 112: Copyright © 1993 Digital Equipment
- Page 113 and 114: Copyright © 1993 Digital Equipment
- Page 115 and 116: Copyright © 1993 Digital Equipment
- Page 117 and 118: Copyright © 1993 Digital Equipment
- Page 119 and 120: Copyright © 1993 Digital Equipment
- Page 121 and 122: 4.3.1 Duplicate Tag Error Register
- Page 123 and 124: 4.5 Lack of Cache Block Prefetch Co
Copyright © 1993 Digital Equipment Corporation.<br />
ADDR register will be loaded with the address of the faulting instruction and all<br />
following instructions will be aborted.<br />
• The DIVS and DIVT with /Inexact modifier instructions report an Inexact (INE)<br />
arithmetic trap on all results of operations that do not involve NaN, Infinity, or<br />
Denormal input operands. Operations using NaN, Infinity, and Denormal input<br />
operands generate Invalid Operation (INV) arithmetic traps.<br />
• Floating-point exceptions generated by the 21064 are recorded in two places.<br />
— The FPCR register, as defined in the Alpha AXP architecture and accessible<br />
by the MT/MF_FPCR instructions, records the occurrence of all exceptions<br />
that are detected (except SWC), whether or not the corresponding trap is enabled<br />
(through the instruction modifiers). This register can only be cleared<br />
through an explicit clear command (MT_FPCR) so that the exception information<br />
it records is a summary of all exceptions that have occurred since the<br />
last clear.<br />
— In addition, if an exception is detected and the corresponding trap is enabled,<br />
the 21064 will record the condition in the EXC_SUM register and initiate an<br />
arithmetic trap. As a special case, in order to support Inexact exception<br />
behavior with the DIVS/I and DIVT/I instructions, the FPCR will not record<br />
an Inexact exception, although the 21064 will always set the INE bit in the<br />
EXC_SUM register during these instructions. This behavior allows software<br />
emulation of the division instruction with accurate reporting of potential<br />
Inexact exceptions.<br />
58 Functions Located on the DECchip 21064