Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ת£ºSSEÖ¸Áî½éÉܼ°ÆäC¡¢C++Ó¦ÓÃ

SSEÊÇÓ¢ÌØ¶ûÌá³öµÄ¼´MMXÖ®ºóÐÂÒ»´ú£¨µ±È»ÊǼ¸ÄêǰÁË£©CPUÖ¸Á£¬×îÔçÓ¦ÓÃÔÚPIIIϵÁÐCPUÉÏ¡£ÏÖÔÚÒѾ­µÃµ½ÁËIntel PIII¡¢P4¡¢Celeon¡¢Xeon¡¢AMD Athlon¡¢duronµÈϵÁÐCPUµÄÖ§³Ö¡£¶ø¸üеÄSSE2Ö¸Á½öµÃµ½ÁËP4ϵÁÐCPUµÄÖ§³Ö£¬ÕâÒ²ÊÇΪʲôÕâÆªÎÄÕÂÊǽ²SSE¶ø²»ÊÇSSE2µÄÔ­ÒòÖ®Ò»¡£ÁíÒ»¸öÔ­Òò¾ÍÊÇSSEºÍSSE2µÄÖ¸ÁîϵͳÊǷdz£ÏàËÆµÄ£¬SSE2±ÈSSE¶àµÄ½öÊÇÉÙÁ¿µÄ¶îÍ⸡µã´¦Àí¹¦ÄÜ¡¢64λ¸¡µãÊýÔËËãÖ§³ÖºÍ64λÕûÊýÔËËãÖ§³Ö¡£
SSEΪʲô»á±È´«Í³µÄ¸¡µãÔËËã¸ü¿ìÄØ£¿ÒòΪËüʹÓÃÁË128λµÄ´æ´¢µ¥Ôª£¬Õâ¶ÔÓÚ32λµÄ¸¡µãÊýÀ´½²£¬ÊÇ¿ÉÒÔ´æÏÂ4¸öµÄ£¬Ò²¾ÍÊÇ˵£¬SSEÖеÄËùÓмÆËã¶¼ÊÇÒ»´ÎÐÔÕë¶Ô4¸ö¸¡µãÊýÀ´Íê³ÉµÄ£¬ÕâÖÖÅú´¦Àíµ±È»¾Í»á´øÀ´Ð§ÂʵÄÌáÉý¡£ÎÒÃÇÔÙÀ´»Ø¹ËÒ»ÏÂSSEµÄÈ«³Æ£ºStream SIMD Extentions£¨Á÷SIMDÀ©Õ¹£©¡£SIMD¾ÍÊÇsingle instruction multiple data£¬Á¬ÆðÀ´¾ÍÊÇ“Êý¾ÝÁ÷µ¥Ö¸Áî¶àÊý¾ÝÀ©Õ¹”£¬´ÓÃû×ÖÎÒÃǾͿÉÒÔ¸üºÃµÄÀí½âSSEÊÇÈçºÎ¹¤×÷µÄÁË¡£
ËäÈ»SSE´ÓÀíÂÛÉÏÀ´½²Òª±È´«Í³µÄ¸¡µãÔËËã»á¿ì£¬µ«ÊÇËûËùÊܵÄÏÞÖÆÒ²ºÜ¶à£¬Ê×ÏÈ£¬ËäÈ»ËûÖ´ÐÐÒ»´ÎÏ൱ÓÚËĴΣ¬»á±È´«Í³µÄ¸¡µãÔËËãÖ´ÐÐ4´ÎµÄËÙ¶ÈÒª¿ì£¬µ«ÊÇËûÖ´ÐÐÒ»´ÎµÄËÙ¶ÈÈ´²¢Ã»ÓÐÏëÏóÖеÄÄÇô¿ì£¬ËùÒÔÒªÌåÏÖSSEµÄËÙ¶È£¬±ØÐëÓÐStream×öǰÌᣬ¾ÍÊÇ´óÁ¿µÄÁ÷Êý¾Ý£¬ÕâÑù²ÅÄÜ·¢»ÓSIMDµÄÇ¿´ó×÷Óá£Æä´Î£¬SSEÖ§³ÖµÄÊý¾ÝÀàÐÍÊÇ4¸ö32루¹²¼Æ128룩¸¡µãÊý¼¯ºÏ£¬¾ÍÊÇC¡¢C++ÓïÑÔÖеÄfloat[4]£¬²¢ÇÒ±ØÐëÊÇÒÔ16λ×ֽڱ߽ç¶ÔÆëµÄ£¨ÉÔºó»áÒÔ´úÂëÀ´½øÐвûÊÍ£¬¹ØÓڱ߽ç¶ÔÆëµÄ¸ÅÄ¶ÁÕß¿ÉÒԲο¼ÂÛ̳ÉÏµÄÆäËüÎÄÕ£¬¶¼»áÓкÜÏêϸµÄ½â´ð£¬ÎÒÕâÀï¾ÍË¡²»×¸ÊöÁË£©¡£Òò´ËÕâÒ²¸øÊäÈëºÍÊä³ö´øÀ´Á˲»ÉÙµÄÂé·³£¬Êµ¼ÊÉÏÖ÷ÒªÓ°ÏìSSE·¢»ÓÐÔÄܵľÍÊDz»Í£µÄ¶ÔÊý¾Ý½øÐи´ÖÆÒÔÊÊÓÃÓ¦ËüµÄÊý¾Ý¸ñʽ¡£
ÎÒÊÇÒ»¸öC++³ÌÐòÔ±£¬¶Ô»ã±à²¢²»ºÜÊ죬µ«ÎÒÓÖÏëÓÃSSEÀ´ÓÅ»¯ÎҵijÌÐò£¬ÎÒ¸ÃÔõô×öÄØ£¿ÐÒºÃVC++.netΪÎÒÃÇÌṩÁ˺ܷ½±ãµÄÖ¸ÁîCº¯Êý¼¶µÄ·â×°ºÍC¸ñʽÊý¾ÝÀàÐÍ£¬ÎÒÃÇÖ»ÐèÏñƽʱдC++´úÂëÒ»Ñù¶¨Òå±äÁ¿¡¢µ÷Óú¯Êý¾Í¿ÉÒԺܺõÄÓ¦ÓÃSSEÖ¸ÁîÁË¡£
µ±È»ÁË£¬ÎÒÃÇÐèÒª°üº¬Ò»¸öÍ·Îļþ£¬ÕâÀïÃæ°üÀ¨ÁËÎÒÃÇÐèÒªµÄÊý¾ÝÀàÐͺͺ¯ÊýµÄÉùÃ÷£º
#include <xmmintrin.h>
SSEÔËËãµÄ±ê×¼Êý¾ÝÀàÐÍÖ»ÓÐÒ»¸ö£¬¾ÍÊÇ£º
__m128£¬ËüÊÇÕâÑù¶¨ÒåµÄ£º
typedef struct __declspec(intrin_type) __declspec(align(16)) __m128 {
   float m128_f32[4];
} __m128;
¼ò»¯Ò»Ï£¬¾ÍÊÇ£º
struct __m128
{
   float m128_f32[4];
};
±ÈÈçÒª¶¨ÒåÒ»¸ö__m128±äÁ¿£


Ïà¹ØÎĵµ£º

C51: MIXING C AND ASSEMBLY

ÒÔÏÂÈ«ÎÄ×ªÔØ×Ôhttp://www.keil.com/support/docs/1671.htm                     Copyright © 2010 Keil™, An ARM® Company.
Information in this article applies to:
C51 Version 6.02
&mi ......

´ÓC++µ½JAVA£¬C++³ÌÐòԱѧϰJAVAµÄÖ¸ÄÏ

write by ¾ÅÌìÑãôá(JTianLing) -- blog.csdn.net/vagrxie
ÌÖÂÛÐÂÎÅ×é¼°Îļþ
Technorati ±êÇ©: JAVA
,C++
,Python
JAVA is not just another programming language. -- ÄäÃû
ѧϰ¸üеÄÓïÑÔ£¬ÓÐÖúÓÚÁ˽â±ðÈ˶ԾÉÓïÑÔÓÐÄÄЩ²»Âú¡£ -- ÄäÃû
 
ǰÑÔ
ÏÈ
˵Ã÷±¾ÎĵÄÐÐÎÄϰ¹ß£¬ÎÄÕÂд×÷Á÷³ÌÒÔ±¾ÈËÔĶÁ¡¶Java Progra ......

c/c++ static

C++µÄstaticÓÐÁ½ÖÖÓ÷¨£ºÃæÏò¹ý³Ì³ÌÐòÉè¼ÆÖеÄstaticºÍÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÖеÄstatic¡£Ç°ÕßÓ¦ÓÃÓÚÆÕͨ±äÁ¿ºÍº¯Êý£¬²»Éæ¼°ÀࣻºóÕßÖ÷Ҫ˵Ã÷staticÔÚÀàÖеÄ×÷Óá£
Ò»¡¢ÃæÏò¹ý³ÌÉè¼ÆÖеÄstatic
1¡¢¾²Ì¬È«¾Ö±äÁ¿
ÔÚÈ«¾Ö±äÁ¿Ç°£¬¼ÓÉϹؼü×Östatic£¬¸Ã±äÁ¿¾Í±»¶¨Òå³ÉΪһ¸ö¾²Ì¬È«¾Ö±äÁ¿¡£ÎÒÃÇÏȾÙÒ»¸ö¾²Ì¬È«¾Ö±äÁ¿µÄÀý×Ó£¬ÈçÏ£º ......

C/C++ extern

externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö´´Òâ²úÆ·Íø .
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ