User's Manual

134 AMD Athlon Processor Microarchitecture
AMD Athlon Processor x86 Code Optimization
22007E/0November 1999
Instruction Control Unit
The instruction control unit (ICU) is the control center for the
AMD Athlon processor. The ICU controls the following
resourcesthe centralized in-flight reorder buffer, the integer
scheduler, and the floating-point scheduler. In turn, the ICU is
responsible for the following functionsMacroOP dispatch,
MacroOP retirement, register and flag dependency resolution
and renaming, execution resource management, interrupts,
exceptions, and branch mispredictions.
The ICU takes the three MacroOPs per cycle from the early
decoders and places them in a centralized, fixed-issue reorder
buffer. This buffer is organized into 24 lines of three MacroOPs
each. The reorder buffer allows the ICU to track and monitor up
to 72 in-flight MacroOPs (whether integer or floating-point) for
maximum instruction throughput. The ICU can simultaneously
dispatch multiple MacroOPs from the reorder buffer to both the
integer and floating-point schedulers for final decode, issue,
and execution as OPs. In addition, the ICU handles exceptions
and manages the retirement of MacroOPs.
Data Cache
The L1 data cache contains two 64-bit ports. It is a
write-allocate and writeback cache that uses an LRU
replacement policy. The data cache and instruction cache are
both two-way set-associative and 64-Kbytes in size. It is divided
into 8 banks where each bank is 8 bytes wide. In addition, this
cache supports the MOESI (Modified, Owner, Exclusive,
Shared, and Invalid) cache coherency protocol and data parity.
The L1 data cache has an associated two-level TLB structure.
The first-level TLB is fully associative and contains 32 entries
(24 that map 4-Kbyte pages and eight that map 2-Mbyte or
4-Mbyte pages). The second-level TLB is four-way set
associative and contains 256 entries, which can map 4-Kbyte
pages.