-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

ARM64Åé¨tµ²ºc½sµ{»P¹ê½î

( ²Åé ¦r)
§@ªÌ¡G©b¶]§aLinuxªÀ°ÏÃþ§O¡G1. -> ¹q¸£²Õ´»PÅé¨tµ²ºc -> ´O¤J¦¡¨t²Î -> Cortex
ĶªÌ¡G
¥Xª©ªÀ¡G¤H¥Á¶l¹q¥Xª©ªÀARM64Åé¨tµ²ºc½sµ{»P¹ê½î 3dWoo®Ñ¸¹¡G 55659
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¦³®w¦s¡j
NT°â»ù¡G 600 ¤¸

¥Xª©¤é¡G4/1/2022
­¶¼Æ¡G432
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787115582102
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

¤º®e²¤¶¡G

¥»®Ñ¦®¦b¸Ô²Ó¤¶²ÐARM64Åé¨tµ²ºcªº¬ÛÃö§Þ³N¡C¥»®Ñ­º¥ý¤¶²Ð¤FARM64Åé¨tµ²ºcªº°ò¦ª¾ÃÑ¡B·f«Ø¾ð²ù¬£¹êÅçÀô¹Òªº¤èªk¡AµM¦ZÁ¿­z¤FARM64«ü¥O¶°¤¤ªº¥[¸ü»P¦sÀx«ü¥O¡Bºâ³N»P²¾¦ì«ü¥O¡B¤ñ¸û»P¸õÂ൥«ü¥O¥H¤ÎARM64«ü¥O¶°¤¤ªº³´¨À¡A±µµÛ°Q½×¤FGNU¶×½s¾¹¡BÃì±µ¾¹¡BÃì±µ¸}¥»¡BGCC¤º´O¶×½s¥N½X¡B²§±`³B²z¡B¤¤Â_³B²z¡BGIC-V2¡A³Ì¦Z­åªR¤F¤º¦sºÞ²z¡B°ª³t½w¦s¡B½w¦s¤@­P©Ê¡BTLBºÞ²z¡B¤º¦s«Ì»Ù«ü¥O¡B­ì¤l¾Þ§@¡B¾Þ§@¨t²Îµ¥¤º®e¡C
¥»®Ñ¾A¦X´O¤J¦¡¶}µo¤H­û¾\Ū¡C
¥Ø¿ý¡G

²Ä¡@1³¹ ARM64Åé¨tµ²ºc°ò¦ª¾ÃÑ¡@1
1.1¡@ARM¤¶²Ð¡@1
1.2¡@ARMv8Åé¨tµ²ºc°ò¦ª¾ÃÑ¡@2
1.2.1¡@ARMv8Åé¨tµ²ºc¡@2
1.2.2¡@ªö¥ÎARMv8Åé¨tµ²ºcªº±`¨£³B²z¾¹¤º®Ö¡@3
1.2.3¡@ARMv8Åé¨tµ²ºc¤¤ªº°ò¥»·§©À¡@3
1.2.4¡@A64«ü¥O¶°¡@4
1.2.5¡@ARMv8³B²z¾¹°õ¦æª¬ºA¡@4
1.2.6¡@ARMv8¤ä«ùªº¼Æ¾Ú¼e«×¡@5
1.3¡@ARMv8±H¦s¾¹¡@5
1.3.1¡@³q¥Î±H¦s¾¹¡@5
1.3.2¡@³B²z¾¹ª¬ºA¡@6
1.3.3¡@¯S®í±H¦s¾¹¡@7
1.3.4¡@¨t²Î±H¦s¾¹¡@10
1.4¡@Cortex-A72³B²z¾¹¤¶²Ð¡@10
1.5¡@ARMv9Åé¨tµ²ºc¤¶²Ð¡@13
²Ä¡@2³¹ ·f«Ø¾ð²ù¬£¹êÅçÀô¹Ò¡@14
2.1¡@¾ð²ù¬£¤¶²Ð¡@14
2.2¡@·f«Ø¾ð²ù¬£¹êÅçÀô¹Ò¡@15
2.2.1¡@°t¸m¦ê¤f½u¡@16
2.2.2¡@¦w¸Ë¾ð²ù¬£©x¤èOS¡@18
2.2.3¡@¹êÅç2-1¡G¿é¥X¡§Welcome BenOS!¡¨¡@19
2.2.4¡@¹êÅç2-2¡G¨Ï¥ÎGDB»PQEMUµêÀÀ¾÷½Õ¸ÕBenOS¡@20
2.2.5¡@¹êÅç2-3¡G¨Ï¥ÎJ-Link EDU¥é¯u¾¹½Õ¸Õ¾ð²ù¬£¡@21
2.3¡@BenOS°ò¦¹êÅç¥N½X¸ÑªR¡@27
2.4¡@QEMUµêÀÀ¾÷»PARM64¹êÅ祭»O¡@32
²Ä3³¹¡@A64«ü¥O¶°1¡X¡X¥[¸ü»P¦sÀx«ü¥O¡@35
3.1¡@A64«ü¥O¶°¤¶²Ð¡@36
3.2¡@A64«ü¥O½s½X®æ¦¡¡@37
3.3¡@¥[¸ü»P¦sÀx«ü¥O¡@38
3.3.1¡@°ò¤_°ò¦a§}ªº´M§}¼Ò¦¡¡@39
3.3.2¡@ÅÜ°ò¼Ò¦¡¡@41
3.3.3¡@PC¬Û¹ï¦a§}¼Ò¦¡¡@42
3.3.4¡@LDR°°«ü¥O¡@43
3.4¡@¥[¸ü»P¦sÀx«ü¥OªºÅܺء@44
3.4.1¡@¤£¦P¦ì¼eªº¥[¸ü»P¦sÀx«ü¥O¡@44
3.4.2¡@¤£¥iÂX®iªº¥[¸ü©M¦sÀx«ü¥O¡@45
3.4.3¡@¦h¦r¸`¤º¦s¥[¸ü©M¦sÀx«ü¥O¡@46
3.4.4¡@¿W¥e¤º¦s³X°Ý«ü¥O¡@48
3.4.5¡@Áô§t¥[¸ü-Àò¨ú/¦sÀx-ÄÀ©ñ
¤º¦s«Ì»Ù­ì»y¡@48
3.4.6¡@«D¯SÅv³X°Ý¯Å§Oªº¥[¸ü©M¦sÀx«ü¥O¡@48
3.5¡@¤J´Ì»P¥X´Ì¡@49
3.6¡@MOV«ü¥O¡@51
3.7¡@³´¨À¡G§A¥Î¹ï¥[¸ü»P¦sÀx«ü¥O¤F¶Ü¡@52
3.8¡@¹êÅç¡@53
3.8.1¡@¹êÅç3-1¡G¼ô±xMOV©MLDR«ü¥O¡@53
3.8.2¡@¹êÅç3-2¡G«eÅÜ°ò»P¦ZÅÜ°ò´M§}¼Ò¦¡1¡@53
3.8.3¡@¹êÅç3-3¡G«eÅÜ°ò»P¦ZÅÜ°ò´M§}¼Ò¦¡2¡@54
3.8.4¡@¹êÅç3-4¡GPC¬Û¹ï¦a§}´M§}¡@54
3.8.5¡@¹êÅç3-5¡Gmemcpy()¨ç¼Æªº¹ê²{¡@54
3.8.6¡@¹êÅç3-6¡GLDP©MSTP«ü¥Oªº¨Ï¥Î¡@55
²Ä4³¹¡@A64«ü¥O¶°2¡X¡Xºâ³N»P²¾¦ì«ü¥O¡@56
4.1¡@±ø¥ó¾Þ§@½X¡@57
4.2¡@¥[ªk»P´îªk«ü¥O¡@57
4.2.1¡@ADD«ü¥O¡@58
4.2.2¡@ADDS«ü¥O¡@60
4.2.3¡@ADC«ü¥O¡@61
4.2.4¡@SUB«ü¥O¡@61
4.2.5¡@SUBS«ü¥O¡@64
4.2.6¡@SBC«ü¥O¡@64
4.3¡@CMP«ü¥O¡@65
4.4¡@Ãö¤_±ø¥ó¼Ð§Ó¦ìªº¥Ü¨Ò¡@67
4.5¡@²¾¦ì«ü¥O¡@68
4.6¡@¦ì¾Þ§@«ü¥O¡@68
4.6.1¡@»P¾Þ§@«ü¥O¡@68
4.6.2¡@©Î¾Þ§@«ü¥O¡@69
4.6.3¡@¦ì²M°£¾Þ§@«ü¥O¡@71
4.6.4¡@CLZ«ü¥O¡@71
4.7¡@¦ì¬q¾Þ§@«ü¥O¡@71
4.7.1¡@¦ì¬q´¡¤J¾Þ§@«ü¥O¡@71
4.7.2¡@¦ì¬q´£¨ú¾Þ§@«ü¥O¡@72
4.8¡@¹êÅç¡@73
4.8.1¡@¹êÅç4-1¡G´ú¸ÕADDS©MCMP«ü¥OªºC¼Ð§Ó¦ì¡@73
4.8.2¡@¹êÅç4-2¡G±ø¥ó¼Ð§Ó¦ìªº¨Ï¥Î¡@74
4.8.3¡@¹êÅç4-3¡G´ú¸ÕANDS«ü¥O¥H¤ÎZ¼Ð§Ó¦ì¡@74
4.8.4¡@¹êÅç4-4¡G´ú¸Õ¦ì¬q¾Þ§@«ü¥O¡@74
4.8.5¡@¹êÅç4-5¡G¨Ï¥Î¦ì¬q«ü¥O¨ÓŪ¨ú±H¦s¾¹¡@74
²Ä5³¹¡@A64«ü¥O¶°3¡X¡X¤ñ¸û«ü¥O»P¸õÂà«ü¥O¡@76
5.1¡@¤ñ¸û«ü¥O¡@76
5.1.1¡@CMN«ü¥O¡@76
5.1.2¡@CSEL«ü¥O¡@77
5.1.3¡@CSET«ü¥O¡@78
5.1.4¡@CSINC«ü¥O¡@78
5.2¡@¸õÂà»Pªð¦^«ü¥O¡@79
5.2.1¡@¸õÂà«ü¥O¡@79
5.2.2¡@ªð¦^«ü¥O¡@80
5.2.3¡@¤ñ¸û¦}¸õÂà«ü¥O¡@80
5.3¡@³´¨À¡G¬°¤°¤\¦bRET«ü¥O¤§¦Z¨t²Î´N±Y¼ì¤F¡@80
5.4¡@¹êÅç¡@82
5.4.1¡@¹êÅç5-1¡GCMP©MCMN«ü¥O¡@82
5.4.2¡@¹êÅç5-2¡G±ø¥ó¿ï¾Ü«ü¥O¡@82
5.4.3¡@¹êÅç5-3¡G¤l¨ç¼Æ¸õÂà¡@82
²Ä6³¹¡@A64«ü¥O¶°4¡X¡X¨ä¥L­«­n«ü¥O¡@83
6.1¡@PC¬Û¹ï¦a§}¥[¸ü«ü¥O¡@83
6.2¡@LDR©MADRP«ü¥Oªº°Ï§O¡@85
6.3¡@¤º¦s¿W¥e³X°Ý«ü¥O¡@85
6.4¡@²§±`³B²z«ü¥O¡@86
6.5¡@¨t²Î±H¦s¾¹³X°Ý«ü¥O¡@87
6.6¡@¤º¦s«Ì»Ù«ü¥O¡@88
6.7¡@¹êÅç¡@88
6.7.1¡@¹êÅç6-1¡G´ú¸ÕADRP©MLDR°°«ü¥O¡@88
6.7.2¡@¹êÅç6-2¡GADRP©MLDR°°«ü¥Oªº³´¨À¡@89
6.7.3¡@¹êÅç6-3¡GLDXR©MSTXR«ü¥Oªº¨Ï¥Î1¡@90
6.7.4¡@¹êÅç6-4¡GLDXR©MSTXR«ü¥Oªº¨Ï¥Î2¡@90
²Ä7³¹¡@A64«ü¥O¶°ªº³´¨À¡@91
7.1¡@®×¨Ò7-1¡G¥[¸ü§»¼Ðñ¡@91
7.2¡@®×¨Ò7-2¡G¥[¸ü¦r²Å¦ê¡@92
7.3¡@®×¨Ò7-3¡GŪ¼g±H¦s¾¹¾É­P¾ð²ù¬£4B¦º¾÷¡@93
7.4¡@®×¨Ò7-4¡GLDXR«ü¥O¾É­P¾ð²ù¬£4B¦º¾÷¡@94
7.5¡@¶×½s¤j§@·~7-1¡G¦b¶×½s¤¤¹ê²{¦ê¤f¿é¥X¥\¯à¡@95
7.6¡@¶×½s¤j§@·~7-2¡G¤ÀªRLinux 5.0ªº±Ò°Ê¶×½s¥N½X¡@95
²Ä8³¹¡@GNU¶×½s¾¹¡@96
8.1¡@½sĶ¬yµ{»PELF¤å¥ó¡@97
8.2¡@¤@­Ó²³æªº¶×½sµ{§Ç¡@99
8.3¡@¶×½s»yªk¡@102
8.3.1¡@ª`ÄÀ¡@102
8.3.2¡@²Å¸¹¡@102
8.4¡@±`¥Îªº°°«ü¥O¡@103
8.4.1¡@¹ï»ô°°«ü¥O¡@103
8.4.2¡@¼Æ¾Ú©w¸q°°«ü¥O¡@103
8.4.3¡@»P¨ç¼Æ¬ÛÃöªº°°«ü¥O¡@104
8.4.4¡@»P¬q¬ÛÃöªº°°«ü¥O¡@105
8.4.5¡@»P§»¬ÛÃöªº°°«ü¥O¡@106
8.5¡@AArch64¨Ì¿à¯S©Ê¡@108
8.5.1¡@AArch64¯S¦³ªº©R¥O¦æ¿ï¶µ¡@108
8.5.2¡@»yªk¡@108
8.5.3¡@AArch64¯S¦³ªº°°«ü¥O¡@109
8.5.4¡@LDR°°«ü¥O¡@109
8.6¡@¹êÅç¡@110
8.6.1¡@¹êÅç8-1¡G¶×½s»y¨¥½m²ß¡X¡X¨D³Ì¤j¼Æ¡@110
8.6.2¡@¹êÅç8-2¡G¶×½s»y¨¥½m²ß¡X¡X³q¹LC»y¨¥½Õ¥Î¶×½s¨ç¼Æ¡@110
8.6.3¡@¹êÅç8-3¡G¶×½s»y¨¥½m²ß¡X¡X³q¹L¶×½s»y¨¥½Õ¥ÎC¨ç¼Æ¡@110
8.6.4¡@¹êÅç8-4¡G¨Ï¥Î¶×½s°°¾Þ§@¨Ó¹ê²{¤@±iªí¡@110
8.6.5¡@¹êÅç8-5¡G¶×½s§»ªº¨Ï¥Î¡@111
²Ä9³¹¡@Ãì±µ¾¹»PÃì±µ¸}¥»¡@112
9.1¡@Ãì±µ¾¹¤¶²Ð¡@112
9.2¡@Ãì±µ¸}¥»¡@114
9.2.1¡@¤@­Ó²³æªºÃì±µµ{§Ç¡@114
9.2.2¡@³]¸m¤J¤fÂI¡@115
9.2.3¡@°ò¥»·§©À¡@115
9.2.4¡@²Å¸¹½á­È»P¤Þ¥Î¡@115
9.2.5¡@·í«e¦ì¸m­p¼Æ¾¹¡@117
9.2.6¡@SECTIONS©R¥O¡@117
9.2.7¡@±`¥Îªº¤º«Ø¨ç¼Æ¡@120
9.3¡@­«©w¦ì¡@121
9.3.1¡@BenOS­«©w¦ì¡@121
9.3.2¡@UBoot©MLinux¤º®Ö­«©w¦ì¡@124
9.4¡@¹êÅç¡@126
9.4.1¡@¹êÅç9-1¡G¤ÀªRÃì±µ¸}¥»¤å¥ó¡@126
9.4.2¡@¹êÅç9-2¡G¿é¥X¨C­Ó¬qªº¤º¦s¥¬§½¡@127
9.4.3¡@¹êÅç9-3¡G¥[¸ü¦a§}¤£µ¥¤_¹B¦æ¦a§}¡@127
9.4.4¡@¹êÅç9-4¡G¤ÀªRLinux 5.0¤º®ÖªºÃì±µ¸}¥»¤å¥ó¡@127
²Ä¡@10³¹ GCC¤º´O¶×½s¥N½X¡@128
10.1¡@¤º´O¶×½s¥N½X°ò¥»¥Îªk¡@128
10.1.1¡@°ò¦¤º´O¶×½s¥N½X¡@128
10.1.2¡@ÂX®i¤º´O¶×½s¥N½X¡@128
10.1.3¡@¤º´O¶×½s¥N½Xªº­×¹¢²Å©M¬ù§ô²Å¡@130
10.1.4¡@¨Ï¥Î¶×½s²Å¸¹¦W¡@132
10.1.5¡@¤º´O¶×½s¨ç¼Æ»P§»ªºµ²¦X¡@133
10.1.6¡@¨Ï¥Îgoto­×¹¢µü¡@133
10.2¡@®×¨Ò¤ÀªR¡@134
10.3¡@¹êÅç¡@138
10.3.1¡@¹êÅç10-1¡G¹ê²{²³æªºmemcpy ¨ç¼Æ¡@138
10.3.2¡@¹êÅç10-2¡G¨Ï¥Î¶×½s²Å¸¹¦W½s¼g¤º´O¶×½s¥N½X¡@138
10.3.3¡@¹êÅç10-3¡G¨Ï¥Î¤º´O¶×½s¥N½X§¹µ½__memset_16bytes ¶×½s¨ç¼Æ¡@138
10.3.4¡@¹êÅç10-4¡G¨Ï¥Î¤º´O¶×½s¥N½X»P§»¡@138
10.3.5¡@¹êÅç10-5¡G¹ê²{Ū©M¼g¨t²Î±H¦s¾¹ªº§»¡@139
10.3.6¡@¹êÅç10-6¡Ggoto¼ÒªOªº¤º´O¶×½s¨ç¼Æ¡@139
²Ä¡@11³¹ ²§±`³B²z¡@140
11.1¡@²§±`³B²zªº°ò¥»·§©À¡@140
11.1.1¡@²§±`Ãþ«¬¡@140
11.1.2¡@²§±`µ¥¯Å¡@141
11.1.3¡@¦P¨B²§±`©M²§¨B²§±`¡@141
11.2¡@²§±`³B²z»Pªð¦^¡@142
11.2.1¡@²§±`¤J¤f¡@142
11.2.2¡@²§±`ªð¦^¡@142
11.2.3¡@²§±`ªð¦^¦a§}¡@143
11.2.4¡@²§±`³B²z¸ô¥Ñ¡@143
11.2.5¡@´Ìªº¿ï¾Ü¡@145
11.2.6¡@²§±`³B²zªº°õ¦æª¬ºA¡@145
11.2.7¡@²§±`ªð¦^ªº°õ¦æª¬ºA¡@146
11.3¡@²§±`¦V¶qªí¡@146
11.3.1¡@ARMv8²§±`¦V¶qªí¡@146
11.3.2¡@Linux 5.0¤º®Öªº²§±`¦V¶qªí¡@147
11.3.3¡@VBAR_ELx¡@148
11.4¡@²§±`²{³õ¡@149
11.5¡@¦P¨B²§±`ªº¸ÑªR¡@149
11.5.1¡@²§±`Ãþ«¬¡@150
11.5.2¡@¼Æ¾Ú²§±`¡@151
11.6¡@®×¨Ò¤ÀªR¡@153
11.6.1¡@±qEL2¤Á´«¨ìEL1¡@153
11.6.2¡@«ü¥O¤£¹ï»ôªº¦P¨B²§±`³B²z¡@154
11.7¡@¹êÅç¡@156
11.7.1¡@¹êÅç11-1¡G¤Á´«¨ìEL1¡@156
11.7.2¡@¹êÅç11-2¡G«Ø¥ß²§±`¦V¶qªí¡@157
11.7.3¡@¹êÅç11-3¡G´M§ä¾ð²ù¬£4B¤WIJµo²§±`ªº«ü¥O¡@157
11.7.4¡@¹êÅç11-4¡G¸ÑªR¼Æ¾Ú²§±`ªº«H®§¡@158
²Ä¡@12³¹ ¤¤Â_³B²z¡@159
12.1¡@¤¤Â_³B²z­I´ºª¾ÃÑ¡@159
12.1.1¡@¤¤Â_¤Þ¸}¡@159
12.1.2¡@¤¤Â_±±¨î¾¹¡@159
12.1.3¡@¤¤Â_³B²z¹Lµ{¡@160
12.2¡@¾ð²ù¬£4B¤Wªº¶Ç²Î¤¤Â_±±¨î¾¹¡@160
12.3¡@ARM¤º®Ö¤Wªº³q¥Î©w®É¾¹¡@163
12.4¡@¤¤Â_²{³õ¡@165
12.4.1¡@«O¦s¤¤Â_²{³õ¡@165
12.4.2¡@«ì´_¤¤Â_²{³õ¡@165
12.5¡@®×¨Ò¤ÀªR¡G¦b¾ð²ù¬£4B¤W¹ê²{ ¤@­Ó©w®É¾¹¡@166
12.5.1¡@¤¤Â_²{³õªº«O¦s¡@166
12.5.2¡@­×§ï²§±`¦V¶qªí¡@169
12.5.3¡@³q¥Î©w®É¾¹ªì©l¤Æ¡@170
12.5.4¡@IRQ³B²z¡@170
12.5.5¡@¥´¶}¥»¦a¤¤Â_¡@171
12.6¡@¹êÅç¡@172
12.6.1¡@¹êÅç12-1¡G¦b¾ð²ù¬£4B¤W ¹ê²{³q¥Î©w®É¾¹¤¤Â_¡@172
12.6.2¡@¹êÅç12-2¡G¨Ï¥Î¶×½s¨ç¼Æ«O¦s©M«ì´_¤¤Â_²{³õ¡@173
²Ä¡@13³¹ GIC-V2¡@174
13.1¡@GICµo®i¾ú¥v¡@174
13.2¡@¤¤Â_ª¬ºA¡B¤¤Â_IJµo¤è¦¡©M µw¥ó¤¤Â_¸¹¡@175
13.3¡@GIC-V2¡@175
13.3.1¡@GIC-V2·§­n¡@175
13.3.2¡@GIC-V2¤º³¡µ²ºc¡@176
13.3.3¡@¤¤Â_¬yµ{¡@176
13.3.4¡@GIC-V2±H¦s¾¹¡@178
13.3.5¡@¤¤Â_¸ô¥Ñ¡@179
13.4¡@¾ð²ù¬£4B¤WªºGIC-400¡@180
13.4.1¡@¤¤Â_¸¹¤À°t¡@180
13.4.2¡@³X°ÝGIC-400±H¦s¾¹¡@181
13.4.3¡@¤¤Â_³B²z¬yµ{¡@181
13.5¡@¹êÅç¡@182
13.5.1¡@¹êÅç13-1¡G¹ê²{³q¥Î©w®É¾¹¤¤Â_¡@182
13.5.2¡@¹êÅç13-2¡G¹ê²{¾ð²ù¬£4B¤Wªº¨t²Î©w®É¾¹¡@183
²Ä¡@14³¹ ¤º¦sºÞ²z¡@184
14.1¡@¤º¦sºÞ²z°ò¦ª¾ÃÑ¡@184
14.1.1¡@¤º¦sºÞ²zªº¡§»·¥j®É¥N¡¨¡@184
14.1.2¡@¦a§}ªÅ¶¡ªº©â¶H¡@186
14.1.3¡@¤À¬q¾÷¨î¡@187
14.1.4¡@¤À­¶¾÷¨î¡@187
14.2¡@ARM64¤º¦sºÞ²z¡@190
14.2.1¡@­¶ªí¡@192
14.2.2¡@­¶ªí¬M®g¡@192
14.2.3¡@­¶­±²É«×¡@194
14.2.4¡@¨â®M­¶ªí¡@195
14.2.5¡@­¶ªí¶µ´y­z²Å¡@196
14.2.6¡@­¶ªíÄÝ©Ê¡@198
14.2.7¡@³sÄò¶ôªí¶µ¡@201
14.3¡@µw¥óºÞ²z³X°Ý¦ì©MŦ¦ì¡@201
14.3.1¡@³X°Ý¦ìªºµw¥óºÞ²z¾÷¨î¡@201
14.3.2¡@Ŧ¦ìªºµw¥óºÞ²z¾÷¨î¡@201
14.4¡@»P¦a§}Âà´«¬ÛÃöªº±±¨î±H¦s¾¹¡@202
14.4.1¡@TCR¡@202
14.4.2¡@SCTLR¡@204
14.4.3¡@TTBR¡@204
14.5¡@¤º¦sÄÝ©Ê¡@204
14.5.1¡@´¶³qÃþ«¬¤º¦s¡@204
14.5.2¡@³]³ÆÃþ«¬¤º¦s¡@204
14.6¡@®×¨Ò¤ÀªR¡G¦bBenOS¨½¹ê²{ùÚµ¥¬M®g¡@207
14.6.1¡@­¶ªí©w¸q¡@208
14.6.2¡@­¶ªí¼Æ¾Úµ²ºc¡@211
14.6.3¡@³Ð«Ø­¶ªí¡@211
14.6.4¡@¥´¶}MMU¡@217
14.6.5¡@´ú¸ÕMMU¡@218
14.7¡@¹êÅç¡@220
14.7.1¡@¹êÅç14-1¡G«Ø¥ßùÚµ¥¬M®g¡@220
14.7.2¡@¹êÅç14-2¡G¬°¤°¤\MMU µLªk¹B¦æ¡@220
14.7.3¡@¹êÅç14-3¡G¹ê²{¤@­Ó MMU­¶ªíªºÂàÀx¥\¯à¡@220
14.7.4¡@¹êÅç14-4¡G­×§ï­¶­±ÄݩʾɭPªº¨t²Î¦º¾÷¡@221
14.7.5¡@¹êÅç14-5¡G¨Ï¥Î¶×½s»y¨¥¨Ó«Ø¥ßùÚµ¥¬M®g©M¥´¶}MMU¡@222
14.7.6¡@¹êÅç14-6¡GÅçÃÒLDXR©M STXR«ü¥O¡@222
14.7.7¡@¹êÅç14-7¡GAT«ü¥O¡@223
²Ä¡@15³¹ °ª³t½w¦s°ò¦ª¾ÃÑ¡@224
15.1¡@¬°¤°¤\»Ý­n°ª³t½w¦s¡@224
15.2¡@°ª³t½w¦sªº³X°Ý©µ®É¡@225
15.3¡@°ª³t½w¦sªº¤u§@­ì²z¡@227
15.4¡@°ª³t½w¦sªº¬M®g¤è¦¡¡@229
15.4.1¡@ª½±µ¬M®g¡@229
15.4.2¡@¥þ¬Û³s¬M®g¡@230
15.4.3¡@²Õ¬Û³s¬M®g¡@230
15.4.4¡@²Õ¬Û³sªº°ª³t½w¦sªº¨Ò¤l¡@231
15.5¡@µêÀÀ°ª³t½w¦s»Pª«²z°ª³t½w¦s¡@232
15.5.1¡@ª«²z°ª³t½w¦s¡@232
15.5.2¡@µêÀÀ°ª³t½w¦s¡@232
15.5.3¡@VIPT©MPIPT¡@232
15.6¡@­«¦W©M¦P¦W°ÝÃD¡@233
15.6.1¡@­«¦W°ÝÃD¡@233
15.6.2¡@¦P¦W°ÝÃD¡@234
15.6.3¡@VIPT²£¥Íªº­«¦W°ÝÃD¡@235
15.7¡@°ª³t½w¦sµ¦²¤¡@236
15.8¡@°ª³t½w¦sªº¦@¨ÉÄÝ©Ê¡@238
15.8.1¡@¦@¨ÉÄÝ©Ê¡@238
15.8.2¡@PoU©MPoCªº°Ï§O¡@239
15.9¡@°ª³t½w¦sªººûÅ@«ü¥O¡@241
15.10¡@°ª³t½w¦sªTÁ|¡@242
15.11¡@¹êÅç¡@245
15.11.1¡@¹êÅç15-1¡GªTÁ|°ª³t½w¦s¡@245
15.11.2¡@¹êÅç15-2¡G²M²z°ª³t½w¦s¡@245
²Ä¡@16³¹ ½w¦s¤@­P©Ê¡@246
16.1¡@¬°¤°¤\»Ý­n½w¦s¤@­P©Ê¡@246
16.2¡@½w¦s¤@­P©Êªº¤ÀÃþ¡@247
16.2.1¡@ARM³B²z¾¹½w¦s¤@­P©Êµo®i¾úµ{¡@247
16.2.2¡@½w¦s¤@­P©Ê¤ÀÃþ¡@248
16.2.3¡@¨t²Î½w¦s¤@­P©Ê°ÝÃD¡@249
16.3¡@½w¦s¤@­P©Êªº¸Ñ¨M¤è®×¡@250
16.3.1¡@Ãö³¬°ª³t½w¦s¡@250
16.3.2¡@³n¥óºûÅ@½w¦s¤@­P©Ê¡@250
16.3.3¡@µw¥óºûÅ@½w¦s¤@­P©Ê¡@250
16.4¡@MESI¨óij¡@251
16.4.1¡@MESI¨óij²¤¶¡@252
16.4.2¡@¥»¦aŪ¼g»PÁ`½u¾Þ§@¡@252
16.4.3¡@MESIª¬ºAÂà´«¹Ï¡@253
16.4.4¡@ªì©lª¬ºA¬°I¡@253
16.4.5¡@ªì©lª¬ºA¬°M¡@256
16.4.6¡@ªì©lª¬ºA¬°S¡@257
16.4.7¡@ªì©lª¬ºA¬°E¡@258
16.4.8¡@Á`µ²»P®×¨Ò¤ÀªR¡@258
16.4.9¡@MOESI¨óij¡@260
16.5¡@°ª³t½w¦s°°¦@¨É¡@261
16.6¡@CCI©MCCN½w¦s¤@­P©Ê±±¨î¾¹¡@262
16.6.1¡@CCI½w¦s¤@­P©Ê±±¨î¾¹¡@262
16.6.2¡@CCN½w¦s¤@­P©Ê±±¨î¾¹¡@263
16.7¡@®×¨Ò¤ÀªR16-1¡G°°¦@¨ÉªºÁקK¡@264
16.8¡@®×¨Ò¤ÀªR16-2¡GDMA©M °ª³t½w¦sªº¤@­P©Ê¡@265
16.8.1¡@±q¤º¦s¨ì³]³Æªº FIFO½w¨R°Ï¡@266
16.8.2¡@±q³]³ÆªºFIFO½w¨R°Ï¨ì ¤º¦s¡@266
16.9¡@®×¨Ò¤ÀªR16-3¡G¦Û­×§ï¥N½Xªº ¤@­P©Ê¡@267
16.10¡@¹êÅç¡@268
16.10.1¡@¹êÅç16-1¡G°ª³t½w¦s°°¦@¨É¡@268
16.10.2¡@¹êÅç16-2¡G¨Ï¥ÎPerf C2C µo²{°ª³t½w¦s°°¦@¨É¡@268
²Ä¡@17³¹ TLBºÞ²z¡@269
17.1¡@TLB°ò¦ª¾ÃÑ¡@270
17.2¡@TLB­«¦W»P¦P¦W°ÝÃD¡@273
17.2.1¡@­«¦W°ÝÃD¡@273
17.2.2¡@¦P¦W°ÝÃD¡@274
17.3¡@ASID¡@274
17.4¡@TLBºÞ²z«ü¥O¡@276
17.4.1¡@TLBºûÅ@«ü¥O¤¶²Ð¡@277
17.4.2¡@TLB¼s¼½¡@278
17.4.3¡@TLBºûÅ@«ü¥Oªº°õ¦æ¦¸§Ç¡@278
17.5¡@TLB®×¨Ò¤ÀªR¡@278
17.5.1¡@TLB¦bLinux¤º®Ö¤¤ªºÀ³¥Î¡@278
17.5.2¡@ASID¦bLinux¤º®Ö¤¤ªºÀ³¥Î¡@281
17.5.3¡@Linux¤º®Ö¤¤ªºTLB ºûÅ@¾Þ§@¡@282
17.5.4¡@BBM¾÷¨î¡@284
²Ä¡@18³¹ ¤º¦s«Ì»Ù«ü¥O¡@287
18.1¡@¤º¦s«Ì»Ù«ü¥O²£¥Íªº­ì¦]¡@287
18.1.1¡@¶¶§Ç¤@­P©Ê¤º¦s¼Ò«¬¡@288
18.1.2¡@³B²z¾¹¤@­P©Ê¤º¦s¼Ò«¬¡@289
18.1.3¡@®z¤@­P©Ê¤º¦s¼Ò«¬¡@289
18.1.4¡@ARM64³B²z¾¹ªº¤º¦s¼Ò«¬¡@290
18.2¡@ARM64¤¤ªº¤º¦s«Ì»Ù«ü¥O¡@290
18.2.1¡@¨Ï¥Î¤º¦s«Ì»Ù«ü¥Oªº³õ´º¡@290
18.2.2¡@ARM64¨½ªº¤º¦s«Ì»Ù«ü¥O¡@291
18.2.3¡@DMB«ü¥O¡@291
18.2.4¡@DSB«ü¥O¡@293
18.2.5¡@DMB©MDSB«ü¥Oªº°Ñ¼Æ¡@294
18.2.6¡@³æ¤è¦V¤º¦s«Ì»Ù­ì»y¡@294
18.2.7¡@ISB«ü¥O¡@297
18.2.8¡@°ª³t½w¦sºûÅ@«ü¥O»P¤º¦s«Ì»Ù«ü¥O¡@299
18.3¡@®×¨Ò¤ÀªR¡@300
18.3.1¡@®ø®§¶Ç»¼°ÝÃD¡@301
18.3.2¡@³æ¤è¦V¤º¦s«Ì»Ù»P¦Û±ÛÂê¡@302
18.3.3¡@¶l½c¶Ç»¼®ø®§¡@304
18.3.4¡@»P¼Æ¾Ú°ª³t½w¦s¬ÛÃöªº®×¨Ò¡@305
18.3.5¡@»P«ü¥O°ª³t½w¦s¬ÛÃöªº®×¨Ò¡@307
18.3.6¡@»PTLB¬ÛÃöªº®×¨Ò¡@309
18.3.7¡@DMA®×¨Ò¡@310
18.3.8¡@Linux¤º®Ö¤¤¨Ï«ü¥O°ª³t½w¦s¥¢®Ä¡@310
²Ä¡@19³¹ ¦X²z¨Ï¥Î¤º¦s«Ì»Ù«ü¥O¡@312
19.1¡@¦sÀx½w¨R°Ï»P¼g¤º¦s«Ì»Ù«ü¥O¡@313
19.2¡@µL®Ä¶¤¦C»PŪ¤º¦s«Ì»Ù«ü¥O¡@318
19.3¡@¤º¦s«Ì»Ù«ü¥OÁ`µ²¡@321
19.4¡@ARM64ªº¤º¦s«Ì»Ù«ü¥Oªº°Ï§O¡@322
19.5¡@®×¨Ò¤ÀªR¡GLinux¤º®Ö¤¤ªº¤º¦s«Ì»Ù«ü¥O¡@323
19.5.1¡@²Ä ¤@¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O¡@324
19.5.2¡@²Ä¤G¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O¡@326
19.5.3¡@²Ä¤T¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O¡@329
19.5.4¡@²Ä¥|¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O¡@330
19.5.5¡@Á`µ²¡G¤º¦s«Ì»Ù«ü¥Oªº¨Ï¥Î¡@331
²Ä¡@20³¹ ­ì¤l¾Þ§@¡@332
20.1¡@­ì¤l¾Þ§@¤¶²Ð¡@332
20.2¡@¿W¥e¤º¦s³X°Ý«ü¥O¡@333
20.3¡@¿W¥e¤º¦s³X°Ý¤u§@­ì²z¡@334
20.3.1¡@¿W¥eºÊµø¾¹¡@334
20.3.2¡@¿W¥eºÊµø¾¹»P½w¦s¤@­P©Ê¡@336
20.3.3¡@¿W¥eºÊµø¾¹ªº²É«×¡@338
20.4¡@­ì¤l¤º¦s³X°Ý¾Þ§@«ü¥O¡@338
20.5¡@¤ñ¸û¦}¥æ´««ü¥O¡@341
20.6¡@WFE«ü¥O¦b¦Û±ÛÂꤤªºÀ³¥Î¡@342
²Ä¡@21³¹ ¾Þ§@¨t²Î¬ÛÃö¸ÜÃD¡@344
21.1¡@C»y¨¥±`¨£³´¨À¡@344
21.1.1¡@¼Æ¾Ú¼Ò«¬¡@344
21.1.2¡@¼Æ¾ÚÃþ«¬Âà´«»P¾ã«¬´£¤É¡@346
21.1.3¡@²¾¦ì¾Þ§@¡@348
21.2¡@¨ç¼Æ½Õ¥Î¼Ð·Ç¡@349
21.3¡@´Ì¥¬§½¡@351
21.4¡@³Ð«Ø¶iµ{¡@352
21.4.1¡@¶iµ{±±¨î¶ô¡@352
21.4.2¡@0¸¹¶iµ{¡@353
21.4.3¡@do_fork¨ç¼Æªº¹ê²{¡@354
21.4.4¡@¶iµ{¤W¤U¤å¤Á´«¡@355
21.4.5¡@·s¶iµ{ªº²Ä ¤@¦¸°õ¦æ¡@357
21.5¡@²©ö¶iµ{½Õ«×¾¹¡@357
21.5.1¡@ÂX®i¶iµ{±±¨î¶ô¡@358
21.5.2¡@´Nºü¶¤¦Crun_queue¡@358
21.5.3¡@½Õ«×¶¤¦CÃþ¡@358
21.5.4¡@²©ö½Õ«×¾¹ªº¹ê²{¡@360
21.5.5¡@¦Ûº@½Õ«×¡@360
21.5.6¡@·m¥e½Õ«×¡@362
21.5.7¡@´ú¸Õ¥Î¨Ò¡@363
21.6¡@¨t²Î½Õ¥Î¡@364
21.6.1¡@¨t²Î½Õ¥Î¤¶²Ð¡@364
21.6.2¡@¥Î¤áºA½Õ¥ÎSVC«ü¥O¡@364
21.6.3¡@¤º®ÖºA¹ï¨t²Î½Õ¥Îªº³B²z¡@365
21.6.4¡@¨t²Î½Õ¥Îªí¡@366
21.7¡@¨t²Î±Ò°Ê¡@367
21.8¡@¹êÅç¡@368
21.8.1¡@¹êÅç21-1¡GÆ[¹î´Ì¥¬§½¡@368
21.8.2¡@¹êÅç21-2¡G¶iµ{³Ð«Ø¡@369
21.8.3¡@¹êÅç21-3¡G¶iµ{½Õ«×¡@369
21.8.4¡@¹êÅç21-4¡G·s¼W¤@­Ó malloc()¨t²Î½Õ¥Î¡@369
21.8.5¡@¹êÅç21-5¡G·s¼W¤@­Óclone() ¨t²Î½Õ¥Î¡@370
²Ä¡@22³¹ ¯BÂI¹Bºâ»PNEON«ü¥O¡@371
22.1¡@¼Æ¾Ú¼Ò«¬¡@371
22.2¡@¯BÂI¹Bºâ¡@373
22.2.1¡@¯BÂI¼Æ¡@373
22.2.2¡@¯BÂI±±¨î±H¦s¾¹»P¯BÂIª¬ºA±H¦s¾¹¡@375
22.2.3¡@¯BÂI¼Æªº±ø¥ó¾Þ§@½X¡@377
22.2.4¡@±`¥Î¯BÂI¹Bºâ«ü¥O¡@377
22.3¡@NEON«ü¥O¶°¡@378
22.3.1¡@SISD©MSIMD¡@378
22.3.2¡@¥Ú¶q¹Bºâ»P¼Ð¶q¹Bºâ¡@379
22.3.3¡@¥[¸ü»P¦sÀx«ü¥OLD1»P ST1¡@380
22.3.4¡@¥[¸ü»P¦sÀx«ü¥OLD2©M ST2¡@382
22.3.5¡@¥[¸ü»P¦sÀx«ü¥OLD3©M ST3¡@383
22.3.6¡@¥[¸ü»P¦sÀx«ü¥OLD4©M ST4¡@385
22.3.7¡@¥[¸ü«ü¥Oªº¯S®í¥Îªk¡@385
22.3.8¡@·h²¾«ü¥O¡@386
22.3.9¡@¤ÏÂà«ü¥O¡@388
22.3.10¡@´£¨ú«ü¥O¡@389
22.3.11¡@¥æ¿ùÅÜ´««ü¥O¡@390
22.3.12¡@¬dªí«ü¥O¡@391
22.3.13¡@­¼¥[«ü¥O¡@391
22.3.14¡@¥Ú¶qºâ³N«ü¥O¡@393
22.4¡@®×¨Ò¤ÀªR22-1¡GRGB24ÂàBGR24 ¡K..393
22.4.1¡@¨Ï¥ÎC»y¨¥¹ê²{RGB24Âà BGR24¡@394
22.4.2¡@¤â¤u½s¼gNEON¶×½s¨ç¼Æ¡@394
22.4.3¡@¨Ï¥ÎNEON¤º«Ø¨ç¼Æ¡@395
22.4.4¡@´ú¸Õ¡@395
22.5¡@®×¨Ò¤ÀªR22-2¡G4¡Ñ4¯x°}­¼ªk¹Bºâ¡@397
22.5.1¡@¨Ï¥ÎC»y¨¥¹ê²{4¡Ñ4¯x°}­¼ªk¹Bºâ¡@397
22.5.2¡@¤â¤u½s¼gNEON¶×½s¨ç¼Æ¡@398
22.5.3¡@¨Ï¥ÎNEON¤º«Ø¨ç¼Æ¡@401
22.5.4¡@´ú¸Õ¡@403
22.6¡@¦Û°Ê¥Ú¶qÀu¤Æ¡@404
22.7¡@¹êÅç¡@406
22.7.1¡@¹êÅç22-1¡G¯BÂI¹Bºâ¡@406
22.7.2¡@¹êÅç22-2¡GRGB24ÂàBGR32¡K¡K¡@407
22.7.3¡@¹êÅç22-3¡G8¡Ñ8¯x°}­¼ªk ¹Bºâ¡K..¡@407
²Ä¡@23³¹ ¥i¦ùÁY¥Ú¶q­pºâ»PÀu¤Æ¡@408
23.1¡@SVE«ü¥O¤¶²Ð¡@408
23.1.1¡@SVE±H¦s¾¹²Õ¡@408
23.1.2¡@SVE«ü¥O»yªk¡@410
23.2¡@·f«ØSVE¹B¦æ©M½Õ¸ÕÀô¹Ò¡@410
23.3¡@SVE¯S¦³ªº½sµ{¼Ò¦¡¡@412
23.3.1¡@Â_¨¥«ü¥O¡@412
23.3.2¡@»E¦X¥[¸ü©MÂ÷´²¦sÀx¡@414
23.3.3¡@°ò¤_Â_¨¥ªº´`Àô±±¨î¡@415
23.3.4¡@°ò¤_³n¥ó±À´úªº¦V¶q¤À°Ï¡@421
23.4¡@SVE»PSVE2«ü¥O¶°¡@422
23.5¡@®×¨Ò¤ÀªR23-1¡G¨Ï¥ÎSVE«ü¥OÀu¤Æstrcmp()¨ç¼Æ¡@422
23.5.1¡@¨Ï¥Î¯Â¶×½s¤è¦¡¡@423
23.5.2¡@´ú¸Õ¡@425
23.6¡@®×¨Ò¤ÀªR23-2¡GRGB24ÂàBGR24 ¡K.425
23.6.1¡@¨Ï¥Î¯Â¶×½s¤è¦¡¡@426
23.6.2¡@¨Ï¥Î¤º´O¶×½s¤è¦¡¡@426
23.6.3¡@´ú¸Õ¡@427
23.7¡@®×¨Ò¤ÀªR23-3¡G4¡Ñ4¯x°}­¼ªk¹Bºâ¡@428
23.7.1¡@¨Ï¥Î¤º´O¶×½s¤è¦¡¡@428
23.7.2¡@´ú¸Õ¡@430
23.8¡@¹êÅç¡@431
23.8.1¡@¹êÅç23-1¡GRGB24ÂàBGR32¡@431
23.8.2¡@¹êÅç23-2¡G8¡Ñ8¯x°}­¼ªk¹Bºâ¡@432
23.8.3¡@¹êÅç23-3¡G¨Ï¥ÎSVE«ü¥OÀu¤Æstrcpy()¨ç¼Æ¡@432
§Ç¡G