±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎÄÖ÷Òª½éÉÜÁËARM´¦ÀíÆ÷¼ò½é¼°RISCÌØµã,¹¤×÷ģʽÒÔ¼°³ÌÐò״̬¼Ä´æÆ÷CPSRºÍSPSRµÈÏà¹ØÄÚÈÝ¡£ |
|
ARMÌåϵ½á¹¹Óë±à³ÌÄ£ÐÍ

ARMÌåϵ½á¹¹
Ò»¡¢ARM´¦ÀíÆ÷¼ò½é¼°RISCÌØµã
ARM´¦ÀíÆ÷¼ò½é
ARM£¨Advanced RISC Machines£©ÊÇÒ»¸ö32λRISC£¨¾«¼òÖ¸Á£©´¦ÀíÆ÷¼Ü¹¹£¬ARM´¦ÀíÆ÷ÔòÊÇARM¼Ü¹¹ÏµÄ΢´¦ÀíÆ÷¡£ARM´¦ÀíÆ÷¹ã·ºµÄʹÓÃÔÚÐí¶àǶÈëʽϵͳ¡£ARM´¦ÀíÆ÷µÄÌØµãÓÐÖ¸Á¶È¹Ì¶¨£¬Ö´ÐÐЧÂʸߣ¬µÍ³É±¾µÈ¡£
RISCÉè¼ÆÖ÷ÒªÌØµã
1¡¢Ö¸Á¡ª¡ªRISC¼õÉÙÁËÖ¸ÁµÄÖÖÀ࣬ͨ³£Ò»¸öÖÜÆÚÒ»ÌõÖ¸Á²ÉÓù̶¨³¤¶ÈµÄÖ¸Áî¸ñʽ£¬±àÒëÆ÷»ò³ÌÐòԱͨ¹ý¼¸ÌõÖ¸ÁîÍê³ÉÒ»¸ö¸´ÔӵIJÙ×÷¡£¶øCISCÖ¸ÁµÄÖ¸Á¶Èͨ³£²»¹Ì¶¨¡£
2¡¢Á÷Ë®Ïß¡ª¡ªRISC²ÉÓõ¥ÖÜÆÚÖ¸ÁÇÒÖ¸Á¶È¹Ì¶¨£¬±ãÓÚÁ÷Ë®Ïß²Ù×÷Ö´ÐС£
3¡¢¼Ä´æÆ÷¡ª¡ªRISCµÄ´¦ÀíÆ÷ÓµÓиü¶àµÄͨÓüĴæÆ÷£¬¼Ä´æÆ÷²Ù×÷½Ï¶à¡£ÀýÈçARM´¦ÀíÆ÷¾ßÓÐ37¸ö¼Ä´æÆ÷¡£
4¡¢Load/Store½á¹¹¡ª¡ªÊ¹ÓüÓÔØ/´æ´¢Ö¸ÁîÅúÁ¿´ÓÄÚ´æÖжÁдÊý¾Ý£¬Ìá¸ßÊý¾ÝµÄ´«ÊäЧÂÊ¡£
5¡¢Ñ°Ö··½Ê½¼ò»¯£¬Ö¸Á¶È¹Ì¶¨£¬Ö¸Áî¸ñʽºÍѰַ·½Ê½ÖÖÀà¼õÉÙ¡£
¶þ¡¢ARMÖ¸Áî¼¯ÌØµã
ARM´¦ÀíÆ÷ÊÇ»ùÓÚRISCµÄ£¬µ«²»ÊÇ´¿´âµÄRISCÌåϵ½á¹¹¡£ÎªÁËʹARM´¦ÀíÆ÷Äܹ»¸üºÃµÄÂú×ãǶÈëʽϵͳµÄÐèÒª£¬ARMÖ¸ÁºÍµ¥´¿µÄRISCÖ¸ÁÓÐÒÔϼ¸µã²»Í¬£º
1¡¢Ò»Ð©Ìض¨µÄÖ¸ÁîÖÜÆÚÊý¿É±ä¡£ÀýÈç¶à¼Ä´æÆ÷×°ÔØ»ò´æ´¢µÄLoad/StoreÖ¸ÁîÖ´ÐÐÖÜÆÚ¾ÍÊDz»È·¶¨µÄ£¬Õâ¸ö»á¸ù¾ÝÏà¹ØµÄ¼Ä´æÆ÷¸öÊý¶ø¶¨¡£Èç¹ûÊÇ·ÃÎÊÁ¬ÐøµÄÄÚ´æµØÖ·£¬¾Í¿ÉÒÔ¸ÄÉÆÐÔÄÜ£¬ÒòΪÁ¬ÐøµÄÄÚ´æ·ÃÎʱÈËæ»ú·ÃÎÊÒª¿ì¡£¸ù¾ÝÕâ¸öÌØµã£¬ÓÉÓÚÔÚº¯ÊýµÄÆðʼºÍ½áβͨ³£»áÓжà¸ö¼Ä´æÆ÷ÓëÄÚ´æ½øÐÐÊý¾Ý½»»»µÄ²Ù×÷£¬Òò´ËÏàÓ¦²Ù×÷µÄÖ¸ÁîÌõÊý»á¼õÉÙ£¬Ìá¸ßÁË´úÂëµÄÃܶȡ£
2¡¢ÄÚǶµÄͰÐÎÒÆÎ»¼Ä´æÆ÷²úÉúÁ˸ü¸´ÔÓµÄÖ¸ÁͰÐÎÒÆÎ»¼Ä´æÆ÷ÊÇÒ»¸öÓ²¼þ²¿¼þ£¬ÔÚÒ»¸ö¼Ä´æÆ÷±»Ò»ÌõÖ¸ÁîʹÓÃ֮ǰ£¬Í°ÐÎÒÆÎ»¼Ä´æÆ÷¿ÉÒÔ´¦ÀíÕâ¸ö¼Ä´æÆ÷ÖеÄÊý¾Ý¡£Í°ÐÎÒÆÎ»¼Ä´æÆ÷À©Õ¹ÁËÐí¶àÖ¸ÁîµÄ¹¦ÄÜ£¬ÒԴ˸ÄÉÆÄں˵ÄÐÔÄÜ£¬Ìá¸ß´úÂëÃܶȡ£
3¡¢Thumb16λָÁ¡£ARM´¦ÀíÆ÷ÓÐÁ½ÖÖ¹¤×÷״̬£¬Ò»ÖÖÊÇARM״̬£¬Ò»ÖÖÊÇThumb״̬¡£ARM״̬ÏÂÖ¸Á¶ÈΪ32룬Thumb״̬ÏÂÖ¸Á¶ÈΪ16λ¡£ÕâÖÖÌØµãʹµÃARM¼ÈÄÜÖ´ÐÐ16λָÁÓÖÄÜÖ´ÐÐ32λָÁ´Ó¶øÔöÇ¿ÁËARMÄں˵ŦÄÜ¡£
4¡¢Ìõ¼þÖ´ÐС£Ö»Óе±Ä³¸öÌØ¶¨Ìõ¼þÂú×ãʱָÁî²Å»á±»Ö´ÐС£Õâ¸öÌØÐÔ¿ÉÒÔ¼õÉÙ·ÖÖ§Ö¸ÁîµÄÊýÄ¿£¬´Ó¶ø¸ÄÉÆÐÔÄÜ£¬Ìá¸ß´úÂëÃܶȡ£
5¡¢ÔöǿָÁһЩ¹¦ÄÜÇ¿´óµÄÊý×ÖÐźŴ¦ÀíÆ÷£¨DSP£©Ö¸Áî±»¼ÓÈëµ½±ê×¼µÄARMÖ¸ÁîÖУ¬ÒÔÖ§³Ö¿ìËÙµÄ16*16³Ë·¨²Ù×÷¼°±¥ºÍÔËËã¡£ARMµÄÕâЩÔöǿָÁʹµÃARM´¦ÀíÆ÷²»ÐèÒª¼ÓÉÏDSP¼´¿ÉʵÏÖ¡£
Èý¡¢ARM´¦ÀíÆ÷ÌØµã
1¡¢ARMÖ¸Áî¶¼ÊÇ32붨³¤µÄ
2¡¢¼Ä´æÆ÷ÊýÁ¿·á¸»£¨37¸ö¼Ä´æÆ÷£©
3¡¢ÆÕͨµÄLoad/StoreÖ¸Áî
4¡¢¶à¼Ä´æÆ÷µÄLoad/StoreÖ¸Áî
5¡¢Ö¸ÁîµÄÌõ¼þÖ´ÐÐ
6¡¢µ¥Ê±ÖÓÖÜÆÚÖеĵ¥ÌõÖ¸ÁîÍê³ÉÊý¾ÝÒÆÎ»²Ù×÷ºÍALU²Ù×÷
7¡¢Í¨¹ý±äÖÖºÍд¦ÀíÆ÷À´À©Õ¹ARM´¦ÀíÆ÷µÄ¹¦ÄÜ
8¡¢À©Õ¹ÁË16λµÄThumbÖ¸ÁîÀ´Ìá¸ß´úÂëÃܶÈ
ËÄ¡¢ARM´¦ÀíÆ÷ÃüÃû¹æÔò

ARM±à³ÌÄ£ÐÍ
Ò»¡¢ARMÊý¾ÝÀàÐÍ
1¡¢×Ö£¨Word£©£ºÔÚARMÌåϵ½á¹¹ÖУ¬×ֵij¤¶ÈΪ32λ¡£
2¡¢°ë×Ö£¨Half-Word£©£ºÔÚARMÌåϵ½á¹¹ÖУ¬°ë×ֵij¤¶ÈΪ16λ¡£
3¡¢×Ö½Ú£¨Byte£©£ºÔÚARMÌåϵ½á¹¹ÖУ¬×ֽڵij¤¶ÈΪ8λ¡£
¶þ¡¢ARM´¦ÀíÆ÷´æ´¢¸ñʽ
ARMÌåϵ½á¹¹½«´æ´¢Æ÷¿´×÷ÊÇ´Ó0µØÖ·¿ªÊ¼µÄ×Ö½ÚµÄÏßÐÔ×éºÏ¡£×÷Ϊ32λµÄ΢´¦ÀíÆ÷£¬ARMÌåϵ½á¹¹ËùÖ§³ÖµÄ×î´óѰַ¿Õ¼äΪ4GB¡£
ARMÌåϵ½á¹¹¿ÉÒÔÓÃÁ½ÖÖ·½·¨´æ´¢×ÖÊý¾Ý£¬·Ö±ðΪ´ó¶ËģʽºÍС¶Ëģʽ¡£
´ó¶Ëģʽ£¨¸ßµØ¸ßµÍ£©£º×ֵĸß×Ö½Ú´æ´¢Ôڵ͵ØÖ·×Ö½Úµ¥ÔªÖУ¬×ֵĵÍ×Ö½Ú´æ´¢ÔڸߵØÖ·×Ö½Úµ¥ÔªÖС£
С¶Ëģʽ£¨¸ß¸ßµÍµÍ£©£º×ֵĸß×Ö½Ú´æ´¢ÔڸߵØÖ·×Ö½Úµ¥ÔªÖУ¬×ֵĵÍ×Ö½Ú´æ´¢Ôڵ͵ØÖ·×Ö½Úµ¥ÔªÖС£
Èý¡¢ARM´¦ÀíÆ÷¹¤×÷״̬
´Ó±à³ÌµÄ½Ç¶ÈÀ´¿´£¬ARM΢´¦ÀíÆ÷µÄ¹¤×÷״̬һ°ãARMºÍThumbÓÐÁ½ÖÖ£¬²¢¿ÉÔÚÁ½ÖÖ״̬֮¼äÇл»¡£
1¡¢ARM״̬£º´Ëʱ´¦ÀíÆ÷Ö´ÐÐ32λµÄ×Ö¶ÔÆëARMÖ¸Á¾ø´ó²¿·Ö¹¤×÷ÔÚ´Ë״̬¡£
2¡¢Thumb״̬£º´Ëʱ´¦ÀíÆ÷Ö´ÐÐ16λµÄ°ë×Ö¶ÔÆëµÄThumbÖ¸Áî¡£
ËÄ¡¢ARM´¦ÀíÆ÷¹¤×÷ģʽ
1¡¢Óû§Ä£Ê½£¨usr£¬User Mode£©£ºARM´¦ÀíÆ÷Õý³£µÄ³ÌÐòÖ´ÐÐ״̬¡£
2¡¢¿ìËÙÖжÏģʽ£¨fiq£¬Fast Interrupt Request Mode£©£ºÓÃÓÚ¸ßËÙÊý¾Ý´«Êä»òͨµÀ´¦Àí¡£µ±´¥·¢¿ìËÙÖжÏʱ½øÈë´Ëģʽ¡£
3¡¢ÍⲿÖжÏģʽ£¨irq£¬Interrupt Request Mode£©£ºÓÃÓÚͨÓõÄÖжϴ¦Àí¡£µ±´¥·¢ÍⲿÖжÏʱ½øÈë´Ëģʽ¡£
4¡¢¹ÜÀíģʽ£¨svc£¬Supervisor Mode£©£º²Ù×÷ϵͳʹÓõı£»¤Ä£Ê½¡£ÔÚϵͳ¸´Î»»òÖ´ÐÐÈí¼þÖжÏÖ¸ÁîSWIʱ½øÈë¡£
5¡¢Êý¾Ý·ÃÎÊÖÐֹģʽ£¨abt£¬Abort Mode£©£ºµ±Êý¾Ý»òÖ¸ÁîԤȡÖÐֹʱ½øÈë¸Ãģʽ£¬¿ÉÓÃÓÚÐéÄâ´æ´¢¼°´æ´¢±£»¤¡£
6¡¢ÏµÍ³Ä£Ê½£¨sys£¬System Mode£©£ºÔËÐоßÓÐÌØÈ¨µÄ²Ù×÷ϵͳÈÎÎñ¡£
7¡¢Î´¶¨ÒåÖ¸ÁîÖÐֹģʽ£¨und£¬Undefined Mode£©£ºµ±Î´¶¨ÒåµÄÖ¸ÁîÖ´ÐÐʱ½øÈë¸Ãģʽ£¬¿ÉÓÃÓÚÖ§³ÖÓ²¼þд¦ÀíÆ÷µÄÈí¼þ·ÂÕæ¡£
³ýÁËÓû§Ä£Ê½Ö®Í⣬ÆäÓàÁùÖÖģʽ¶¼ÊÇÌØÈ¨Ä£Ê½¡£³ýÁËÓû§Ä£Ê½ºÍϵͳģʽ֮Í⣬ÆäÓàÎåÖÖģʽ¶¼ÊÇÒ쳣ģʽ¡£
ÔÚÌØÈ¨Ä£Ê½Ï³ÌÐò¿ÉÒÔ·ÃÎÊËùÓеÄϵͳ×ÊÔ´¡£·ÇÌØÈ¨Ä£Ê½ºÍÌØÈ¨Ä£Ê½Ö®¼äµÄÇø±ðÔÚÓÚÓÐЩ²Ù×÷Ö»ÄÜÔÚÌØÈ¨Ä£Ê½Ï²ű»ÔÊÐí£¬ÀýÈçÖ±½Ó¸Ä±äģʽºÍÖжÏʹÄܵȡ£¶øÇÒΪÁ˱£Ö¤Êý¾Ý°²È«£¬Ò»°ãMMU»á¶ÔµØÖ·¿Õ¼ä½øÐл®·Ö£¬Ö»ÓÐÌØÈ¨Ä£Ê½²ÅÄÜ·ÃÎÊËùÓеĵØÖ·¿Õ¼ä¡£¶øÓû§Ä£Ê½Èç¹ûÐèÒª·ÃÎÊÓ²¼þ£¬±ØÐëÇл»µ½ÌØÈ¨Ä£Ê½Ï£¬²ÅÔÊÐí·ÃÎÊÓ²¼þ¡£
Îå¡¢ARM´¦ÀíÆ÷¼Ä´æÆ÷×éÖ¯
ARM¹²ÓÐ37¸ö32λ¼Ä´æÆ÷£¬ÆäÖÐ31¸öΪͨÓüĴæÆ÷£¬ 6¸öΪ״̬¼Ä´æÆ÷£¬°üÀ¨R0-R15£¬R8_fiq-R14_fiq£¬
R13_svc,R14_svc,R13_abt,R14_abt ,R13_irq,R14_irq,R13_und,R14_und
,CPSR,SPSR_fiq,SPSR_svc,SPSR_abt, SPSR_irq£¬SPSR_und¡£Èçͼ¡£

ͨÓüĴæÆ÷°üÀ¨R0-R15£¬¿ÉÒÔ·ÖΪ3Àࣺ
1¡¢Î´·Ö×é¼Ä´æÆ÷R0-R7
ÔÚËùÓÐÔËÐÐģʽÏ£¬Î´·Ö×é¼Ä´æÆ÷¶¼Ö¸Ïòͬһ¸öÎïÀí¼Ä´æÆ÷£¬ËûÃÇδ±»ÏµÍ³ÓÃ×÷ÌØÊâµÄÓÃ;¡£Òò´ËÔÚÖжϻòÒì³£´¦Àí½øÐÐÒ쳣ģʽת»»Ê±£¬ÓÉÓÚ²»Í¬µÄ´¦ÀíÆ÷ÔËÐÐģʽ¾ùʹÓÃÏàͬµÄÎïÀí¼Ä´æÆ÷£¬ËùÒÔ¿ÉÄÜÔì³É¼Ä´æÆ÷ÖÐÊý¾ÝµÄÆÆ»µ¡£
2¡¢·Ö×é¼Ä´æÆ÷R8-R14
¶ÔÓÚ·Ö×é¼Ä´æÆ÷£¬ËûÃÇÿ´ÎËù·ÃÎʵÄÎïÀí¼Ä´æÆ÷¶¼Ó뵱ǰµÄ´¦ÀíÆ÷ÔËÐÐģʽÏà¹Ø¡£¾ßÌåÈçÉÏͼ¡£
R13³£ÓÃ×÷´æ·Å¶ÑÕ»Ö¸Õ룬Óû§Ò²¿ÉÒÔʹÓÃÆäËû¼Ä´æÆ÷´æ·Å¶ÑÕ»Ö¸Õ룬µ«ÔÚThumbÖ¸ÁÏ£¬Ä³Ð©Ö¸ÁîÇ¿ÖÆÒªÇóʹÓÃR13´æ·Å¶ÑÕ»Ö¸Õë¡£
R14³ÆÎªÁ´½Ó¼Ä´æÆ÷£¨LR£¬Link Register£©£¬µ±Ö´ÐÐ×Ó³ÌÐòʱ£¬R14¿ÉµÃµ½R15£¨PC£©µÄ±¸·Ý£¬Ö´ÐÐÍê×Ó³ÌÐòºó£¬ÓÖ½«R14µÄÖµ¸´ÖÆ»ØPC£¬¼´Ê¹ÓÃR14±£´æ·µ»ØµØÖ·¡£
3¡¢³ÌÐò¼ÆÊýÆ÷PC£¨R15£©
¼Ä´æÆ÷R15ÓÃ×÷³ÌÐò¼ÆÊýÆ÷£¨PC£©£¬ÔÚARM״̬Ï£¬Î»[1:0]Ϊ0£¬Î»[31:2]ÓÃÓÚ±£´æPC£»ÔÚThumb״̬ÏÂ,λ[0]Ϊ0£¬Î»[31:1]ÓÃÓÚ±£´æPC¡£
ÓÉÓÚARMÌåϵ½á¹¹²ÉÓÃÁ˶༶Á÷Ë®Ïß¼¼Êõ£¬¶ÔÓÚARMÖ¸Á¶øÑÔ£¬PC×ÜÊÇÖ¸Ïòµ±Ç°Ö¸ÁîµÄÏÂÁ½ÌõÖ¸ÁîµÄµØÖ·£¬¼´PCµÄֵΪµ±Ç°Ö¸ÁîµÄµØÖ·Öµ¼Ó8¸ö×Ö½Ú¡£
Áù¡¢³ÌÐò״̬¼Ä´æÆ÷CPSRºÍSPSR
CPSR£¨Current Program Status Register£¬µ±Ç°³ÌÐò״̬¼Ä´æÆ÷£©£¬CPSR¿ÉÔÚÈκÎÔËÐÐģʽϱ»·ÃÎÊ£¬Ëü°üÀ¨Ìõ¼þ±ê־λ¡¢ÖжϽûֹλ¡¢µ±Ç°´¦ÀíÆ÷ģʽ±ê־λÒÔ¼°ÆäËûһЩÏà¹ØµÄ¿ØÖƺÍ״̬λ¡£
ÿһÖÖÔËÐÐģʽ϶¼ÓÐÒ»¸öרÓõÄÎïÀí״̬¼Ä´æÆ÷£¬³ÆÎªSPSR£¨Saved Program Status
Register£¬±¸·ÝµÄ³ÌÐò״̬¼Ä´æÆ÷£©£¬µ±Òì³£·¢Éúʱ£¬SPSRÓÃÓÚ±£´æµ±Ç°CPSRµÄÖµ£¬´ÓÒì³£Í˳öʱÔò¿ÉÓÉSPSRÀ´»Ö¸´CPSR¡£
ÓÉÓÚÓû§Ä£Ê½ºÍϵͳģʽ²»ÊôÓÚÒ쳣ģʽ£¬ÕâÁ½ÖÖ״̬ÏÂûÓÐSPSR£¬Òò´ËÔÚÕâÁ½ÖÖ״̬Ï·ÃÎÊSPSR£¬½á¹ûÊÇδ֪µÄ¡£
CPSR±£´æÊý¾ÝµÄ½á¹¹£º

1¡¢N£¨Negative£©£ºµ±ÓÃÁ½¸ö²¹Âë±íʾµÄ´ø·ûºÅÊý½øÐÐÔËËãʱ£¬N=1±íʾ½á¹ûΪ¸º£¬N=0±íʾ½á¹ûΪÕýÊý»òÁã
2¡¢Z£¨Zero£©£ºZ=1±íʾÔËËã½á¹ûΪ0£¬Z=0±íʾÔËËã½á¹û·ÇÁã
3¡¢C£¨Carry£©£ºÓÐ4ÖÖ·½·¨¿ÉÒÔÉèÖÃCµÄÖµ£º
£¨1£©¼Ó·¨Ö¸Á°üÀ¨±È½ÏÖ¸ÁîCMP£©
£¨2£©µ±ÔËËã²úÉú½øÎ»Ê±£¨ÎÞ·ûºÅÊýÒç³ö£©£¬C=1£¬·ñÔòC=0
£¨3£©¼õ·¨ÔËË㣨°üÀ¨±È½ÏÖ¸ÁîCMP£©
£¨4£©µ±ÔËËã²úÉúÁ˽è루ÎÞ·ûºÅÊýÒç³ö£©£¬C=0£¬·ñÔòC=1
¶ÔÓÚ°üº¬ÒÆÎ»²Ù×÷µÄ·Ç¼Ó/¼õÔËËãÖ¸ÁCÎªÒÆ³öÖµµÄ×îºóһλ¡£¶ÔÓÚÆäËûµÄ·Ç¼Ó/¼õÔËËãÖ¸ÁCµÄֵͨ³£²»±ä¡£
4¡¢V£¨Overflow£©£ºÓÐ2ÖÖ·½·¨ÉèÖÃVµÄÖµ£º
£¨1£©¶ÔÓÚ¼Ó/¼õ·¨ÔËËãÖ¸Áµ±²Ù×÷ÊýºÍÔËËã½á¹ûΪ¶þ½øÖƵIJ¹Âë±íʾµÄ´ø·ûºÅÊýʱ£¬V=1±íʾ·ûºÅλÒç³ö¡£
£¨2£©¶ÔÓÚÆäËûµÄ·Ç¼Ó¼õ·¨ÔËËãÖ¸ÁVµÄֵͨ³£²»±ä¡£
5¡¢I£¨Interrupt Request£©£ºI=1±íʾ½ûÖ¹ÏìÓ¦irq£¬I=0±íʾÔÊÐíÏìÓ¦
6¡¢F£¨Fast Interrupt Request£©£ºF=1±íʾ½ûÖ¹ÏìÓ¦fiq£¬F=0±íʾÔÊÐíÏìÓ¦
7¡¢T£¨Thumb£©£ºT=0±íʾµ±Ç°×´Ì¬Î»ARM״̬£¬T=1±íʾΪThumb״̬
8¡¢M4-M0£º±íʾµ±Ç°´¦ÀíÆ÷µÄ¹¤×÷ģʽ£¬Èçͼ£º

Æß¡¢¹¤×÷ģʽµÄÇл»
£¨1£©Ö´ÐÐÈíÖжϣ¨SWI£©»ò¸´Î»ÃüÁReset£©Ö¸Áî¡£Èç¹ûÔÚÓû§Ä£Ê½ÏÂÖ´ÐÐSWIÖ¸ÁCPU¾Í½øÈë¹ÜÀí£¨Supervisor£©Ä£Ê½¡£µ±È»£¬ÔÚÆäËûģʽÏÂÖ´ÐÐSWI£¬Ò²»á½øÈë¸Ãģʽ£¬²»¹ýÒ»°ã²Ù×÷ϵͳ²»»áÕâô×ö£¬ÒòΪ³ýÁËÓû§Ä£Ê½ÊôÓÚ·ÇÌØÈ¨Ä£Ê½£¬ÆäËûģʽ¶¼ÊôÓÚÌØÈ¨Ä£Ê½¡£Ö´ÐÐSWIÖ¸ÁîÒ»°ãÊÇΪÁË·ÃÎÊϵͳ×ÊÔ´£¬¶øÔÚÌØÈ¨Ä£Ê½Ï¿ÉÒÔ·ÃÎÊËùÓеÄϵͳ×ÊÔ´¡£SWIÖ¸ÁîÒ»°ãÓÃÀ´Îª²Ù×÷ϵͳÌṩAPI½Ó¿Ú¡£
£¨2£©ÓÐÍⲿÖжϷ¢Éú¡£Èç¹û·¢ÉúÁËÍⲿÖжϣ¬CPU¾Í»á½øÈëIRQ»òFIQģʽ¡£
£¨3£©CPUÖ´Ðйý³ÌÖвúÉúÒì³£¡£×îµäÐ͵ÄÒì³£ÊÇÓÉÓÚMMU±£»¤ËùÒýÆðµÄÄÚ´æ·ÃÎÊÒì³££¬´ËʱCPU»áÇл»µ½Abortģʽ¡£Èç¹ûÊÇÎÞЧָÁÔò»á½øÈëUndefinedģʽ¡£
£¨4£©ÓÐÒ»ÖÖģʽÊÇCPUÎÞ·¨×Ô¶¯½øÈëµÄ£¬ÕâÖÖģʽ¾ÍÊÇSystemģʽ£¬Òª½øÈëSystemģʽ±ØÐëÓɳÌÐòÔ±±àдָÁîÀ´ÊµÏÖ¡£Òª½øÈëSystemģʽֻÐè¸Ä±äCPSRµÄģʽλΪSystemģʽ¶ÔÓ¦µÄģʽλ¼´¿É¡£½øÈëSystemģʽһ°ãÊÇΪÁËÀûÓÃSystemģʽºÍÓû§Ä£Ê½ÏµļĴæÆ÷ÏàͬµÄÌØµã£¬Òò´ËÒ»°ãÇé¿öÏ£¬²Ù×÷ϵͳÔÚͨ¹ýSWI½øÈëSupervisorģʽºó£¬×öһЩ²Ù×÷ºó£¬¾Í½øÈëSystemģʽ¡£
£¨5£©ÔÚÈκÎÌØÈ¨Ä£Ê½Ï£¬¶¼¿ÉÒÔͨ¹ýÐÞ¸ÄCPSRµÄMODEÓòÀ´½øÈëÆäËûģʽ¡£²»¹ýÐèҪעÒâµÄÊÇÓÉÓÚÐ޸ĵÄCPSRÊǸÃģʽϵÄÓ°×ÓCPSR£¬¼´SPSR£¬Òò´Ë²¢²»ÊÇʵ¼ÊµÄCPSR£¬ËùÒÔÒ»°ãµÄ×ö·¨ÊÇÐÞ¸ÄÓ°×ÓCPSR£¬È»ºóÖ´ÐÐÒ»¸öMOVSÖ¸ÁîÀ´»Ö¸´Ö´ÐÐij¸ö¶Ïµã²¢Çл»µ½ÐÂģʽ¡£ |