Скорости выполнения команд для процессоров 8086 – Р5 даны в тактах (когда говорят, что тактовая частота процессора 100 MHz, это означает, что за секунду проходит 100 миллионов тактов).
Для процессоров Р5 (Pentium, Pentium MMX) помимо скорости указано, может ли команда выполняться одновременно с другими, и если да, то в каком конвейере (см. главу 9.3.2):
UV — может выполняться одновременно, в любом конвейере;
PU — может выполняться одновременно, в U-конвейере;
PV — может выполняться одновременно, в V-конвейере;
FX — может выполняться одновременно с командой FXCH;
NP — не может выполняться одновременно (для ММХ — не может выполняться одновременно с командой того же типа, который указан после буквы «n»).
Для процессоров Р6 (Pentium Pro, Pentium II) указано количество микроопераций, на которые декодируется команда. Буквой «С» отмечены команды со сложным строением (см. главу 9.3.3).
Во всех случаях даны минимально возможные скорости — если шина данных не заблокирована, операнды выровнены по границам двойных слов, операнды находятся в кэше данных, команды по адресу для перехода находятся в кэше кода, переходы угаданы процессором правильно, в момент выполнения команды не происходит заполнения кэша, страницы находятся в TLB (иначе для Р5 следует прибавить 13 – 28 тактов), не происходит исключений в момент выполнения команды, не происходят AGI и т.д.
Операнды обозначаются следующим образом:
im — непосредственный операнд;
i8, i16, i32 — непосредственный операнд указанного размера;
ас — ЕАХ, АХ, AL;
r — любой регистр общего назначения;
r8 — АН, AL, BH, BL, DH, DL, CH, CL;
r16 — АХ, ВХ, СХ, DX, ВР, SP, SI, DI;
r32 — ЕАХ, ЕВХ, ЕСХ, EDX, EBP, ESP, ESI, EDI;
sr — сегментный регистр;
m — операнд в памяти;
mm — регистр ММХ;
s0 — регистр ST(0);