y"> {eaxebxecxesiesi, esiMM7, MM7MM0, a_vect [esi] MM1, a_vect [esi] MM0, MM1MM7, MM0MM0, MM0MM1, MM1MM0, b_vect [esi] MM1, b_vect [esi] MM0, MM1MM7, MM0MM0 , MM0MM1, MM1MM0, c_vect [esi] MM1, c_vect [esi] MM0, MM1MM7, MM0MM0, MM0MM1, MM1MM0, d_vect [esi] MM1, d_vect [esi] MM0, MM1MM7, MM0MM0, MM7MM7, 32MM7, MM0res, MM7esiecxebxeax
}
}=GetTickCount ();
//printf ( n C використанням ММХ ... n ); ( n Using MMX ... n ); ( nResult =% d raquo ;, res);=Time2 - Time1; ( nTime elapsed =% d ms n raquo ;, Delay1);
//Помітити час ...=GetTickCount ();
//Багаторазовий прогін коду без MMX ... (i=0; i lt; 10000000; i ++)
{= 4;
__ asm
{eaxecxesiesi, esiecx, ecx: ax, a_vect [esi]//Читання з пам'яті ax, axcx, axesi, 2cnt, 1loop2cnt, 4si, si: ax, b_vect [esi]//Читання з пам'яті ax, axcx, axesi, 2cnt, 1loop3cnt, 4si, si: mov ax, c_vect [esi]//Читання з пам'яті ax, axcx, axesi, 2cnt, 1loop4cnt, 4si, si: mov ax, d_vect [esi] //Читання з пам'яті ax, axcx, axesi, 2cnt, 1loop5res1, ecx esiecxeax
}
}=GetTickCount ();
//printf ( n Без використання ММХ ... n ); ( n Without MMX ... n ); ( nResult1 =% d raquo ;, res1); ( nTime elapsed =% d ms n raquo ;, Time2 - Time1);=float ((Time2 - Time1))/float (Delay1); ( nMMX SpeedUp =% 10.4f times n n raquo ;, Speedup); 0;
}
Список літератури
1. Алексєєв В.Б., Поспєлов А. Д. Дискретна математика. II семестр - Вид .: МГУ, 2002.
. Аляев Ю.А. Тюрін С.Ф. Дискретна математика і математична логіка.- М .: Фінанси і статистика, 2010.
. Галкіна В.А. Дискретна математика: комбінаторна оптимізація на графах.- Вид .: Геліос АРВ, 2003.
. Тихонов В.А .. Організація ЕОМ і систем.- Вид .: Геліос АРВ, 2008.
. Цількер Б. Я., Орлов С. А. Організація ЕОМ і систем.- СПб .: Питер, 2007.