[302] | 1 | TOPPERS Confidential
|
---|
| 2 | TOPPERSããã¸ã§ã¯ã è¨è¨ã¡ã¢
|
---|
| 3 | ARMã®ã¢ã¼ããã¯ãã£ã«é¢ããã¡ã¢
|
---|
| 4 |
|
---|
| 5 | ä½æè
|
---|
| 6 | : é«ç°åºç« ï¼åå¤å±å¤§å¦ï¼
|
---|
| 7 | æçµæ´æ°: 2015å¹´8æ18æ¥
|
---|
| 8 |
|
---|
| 9 | âã¡ã¢ã®ä½ç½®ã¥ã
|
---|
| 10 |
|
---|
| 11 | ãã®ã¡ã¢ã¯ï¼ARMã®ã¢ã¼ããã¯ãã£ã«é¢ãã¦ï¼TOPPERSã«ã¼ãã«ããã¼ãã£ã³ã°
|
---|
| 12 | ããã«ããã£ã¦å¿
|
---|
| 13 | è¦ã¨ãªãäºé
|
---|
| 14 | ãã¾ã¨ãããã®ã§ããï¼
|
---|
| 15 |
|
---|
| 16 | ãªãï¼ãã®ã¡ã¢ã§å¯¾è±¡ã¨ããARMã¢ã¼ããã¯ãã£ã¯ä»¥ä¸ã®ãã®ã§ããï¼ARM-Mã¢ã¼
|
---|
| 17 | ããã¯ãã£ï¼Cortex-Mã·ãªã¼ãºï¼ããã³ARMv8ã¢ã¼ããã¯ãã£ï¼64ãããARMï¼
|
---|
| 18 | ã¯æ±ããªãï¼
|
---|
| 19 |
|
---|
| 20 | ARMv4ï¼ARM7TDMIï¼ARM9TDMIï¼
|
---|
| 21 | ARMv5ï¼ARM9Eï¼ARM10Eï¼
|
---|
| 22 | ARMv6ï¼ARM11ï¼
|
---|
| 23 | ARMv7-Aï¼Cortex-A8ï¼Cortex-A9ï¼Cortex-A15ãªã©ï¼
|
---|
| 24 | ARMv7-Rï¼Cortex-R4ï¼Cortex-R5ï¼Cortex-R7ï¼
|
---|
| 25 |
|
---|
| 26 | ARMã®MMUé¢é£ã®äºé
|
---|
| 27 | ã«ã¤ãã¦ã¯ï¼ãARMã®VMSAã«é¢ããã¡ã¢ããåç
|
---|
| 28 | §ãããã¨ï¼
|
---|
| 29 |
|
---|
| 30 | âç®æ¬¡
|
---|
| 31 |
|
---|
| 32 | ã»åèæç®
|
---|
| 33 | ã»å®è¡ã¢ã¼ã
|
---|
| 34 | - ç¹æ¨©ã¬ãã«
|
---|
| 35 | - ããã»ããµã¢ã¼ã
|
---|
| 36 | ã»æ±ç¨ã¬ã¸ã¹ã¿
|
---|
| 37 | - ã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã®æ±ç¨ã¬ã¸ã¹ã¿
|
---|
| 38 | - ã·ã¹ãã ã¬ãã«ã®æ±ç¨ã¬ã¸ã¹ã¿
|
---|
| 39 | ã»ããã°ã©ã ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
|
---|
| 40 | - ã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
|
---|
| 41 | - ã·ã¹ãã ã¬ãã«ã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
|
---|
| 42 | - å®æ°å¤ã®å®ç¾©
|
---|
| 43 | ã»è¤æ°ã®ã¬ã¸ã¹ã¿ã®æä½
|
---|
| 44 | - ã¢ãã¬ãã·ã³ã°ã¢ã¼ã
|
---|
| 45 | - ã¬ã¸ã¹ã¿ã®ãã¼ãï¼ã¹ãã¢é åº
|
---|
| 46 | - Wãããï¼"!"ã®ä»å ï¼
|
---|
| 47 | - Sãããï¼"^"ã®ä»å ï¼
|
---|
| 48 | ã»ä¾å¤
|
---|
| 49 | - ä¾å¤ã®ç¨®é¡ã¨ã¢ã¼ã/ãã¯ã¿
|
---|
| 50 | - ä¾å¤åä»æã®å¦ç
|
---|
| 51 | - å²è¾¼ã¿ã®åºå
|
---|
| 52 | ¥å£
|
---|
| 53 | - ARMv6以éã®ä¾å¤å¦çå½ä»¤
|
---|
| 54 | ã»ã·ã¹ãã å½ä»¤ãªãã¡ã¬ã³ã¹
|
---|
| 55 | - ldm
|
---|
| 56 | - stm
|
---|
| 57 | - mrs
|
---|
| 58 | - msr
|
---|
| 59 | - cps
|
---|
| 60 | ã»ãã£ãã·ã¥ã¨åå²äºæ¸¬
|
---|
| 61 | - ãã£ãã·ã¥ã®èå¥
|
---|
| 62 | - ãã£ãã·ã¥ã®æ¯èã
|
---|
| 63 | - ãã£ãã·ã¥ã®ã¤ãã¼ãã«ï¼ãã£ã¹ã¨ã¼ãã«
|
---|
| 64 | - ARMv7ã«ããããã£ãã·ã¥ã¨åå²äºæ¸¬ã®ã¡ã³ããã³ã¹æä½
|
---|
| 65 | ã»TLBã®ã¡ã³ããã³ã¹æä½
|
---|
| 66 | - VMSAã«ãããTLBã®ã¡ã³ããã³ã¹æä½
|
---|
| 67 | ã»ã¡ã¢ãªã¿ã¤ãã»å±æ§ã¨ã¡ã¢ãªé åºã¢ãã«
|
---|
| 68 | - ã¡ã¢ãªã¿ã¤ã
|
---|
| 69 | - ã¡ã¢ãªå±æ§
|
---|
| 70 | - Deviceã¨Strongly-orderedã¡ã¢ãª
|
---|
| 71 | ã»ã¡ã¢ãªã¢ã¯ã»ã¹é åº
|
---|
| 72 | - ãªã¼ãã¨ã©ã¤ã
|
---|
| 73 | - ã¡ã¢ãªã¢ã¯ã»ã¹ã®é åºè¦æ±
|
---|
| 74 | - ã¡ã¢ãªããªã¢
|
---|
| 75 | - CPSRã®å¤æ´ã¨ã¡ã¢ãªé åºã¢ãã«
|
---|
| 76 | - ããªã¢å½ä»¤ã®ä½¿ç¨ä¾
|
---|
| 77 | ã»ã³ããã»ããµ
|
---|
| 78 | - ã³ããã»ããµãµãã¼ã
|
---|
| 79 | - ã³ããã»ããµå½ä»¤
|
---|
| 80 | ã»CP15
|
---|
| 81 | - ä»®æ³ã¡ã¢ãªã·ã¹ãã ã¢ã¼ããã¯ãã£ï¼VMSAï¼ã§ã®ã¬ã¸ã¹ã¿
|
---|
| 82 | - ç©çã¡ã¢ãªã·ã¹ãã ã¢ã¼ããã¯ãã£ï¼PMSAï¼ã§ã®ã¬ã¸ã¹ã¿
|
---|
| 83 | - ããã©ã¼ãã³ã¹ã¢ãã¿ã¬ã¸ã¹ã¿
|
---|
| 84 |
|
---|
| 85 | âåèæç®
|
---|
| 86 |
|
---|
| 87 | [1] ARM Architecture Reference Manual, 2005
|
---|
| 88 | DDI 01001.pdf
|
---|
| 89 | â» ARMv6以åã®å®ç¾©
|
---|
| 90 |
|
---|
| 91 | [2] ARM Architecture Reference Manual - ARMv7-A and ARv7-R edition, 2014
|
---|
| 92 | DDI0406C_C_arm_architecture_reference_manual.pdf
|
---|
| 93 | â» ARMv7ã®å®ç¾©ï¼ARMv6以åã¨ã®å·®åã«ã¤ãã¦ãè¨è¼ãã
|
---|
| 94 |
|
---|
| 95 | âç¨èªé
|
---|
| 96 |
|
---|
| 97 | RAZ Read-As-Zero
|
---|
| 98 | RAZ/WI Read-As-Zero Write-Ignored
|
---|
| 99 | RAZ/SBZP Read-As-Zero Should-Be-Zero-or-Preserved on writes
|
---|
| 100 |
|
---|
| 101 | âå®è¡ã¢ã¼ã
|
---|
| 102 |
|
---|
| 103 | âç¹æ¨©ã¬ãã«
|
---|
| 104 |
|
---|
| 105 | ARMã¯ï¼ä»¥ä¸ã®ç¹æ¨©ã¬ãã«ãæã¤ï¼
|
---|
| 106 |
|
---|
| 107 | PL0 ã¦ã¼ã¶ããã°ã©ã ãå®è¡ããã¢ã¼ãï¼éç¹æ¨©ã¬ãã«
|
---|
| 108 | PL1 OSãå®è¡ããã¬ãã«ï¼ã¹ã¼ããã¤ã¶ã¬ãã«ï¼ããããç¹æ¨©ã¬ãã«ï¼
|
---|
| 109 | PL2 VMMãå®è¡ããã¬ãã«ï¼ãã¤ããã¤ã¶ã¬ãã«ãä»®æ³åæ¡å¼µã
|
---|
| 110 |
|
---|
| 111 | ã»ãã¥ãªãã£æ¡å¼µã«ããã¦ï¼Secureç¶æ
|
---|
| 112 | ã¯ï¼PL2ãæããªãï¼è¨ãæããã¨ï¼
|
---|
| 113 | PL2ã¯ï¼Non-secureç¶æ
|
---|
| 114 | ã«éãããï¼Secureç¶æ
|
---|
| 115 | ã§VMãç¨ãããã¨ã¯æ³å®ãã¦ã
|
---|
| 116 | ãªãï¼ï¼
|
---|
| 117 |
|
---|
| 118 | âããã»ããµã¢ã¼ãï¼[2] B.1.3ç¯ï¼
|
---|
| 119 |
|
---|
| 120 | ARMã¯ï¼ä»¥ä¸ã®ããã»ããµã¢ã¼ããæã¤ï¼
|
---|
| 121 |
|
---|
| 122 | User usr ã¦ã¼ã¶
|
---|
| 123 | FIQ fiq FIQ
|
---|
| 124 | IRQ irq IRQ
|
---|
| 125 | Supervisor svc ã¹ã¼ããã¤ã¶
|
---|
| 126 | Abort abt ã¢ãã¼ã
|
---|
| 127 | Undefined und æªå®ç¾©
|
---|
| 128 | System sys ã·ã¹ãã
|
---|
| 129 |
|
---|
| 130 | ã¦ã¼ã¶ã¢ã¼ãã¯éç¹æ¨©ã¬ãã«ï¼PL0ï¼ï¼ãã®ä»ã¯ç¹æ¨©ã¬ãã«ï¼PL1ï¼ã§ããï¼ã¦ã¼
|
---|
| 131 | ã¶ã¢ã¼ãã¨ã·ã¹ãã ã¢ã¼ã以å¤ãï¼ä¾å¤ã¢ã¼ãã¨ç·ç§°ããï¼
|
---|
| 132 |
|
---|
| 133 | ã»ãã¥ãªãã£æ¡å¼µã§ã¯ï¼Secureç¶æ
|
---|
| 134 | ã¨Non-secureç¶æ
|
---|
| 135 | ã®åãæãç¨ã«ï¼ä»¥ä¸ã®
|
---|
| 136 | ã¢ã¼ããæã¤ï¼ä»¥ä¸ï¼ãã®ã¡ã¢ã§ã¯æ±ããªãï¼ï¼ãã®ã¢ã¼ãã¯ï¼ç¹æ¨©ã¬ãã«
|
---|
| 137 | ï¼PL1ï¼ã§ããï¼Secureç¶æ
|
---|
| 138 | ã«éå®ãããï¼
|
---|
| 139 |
|
---|
| 140 | Monitor mon ã¢ãã¿
|
---|
| 141 |
|
---|
| 142 | ã¾ãï¼ä»®æ³åæ¡å¼µã§ã¯ï¼ä»¥ä¸ã®ã¢ã¼ããæã¤ï¼ä»¥ä¸ï¼ãã®ã¡ã¢ã§ã¯æ±ããªãï¼ï¼
|
---|
| 143 | ãã®ã¢ã¼ãã¯ï¼ãã¤ããã¤ã¶ã¬ãã«ï¼PL2ï¼ã§ããï¼Non-secureç¶æ
|
---|
| 144 | ã«éå®ãã
|
---|
| 145 | ãï¼
|
---|
| 146 |
|
---|
| 147 | Hyp hyp ãã¤ããã¤ã¶
|
---|
| 148 |
|
---|
| 149 | âæ±ç¨ã¬ã¸ã¹ã¿
|
---|
| 150 |
|
---|
| 151 | âã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã®æ±ç¨ã¬ã¸ã¹ã¿
|
---|
| 152 |
|
---|
| 153 | ARMã®æ±ç¨ã¬ã¸ã¹ã¿ã¯ï¼r0ãr15ã®16æ¬ããï¼ãã ãï¼ä»¥ä¸ã®ã¬ã¸ã¹ã¿ã¯ç¹æ®ç®
|
---|
| 154 | çã«ä½¿ããã¦ããï¼æ±ç¨ã¬ã¸ã¹ã¿ã¨ãã¦ã¯ä½¿ç¨ããªãï¼
|
---|
| 155 |
|
---|
| 156 | r13 ã¹ã¿ãã¯ãã¤ã³ã¿ sp
|
---|
| 157 | r14 ãªã³ã¯ã¬ã¸ã¹ã¿ lr
|
---|
| 158 | r15 ããã°ã©ã ã«ã¦ã³ã¿ pc
|
---|
| 159 |
|
---|
| 160 | ã¾ãï¼ä»¥ä¸ã®ã¬ã¸ã¹ã¿ãç¹æ®ç®çã«ä½¿ãããå ´åããããï¼é常ã¯æ±ç¨ã¬ã¸ã¹
|
---|
| 161 | ã¿ã¨ãã¦ä½¿ç¨ããï¼
|
---|
| 162 |
|
---|
| 163 | r12 InterProcedure ip
|
---|
| 164 |
|
---|
| 165 | ç¹æ®ç®çã®ã¬ã¸ã¹ã¿ä»¥å¤ã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã¯ä»¥ä¸ã®éãï¼
|
---|
| 166 |
|
---|
| 167 | r0, r1, r2, r3, r12
|
---|
| 168 |
|
---|
| 169 | ãã®ä»ã®ã¬ã¸ã¹ã¿ï¼r4ãr11ï¼ã¯ï¼callee saved registerã§ããï¼
|
---|
| 170 |
|
---|
| 171 | âã·ã¹ãã ã¬ãã«ã®æ±ç¨ã¬ã¸ã¹ã¿
|
---|
| 172 |
|
---|
| 173 | åä¾å¤ã¢ã¼ãã¯ï¼å°ç¨ã®spï¼r13ï¼ã¨lrï¼r14ï¼ãæã¤ï¼FIQã¢ã¼ãã¯ï¼ããã«å
|
---|
| 174 | ãã¦ï¼R8ãR12ãå°ç¨ã«æã¤ï¼ãã®ä»ã®ã¬ã¸ã¹ã¿ï¼pcãå«ãï¼ã¯ï¼ã¦ã¼ã¶ã¢ã¼ã
|
---|
| 175 | ã¨å
|
---|
| 176 | ±ç¨ãã¦ããï¼
|
---|
| 177 |
|
---|
| 178 | ã·ã¹ãã ã¢ã¼ãã¯ï¼ãã¹ã¦ã®ã¬ã¸ã¹ã¿ãã¦ã¼ã¶ã¢ã¼ãã¨å
|
---|
| 179 | ±ç¨ãã¦ããï¼ã¤ã¾ãï¼
|
---|
| 180 | ã·ã¹ãã ã¢ã¼ãã¨ã¦ã¼ã¶ã¢ã¼ãã®éãã¯ï¼ç¹æ¨©ã¢ã¼ããå¦ãã®éãã®ã¿ï¼ï¼
|
---|
| 181 |
|
---|
| 182 | ç¹å®ã®ã¢ã¼ãã®spã¨lrãï¼sp_usrï¼lr_usrï¼sp_svcï¼lr_svcã®ããã«è¡¨è¨ããï¼
|
---|
| 183 |
|
---|
| 184 | âããã°ã©ã ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
|
---|
| 185 |
|
---|
| 186 | âã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
|
---|
| 187 |
|
---|
| 188 | ã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã¨ãã¦ï¼APSRï¼Application
|
---|
| 189 | Program Status Registerï¼ãããï¼APSRã®æ§æã¯ä»¥ä¸ã®éãï¼
|
---|
| 190 |
|
---|
| 191 | ããã31ï¼MSBï¼ Nãã©ã°ï¼Negativeï¼
|
---|
| 192 | 30 Zãã©ã°ï¼Zeroï¼
|
---|
| 193 | 29 Cãã©ã°ï¼Carryï¼
|
---|
| 194 | 28 Vãã©ã°ï¼Overflowï¼
|
---|
| 195 | 27 Qãã©ã°ï¼Overflowã¾ãã¯Saturationï¼DSPå½ä»¤ç¨ï¼
|
---|
| 196 | 26ã24 常ã«0ï¼RAZ/SBZPï¼
|
---|
| 197 | 23ã20 äºç´
|
---|
| 198 | 19ã16 GE[3:0] Greater or Equalãã©ã°ï¼SIMDå½ä»¤ç¨ï¼
|
---|
| 199 | 15ã0 äºç´
|
---|
| 200 |
|
---|
| 201 | âã·ã¹ãã ã¬ãã«ã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿
|
---|
| 202 |
|
---|
| 203 | ã·ã¹ãã ã¬ãã«ã®ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã¨ãã¦ï¼CPSRï¼Current Program Status
|
---|
| 204 | Registerï¼ãããï¼CPSRã¯ï¼APSRã®æ¡å¼µã§ããï¼è¨ãæããã¨ï¼APSRã¯ï¼CPSR
|
---|
| 205 | ã®ä¸é¨ãè¦ãã¦ããï¼ï¼CPSRã®æ§æã¯ä»¥ä¸ã®éãï¼
|
---|
| 206 |
|
---|
| 207 | ããã31ã27 N,Z,C,V,Qãã©ã° ⦠APSRã¨åã
|
---|
| 208 | 26ã25 IT[1:0] ä¸ã®ITãããã®ä¸ä½2ããã
|
---|
| 209 | 24 Jãããï¼Jazelleãããï¼
|
---|
| 210 | 23ã20 äºç´
|
---|
| 211 | 19ã16 GE[3:0] Greater or Equalãã©ã°ï¼SIMDå½ä»¤ç¨ï¼â¦ APSRã¨åã
|
---|
| 212 | 15ã10 IT[7:2] If-Thenå®è¡ç¶æ
|
---|
| 213 | ãããï¼Thumb ITå½ä»¤ç¨ï¼
|
---|
| 214 | 9 Eãããï¼ã¨ã³ãã£ã¢ã³ç¶æ
|
---|
| 215 | ï¼
|
---|
| 216 | 8 Aãããï¼éåæã¢ãã¼ãç¦æ¢ï¼
|
---|
| 217 | 7 Iãããï¼IRQç¦æ¢ï¼
|
---|
| 218 | 6 Fãããï¼FIQç¦æ¢ï¼
|
---|
| 219 | 5 Tãããï¼Thumbãããï¼Jãããã¨åããã¦å½ä»¤ã»ãããæå®ï¼
|
---|
| 220 | 4ã0 M[4:0] ããã»ããµã¢ã¼ã
|
---|
| 221 |
|
---|
| 222 | CPSRã¯ï¼ãã¹ã¦ã®ã¢ã¼ãã§å
|
---|
| 223 | ±ç¨ãã¦ããï¼ã¤ã¾ãï¼CPSRã¯1ã¤ãããªãï¼ï¼
|
---|
| 224 |
|
---|
| 225 | ã¢ã¼ãåæãåã®CPSRãä¿åããããã®ã¬ã¸ã¹ã¿ã¨ãã¦ï¼SPSRï¼Saved
|
---|
| 226 | Program Status Registerï¼ãããï¼SPSRã¯ï¼åä¾å¤ã¢ã¼ãæ¯ã«å°ç¨ã«æã¤ï¼ã¦ã¼
|
---|
| 227 | ã¶ã¢ã¼ãã¨ã·ã¹ãã ã¢ã¼ãã¯ï¼SPSRãæããªãï¼ï¼
|
---|
| 228 |
|
---|
| 229 | âã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã«é¢ããå®æ°å¤ã®å®ç¾©ï¼arm.hï¼
|
---|
| 230 |
|
---|
| 231 | ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã«è¨å®ããå¤ã表ãããã®å®æ°å¤ãç¨æãã¦ããï¼
|
---|
| 232 |
|
---|
| 233 | /*
|
---|
| 234 | * CPSRã®å²è¾¼ã¿ç¦æ¢ããã
|
---|
| 235 | */
|
---|
| 236 | #define CPSR_INT_MASK UINT_C(0xc0)
|
---|
| 237 | #define CPSR_IRQ_BIT UINT_C(0x80)
|
---|
| 238 | #define CPSR_FIQ_BIT UINT_C(0x40)
|
---|
| 239 |
|
---|
| 240 | /*
|
---|
| 241 | * CPSRã®Thumbããã
|
---|
| 242 | */
|
---|
| 243 | #define CPSR_THUMB_BIT UINT_C(0x20)
|
---|
| 244 |
|
---|
| 245 | /*
|
---|
| 246 | * CPSRã®ã¢ã¼ãããã
|
---|
| 247 | */
|
---|
| 248 | #define CPSR_MODE_MASK UINT_C(0x1f)
|
---|
| 249 | #define CPSR_USR_MODE UINT_C(0x10)
|
---|
| 250 | #define CPSR_FIQ_MODE UINT_C(0x11)
|
---|
| 251 | #define CPSR_IRQ_MODE UINT_C(0x12)
|
---|
| 252 | #define CPSR_SVC_MODE UINT_C(0x13)
|
---|
| 253 | #define CPSR_ABT_MODE UINT_C(0x17)
|
---|
| 254 | #define CPSR_UND_MODE UINT_C(0x1b)
|
---|
| 255 | #define CPSR_SYS_MODE UINT_C(0x1f)
|
---|
| 256 |
|
---|
| 257 | âè¤æ°ã®ã¬ã¸ã¹ã¿ã®æä½
|
---|
| 258 |
|
---|
| 259 | âã¢ãã¬ãã·ã³ã°ã¢ã¼ã
|
---|
| 260 |
|
---|
| 261 | è¤æ°ã®ã¬ã¸ã¹ã¿ã®ãã¼ãï¼ã¹ãã¢ã«ã¯ï¼4ã¤ã®ã¢ãã¬ãã·ã³ã°ã¢ã¼ããããï¼
|
---|
| 262 |
|
---|
| 263 | IAï¼Increment Afterï¼ æå®ããçªå°ãã大ããæ¹ã®çªå°ã«åãã£ã¦ä½¿ç¨
|
---|
| 264 | IBï¼Increment Beforeï¼ æå®ããçªå°ï¼4ãã大ããæ¹ã®çªå°ã«åãã£ã¦ä½¿ç¨
|
---|
| 265 | DAï¼Decrement Afterï¼ æå®ããçªå°ããå°ããæ¹ã®çªå°ã«åãã£ã¦ä½¿ç¨
|
---|
| 266 | DBï¼Decrement Beforeï¼ æå®ããçªå°â4ããå°ããæ¹ã®çªå°ã«åãã£ã¦ä½¿ç¨
|
---|
| 267 |
|
---|
| 268 | ã¹ã¿ãã¯æä½ã®å ´åã«ã¯ï¼ããããããããããã«ï¼ä»¥ä¸ã®4ã¤ã®ã¢ãã¬ãã·ã³
|
---|
| 269 | ã°ã¢ã¼ããç¨ããï¼
|
---|
| 270 |
|
---|
| 271 | FDï¼Full Descendingï¼
|
---|
| 272 | EDï¼Empty Descendingï¼
|
---|
| 273 | FAï¼Full Ascendingï¼
|
---|
| 274 | EAï¼Enpty Ascendingï¼
|
---|
| 275 |
|
---|
| 276 | Full ⦠ã¹ã¿ãã¯ãã¤ã³ã¿ã¯ä½¿ã£ã¦ããæå¾ã®çªå°ãæã
|
---|
| 277 | Empty ⦠ã¹ã¿ãã¯ãã¤ã³ã¿ã¯æ¬¡ã«ä½¿ãï¼ã¤ã¾ãï¼ä½¿ã£ã¦ããªãï¼çªå°ãæã
|
---|
| 278 | Descending ⦠ã¹ã¿ãã¯ã¯å°ããçªå°ã«åãã£ã¦ä¼¸ã³ã
|
---|
| 279 | Ascending ⦠ã¹ã¿ãã¯ã¯å¤§ããçªå°ã«åãã£ã¦ä¼¸ã³ã
|
---|
| 280 |
|
---|
| 281 | ã¹ã¿ãã¯æä½ã«ã¯ï¼é常ã¯FDã使ãï¼ldmå½ä»¤ã¨stmå½ä»¤ã«ããã¦ï¼ä»¥ä¸ã®ãã
|
---|
| 282 | ã«å¯¾å¿ããï¼
|
---|
| 283 |
|
---|
| 284 | ã¹ã¿ãã¯æä½ ã¹ã¿ãã¯ä»¥å¤ã®æä½
|
---|
| 285 | stmfdï¼Full Descendingï¼ stmdbï¼Decrement Beforeï¼ â¦ push
|
---|
| 286 | ldmfdï¼Full Descendingï¼ ldmiaï¼Increment Afterï¼ â¦ pop
|
---|
| 287 |
|
---|
| 288 | âã¬ã¸ã¹ã¿ã®ãã¼ãï¼ã¹ãã¢é åº
|
---|
| 289 |
|
---|
| 290 | çªå·ã®å°ããã¬ã¸ã¹ã¿ãï¼å°ããã¢ãã¬ã¹ãããã¼ãï¼ã«ã¹ãã¢ããï¼
|
---|
| 291 |
|
---|
| 292 | âWãããï¼"!"ã®ä»å ï¼
|
---|
| 293 |
|
---|
| 294 | Wãããã1ã®å ´åï¼ãã¼ã¹ã¬ã¸ã¹ã¿ã®å¤ãï¼ã¤ã³ã¯ãªã¡ã³ãã¾ãã¯ãã¯ãªã¡ã³
|
---|
| 295 | ãããå¤ã«ï¼æ´æ°ããï¼
|
---|
| 296 |
|
---|
| 297 | âSãããï¼"^"ã®ä»å ï¼
|
---|
| 298 |
|
---|
| 299 | Sãããã¯ï¼ç¶æ³ã«ãã2ã¤ã®æ©è½ãæã¤ï¼
|
---|
| 300 |
|
---|
| 301 | pcï¼r15ï¼ãå«ãldmã®å ´å
|
---|
| 302 | cpsrãï¼spsrãããã¼ãï¼å¾©å¸°ï¼ãããï¼
|
---|
| 303 |
|
---|
| 304 | stmã¨pcï¼r15ï¼ãå«ã¾ãªãldmã®å ´å
|
---|
| 305 | ç¹æ¨©ã¢ã¼ãã§ä½¿ç¨ããå ´åï¼ã¦ã¼ã¶ã¢ã¼ãã®ã¬ã¸ã¹ã¿ã転éãããï¼
|
---|
| 306 |
|
---|
| 307 | âä¾å¤
|
---|
| 308 |
|
---|
| 309 | âä¾å¤ã®ç¨®é¡ã¨ã¢ã¼ã/ãã¯ã¿
|
---|
| 310 |
|
---|
| 311 | ä¾å¤ã¿ã¤ã ä¾å¤ã¢ã¼ã ãã¯ã¿ã¢ãã¬ã¹
|
---|
| 312 | ãã¼ãã« ãã¤ãã¯ã¿
|
---|
| 313 | ----------------------------------------------------------------------
|
---|
| 314 | Reset ã¹ã¼ããã¤ã¶ 0x00000000 0xffff0000
|
---|
| 315 | Undefined instructions æªå®ç¾© 0x00000004 0xffff0004
|
---|
| 316 | Supervisor Call ã¹ã¼ããã¤ã¶ 0x00000008 0xffff0008
|
---|
| 317 | Prefetch Abort ã¢ãã¼ã 0x0000000c 0xffff000c
|
---|
| 318 | Data Abort ã¢ãã¼ã 0x00000010 0xffff0010
|
---|
| 319 | IRQ (interrupt) IRQ 0x00000018 0xffff0018
|
---|
| 320 | FIQ (fast interrupt) FIQ 0x0000001c 0xffff001c
|
---|
| 321 | ----------------------------------------------------------------------
|
---|
| 322 | â»Supervisor Callã¯ï¼å¤ãããã¥ã¢ã«ã§ã¯Software interrupt (SWI)ã¨æ¸ããã¦ãã
|
---|
| 323 | â»Prefetch Abortï¼å½ä»¤ãã§ããã§ã®ã¡ã¢ãªã¢ãã¼ã
|
---|
| 324 | â»Data Abortï¼ãã¼ã¿ã¢ã¯ã»ã¹ã§ã®ã¡ã¢ãªã¢ãã¼ã
|
---|
| 325 |
|
---|
| 326 | ãã¯ã¿å²è¾¼ã¿ã¢ã¼ãï¼CP15ã§å¶å¾¡ãããï¼ã®å ´åï¼IRQã¨FIQã«å¯¾ãã¦ã¯ï¼ä¸ã®
|
---|
| 327 | ãã¯ã¿ã¢ãã¬ã¹ã¯ä½¿ãããï¼å®è£
|
---|
| 328 | ä¾åã®ã¢ãã¬ã¹ã使ãããï¼
|
---|
| 329 |
|
---|
| 330 | âä¾å¤åä»æã®å¦ç
|
---|
| 331 |
|
---|
| 332 | ã»ä¾å¤çºçæç¹ã®pcã¨cpsrãï¼è©²å½ããä¾å¤ã¢ã¼ãã®lrã¨spsrã«ä¿åãããï¼
|
---|
| 333 | - lrã«ä¿åãããå¤ã¯ï¼ç¶æ³ã«ãã£ã¦ç°ãªãï¼å¾è¿°ï¼ï¼
|
---|
| 334 |
|
---|
| 335 | ã»ãã»ãã¥ãªãã£æ¡å¼µãå¿
|
---|
| 336 | è¦ãªå ´åã«ã¯ï¼Secureã¢ã¼ãã«åãæããï¼
|
---|
| 337 |
|
---|
| 338 | ã»cpsrã以ä¸ã®ããã«å¤æ´ãããï¼
|
---|
| 339 | - ã¢ã¼ããåãä»ããä¾å¤ã®ã¢ã¼ãã«å¤æ´ãããï¼
|
---|
| 340 | - 該å½ããå²è¾¼ã¿ãã¹ã¯ãã»ãããããï¼
|
---|
| 341 | + ResetãFIQãªãï¼FIQãç¦æ¢ããï¼
|
---|
| 342 | + IRQãç¦æ¢ããï¼
|
---|
| 343 | +ãARMv6以éãUNDEFã¨SWI以å¤ãªãï¼éåæã¢ãã¼ããç¦æ¢ããï¼
|
---|
| 344 | - å½ä»¤ã»ããï¼Jï¼Tï¼ãä¾å¤ã¨ã³ããªãè¦æ±ãããå¤ã«ã»ãããããï¼
|
---|
| 345 | + ARMç¶æ
|
---|
| 346 | ã«ããï¼
|
---|
| 347 | - ã¨ã³ãã£ã¢ã³ç¶æ
|
---|
| 348 | ï¼Eï¼ãä¾å¤ã¨ã³ããªãè¦æ±ãããå¤ã«ã»ãããããï¼
|
---|
| 349 | + CP15ã®reg1_EEãããã§æ±ºã¾ãï¼
|
---|
| 350 | - IT[7:0]ã0ã«ã¯ãªã¢ãããï¼
|
---|
| 351 |
|
---|
| 352 | ã»ãã¯ã¿ã¢ãã¬ã¹ã«åå²ããï¼
|
---|
| 353 |
|
---|
| 354 | âlrã«ä¿åãããå¤
|
---|
| 355 |
|
---|
| 356 | ä¾å¤ã¿ã¤ã æã¾ããæ»ãçªå° ãªãã»ãã
|
---|
| 357 | ----------------------------------------------------------------------
|
---|
| 358 | Undefined instructions æªå®ç¾©å½ä»¤ã®çªå° ï¼4/2(*)
|
---|
| 359 | Supervisor Call SVCã®æ¬¡ã®å½ä»¤ã®çªå° ï¼0
|
---|
| 360 | Prefetch Abort ã¢ãã¼ããããå½ä»¤ã®çªå° ï¼4
|
---|
| 361 | Data Abort ã¢ãã¼ããçæããå½ä»¤ã®çªå°ï¼8
|
---|
| 362 | IRQ (interrupt) 次ã«å®è¡ãã¹ãçªå° ï¼4
|
---|
| 363 | FIQ (fast interrupt) 次ã«å®è¡ãã¹ãçªå° ï¼4
|
---|
| 364 | ----------------------------------------------------------------------
|
---|
| 365 | (*) ARMã¢ã¼ãã§ã¯4ï¼Thumbã¢ã¼ãã§ã¯2
|
---|
| 366 | â»æã¾ããæ»ãçªå°ã¯ï¼ããã¾ã§ã1ã¤ã®æ³å®ã¨æãããï¼ä¾ãã°ï¼æªå®ç¾©å½ä»¤
|
---|
| 367 | ããã¨ãã¥ã¬ã¼ã·ã§ã³ããå ´åã«ã¯ï¼ãã®æ¬¡ã®çªå°ã¸æ»ãæ¹ãæ®éã§ãããï¼
|
---|
| 368 |
|
---|
| 369 | âå²è¾¼ã¿ã®åºå
|
---|
| 370 | ¥å£
|
---|
| 371 |
|
---|
| 372 | 以ä¸ã¯ï¼ã¢ã¼ããå¤æ´ããªãå ´åã®å²è¾¼ã¿ã®åºå
|
---|
| 373 | ¥å£ã®å¦çã§ããï¼
|
---|
| 374 |
|
---|
| 375 | å²è¾¼ã¿ã®å
|
---|
| 376 | ¥å£ã§ã¯ï¼lrãã4ãå¼ãã¦æ»ãçªå°ãæ±ããå¾ï¼å¿
|
---|
| 377 | è¦ãªã¬ã¸ã¹ã¿ã¨
|
---|
| 378 | lrï¼æ»ãçªå°ï¼ãã¹ã¿ãã¯ã«ä¿åããï¼
|
---|
| 379 |
|
---|
| 380 | sub lr, lr, #4
|
---|
| 381 | stmfd sp!, {<other_registers>, lr}
|
---|
| 382 |
|
---|
| 383 | å²è¾¼ã¿ã®åºå£ã§ã¯ï¼å¿
|
---|
| 384 | è¦ãªã¬ã¸ã¹ã¿ã¨æ»ãçªå°ãã¹ã¿ãã¯ããï¼æ»ãçªå°ã¯pc
|
---|
| 385 | ã«ï¼ï¼cpsrãspsrãã復帰ããï¼æå¾ã«"^"ãä»ãããã¨ã§ï¼cpsrãspsrãã復
|
---|
| 386 | 帰ãããã¨ã示ãï¼
|
---|
| 387 |
|
---|
| 388 | ldmfd sp!, {<other_registers>, pc}^
|
---|
| 389 |
|
---|
| 390 | ãã®å½ä»¤ã¯ï¼ã·ã¹ãã ã¢ã¼ãã§ã¯ä½¿ããªãï¼spsrããªãããï¼ï¼
|
---|
| 391 |
|
---|
| 392 | âARMv6以éã®ä¾å¤å¦çå½ä»¤
|
---|
| 393 |
|
---|
| 394 | ARMv6ããï¼CPSå½ä»¤ï¼SRSå½ä»¤ï¼RFEå½ä»¤ãç¨æãããï¼ãããã®å½ä»¤ãããå ´
|
---|
| 395 | åã¨ãªãå ´åã§ï¼ä¾å¤å¦çã®åºå
|
---|
| 396 | ¥å£ã®æé©ãªã³ã¼ããç°ãªãï¼
|
---|
| 397 |
|
---|
| 398 | srsï¼Store Return Stateï¼â¦ ç¾å¨ã®ã¢ã¼ãã®lrã¨spsrãï¼å¥ã®ã¢ã¼ãã®spã
|
---|
| 399 | ç¨ãã¦ä¿åããããã®å½ä»¤ï¼lrãå°ããå´ã®çªå°ï¼spsrã大ããå´ã®çªå°ã«ä¿
|
---|
| 400 | åãããï¼ã·ã¹ãã ã¢ã¼ãã§ã¯ä½¿ããªãï¼spsrããªãããï¼ï¼
|
---|
| 401 |
|
---|
| 402 | ä¾ï¼srsfd #CPSR_SVC_MODE! ⦠lrï¼ä¾å¤ããã®æ»ãå
|
---|
| 403 | ï¼ã¨spsrï¼ä¾å¤çºçå
|
---|
| 404 | ã®cpsrï¼ãï¼ã¹ã¼ããã¤ã¶ã¢ã¼ãã®ã¹ã¿ãã¯ã«
|
---|
| 405 | ä¿åããï¼
|
---|
| 406 |
|
---|
| 407 | rfeï¼Return From Exceptionï¼â¦ pcã¨cpsrãï¼å¾©å¸°ããå½ä»¤ï¼SRSã§ä¿åãã
|
---|
| 408 | ãç¶æ
|
---|
| 409 | ã«æ»ãããã«ç¨ããï¼
|
---|
| 410 |
|
---|
| 411 | ä¾ï¼rfefd sp! ⦠pcã¨cpsrãï¼ç¾å¨ã®ã¢ã¼ãã®ã¹ã¿ãã¯ãã復
|
---|
| 412 | 帰ããï¼
|
---|
| 413 |
|
---|
| 414 | cpsï¼Change Processor Stateï¼â¦ cpsrã®å²è¾¼ã¿ãã¹ã¯ã¨ã¢ã¼ãããããå¤æ´
|
---|
| 415 | ããããã®å½ä»¤ï¼
|
---|
| 416 |
|
---|
| 417 | âã·ã¹ãã å½ä»¤ãªãã¡ã¬ã³ã¹
|
---|
| 418 |
|
---|
| 419 | âldm
|
---|
| 420 |
|
---|
| 421 | (1) ldm<ã¢ãã¬ãã·ã³ã°ã¢ã¼ã><æ¡ä»¶> <Rn>{!}, <ã¬ã¸ã¹ã¿ãªã¹ã>
|
---|
| 422 |
|
---|
| 423 | Rnã§ç¤ºãããé£ç¶ããçªå°ããï¼ã¬ã¸ã¹ã¿ãªã¹ãã«ãªã¹ãã¢ãããããã¬ã¸ã¹
|
---|
| 424 | ã¿ã«å¤ããã¼ãããï¼ã¦ã¼ã¶ã¢ã¼ããå«ããã¹ã¦ã®ã¢ã¼ãã§ä½¿ç¨ã§ããï¼
|
---|
| 425 |
|
---|
| 426 | (2) ldm<ã¢ãã¬ãã·ã³ã°ã¢ã¼ã><æ¡ä»¶> <Rn>, <PC以å¤ã®ã¬ã¸ã¹ã¿ãªã¹ã>^
|
---|
| 427 | â»æå¾ã«"^"ãããï¼
|
---|
| 428 |
|
---|
| 429 | Rnã§ç¤ºãããé£ç¶ããçªå°ããï¼ã¬ã¸ã¹ã¿ãªã¹ãã«ãªã¹ãã¢ããããããã¦ã¼
|
---|
| 430 | ã¶ã¢ã¼ãã®ã¬ã¸ã¹ã¿ãã«å¤ããã¼ãããï¼ã·ã¹ãã ã¢ã¼ã以å¤ã®ç¹æ¨©ã¢ã¼ãã§
|
---|
| 431 | 使ç¨ã§ããï¼"!"ã¯ä½¿ããªãï¼
|
---|
| 432 |
|
---|
| 433 | (3) ldm<ã¢ãã¬ãã·ã³ã°ã¢ã¼ã><æ¡ä»¶> <Rn>{!}, <PCãå«ãã¬ã¸ã¹ã¿ãªã¹ã>^
|
---|
| 434 | â»æå¾ã«"^"ãããï¼
|
---|
| 435 |
|
---|
| 436 | Rnã§ç¤ºãããé£ç¶ããçªå°ããï¼ã¬ã¸ã¹ã¿ãªã¹ãã«ãªã¹ãã¢ãããããã¬ã¸ã¹
|
---|
| 437 | ã¿ã«å¤ããã¼ãããï¼ã¾ãï¼ç¾å¨ã®ã¢ã¼ãã®spsrãï¼cpsrã«ã³ãã¼ããï¼ã·ã¹
|
---|
| 438 | ãã ã¢ã¼ã以å¤ã®ç¹æ¨©ã¢ã¼ãã§ä½¿ç¨ã§ããï¼
|
---|
| 439 |
|
---|
| 440 | âstm
|
---|
| 441 |
|
---|
| 442 | (1) stm<ã¢ãã¬ãã·ã³ã°ã¢ã¼ã><æ¡ä»¶> <Rn>{!}, <ã¬ã¸ã¹ã¿ãªã¹ã>
|
---|
| 443 |
|
---|
| 444 | Rnã§ç¤ºãããé£ç¶ããçªå°ããï¼ã¬ã¸ã¹ã¿ãªã¹ãã«ãªã¹ãã¢ãããããã¬ã¸ã¹
|
---|
| 445 | ã¿ã«å¤ãã¹ãã¢ããï¼ã¦ã¼ã¶ã¢ã¼ããå«ããã¹ã¦ã®ã¢ã¼ãã§ä½¿ç¨ã§ããï¼
|
---|
| 446 |
|
---|
| 447 | (2) stm<ã¢ãã¬ãã·ã³ã°ã¢ã¼ã><æ¡ä»¶> <Rn>, <ã¬ã¸ã¹ã¿ãªã¹ã>^
|
---|
| 448 | â»æå¾ã«"^"ãããï¼
|
---|
| 449 |
|
---|
| 450 | Rnã§ç¤ºãããé£ç¶ããçªå°ããï¼ã¬ã¸ã¹ã¿ãªã¹ãã«ãªã¹ãã¢ããããããã¦ã¼
|
---|
| 451 | ã¶ã¢ã¼ãã®ã¬ã¸ã¹ã¿ãã«å¤ãã¹ãã¢ããï¼ã·ã¹ãã ã¢ã¼ã以å¤ã®ç¹æ¨©ã¢ã¼ãã§
|
---|
| 452 | 使ç¨ã§ããï¼"!"ã¯ä½¿ããªãï¼
|
---|
| 453 |
|
---|
| 454 | âmrs
|
---|
| 455 |
|
---|
| 456 | ç¹æ®ã¬ã¸ã¹ã¿ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ãï¼æ±ç¨ã¬ã¸ã¹ã¿ã«ã³ãã¼ããï¼
|
---|
| 457 | ARMv7VEï¼ä»®æ³åæ¡å¼µï¼ã§ã¯ï¼ä»ã®ã¢ã¼ãã®ã¬ã¸ã¹ã¿ãæ±ç¨ã¬ã¸ã¹ã¿ã«ã³ãã¼ã
|
---|
| 458 | ãæ©è½ãæã¤ï¼
|
---|
| 459 |
|
---|
| 460 | (1) mrs<æ¡ä»¶> <Rd>, <ç¹æ®ã¬ã¸ã¹ã¿è¨è¿°>
|
---|
| 461 |
|
---|
| 462 | ç¹æ®ã¬ã¸ã¹ã¿ãï¼æ±ç¨ã¬ã¸ã¹ã¿Rdã«ã³ãã¼ããï¼
|
---|
| 463 |
|
---|
| 464 | <ç¹æ®ã¬ã¸ã¹ã¿è¨è¿°>ã«ã¯ï¼ä»¥ä¸ã®ãããããæå®ããï¼
|
---|
| 465 | - apsr
|
---|
| 466 | - cpsr ⦠ã¦ã¼ã¶ã¢ã¼ãã§ä½¿ã£ãå ´åã¯ï¼apsrãæå³ããï¼
|
---|
| 467 | - spsr ⦠ã¦ã¼ã¶ã¢ã¼ãã§ã¯ä½¿ããªãï¼
|
---|
| 468 |
|
---|
| 469 | âmsr
|
---|
| 470 |
|
---|
| 471 | ç¹æ®ã¬ã¸ã¹ã¿ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼ã«ï¼å³å¤ã¾ãã¯æ±ç¨ã¬ã¸ã¹ã¿ã®å¤ãã³ãã¼
|
---|
| 472 | ããï¼ARMv7VEï¼ä»®æ³åæ¡å¼µï¼ã§ã¯ï¼ä»ã®ã¢ã¼ãã®ã¬ã¸ã¹ã¿ã«æ±ç¨ã¬ã¸ã¹ã¿ã®å¤
|
---|
| 473 | ãã³ãã¼ããæ©è½ãæã¤ï¼
|
---|
| 474 |
|
---|
| 475 | ãã®å½ä»¤ã§Eãããï¼ã¨ã³ãã£ã¢ã³ç¶æ
|
---|
| 476 | ï¼ãæ¸ãæããã¹ãã§ã¯ãªãï¼setendå½
|
---|
| 477 | 令ã使ãã¹ãï¼
|
---|
| 478 |
|
---|
| 479 | (1) msr<æ¡ä»¶> <ç¹æ®ã¬ã¸ã¹ã¿è¨è¿°>, #<å®æ°>
|
---|
| 480 |
|
---|
| 481 | ç¹æ®ã¬ã¸ã¹ã¿ï¼ã®ä¸é¨ï¼ã«ï¼å³å¤ãã³ãã¼ããï¼
|
---|
| 482 |
|
---|
| 483 | <ç¹æ®ã¬ã¸ã¹ã¿è¨è¿°>ã«ã¯ï¼ä»¥ä¸ã®ãããããæå®ããï¼
|
---|
| 484 | - apsr_nzcvq ⦠cpsr_fã¨åã
|
---|
| 485 | - apsr_g ⦠cpsr_sã¨åã
|
---|
| 486 | - apsr_nzcvqg ⦠cpsr_fsã¨åã
|
---|
| 487 | - cpsr_<ãã£ã¼ã«ãæå®>
|
---|
| 488 | - spsr_<ãã£ã¼ã«ãæå®>
|
---|
| 489 |
|
---|
| 490 | <ãã£ã¼ã«ãæå®>ã«ã¯ï¼ä»¥ä¸ã®æåã®åãè¨è¿°ããï¼
|
---|
| 491 | - c ⦠PSRã®ããã7ã0ï¼Iãããï¼Fãããï¼Tãããï¼M[4:0]ï¼
|
---|
| 492 | - x ⦠PSRã®ããã15ã8ï¼IT[7:2]ï¼Eãããï¼Aãããï¼
|
---|
| 493 | - s ⦠PSRã®ããã23ã16ï¼GE[3:0]ï¼
|
---|
| 494 | - f ⦠PSRã®ããã31ã24ï¼N,Z,C,V,Qãã©ã°ï¼IT[1:0]ï¼Jãããï¼
|
---|
| 495 |
|
---|
| 496 | (2) msr<æ¡ä»¶> <ç¹æ®ã¬ã¸ã¹ã¿è¨è¿°>, <Rn>
|
---|
| 497 |
|
---|
| 498 | ç¹æ®ã¬ã¸ã¹ã¿ï¼ã®ä¸é¨ï¼ã«ï¼æ±ç¨ã¬ã¸ã¹ã¿Rnã®å¤ãã³ãã¼ããï¼<ç¹æ®ã¬ã¸ã¹ã¿
|
---|
| 499 | è¨è¿°>ã¯ï¼ä¸ã¨åæ§ï¼
|
---|
| 500 |
|
---|
| 501 | âcps ⦠ARMv6以é
|
---|
| 502 |
|
---|
| 503 | ããã»ããµã®ç¶æ
|
---|
| 504 | ï¼CPSRã®Aãããï¼Iãããï¼Fãããï¼ããã»ããµã¢ã¼ãï¼ã
|
---|
| 505 | å¤æ´ããï¼
|
---|
| 506 |
|
---|
| 507 | (1) cpsie <å²è¾¼ã¿ãã©ã°>{, #<ã¢ã¼ã>}
|
---|
| 508 |
|
---|
| 509 | æå®ããå²è¾¼ã¿ãã©ã°ã0ã«ããï¼è¨±å¯ããï¼ï¼ã¾ãï¼ï¼æå®ããå ´åã«ã¯ï¼ã
|
---|
| 510 | ãã»ããµã¢ã¼ããå¤æ´ããï¼
|
---|
| 511 |
|
---|
| 512 | <å²è¾¼ã¿ãã©ã°>ã«ã¯ï¼ä»¥ä¸ã®æåã®åãè¨è¿°ããï¼
|
---|
| 513 | - a ⦠Aãããï¼éåæã¢ãã¼ãç¦æ¢ï¼
|
---|
| 514 | - i ⦠Iãããï¼IRQç¦æ¢ï¼
|
---|
| 515 | - f ⦠Fãããï¼FIQç¦æ¢ï¼
|
---|
| 516 |
|
---|
| 517 | <ã¢ã¼ã>ã«ã¯ï¼0ã31ã®å¤ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®ä¸ä½5ãããï¼ãè¨è¿°ããï¼
|
---|
| 518 |
|
---|
| 519 | ä¾ï¼cpsie i ⦠IRQã許å¯ï¼cpsrä¸ã®Iããããã¯ãªã¢ï¼
|
---|
| 520 |
|
---|
| 521 | (2) cpsid <å²è¾¼ã¿ãã©ã°>{, #<ã¢ã¼ã>}
|
---|
| 522 |
|
---|
| 523 | æå®ããå²è¾¼ã¿ãã©ã°ã1ã«ããï¼ç¦æ¢ããï¼ï¼ã¾ãï¼ï¼æå®ããå ´åã«ã¯ï¼ã
|
---|
| 524 | ãã»ããµã¢ã¼ããå¤æ´ããï¼<å²è¾¼ã¿ãã©ã°>ã¨<ã¢ã¼ã>ã¯ä¸ã¨åæ§ï¼
|
---|
| 525 |
|
---|
| 526 | ä¾ï¼cpsid i ⦠IRQãç¦æ¢ï¼cpsrä¸ã®Iããããã»ããï¼
|
---|
| 527 | ä¾ï¼cpsid if ⦠IRQã¨FIQãç¦æ¢
|
---|
| 528 | ä¾ï¼cpsid i,#CPSR_SVC_MODE ⦠IRQãç¦æ¢ãã¦ï¼ã¹ã¼ããã¤ã¶ã¢ã¼ãã«
|
---|
| 529 |
|
---|
| 530 | (3) cps #<ã¢ã¼ã>
|
---|
| 531 |
|
---|
| 532 | ããã»ããµã¢ã¼ããå¤æ´ããï¼<ã¢ã¼ã>ã¯ä¸ã¨åæ§ï¼
|
---|
| 533 |
|
---|
| 534 | ä¾ï¼cps #CPSR_USR_MODE ⦠ã¦ã¼ã¶ã¢ã¼ãã«
|
---|
| 535 |
|
---|
| 536 | âãã£ãã·ã¥ã¨åå²äºæ¸¬ï¼[2] B2.2ç¯ï¼
|
---|
| 537 |
|
---|
| 538 | ã»ä»¥åã®ã¢ã¼ããã¯ãã£
|
---|
| 539 | - ARMv6ã«ã¤ãã¦ã¯ï¼[2] D12.6.2ç¯
|
---|
| 540 | - ARMv4, ARMv5ã«ã¤ãã¦ã¯ï¼[2] D15.6.1ç¯
|
---|
| 541 |
|
---|
| 542 | âãã£ãã·ã¥ã®èå¥ï¼[2] B2.2.1ç¯ï¼
|
---|
| 543 |
|
---|
| 544 | ã»ãã£ãã·ã¥ã¿ã¤ãã¬ã¸ã¹ã¿ï¼CTRï¼
|
---|
| 545 | - æçã©ã¤ã³é·ãªã©ï¼ã©ã®ãããªãã£ãã·ã¥ãã¤ãã¦ããããèªã¿åºãã
|
---|
| 546 | - 詳ããã¯ï¼[2] B4.1.42ç¯
|
---|
| 547 | - ARMv6以åã¯ãã©ã¼ããããç°ãªã
|
---|
| 548 |
|
---|
| 549 | ã»ãã£ãã·ã¥ã¬ãã«IDã¬ã¸ã¹ã¿ï¼CLIDRï¼
|
---|
| 550 | - åã¬ãã«ï¼7ã¬ãã«ã¾ã§ï¼ã®ãã£ãã·ã¥ã®ã¿ã¤ããèªã¿åºãã
|
---|
| 551 | - ã³ãã¼ã¬ã³ã¹ã«é¢ããæ
|
---|
| 552 | å ±ãèªã¿åºãã
|
---|
| 553 | - ARMv6以åã«ã¯ãªã
|
---|
| 554 |
|
---|
| 555 | ã»ãã£ãã·ã¥ãµã¤ãºé¸æã¬ã¸ã¹ã¿ï¼CSSELRï¼
|
---|
| 556 | - ç¾å¨ã®ãã£ãã·ã¥ãµã¤ãºIDã¬ã¸ã¹ã¿ï¼CCSIDRï¼ãé¸æãã
|
---|
| 557 | - ãã£ãã·ã¥ã¬ãã«ã¨ã¿ã¤ãï¼å½ä»¤ or ãã¼ã¿ï¼çµ±åï¼ãæå®ãã
|
---|
| 558 | - ARMv6以åã«ã¯ãªã
|
---|
| 559 |
|
---|
| 560 | ã»ãã£ãã·ã¥ãµã¤ãºIDã¬ã¸ã¹ã¿ï¼CCSIDRï¼
|
---|
| 561 | - ãã£ãã·ã¥ã¬ãã«æ¯ã«ããï¼CSSELRã§é¸æããï¼
|
---|
| 562 | - ãã£ãã·ã¥ã«é¢ããæ
|
---|
| 563 | å ±ãèªã¿åºãã
|
---|
| 564 | + write-throughï¼write-backï¼read-allocationï¼write-allocatioãã§ããã
|
---|
| 565 | + ã»ããæ°ï¼é£æ³åº¦ï¼ã©ã¤ã³ãµã¤ãº
|
---|
| 566 | - ARMv6以åã«ã¯ãªã
|
---|
| 567 |
|
---|
| 568 | âãã£ãã·ã¥ã®æ¯èãï¼[2] B2.2.2ç¯ï¼
|
---|
| 569 |
|
---|
| 570 | ï¼çç¥ï¼
|
---|
| 571 |
|
---|
| 572 | âãã£ãã·ã¥ã®ã¤ãã¼ãã«ï¼ãã£ã¹ã¨ã¼ãã«ï¼[2] B2.2.3ç¯ï¼
|
---|
| 573 |
|
---|
| 574 | ã»ARMv7ã®ã·ã¹ãã å¶å¾¡ã¬ã¸ã¹ã¿
|
---|
| 575 | - Cãããã¨Iãããã§ï¼ãã£ãã·ã¥ã®ã¤ãã¼ãã«ï¼ãã£ã¹ã¨ã¼ãã«ãè¡ã
|
---|
| 576 | - Cãããï¼ãã¹ã¦ã®ã¬ãã«ã®çµ±åï¼ãã¼ã¿ãã£ãã·ã¥ãå¶å¾¡
|
---|
| 577 | - Iãããï¼ãã¹ã¦ã®ã¬ãã«ã®å½ä»¤ãã£ãã·ã¥ãå¶å¾¡
|
---|
| 578 | - ããç´°ããªå¶å¾¡ã¯å®è£
|
---|
| 579 | ä¾å
|
---|
| 580 |
|
---|
| 581 | ã»ARMv6ã®ã·ã¹ãã å¶å¾¡ã¬ã¸ã¹ã¿
|
---|
| 582 | - Cãããã¨Iãããã¯ï¼ã¬ãã«1ãã£ãã·ã¥ã®å¶å¾¡ãè¡ã
|
---|
| 583 | - Wãããã§ã©ã¤ããããã¡ã®å¶å¾¡ãè¡ã
|
---|
| 584 |
|
---|
| 585 | âARMv7ã«ããããã£ãã·ã¥ã¨åå²äºæ¸¬ã®ã¡ã³ããã³ã¹æä½ï¼[2] B2.2.6ç¯ï¼
|
---|
| 586 |
|
---|
| 587 | ã»ä»¥åã®ã¢ã¼ããã¯ãã£
|
---|
| 588 | - ARMv6ã«ã¤ãã¦ã¯ï¼[2] D12.7.10ç¯
|
---|
| 589 | - ARMv4, ARMv5ã«ã¤ãã¦ã¯ï¼[2] D15.7.8ç¯
|
---|
| 590 |
|
---|
| 591 | ã»ç¨èªã®å®ç¾©
|
---|
| 592 | - MVAï¼Modified Virtual Addressï¼
|
---|
| 593 | + ã¡ã³ããã³ã¹ããå ´æãã¡ã¢ãªä¸ã®ã¢ãã¬ã¹ã§æå®ãã
|
---|
| 594 | + é«éã³ã³ããã¹ãã¹ã¤ããæ¡å¼µããªãæã¯ï¼VAï¼Virtual Addressï¼ã«ä¸è´
|
---|
| 595 | ï¼é«éã³ã³ããã¹ãã¹ã¤ããæ¡å¼µã¯ï¼ARMv6以éã§ã¯æ¨å¥¨ãããªã
|
---|
| 596 | + MMUããªãæã¯PAï¼Physical Addressï¼ã«ä¸è´
|
---|
| 597 | - ã»ããï¼ã¦ã§ã¤ï¼set/wayï¼
|
---|
| 598 | + ã¡ã³ããã³ã¹ããå ´æããã£ãã·ã¥ä¸ã®ã»ããã¨ã¦ã§ã¤ã§æå®ãã
|
---|
| 599 | + ã¬ãã«ï¼Levelï¼â¦ ãã£ãã·ã¥ã®ã¬ãã«ï¼å°ããæ¹ãããã»ããµã«è¿ã
|
---|
| 600 | + ã»ããï¼Setï¼
|
---|
| 601 | + ã¦ã§ã¤ï¼Wayï¼
|
---|
| 602 | - ã¯ãªã¼ã³ï¼cleanï¼
|
---|
| 603 | + èªåãè¡ã£ãæ´æ°ãï¼ä»ã®ãªãã¶ã¼ããããè¦ããããã«ä¿è¨¼ãã
|
---|
| 604 | - ç¡å¹åï¼invalidateï¼
|
---|
| 605 | + ä»ã®ãªãã¶ã¼ããè¡ã£ãæ´æ°ãï¼èªåããè¦ããããã«ä¿è¨¼ãã
|
---|
| 606 | + èªåãè¡ã£ãæ´æ°ã失ããããã¨ã«ãªãå ´åããã
|
---|
| 607 | - ã¯ãªã¼ã³ã¨ç¡å¹åï¼clean and invalidateï¼
|
---|
| 608 | + ã¯ãªã¼ã³ãè¡ã£ãå¾ã«ç¡å¹åãè¡ã
|
---|
| 609 | - PoCï¼ä¸è²«æ§ãã¤ã³ãï¼â¦ MVAã®å ´å
|
---|
| 610 | + ãã¹ã¦ã®ã¨ã¼ã¸ã§ã³ããåç
|
---|
| 611 | §ããå
|
---|
| 612 | ±éã®å ´æ
|
---|
| 613 | + ä¸è¬ã«ã¯ã¡ã¤ã³ã¡ã¢ãª
|
---|
| 614 | - PoUï¼çµ±åãã¤ã³ãï¼â¦ MVAã®å ´å
|
---|
| 615 | + ããã»ããµã®PoUã¨ã¯ï¼ãã®ããã»ããµã®å½ä»¤ï¼ãã¼ã¿ã¢ã¯ã»ã¹ï¼
|
---|
| 616 | ãã¼ã¸ãã¼ãã«ã¦ã©ã¼ã¯ãåç
|
---|
| 617 | §ããå
|
---|
| 618 | ±éã®å ´æ
|
---|
| 619 | + Inner Shareableå
|
---|
| 620 | ±æãã¡ã¤ã³ã®PoUã¨ã¯ï¼ãã¡ã¤ã³å
|
---|
| 621 | ã®ãã¹ã¦ã®
|
---|
| 622 | ããã»ããµã®å½ä»¤ï¼ãã¼ã¿ã¢ã¯ã»ã¹ï¼ãã¼ã¸ãã¼ãã«ã¦ã©ã¼ã¯ã
|
---|
| 623 | åç
|
---|
| 624 | §ããå
|
---|
| 625 | ±éã®å ´æ
|
---|
| 626 | - LoCï¼Level of Coherenceï¼
|
---|
| 627 | + PoCã¾ã§ã®ä¸è²«æ§ãä¿ã¤ããã«ã¡ã³ããã³ã¹ãå¿
|
---|
| 628 | è¦ãªæçµãã£ãã·ã¥
|
---|
| 629 | ã¬ãã«
|
---|
| 630 | - LoUUï¼Level of Unification, Uniprocessorï¼
|
---|
| 631 | + ããã»ããµã®PoUã¾ã§ã®ä¸è²«æ§ãä¿ã¤ããã«ã¡ã³ããã³ã¹ãå¿
|
---|
| 632 | è¦ãª
|
---|
| 633 | æçµãã£ãã·ã¥ã¬ãã«
|
---|
| 634 | - LoUISï¼Level of unification, Inner Shareableï¼
|
---|
| 635 | + Inner Shareableå
|
---|
| 636 | ±æãã¡ã¤ã³ã®PoUã¾ã§ã®ä¸è²«æ§ãä¿ã¤ããã«ã¡ã³
|
---|
| 637 | ããã³ã¹ãå¿
|
---|
| 638 | è¦ãªæçµãã£ãã·ã¥ã¬ãã«
|
---|
| 639 |
|
---|
| 640 | ã»ã¢ãã¬ã¹ï¼VMAï¼ãã¼ã¹ã®æä½ã«ããããã£ãã·ã¥é層ã®æ½è±¡å
|
---|
| 641 | - PoCãPoU
|
---|
| 642 | - ãã£ãã·ã¥ã¿ã¤ãã¬ã¸ã¹ã¿ï¼CTRï¼ã«ãã£ãã·ã¥ã®ã©ã¤ã³ãµã¤ãºãä¿æ
|
---|
| 643 | + ãã®åä½ã§ã¡ã³ããã³ã¹ããã®ãæãå¹çç
|
---|
| 644 |
|
---|
| 645 | ã»ã»ããï¼ã¦ã§ã¤ãã¼ã¹ã®æä½ã«ããããã£ãã·ã¥é層ã®æ½è±¡å
|
---|
| 646 | - ã¯ãªã¼ã³æä½ã¯ï¼æå®ãããã¬ãã«ããï¼å°ãªãã¨ã次ã®ã¬ãã«ã¸ã¯ãªã¼ã³ãã
|
---|
| 647 | - ç¡å¹åæä½ã¯ï¼æå®ãããã¬ãã«ã®ã¿ãç¡å¹åãã
|
---|
| 648 |
|
---|
| 649 | âVMSAã«ããããã£ãã·ã¥ã¨åå²äºæ¸¬ã®ã¡ã³ããã³ã¹æä½ï¼[2] B4.2.1ç¯ï¼
|
---|
| 650 |
|
---|
| 651 | ã»ARMv7-Aï¼VMSAï¼ã«ããããã£ãã·ã¥ã»åå²äºæ¸¬ã¡ã³ããã³ã¹æä½
|
---|
| 652 | - ICIALLIS, ICIALLU, ICIMVAU ⦠å½ä»¤ãã£ãã·ã¥ã¨åå²äºæ¸¬ã®ç¡å¹å
|
---|
| 653 | - BPIALLIS, CPIALL, CPIMVA ⦠åå²äºæ¸¬ã®ç¡å¹å
|
---|
| 654 | - DCIMVAC, DCISW ⦠ãã¼ã¿ï¼çµ±åãã£ãã·ã¥ã®ç¡å¹å
|
---|
| 655 | - DCCMVAC, DCCSW, DCCMVAU ⦠ãã¼ã¿ï¼çµ±åãã£ãã·ã¥ã®ã¯ãªã¼ã³
|
---|
| 656 | - DCCIMVAC, DCCISW ⦠ãã¼ã¿ï¼çµ±åãã£ãã·ã¥ã®ã¯ãªã¼ã³ï¼ç¡å¹å
|
---|
| 657 |
|
---|
| 658 | ----------------------------------------------------------------------
|
---|
| 659 | ICIALLUIS ãã¹ã¦ã®å½ä»¤ãã£ãã·ã¥ãç¡å¹åï¼Inner ShareableããPoU
|
---|
| 660 | åå²äºæ¸¬ããã©ãã·ã¥
|
---|
| 661 | ICIALLU PoUã¾ã§ã®ãã¹ã¦ã®å½ä»¤ãã£ãã·ã¥ãç¡å¹åï¼åå²äºæ¸¬ã
|
---|
| 662 | ICIMVAU PoUã¾ã§ã®MVAã§æå®ããå½ä»¤ãã£ãã·ã¥ã©ã¤ã³ãç¡å¹å
|
---|
| 663 |
|
---|
| 664 | BPIALLIS ãã¹ã¦ã®åå²äºæ¸¬ã¨ã³ããªãç¡å¹åï¼Inner Sharable
|
---|
| 665 | BPIALL ãã¹ã¦ã®åå²äºæ¸¬ã¨ã³ããªãç¡å¹å
|
---|
| 666 | BPIMVA åå²äºæ¸¬ããMVAãç¡å¹å
|
---|
| 667 |
|
---|
| 668 | DCIMVAC PoCã¾ã§ã®MVAã§æå®ãããã¼ã¿ï¼çµ±åãã£ãã·ã¥ãç¡å¹å
|
---|
| 669 | DCISW Set/wayã§æå®ãããã¼ã¿ï¼çµ±åãã£ãã·ã¥ãç¡å¹å
|
---|
| 670 | DCCMVAC PoCã¾ã§ã®MVAã§æå®ãããã¼ã¿ï¼çµ±åãã£ãã·ã¥ãã¯ãªã¼ã³
|
---|
| 671 | DCCSW Set/wayã§æå®ãããã¼ã¿ï¼çµ±åãã£ãã·ã¥ãã¯ãªã¼ã³
|
---|
| 672 | DCCMVAU PoUã¾ã§ã®MVAã§æå®ãããã¼ã¿ï¼çµ±åãã£ãã·ã¥ãã¯ãªã¼ã³
|
---|
| 673 | DCCIMVAC PoCã¾ã§ã®MVAã§æå®ãããã¼ã¿ï¼çµ±åãã£ãã·ã¥ãã¯ãªã¼ã³ï¼ç¡å¹å
|
---|
| 674 | DCCISW Set/wayã§æå®ãããã¼ã¿ï¼çµ±åãã£ãã·ã¥ãã¯ãªã¼ã³ï¼ç¡å¹å
|
---|
| 675 | ----------------------------------------------------------------------
|
---|
| 676 |
|
---|
| 677 | ã»ARMv6ã§ã®éãï¼[2] D12.7.10ç¯ï¼
|
---|
| 678 | ã»ARMv4, ARMv5ã§ã®éãï¼[2] D15.7.8ç¯ï¼
|
---|
| 679 | - ã¬ãã«1ãã£ãã·ã¥ã®ã¿ãæä½ãã
|
---|
| 680 | â» ARMv7ã§ã¯è¤æ°ã®ã¬ãã«ã®ãã£ãã·ã¥ãæä½ãã
|
---|
| 681 | - ARMv7ã«å¯¾å¿ãããã®ãããï¼ä»¥ä¸ã§âã®å³ã¯ï¼ARMv7ã®åçã®æä½ï¼
|
---|
| 682 | + Invalidate instruction cache âICIALLU
|
---|
| 683 | + Invalidate instruction cache line by MVA âICIMVAU
|
---|
| 684 | + Invalidate all branch predictors âBPIALL
|
---|
| 685 | + Invalidate branch predictor entry by MVA âBPIMVA
|
---|
| 686 | + Invalidate data cache line by MVA âDCIMVAC
|
---|
| 687 | + Invalidate data cache line by set/way âDCISW
|
---|
| 688 | + Clean data cache line by MVA âDCCMVAC/DCCMVAU
|
---|
| 689 | + Clean data cache line by set/way âDCCSW
|
---|
| 690 | + Clean and Invalidate data cache line by MVA âDCCIMVAC
|
---|
| 691 | + Clean and Invalidate data cache line by set/way âDCCISW
|
---|
| 692 |
|
---|
| 693 | - ãã¼ã¿ãã£ãã·ã¥å
|
---|
| 694 | ¨ä½ã«å¯¾ããæä½ã¯ARMv7ã«ã¯ãªã
|
---|
| 695 | + Invalidate data cache
|
---|
| 696 | + Clean data cacheï¼ARMv6ã®ã¿ï¼
|
---|
| 697 | + Clean and Invalidate data cacheï¼ARMv6ã®ã¿ï¼
|
---|
| 698 | - ARMv7ã§ã¯ï¼çµ±åãã£ãã·ã¥ã®æä½ã¯ï¼ãã¼ã¿ãã£ãã·ã¥ã®æä½ã«çµ±ä¸ã
|
---|
| 699 | ãã¦ãããï¼ARMv6以åã§ã¯å¥ã
|
---|
| 700 | ã«ãã
|
---|
| 701 | + Invalidate unified cache, or instruction cache and data cache
|
---|
| 702 | + Invalidate unified cache line by MVA
|
---|
| 703 | + Invalidate unified cache line by set/way
|
---|
| 704 | + Clean entire unified cache
|
---|
| 705 | + Clean unified cache line by MVA
|
---|
| 706 | + Clean unified cache line by set/way
|
---|
| 707 | + Clean and invalidate entire unified cache
|
---|
| 708 | 注æï¼ãã®æä½ã¯[1]ã«æ²è¼ããã¦ãããï¼[2]ã«ã¯æ²è¼ããã¦ããªã
|
---|
| 709 | + Clean and Invalidate unified cache line by MVA
|
---|
| 710 | + Clean and Invalidate unified cache line by set/way
|
---|
| 711 | - Set/wayæå®ã«ããå½ä»¤ãã£ãã·ã¥ã®ç¡å¹åã¯ARMv7ã«ã¯ãªã
|
---|
| 712 | + Invalidate instruction cache line by set/way
|
---|
| 713 | - ARMv6以åã®ã¿ã«ããæä½ï¼ãªãã·ã§ã³ï¼
|
---|
| 714 | + Test and Clean data cache ⦠ä¸ã«èª¬æ
|
---|
| 715 | + Test and Clean and Invalidate data cache ⦠ä¸ã«èª¬æ
|
---|
| 716 | + Prefetch instruction cache line by MVA ⦠TLBããã¯ãã¦ã³ã§ä½¿ã
|
---|
| 717 | - ARMv6ã®ã¿ã«ããç¹æ®ãªæä½
|
---|
| 718 | + Cache Dirty Status Register ⦠å
|
---|
| 719 | ¨ä½ãã¯ãªã¼ã³ããæã«ä½¿ã
|
---|
| 720 |
|
---|
| 721 | ã»ARMv6以åã§ã®ï¼Test and Cleanï¼Test and Clean and Invalidateã®ä½¿ãæ¹
|
---|
| 722 | - ã¯ãªã¼ã³ï¼ã¯ãªã¼ã³ï¼ç¡å¹åãå¹ççã«è¡ãããã«ç¨æããã¦ãã
|
---|
| 723 | - æ¡ä»¶ãã©ã°ããã¹ãã£ãã¼ã·ã§ã³ã¨ããMRCå½ä»¤ã使ã
|
---|
| 724 | â ã°ãã¼ãã«ãã£ãã·ã¥ãã¼ãã£ç¶æ
|
---|
| 725 | ãZãã©ã°ã«å
|
---|
| 726 | ¥ã
|
---|
| 727 |
|
---|
| 728 | - ãã¼ã¿ãã£ãã·ã¥å
|
---|
| 729 | ¨ä½ã®ã¯ãªã¼ã³
|
---|
| 730 | tc_loop:
|
---|
| 731 | MRC p15, 0, APSR_nzcv, c7, c10, 3 ; test and clean
|
---|
| 732 | BNE tc_loop
|
---|
| 733 |
|
---|
| 734 | - ãã¼ã¿ãã£ãã·ã¥å
|
---|
| 735 | ¨ä½ã®ã¯ãªã¼ã³ï¼ç¡å¹å
|
---|
| 736 | tci_loop:
|
---|
| 737 | MRC p15, 0, APSR_nzcv, c7, c14, 3 ; test, clean and invalidate
|
---|
| 738 | BNE tci_loop
|
---|
| 739 |
|
---|
| 740 | âTLBã®ã¡ã³ããã³ã¹æä½
|
---|
| 741 |
|
---|
| 742 | âVMSAã«ãããTLBã®ã¡ã³ããã³ã¹æä½ï¼[2] B4.2.2ç¯ï¼
|
---|
| 743 |
|
---|
| 744 | â» Hypã¢ã¼ãã®æã¯å¥éè¦å®
|
---|
| 745 |
|
---|
| 746 | ã»ARMv7-Aï¼VMSAï¼ã«ãããTLBã¡ã³ããã³ã¹æä½
|
---|
| 747 | - ITLBIALL, ITLBIMVA, ITLBIASID ⦠å½ä»¤TLB
|
---|
| 748 | - DTLBIALL, DTLBIMVA, DTLBIASID ⦠ãã¼ã¿TLB
|
---|
| 749 | - TLBIALL, TLBIMVA, TLBIASID ⦠統åTLB
|
---|
| 750 |
|
---|
| 751 | ã»ãã«ãããã»ããµæ¡å¼µã§ä»¥ä¸ã追å ï¼åæã®ARMv7ã«ã¯ãªãï¼
|
---|
| 752 | - TLBIMVAA
|
---|
| 753 | - TLBIALLIS, TLBIMVAIS, TLBIASIDIS, TLBIMVAAIS
|
---|
| 754 |
|
---|
| 755 | ã»å½ä»¤ï¼ãã¼ã¿ï¼çµ±åã®ä½¿ãåã
|
---|
| 756 | - å½ä»¤TLBã¨ãã¼ã¿TLBãå¥ã«å®è£
|
---|
| 757 | ããã¦ããå ´åï¼çµ±åTLBæä½ã¯ä¸¡è
|
---|
| 758 | ãæä½ãã
|
---|
| 759 | - çµ±åTLBãå®è£
|
---|
| 760 | ããã¦ããå ´åï¼å½ä»¤ï¼ãã¼ã¿TLBæä½ã¯çµ±åTLBãæä½ãã
|
---|
| 761 | - å½ä»¤ï¼ãã¼ã¿TLBæä½ã使ããã¨ã¯æ¨å¥¨ããªã
|
---|
| 762 |
|
---|
| 763 | ã»æä½ã®ç¨®é¡
|
---|
| 764 | ...IALL ⦠ãã¹ã¦ã®TLBãç¡å¹åãã
|
---|
| 765 | ...IMVA ⦠ã¢ãã¬ã¹ï¼MVAï¼æå®ã§TLBãç¡å¹åãã
|
---|
| 766 | ...IASID ⦠ASIDæå®ã§TLBãç¡å¹åãã
|
---|
| 767 | ...IMVAA ⦠ã¢ãã¬ã¹ã¨ASIDã®ä¸¡æ¹ãæå®ãã¦TLBãç¡å¹åãã
|
---|
| 768 |
|
---|
| 769 | ã»ä»¥åã®ã¢ã¼ããã¯ãã£
|
---|
| 770 | - ARMv6ã«ã¤ãã¦ã¯ï¼ARMv7-Aã¨åã
|
---|
| 771 | - ARMv4, ARMv5ã«ã¤ãã¦ã¯ï¼ä»¥ä¸ã®ã¿ãæã¤ï¼[2] D15.7.10ç¯ï¼
|
---|
| 772 | + ITLBIALL, ITLBIMVA ⦠å½ä»¤TLB
|
---|
| 773 | + DTLBIALL, DTLBIMVA ⦠ãã¼ã¿TLB
|
---|
| 774 | + TLBIALL, TLBIMVA ⦠統åTLB
|
---|
| 775 |
|
---|
| 776 | âã¡ã¢ãªã¿ã¤ãã»å±æ§ã¨ã¡ã¢ãªé åºã¢ãã«ï¼[2] A3.5ç¯ï¼
|
---|
| 777 |
|
---|
| 778 | âã¡ã¢ãªã¿ã¤ãï¼[2] A3.5.1ç¯ï¼
|
---|
| 779 |
|
---|
| 780 | ã»3ã¤ã®ã¡ã¢ãªã¿ã¤ãï¼ARMv6以éï¼
|
---|
| 781 | Normal
|
---|
| 782 | Device
|
---|
| 783 | Strongly-ordered
|
---|
| 784 |
|
---|
| 785 | ã»Strongly-orderedï¼Deviceã¡ã¢ãªã«ã¯ï¼ä»¥ä¸ã®å¶éãããï¼
|
---|
| 786 | - ã¢ã¯ã»ã¹ã®åæ°ï¼é åºï¼ãµã¤ãºãä¿åãããï¼ãã£ãã·ã¥ãããªãï¼ï¼
|
---|
| 787 | - ãªã¼ãã»ã©ã¤ãã¨ãï¼ææ©çã«å®è¡ãããªãï¼
|
---|
| 788 | + ãã ãï¼ãã¼ã¸ãã¼ãã«ã¦ã©ã¼ã¯ã¯ææ©çã«å®è¡ãããï¼
|
---|
| 789 | - ãªã¼ãã»ã©ã¤ãã¢ã¯ã»ã¹ãç¹°ãè¿ãããªãï¼
|
---|
| 790 |
|
---|
| 791 | âã¡ã¢ãªå±æ§ï¼[2] A3.5.2ç¯ï¼
|
---|
| 792 |
|
---|
| 793 | ã»å
|
---|
| 794 | ±æå¯è½æ§ï¼Shareabilityï¼
|
---|
| 795 | - Normalã¨ï¼LPAEãå«ã¾ãªãå®è£
|
---|
| 796 | ã§ã¯ï¼Deviceã«é©ç¨ãããï¼
|
---|
| 797 | â» LPAEï¼Large Physical Address Extension
|
---|
| 798 | + LPAEãå«ãå®è£
|
---|
| 799 | ã§ã¯ï¼Deviceã¯å¸¸ã«Outer Shareable
|
---|
| 800 | + DeviceãShareableã¨Outer Shareable以å¤ã«ãããã¨ã¯æ¨å¥¨ããªãï¼
|
---|
| 801 | - Outer Shareable
|
---|
| 802 | - Inner Shareable
|
---|
| 803 | - Non-shareable
|
---|
| 804 | - Outer Shareableã¨Inner Shareableã®åºå¥ã¯ARMv7ãã
|
---|
| 805 |
|
---|
| 806 | ã»ãã£ãã·ã¥å¯è½æ§ï¼Cacheabilityï¼
|
---|
| 807 | - Normalã«é©ç¨ãããï¼
|
---|
| 808 | + Innerã¨Outerãã£ãã·ã¥é åã«ç¬ç«ã«è¨å®ã§ããï¼
|
---|
| 809 | - Non-cacheable
|
---|
| 810 | - Write-Through Cacheable
|
---|
| 811 | - Write-Back Cacheable
|
---|
| 812 |
|
---|
| 813 | âAtomicityï¼ååæ§ï¼[2] A3.5.3ç¯ï¼
|
---|
| 814 |
|
---|
| 815 | - Single-copy atomicity
|
---|
| 816 | - Multi-copy atomicity
|
---|
| 817 |
|
---|
| 818 | âConcurrent modification and execution of instructionsï¼[2] A3.5.4ç¯ï¼
|
---|
| 819 |
|
---|
| 820 | âNormalã¡ã¢ãªï¼[2] A3.5.5ç¯ï¼
|
---|
| 821 |
|
---|
| 822 | âDeviceã¨Strongly-orderedã¡ã¢ãªï¼[2] A3.5.6ç¯ï¼
|
---|
| 823 | - ARMv7ã§ã¯ï¼Deviceã¨Strongly-orderedã®éãã¯shareabilityã®ã¿
|
---|
| 824 | + ARMv6ã§ã¯ï¼CPSRå¤æ´æã®æ¯èãã«ãéããããï¼
|
---|
| 825 | - Deviceã¨Strongly-orderedã®ã¢ã¼ããã¯ãã£è¦æ±ã®éãã¯ï¼
|
---|
| 826 | + Strongly-orderedã¡ã¢ãªã¸ã®ã©ã¤ãã¯ï¼ã¡ã¢ãªï¼ããªãã§ã©ã«ï¼ã«
|
---|
| 827 | å°éããå¾ã§ãªãã¨å®äºããªã
|
---|
| 828 | + Deviceã¡ã¢ãªã¸ã®ã©ã¤ãã¯ï¼ã¡ã¢ãªï¼ããªãã§ã©ã«ï¼ã«å°éããå
|
---|
| 829 | ã§ãå®äºã§ãã
|
---|
| 830 |
|
---|
| 831 | âã¡ã¢ãªé åºã¢ãã«ï¼[1] B2.1ç¯ï¼
|
---|
| 832 |
|
---|
| 833 | ã»ARMv5ã¾ã§ã¯ï¼ã¡ã¢ãªã¢ã¯ã»ã¹é åºã«é¢ãã¦æ´çããã¦ããªãã£ã
|
---|
| 834 | - å®è£
|
---|
| 835 | ã«åºã¥ãã¦ä»¥ä¸ã®ãããªæ¦å¿µããã£ã
|
---|
| 836 | + Write-Through Cacheable, Write-Back Cacheable
|
---|
| 837 | + Non-Cacheable Bufferable, Non-Cacheable, Non-Bufferable
|
---|
| 838 | - VMSA/PMSAã®Bï¼bufferableï¼ãããã¨Cï¼cacheableï¼ãããã§å¶å¾¡
|
---|
| 839 | - äºææ§ããªããªã©ã®èª²é¡ãçãã¦ãã
|
---|
| 840 |
|
---|
| 841 | ã»ã¡ã¢ãªå±æ§
|
---|
| 842 | Shareableï¼ã¾ã㯠Sharedï¼â¦ è¤æ°ã®è¦³æ¸¬è
|
---|
| 843 | ããä¸è²«ãã¦è¦ããã
|
---|
| 844 |
|
---|
| 845 | ã»ä»ã®é¢ä¿è¨è¿°
|
---|
| 846 | VMSA on MMUï¼PMSA on MPUï¼ãã£ãã·ã¥ã¨åå²äºæ¸¬
|
---|
| 847 | VMSAï¼Virtual Memory System Architecture
|
---|
| 848 | PMSAï¼Protected Memory System Architecture
|
---|
| 849 |
|
---|
| 850 | âã¡ã¢ãªã¢ã¯ã»ã¹é åºï¼[2] A3.8ç¯ï¼
|
---|
| 851 |
|
---|
| 852 | âãªã¼ãã¨ã©ã¤ã
|
---|
| 853 |
|
---|
| 854 | ã»æ示çã§ãªãã¡ã¢ãªã¢ã¯ã»ã¹ï¼ã¡ã¢ãªã¢ã¯ã»ã¹é åºã®è°è«ã¯å½ã¦ã¯ã¾ããªãï¼
|
---|
| 855 | - å½ä»¤ãã§ãã
|
---|
| 856 | - ãã£ãã·ã¥ã®ãã¼ãã¨ã©ã¤ãããã¯
|
---|
| 857 | - å¤æãã¼ãã«ã®ã¦ã©ã¼ã¯
|
---|
| 858 |
|
---|
| 859 | ã»ãªã¼ã ⦠æ示çãªã¡ã¢ãªã¢ã¯ã»ã¹
|
---|
| 860 | - LDR, LDRB, LDRH, LDRSB, LDRSH
|
---|
| 861 | - LDRT, LDRBT, LDRHT, LDRSBT, LDRSHT
|
---|
| 862 | - LDREX, LDREXB, LDREXD, LDREXH ⦠åæããªããã£ã
|
---|
| 863 | - LDM, LDRD, POP, RFE
|
---|
| 864 | - LDC, LDC2, VLDM, VLDR, VLD1, VLD2, VLD3, VLD4, VPOP
|
---|
| 865 | - STREX, STREXB, STREXD, STREXH ã«ããã¹ãã¼ã¿ã¹å¤ã®è¿å´
|
---|
| 866 | - SWP, SWPBï¼ARMå½ä»¤ã»ããï¼â¦ åæããªããã£ãï¼ARMv6以éã§ã¯éæ¨å¥¨
|
---|
| 867 | - TBB, TBHï¼Thumbå½ä»¤ã»ããï¼
|
---|
| 868 | ï¼ä»ã«Jazelleé¢ä¿
|
---|
| 869 |
|
---|
| 870 | ã»ã©ã¤ã ⦠æ示çãªã¡ã¢ãªã¢ã¯ã»ã¹
|
---|
| 871 | - STR, STRB, STRH
|
---|
| 872 | - STRT, STRBT, STRHT
|
---|
| 873 | - STREX, STREXB, STREXD, STREXH ⦠åæããªããã£ã
|
---|
| 874 | - STM, STRD, PUSH, SRS
|
---|
| 875 | - STC, STC2, VPUSH, VSTM, VSTR, VST1, VST2, VST3, VST4
|
---|
| 876 | - SWP, SWPBï¼ARMå½ä»¤ã»ããï¼â¦ åæããªããã£ãï¼ARMv6以éã§ã¯éæ¨å¥¨
|
---|
| 877 | ï¼ä»ã«Jazelleé¢ä¿
|
---|
| 878 |
|
---|
| 879 | ã»è¦³æ¸¬è
|
---|
| 880 |
|
---|
| 881 | - 観測è
|
---|
| 882 | ï¼observerï¼ã¨ã¯ï¼ã·ã¹ãã ä¸ã§ã¡ã¢ãªã«ã¢ã¯ã»ã¹ã§ãããã®
|
---|
| 883 | - ããã»ããµã®ä»¥ä¸ã®æ©æ§ã¯ç¬ç«ãã観測è
|
---|
| 884 | ã¨æ±ã
|
---|
| 885 | + ã¡ã¢ãªã®ãªã¼ãã¨ã©ã¤ããè¡ãæ©æ§
|
---|
| 886 | + å½ä»¤ãã§ããï¼å½ä»¤ãã£ãã·ã¥ã®ãã£ã«ï¼ç´æ¥ãã§ããï¼ã®æ©æ§
|
---|
| 887 | + å¤æãã¼ãã«ã¦ã©ã¼ã¯ãè¡ãæ©æ§
|
---|
| 888 |
|
---|
| 889 | ã»è¦³æ¸¬ã§ããï¼ã°ãã¼ãã«ã«è¦³æ¸¬ã§ããã¨ã¯ï¼
|
---|
| 890 |
|
---|
| 891 | ï¼ã¡ã¢ãªã¸ã®ã¢ã¯ã»ã¹é åºã¯ï¼ãã¹ã¦ã®ãªãã¶ã¼ãã§ä¸è²«ãã¦ãããã¨ãæ³å®
|
---|
| 892 |
|
---|
| 893 | - ããã¡ã¢ãªä½ç½®ã¸ã®ã©ã¤ããï¼ãã観測è
|
---|
| 894 | ãã観測ã§ããã¨è¨ãã®ã¯â¦
|
---|
| 895 | + åã観測è
|
---|
| 896 | ããã®ã¡ã¢ãªä½ç½®ããã以éã«ãªã¼ãããå ´åã«ï¼ä»¥ä¸ã®ã
|
---|
| 897 | ãããã«ãªã
|
---|
| 898 | * æ¸ãè¾¼ãã å¤ãåç
|
---|
| 899 | §ã§ããï¼
|
---|
| 900 | * ä»»æã®è¦³æ¸¬è
|
---|
| 901 | ã«ãã£ã¦ï¼ããããå¾ã«æ¸ãè¾¼ã¾ããå¤ãåç
|
---|
| 902 | §ã§ãã
|
---|
| 903 | + ãã¤ï¼åã観測è
|
---|
| 904 | ããã®ã¡ã¢ãªä½ç½®ã«ãã以éã«æ¸ãè¾¼ãã å ´åã«ï¼
|
---|
| 905 | å¾è
|
---|
| 906 | ã®ã©ã¤ãã®æ¹ãå¾ã«å®è¡ããããã®ã¨é åºä»ããããæ
|
---|
| 907 |
|
---|
| 908 | - ããShareableãªã¡ã¢ãªä½ç½®ã¸ã®ã©ã¤ããï¼ã°ãã¼ãã«ã«è¦³æ¸¬ã§ããã¨è¨
|
---|
| 909 | ãã®ã¯â¦
|
---|
| 910 | + ä»»æã®è¦³æ¸¬è
|
---|
| 911 | ããã®ã¡ã¢ãªä½ç½®ããã以éã«ãªã¼ãããå ´åã«ï¼ä»¥ä¸ã®
|
---|
| 912 | ããããã«ãªã
|
---|
| 913 | * æ¸ãè¾¼ãã å¤ãåç
|
---|
| 914 | §ã§ããï¼
|
---|
| 915 | * ä»»æã®è¦³æ¸¬è
|
---|
| 916 | ã«ãã£ã¦ï¼ããããå¾ã«æ¸ãè¾¼ã¾ããå¤ãåç
|
---|
| 917 | §ã§ãã
|
---|
| 918 | + ãã¤ï¼ä»»æã®è¦³æ¸¬è
|
---|
| 919 | ããã®ã¡ã¢ãªä½ç½®ã«ãã以éã«æ¸ãè¾¼ãã å ´åã«ï¼
|
---|
| 920 | å¾è
|
---|
| 921 | ã®ã©ã¤ãã®æ¹ãå¾ã«å®è¡ããããã®ã¨é åºä»ããããæ
|
---|
| 922 |
|
---|
| 923 | - ããã¡ã¢ãªä½ç½®ã¸ã®ãªã¼ããï¼ãã観測è
|
---|
| 924 | ãã観測ã§ããã¨è¨ãã®ã¯â¦
|
---|
| 925 | + åã観測è
|
---|
| 926 | ããã®ã¡ã¢ãªä½ç½®ã«ãã以éã«æ¸ãè¾¼ãã å ´åã§ãï¼
|
---|
| 927 | ãªã¼ãã«ãã£ã¦è¿ãå¤ãå½±é¿ãããªãæ
|
---|
| 928 |
|
---|
| 929 | - ããShareableãªã¡ã¢ãªä½ç½®ã¸ã®ãªã¼ããï¼ã°ãã¼ãã«ã«è¦³æ¸¬ã§ããã¨
|
---|
| 930 | è¨ãã®ã¯â¦
|
---|
| 931 | + ä»»æã®è¦³æ¸¬è
|
---|
| 932 | ããã®ã¡ã¢ãªä½ç½®ã«ãã以éã«æ¸ãè¾¼ãã å ´åã§ãï¼
|
---|
| 933 | ãªã¼ãã«ãã£ã¦è¿ãå¤ãå½±é¿ãããªãæ
|
---|
| 934 |
|
---|
| 935 | Strongly-orderedã¡ã¢ãªã®å ´åã«ã¯ï¼ããã«ï¼
|
---|
| 936 |
|
---|
| 937 | - å¯ä½ç¨ã®ããããªãã§ã©ã«ãã¡ã¢ãªããããããã¡ã¢ãªä½ç½®ã®ãªã¼ãã¾
|
---|
| 938 | ãã¯ã©ã¤ãã観測ã§ããã¨ã¯ï¼ãªã¼ãã»ã©ã¤ãã以ä¸ã®æ¡ä»¶ãæºã
|
---|
| 939 | ãæ
|
---|
| 940 | + ãªã¹ãã¢ããããã¦ããä¸è¬çãªæ¡ä»¶ãæºãã
|
---|
| 941 | + ããªãã§ã©ã«ã®ç¶æ
|
---|
| 942 | ã«å½±é¿ãéå§ãã
|
---|
| 943 | + ä»ã®ããªãã§ã©ã«ï¼ããã»ããµï¼ã¡ã¢ãªã«å½±é¿ããå ´åã«ã¯ï¼é¢é£ã
|
---|
| 944 | ãå¯ä½ç¨ãããªã¬ãã
|
---|
| 945 | ï¼è¨ãæããã¨ï¼ã¡ã¢ãªã¢ã¯ã»ã¹ãããªãã§ã©ã«ã«å°éãããã¨
|
---|
| 946 |
|
---|
| 947 | ã»ãªã¼ãã»ã©ã¤ãã®å®äºã¨ã¯â¦ ï¼çç¥ï¼
|
---|
| 948 |
|
---|
| 949 | ã»Strongly-orderãDeviceã¡ã¢ãªã¢ã¯ã»ã¹ã®å®äºã¯ï¼ãã¹ã¦ã®å¯ä½ç¨ããã¹ã¦
|
---|
| 950 | ãã®è¦³æ¸¬è
|
---|
| 951 | ã«è¦ããããã«ãªã£ããã¨ãæå³ããªã
|
---|
| 952 |
|
---|
| 953 | âã¡ã¢ãªã¢ã¯ã»ã¹ã®é åºè¦æ±ï¼[2] A3.8.2ï¼
|
---|
| 954 |
|
---|
| 955 | ã»ç¨èªã®å®ç¾©
|
---|
| 956 |
|
---|
| 957 | ã¢ãã¬ã¹ä¾åæ§ï¼ãªã¼ãã¢ã¯ã»ã¹ã«ãã£ã¦è¿ãããå¤ãï¼å¾ç¶ã®èªã¿åº
|
---|
| 958 | ããã©ã¤ãã¢ã¯ã»ã¹ã®ä»®æ³ã¢ãã¬ã¹ã®è¨ç®ã«ä½¿ãããï¼å¿
|
---|
| 959 | ãããï¼ä»®æ³
|
---|
| 960 | ã¢ãã¬ã¹ãå¤ããã¨ã¯éããªãï¼æï¼ã¢ãã¬ã¹ä¾åæ§ãããã¨è¨ãï¼
|
---|
| 961 |
|
---|
| 962 | å¶å¾¡ä¾åæ§ï¼ãªã¼ãã¢ã¯ã»ã¹ã«ãã£ã¦è¿ãããå¤ãï¼æ¡ä»¶ãã©ã°ã決å®
|
---|
| 963 | ãï¼æ¡ä»¶ãã©ã°ã®å¤ãï¼å¾ç¶ã®ãªã¼ãã¢ã¯ã»ã¹ã®ã¢ãã¬ã¹æ±ºå®ã«ä½¿ãã
|
---|
| 964 | ãï¼æ¡ä»¶ä»ãå®è¡ãæ¡ä»¶åå²ï¼æï¼å¶å¾¡ä¾åæ§ãããã¨è¨ãï¼
|
---|
| 965 |
|
---|
| 966 | ã»ä¸ã®è¡¨ã¯ï¼æ示çãªã¢ã¯ã»ã¹A1ã¨A2ããã®ããã°ã©ã é åºã§å®è¡ãããæã®
|
---|
| 967 | ãã¡ã¢ãªã¢ã¯ã»ã¹é åºã示ãï¼"<"ã¯ï¼ã¡ã¢ãªããããããããªãã§ã©ã«ã¾ãã¯
|
---|
| 968 | ãã¡ã¢ãªãããã¯ã«ï¼ããã°ã©ã é åºã§ã¢ã¯ã»ã¹ãå±ããã¨ã示ãï¼
|
---|
| 969 |
|
---|
| 970 | A2
|
---|
| 971 | A1 Normal Device Strongly-ordered
|
---|
| 972 | Normal - - -
|
---|
| 973 | Device - < <
|
---|
| 974 | Strongly-ordered - < <
|
---|
| 975 |
|
---|
| 976 | ãï¼ã¡ã¢ãªããããããããªãã§ã©ã«ã¨ã¡ã¢ãªãããã¯ã®ãµã¤ãºã¯ï¼å®è£
|
---|
| 977 | å®ç¾©
|
---|
| 978 | ï¼ãã ãï¼1KB以ä¸ï¼ã§ããï¼éã«è¨ãã¨ï¼1KBãè¶
|
---|
| 979 | ãããµã¤ãºã®ã¡ã¢ãªã
|
---|
| 980 | ããã¯ã«ã¯ï¼ã¡ã¢ãªã¢ã¯ã»ã¹é åºã®ä¿è¨¼ãå®è£
|
---|
| 981 | ä¾åã«ãªãï¼
|
---|
| 982 |
|
---|
| 983 | ã»æ示çã§ãªãã¡ã¢ãªã¢ã¯ã»ã¹ã«ã¯ï¼ã¢ã¯ã»ã¹é åºè¦æ±ããªãï¼
|
---|
| 984 |
|
---|
| 985 | ã»ãã®ä»ã«ï¼ä»¥ä¸ã®å¶ç´ãããï¼
|
---|
| 986 | - åä¸ã®è¦³æ¸¬è
|
---|
| 987 | ããã®ã¢ã¯ã»ã¹ã¯ï¼ã¦ãããã»ããµã®ã»ãã³ãã£ãã¯ã¹ï¼å½
|
---|
| 988 | 令éã®ä¾åé¢ä¿ï¼ã³ãã¼ã¬ã³ã·ï¼ãç¶æãããï¼
|
---|
| 989 | - ã¢ãã¬ã¹ä¾åæ§ãããã°ï¼ã©ã®ãªãã¶ã¼ããããããã°ã©ã é åºã«è¦ããï¼
|
---|
| 990 | - å¶å¾¡ä¾åæ§ã ãã§ã¯ï¼ä¸ã®å¶ç´ã¯ä¿è¨¼ãããªãï¼
|
---|
| 991 | - ãªã¼ãã¢ã¯ã»ã¹ãè¿ããå¤ãï¼å¾ç¶ã®ã©ã¤ãã¢ã¯ã»ã¹ã«ãã£ã¦ä½¿ãã
|
---|
| 992 | ãå ´åï¼
|
---|
| 993 |
|
---|
| 994 | ï¼æªå®æï¼
|
---|
| 995 |
|
---|
| 996 | ã»å½ä»¤å®è¡ã®ããã°ã©ã é åº
|
---|
| 997 | - å½ä»¤å®è¡ã®ããã°ã©ã é åºã¯ï¼ããã°ã©ã ã®åç´ãªã·ã¼ã±ã³ã·ã£ã«å®è¡
|
---|
| 998 | ã«ãããå½ä»¤ã®é åºã§ããï¼
|
---|
| 999 |
|
---|
| 1000 | - å®è¡ã«ãããæ示çãªã¡ã¢ãªã¢ã¯ã»ã¹ã¯ï¼ä»¥ä¸ã®ããããã§ãã
|
---|
| 1001 | Strictly Ordered < å³å¯ã«é åºéãèµ·ãã
|
---|
| 1002 | Ordered <= é åºéãèµ·ãããï¼åæã«èµ·ãã
|
---|
| 1003 |
|
---|
| 1004 | ï¼æªå®æï¼
|
---|
| 1005 |
|
---|
| 1006 | âã¡ã¢ãªããªã¢ï¼[2] A3.8.3ï¼
|
---|
| 1007 |
|
---|
| 1008 | ã»ARMv6ã¨ARMv7ã¯ï¼3ã¤ã®æ示çãªã¡ã¢ãªããªã¢æ©è½ãæã¤ï¼
|
---|
| 1009 | - ARMv7ã§ã¯ï¼ã¡ã¢ãªããªã¢ã¯å½ä»¤ã§å®ç¾ãããï¼
|
---|
| 1010 | - ARMv6ã§ã¯ï¼ã¡ã¢ãªããªã¢ã¯CP15ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ãã§å®ç¾ãããï¼
|
---|
| 1011 |
|
---|
| 1012 | - ãã¼ã¿ã¡ã¢ãªããªã¢ï¼DMBï¼
|
---|
| 1013 | - ãã¼ã¿åæããªã¢ï¼DSBï¼
|
---|
| 1014 | - å½ä»¤åæããªã¢ï¼ISBï¼
|
---|
| 1015 |
|
---|
| 1016 | - DMBã¨DSBã¯ï¼ãã¼ãï¼ã¹ãã¢å½ä»¤ã«ããã¡ã¢ãªã¢ã¯ã»ã¹ãï¼ããã»ããµ
|
---|
| 1017 | ã«ãããã¼ã¿ã¾ãã¯çµ±åãã£ãã·ã¥ã®ä¿å®æä½ã«å½±é¿ããï¼å½ä»¤ãã§ã
|
---|
| 1018 | ãããã¼ãã¦ã§ã¢å¤æãã¼ãã«ã¢ã¯ã»ã¹ã«ããã¡ã¢ãªã¢ã¯ã»ã¹ã¯ï¼æ示
|
---|
| 1019 | çãªã¢ã¯ã»ã¹ã§ã¯ãªãï¼ãããã«ã¯å½±é¿ããªãï¼ï¼
|
---|
| 1020 |
|
---|
| 1021 | ã»ãã¼ã¿ã¡ã¢ãªããªã¢ï¼DMBï¼
|
---|
| 1022 |
|
---|
| 1023 | ããARMv6ã§ã®èª¬æï¼[1] B.2.6.1ï¼ã
|
---|
| 1024 | - DMBããåã®ããã°ã©ã é åºã®å½ä»¤ã«ãããã¹ã¦ã®æ示çãªã¡ã¢ãªã¢ã¯ã»
|
---|
| 1025 | ã¹ã¯ï¼DMBããå¾ã®ããã°ã©ã é åºã®å½ä»¤ã«ãããã¹ã¦ã®æ示çãªã¡ã¢ãª
|
---|
| 1026 | ã¢ã¯ã»ã¹ã観測ãããåã«ï¼ã°ãã¼ãã«ã«è¦³æ¸¬ã§ããï¼
|
---|
| 1027 | - DMBã¯ï¼ãã®ããã»ããµã§å®è¡ãããä»ã®å½ä»¤ã®å®è¡é åºã«ã¯å½±é¿ããªãï¼
|
---|
| 1028 | âDMBã¯ï¼åå¾ã®å½ä»¤ã®æ示çãªã¡ã¢ãªæä½ã®é åºãä¿è¨¼ããï¼ãããã®å®
|
---|
| 1029 | äºã¯ä¿è¨¼ããªãï¼ãã®æã¯æå³ä¸æï¼ï¼
|
---|
| 1030 |
|
---|
| 1031 | ããARMv7ã§ã®éãã
|
---|
| 1032 | - å
|
---|
| 1033 | ±æå¯è½ãã¡ã¤ã³ã¨ã¢ã¯ã»ã¹ã¿ã¤ããå¼æ°ã«åãï¼
|
---|
| 1034 | + ããã©ã«ãã¯ï¼ã·ã¹ãã å
|
---|
| 1035 | ¨ä½ã§ï¼ãªã¼ãã»ã©ã¤ãã®ä¸¡æ¹ï¼
|
---|
| 1036 | - ã¢ã¯ã»ã¹ã®ç¨®é¡ãã°ã«ã¼ãAã¨ã°ã«ã¼ãBã«åãï¼ããã«è©³ç´°ã«å®ç¾©ï¼
|
---|
| 1037 |
|
---|
| 1038 | ã»ãã¼ã¿åæããªã¢ï¼DSBï¼
|
---|
| 1039 |
|
---|
| 1040 | ããARMv6ã§ã®èª¬æï¼[1] B.2.6.2ï¼ã
|
---|
| 1041 | - DSBãå®äºããã®ã¯ï¼DSMã®åã®æ示çãªã¡ã¢ãªã¢ã¯ã»ã¹ããã¹ã¦å®äºãï¼
|
---|
| 1042 | ãã¤ï¼ãã®å½ä»¤ã«å
|
---|
| 1043 | è¡ãããã£ãã·ã¥ï¼åå²äºæ¸¬ï¼TLBä¿å®æä½ããã¹ã¦
|
---|
| 1044 | å®äºããå¾ã§ããï¼
|
---|
| 1045 | - DSBã®å¾ç¶ã®å½ä»¤ã¯ï¼DSBãããã¾ã§å®è¡ãããªãï¼
|
---|
| 1046 |
|
---|
| 1047 | ããARMv7ã§ã®éãã
|
---|
| 1048 | - å
|
---|
| 1049 | ±æå¯è½ãã¡ã¤ã³ã¨ã¢ã¯ã»ã¹ã¿ã¤ããå¼æ°ã«åãï¼
|
---|
| 1050 | + ããã©ã«ãã¯ï¼ã·ã¹ãã å
|
---|
| 1051 | ¨ä½ã§ï¼ãªã¼ãã»ã©ã¤ãã®ä¸¡æ¹ï¼
|
---|
| 1052 | - å
|
---|
| 1053 | è¡ãããã£ãã·ã¥ï¼åå²äºæ¸¬ï¼TLBä¿å®æä½ã®å®äºãå¾
|
---|
| 1054 | ã¤ã®ã¯ï¼ã¢ã¯ã»
|
---|
| 1055 | ã¹ã¿ã¤ãããªã¼ãã»ã©ã¤ãã®ä¸¡æ¹ã®å ´åã«éãï¼
|
---|
| 1056 |
|
---|
| 1057 | - ARMv6以åã¯ï¼DWBï¼DrainWriteBufferã¾ãã¯DataWriteBarrierï¼ã¨ãå¼
|
---|
| 1058 | ã°ãã¦ããï¼
|
---|
| 1059 |
|
---|
| 1060 | ã»å½ä»¤åæããªã¢ï¼ISBï¼
|
---|
| 1061 | - ISBã®å¾ç¶ã®å½ä»¤ãï¼ISBãå®äºããå¾ã«ãã£ãã·ã¥ã¾ãã¯ã¡ã¢ãªãã
|
---|
| 1062 | ãã§ãããããããã«ï¼ããã»ããµã®ãã¤ãã©ã¤ã³ããã©ãã·ã¥ããï¼
|
---|
| 1063 |
|
---|
| 1064 | - ARMv6ã§ã¯ï¼PrefetchFlushã¨å¼ã°ãã¦ããï¼
|
---|
| 1065 |
|
---|
| 1066 | - ISBã®åã«å®è¡ãããã³ã³ããã¹ãå¤æ´æä½ãï¼ISBã®å¾ã«ãã§ãããã
|
---|
| 1067 | ãå½ä»¤ããè¦ãããã¨ãä¿è¨¼ããï¼ã³ã³ããã¹ãå¤æ´æä½ã®ä¾ã¯ï¼
|
---|
| 1068 | + ASIDã®å¤æ´ ⦠[2]ã«æ¸ããã¦ãã
|
---|
| 1069 | + å®äºããï¼âæå³ä¸æï¼ãã£ãã·ã¥ã»TLBã»åå²äºæ¸¬ä¿å®æä½
|
---|
| 1070 | + ã·ã¹ãã å¶å¾¡ã¬ã¸ã¹ã¿ï¼CP15ã¬ã¸ã¹ã¿ï¼ã®å¤æ´ãªã©
|
---|
| 1071 |
|
---|
| 1072 | - ISBã®å¾ã®åå²å½ä»¤ãï¼ISBã®å¾ã«è¦ããã³ã³ããã¹ãã®åå²äºæ¸¬ãã¸ã
|
---|
| 1073 | ã¯ã«æ¸ãè¾¼ã¾ãããã¨ãä¿è¨¼ããï¼ããã¯ï¼å½ä»¤åãæ£ããå®è¡ããã
|
---|
| 1074 | ãã¨ãä¿è¨¼ããããã«å¿
|
---|
| 1075 | è¦ï¼
|
---|
| 1076 | - å½ä»¤ãåçã«æ¸ãæããå ´åã«ã¯ï¼ISBã¨DMBï¼DSBã®ä¸¡æ¹ã使ãå¿
|
---|
| 1077 | è¦ãã
|
---|
| 1078 | ãï¼
|
---|
| 1079 |
|
---|
| 1080 | âCPSRã®å¤æ´ã¨ã¡ã¢ãªé åºã¢ãã«ï¼[1] B2.7.7ï¼
|
---|
| 1081 |
|
---|
| 1082 | ã»CPSï¼SETENDï¼MSRå½ä»¤ã«ããCPSRã®å¤æ´ï¼ä¾å¤ã®çºçï¼ãªã¿ã¼ã³ãä¼´ããªã
|
---|
| 1083 | ãCPSRã«å¯¾ããæä½ï¼ã¯ï¼
|
---|
| 1084 | - æåã®å½ä»¤ã«å½±é¿ããªããã¨ãä¿è¨¼ãããï¼
|
---|
| 1085 | - 以ä¸ãé¤ãã¦ï¼å¾ç¶ã®å½ä»¤ããè¦ãããã¨ãä¿è¨¼ãããï¼
|
---|
| 1086 | + å½ä»¤ãã¼ããã·ã§ã³ã®ãã§ãã¯ã«å¯¾ããå¹æ
|
---|
| 1087 |
|
---|
| 1088 | ã»CPSRã®å¤æ´ã«ããï¼ç¹æ¨©ï¼ã¾ãã¯ã»ãã¥ãªãã£ï¼ç¶æ
|
---|
| 1089 | ãå¤æ´ãããå ´åã«ã¯ï¼
|
---|
| 1090 | ãå½ä»¤ãã¼ããã·ã§ã³ã®å¹æãè¦ããããã«ã¯ï¼ISBï¼ä¾å¤ã®çºçï¼ä¾å¤ããã®
|
---|
| 1091 | ããªã¿ã¼ã³ã®ãããããçµãªããã°ãªããªãï¼
|
---|
| 1092 |
|
---|
| 1093 | ã»ARMv6ã§ã¯ï¼CPSRã®å²è¾¼ã¿ãã¹ã¯ãå¤æ´ããå½ä»¤ã¯ï¼æåã®Strongly-ordered
|
---|
| 1094 | ãã¢ã¯ã»ã¹ãå®äºããã®ãå¾
|
---|
| 1095 | ã¤ãï¼ãã®ä»æ§ã¯ARMv7ã«ã¯é©ç¨ãããªãï¼åæã
|
---|
| 1096 | ãå¿
|
---|
| 1097 | è¦ãªå ´åã«ã¯ï¼Strongly-orderedã¢ã¯ã»ã¹ãããå½ä»¤ã®ç´å¾ã«ï¼DSBã使ã
|
---|
| 1098 | ãå¿
|
---|
| 1099 | è¦ãããï¼ï¼[2] D12.3.4ï¼
|
---|
| 1100 | - MSRå½ä»¤ã¨ï¼PCãæ¸ãæããå½ä»¤ã§SPSRãCPSRã«ã³ãã¼ãããã®ã該å½ï¼
|
---|
| 1101 | - ARMv6ã§ãï¼ãã®æ¯èãã«ä¾åãããã¨ã¯æ¨å¥¨ããªãï¼
|
---|
| 1102 | - Deviceã¢ã¯ã»ã¹ã«ã¯é©ç¨ãããªãï¼â¦ ã©ãã«æ¸ãã¦ãã£ããä¸æ
|
---|
| 1103 |
|
---|
| 1104 | âããªã¢å½ä»¤ã®ä½¿ç¨ä¾ï¼[2] D7ï¼
|
---|
| 1105 |
|
---|
| 1106 | ã»SEMï¼Sequential Execution Modelï¼ã¨ã¯ï¼ããå½ä»¤ãå®è¡éå§ããåã«ï¼æ
|
---|
| 1107 | ãåã®å½ä»¤ã®å®è¡ãå®äºãã¦ãããããªå®è¡ã¢ãã«ï¼æè¿ã®ããã»ããµã§ã¯ï¼
|
---|
| 1108 | ãå
|
---|
| 1109 | é¨çã«ã¯SEMã«ãªã£ã¦ãããï¼ããªã¢å½ä»¤ãå¿
|
---|
| 1110 | è¦ã«ãªãï¼
|
---|
| 1111 |
|
---|
| 1112 | ã»ããã§ã¯ï¼ARMv6以éã®DMBã¨DSBã®ä½¿ç¨ä¾ã説æ
|
---|
| 1113 |
|
---|
| 1114 | ã»weakly consistent ordering ã®åç´ãªä¾
|
---|
| 1115 |
|
---|
| 1116 | åæå [r1]=0, [r2]=0, r5=0x55, r6=0x66
|
---|
| 1117 | P1:
|
---|
| 1118 | str r5, [r1]
|
---|
| 1119 | ldr r6, [r2]
|
---|
| 1120 | P2:
|
---|
| 1121 | str r6, [r2]
|
---|
| 1122 | ldr r5, [r1]
|
---|
| 1123 |
|
---|
| 1124 | â P1ã§r6=0ï¼P2ã§r5=0ã«ãªããã¨ããã
|
---|
| 1125 | strã«ããã©ã¤ããï¼ldrã«ãããªã¼ãããå¾åãã«ãããå ´å
|
---|
| 1126 |
|
---|
| 1127 | ã»Weely ordered ã«ãããã¡ãã»ã¼ã¸æ¸¡ã
|
---|
| 1128 |
|
---|
| 1129 | åæå r0=1, r5=0x55
|
---|
| 1130 | P1:
|
---|
| 1131 | str r5, [r1]
|
---|
| 1132 | str r0, [r2]
|
---|
| 1133 | P2:
|
---|
| 1134 | wait until [r2]==1
|
---|
| 1135 | ldr r5, [r1]
|
---|
| 1136 |
|
---|
| 1137 | â P2ã§r5=0ã«ãªããã¨ããã
|
---|
| 1138 | P1ã®2ã¤ã®strã«ããã©ã¤ãã®é åºãå
|
---|
| 1139 | ¥ãæ¿ãã£ãå ´å
|
---|
| 1140 |
|
---|
| 1141 | ï¼P2ã¨åãå¦çãè¡ãããã»ããµãè¤æ°ããã¨ï¼ããã»ããµã«ãã£ã¦ï¼r5ã«
|
---|
| 1142 | ãã¼ããã¦ããå¤ãç°ãªãå ´åããã
|
---|
| 1143 |
|
---|
| 1144 | ãããªã¢ã«ãã解決
|
---|
| 1145 | P1:
|
---|
| 1146 | str r5, [r1]
|
---|
| 1147 | dmb [ST] ⦠ã·ã¹ãã å
|
---|
| 1148 | ¨ä½ï¼ã©ã¤ãã®ã¿
|
---|
| 1149 | str r0, [r2]
|
---|
| 1150 | P2:
|
---|
| 1151 | wait until [r2]==1
|
---|
| 1152 | dmb
|
---|
| 1153 | ldr r5, [r1]
|
---|
| 1154 |
|
---|
| 1155 | ãã¢ãã¬ã¹ä¾åæ§ã«ãã解決
|
---|
| 1156 | P1:
|
---|
| 1157 | str r5, [r1]
|
---|
| 1158 | dmb [ST] ⦠ã·ã¹ãã å
|
---|
| 1159 | ¨ä½ï¼ã©ã¤ãã®ã¿
|
---|
| 1160 | str r0, [r2]
|
---|
| 1161 | P2:
|
---|
| 1162 | wait until [r2]==1 ⦠ãã®ä¸ã§r12ã使ã£ã¦ããã¨æ³å®
|
---|
| 1163 | and r12, r12, #0
|
---|
| 1164 | ldr r5, [r1,r12]
|
---|
| 1165 |
|
---|
| 1166 | â æå¾ã®ldrã®ã¢ãã¬ã¹è¨ç®ã«r12ãå¿
|
---|
| 1167 | è¦ããã£ã¦ï¼r12ã¸ã®ãªã¼ãã¯ï¼ãã®
|
---|
| 1168 | ldrå½ä»¤ã«å¿
|
---|
| 1169 | ãå
|
---|
| 1170 | è¡ããï¼ãããªãã¨ï¼ã¢ãã¬ã¹ãè¨ç®ã§ããªãï¼
|
---|
| 1171 |
|
---|
| 1172 | ã»ã¢ãã¬ã¹ä¾åæ§ã¨å¶å¾¡ä¾åæ§
|
---|
| 1173 |
|
---|
| 1174 | (a) ã¢ãã¬ã¹ä¾åæ§
|
---|
| 1175 | ldr r1, [r0]
|
---|
| 1176 | ldr r2, [r1]
|
---|
| 1177 | â ã¢ãã¬ã¹ä¾åæ§ãããããï¼éé ã«ãªããªã
|
---|
| 1178 |
|
---|
| 1179 | (b) ã¢ãã¬ã¹ä¾åæ§
|
---|
| 1180 | ldr r1, [r0]
|
---|
| 1181 | and r1, r1, #0
|
---|
| 1182 | ldr r2, [r3,r1]
|
---|
| 1183 | â [r0]ãããã¼ãããr1ã®å¤ã¯ï¼å®éã«ã¯[r3,r1]ã«å½±é¿ããªããï¼
|
---|
| 1184 | å½¢å¼çã«ã¯ã¢ãã¬ã¹ä¾åæ§ãããããï¼éé ã«ãªããªã
|
---|
| 1185 |
|
---|
| 1186 | (c) å¶å¾¡ä¾åæ§
|
---|
| 1187 | ldr r1, [r0]
|
---|
| 1188 | cmp r1, #55
|
---|
| 1189 | ldrne r2, [r3]
|
---|
| 1190 | â r1ã®å¤ã§ldrneãå®è¡ãããã©ãããå¤ãããï¼ã¢ãã¬ã¹ä¾åæ§ã¯
|
---|
| 1191 | ãªãï¼å¶å¾¡ä¾åæ§ã¯ããï¼ããï¼ldrneãå
|
---|
| 1192 | ã«ï¼ææ©çã«ï¼å®è¡
|
---|
| 1193 | ããã¦ãããï¼ãã¼ãããã¢ãã¬ã¹ã¯å¤ãããªãï¼
|
---|
| 1194 |
|
---|
| 1195 | (d) å¶å¾¡ä¾åæ§ï¼âå¾®å¦âï¼
|
---|
| 1196 | ldr r1, [r0]
|
---|
| 1197 | cmp r1, #55
|
---|
| 1198 | movne r4, #22
|
---|
| 1199 | ldr r2, [r3,r4]
|
---|
| 1200 | â r1ã®å¤ã§movneãå®è¡ãããã©ãããå¤ããï¼æå¾ã®ldrã§ãã¼ãã
|
---|
| 1201 | ãã¢ãã¬ã¹ãå¤ãããï¼ãã©ã°çµç±ã§ã®çµåã¯ã¢ãã¬ã¹ä¾åæ§ã¨
|
---|
| 1202 | ã¯æ±ãããï¼ldrãå
|
---|
| 1203 | ã«ï¼ææ©çã«ï¼å®è¡ããã¦ãããï¼ãã¼ãã
|
---|
| 1204 | ãã¢ãã¬ã¹ã¯å¤ããï¼
|
---|
| 1205 |
|
---|
| 1206 | âããã¤ãçç¥
|
---|
| 1207 | - è¤æ°ã®ãªãã¶ã¼ããããã¡ãã»ã¼ã¸æ¸¡ãï¼ä¸ã«è¨è¼ï¼
|
---|
| 1208 | - ãªãã¸ã§ã¯ãã®æ§ææã®ã¢ãã¬ã¹ä¾åæ§
|
---|
| 1209 | ãªã¼ãå´ã¯ã¢ãã¬ã¹ä¾åæ§ã使ãããã¨ãå¤ã
|
---|
| 1210 | - è¤æ°ã®ãªãã¶ã¼ããããå ´åã®å æé¢ä¿
|
---|
| 1211 | å æé¢ä¿ãå´©ããããã«æ¯ãèããã¨ããã
|
---|
| 1212 | - è¤æ°ã®ãªãã¶ã¼ããããè¤æ°ã¢ãã¬ã¹ã¸ã®æ¸ãè¾¼ã¿
|
---|
| 1213 |
|
---|
| 1214 | ï¼æªå®æï¼
|
---|
| 1215 |
|
---|
| 1216 | âããªã¢å½ä»¤ã®å¿
|
---|
| 1217 | è¦ãªç¶æ³ï¼èå¯ï¼
|
---|
| 1218 |
|
---|
| 1219 | ã»DMBã¯ï¼ãã«ãããã»ããµï¼å³å¯ã«ã¯ï¼ãã«ããã¹ã¿ï¼åãã®æ©è½
|
---|
| 1220 | - ã·ã³ã°ã«ããã»ããµã§ã¯ä½¿ãç¶æ³ã¯ãªãã¨æãããï¼
|
---|
| 1221 |
|
---|
| 1222 | ã»DSBã¯ï¼ã¡ã¢ãªã¢ã¯ã»ã¹ãå¯ä½ç¨ãæã¤æã«ï¼ãã®å¯ä½ç¨ãèµ·ããã®ãå¾
|
---|
| 1223 | ã¤ã
|
---|
| 1224 | ããã«ä½¿ãæ©è½
|
---|
| 1225 | - å²è¾¼ã¿ã³ã³ããã¼ã©ã®å²è¾¼ã¿åªå
|
---|
| 1226 | 度ãã¹ã¯ã¬ã¸ã¹ã¿ï¼GICã§ã¯ï¼
|
---|
| 1227 | GICC_PMRï¼ã«æ¸ãè¾¼ããã¨ã§å²è¾¼ã¿ãç¦æ¢ããå¾ã¯ï¼DSBãå¿
|
---|
| 1228 | è¦ã§ããï¼
|
---|
| 1229 | ããã¯ï¼å²è¾¼ã¿åªå
|
---|
| 1230 | 度ãã¹ã¯ã¬ã¸ã¹ã¿ã¸ã®æ¸ãè¾¼ã¿ãã¹ãã¢ãããã¡ã«
|
---|
| 1231 | èç©ãããç¶æ
|
---|
| 1232 | ã§ï¼æ¬¡ã®å½ä»¤ãå®è¡ãï¼ãã®å¾ã«å²è¾¼ã¿ãå
|
---|
| 1233 | ¥ã£ã¦ãã¾ã
|
---|
| 1234 | å¯è½æ§ãããããã§ããï¼
|
---|
| 1235 | - åªå
|
---|
| 1236 | 度ãã¹ã¯ã¬ã¸ã¹ã¿ã«æ¸ãè¾¼ããã¨ã§å²è¾¼ã¿ã許å¯ããå¾ã«ï¼å¿
|
---|
| 1237 | ãå²
|
---|
| 1238 | è¾¼ã¿ãå
|
---|
| 1239 | ¥ãã¿ã¤ãã³ã°ãä½ãããå ´åã¯ï¼DSBãå¿
|
---|
| 1240 | è¦ã§ããï¼å²è¾¼ã¿ãå
|
---|
| 1241 | ¥
|
---|
| 1242 | ãã¿ã¤ãã³ã°ãä½ãå¿
|
---|
| 1243 | è¦ããªãï¼å²è¾¼ã許å¯ãããã¿ã¤ãã³ã°ãé
|
---|
| 1244 | ããªã£
|
---|
| 1245 | ã¦ãåé¡ãªããã°ï¼DSBã¯å¿
|
---|
| 1246 | é ã§ã¯ãªãï¼
|
---|
| 1247 |
|
---|
| 1248 | ã»ISBã¯ï¼ããã°ã©ã ãæ¸ãæããããï¼ã¾ãã¯ï¼ã·ã¹ãã ç¶æ
|
---|
| 1249 | ã®å¤åã«ããå®
|
---|
| 1250 | ãè¡ãã¹ãããã°ã©ã ãå¤ãã£ãï¼æã«ï¼æ°ããããã°ã©ã ãèªã¿è¾¼ããã¨ã
|
---|
| 1251 | ãä¿è¨¼ããããã®å½ä»¤
|
---|
| 1252 | - ã«ã¼ãã«ã§ã¯ï¼ããã°ã©ã ãæ¸ãæãããã¨ã¯æ³å®ãã¦ããªãï¼
|
---|
| 1253 | - ã·ã¹ãã å¶å¾¡ã¬ã¸ã¹ã¿ã®å¤æ´ãªã©ï¼å¿
|
---|
| 1254 | è¦ãªå ´é¢ã¯éãããã¨æãããï¼
|
---|
| 1255 |
|
---|
| 1256 | âCPSRãæ¸ãæããåã«ï¼ã¡ã¢ãªããªã¢ãå¿
|
---|
| 1257 | è¦ï¼
|
---|
| 1258 | ⦠ã©ãã«æ¸ãã¦ãã£ããä¸æï¼[2] D12.3.4ã®ãã¨ãï¼ï¼ï¼
|
---|
| 1259 | - CPSRã®ã©ã®ãã©ã°ãæ¸ãæãããã«ãã£ã¦ã話ããéã
|
---|
| 1260 |
|
---|
| 1261 | âã³ããã»ããµ
|
---|
| 1262 |
|
---|
| 1263 | âã³ããã»ããµãµãã¼ãï¼[2] A2.9ï¼
|
---|
| 1264 |
|
---|
| 1265 | ã»16åã¾ã§ã®ã³ããã»ããµããµãã¼ã
|
---|
| 1266 | ã»ä»¥ä¸ã®ã³ããã»ããµã¯ARMãäºç´
|
---|
| 1267 |
|
---|
| 1268 | ã»ã³ããã»ããµ15ï¼CP15ï¼
|
---|
| 1269 | - ã·ã¹ãã å¶å¾¡
|
---|
| 1270 | - ä»®æ³ã¡ã¢ãªã·ã¹ãã ã¢ã¼ããã¯ãã£ï¼VMSAï¼ã§ã®ã¬ã¸ã¹ã¿
|
---|
| 1271 | - ç©çã¡ã¢ãªã·ã¹ãã ã¢ã¼ããã¯ãã£ï¼PMSAï¼ã§ã®ã¬ã¸ã¹ã¿
|
---|
| 1272 | - ããã©ã¼ãã³ã¹ã¢ãã¿ã¬ã¸ã¹ã¿
|
---|
| 1273 |
|
---|
| 1274 | ã»ã³ããã»ããµ14ï¼CP14ï¼
|
---|
| 1275 | - ãããã°æ¯æ´
|
---|
| 1276 |
|
---|
| 1277 | ã»ã³ããã»ããµ10ã¨11ï¼CP10ã¨CP11ï¼
|
---|
| 1278 | - 2ã¤ãããã¦ï¼æµ®åå°æ°ç¹ã¨Advanced SIMD
|
---|
| 1279 |
|
---|
| 1280 | ã»ã³ããã»ããµ8,9,12,13
|
---|
| 1281 | - å°æ¥ã®æ¡å¼µã®ããã«ARMãäºç´
|
---|
| 1282 |
|
---|
| 1283 | âã³ããã»ããµå½ä»¤
|
---|
| 1284 |
|
---|
| 1285 | ã»ã³ããã»ããµã®ãã¼ã¿å¦çã®éå§
|
---|
| 1286 | - CDP, CDP2
|
---|
| 1287 | CDP<c> <coproc>, <opc1>, <CRd>, <CRn>, <CRm>, <opc2>
|
---|
| 1288 |
|
---|
| 1289 | ã»ARMã³ã¢ã¬ã¸ã¹ã¿ã¨ã³ããã»ããµã¬ã¸ã¹ã¿ã®éãã¼ã¿ã®è»¢é
|
---|
| 1290 | - MCR, MCR2 ⦠ARMã³ã¢ã¬ã¸ã¹ã¿âã³ããã»ããµ
|
---|
| 1291 | '2'ã¯ï¼æ¡ä»¶ãä»ããããªãï¼CP14,15ã«ã¯ä½¿ããªã
|
---|
| 1292 | MCR<c> <coproc>, <opc1>, <Rt>, <CRn>, <CRm>{, <opc2>}
|
---|
| 1293 | - MCRR, MCRR2 ⦠2ã¤ã®ARMã³ã¢ã¬ã¸ã¹ã¿âã³ããã»ããµ
|
---|
| 1294 | MCRR<c> <coproc>, <opc1>, <Rt>, <Rt2>, <CRm>
|
---|
| 1295 | - MRC, MRC2 ⦠ã³ããã»ããµ â ARMã³ã¢ã¬ã¸ã¹ã¿
|
---|
| 1296 | MRC<c> <coproc>, <opc1>, <Rt>, <CRn>, <CRm>{, <opc2>}
|
---|
| 1297 | - MRRC, MRRC2 ⦠ã³ããã»ããµ â 2ã¤ã®ARMã³ã¢ã¬ã¸ã¹ã¿
|
---|
| 1298 | MRRC<c> <coproc>, <opc>, <Rt>, <Rt2>, <CRm>
|
---|
| 1299 |
|
---|
| 1300 | ã»ã³ããã»ããµã¬ã¸ã¹ã¿ã®ãã¼ãï¼ã¹ãã¢
|
---|
| 1301 | - LDC, LDC2 (immediate) ⦠ã¡ã¢ãªâã³ããã»ããµ
|
---|
| 1302 | LDC{L}<c> <coproc>, <CRd>, [<Rn>, #+/-<imm>]{!}
|
---|
| 1303 | LDC{L}<c> <coproc>, <CRd>, [<Rn>], #+/-<imm>
|
---|
| 1304 | LDC{L}<c> <coproc>, <CRd>, [<Rn>], <option>
|
---|
| 1305 | - LDC, LDC2 (literal) ⦠ã¡ã¢ãªâã³ããã»ããµ
|
---|
| 1306 | LDC{L}<c> <coproc>, <CRd>, <label>
|
---|
| 1307 | LDC{L}<c> <coproc>, <CRd>, [PC, #-0] ⦠Special case
|
---|
| 1308 | LDC{L}<c> <coproc>, <CRd>, [PC], <option>
|
---|
| 1309 | - STC, STC2 ⦠ã³ããã»ããµâã¡ã¢ãª
|
---|
| 1310 | STC{L}<c> <coproc>, <CRd>, [<Rn>, #+/-<imm>]{!}
|
---|
| 1311 | STC{L}<c> <coproc>, <CRd>, [<Rn>], #+/-<imm>
|
---|
| 1312 | STC{L}<c> <coproc>, <CRd>, [<Rn>], <option>
|
---|
| 1313 |
|
---|
| 1314 | ã»CP10ã¨CP11ã¯ï¼æµ®åå°æ°ç¹ï¼Advanced SIMDå½ä»¤ã§ãæä½ã§ãã
|
---|
| 1315 |
|
---|
| 1316 | âCP15
|
---|
| 1317 |
|
---|
| 1318 | âä»®æ³ã¡ã¢ãªã·ã¹ãã ã¢ã¼ããã¯ãã£ï¼VMSAï¼ã§ã®ã¬ã¸ã¹ã¿
|
---|
| 1319 |
|
---|
| 1320 | âç©çã¡ã¢ãªã·ã¹ãã ã¢ã¼ããã¯ãã£ï¼PMSAï¼ã§ã®ã¬ã¸ã¹ã¿
|
---|
| 1321 |
|
---|
| 1322 | âããã©ã¼ãã³ã¹ã¢ãã¿ã¬ã¸ã¹ã¿
|
---|
| 1323 |
|
---|
| 1324 | 以ä¸
|
---|