Performance и още нещо!

4 отговора 0 прегледа
#1

Performance и още нещо!

Някой по-надолу се беше поинтересувал за колко цикъла се изпълняват инструкциите в процесора, така че реших да хвърля малко светлина по въпроса. За пример ще дам четирите най-използвани FPU операции за някои x86 процесори - FADD, FMUL, FDIV и FSQRT: Процесор - PII/III Athlon K6-x Параметър* - A B A B A B ========================================== FADD................1 3 1 4 2 2 FMUL................2 5 1 4 2 2 FDIV (единична точност)..........17 17 13 16 ? ? FDIV (двойна точност)..........32 32 17 20 ? ? FSQRT (единична точност)..........28 28 16 19 ? ? FSQRT (двойна точност)..........57 57 24 27 ? ? ========================================== * A - брой цикли, необходими за започване на нова инструкция B - брой цикли, необходими за изпълнение на инструкцията
Отговор
в отговор на IronGate #2

Performance и още нещо!

Sorry за таблицата. Лошо форматиране, надявам се да я разберете.
Отговор
в отговор на IronGate #3

Performance и още нещо!

Kato4e li ia razbrahme mislia
Отговор
в отговор на IronGate #4

Performance и още нещо!

Neobhodimi sa i njakoi drugi dopulnenija . Za da ne izleze spored tablicata 4e K6 -X imat po dobro FPU ot PII/PIII . PII/PIII imat dva konweira za 4isla s plawashta zapetaja a ATHLON 3 takiwa - dokato K6 -X samo edin .
Отговор
в отговор на NKTITAN #5

Performance и още нещо!

Имай предвид, че операциите FADD i FSUB (изваждане) са доста по-често използвани от повечето програми (игри най-вече) отколкото FDIV и FMUL, именно затова Intel е конверизирала само тях. И друго, независимо, че PII има 2 FPU конвейра, той може да извлича само 1 инструкция от буферите на всеки цикъл, така че паралелизъм се получава само по време на изпълнението на инструкциите и то частичен (ограничен от типа инструкции и тяхното подреждане).
Отговор