iPhone 5Sãçºè¡šããããããªãããã¯ãã«ã«ã¡ãã£ã¢ã¯äžæ£ãªèšäºã§äžæ¯ã«ãªããŸããã æ®å¿µãªãããè¯ãèšäºãæžãã«ã¯æéãããããæè¡ãžã£ãŒããªãºã ã®äŸ¡å€èŠ³ã®äžçã¯ä¿¡é Œæ§ãããã¹ããŒããéãã ä»æ¥ãèªè ã®äœäººãã®èŠæã«å¿ããŠãããã©ãŒãã³ã¹ãæ©èœãéçºã®èŠ³ç¹ãããiPhone 5Sã§64ãããARMãæäŸãããã®ã«ã€ããŠç°¡åã«èª¬æããŸãã
64ããã
æåã«ãå®éã«ã¯64ãããã®æå³ãèŠãŠã¿ãŸãããã ãã®çšèªã«ã¯å€ãã®æ··ä¹±ããããŸãããããã¯äž»ã«åäžã®ååã«ç¢ºç«ãããå®çŸ©ããªããšããäºå®ã«ãããã®ã§ãã ãã ãããã®çšèªã«ã¯å ±éã®ç解ããããŸãã ãããããã¹ãã¯éåžžãæ°å€ã¬ãžã¹ã¿ã®ãµã€ãºãŸãã¯ãã€ã³ã¿ãŒã®ãµã€ãºã®ãããããæå³ããŸãã 幞ããªããšã«ãææ°ã®ããã»ããµã®ã»ãšãã©ã¯ããµã€ãºãåãã§ãã ãããã£ãŠã64ããããšã¯ãããã»ããµã«64ãããæ°å€ã¬ãžã¹ã¿ãš64ããããã€ã³ã¿ãŒãããããšãæå³ããŸãã
ãŸãã64ããããæå³ãããã®ã§ã¯ãªãããšã«æ³šæããããšãéèŠã§ãã ãããŠå€ãã®èª€è§£ããããŸãã ãããã£ãŠã64ãããã¯ä»¥äžã決å®ããŸããã
- ã¢ãã¬ã¹å¯èœãªã¡ã¢ãªã®ãµã€ãºã ãã€ã³ã¿ãŒã§å®éã«äœ¿çšããããããæ°ã¯ãããã»ããµãŒã®ããããšã¯é¢ä¿ãããŸããã ARMããã»ããµã¯26ã40ãããã䜿çšããŸããããã®æ°ã¯ããã»ããµããããšã¯ç°ãªãå ŽåããããŸãã
- ããŒã¿ãã¹ã®å¹
ã RAMãŸãã¯ãã£ãã·ã¥ããèŠæ±ãããããŒã¿ã®éããããã¬ãŒãã«é¢ä¿ããŸããã åå¥ã®ããã»ããµåœä»€ã¯ä»»æã®éã®ããŒã¿ãèŠæ±ã§ããŸãããå®éã«èŠæ±ãããããŒã¿ã®éã¯ç°ãªãå ŽåããããèŠæ±ãéšåã«åå²ããããå¿
èŠä»¥äžã«èŠæ±ããŸãã ãã§ã«iPhone 5ã§ã¯ãèŠæ±ãããããŒã¿ãããã¯ã®ãµã€ãºã¯64ãããã§ãããPCã¯192ãããã«éããŸãã
- æµ®åå°æ°ç¹èšç®ã«é¢é£ãããã¹ãŠã FPUã¬ãžã¹ã¿ã¯ã¢ãŒããã¯ãã£é¢é£ã§ã¯ãªããARMããã»ããµã¯ARM64ããããã£ãšåã«64ãããã¬ãžã¹ã¿ã䜿çšããŠããŸããã
åºæ¬çãªé·æãšçæ
åäžã®ããã»ããµã32ãããCPUãš64ãããCPUã§æ¯èŒãããšã倧ããªéãã¯èŠãããªããããAppleãã64ãããARMãžã®ç§»è¡ã®éèŠæ§ã¯ããã¶ãèªåŒµãããŠããŸãã ããã¯éèŠãªã¹ãããã§ãããäž»ã«ARMã®æ©èœãšã¢ããã«ã®ããã»ããµã䜿çšããç¹æ§ã®ããã«éèŠã§ãã ãã ããããã€ãã®éãããããŸãã æãæãããªã®ã¯ã64ãããæ°å€ã¬ãžã¹ã¿ã64ãããæ°å€ã§ããå¹ççã«æ©èœããããšã§ãã 64ãããã®æ°å€ãš32ãããããã»ããµã§äœæ¥ã§ããŸãããéåžžã¯2ã€ã®32ãããããŒãã§äœæ¥ããããšã«ãªããåäœãå€§å¹ ã«é ããªããŸãã ååãšããŠã64ãããããã»ããµã¯ã32ãããã®æŒç®ãšåããããé«éã«64ãããã®æŒç®ãå®è¡ããããã64ãããã®æŒç®ãç©æ¥µçã«äœ¿çšããã³ãŒãã¯éåžžã«é«éã«åäœããŸãã
64ãããã¯ã¢ãã¬ã¹å¯èœãªã¡ã¢ãªã®éã«çŽæ¥é¢ä¿ããªããšããäºå®ã«ãããããããåäžã®ããã°ã©ã ã§å€§éã®RAMã®äœ¿çšãå€§å¹ ã«ä¿é²ããŸãã 32ãããããã»ããµã§å®è¡ãããŠããããã°ã©ã ã¯ã4GBãè¶ ããã¢ãã¬ã¹ç©ºéãã¢ãã¬ã¹æå®ã§ããŸããã ã¡ã¢ãªã®äžéšã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšæšæºã©ã€ãã©ãªã«å²ãåœãŠãããããã°ã©ã èªäœã«1ã3 GBãæ®ããŸãã 32ãããã·ã¹ãã ã«4GB以äžã®RAMãããå Žåããã®ã¢ãã¬ã¹ã¹ããŒã¹ããã¹ãŠããã°ã©ã ã«äœ¿çšããã®ã¯ã¯ããã«è€éã§ãã RAMã®ããŸããŸãªéšåãä»®æ³ã¢ãã¬ã¹ç©ºéã®äžéšã«é çªã«ãããã³ã°ãããã1ã€ã®ããã°ã©ã ãè€æ°ã®ããã»ã¹ã«åå²ããããããããªè©æ¬ºã«å¯ŸåŠããå¿ èŠããããŸãã
ãã®ãããªããªãã¯ã¯éåžžã«æéãããããã·ã¹ãã ã®é床ãå€§å¹ ã«äœäžãããå¯èœæ§ããããããå®éã«äœ¿çšããããã°ã©ããŒã¯ã»ãšãã©ããŸããã å®éã«ã¯ã32ãããããã»ããµã§ã¯ãåããã°ã©ã ã¯æ倧1ã3 GBã®RAMã䜿çšããŸããç©çRAMãå¢ããããšã®ãã¹ãŠã®äŸ¡å€ã¯ãããå€ãã®ããã°ã©ã ãåæã«å®è¡ã§ããããšãšããã£ã¹ã¯ããããå€ãã®ããŒã¿ããã£ãã·ã¥ã§ããããšã§ãã
ã¢ãã¬ã¹ç©ºéã®å¢å ã¯ãRAMãå°éã®ã·ã¹ãã ã«ã圹ç«ã¡ãŸããããã¯ããµã€ãºã䜿çšå¯èœãªRAMããã倧ããå¯èœæ§ãããã¡ã¢ãªããããã¡ã€ã«ã§ãã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ãå®éã«ã¢ã¯ã»ã¹ããããã¡ã€ã«ã®éšåã®ã¿ãããŠã³ããŒãããããã«ãããŠã³ããŒãããããŒã¿ããã¡ã€ã«ã«ãçµãåºããããšãã§ããRAMã解æŸããŸãã 32ãããã·ã¹ãã ã§ã¯ã1ã3 GBãè¶ ãããã¡ã€ã«ã¯è¡šç€ºã§ããŸããã 64ãããã·ã¹ãã ã§ã¯ãã¢ãã¬ã¹ã¹ããŒã¹ãã¯ããã«å€§ããããããã®ãããªåé¡ã¯ãããŸããã
ãã€ã³ã¿ãŒã®ãµã€ãºã倧ããããããšããã€ãã¹ã«ãªããŸãã64ãããããã»ããµã§å®è¡ããå Žåãåãããã°ã©ã ãããå€ãã®ã¡ã¢ãªïŒå Žåã«ãã£ãŠã¯ãã以äžïŒã䜿çšããŸãã ãŸããã¡ã¢ãªäœ¿çšéãå¢ãããšãã£ãã·ã¥ãè©°ãŸããããã©ãŒãã³ã¹ãäœäžããŸãã
ç°¡åã«èšããšã64ãããã¯ã³ãŒãã®äžéšã®ããã©ãŒãã³ã¹ãåäžãããã¡ã¢ãªããããã¡ã€ã«ãªã©ã®ããã€ãã®ææ³ãç°¡çŽ åã§ããŸãã ãã ããã¡ã¢ãªäœ¿çšéã®å¢å ã«ããããã©ãŒãã³ã¹ãäœäžããå ŽåããããŸãã
ARM64
iPhone 5Sã®64ãããããã»ããµã¯ãã¬ãžã¹ã¿ãµã€ãºãå¢å ããARMã ãã§ãªãã倧ããªå€æŽããããŸãã
ãŸããååã«èšåããŸããARMã®æ£åŒåã¯ãAArch64ãã§ãããããã¯å ¥åã«æ©ãŸããã銬鹿ããååã§ãã Appleã¯ARM64ã¢ãŒããã¯ãã£ãåŒã³åºããååãä»ããŸãã
ARM64ã¯æŽæ°ã¬ãžã¹ã¿ã®æ°ã2åã«ããŸããã 32ãããARMã¯16åã®æŽæ°ã¬ãžã¹ã¿ãæäŸãããã®ãã¡ã®1ã€ã¯ããã°ã©ã ã«ãŠã³ã¿ã§ãããããã«2ã€ã¯ã¹ã¿ãã¯ããã³ãªã³ã¯ã¬ãžã¹ã¿ãžã®ãã€ã³ã¿ãš13åã®æ±çšã¬ãžã¹ã¿ã«äœ¿çšãããŸãã ARM64ã«ã¯32åã®æŽæ°ã¬ãžã¹ã¿ããããå°çšã®ãŒãã¬ãžã¹ã¿ãéä¿¡ã¬ãžã¹ã¿ãããã³ãã¬ãŒã ãã€ã³ã¿ã¬ãžã¹ã¿ããããŸãã å¥ã®ã¬ãžã¹ã¿ããã©ãããã©ãŒã ã«ãã£ãŠäºçŽãããŠããã28åã®æ±çšã¬ãžã¹ã¿ãæ®ã£ãŠããŸãã
ARM64ã§ã¯ãæµ®åå°æ°ç¹æ°ã®ã¬ãžã¹ã¿æ°ãå¢å ããŸãã 32ãããARMã®ã¬ãžã¹ã¿ã¯ããå¥åŠãªã®ã§ãæ¯èŒããã®ã¯å°é£ã§ãã 32ãããARMã«ã¯32åã®32ãããæµ®åå°æ°ç¹ã¬ãžã¹ã¿ãããã16åã®éè€ãã64ãããã¬ãžã¹ã¿ãšããŠè¡šãããšãã§ããŸãã ããã«ã16åã®ç¬ç«ãã64ãããã¬ãžã¹ã¿ããããŸãã ARM64ã¯ãããã32åã®éè€ããªã128ãããã¬ãžã¹ã¿ã«ç°¡çŽ åããããå°ããªããŒã¿ã«äœ¿çšã§ããŸãã
ã¬ãžã¹ã¿ã®æ°ã¯ãããã©ãŒãã³ã¹ã«å€§ãã圱é¿ããŸãã ã¡ã¢ãªã¯ããã»ããµãããå€§å¹ ã«é ããã¡ã¢ãªã®èªã¿åã/æžã蟌ã¿ã¯ããã»ããµã®åœä»€ãå®è¡ãããããå€§å¹ ã«æéãããããŸãã ããã»ããµã¯ãã£ãã·ã¥ã§ãããä¿®æ£ããããšããŸãããæéã®ãã£ãã·ã¥ã§ããããã»ããµã®ã¬ãžã¹ã¿ãããã¯ããã«é ããªããŸãã ããå€ãã®ã¬ãžã¹ã¿-ããå€ãã®ããŒã¿ãããã»ããµå ã«ä¿åã§ããŸãã ãããããã©ãŒãã³ã¹ã«ã©ã®çšåºŠåœ±é¿ãããã¯ãç¹å®ã®ã³ãŒããšãã¬ãžã¹ã¿ãŒã®äœ¿çšãæé©åããã³ã³ãã€ã©ãŒã®æå¹æ§ã«ãã£ãŠæ±ºãŸããŸãã Intelã32ããããã64ãããã«ç§»åãããšããã¬ãžã¹ã¿ã®æ°ã¯8ãã16ã«å¢å ããããã¯ããã©ãŒãã³ã¹ã®å€§ããªå€åã§ããã ARMã¯ãã§ã«Intelã®32ãããã¢ãŒããã¯ãã£ãããå€ãã®ã¬ãžã¹ã¿ãåããŠãããããã¬ãžã¹ã¿ãå¢ãããšããã©ãŒãã³ã¹ã¯äœäžããŸããããã®å€åã¯äŸç¶ãšããŠé¡èã§ãã
ARM64ã§ã¯ãã¬ãžã¹ã¿æ°ã®å¢å ã«å ããŠéèŠãªå€æŽãå°å ¥ãããŸããã
ã»ãšãã©ã®32ãããARMåœä»€ã¯ãregister-conditionã®ç¶æ ã«å¿ããŠå®è¡ãããå Žåãšå®è¡ãããªãå ŽåããããŸãã ããã«ãããåå²ã䜿çšããã«æ¡ä»¶åŒïŒifã¹ããŒãã¡ã³ãïŒãå€æã§ããŸãã ããã¯çç£æ§ãåäžããããšèããããŠããŸããããARM64ããã®æ©äŒãæåŠãããšããäºå®ããå€æãããšãããã¯äœãããå€ãã®åé¡ãåŒãèµ·ãããŸããã
ARM64ã§ã¯ãNEON SIMDïŒ1åœä»€å€ããŒã¿ïŒã»ããã®NEONã¯ãå粟床浮åå°æ°ç¹æ°ã®IEEE754æšæºãå®å šã«ãµããŒãããŸãããNEONã®32ãããããŒãžã§ã³ã¯å粟床ã®ã¿ããµããŒãããäžéšã®ãããã®æšæºã«å³å¯ã«åŸããŸããã§ããã
ARM64ã¯ãAESæå·åãšSHA-1ããã³SHA-256ããã·ã¥çšã®ç¹å¥ãªåœä»€ãè¿œå ããŸããã äžè¬çã«ã¯ããŸãæçšã§ã¯ãããŸãããããããã®åé¡ã«å¯ŸåŠããå Žåã®å€§ããªããŒãã¹ã§ãã
äžè¬ã«ãæãéèŠãªéãã¯ãæ±çšã¬ãžã¹ã¿ã®æ°ã®å¢å ãšãNEONã®å粟床æ°ã§ã®IEEE754äºæç®è¡ã®å®å šãµããŒãã§ãã ããã«ãããå€ãã®å Žæã§çç£æ§ãç®ã«èŠãã圢ã§é«ããããšãã§ããŸãã
32ãããã¢ããªã±ãŒã·ã§ã³ã®äºææ§
A7ã«ã¯32ãããäºæã¢ãŒããå«ãŸããŠãããå€æŽããããšãªã32ãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããããšã«æ³šæããŠãã ããã ã€ãŸããiPhone 5Sã¯ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããããšãªããå€ãã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããŸãã
å®è¡æéã·ã¹ãã ã®å€æŽ
Appleã¯ãã©ã€ãã©ãªã®æ°ããã¢ãŒããã¯ãã£ã掻çšããŠããŸãã ãã®ãããªå€æŽã«å¯Ÿãããã€ããªã®åŸæ¹äºææ§ã«ã€ããŠå¿é ããå¿ èŠããªããããããã¯æ¢åã®ã¢ããªã±ãŒã·ã§ã³ããå£ãããããªå€æŽãå ãã絶奜ã®æ©äŒã§ãã
Max OS X 10.7ã§ã¯ãAppleã¯ã¿ã°ä»ããã€ã³ã¿ãŒãå°å ¥ããŸããã ã©ãã«ä»ããã€ã³ã¿ã䜿çšãããšãã€ã³ã¹ã¿ã³ã¹å ã®å°éã®ããŒã¿ãå«ãäžéšã®ã¯ã©ã¹ããã€ã³ã¿ã«çŽæ¥æ ŒçŽã§ããŸãã ããã«ãããNSNumberãªã©ã®ããã€ãã®ã±ãŒã¹ã§ã®ã¡ã¢ãªå²ãåœãŠãåé¿ãããããã©ãŒãã³ã¹ãå€§å¹ ã«åäžããŸãã ã¿ã°ä»ããã€ã³ã¿ãŒã¯64ããããã©ãããã©ãŒã ã§ã®ã¿ãµããŒããããŸããããã¯ãäžéšã¯ããã©ãŒãã³ã¹ã®åé¡ã«ãããã®ã§ãããäžéšã¯32ããããã€ã³ã¿ãŒã®ãã¿ã°ãçšã®ã¹ããŒã¹ãããŸããªãããã§ãã ãã®ããã«ãiOSã¯ã©ãã«ä»ããã€ã³ã¿ãŒããµããŒãããŠããªãã£ãããã§ãã ãããã£ãŠãARM64ã®Objective-Cã©ã³ã¿ã€ã ã§ã¯ãã©ãã«ä»ããã€ã³ã¿ãŒã®ãµããŒããå«ãŸããŠãããMacãšåãå©ç¹ãåŸãããŸãã
ãã€ã³ã¿ãŒã®ãµã€ãºã64ãããã§ãããšããäºå®ã«ããããããããããã®ãããã®ãã¹ãŠãå®éã«äœ¿çšãããããã§ã¯ãããŸããã x86-64äžã®Mac OS Xã¯47ãããã®ã¿ã䜿çšããŸãã ARM64äžã®IOSã¯ããã«å°ãªãã33ããããã䜿çšããŸããã 䜿çšããåã«æ¯åãããã®ãããããã¹ã¯ãããšãæ®ãã®ãããã䜿çšããŠè¿œå ããŒã¿ãä¿åã§ããŸãã ããã«ãããObjective-Cã©ã³ã¿ã€ã ã®æŽå²ã®äžã§æãéèŠãªå€æŽã®1ã€ãå¯èœã«ãªããŸããã
isaãã€ã³ã¿ãŒã®åè
ãã®ã»ã¯ã·ã§ã³ã®æ å ±ã®ã»ãšãã©ã¯ã ã°ã¬ãã°ããŒã«ãŒã®èšäºããã®ãã®ã§ãã ãŸããã¡ã¢ãªãæŽæ°ããã«ã¯ïŒObjective-Cã®ãªããžã§ã¯ãã¯ãå²ãåœãŠãããã¡ã¢ãªãããã¯ãè¡šããŸãã æåã®éšåã§ãããã€ã³ã¿ãŒã®ãµã€ãºã¯isaã§ãã éåžžãisaã¯ãªããžã§ã¯ãã¯ã©ã¹ãžã®ãã€ã³ã¿ã§ãã ãªããžã§ã¯ããã¡ã¢ãªã«ä¿åãããæ¹æ³ã«ã€ããŠè©³ããã¯ãä»ã®èšäºãã芧ãã ãã ã
ç¹ã«ãã¹ãŠã®64ãããã䜿çšããªã64ããããã©ãããã©ãŒã ã§ã¯ããã€ã³ã¿ãŒã®ãµã€ãºå šäœãisaãã€ã³ã¿ãŒã«äœ¿çšããã®ã¯å€å°ç¡é§ã§ãã iOSäžã®ARM64ã¯å®éã«ã¯33ãããã䜿çšããŸããã31ãããã¯ä»ã®ãã®ã«äœ¿çšããŸãã ã¡ã¢ãªå ã®ã¯ã©ã¹ã¯8ãã€ãã®å¢çã§æŽåããŠãããããæåŸã®3ãããã¯ç Žæ£ã§ããŸããããã«ãããisaãã34ããããè¿œå æ å ±ã®æ ŒçŽã«äœ¿çšã§ããŸãã Apple64ã®ARM64ã©ã³ã¿ã€ã ã¯ããã䜿çšããŠããã©ãŒãã³ã¹ãåäžãããŸãã
ãããããæãéèŠãªæé©åã¯ã€ã³ã©ã€ã³ãªã³ã¯ã«ãŠã³ã¿ãŒã§ããã Objective-Cã®ã»ãšãã©ãã¹ãŠã®ãªããžã§ã¯ãã«ã¯åç §ã«ãŠã³ã¿ãŒãããïŒNSStringãªãã©ã«ãªã©ã®äžå€ãªããžã§ã¯ããé€ãïŒããã®ã«ãŠã³ã¿ãŒãå€æŽããä¿æ/解æŸæäœã¯éåžžã«é »ç¹ã«çºçããŸãã ããã¯ãARCã«ãšã£ãŠç¹ã«éèŠã§ããARCã§ã¯ãããã°ã©ããè¡ããããé »ç¹ã«ä¿æ/解æŸåŒã³åºããæ¿å ¥ããŸãã ãããã£ãŠãä¿æ/解æŸã¡ãœããã®é«ãããã©ãŒãã³ã¹ãéèŠã§ãã
éåžžãåç §ã«ãŠã³ãã¯ãªããžã§ã¯ãèªäœã«ã¯ä¿åãããŸããã ãªããžã§ã¯ãèªäœã«åç §ã«ãŠã³ã¿ãŒãä¿åããããšã¯å¯èœã§ãããããã¯ã¹ããŒã¹ãåããããŸãã ããã¯ä»ã§ã¯ããã»ã©éèŠã§ã¯ãããŸãããããããããã£ãšåã«éåžžã«éèŠã§ããã ãã®ãããåç §ã«ãŠã³ãã¯å€éšããã·ã¥ããŒãã«ã«æ ŒçŽãããŸãã retainãåŒã³åºããã³ã«ã次ã®ã¢ã¯ã·ã§ã³ãå®è¡ãããŸãã
- ãã€ã³ã¿ãŒã«ãŠã³ã¿ãŒã®ã°ããŒãã«ããã·ã¥ããŒãã«ãååŸãã
- ããã·ã¥ããŒãã«ãããã¯ããŠãæäœãã¹ã¬ããã»ãŒãã«ãªãããã«ããŸã
- ç¹å®ã®ãªããžã§ã¯ãã®ããã·ã¥ããŒãã«ã§ã«ãŠã³ã¿ãŒãèŠã€ãã
- ã«ãŠã³ã¿ãŒã1ã€å¢ãããŠãããŒãã«ã«ä¿åããŸã
- ããã·ã¥ããŒãã«ããã¯ã解é€ãã
ååé ãïŒ ã«ãŠã³ã¿ãŒã®ããã·ã¥ããŒãã«ã®å®è£ ã¯ãããã·ã¥ããŒãã«ã«å¯ŸããŠéåžžã«å¹ççã«ãªããŸãããã¡ã¢ãªãžã®çŽæ¥ã¢ã¯ã»ã¹ãããã¯ããã«äœéã§ãã ARM64ã§ã¯ã19ãããã®isaãã€ã³ã¿ãŒãåç §ã«ãŠã³ãã®ä¿åã«äœ¿çšãããŸãã ããã¯ãretainåŒã³åºãã次ã®ããã«ç°¡ç¥åãããããšãæå³ããŸãã
- isaãã£ãŒã«ãã®äžéšã§ã¢ãããã¯å¢å ãçæããã«ã¯
ãããŠããã ãã§ãïŒ ããã¯ã¯ããã«éãã¯ãã§ãã
å®éãåŠçãå¿ èŠãªãšããžã±ãŒã¹ãç°ãªãããããã¹ãŠãå€å°è€éã«ãªããŸãã ã¢ã¯ã·ã§ã³ã®å®éã®ã·ãŒã±ã³ã¹ã¯ãããã次ã®ãšããã§ãã
- isaã®æåŸã®ãããã¯ãisaã®è¿œå ãããã䜿çšããŠåç
§ã«ãŠã³ããä¿åãããã©ããã瀺ããŸãã ããã§ãªãå Žåã¯ãå€ãããã·ã¥ããŒãã«ã¢ã«ãŽãªãºã ã䜿çšãããŸãã
- ãªããžã§ã¯ããæ¢ã«åé€ãããŠããå Žåãäœãè¡ãããŸãã
- ã«ãŠã³ã¿ãŒããªãŒããŒãããŒããå ŽåïŒãã£ãã«èµ·ãããŸãããã19ãããã§ã¯ããªãå¯èœã§ãïŒãå€ãããã·ã¥ããŒãã«ã¢ã«ãŽãªãºã ã䜿çšãããŸã
- isaãæ°ããå€ã«ã¢ãããã¯ã«å€æŽããŸã
ãããã®ã¢ã¯ã·ã§ã³ã®ã»ãšãã©ã¯ã以åã®ã¢ãããŒãã§ãåŒãç¶ãå¿ èŠã§ãããæäœãããŸãé ãããŸããã§ããã ãã®ãããæ°ããã¢ãããŒãã¯å€ãã¢ãããŒããããå€§å¹ ã«é«éã§ãã
isaã®åç §ã«ãŠã³ã¿ã®äžã§æªäœ¿çšã®ãããã䜿çšãããšããªããžã§ã¯ãã®å²ãåœãŠè§£é€ãé«éåã§ããŸãã çè«çã«ã¯ãObjective-Cã®ãªããžã§ã¯ããåé€ããããšãã«äžé£ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããäžèŠãªãªããžã§ã¯ããã¹ãããããæ©èœã«ããããã©ãŒãã³ã¹ãå€§å¹ ã«åäžããŸãã ãããã®æé ã¯æ¬¡ã®ãšããã§ãã
- ãªããžã§ã¯ãã«objc_setAssociatedObjectã䜿çšããŠèšå®ãããé¢é£ãªããžã§ã¯ãããªãã£ãå Žåãããããåé€ããå¿
èŠã¯ãããŸããã
- ãªããžã§ã¯ãã«C ++ãã¹ãã©ã¯ã¿ïŒdeallocäžã«åŒã³åºãããïŒããªãå Žåã¯ãåŒã³åºãå¿
èŠããããŸããã
- ãªããžã§ã¯ãã匱ãïŒ__weakïŒãã€ã³ã¿ãŒã«ãã£ãŠåç
§ãããããšããªãå Žåããããã®ãã€ã³ã¿ãŒãç¡å¹ã«ããå¿
èŠã¯ãããŸããã
以åã¯ããããã®ãã©ã°ã¯ãã¹ãŠã¯ã©ã¹ã«ä¿åãããŠããŸããã ããšãã°ãã¯ã©ã¹ã®å°ãªããšã1ã€ã®ã€ã³ã¹ã¿ã³ã¹ãé¢é£ãªããžã§ã¯ããæ ŒçŽããããšãããå Žåããã®ã¯ã©ã¹ã®ãã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ã¯ãå²ãåœãŠè§£é€äžã«é¢é£ãªããžã§ã¯ããåé€ããŸããã ã€ã³ã¹ã¿ã³ã¹ããšã«ãããã®ãã©ã°ã远跡ããããšã§ãæ¬åœã«å¿ èŠãªã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã®ã¿é©åãªã¡ãœãããåŒã³åºãããšãã§ããŸããã
å šäœãšããŠãããã¯å€§ããªå©çã§ãã ç§ã®ãã³ãããŒã¯ã§ã¯ãåçŽãªãªããžã§ã¯ãã®äœæãšåé€ã«ã¯ã32ãããã¢ãŒãã§ã¯5Sã§380nsããããŸããã64ãããã§ã¯200nsããããããŸããã å°ãªããšã1ã€ã®ã€ã³ã¹ã¿ã³ã¹ãããèªäœãžã®åŒ±ãåç §ãæã£ãŠããå Žåã32ãããã¢ãŒãã§ã¯ãã¹ãŠã®åé€æéã480 nsã«å¢å ãã64ãããã¢ãŒãã§ã¯ã匱ããªã³ã¯ããªããã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ã§200 nsã®é åã«æ®ããŸããã ã£ãã
ã€ãŸããå®è¡æéã®æ¹åã«ããã64ãããã¢ãŒãã§ã¯32ãããã¢ãŒãã§ã®å²ãåœãŠæéã40ã50ïŒ ã«ãªããŸãã ã¢ããªã±ãŒã·ã§ã³ãå€ãã®ãªããžã§ã¯ããäœæããã³åé€ããå Žåãããã¯éèŠã§ãã
ãããã«
64ãããA7ã¯åãªãããŒã±ãã£ã³ã°çç¥ã§ã¯ãããŸããããæ°ããã¯ã©ã¹ã®ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããé©ãã¹ããã¬ãŒã¯ã¹ã«ãŒã§ããããŸããã çå®ã¯ããã€ãã®ããã«ãçãäžã«ãããŸãã
64ãããã«åãæ¿ãããšããåãªãäºå®ã¯å°ãã ãã§ãã ããã«ãããå Žåã«ãã£ãŠã¯ã¢ããªã±ãŒã·ã§ã³ãé«éåãããã»ãšãã©ã®ããã°ã©ã ã§äœ¿çšãããã¡ã¢ãªéããããã«å¢å ããŸãã äžè¬ã«ã倧ããªéãã¯ãããŸããã
ARMã¢ãŒããã¯ãã£ã¯ã64ãããã ãã§ãªãå€æŽãããŸããã ã¬ãžã¹ã¿ã®æ°ãå¢ããåœä»€ã»ãããæ¹èšãããåçåãããããšã«ããã32ãããARMãšæ¯èŒããŠããã©ãŒãã³ã¹ãå€§å¹ ã«åäžããŸããã
Appleã¯ãã©ã³ã¿ã€ã ãæ¹åããããã«æ°ããã¢ãŒããã¯ãã£ãžã®ç§»è¡ã䜿çšããŸããã äž»ãªå€æŽç¹ã¯ãã€ã³ã©ã€ã³ãªã³ã¯ã«ãŠã³ã¿ãŒã§ããããã«ãããé«äŸ¡ãªããã·ã¥ããŒãã«æ€çŽ¢ãåé¿ãããŸãã Objective-Cã§ã¯ãä¿æ/解æŸæäœãéåžžã«äžè¬çã§ãããããããã¯å€§ããªå©ç¹ã§ãã ãã©ã°ã«åºã¥ããŠãªãœãŒã¹ãåé€ãããšããªããžã§ã¯ãã®åé€ãã»ãŒ2åéããªããŸãã ã¿ã°ä»ããã€ã³ã¿ã¯ãããã©ãŒãã³ã¹ãåäžãããã¡ã¢ãªæ¶è²»ãåæžããŸãã
ARM64ã¯Appleããã®çŽ æŽãããè¿œå ã§ãã é ããæ©ãããããèµ·ããããšã¯èª°ããç¥ã£ãŠããŸããããããããã«ãªããšäºæ³ãã人ã¯ã»ãšãã©ããŸããã ããããããã¯çŽ æŽãããããšã§ãã