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

   Á¶È¸ 13702   Ãßõ 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 5483/5682
2014-05   4951959   Á¤ÀºÁØ1
2015-12   1488545   ¹é¸Þ°¡
2002-09   13688   ÀüÇüÈÆ
2010-02   13689   Ǫ¸ªÀÌ
2006-12   13690   ±è³²¼º
2002-07   13690   ¾ÈÁ¾¿õ
2016-04   13690   ¼ÒǪ
2010-12   13693   ±è°Ç¿ì
2014-09   13694   °¡ºü·Î±¸³ª
2014-08   13694   SeaOtter
2016-09   13695   ³²ÀºÁ¾
2002-07   13695   ¾ÈÁ¾¿õ
2014-12   13695   µµ¼®¸²lÁö³ª°¡´Â¹Ù¶÷ó·³
2002-07   13696   ±èÀÎÈ£
2002-07   13697   °­Çüä
2016-03   13698   ¿Õ¿ëÇÊ
2002-07   13699   ±èÇüÇÊ
2002-08   13699   À±Á¾¹Î
2002-07   13699   ³ë¿µ±¹
2013-02   13703   º´¸ÀÆù
2002-08   13703   ±èÇö¹Î
2002-08   13704   °­Á¤Çõ