
xi
Contents
5.8
5.9
5.10 RESTORING CONTEXT
5.11
INTERRUPT LATENCY
5.12 ON–CHIP CACHE SUPPORT
5.13 INSTRUCTION CACHE MAINTENANCE
5.13.1 Cache Locking and Invalidating
5.13.2 Instruction Cache Coherence
5.13.3 Branch Target Cache
5.13.4 Am29030 2–bus Microprocessor
5.13.5 Am29240 and Am29040 Processors
5.14 DATA CACHE MAINTENANCE
5.14.1 Am29240 Microcontroller
5.14.2 Am29040 2–bus Microprocessor
5.14.3 Cache Locking and Invalidating
5.14.4 Cache Consistency
5.15 SELECTING AN OPERATING SYSTEM
5.16 SUMMARY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FLOATING–POINT ISSUES
DEBUGGER ISSUES
264
265
266
268
270
270
273
275
275
276
277
277
279
283
288
288
290
294
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 6
Memory Management Unit
6.1
SRAM VERSUS DRAM PERFORMANCE
6.2
TRANSLATION LOOK–ASIDE BUFFER (TLB) OPERATION
6.2.1
Dual TLB Processors
6.2.2
Taking a TLB Trap
6.3
PERFORMANCE EQUATION
6.4
SOFTWARE CONTROLLED CACHE MEMORY ARCHITECTURE
6.4.1
Cache Page Maintenance
6.4.2
Data Access TLB Miss
6.4.3
Instruction Access TLB Miss
6.4.4
Data Write TLB Protection
6.4.5
Supervisor TLB Signal Handler
6.4.6
Copying a Page into the Cache
6.4.7
Copying a Page Out of the Cache
6.4.8
Cache Set Locked
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.9
Returning from Signal Handler
6.4.10 Support Routines
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.11 Performance Gain
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
295
296
300
305
307
308
310
313
315
318
319
320
322
323
325
326
327
328
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 7
Software Debugging
7.1
REGISTER ASSIGNMENT CONVENTION
7.2
PROCESSOR DEBUG SUPPORT
331
331
333
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .