Did MMX make any difference?

preview_player
Показать описание
I attempt to compare a Pentium-s 200 with a Pentium MMX 200.
Does MMX kick ass? That is the question!
Рекомендации по теме
Комментарии
Автор

Nice work bud! I appreciate the comparison for MMX as I have wondered how much better MMX was vs non-MMX CPUs.

mesterak
Автор

IIRC if not present in the program using it, nothing happened. Just a 233 mhz cpu.
Like K6 3d instructions.
Thanks for the effort, was a nice ride :)

Edit: nice intro! LOL

Neksus-M
Автор

Great comparison :) I also thought that MMX stands for MultiMedia X or something like that... Cheers!

JosipRetroBits
Автор

No difference cause MMX is for AUDIO sound processing only nothing else, and actually it was useless, pure marketing, packing unpacking WAV files, byte shuffle, additional 8x64bit registers, using FPU stack 80bit discarding 16 exponent, very limited instruction set, 3Dnow added some math but, it takes quite long time and for CPU to store FPU state, if you want to use MMX, then pull it back when you finish, 3DNow should be basically called MMX+ used same registers. You could use all MMX instructions once you switched to MMX/3Dnow state, AMD added floating point 4x16bit in 64 register to MMX added some math, but MMX itself was all about packing unpacking integer data way it was done made it failure from get go.

SSE on other hand was originally all about floating point and this was SIMD witch MMX was not it allowed pack 8x64bit multiple vectors, one register was 4x32bit float and with one insctuction calculate them all at once. Later on SSE2 added integers, SSE3 added some usefull stuff to interact with FPU(?), MMX registers as well, memory prefetch. SSE4 added some routines usefull in calculation of AES, CRC, compression bit based operations. More instruction have some huge disadvantage everytime Windows switch thread it have to store 1kB of data read 1kB of data on AVX enabled CPUs its almost 8kB just imagine 8kB of "registers". In MMX era it was something like 160 bytes.

MMX could be usefull in memory routines, copy, bitset, if such insctuction already did not existed called MOVSB, MOVSD one cycle 32bit memory transfer. MMX was 64 bit but there was no MOVSQ or maybe it was on 3DNow i dont rememver. MMX is useless will dissapoint you if you want to play with assembly code. Added some more INT registers but took away FPU result is same, content of FPU had to be stored on cache.

KabelkowyJoe
visit shbcf.ru