æ¬çš¿ã§ã¯ãåçš®ãã«ãã³ã¢ããã»ããµã玹ä»ãããããã®ããã€ã¹ãåºã䜿ãããããã«ãªã£ãçç±ãå«ãããã«ãã³ã¢ããã»ãã·ã³ã°ã®ããŸããŸãªåŽé¢ã«ã€ããŠè«ããŸãããŸãã1åã®ãããäžã«è€æ°ã®ã³ã¢ãæèŒããããšã«ãã£ãŠçããåé¡ã«çç®ããææ°ã®ãã«ãã³ã¢èªèåãããã¬ã䜿çšããããšã§ããããã®è€éãªã¿ã¹ã¯ã«ããã«å®¹æã«å¯Ÿå¿ã§ãããã瀺ããŸãã
ã·ã¹ãã æ§èœ
çµèŸŒã¿ã³ã³ãã¥ãŒãã£ã³ã°ã·ã¹ãã ã®æ§èœãåäžãããã«ã¯ãå·§åŠãªã³ã³ãã€ã©ã¢ã«ãŽãªãºã ã䜿çšããããå¹ççãªããŒããŠã§ã¢ãœãªã¥ãŒã·ã§ã³ãå®çŸãããªã©ãå€å²ã«ãããæ¹æ³ããããŸããäŸãã°ãã³ã³ãã€ã©ã®æé©åã¯ãèªã¿ãããçè§£ãããã髿°Žæºãªèšèªã§æžãããã³ãŒãããæãå¹ççãªåœä»€ã¹ã±ãžã¥ãŒãªã³ã°ãåŸãäžã§éåžžã«éèŠã§ãããŸããã·ã¹ãã ã¯ãããžã§ã¯ãã«ãããŠã䞊ååŠçã®å©ç¹ãçãããŠåæã«è€æ°ã®åŠçãè¡ãããšãã§ããŸãããã¡ãããã¯ããã¯åšæ³¢æ°ã®ã¹ã±ãŒãªã³ã°ããã³ã³ãã¥ãŒãã£ã³ã°ã·ã¹ãã ããæ§èœãããã«åŒãåºãããã®å¹æçãªæ¹æ³ãšãªãåŸãŸãã
æ®å¿µãªãããã¯ããã¯ã¹ããŒãã¯çæ¯çŽæ°çã«å¢å€§ããŠããããšããåæãéããæä»£ã§ã¯ãªããªã£ãŠããŸãããŸããä»ããããã³ãŒãã®æé©åã«ãã£ãŠã·ã¹ãã æ§èœãå€§å¹ ã«æ¹åããããšããŠãããããŸã§ã«å¹Ÿäžä»£ã«ããããã³ã³ãã€ã©æè¡ã®æ¹åãå¿ èŠãšãªããŸãããã®çµæãåŒãç¶ãã·ã¹ãã æ§èœã®ã¹ã±ãŒãªã³ã°ãå®çŸããæ¹æ³ãšããŠã䞊ååŠçãæ³šç®ãããããã«ãªããŸããã
䞊ååŠç
äºæžãæããšããäœæ¥ã¯äžŠååãå°é£ã§ãã穎ã®äžã§åãæããšããäœæ¥ã¯åºæ¬çã«1人ã§è¡ããªããã°ãªããŸãããä»ã®äœæ¥è ã¯ãæãè¿ããåãã·ã£ãã«ã§åãé€ãçšåºŠã®äœæ¥ããã§ããŸãããã§ãããã穎ã®äžã®äººæ°ãå¢ãããŠãäœæ¥ãæ©ãçµããããã§ã¯ãããŸãããããã©ããããä»ã®äººã¯ããã£ãŠéªéã«ãªããäœæ¥ãé ãããçµæãšãªã£ãŠããŸããŸãããã®ããã«äžŠååãåããªãã¿ã¹ã¯ã¯ãããŸãã
äžæ¹ã䞊ååã容æãªã¿ã¹ã¯ããããŸããäŸãã°ãæ°Žè·¯ã®æåãªã©ã¯äžŠååã«é©ããäœæ¥ã§ãããã®å Žåã¯è€æ°ã®äœæ¥è ã䞊ãã§äœæ¥ãé²ããããšãã§ããŸãã
äžã®çµµã¯ãMIMD(Multiple Instruction Multiple Data:è€æ°åœä»€ è€æ°ããŒã¿)ãšåŒã°ãã䞊ååã®åœ¢æ ã瀺ããŠããŸããããããã®äœæ¥è ã¯ç¬ç«ãããŠãããã§ãç°ãªãäœæ¥ãè¡ãããšãã§ããŸãããã®å Žåã¯ã4人ã®äœæ¥è ãããã°ã1人ã®å Žåã®çŽ1/4ã®æéã§äœæ¥ãå®äºãããšèããããŸãã
SIMD(Single Instruction Multiple Data:åäžåœä»€è€æ°ããŒã¿)ã¯ã1人ã®äœæ¥è ãäžã®ãããªã·ã£ãã«ã䜿ãå Žåã«äŸããããšãã§ããŸãã
SIMDãŠãããã¯äžåºŠã«1çš®é¡ã®èšç®ããè¡ããŸããããè€æ°ã®ããŒã¿ã䞊åã§åŠçããããšãã§ããŸãããã®ã¿ã€ãã®åœä»€ã¯ãå€ãã®ããã»ããµã®ãã¯ã¿åŠçãŠãããã§åºã䜿ãããŠããŸããããã¯ãäŸãã°ç»ååŠçã®ããã«äœ¿çšããããŒã¿ã®èŠåæ§ãé«ãã倧éã®ããŒã¿ã»ããã«å¯ŸããŠåãåŠçãç¹°ãè¿ãè¡ãå¿ èŠãããå Žåã«æå¹ã§ããããããããäžè¬çãªã³ã³ãã¥ãŒãã£ã³ã°ã¿ã¹ã¯ã«ãããŠã¯ãã®ã¢ãã«ã¯æè»æ§ã«æ¬ ããæ§èœåäžã¯æããŸããã
ãã®ãããªçç±ãããè€æ°ã®ãã«CPUãµãã·ã¹ãã ã1ã€ã®ãããäžã«çœ®ããã€ãŸããã«ãã³ã¢ããã»ããµãäœããšããéžæè¢ãéžã¶ããšã«ãªããŸããã1ã€ã®ãããäžã«è€æ°ã®ã³ã¢ã眮ãã°æ§èœãåäžãããããšãã§ããŸããããããã®ã³ã¢ã¯å®å šãªCPUã§ãããåå¥ã«åäœãããããšãä»ã®ã³ã¢ãšé£æºãããããšãã§ããŸãã
ãã«ãã³ã¢åŠçã®ã¿ã€ã
ããã»ããµãããäžã«ã¯ç°ãªãã¿ã€ãã®ã³ã¢ãããŸããŸãªçµã¿åããã§é 眮ã§ããä»ããããã®ã³ã¢ã«ããŸããŸãªåœ¢ã§åŠçãå²ãåœãŠãããšãã§ããŸãã
ãã¢ãžãã¢ã¹ãã«ãã³ã¢ããã»ããµã¯ãåãããã»ããµã³ã¢ã2å以äžåããŠããŸããããããã®ã³ã¢ã¯èªåŸçã«åäœããå ±æã¡ã¢ãªã·ã¹ãã ãã¡ãŒã«ããã¯ã¹ã·ã¹ãã ãªã©åçš®ã¡ã«ããºã ãéããŠä»ã®ã³ã¢ãšéä¿¡ãããåæãããããããšãã§ããŸããåããã»ããµã¯åºæã®ã¬ãžã¹ã¿ãšæ©èœãŠããããåããŠãããããã«ããŒã«ã«ã¡ã¢ãªããã£ãã·ã¥ãåããŠãããã®ããããŸãããã®ã³ã¢ããã¢ãžãã¢ã¹(åçš®)ãšåŒã°ããã®ã¯ã以äžã«è¿°ã¹ãã³ã¢ããã¹ãŠåãã¿ã€ãã®ãã®ã ããã§ãã
ãã1ã€ã®ã¿ã€ãã®ãã«ãã³ã¢ãããã¯ããããžãã¢ã¹(ç°çš®)ãã«ãã³ã¢ãšåŒã°ãããã®ã§ã2å以äžã®ç°ãªãã¿ã€ãã®CPUã³ã¢ãæèŒããŠããŸããéåžžãæèŒãããããããã®ã³ã¢ã¯ãŸã£ããç°ãªãç¹æ§ãåããŠãããããŸããŸãªã·ã¹ãã åŠçããŒãºã«äœ¿çšã§ããŸãããã®äžäŸãBluetoothéä¿¡ãããã§ã1åã®ã³ã¢ãBluetoothãããã³ã«ã¹ã¿ãã¯ã®ç®¡çå°çšã«äœ¿ããããã1åã®ã³ã¢ãå€éšéä¿¡ãã¢ããªã±ãŒã·ã§ã³åŠçããã¥ãŒãã³ã€ã³ã¿ãã§ãŒã¹ãªã©ã®ç®¡çãè¡ããŸãããã®çš®ã®ãã«ãã³ã¢ãããã¯ããªã¢ã«ã¿ã€ã ã«ç¹åããæ§èœãåããã³ã¢ãšãã·ã¹ãã ç®¡çæ©èœãæã€ã³ã¢ã®äž¡æ¹ãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã«äœ¿çšã§ããŸãã
ããã§ã¯ããããã®ã³ã¢ãã©ã®ããã«äœ¿ãããã®ããèŠãŠã¿ãŸããããè€æ°ã®ã³ã¢ãåããããžã§ã¯ãã³ãŒãããŒã¹ãå®è¡ããå Žåã¯ã察称åãã«ãããã»ãã·ã³ã°(SMP)ãšåŒã°ããŸããç°ãªãã³ã¢ãã³ãŒãã®ç°ãªãéšåãåæã«å®è¡ã§ããŸããããã®ã³ãŒãã¯åäžãããžã§ã¯ããšããŠäœæããããªã¢ã«ã¿ã€ã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã (RTOS)ã®ãããªäœããã®å¶åŸ¡ããã°ã©ã ã«ãã£ãŠããããã®ã³ã¢ã«å¥ã ã«ãã£ã¹ããããããŸããå¿ ç¶çã«ããã®ããã«åäœããã³ã¢ã¯åãã¿ã€ãã®ãã®ã§ãªããã°ãªããŸããããã¹ãŠã®ã³ã¢ããåäžã¿ã€ãã®ããã»ããµçšã«ã³ã³ãã€ã«ãããåäžã®ãããžã§ã¯ãã³ãŒãã䜿çšããããã§ãã
è€æ°ã®ã³ã¢ãŸãã¯ããã»ããµãããããå¥ã®ãããžã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãå®è¡ããå Žåã¯ãé察称åãã«ãããã»ãã·ã³ã°(AMP)ãšåŒã°ããŸããåã³ã¢ã¯å¿ èŠã«å¿ããŠåæãéä¿¡ãå¯èœã§ããããããããç°ãªãã³ãŒãããŒã¹ãå®è¡ããŸããè€æ°ã®ã³ã¢ã¯ããããã®ãããžã§ã¯ããå®è¡ããã®ã§ãç°ãªãã¿ã€ãã®ã³ã¢(ããããžãã¢ã¹ã³ã¢)ã䜿ãããšãã§ããŸããããããããã¯å¿ é æ¡ä»¶ã§ã¯ãããŸããã2å以äžã®åãã¿ã€ãã®ã³ã¢ãç°ãªããããžã§ã¯ãã³ãŒããå®è¡ããå Žåãããã¯AMPãå®è¡ãããã¢ãžãã¢ã¹ã³ã¢ã«ãªããŸãã
SMPåäœã®å Žåã«ã¯ããã¹ãŠã®ã³ã¢ãåäžãããžã§ã¯ãã³ãŒãããŒã¹ã®ã³ãŒããå®è¡ããã®ã§ãè€æ°ã®ãã¢ãžãã¢ã¹ã³ã¢ãå¿ èŠã§ããããããç°ãªãã³ã¢ãç°ãªãã³ãŒãããŒã¹ãå®è¡ãããããªè€æ°ã®ãããžã§ã¯ãã®å Žåã«ã¯ãããããžãã¢ã¹ã·ã¹ãã ãšåæ§ã«ç°ãªãã³ã¢ã䜿ãããšãã§ããŸãããã ããåãã³ã¢ã䜿ã£ãŠãå®è¡ã¯å¯èœã§ãã
ãã«ãã³ã¢ã䜿ãçç±
é廿°å¹Žéã®ç¶æ³ãããããšã1960幎代åã°ã«å±ããããã ãŒã¢ã®æ³åããéçãè¿ãã€ã€ãããŸããå°ãªããšããã®å¢ãã¯éã£ãŠããŸãããã¯ãããã»ããµã®ã¯ããã¯ã¬ãŒãã2ïœ3幎ããšã«åå¢ããããšã¯ãªããªã£ãŠãããå®éã«æãé«éã®CPUãããã®ã¬ãŒãã¯é·å¹Žã«ãããæ°GHz(1æ¡å°åå)ã®ç¯å²ã§é æã¡ã®ç¶æ ã«ãªã£ãŠããŸãã
åŒãç¶ãæ§èœåäžã®éçã«æãæ¹æ³ã®1ã€ã¯ãå¹ççã«äœ¿çšã§ãããªãã°ããšããæ¡ä»¶ä»ãã§ãããããã«å€ãã®CPUã³ã¢ã飿ºãããããšã§ãã
ã¹ããŒãã¯æšªéãç¶æ ã§ããããã©ã³ãžã¹ã¿ã®ãµã€ãºã¯çž®å°ãç¶ããŠããŸãããããŸã§ããé床ã¯äœäžããŸãããå°åã®ãã©ã³ãžã¹ã¿ã䜿ãã°ã1ã€ã®ãããäžã«ããå€ãã®ããžãã¯ãçµã¿èŸŒãããšãå¯èœã«ãªããŸããçµæãšããŠããããã®ãã©ã³ãžã¹ã¿ã䜿ã£ãŠè€æ°ã®CPUã³ã¢ã1ã€ã®ãããã«çµã¿èŸŒãã°ãè€æ°ã®CPUãšã¡ã¢ãªãµãã·ã¹ãã ã®éã§ãåŸæ¥ãããã¯ããã«é«éã§åºããã¹æ¥ç¶ã䜿çšã§ããŸãã
ãã¢ãžãã¢ã¹ã³ã¢ã«ããé察称åãã«ãããã»ãã·ã³ã°ã¯ãã¢ããªã±ãŒã·ã§ã³ããç¹æ§ãæ¡ä»¶ã®å€§ããç°ãªã2ã€ä»¥äžã®ã¯ãŒã¯ããŒããæ±ããŠãããããªå Žåã«éåžžã«æå¹ã§ããäŸãšããŠãäžæ¹ããªã¢ã«ã¿ã€ã ã§å²èŸŒã¿é å»¶ã®åœ±é¿ã倧ãããããäžæ¹ãå¿çæéãããã¹ã«ãŒãããã«å€§ãã圱é¿ããããšãã£ãå ŽåãèããããŸãããã®ã¢ãã«ã¯éåžžã«è¯å¥œã«æ©èœããŸããäŸãã°ãããããã€ã¹ã«ãããŠã1åã®ã³ã¢ãBluetoothãZigbeeã®ãããªéä¿¡ãããã³ã«ã¹ã¿ãã¯ã®ç®¡çå°çšã«ããŠããã1åããã¥ãŒãã³ã€ã³ã¿ã©ã¯ã·ã§ã³ãšã·ã¹ãã å šäœã®ç®¡çãè¡ãã¢ããªã±ãŒã·ã§ã³ããã»ããµãšããŠåäœããããããªå ŽåããããŸããéä¿¡ããã»ããµãåé¢ããããšã§ããããã³ã«ã¹ã¿ãã¯ã«å¿ èŠãªåªãããªã¢ã«ã¿ã€ã å¿çãæäŸããããšãã§ããŸããå ããŠãéä¿¡ãœãããŠã§ã¢èŠæ Œãžã®é©åãæ€èšŒã§ããã®ã§ãæ©èœç倿Žãã·ã¹ãã ã®ãã®éšåããåé¢ããããšã«ãã£ãŠã補åå šäœã®èªèšŒã容æã«ãªããŸãã
ãã«ãã³ã¢äœ¿çšæã®èª²é¡
1ã€ã®ãããã«è€æ°ã®ã³ã¢ãçµã¿èŸŒãã å Žåãã©ã®ãããªåé¡ãããã®ã§ããããïŒã詳ããèŠãŠã¿ãŸãããã
ã¢ããªã·ãã¯ã®ã¢ããªã±ãŒã·ã§ã³ããœãããŠã§ã¢ã¯ãå©çšå¯èœãªã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãå¹ççã«äœ¿çšã§ããªããªãå¯èœæ§ããããŸããè€æ°ã³ã¢ã®ãªãœãŒã¹ã䜿çšããã«ã¯ãåæã«å®è¡å¯èœãªäžŠåã¿ã¹ã¯çšã«ã¢ããªã±ãŒã·ã§ã³ãæ§æããå¿ èŠããããŸãããã®ããããœãããŠã§ã¢ãšã³ãžãã¢ã¯ã銎æã¿ã®ãªãæ¹æ³ã§çµèŸŒã¿èšèšãèããå¿ èŠãåºãŠãããããããŸãããæ¢åã®ã·ã³ã°ã«ã«ãŒãã³ãŒããç§»æ€ããããšã¯ãæããããã»ã©å®¹æã§ã¯ãããŸãããã¹ã¬ãããå°ãªéããããéã«å€éãããããããšãæ§èœäžã®é害ãšãªãããšããããŸãã
è€æ°ã®ã¹ã¬ãããããã»ã¹éã§ããŒã¿æ§é ãI/Oããã€ã¹ãå ±æããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã·ãªã¢ã«ããã«ããã¯ãçããå¯èœæ§ããããŸããããŒã¿å®å šæ§ãç¶æããã«ã¯ãå€ãã®å Žåãèªåºãããã¯ãèªåºã-æžèŸŒã¿ããã¯ãæžèŸŒã¿ããã¯ãã¹ãã³ããã¯ããã¥ãŒããã¯ã¹ãªã©ã®ãããã³ã°ã¡ã«ããºã ã䜿çšããããšã«ãã£ãŠããããã®å ±æãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãã·ãªã¢ã«åããå¿ èŠããããŸããããã¯ã®èšèšãéå¹ççãªå Žåãå ±æãªãœãŒã¹ã䜿çšããããã«ããã¯ãç²åŸããããšããè€æ°ã®ã¹ã¬ãããããã»ã¹éã§ç«¶äºçãé«ããªããããã«ããã¯ãçããå¯èœæ§ããããŸããããã¯ãã¢ããªã±ãŒã·ã§ã³ããœãããŠã§ã¢ã®æ§èœãäœäžãããæãããããŸããããã³ã¢ãã¹ããŒã«ããŠå¥ã®ã³ã¢ãå ±éããã¯ãåŸ ã£ãŠããå Žåãªã©ã¯ã2åã®ã³ã¢ãåäœããŠããã«ãæãããããã®æ§èœã¯1åã®ã³ã¢ã®å Žåããå£ããšããäºæ ãæããã³ã¢ãããã»ããµã®æ°ãå¢ããã«ãããã£ãŠã¢ããªã±ãŒã·ã§ã³ã®æ§èœãããã«äœäžããããšããããŸãã
è² è·åæ ãäžåçãªå Žåã«ããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãå¹ççã«äœ¿çšã§ããªããªããŸãã倧ããªã¿ã¹ã¯ã¯ã䞊åã§å®è¡ã§ããå°ããã¿ã¹ã¯ã«åå²ããå¿ èŠããããŸãããŸããæ§èœãšã¹ã±ãŒã©ããªãã£ãåäžãããããã«ãã·ãªã¢ã«ã¢ã«ãŽãªãºã ããã©ã¬ã«ã¢ã«ãŽãªãºã ã«å€æŽããªããã°ãªããªãããšããããŸãããããããã®ãããªå¯Ÿçãè¬ããŠããããã¿ã¹ã¯ã®å®è¡ãéåžžã«é«éã§ããäžæ¹ãä»ã®ã¿ã¹ã¯ã®å®è¡ã«ããªãã®æéãèŠããã®ã§ããã°ãé«éã¿ã¹ã¯ã¯ãäœéã¿ã¹ã¯ãå®äºãããŸã§é·æéåŸ æ©ããããšã«ãªããŸããããã¯è²Žéãªã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãã¢ã€ãã«ç¶æ ã«ããŠãæ§èœã®ã¹ã±ãŒãªã³ã°èœåãäœäžãããçµæãšãªããŸãã
RTOSã¯åé¡è§£æ±ºã®å©ããšãªããããããŸãããããã¹ãŠã®åé¡ã解決ã§ããããã§ã¯ãããŸãããSMPã·ã¹ãã ã®å Žåã倿°ã®åãã³ã¢ã®ã¿ã¹ã¯ã¹ã±ãžã¥ãŒãªã³ã°ãè¡ãã«ã¯ãå®è³ªçã«RTOSãå¿ é æ¡ä»¶ãšãªããŸããè¡ãäœæ¥ã¯ãããŒã¿ããšããããã¯æ©èœããšã«åå²ã§ããŸããäœæ¥ãããŒã¿ãã£ã³ã¯ããšã«åå²ããå Žåãåã¹ã¬ããã¯ãåŠçãæ§æãã1ã€ã®ãã€ãã©ã€ã³å ã®ãã¹ãŠã®ã¹ããããå®è¡ããŸããããã«å¯Ÿããããæ©èœã®1ã€ã®ã¹ãããã1ã€ã®ã¹ã¬ããã«å®è¡ãããå¥ã®ã¹ã¬ããã«ã¯å¥ã®ã¹ããããå®è¡ããããšããæ¹æ³ãå¯èœã§ããã©ã¡ããå¹ççãã¯ãå®è¡ããäœæ¥ã®ç¹æ§ã«ãã£ãŠç°ãªããŸãã
ãã«ãã³ã¢ç°å¢ã§ã®ãããã°
ãã«ãã³ã¢ã·ã¹ãã ããããã°ããéã«æã圹ç«ã€ã®ã¯ããã¹ãŠã®ã³ã¢ãå¯èŠåããããšã§ããè€æ°ã®ã³ã¢ãåæã«ããããã¯åå¥ã«éå§ããã忢ãããã§ããã®ãçæ³ã§ããã€ãŸããä»ã®ã³ã¢ã®å®è¡äžãŸãã¯åæ¢äžã«ã1ã€ã®ã³ã¢ãã·ã³ã°ã«ã¹ãããã§å®è¡ã§ãããšããããšã§ãããã«ãã³ã¢ãã¬ãŒã¯ãã€ã³ãã¯ãããã³ã¢ã®ç¶æ ã«åºã¥ãä»ã®ã³ã¢ã®åäœãå¶åŸ¡ããéã«ã極ããŠæå¹ãªææ®µãšãªãåŸãŸãã
ãã«ãã³ã¢ãã¬ãŒã¹ãè¡ãã®ã¯å®¹æã§ã¯ãããŸãããè€æ°ã®ã³ã¢ããåŸãããé«åž¯åå¹ ã®ãã¬ãŒã¹æ å ±ã管çããããçš®é¡ã®ç°ãªãã³ã¢ããåŸãããã¿ã€ãã®ç°ãªãå¯èœæ§ã®ãããã¬ãŒã¹ããŒã¿ãæ±ãããšã¯ãéåžžã«å°é£ãªäœæ¥ã§ãã
ããããžãã¢ã¹ãã«ãã³ã¢ãšãã¢ãžãã¢ã¹ãã«ãã³ã¢ã®äž¡æ¹ãå®è£ ãããããã»ããµã®äŸãäžã«ç€ºããŸããããã«ã¯2ã€ã®ãã¢ãžãã¢ã¹ã³ã¢ã®ã°ã«ãŒããããã1ã€ã¯2åã®Arm Cortec-A57ãããŒã¹ã§ããã1ã€ã¯4åã®Coretex-A53ãããŒã¹ã§ããããããã®ã°ã«ãŒãã¯ãã¢ãžãã¢ã¹ã§ããã2ã€ã®ã°ã«ãŒãã¯äºãã«ããããžãã¢ã¹ã®é¢ä¿ã«ãããŸãã
CoreSightãããã°ã¢ãŒããã¯ãã£ã¯ããã¹ãŠã®ã³ã¢äžã®ãããã°ãªãœãŒã¹ãšéä¿¡ããããã®ãããã³ã«ãšã¡ã«ããºã ãåããŠããŸãããããŠãããããã¹ãŠã®æ å ±ã®ç®¡çãšãç°ãªãã³ã¢ããã®ã¡ãã»ãŒãžã®è§£æããããã¬ã®åœ¹å²ã«ãªããŸããã¯ãã¹ããªã¬ã€ã³ã¿ãã§ãŒã¹(CTI)ãšã¯ãã¹ããªã¬ãããªãã¯ã¹(CTM)ã«ãããäž¡æ¹ã®ã³ã¢ãåæã«äžæåæ¢ããããã¬ãŒã¹ãããªã¬ããããããŸããŸãªæäœãå¯èœã§ãããã®ãã¬ãŒã¹ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã¯ããã¬ãŒã¹ãããŒãã¹ã ãŒãºã«ããããã«äœ¿çšããã·ãªã¢ã«ãã¬ãŒã¹ããŒã(SWD)ãšãã©ã¬ã«ãã¬ãŒã¹ããŒã(TPIU)ãããã³åãœãŒã¹ããã®ãã¬ãŒã¹ã1ã€ã®ãããŒã«ãŸãšãããã¬ãŒã¹ãã¡ãã«ãå«ãŸããŠããŸããäžå³ã®ãããã¯ããã¥ã¢ã«ã³ã¢ããã€ã¹ãšæ¯èŒãããšãã¯ããã«è€éã§å¶åŸ¡ãé£ããããšãåãããŸãã
IAR Embedded Workbenchã®C-SPYãããã¬ã¯ã察称åãã«ãã³ã¢ãããã°ãšé察称åãã«ãã³ã¢ãããã°ã®äž¡æ¹ããµããŒãããŠããŸããããã¯ããã«ãã³ã¢ã¿ãã®ãããã¬ãªãã·ã§ã³ã䜿ã£ãŠã€ããŒãã«ããŸãã察称åãã«ãã³ã¢ãããã°ãã€ããŒãã«ããã®ã«å¿ èŠãªæäœã¯ãã³ã¢æ°ããããã¬ã«å ¥åããŠãéä¿¡ãè¡ãããã»ããµã®æ°ãç¥ãããããšã ãã§ããä»ã®IDEã§ãåæ§ã®ãªãã·ã§ã³ã䜿çšã§ããã§ãããã
äžå³ã®å³åŽã«ããã®ããããã¬ã®ãã¥ãŒã§ããå³ã§ã¯4ã³ã¢ã§æ§æãããCortex-A9 SMPã¯ã©ã¹ã¿ã®ã³ã¢ã¹ããŒã¿ã¹ã衚瀺ãããŠãããããã«ãããšNo.2ã¯åæ¢ããŠããŸãããä»ã®3åã®ã³ã¢ã¯å®è¡äžã§ãã
Coretex-M7ã³ã¢ãšCoretex-M4ã³ã¢ã1åãã€äœ¿çšããSTã®STM32H745/755ã®ããã«ãé察称åãã«ãã³ã¢ã·ã¹ãã ã«ã¯ããããžãã¢ã¹ãã«ãã³ã¢ããã€ã¹ã䜿ãããŸãããã®å Žåããããã¬ã®å®è¡æã«ã¯IDEã®2ã€ã®ã€ã³ã¹ã¿ã³ã¹ã䜿ãããŸã(ãã¹ã¿ãšããŒãã)ã2åã®ã³ã¢ãç°ãªããããžã§ã¯ãã³ãŒããå®è¡ããã®ã§ã1ã³ã¢ã«ã€ã1ã€ã³ã¹ã¿ã³ã¹ã䜿ãããŸãã
IDEã®åã€ã³ã¹ã¿ã³ã¹ã«ã¯ãçŸåšå¶åŸ¡äžã®ã³ã¢ãšä»ã®ãŠã£ã³ããŠã§å¶åŸ¡ãããã³ã¢ã«é¢ããã¹ããŒã¿ã¹æ å ±ããããŸãããããã¬ã®åäœã¯ãªãã·ã§ã³ãéžæããããšã«ãã£ãŠå¶åŸ¡ã§ããã®ã§ãéçºè ã¯å¿ èŠã«å¿ããŠããã¹ãŠã®ã³ã¢ãåæã«ããããã¯åã ã®ã³ã¢ãåå¥ã«éå§ãããã¯åæ¢ããããšãã§ããŸãã
ãã®ãããªçްãããªå¶åŸ¡ãå¯èœã«ããŠããã®ããã¯ãã¹ããªã¬ã€ã³ã¿ãã§ãŒã¹(CTI)ãšã¯ãã¹ããªã¬ãããªãã¯ã¹(CTM)ã§æ§æãããArmã®çµèŸŒã¿ã¯ãã¹ããªã¬æ©èœã§ããCTIã³ã³ããŒãã³ãã¯3ã€ããã1ã€ã¯ã·ã¹ãã ã¬ãã«çšã1ã€ã¯Cortex-M7å°çšãæ®ãã®1ã€ã¯Cortex-M4å°çšã§ããäžå³ã«ç€ºãããã«ãããã3ã€ã®CTIã¯CTMãä»ããŠçžäºã«æ¥ç¶ãããŠããŸããã·ã¹ãã ã¬ãã«ã®CTIãšCortex-M4çšã®CTIã¯ãã·ã¹ãã ã¢ã¯ã»ã¹ããŒããšããŒãã«å¯Ÿå¿ããAPB-Dãä»ããŠãããã¬ã«ã¢ã¯ã»ã¹ã§ããŸããCortex-M7çšã®CTIã¯Cortex-M7ã³ã¢ã«ç©ççã«çµã¿èŸŒãŸããŠãããCortex-M7ã®ã¢ã¯ã»ã¹ããŒããä»ããŠãããã¬ã«ã¢ã¯ã»ã¹ã§ããŸãã
-

ãã®å³ã¯STMicroelectronicsã®åæã«ããM0399ã®ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ããåŒçš
CTIã䜿çšãããšãããŸããŸãªãœãŒã¹ããã®ã€ãã³ãã䜿ã£ãŠãããã°ããã¬ãŒã¹ãããªã¬ã§ããŸããäŸãã°ãè€æ°ã®ããã»ããµã³ã¢ã®ãã¡ã®1ã€ã§æ€åºããããã¬ãŒã¯ãã€ã³ãã«ãã£ãŠå¥ã®ããã»ããµã忢ããããå€éšããªã¬å ¥åã§æ€åºãããé·ç§»ãã³ãŒããã¬ãŒã¹éå§çšãšããŠèšå®ããããšãã§ããŸãã
ãã®äŸã¯ã1ã€ã®ãããäžã«Cortex-M7ã³ã¢ãšCoretex-M4ã³ã¢ã1åãã€æèŒããããããžãã¢ã¹ãã«ãã³ã¢ããã»ããµã§ãããããã§ã¯2ã€ã®ç°ãªãããã°ã©ã ã䜿ããã1ã€ã¯Cortex-M4äžã§ããã1ã€ã¯Cortex-M7äžã§å®è¡ãããŸããåãããžã§ã¯ãã¯ãããã»ããµäžã§å®è¡ããããããã®ãœãããŠã§ã¢ãFreeRTOSã«ãã£ãŠç®¡çãã2åã®ã³ã¢ã¯å ±æã¡ã¢ãªã€ã³ã¿ãã§ãŒã¹ãéããŠéä¿¡ãè¡ããŸãããããããããã®ã¢ããªã±ãŒã·ã§ã³ã¯ããšãã«FreeRTOSã®ã¡ãã»ãŒãžããã·ã³ã°ã¡ã«ããºã ã䜿ã£ãŠããäžæ¹ã®ããã»ããµãšéä¿¡ãè¡ãã®ã§ãå åšããã¡ã«ããºã ã®è€éãã衚ã«åºãŠããããšã¯ãããŸããããããã£ãŠã1ã€ã®CPUããèŠãå Žåãä»ã®ã¿ã¹ã¯ãšã®éã§ã¡ãã»ãŒãžã®éåä¿¡ãè¡ã£ãŠããã«éããŸãããä»ã®ã¿ã¹ã¯ãå¥ã®CPUã³ã¢äžã§å®è¡ãããããšã«ãªã£ãŠããããã¯ééçã«è¡ãããŸãã
äžã®å³ã¯ãIDEã®ã¯ãŒã¯ã¹ããŒã¹ãšã¯ã¹ãããŒã©ãŠã£ã³ããŠã§ããããã«ã¯2ã€ã®ãããžã§ã¯ãã®æŠèŠã瀺ãããŠããã®ã§ãCortex-M7ãããžã§ã¯ããšCortex-M4ãããžã§ã¯ãäž¡æ¹ã®å 容ã確èªã§ããŸãã
ãŠã£ã³ããŠäžæ¹ã«ããã¿ãã®å ãçŸåšéžæãããŠããªãã¿ããéžæããã°ãM4ãããžã§ã¯ããŸãã¯M7ãããžã§ã¯ãã®ã©ã¡ããã«ãã©ãŒã«ã¹ãåãæ¿ããããšãã§ããŸãã
Cortex-M7ãããžã§ã¯ãã«ã¯ãCortex-M4ã§å®è¡äžã®ã¿ã¹ã¯ã«ã¡ãã»ãŒãžãéãã¿ã¹ã¯ããããŸããCortex-M4ã«ã¯ãå®è¡äžã®åä¿¡ã¿ã¹ã¯ã®ã€ã³ã¹ã¿ã³ã¹ã2ã€ãããŸãããŸããCortex-M7ã«ã¯ãçš®ã ã®åŠçãæ£ããå®è¡ãããŠãããã©ããã確èªããããã«åšæçã«å®è¡ãããããã§ãã¯ãã¿ã¹ã¯ããããŸãã
æçµçã«ããããã¬ã¯äž¡æ¹ã®ãããžã§ã¯ããããŒãããŸããããã¯ããã1ã€ã®ãããã¬çšã«Embedded Workbenchã®æ°ããªã€ã³ã¹ã¿ã³ã¹ãéå§ãããããšãæå³ããŸãã
é察称åãã«ãããã»ãã·ã³ã°ãè¡ããããã«ãããã¬ãã»ããã¢ããããã«ã¯ãäžæ¹ãããã¹ã¿ããããžã§ã¯ããšããŠãããäžæ¹ããããŒããããããžã§ã¯ããšããŠæå®ããå¿ èŠããããŸããå®éã«ã¯ãã®éžæã¯ä»»æã§ãèµ·åæã«ã©ã¡ãã®ãããžã§ã¯ãã仿¹ã®ãããžã§ã¯ããéå§ã§ããããã«ããããæ±ºããã ãã§ãã
ãããŒããããããžã§ã¯ãã«ç¹å¥ãªèšå®ã¯ãªãã仿¹ã®ãããžã§ã¯ãã®ãããŒããããšããŠåäœããŠãããã©ãããèªèããŠããŸããã
ãã®ããã«ããŠããã¹ã¿ããããžã§ã¯ãããã®ãããã¬ãèµ·åãããšãIDEã®å¥ã®ã€ã³ã¹ã¿ã³ã¹ãèªåçã«éå§ããããã1ã€ã®ãããã¬ã»ãã·ã§ã³ãæäŸãããã®äžã§2ã€ãã®ãããžã§ã¯ããå®è¡ãããŸãã
ãŸãšã
ãã«ãã³ã¢ã¯ãã ãŒã¢ã®æ³åãéçã«éããå Žåã§ãæ§èœã®åäžãå¯èœã«ããŸãããã ãããã«ãã³ã¢ã«ã¯ãããã°äžã®èª²é¡ããããã¢ããªã±ãŒã·ã§ã³ããã«ãã³ã¢ã¢ãŒããã¯ãã£ã®å©ç¹ãæå€§éã«çãããããã«ããã«ã¯ããã«ãã³ã¢ç¹æã®éçºæ¹æ³ãå¿ èŠã«ãªããŸãã
äžæŠãããã°ã®ã»ããã¢ãããå®äºããã°ããã«ãã³ã¢ãããã°ã¯ããããŸã§ã«ãªãã»ã©ç°¡åãªãã®ãšãªããŸããéå»ã«ã·ã³ã°ã«ã³ã¢çšã®ããŒã«ã䜿ã£ãããšãããã°ããã®ããŒã«ã«ã¯å¿ èŠãªãã¹ãŠã®ãã®ãå«ãŸããŠããããšãåããã§ãããããŸãããã«ãã³ã¢ãããã°ãããã«é£ããããšããããšã話ããŠãã人ãã¡ã®ããšããçè§£ãé£ããšæããããã«ãªãã§ãããã
ææ°ã®ããŒããŠã§ã¢ããŒã«ãšãœãããŠã§ã¢ããŒã«ãããã«ãã³ã¢ãããã°ã®åé¡è§£æ±ºã«åœ¹ç«ã€ããšã¯ç¢ºãã§ãã
èè ãããã£ãŒã«
Aaron BauchIAR Systems
ã·ãã¢ãã£ãŒã«ãã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã§ãçŸåšç±³åœæ±éšããã³ã«ãããæ åœ
ãããŸã§ãIntelãAnalog DevicesãDECãšãã£ãäŒæ¥åãã«çµèŸŒã¿ã·ã¹ãã ãšãœãããŠã§ã¢ãæ åœãå»çæ©åšãããã²ãŒã·ã§ã³ã·ã¹ãã ããã³ãã³ã°ã·ã¹ãã ãªã©ãåºç¯ãªã¢ããªã±ãŒã·ã§ã³ãææããŠããããŸãããµã¶ã³ãã¥ãŒãã³ãã·ã£ãŒå€§åŠã®ææãšããŠãçµèŸŒã¿ã·ã¹ãã ãã¶ã€ã³ãæãããªã©ã倧åŠã¬ãã«ã®å€ãã®ã³ãŒã¹ã®è¬åž«ãåããŠããããã¥ãŒãšãŒã¯åžã®ã¯ãŒããŒãŠããªã³å€§åŠã§é»æ°å·¥åŠã®åŠå£«å·ããã³ãã³ãã¢å€§åŠã§é»æ°å·¥åŠã®ä¿®å£«å·ãååŸããŠããã
åè
ã»Ensuring software timing behavior in critical multicore-based embedded systems
ã»Multicore systems, hypervisors, and multicore frameworks
ã»High-performance embedded computing â Parallelism and compiler optimization
ã»You think your software works? Prove it!
ã»Software tracing in field-deployed devices
ã»Compilers in the alien world of functional safety









