ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
¾ÅÉ«Êé¼® ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

smt-µÚ7ÕÂ

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡



¤×÷¼¯£¨ÈçÊý¾Ý¿â·þÎñÆ÷ºÍ¡¡Web¡¡·þÎñÆ÷£©Ôö¼Ó¹¤×÷¸ºÔصÄÍÌÍÂÁ¿¡£¡¡¡¡¡¡¾ßÓиߡ¡CPI¡¡¼ÆÊýµÄ¹¤×÷¸ºÔØ¡£ÕâЩ¹¤×÷¸ºÔØÍùÍùºÜÉÙʹÓô¦ÀíÆ÷ºÍÄÚ´æ×ÊÔ´¡£¸ß¡¡CPI¡¡¼ÆÊýͨ³£ÓÉ´óÐ͹¤×÷»úµÄ¸ßËÙ»º´æ²»ÃüÖÐÂʽϸ߶øµ¼Ö¡£½Ï´óµÄÉÌÓù¤×÷¸ºÔØÔÚijЩ³Ì¶ÈÉÏÈ¡¾öÓÚÁ½¸öÓ²¼þÏß³ÌÊÇ·ñ¹²ÏíÖ¸Áî»òÊý¾Ý£¬»òÈ¡¾öÓÚÁ½¸öÓ²¼þÏß³ÌÊÇ·ñÍêÈ«²»Í¬¡£¹²ÏíÖ¸Áî»òÊý¾ÝµÄ¹¤×÷¸ºÔØ¿ÉÄÜ´Óͬ²½¶àÏß³ÌÖлñµÃ½Ï´óµÄºÃ´¦£¬ÕâЩָÁî»òÊý¾Ý¿É°üÀ¨ÔÚ²Ù×÷ϵͳÖлòµ¥¸öÓ¦ÓóÌÐòÖй㷺ÔËÐеÄÖ¸Áî»òÊý¾Ý¡££§3£§
£§±à¼­±¾¶Î£§IBM¡¡Power5¡¡ÖеÄͬ²½¶àÏ̼߳¼Êõ£¨SMT£©
¡¡¡¡ÄÚÈÝÌáÒªPower5¡¡Ð¾Æ¬ÊÇIBM¡¡Power¡¡Ð¾Æ¬¼Ò×åÖеÄÐÂÒ»´ú¸ß¶ËCPU¡¡²úÆ·£¬ËüÓëPower4¡¡ÔÚ¶þ½øÖÆÉϼæÈÝ£¬µ«ÔÚÐÔÄܺ͹¦ÄÜÉϱÈPower4¡¡ÓкܴóµÄÔöÇ¿¡£±¾ÎĽ«½éÉÜPower5¡¡ËùÖ§³ÖµÄͬ²½¶àÏ̼߳¼ÊõSimultaneous¡¡MultiThreading¡¡¡£
Ó¦ÓÃ
¡¡¡¡ÔÚµ¥¸öÊÂÎñËٶȲ»ÈçËùÖ´ÐÐÊÂÎñµÄ×ÜÊýÖØÒªµÄÉÌÓû·¾³ÖС£Í¬²½¶àÏ߳̽«Í¨¹ý´óÐÍ»ò¾­³£±ä»¯µÄ¹¤×÷¼¯£¨ÈçÊý¾Ý¿â·þÎñÆ÷ºÍ¡¡Web¡¡·þÎñÆ÷£©Ôö¼Ó¹¤×÷¸ºÔصÄÍÌÍÂÁ¿¡£¡¡¾ßÓиߡ¡CPI¡¡¼ÆÊýµÄ¹¤×÷¸ºÔØ¡£ÕâЩ¹¤×÷¸ºÔØÍùÍùºÜÉÙʹÓô¦ÀíÆ÷ºÍÄÚ´æ×ÊÔ´¡£¸ß¡¡CPI¡¡¼ÆÊýͨ³£ÓÉ´óÐ͹¤×÷»úµÄ¸ßËÙ»º´æ²»ÃüÖÐÂʽϸ߶øµ¼Ö¡£½Ï´óµÄÉÌÓù¤×÷¸ºÔØÔÚijЩ³Ì¶ÈÉÏÈ¡¾öÓÚÁ½¸öÓ²¼þÏß³ÌÊÇ·ñ¹²ÏíÖ¸Áî»òÊý¾Ý£¬»òÈ¡¾öÓÚÁ½¸öÓ²¼þÏß³ÌÊÇ·ñÍêÈ«²»Í¬¡£¹²ÏíÖ¸Áî»òÊý¾ÝµÄ¹¤×÷¸ºÔØ¿ÉÄÜ´Óͬ²½¶àÏß³ÌÖлñµÃ½Ï´óµÄºÃ´¦£¬ÕâЩָÁî»òÊý¾Ý¿É°üÀ¨ÔÚ²Ù×÷ϵͳÖлòµ¥¸öÓ¦ÓóÌÐòÖй㷺ÔËÐеÄÖ¸Áî»òÊý¾Ý¡£
˵¡¡Ã÷
¡¡¡¡Í¬²½¶àÏß³ÌʾÒâͼ´«Í³µÄCPU¡¡ÔÚijһʱ¼äÖ»ÄÜ´¦ÀíÒ»¸öÖ¸ÁîÐòÁУ¬Í¨³£ÎÒÃÇ°ÑËü³ÆΪһ¸öÏ̡߳£ÔÚÏ̴߳¦ÀíµÄ¹ý³ÌÖÐCPU¡¡µÄ´¦Àíµ¥ÔªÐèÒª²»¶Ïµ÷ÈëÖ¸ÁîÓëÊý¾Ý½øÐд¦Àí¡£Ëæ×ÅCPU¡¡¼¼ÊõµÄ·¢Õ¹£¬CPU¡¡µÄÖ÷ƵÓëÐÔÄܲ»¶ÏÌá¸ß£¬ÐèÒªµ÷ÈëÖ¸ÁîºÍÊý¾ÝµÄËٶȲ»¶ÏÌá¸ß¡£µ«²»ÐÒµÄÊÇÄÚ´æ¼¼ÊõµÄ·¢Õ¹²¢Ã»ÓиúÉÏCPU¡¡·¢Õ¹µÄËٶȣ¬ÄÚ´æͨ³£ÎÞ·¨Ìṩ×ã¹»µÄÖ¸ÁîºÍÊý¾Ý¸øCPU¡¡½øÐд¦Àí¡£¡¡¡¡¡¡ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬ҵ½çͨ³£²ÉÓö༶»º´æµÄ·½Ê½¡£CPU¡¡´¦Àíµ¥ÔªÖеļĴæÆ÷ÊÇ×î¿ìµÄ£¬Í¨³£Ò»¸öCPU¡¡ÖÐÓÐÒ»¡¢Á½°Ù¸ö¼Ä´æÆ÷£¬Ëü¿ÉÒÔÔÚÒ»¸öʱÖÓÖÜÆÚÄÚÌṩָÁîºÍÊý¾Ý¡£Æä´ÎÊÇÒ»¼¶»º´æ£¬ËûµÄ´óСͨ³£Îª¼¸Ê®KB¡¡£¬ËüÐèÒª¼¸¸öʱÖÓÖÜÆڵķÃÎÊʱ¼ä¡£ÔÙÏÂÃæÊǶþ¼¶»º´æ£¬ËûµÄ´óСͨ³£Îª¼¸MB¡¡£¬ËüÐèҪʮ¼¸¸öʱÖÓÖÜÆڵķÃÎÊʱ¼ä¡£È»ºóÊÇÄڴ棬´ÓÄÚ´æÖÐÈ¡µÃÊý¾ÝÐèÒª¼¸Ê®¸ö¸öʱÖÓÖÜÆÚ¡£¶ø×îÂýµÄÊÇÓ²ÅÌ£¬Í¨³£ÐèÒª¼¸Ç§ÉõÖÁ¼¸Íò¸öʱÖÓÖÜÆڵķÃÎÊʱ¼ä¡£¡¡¡¡¡¡µ±CPU¡¡ÐèÒª´¦ÀíÏÂÒ»ÌõÖ¸Áîʱ£¬Ëûͨ³£°´ÕռĴæÆ÷¡¢Ò»¼¶»º´æ¡¢¶þ¼¶»º´æ¡¢ÄÚ´æ¡¢Ó²ÅÌÕâһ˳ÐòÈ¥²éÕÒ¡£µ«Èç¹ûÔÚÄÚ´æÖÐÈÔÈ»ÕÒ²»µ½ÐèÒªµÄÖ¸Áî»òÊý¾Ýʱ¡£ÏµÍ³»á½øÐÐContext¡¡Switch¡¡£¬ÖÕÖ¹´ËÏß³ÌÔÚCPU¡¡ÉϵÄÔËÐУ¬Ê¹Æä´¦Óڵȴý״̬£¬¶øÈÃÆäËûµÄÏß³ÌÔËÐУ¬µ±´ËÏß³ÌÐèÒªµÄÊý¾Ý±»µ÷ÈëÄÚ´æºó£¬´ËÏ̴߳¦ÓÚ¾ÍÐ÷״̬£¬¿ÉÒÔ±»µ÷¶Èµ½CPU¡¡ÉÏÔËÐС£Ï̼߳äµÄContext¡¡Switch¡¡ÐèÒª¼¸Ê®¸öʱÖÓÖÜÆÚ¡£¡¡¡¡¡¡Óɴ˿ɼûµ±CPU¡¡ÐèÒª´ÓÄÚ´æÖÐÈ¡Êý¾Ýʱ£¬´¦Àíµ¥ÔªÐèÒª¿Õת¼¸Ê®¸öʱÖÓÖÜÆÚ£¬ÓйØͳ¼ÆÏÔʾµ±Ç°CPU¡¡´¦Àíµ¥ÔªµÄƽ¾ùÀûÓÃÂʲ»×ã25£¥¡¡¡£ÎªÁËÌá¸ßCPU¡¡´¦Àíµ¥ÔªµÄÀûÓÃÂÊ£¬Éè¼ÆÕß²ÉÓÃÁËÏ̼߳¶µÄ²¢Ðм¼Êõ£¬¼´ÔÚCPU¡¡µÄºËÐÄÖÐÖ´ÐÐÒ»¸öÒÔÉϵÄÖ¸ÁîÐòÁС£¶ÔÓÚ²Ù×÷ϵͳÀ´Ëµ£¬Ò»¸öÎïÀíµÄ´¦ÀíÆ÷Ï൱ÓÚÁ½¸öÂß¼­µÄ´¦ÀíÆ÷£¬µ±Ç°ÓÐÈýÖÖ²»Í¬µÄ·½Ê½£¬ÊµÏÖ¶àÏ̼߳¼Êõ¡£¡¡¡¡¡¡´ÖÁ£¶ÈµÄ¶àỊ̈߳¬ÔÚÈÎһʱ¿ÌÖ»ÓÐÒ»¸öÏß³ÌÖ´ÐУ¬µ±Ïß³ÌÓöµ½Ò»¸ö³¤ÑÓ³Ùʼþʱ£¬Èç¶þ¼¶»º´æ²»ÃüÖУ¬Ôòϵͳµ÷¶ÈÁíÒ»¸öÏß³ÌÖ´ÐУ¬¶ø²»ÊÇÈÃϵͳ×ÊÔ´¿ÕתµÈ´ý´ËÏ̡߳£ÕâÒ»»úÖÆ¿ÉÒÔÌá¸ßÕû¸öϵͳµÄÀûÓÃÂÊ¡£ÕâÁ½¸öÏ̹߳²ÏíÐí¶àϵͳ×ÊÔ´£¬ÈçCPU¡¡µÄ¼Ä´æÆ÷ºÍ»º´æµÈ£¬Òò´ËÕâÁ½¸öÏ̵߳ÄÇл»±ÈContext¡¡Switch¡¡Òª¿ìµÃ¶à£¬Ö»ÐèÒª¼¸¸öʱÖÓÖÜÆÚ¡£IBM¡¡ÔÚʹÓÃPowerPC¡¡RS64¡¡IV¡¡´¦ÀíÆ÷µÄpSeries¡¡680¡¡ºÍpSeries¡¡660¡­6M1¡¡ÉÏʹÓùýÕâÖÖ´ÖÁ£¶ÈµÄ¶àÏ̼߳¼Êõ¡£¡¡¡¡¡¡ÁíÒ»ÖÖÓë´ÖÁ£¶ÈµÄ¶àÏ̼߳¼ÊõÏà¶ÔµÄÊÇϸÁ£¶È¶àÏ̼߳¼Êõ£¬²ÉÓÃÕâÖÖ¶àÏ̵߳Äϵͳѭ»·µÄÖ´ÐÐÁ½¸öÏ̵߳ÄÖ¸ÁÕâ¾ÍÐèÒªÔÚ´¦ÀíÆ÷µÄÉè¼ÆÉÏÔö¼ÓÐí¶àÈßÓàµÄ²¿¼þ¡£Èç¹ûÒ»¸öÏß³ÌÓöµ½¸ö³¤ÑÓ³Ùʼþʱ£¬¶ÔÓ¦ÕâÒ»Ïß³ÌÖ´ÐеÄʱÖÓÖÜÆÚÈÔȻûÓб»ÀûÓᣡ¡¡¡¡¡µÚÈýÖÖ¶àÏ̼߳¼ÊõÊÇͬ²½¶àÏ̼߳¼Êõ£¨SMT£©¡¡£¬ÓëÆäËûµÄ¶àÏ̼߳¼ÊõÒ»Ñù£¬Í¬²½¶àÏß³ÌÄܹ»´Ó¶à¸öÏß³ÌÖÐÈ¡³öÖ¸ÁîÀ´ÔËÐУ¬ËüÄܹ»Í¬Ê±Ö´Ðв»Í¬Ï̵߳ÄÖ¸Áͨ¹ýͬ²½¶àÏ̼߳¼Êõ£¬ÏµÍ³Äܹ»¶¯Ì¬µ÷Õûϵͳ»·¾³£¬ÈçÓпÉÄÜͬʱִÐв»Í¬Ï̵߳ÄÖ¸Áî¡£µ±Ò»¸öÏß³ÌÓöµ½³¤ÑÓ³Ùʼþʱ£¬ÔÊÐíÁíÒ»¸öÏß³ÌʹÓÃËùÓõĴ¦Àíµ¥Ôª¡£¡¡¡¡¡¡Power5¡¡´¦ÀíÆ÷µÄÉè¼Æ²ÉÓÃÁ½Â·µÄͬ²½¶àÏß³ÌÉè¼Æ£¬ËäÈ»¸ü¶à·µÄͬ²½¶àÏß³ÌÒ²ÊÇ¿ÉÄܵģ¬µ«Ä£ÄâÏÖʵ£¬ÆäËùÔö¼ÓµÄϵͳµÄ¸´ÔÓÐÔÊDz»¾­¼ÃµÄ¡£ÁíÍâÒ»¸öÐèҪעÒâµÄÎÊÌâÊÇ£¬Í¬²½¶àÏ̼߳¼Êõ¿ÉÄÜ»áÓÉÓÚ»º´æÕùÓöø½µµÍÕû¸öϵͳµÄÐÔÄÜ¡£
£§±à¼­±¾¶Î£§Intel³¬Ï̼߳¼ÊõÓжàÉÙÖÖ£¿
¡¡¡¡»ùÓÚNetBurst¼Ü¹¹µÄ³¬Ị̈߳ºOOOE¡¡£«¡¡SMT¡¡¡¡¡¡»ùÓÚItanium¼Ü¹¹µÄ³¬Ị̈߳ºIOE¡¡£«¡¡CMT¡¡¡¡¡¡»ùÓÚAtom¼Ü¹¹µÄ³¬Ị̈߳ºIOE¡¡£«¡¡SMT¡¡¡¡¡¡»ùÓÚNehalem¼Ü¹¹µÄ³¬Ị̈߳ºOOOE¡¡£«¡¡SMT¡¡¡¡¡¡SMT£¨Simultaneous¡¡Multi¡­Threading£¬Í¬²½¶àỊ̈߳©ÊµÄËÊÇÒ»¸öרÓÐÃû´Ê£¬ÊÇÒ»ÖÖÀ༼ÊõµÄÃû³Æ£¬²»½ö½öNehalemÓвÉÓã¬Pentium¡¡4Ò²ÓвÉÓ㬻¹ÓкܶàÆäËûÉÌÓô¦ÀíÆ÷Ò²ÓвÉÓá£ÕýÈ·µÄÇé¿öÓ¦¸ÃÊÇ£¬NehalemµÄHT¼¼ÊõºÍPentium¡¡4µÄHT¼¼ÊõÒ»Ñù£¬¶¼ÊÇÊôÓÚSMT¼¼Êõ¡£¡¡¡¡¡¡Êµ¼ÊÉÏ£¬³¬Ï̼߳¼ÊõÔÚIntelµÄºÜ¶à´¦ÀíÆ÷ÀïÃ涼ÓÐʹÓ㬳ýÁËPentium¡¡4£¨NetBurst¼Ü¹¹£©¡¢Core¡¡i7£¨Nehalem¼Ü¹¹£©Ö®Í⣬Itanium¡¡2£¨Mondecito£©ºÍAtom£¨Silverthorne£©´¦ÀíÆ÷ÀïÃ涼ÓУ¬È»¶øËüÃÇЯ´øµÄHT¼¼ÊõÈ´²»ÊôÓÚSMT£¡¡¡¡¡¡¡ÔÚÕûÀíIntelµÄ¶àÖÖHT³¬Ï̼߳¼Êõ֮ǰ£¬ÎÒÃÇÏÈÀ´»Ø¹ËÒ»ÏÂMultiThreading¶àÏ̼߳¼ÊõµÄ·ÖÀ࣬MultiThreading¶àÏ߳̾ÍÊÇÔÚÒ»¸öµ¥¸öµÄ´¦ÀíºËÐÄÄÚͬʱÔËÐжà¸ö¹¤×÷Ï̵߳ļ¼Êõ£¬ºÍCMP£¨Chip¡¡MultiProcessing£¬Ð¾Æ¬¶à´¦Àí£©²»Í¬£¬ºóÕßÊÇͨ¹ý¼¯³É¶à¸ö´¦ÀíÄں˵ķ½Ê½À´ÈÃϵͳµÄ´¦ÀíÄÜÁ¦ÌáÉý¡ª¡ªÒ²¾ÍÊÇÏÖÔÚ³£¼ûµÄ¶àºË¼¼Êõ¡£ÏÖÔÚÖ÷Á÷µÄ´¦ÀíÆ÷¶¼Ê¹ÓÃÁËCMP¼¼Êõ¡£¡¡¡¡¡¡È»¶øCMP¼¼Êõ´ó¹æÄ£Ôö¼ÓÁËÏàÓ¦µÄµç·£¬´Ó¶øÔö¼ÓÁ˳ɱ¾£¬MT£¨MultiThreading£©¼¼ÊõÈ´²»ÊǶàÏ̼ܹ߳¹ÒìͬÕâÑù£¬ËüÖ»ÐèÒªÔö¼Ó¹æÄ£ºÜÉٵIJ¿·ÖÏß·£¨Í¨³££¬Ô¼2£¥£©¾Í¿ÉÒÔÌáÉý´¦ÀíÆ÷µÄ×ÜÌå´¦ÀíÆ÷ÄÜÁ¦£¬´Ó¶ø¿ÉÒԺܼòµ¥µØÌáÉýÏà¹ØÓ¦ÓõÄÐÔÄÜ¡£¡¡¡¡¡¡MultiThreading£¨»ò×÷Multi¡­Threading£©À´Ô´ÓÚ¿ÉÒÔ×·Ëݵ½ÉϸöÊÀ¼Í90Äê´ú¿ªÊ¼µÄÒ»¸ö½Ð×öILP£¨Instruction¡¡Level¡¡Parallelism£¬Ö¸Á²¢Ðл¯£©µÄ˼Ï룬Õâ¸ö˼Ïë²úÉúÁËÒ»¸ö½Ð×öThroughput¡¡puting£¨ÍÌÍÂÁ¿¼ÆË㣩µÄÃû´Ê£¬ÓÃÀ´ÌáÉýÈçÔÚÏß½»Ò×ÕâÑùµÄ²¢ÐмÆËãµÄÐÔÄÜ¡£Throughput¡¡putingµÄÁ½ÖÖÖ÷Òª·½Ê½¾ÍÊÇMultiProcessingºÍMultiThreading¡£¡¡¡¡¡¡Ò»¿ªÊ¼£¬ÎªÁË¿ª·¢ILP£¬ÔÚ¹ýÈ¥µÄ¼¸Ê®ÄêÖÐÀûÓÃÁ˳¬±êÁ¿£¨Superscalar£¬Í¬Ê±¾ß±¸¶à¸öÖ´ÐÐÆ÷£©¡¢ÂÒÐòÖ´ÐУ¨Out¡­Of¡­Order¡¡Execute£¬ÔÊÐíÎÞÊý¾Ý¹ØÁªÐÔµÄÖ¸ÁîͬʱÔËÐУ©¡¢¶¯Ì¬·ÖÖ§Ô¤²â¡¢VLIW£¨Very¡¡Long¡¡Instruction¡¡Word£¬³¬³¤Ö¸Á¡¡£©¡¡µÈ¼¼Êõ£¨Ç°ÈýÖÖ¿ÉÔÚ¾­µäµÄPentium¡¡Pro¼Ü¹¹ÉÏ¿´µ½£¬×îºóÒ»¸ö¾ÍÊÇItaniumµÄÌØÉ«¼¼Êõ£©¡£È»¶ø£¬³¬±êÁ¿Ê¹Éè¼ÆµÄ¸´ÔÓÐÔ¼±¾çÔö¼Ó£¬Í¬Ê±£¬Ö¸ÁîÖ®¼äµÄÊý¾ÝºÍ¿ØÖÆÏà¹Ø£¬¿ÉÒÔ¿ª·¢µÄILP¡¡Ò²ÓÐÏÞ£¬ÒÔ¼°Ò»Ð©ÆäËüÒòËØ£¬Ê¹µÃ¾­µäµÄ³¬±êÁ¿½á¹¹´¦ÀíÆ÷ÄÑÒÔ½øÒ»²½Ìá¸ß´¦ÀíÆ÷ÐÔÄÜ¡£¡¡¡¡¡¡¶øÇÒ´ÓÓ¦ÓõĽǶȿ´£¬ÈçÔÚÏßÊÂÎñ´¦ÀíOLTP¡¢¾ö²ßÖ§³ÖϵͳDSS¡¢Web·þÎñµÈÕâÑùµÄÓ¦ÓõÄÌصãÊǾßÓзḻµÄÏ̼߳¶²¢ÐÐÐÔ£¨Thread¡¡Level¡¡Parallelism£©¶øȱ·¦ILP£¬Òò´ËÒ²¾Í´ÙʹÁËMultiProcessingºÍMultiThreadingµÄ³öÏÖ¡£¡¡¡¡¡¡MultiThreading¶àÏ̼߳¼ÊõµÄ˼ÏëÓÐЩÀàËÆÓÚÔçÆڵķÖʱ¹²Ïí¼ÆËãϵͳ£¬Ö´Ðжà¸öÏ̵߳Ĵ¦ÀíÆ÷ÔÚÓöµ½Ä³¸öÏß³ÌÓÉÓÚCache¡¡Miss»òÕß·ÖÖ§Ô¤²âʧ°Ü¶øÍ£¶ÙµÄʱºò£¬¿ÉÒÔÇл»µ½ÁíÒ»¸öÏß³ÌÀ´Ö´ÐС£Ä¿Ç°Ö÷Á÷µÄMultiThreading¾ßÓÐ×ÅÈýÖÖÐÎʽ£¬²î±ðÔÚÓÚÏ̼߳乲ÏíµÄ×ÊÔ´ÒÔ¼°Ïß³ÌÇл»µÄ»úÖÆ£º¡¡¡¡¡¡ÆäÖÐCMTºÍFMT¶¼ÊÇÔÚµ¥¸öÖ´Ðе¥ÔªÏµļ¼Êõ£¬²»Í¬µÄÏß³ÌÔÚÖ¸Á±ðÉϲ¢²»ÊÇÕæÕýµÄ¡°²¢ÐС±£¬¶øSMTÔò¾ßÓжà¸öÖ´Ðе¥Ôª£¬Í¬Ò»Ê±¼äÄÚ¿ÉÒÔͬʱִÐжà¸öÖ¸ÁÒò´ËÇ°Á½ÕßÓÐʱÏȹéÀàΪTMT£¨Temporal¡¡MultiThreading£¬Ê±¼ä¶àỊ̈߳©£¬ÒÔºÍSMTÏàÇø·Ö¡£¡¡¡¡¡¡Ê×ÏȽéÉÜCMT¡ª¡ªCoarse¡­Grained¡¡MultiThreadingÊÇÒòΪ£ºËüÊÇ×î¼òµ¥µÄ¶àÏ̼߳¼Êõ£¬µ±µ¥Ò»Ö´ÐÐÏß³ÌÓöµ½³¤Ê±¼äµÄÑÓ³Ù£¬ÈçCache¡¡Missedʱ£¬¾Í½øÐÐÏß³ÌÇл»£¬Ö±µ½Ô­Ï̵߳ȴýµÄ²Ù×÷Íê³É£¬²ÅÇл»»ØÈ¥¡£Coarse¡­Grained¡¡MultiThreadingÓÐʱҲ½ÐBlock¡¡MultiThreading¶ÂÈû¶àÏ̻߳òÕßCooperative¡¡MultiThreadingЭ×÷¶àÏ̡߳£¡¡¡¡¡¡ÓÉÓÚCMTºÜ¼òµ¥£¬Òò´ËºÜ¶à´¦ÀíÆ÷¶¼ÓÐʵÏÖ£¬³ýÁËÏÂÃæÁгöÖ®Í⣬ºÜ¶àǶÈëʽ΢¿ØÖÆÆ÷¶¼ÓÐʵÏÖ£º¡¡¡¡¡¡1999ÄêµÄIBM¡¡RS64¡¡III¡¸Pulsar¡¹£¨µ¥ºËÐÄ£¯Ë«Ị̈߳©¡¡¡¡¡¡2005ÄêFujitsu¡¡SPARC64¡¡VI¡¸Olympus¡­C¡¹£¨Ë«ºËÐÄ£¯4Ị̈߳©¡¡¡¡¡¡2006ÄêIntel¡¡Itanium¡¡2¡¸Montecito¡¹£¨Ë«ºËÐÄ£¯4Ị̈߳©¡¡¡¡¡¡2007ÄêIntel¡¡Itanium¡¡2¡¸Montvale¡¹£¨Ë«ºËÐÄ£¯4Ị̈߳©¡¡¡¡¡¡IntelµÄItanium¡¡2ºÕÈ»ÔÚÄ¿¡¡¡¡¡¡FMT¡ª¡ªFine¡­Grained¡¡MultiThreadingËæʱ¿ÉÒÔÔÚÿ¸öʱÖÓÖÜÆÚÄÚÇ뻶à¸öỊ̈߳¬ÒÔ×·Çó×î´óµÄÊä³öÄÜÁ¦¡ª¡ªµ±È»£¬Ëæʱ¿ÉÒÔÇл»Ò²ÊÇÓдú¼ÛµÄ£¬ËüÀ­³¤ÁËÿ¸öÖ´ÐÐÏ̵߳Äƽ¾ùÖ´ÐÐʱ¼ä¡£Fine¡­Grained¡¡MultiThreadingÓÐʱҲ½ÐInterleaved¡¡MultiThreading½»´í¶àÏ̻߳òÕßPre¡­emptive¡¡MultiThreadingÇÀÏȶàÏ̡߳£¡¡¡¡¡¡ºÍCMT±ÈÆðÀ´£¬FMTÒª¸´ÔÓһЩ£¬Òò´ËÏàÓ¦µÄ´¦ÀíÆ÷¾ÍûÓÐÄÇô¶à£¬Àý£º¡¡¡¡¡¡2005ÄêSun¡¡UltraSPARC¡¡T1¡¸Niagara¡¹£¨8ºËÐÄ£¯32Ị̈߳©¡¡¡¡¡¡2007ÄêSun¡¡UltraSPARC¡¡T2¡¸Niagara¡¡2¡¹£¨8ºËÐÄ£¯64Ị̈߳©¡¡¡¡¡¡ÆäʵUltraSPARC¡¡T2ͬʱ»¹Ê¹ÓÃÁËÆäËûµÄMT¼¼Êõ£¬²ÅʵÏÖÁ˱ÈT1¶àÁËÒ»±¶µÄ¶àÏß³ÌÄÜÁ¦£¬×Ðϸ¿´¿´ÉÏͼ£¬T2»¹Ê¹ÓÃÁËʲôMT¼¼Êõ£¨×¢ÒâµÚÒ»¶ÎµÄCMTÊÇChip¡¡MultiThreadingµÄÒâ˼¶ø²»ÊÇCoarse¡­Grained¡¡M×îµäÐ͵ģºIntel¡¡Pentium¡¡4»òÕßCore¡¡i7ultiThreadingµÄÒâ˼£©£¿¡¡¡¡¡¡ËäÈ»CPUÉÏʹÓÃFMT¼¼ÊõµÄ²¢²»¡¡ÔçÔÚNV¡¡G40ÒÔ¼°ATI¡¡R520¿ªÊ¼£¬GPUÄÚ²¿¾Í¿ªÊ¼Ó¦ÓÃÁËFMTϸÁ£¶È¶àÏ̼߳¼Êõ£¬ÎªÁËÒþº¬Cache¡¡MissµÄ´æ´¢Æ÷¸ßÑÓ³Ù£¬GPUÄÚ²¿µÄÖ´Ðе¥Ôª²»Í£µØÔÚ¹¤×÷Ïß³ÌÖ®¼äÇл»£¬ÌáÉý×ܵĴ¦ÀíÄÜÁ¦¡£²»¹ý£¬G40µÄFMTʵÏÖÁ˾ßÌå¶àÉÙ¸öÏ̱߳ÊÕßµ¹²»ÊǺÜÇå³þ£¬¸ù¾Ý×ÊÁÏ¿´Ó¦¸ÃÔÚ100×óÓÒ¡£¡¡¡¡¡¡Ç°Ãæ˵¹ý£¬SMTÆäʵºÍÆäËûÁ½ÖÖ¶àÏ̼߳¼Êõ¶¼²»Í¬¡ª¡ªÄÇÁ½ÖÖ¼¼Êõ±»³Æ֮ΪTMTʱ¼ä¶àÏ̡߳£SMT¡ª¡ªSimultaneous¡¡MultiThreading¾ßÓжà¸öÖ´Ðе¥Ôª£¬¿ÉÒÔͬʱÔËÐжàÌõÖ¸ÁÒò´Ë²Å½Ð×ö¡°Í¬²½¶àÏ̡߳±£¡SMTÆðÏÈÔ´×Ô³ä·ÖÍÚ¾ò³¬±êÁ¿¼Ü¹¹´¦ÀíÆ÷µÄDZÁ¦¡ª¡ª³¬±êÁ¿µÄÒâ˼¾ÍÊÇ¿ÉÒÔͬʱִÐжà¸ö²»Í¬µÄÖ¸Áî¡£Òò´ËSMT¾ßÓÐ×î´óµÄÁé»îÐÔºÍ×ÊÔ´ÀûÓÃÂÊ£¬È»¶øʵÏÖÒ²×ÔÓ£¨µ±È»±ÈÆð¶àºË½á¹¹À´Ëµ¾ÍÊÇСÒâ˼ÁË£©¡£¡¡¡¡¡¡2002ÄêIntel¡¡Pentium¡¡4¡¡Xeon¡¸Prestonia¡¹£¨µ¥ºËÐÄ£¯Ë«Ị̈߳©¡¡¡¡¡¡2007ÄêSun¡¡UltraSPARC¡¡T2¡¸Niagara¡¡2¡¹£¨8ºËÐÄ£¯64Ị̈߳©¡¡¡¡¡¡2008ÄêIntel¡¡Core¡¡i7¡¸Nehalem¡¹£¨4ºËÐÄ£¯8Ị̈߳©¡¡¡¡¡¡ÕâÀïÓÖ¿´µ½ÁËUltraSPARC¡¡T2£¬ÕâÊÇÒòΪËüͬʱ²ÉÓÃÁËFMTºÍSMT¼¼Êõ£ºÒòΪUltraSPARC¡¡T2¾ßÓÐÁ½¸öÖ´Ðе¥Ôª£¬Ã¿Ò»¸öÏß³Ì×éʹÓÃÒ»¸ö£¬Ïß³Ì×éÄÚÔò°´ÕÕT1ÄÇÑùÖ´ÐÐ4¸öÏ̡߳£ÏÖ´úµÄGPUÒ²²ÉÓÃÁËÀàËƵĻìºÏÉè¼Æ£º¡¡¡¡¡¡²»Í¬µÄÁ÷´¦ÀíÆ÷¿ÉÒÔͬʱִÐв»Í¬µÄỊ̈߳¬µ±È»Í¬Ò»¸öÁ÷´¦ÀíÆ÷Ò²¿ÉÒÔÔÚ²»Í¬µÄÏß³ÌÖ®¼äÇл»¡£¡¡¡¡¡¡½éÉÜÁËËùÓеÄMT¶àÏ̼߳¼ÊõÖÖÀàÖ®ºó£¬ÎÒÃÇ¿ÉÒÔÀ´¿´IntelµÄHyperThreading³¬Ï̼߳¼ÊõÁË£¬Ç°Ãæ˵¹ý£¬Intel¾ßÓг¬Ï̼߳¼ÊõµÄCPUÓУºPentium¡¡4£¨NetBurst¼Ü¹¹£©¡¢Core¡¡i7£¨Nehalem¼Ü¹¹£©¡¢Itanium¡¡2£¨Mondecito£©¡¢Atom£¨Silverthorne£©¡£ÎÒÃÇÒѾ­ÖªµÀ¾ßÓг¬Ï̼߳¼ÊõµÄPentium¡¡4/Pentium¡¡4¡¡Xeon£¨²»ÊÇËùÓеÄP4¶¼Óг¬Ï̼߳¼Êõ£©²ÉÓõÄÊÇSMT¼Ü¹¹£¬Core¡¡i7µÄÔòÊÇÆä¸Ä½ø°æ±¾¡£ÎÒÃÇÔÙÀ´¿´¿´Itanium¡¡2£ºItanium¡¡2¡¡Montecito²ÉÓÃÁËË«ºËÐÄÉè¼Æ£¬Ã¿ºËÐÄÁ½¸öỊ̈߳»Itanium¡¡2¡¡MontecitoµÄ³¬Ï̼߳¼Êõ²ÉÓÃÁËCMT¼Ü¹¹£»¡¡¿É¼û£¬Itanium¡¡2µÄ³¬Ï̼߳¼ÊõºÍPentium¡¡4µÄSMT²»Í¬£¬Ëüʵ¼ÊÉÏÊÇCMT´ÖÁ£¶È¶àÏß³
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨1£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡