dz̸ARM CortexϵÁд¦ÀíÆ÷Ö®Çø±ð
ÊÐÃæÉÏARM CortexϵÁаüÀ¨3¸öϵÁУ¬°üÀ¨ARM Cortex-A, ARM Cortex-R, ARM Cortex-M,ZÕâÈýÖÖϵÁУ¬²¢ÇÒÿ¸öϵÁÐÓÖ·Ö¶àÖÖ×Ó°æ±¾£¬Ã¿¸ö×Ó°æ±¾¶¼Óи÷×ÔµÄÌص㡣ºÜºÃµÄΪÉè¼ÆÈËÔ±Ìṩ·Ç³£¹ã·ºµÄ¾ßÓпÉÀ©Õ¹ÐÔµÄÐÔÄÜÑ¡Ï´Ó¶øÓлú»áÔÚ¶àÖÖÑ¡ÏîÖÐÑ¡Ôñ×îÊʺÏ×ÔÉíÓ¦ÓõÄÄںˣ¬¶ø·ÇǧƪһÂɵIJÉÓÃͬһ·½°¸¡£
ÆäÖУ¬
1£¬ Cortex-A¡ªÃæÏòÐÔÄÜÃܼ¯ÐÍϵͳµÄÓ¦Óô¦ÀíÆ÷ÄÚºË 2£¬ Cortex-R¡ªÃæÏòʵʱӦÓõĸßÐÔÄÜÄÚºË
3£¬ Cortex-M¡ªÃæÏò¸÷ÀàǶÈëʽӦÓõÄ΢¿ØÖÆÆ÷ÄÚºË
Cortex-A´¦ÀíÆ÷ΪÀûÓòÙ×÷ϵͳ£¨ÀýÈçLinux»òÕßAndroid £¬IOS£©µÄÉ豸ÌṩÁËһϵÁнâ¾ö·½°¸£¬ÕâЩÉ豸±»ÓÃÓÚ¸÷ÀàÓ¦Ó㬴ӵͳɱ¾ÊÖ³ÖÉ豸µ½ÖÇÄÜÊÖ»ú¡¢Æ½°åµçÄÔ¡¢»ú¶¥ºÐÒÔ¼°ÆóÒµÍøÂçÉ豸µÈ¡£ÔçÆÚµÄCortex-AϵÁд¦ÀíÆ÷£¨A5¡¢A7¡¢A8¡¢A9¡¢A12¡¢A15ºÍA17£©»ùÓÚ ARMv7-A¼Ü¹¹¡£Ã¿ÖÖÄں˶¼¹²ÏíÏàͬµÄ¹¦Äܼ¯£¬ÀýÈçNEONýÌå´¦ÀíÒýÇæ¡¢Trustzone°²È«À©Õ¹¡¢µ¥¾«¶ÈºÍË«¾«¶È¸¡µãÖ§³Ö¡¢ÒÔ¼°¶Ô¶àÖÖÖ¸Á £¨ARM¡¢Thumb-2¡¢Thumb¡¢JazelleºÍDSP£©µÄÖ§³Ö¡£Óë´Ëͬʱ£¬ÕâЩ´¦ÀíÆ÷Ò²¾ßÓм«¸ßµÄÉè¼ÆÁé»îÐÔ£¬Äܹ»ÌṩËùÐèµÄ×î¼ÑÐÔÄܺÍÔ¤ÆڵĹ¦Ð§¡£
½éÉܹýCortex-A£¬ÏÂÃæ½éÉÜCortex-RϵÁСª¡ªÑÜÉú²úÆ·ÖÐÌå»ý×îСµÄARM´¦ÀíÆ÷£¬ÕâÒ»µãÒ²×ΪÈËËùÖª¡£Cortex-R´¦ÀíÆ÷Õë¶Ô¸ßÐÔÄÜʵʱӦÓã¬ÀýÈçÓ²ÅÌ¿ØÖÆÆ÷£¨»ò¹Ì̬Çý¶¯
¿ØÖÆÆ÷£©¡¢ÆóÒµÖеÄÍøÂçÉ豸ºÍ´òÓ¡»ú¡¢Ïû·Ñµç×ÓÉ豸£¨ÀýÈçÀ¶¹â²¥·ÅÆ÷ºÍýÌå²¥·ÅÆ÷£©¡¢ÒÔ¼°Æû³µÓ¦Óã¨ÀýÈ簲ȫÆøÄÒ¡¢Öƶ¯ÏµÍ³ºÍ·¢¶¯»ú¹ÜÀí£©¡£Cortex-RϵÁÐÔÚijЩ·½ÃæÓë¸ß¶Ë΢¿ØÖÆÆ÷£¨MCU£©ÀàËÆ£¬µ«ÊÇ£¬Õë¶ÔµÄÊDZÈͨ³£Ê¹Óñê×¼MCUµÄϵͳ»¹Òª´óÐ͵Äϵͳ¡£ÀýÈ磬Cortex-R4¾Í·Ç³£ÊʺÏÆû³µÓ¦Óá£Cortex-R4Ö÷Ƶ¿ÉÒԸߴï600MHz£¨¾ßÓÐ2.45DMIPS/MHz£©£¬ÅäÓÐ8¼¶Á÷Ë®Ïߣ¬¾ßÓÐË«·¢ËÍ¡¢Ô¤È¡ºÍ·ÖÖ§Ô¤²â¹¦ÄÜ¡¢ÒÔ¼°µÍÑÓ³ÙÖжÏϵͳ£¬¿ÉÒÔÖж϶àÖÜÆÚ²Ù×÷¶ø¿ìËÙ½øÈëÖжϷþÎñ³ÌÐò¡£Cortex-R4»¹¿ÉÒÔÓëÁíÍâÒ»¸öCortex-R4 ¹¹³ÉË«ÄÚºËÅäÖã¬Ò»Í¬×é³ÉÒ»¸ö´øÓÐʧЧ¼ì²âÂß¼µÄÈßÓàËø²½£¨lock-step£©ÅäÖ㬴Ӷø·Ç³£ÊʺÏÒªÇó°²È«ÏµÊýµÄϵͳ¡£
×îºó£¬ÎÒÃÇÀ´ÌÖÂÛCortex-MϵÁУ¬×ÔÊ׿îCortex-M´¦ÀíÆ÷ÓÚ2004Äê·¢²¼ÒÔÀ´£¬´ËϵÁд¦ÀíÆ÷Cortex-M4¡¢Cortex-M3¡¢Cortex-M1 FPGA ºÍ Cortex-M0 Cortex-M7µÈ¼¸ÖÖÏà¹Ø´¦ÀíÆ÷¡£ÌرðÉè¼ÆÕë¶Ô¾ºÕùÒѾ·Ç³£¼¤ÁÒµÄMCUÊг¡¡£Cortex-MϵÁлùÓÚARMv7-M¼Ü¹¹£¨ÓÃÓÚ Cortex-M3ºÍCortex-M4£©¹¹½¨£¬¶ø½ÏµÍµÄCortex-M0+»ùÓÚARMv6-M¼Ü¹¹¹¹½¨¡£µ±Ò»Ð©Ö÷Á÷MCU¹©Ó¦ÉÌÑ¡ÔñÕâϵÁÐÄںˣ¬²¢¿ªÊ¼Éú²úMCUÆ÷¼þºó£¬Cortex-M´¦ÀíÆ÷ѸËÙÊܵ½Êг¡Çàíù¡£¿ÉÒԿ϶¨µÄ˵£¬Cortex-MÖ®ÓÚ32λ MCU¾ÍÈçͬ8051Ö®ÓÚ8λMCU¡ª¡ªÊܵ½Öڶ๩ӦÉÌÖ§³ÖµÄ¹¤Òµ±ê×¼Äںˣ¬¸÷¼Ò¹©Ó¦É̲ÉÓøÃÄں˼ÓÖ®×Ô¼ºÌرðµÄ¿ª·¢£¬ÔÚÊг¡ÖÐÌṩ²îÒ컯²úÆ·¡£ÀýÈ磬Cortex-MϵÁÐÄܹ»ÊµÏÖÔÚFPGAÖÐ×÷ΪÈíºËÀ´Ó㬵«¸ü³£¼ûµÄÓ÷¨ÊÇ×÷Ϊ¼¯³ÉÁË´æ´¢Æ÷¡¢Ê±ÖÓºÍÍâÉèµÄMCU¡£ÔÚ¸ÃϵÁвúÆ·ÖУ¬ÓÐЩ²úƷרע×î¼ÑÄÜЧ¡¢ÓÐЩרע×î¸ßÐÔÄÜ¡¢¶øÓÐЩ²úÆ·ÔòרÃÅÓ¦ÓÃÓÚÖîÈçÖÇÄܵç±íÕâÑùµÄϸ·ÖÊг¡
ÆäÖУ¬Cortex-M3ºÍCortex-M4ÊǷdz£ÏàËƵÄÄںˡ£¶þÕ߶¼¾ßÓÐ1.25DMIPS/MHzµÄÐÔÄÜ£¬ÅäÓÐ3¼¶Á÷Ë®Ïß¡¢¶àÖØ32λ×ÜÏß½Ó¿Ú¡¢Ê±ÖÓËÙÂʿɸߴï200MHz£¬²¢ÅäÓзdz£¸ßЧµÄµ÷ÊÔÑ¡Ïî¡£×î´óµÄ²»Í¬ÊÇ£¬Cortex-M4µÄÄÚºËÐÔÄÜÕë¶ÔµÄÊÇDSP¡£Cortex-M3ºÍCortex- M4¾ßÓÐÏàͬµÄ¼Ü¹¹ºÍÖ¸Á£¨Thumb-2£©¡£È»¶ø£¬Cortex-M4Ôö¼ÓÁËһϵÁÐÌرðÕë¶Ô´¦ÀíDSPËã·¨¶øÓÅ»¯µÄ±¥ºÍÔËËãºÍSIMDÖ¸Áî¡£ÒÔÿ 0.5ÃëÔËÐÐÒ»´ÎµÄ512µãFFTΪÀý£¬Èç¹û·Ö±ðÔÚͬÀàÁ¿²úµÄCortex-M3 MCUºÍCortex-M4 MCUÉÏÔËÐУ¬Íê³ÉͬÑùµÄ¹¤×÷£¬Cortex-M3ËùÐ蹦ºÄÔ¼ÊÇCortex-M4ËùÐ蹦ºÄµÄÈý±¶¡£¶ø¶ÔÓڳɱ¾ÌرðÃô¸ÐµÄÓ¦ÓûòÕßÕýÔÚ´Ó8λǨÒƵ½32λµÄÓ¦ÓöøÑÔ£¬Cortex-MϵÁеÄ×îµÍ¶Ë²úÆ·¿ÉÄÜÊÇ×î¼ÑÑ¡Ôñ¡£ËäÈ»Cortex-M0+µÄÐÔÄÜΪ0.95DMIPS/MHz£¬±ÈCortex-M3ºÍCortex-M4µÄÐÔÄÜÉÔÉÔµÍһЩ£¬µ«ÈÔ¿ÉÓëͬϵÁÐÆäËû¸ß¶Ë²úÆ·¼æÈÝ¡£
×ÛÉÏËùÊö£¬Cortex´¦ÀíÆ÷²»Í¬ÏµÁвúÆ·²àÖص㲻һÑù£¬¿ÉÒÔΪÂú×ãÉè¼ÆÑз¢ÈËÔ±µÄÓ¦ÓÃÐÔÄÜÐèÇó¶øÌṩÁ˶àÖÖÑ¡ÏÎÞÂÛÊÇÕë¶Ô¸ß¶Ëƽ°åµçÄÔ»¹ÊÇÎïÁªÍøÖг¬µÍ³É±¾µÄÎÞÏß´«¸ÐÆ÷½Úµã£¬Ä㶼ÄÜ·¢ÏÖ×ÜÓÐÒ»¿îCortexϵÁеIJúÆ·ÊÇÄãÏëÒªµÄ!¡£