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

   Á¶È¸ 13731   Ãßõ 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 3519/5688
2015-12   1536693   ¹é¸Þ°¡
2014-05   5000821   Á¤ÀºÁØ1
2005-06   5716   ÀÌÈ£¿­
2005-07   5716   ¹èÁ¤ÇÑ
2005-06   5716   Á¤ÈûÂù
2007-10   5716   À¯»ç¿ë
2011-03   5716   ºí·¯µð
2007-11   5716   ÃÖ¿ø½Ä
2008-01   5716   ±è°Ç¿ì
2006-04   5716   ±è¼ºÁø
2011-02   5716   º¸¹°¼¶
2005-04   5716   ¹Ú°æÈ£
2013-09   5716   Á¤¿ë¿ì
2011-10   5716   ½ÂÈĴϵµÄì
2005-07   5716   ¹ÚÁ¾Çö
2006-05   5716   À±»óÇö
2005-08   5716   À̵¿Àç
2006-01   5716   ¹ÎºÀ±â
2017-12   5716   È¥ÀÚ°¡´Â±æ
2016-07   5717   º´¸ÀÆù
2005-06   5717   °­¹®¼®
2015-11   5717   ´ëÇѹα¹