sse, mmx, avx °°Àº cpu ³»Àå ¸í·É¾î´Â ¾ðÁ¦ ¾î¶»°Ô ¾²´Â °Ç°¡¿ä???

   Á¶È¸ 13706   Ãßõ 0    

cpu에는 mmx, sse, avx 등 다양한 명령어가 있잖아요.
cpu가 새로 개발되면 새로운 명령어가 추가되어 나오구요.

저는 데스크탑에 amd를 써왔는데요.
 amd cpu에는 인텔의 sse3와 sse4가 없어서 인텔의 명령어만 지원하는 게임에서는 성능이 덜 나오는 경우도 많았습니다.
그럼 mmx나 sse 같이 cpu에 포함된 명령어는 언제 쓰는건가요?
mmx나 sse같은 명령어를 쓰겠다고 선언하면 그때 쓰는 건가요?

예를 들어 C언어로 소스를 짠다고 했을때요.

include <studio.h> 
int main(void)
{
printf("hello world! \n");
}

어떤 소스가 있다면 cpu에 mmx나 sse같은 명령어가 있다면 자동으로 sse명령어 셋이 동작해 효율적으로 동작해 처리 속도를 올리는 건가요?

아니면 위의 소스에 sse명령어를 쓰고 싶다면 소스에서 따로 선언해야 동작하는 건가요?

cpu에는 다양한 명령어 셋이 있다는데 c언어나 비쥬얼 베이직 소스짤때 한번도 써본적이 없어서 궁금해서 여쭈어봅니다.



ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
ayumu270 2013-02
È¿À²ÀûÀÎ ÇÁ·Î±×·¡¹ÖÀ» À§Çؼ­´Â ÇØ´ç ¸í·É¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â Àû´çÇÑ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϽô °ÍÀÌ »ý»êÀûÀÌÁö¿ä.

ÀνºÆ®·°¼Ç ¸î °¡Áö¸¦ Á÷Á¢ ÇÁ·Î±×·¡¹Ö¿¡ »ç¿ëÇϱâ À§Çؼ­¶ó¸é(ÁÖ·Î C/C++·Î´Â ¾î·Á¿î low level ó¸®), VC++¿¡¼­´Â

__asm
{
    ; ¸í·É¾îµé
}

°°Àº Çü½ÄÀ¸·Î C ÇÔ¼ö ¾È¿¡¼­ »ç¿ëÇϰųª, NASM ȤÀº MASMÀ» »ç¿ëÇÏ¿© ÀÛ¼ºÇÑ ¾î¼Àºí¸® ¼Ò½º¸¦ ¸µÅ©ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖÁö¿ä.

MMX, SSE°°Àº ºÎºÐ±îÁö Á÷Á¢ ´Ù·ç¾î º¸Áö´Â ¸øÇßÀ¸³ª, ¾î¶°ÇÑ Ã³¸®°úÁ¤À» ÅëÇؼ­, ÀÌ·¯ÇÑ ±â´ÉÀ» »ç¿ëÇÏ°Ú´Ù´Â flag¸¦ ¼¼¿ì°í, ¸í·ÉÀ» ¼öÇàÇÏÁö ¾Ê´Â°¡ »ý°¢ÇÕ´Ï´Ù.
1. ¾î¼Àºí·¯·Î Á÷Á¢ ¸¶ÀÌÅ©·Î Äڵ带 »ç¿ëÇÑ´Ù.

2. ÄÄÆÄÀÏ·¯ÀÇ ¿É¼Ç¼³Á¤À» ÅëÇØ ÀÚµ¿À¸·Î »ç¿ëÇϵµ·Ï ÇÑ´Ù.

µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
¹Úµ¿±Ç 2013-02
¸®´ª½º °è¿­·Î ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ¼³Ä¡ Çغ¸¼Ì´Ù¸é ´À³¦ÀÌ ¿À½Ç°Å¶ó º¾´Ï´Ù.
¼Ò½ºÄڵ带 Á÷Á¢ ÄÄÆÄÀÏÇÏ¿© ¼³Ä¡ÇÒ °æ¿ì º¸Åë
configure ¶ó´Â °úÁ¤À» ¸ÕÀú ½ÇÇà ÇØÁÖ°í make ÇØÁÝ´Ï´Ù.
À̶§ configure ¶ó´Â °ÍÀÌ ÇöÀç ÀÚ½ÅÀÇ ½Ã½ºÅÛÀÇ È¯°æÀ» ºÐ¼®Çؼ­ ÃÖ»óÀÇ makefileÀ» ¸¸µé¾î ³»ÁÒ.
ÇÊ¿äÇÑ ¶óÀ̺귯¸®³ª ¶óÀ̺귯¸®ÀÇ »ç¿ë°¡´É ¸ðµåµîÀ» ¼³Á¤ÇØÁÖ´Â °ÍÀÌÁÒ.
±× makefile À» ±â¹ÝÀ¸·Î ¼Ò½ºÄڵ带 ÄÄÆÄÀÏ ÇÏ°í ºôµåÇÏ¿© ¾²´Â °ÍÀÌ ÃÖÀûÀ¸·Î ¾²´Â °ÍÀÌ°í ±×·± °Å ¾øÀÌ
±×³É ¼Ò½ºÄڵ带 ÄÄÆÄÀÏÇÏ¿© ºôµåÇϸé ÀϹÝÀûÀÎ ¹«³­ÇÑ (¼º´ÉÀº ¶³¾îÁö´Â) ¶óÀ̺귯¸®¸¦ °¡Áö°í ½ÇÇàÆÄÀÏÀ» ¸¸µì´Ï´Ù.
¹Ú°Ç´Ô ¸»¾¸Ã³·³ ¾Æ¿¹ asm ·¹º§¿¡¼­ ¹Ù·Î ¾²´Â °Íµµ °¡´ÉÇÑ ¹æ¹ýÀÌÁÒ.
±è¼®Áß 2013-02
±×·¸±º¿ä. °¨»çÇÕ´Ï´Ù.


QnA
Á¦¸ñPage 5484/5683
2015-12   1491785   ¹é¸Þ°¡
2014-05   4955267   Á¤ÀºÁØ1
2002-08   13690   Ȳ¿µº¸
2013-10   13690   ½ºÆÀÆѸ¶¸°
2006-12   13692   ±è³²¼º
2010-02   13692   Ǫ¸ªÀÌ
2002-07   13693   ¾ÈÁ¾¿õ
2002-09   13696   ÀüÇüÈÆ
2016-09   13697   ³²ÀºÁ¾
2014-09   13697   °¡ºü·Î±¸³ª
2016-04   13697   ¼ÒǪ
2002-07   13698   ¾ÈÁ¾¿õ
2010-12   13699   ±è°Ç¿ì
2014-08   13699   SeaOtter
2002-07   13699   ±èÀÎÈ£
2014-12   13699   µµ¼®¸²lÁö³ª°¡´Â¹Ù¶÷ó·³
2020-08   13700   ½Ì¾î¼Û¶óÀÌÅÍ
2002-07   13700   °­Çüä
2002-07   13701   ±èÇüÇÊ
2002-07   13701   ³ë¿µ±¹
2016-03   13702   ¿Õ¿ëÇÊ
2002-08   13706   À±Á¾¹Î