Execution Unit Resources
151
22007E/0—November 1999
AMD Athlon™ Processor x86 Code Optimization
Load/Store Pipeline Operations
The AMD Athlon processor decodes any instruction that
references memory into primitive load/store operations. For
example, consider the following code sample:
MOV
AX, [EBX]
;1 load MacroOP
PUSH
EAX
;1 store MacroOP
POP
EAX
;1 load MacroOP
ADD
[EAX], EBX
;1 load/store and 1 IEU MacroOPs
FSTP
[EAX]
;1 store MacroOP
MOVQ
[EAX], MM0
;1 store MacroOP
As shown in Table 6, the load/store unit (LSU) consists of a
three-stage data cache lookup.
Loads and stores are first dispatched in order into a 12-entry
deep reservation queue called LS1. LS1 holds loads and stores
that are waiting to enter the cache subsystem. Loads and stores
are allocated into LS1 entries at dispatch time in program
order, and are required by LS1 to probe the data cache in
program order. The AGUs can calculate addresses out of
program order, therefore, LS1 acts as an address reorder buffer.
When a load or store is scanned out of the LS1 queue (Stage 1),
it is deallocated from the LS1 queue and inserted into the data
cache probe pipeline (Stage 2 and Stage 3). Up to two memory
operations can be scheduled (scanned out of LS1) to access the
data cache per cycle. The LSU can handle the following:
■
Two 64-bit loads per cycle or
■
One 64-bit load and one 64-bit store per cycle or
■
Two 32-bit stores per cycle
Table 6.
Load/Store Unit Stages
Stage 1 (Cycle 8)
Stage 2 (Cycle 9)
Stage 3 (Cycle 10)
Address Calculation / LS1
Scan
Transport Address to Data
Cache
Data Cache Access / LS2
Data Forward
Summary of Contents for Athlon Processor x86
Page 1: ...AMD Athlon Processor x86 Code Optimization Guide TM...
Page 12: ...xii List of Figures AMD Athlon Processor x86 Code Optimization 22007E 0 November 1999...
Page 16: ...xvi Revision History AMD Athlon Processor x86 Code Optimization 22007E 0 November 1999...
Page 202: ...186 Page Attribute Table PAT AMD Athlon Processor x86 Code Optimization 22007E 0 November 1999...
Page 252: ...236 VectorPath Instructions AMD Athlon Processor x86 Code Optimization 22007E 0 November 1999...
Page 256: ...240 Index AMD Athlon Processor x86 Code Optimization 22007E 0 November 1999...