
Contents
iii
21918B/0—October 1999
AMD-K6
-
III
Processor Data Sheet
Contents
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
1
AMD-K6
-III Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1
Super7 Platform Initiative . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Super7 Platform Enhancements. . . . . . . . . . . . . . . . . . . . . . . 3
Super7 Platform Advantages . . . . . . . . . . . . . . . . . . . . . . . . . 4
2
Internal Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1
2.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
AMD-K6
-
III
Processor Microarchitecture Overview . . . . . . 5
Enhanced RISC86
Microarchitecture . . . . . . . . . . . . . . . . . . . 6
Cache, Instruction Prefetch, and Predecode Bits . . . . . . . . . . 9
Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Prefetching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Predecode Bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Instruction Fetch and Decode . . . . . . . . . . . . . . . . . . . . . . . . . 11
Instruction Fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Instruction Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Centralized Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Execution Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Register X and Y Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Branch-Prediction Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Branch History Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Branch Target Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Return Address Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Branch Execution Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3
2.4
2.5
2.6
2.7
3
Software Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1
Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
General-Purpose Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Integer Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Segment Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Segment Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Instruction Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Floating-Point Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Floating-Point Register Data Types. . . . . . . . . . . . . . . . . . . . .28
MMX/3DNow! Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . 29
MMX Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3DNow! Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
EFLAGS Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Debug Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34