Sable CPU Module Specification
Sable CPU Module Specification Sable CPU Module Specification
3.9.12 EDC Error Correction Copyright © 1993 Digital Equipment Corporation. When in EDC mode the 21064 generates longword EDC on writes, and checks EDC on reads. When an EDC error is recognized during a D-Cache fill, the BIU places the affected fill block into the D-Cache unchanged, validates the block, and posts a machine check. The load instruction which triggered the D-Cache fill is completed by writing the requested longword(s) into the register file. The longword(s) read by the load instruction may or not have been the cause of the error, but a machine check is posted either way. The Ibox will react to the machine check by aborting instruction execution before any instruction issued subsequent to the load could overwrite the register containing the load data, and vectoring to the PAL code machine check handler. Sufficient state is retained in various status registers (see Section C.8) for PAL code to determine whether the error affects the longword(s) read by the load instruction, and whether the error is correctable. In any event, PAL code must explicitly flush the D-Cache. If the longword containing the error was written into the register file, report an uncorrectable hardware error to the operating system. Independent of whether the failing longword was read by the load instruction, PAL may scrub memory by explicitly reading the longword with the physical/lock variant of the HW_LD instruction, flipping the necessary bit, and writing the longword with the physical/conditional variant of the HW_ST instruction. Note that when PAL rereads the affected longword the hardware may report no errors, indicating that the longword has been overwritten. When an EDC error occurs during an I-Cache fill the BIU places the affected fill block into the I-Cache unchanged, validates the block and posts a machine check. The Ibox will vector to the PAL code machine check handler before it executes any of the instructions in the bad block. PAL code may then flush the I-Cache and scrub memory as described above. Functions Located on the DECchip 21064 81
CHAPTER 4 FUNCTIONS LOCATED ELSEWHERE ON THE CPU MODULE 4.1 Back-up Cache (B-Cache) The B-Cache is a 1 Mbyte direct mapped physical write back cache. A 4 Mbyte cache may be used in future Sable systems. It has a fixed 32-byte block size and supports the System-bus snooping protocol to allow for a multi-processor implementation. Each cache block entry is made up of three functionally identifiable storage element arrays. The control store, which is parity protected, contains the binary flags which indicate whether a particular cache block entry valid, dirty, and/or shared. The tag store, which is also parity protected, contains the high order address bits of the data currently stored in that particular cache block entry. The data store, which is EDC protected, contains the actual 32 bytes of ‘‘cached’’ data. Figure 40: Back-up Cache Entry Control Tag Data Store Store Store P V S D P TAG EDC7 LW7 EDC6 LW6 EDC5 LW5 EDC4 LW4 EDC3 LW3 EDC2 LW2 EDC1 LW1 EDC0 LW0 For a complete description of the B-Cache allocation policy refer to CPU Module Transactions Chapter 5. 4.1.1 Control Store The Control Store of the B-Cache is where the binary flags indicating the status of the cache block are found. These flags are defined in Table 26. To learn how to initialize any of these bit flags onpower-up refer to Section 9.2. Functions located elsewhere on the CPU module 83
- 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 and 74: Copyright © 1993 Digital Equipment
- Page 75 and 76: 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: Copyright © 1993 Digital Equipment
- 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
- Page 125 and 126: Table 37: System-bus Control Regist
- Page 127 and 128: 4.7.2 System-bus Error Register - C
- Page 129 and 130: Table 38: System-bus Error Register
- Page 131 and 132: Table 38 (Cont.): System-bus Error
- Page 133 and 134: 4.7.3 System-bus Error Address Low
- Page 135 and 136: Copyright © 1993 Digital Equipment
- Page 137 and 138: 4.8 Multiprocessor Configuration CS
- Page 139 and 140: 4.9 System Interrupt Clear Register
- Page 141 and 142: 4.10 Address Lock Register - CSR13
- Page 143 and 144: 4.11 Miss Address Register - CSR14
- Page 145 and 146: Table 46 (Cont.): C4 Revision Regis
- Page 147 and 148: Table 48 (Cont.): Interval Timer In
CHAPTER 4<br />
FUNCTIONS LOCATED ELSEWHERE ON THE <strong>CPU</strong> MODULE<br />
4.1 Back-up Cache (B-Cache)<br />
The B-Cache is a 1 Mbyte direct mapped physical write back cache. A 4 Mbyte cache<br />
may be used in future <strong>Sable</strong> systems. It has a fixed 32-byte block size and supports<br />
the System-bus snooping protocol to allow for a multi-processor implementation.<br />
Each cache block entry is made up of three functionally identifiable storage element<br />
arrays. The control store, which is parity protected, contains the binary flags which<br />
indicate whether a particular cache block entry valid, dirty, and/or shared. The tag<br />
store, which is also parity protected, contains the high order address bits of the data<br />
currently stored in that particular cache block entry. The data store, which is EDC<br />
protected, contains the actual 32 bytes of ‘‘cached’’ data.<br />
Figure 40: Back-up Cache Entry<br />
Control Tag Data<br />
Store Store<br />
Store<br />
P V S D P TAG EDC7 LW7 EDC6 LW6 EDC5 LW5 EDC4 LW4<br />
EDC3 LW3 EDC2 LW2 EDC1 LW1 EDC0 LW0<br />
For a complete description of the B-Cache allocation policy refer to <strong>CPU</strong> <strong>Module</strong><br />
Transactions Chapter 5.<br />
4.1.1 Control Store<br />
The Control Store of the B-Cache is where the binary flags indicating the status of<br />
the cache block are found. These flags are defined in Table 26. To learn how to<br />
initialize any of these bit flags onpower-up refer to Section 9.2.<br />
Functions located elsewhere on the <strong>CPU</strong> module 83