MMX ¶
- MMX´Â MultiMedia eXtentionÀÇ ¾àÀÚ·Î ±× ¸ñÀûÀº ¹ü¿ë·¹Áö½ºÅÍÀÇ Å©±âº¸´Ù Å« Á¤¼ö¿¬»êÀ» º¸´Ù ºü¸£°Ô Çϱâ À§ÇÔÀÔ´Ï´Ù.
- ÀÌ ¹®¼¸¦ ÀÛ¼ºÇÏ´Â ÇöÀç½ÃÁ¡À» ±âÁØÀ¸·Î MM0 ~ 7±îÁöÀÇ Æ¯¼ö ¸íĪÀÌ MMX¿¡ »ç¿ëµÇ°í ÀÖÀ¸¸ç À̸§¸¸ ÀÌ·¸°Ô »ç¿ëµÉ»Ó »ç½Ç»ó ºÎµ¿¼Ò¼öÁ¡ ¿¬»ê¿ë ·¹Áö½ºÅ͸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù. (ÀÌ·¯ÇÑ ÀÌÀ¯·Î ¾Æ·¡ ¼³¸íÇÏÁö¸¸ EMMSÀÇ ¸í·É¿¡ ´ëÇؼ ÇÊ¿äÇÑ ÀÌÀ¯¸¦ ÀÌÇØÇϼ¼¿ä!)
- MMXÀÇ °¡Àå ´ëÇ¥ÀûÀÎ ±â´ÉÀ¸·Î´Â 8¹ÙÀÌÆ® ´ÜÀ§·Î Data¸¦ Àü¼ÛÇÏ´Â °ÍÀε¥ ÀÌ°Í ¸»°íµµ ±âº» »ê¼ú¿¬»ê ¹× ³í¸®¿¬»êÀ» ÇÒ¼ö ÀÖ°Ô µÇ¾î ÀÖ½À´Ï´Ù.
- MMX´Â ¹ü¿ë·¹Áö½ºÅÍ·Î ÇÏ´Â ±â´É°ú ºñ±³ÇßÀ» ¶§ ´Ù¸¥ Á¡ÀÌ Packed mode¶ó´Â °ÍÀÌ Àִµ¥ ¾ÆÁ÷ ÀÌ°Í¿¡ ´ëÇÑ Çʿ伺À» Á¦°¡ ¸ø´À³¢°í ÀÖ´Â °ü°è·Î ³ªÁß¿¡ Çʿ伺ÀÌ »ý±â¸é Á¤¸®Á» Çغ¸°Ú½À´Ï´Ù.
1.2. MMXÀÇ Áö¿ø¿©ºÎ ÆÇ´Ü ¶
- ¾Æ·¡¿Í °°ÀÌ cpuid¸í·ÉÀ» ÅëÇÏ¿© ÇØ´ç ±â´ÉÀÇ Áö¿ø ¿©ºÎ¸¦ È®ÀÎ ÇÒ¼ö ÀÖ½À´Ï´Ù. À̹ۿ¡ 3D-NOW°°Àº °æ¿ìµµ ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î Áö¿ø¿©ºÎ¸¦ ¾Ë¼ö ÀÖ°Ú½À´Ï´Ù.
int MZ_IsMMX(void)
{
static int s_Return = (-1);
if(s_Return == (-1))
{
__asm__ __volatile__(
"\n\t"
"movl $1, %%eax\n\t"
"cpuid\n\t"
"xorl %%eax, %%eax\n\t"
"testl $0x800000, %%edx\n\t"
"jz L_Return\n\t"
"incl %%eax\n\t"
"L_Return:\n\t"
"movl %%eax, %0\n\t"
"\n\t"
: "=m"(s_Return)
:
: "ebx"
);
}
return(s_Return);
}
1.3. MMX ¸í·É¾î ¿ä¾àÇ¥ ¶
- Ưº°ÇÑ ¼³¸íÀÌ ¾ø´õ¶óµµ ¾Æ·¡ÀÇ ¿ä¾àÇ¥¸¦ º¸½Ã¸é ¾î¼Àºí¸® °³¹ßÀںеéÀ̶ó¸é ±×¸® ¾î·ÆÁö ¾Ê°Ô Á¢±ÙÇϽǼö ÀÖÀ»°Ì´Ï´Ù.
- EMMS¿¡ ´ëÇØ °£´ÜÈ÷ Ãß°¡¼³¸íÇÏÀÚ¸é ºÎµ¿¼Ò¼öÁ¡ ¿¬»êÀ» Çϱâ À§Çؼ »óŸ¦ Áö¿ï ÇÊ¿ä°¡ Àִµ¥ ±×·± °æ¿ì¿¡ ÀûÀýÈ÷ »ðÀÔÇÏ¿© »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù. (Áï, MMX¸í·ÉÀ» »ç¿ëÇÏ°Ô µÇ¸é EMMS¸í·ÉÀº µÚµû¶ó¾ß °ñÄ¡¾ÆÇ ¿Àµ¿ÀÛ °è»êÀ» ¹æÁöÇÒ¼ö ÀÖ½À´Ï´Ù.)
±â´É | °ªÀÇ ¼øȯÀÌ °í·ÁµÉ ¶§ | ºÎÈ£°¡ °í·ÁµÉ ¶§ | ºÎÈ£°¡ °í·ÁµÇÁö ¾ÊÀ» ¶§ |
»ê¼úµ¡¼À | PADDB, PADDW, PADDD | PADDSB, PADDSW | PADDUB, PADDUW |
»ê¼ú»¬¼À | PSUBB, PSUBW, PSUBD | PSUBSB, PSUBSW | PSUBUB, PSUBUW |
»ê¼ú°ö¼À | PMULL, PMULH | | |
»ê¼ú°ö¼ÀÀÚ¸®¿Ã¸² | PMADD | | |
ºñ±³ | PCMPEQB, PCMPEQW, PCMPEQD | | |
PCMPGTPB, PCMPGTPW, PCMPGTPD | | |
º¯È¯ | PUNPCKHBW | PACKSSWB | PACKUSWB |
PUNPCKHWD | PACKSSDW | |
PUNPCKHDQ | | |
PUNPCKLBW | | |
PUNPCKLWD | | |
PUNPCKLDQ | | |
³í¸®¿¬»ê | ¹À½ÀÇ ´ÜÀ§ | Quad´ÜÀ§ |
| PAND |
| PANDN |
| POR |
| PXOR |
| PSLLQ |
| PSRLQ |
Àü¼Û | Double word Àü¼Û | Quad word Àü¼Û |
MOVD | MOVQ |
MMX »óŸ¦ ºñ¿ò | EMMS |
1.4. ¹®¼¸¦ ¸¶Ä¡¸ç ¶
- ÀÌ ¹®¼¸¦ ÀÛ¼ºÇϱâ À§ÇØ Intel pentium manualÀ» ÂüÁ¶ÇÏ¿´½À´Ï´Ù. ÀÚ¼¼ÇÑ°ÍÀº IntelÀÇ È¨ÆäÀÌÁö¸¦ ¹æ¹®Çϼ¼¿ä.
- ÀÌ ¹®¼ÀÇ ÃÖ±Ù ¹®¼´Â http://minzkn.pe.ky ¿¡¼ º¸½Ç¼ö ÀÖ½À´Ï´Ù.
|
|