EasyManuals Logo

AMD K5 User Manual

AMD K5
406 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #92 background imageLoading...
Page #92 background image
4-2 Performance
AMD-K5 Processor Technical Reference Manual 18524C/0Nov1996
Moreover, future implementations may increase the penal-
ties associated with microcoded instructions.
DependenciesSpread out true dependencies to increase
the opportunities for parallel execution. Antidependencies
and output dependencies do not impact performance.
Memory OperandsInstructions that operate on data in
memory (load/op/store) can inhibit parallelism. Using sepa-
rate move and ALU instructions allows independent opera-
tions to be performed in parallel. On the other hand, if
there are no opportunities for parallel execution, use the
load/op/store forms to reduce the number of register spills
(storing register values in memory to free registers for
other uses) and increase code density.
Register OperandsMaintain frequently used values in reg-
isters or on the stack rather than in static storage.
Branch PredictionUse control-flow constructs that allow
effective branch prediction. Although correctly predicted
branches have no cost, mispredicted branches incur a three
clock penalty.
Stack ReferencesUse ESP for references to the stack so
that EBP remains available for general use.
Stack AllocationWhen placing outgoing parameters on the
stack, allocate space by adjusting the stack pointer (prefer-
ably at the same time local storage is allocated on proce-
dure entry) and use moves rather than pushes. This method
of allocation allows random access to the outgoing parame-
ters so that they may be set up when they are calculated,
instead of having to be held somewhere else until the proce-
dure call. This method also uses fewer execution resources
(specifically, fewer register-file write ports when updating
ESP).
ShiftsAlthough there is only one shifter, certain shifts can
be done using other execution units: for example, shift left
1 by adding a value to itself. Use LEA index scaling to shift
left by 1, 2, or 3.
Data Embedded in CodeWhen data is embedded in the
code segment, align it in separate cache blocks from nearby
code to avoid some overhead in maintaining coherency
between the instruction and data caches.
Undefined FlagsDo not rely on the behavior of undefined
flag results.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the AMD K5 and is the answer not in the manual?

AMD K5 Specifications

General IconGeneral
ManufacturerAMD
ModelK5
Architecturex86
MicroarchitectureK5
Introduction Year1996
Clock Speed75 - 133 MHz
Core Count1
SocketSocket 7
Core steppingSSA/5, 5k86
Voltage3.3V
Transistors4.3 million
L1 Cache8 KB (data) + 16 KB (instruction)
FSB50 MHz to 66 MHz
Process Technology350 nm

Related product manuals