Memory map, caching, reads, writes and translation
41
Programming the MIPS32® 74K™ Core Family, Revision 02.14
Figure 3.5 L23DataHi Register Format
3.4.15 TagLo registers in special modes
The usual
TagLo
register fields are a view of the underlying cache tags. But load-tag/store tag cacheops act differently
in special modes activated by setting bits in
ErrCtl
(see
Section 3.4.17 “ErrCtl register”
•
When
ErrCtl[SPR]
is set, the L1
TagLo
registers are used to configure scratchpad memory, if fitted. That’s
described in
Section 3.6 “Scratchpad memory/SPRAM”
below, where you’ll find a field diagram for the TagLo
registers in that mode.
•
When
ErrCtl[WST]
or
ErrCtl[DYT]
is set, the tag registers are used to provide diagnostic/test software with direct
read-write access to the “way select RAM” or “dirty RAM” respectively — parts of the cache array. This is
highly CPU-dependent and is described in
Section B.3 “Registers for Cache Diagnostics”
3.4.16 Parity error exception handling and the CacheErr register
The 74K core does not check parity on data (or control fields) from the external interface - so this section really is just
about parity protection in the cache. It’s a build-time option, selected by your system integrator, whether to include
check bits in the cache and logic to monitor them.
At a system level, a cache parity exception is usually fatal - though recovery might be possible sometimes, when it is
useful to know that the exception is taken in “error mode” (that is,
Status[ERL]
is set), the restart address is in
ErrorEPC
and you can return from the exception with an
eret
— it uses
ErrorEPC
when
Status[ERL]
is set.
But mainly, diagnostic-code authors will probably find the
CacheErr
register’s extra information useful.
Figure 3.6 Fields in the CacheErr Register
ER
: was the error on an I-fetch (0) or on data (1)? Applicable only to L1 cache errors.
EC
: in L1 cache (0) or L2-or-higher cache (1)?
ED,ET
: 1 for error in data field/tag field respectively.
ES:
Error source, Not Supported.
EE
: Error external, Not Supported.
31
0
DATA
Table 3.6 L23DataHi Register Field Description
Fields
Description
Read /
Write
Reset State
Name
Bit(s)
DATA
31:0
High-order data read from the cache data array.
R/W
Undefined
31
30
29
28
27
26
25
24
23
22
21
19
18
17 16
0
ER
EC
ED
ET ES EE EB
EF
SP
EW
Way
DR
0
Index
Содержание MIPS32 74K Series
Страница 1: ...Document Number MD00541 Revision 02 14 March 30 2011 Programming the MIPS32 74K Core Family...
Страница 10: ...Programming the MIPS32 74K Core Family Revision 02 14 10...
Страница 20: ...1 4 A brief guide to the 74K core implementation Programming the MIPS32 74K Core Family Revision 02 14 20...
Страница 28: ...2 2 PRId register identifying your CPU type Programming the MIPS32 74K Core Family Revision 02 14 28...
Страница 54: ...3 8 The TLB and translation Programming the MIPS32 74K Core Family Revision 02 14 54...
Страница 83: ......
Страница 86: ...6 5 FPU pipeline and instruction timing Programming the MIPS32 74K Core Family Revision 02 14 86...
Страница 101: ...The MIPS32 DSP ASE 101 Programming the MIPS32 74K Core Family Revision 02 14...
Страница 134: ...8 4 Performance counters Programming the MIPS32 74K Core Family Revision 02 14 134...
Страница 154: ...C 3 FPU changes in Release 2 of the MIPS32 Architecture Programming the MIPS32 74K Core Family Revision 02 14 154...