RISC-VÅé¨tµ²ºc½sµ{»P¹ê½î ( ²Åé ¦r) |
§@ªÌ¡G©b¶]§aLinuxªÀ°Ï | Ãþ§O¡G1. -> ¹q¸£²Õ´»PÅé¨tµ²ºc -> ³æ´¹¤ù -> RISC-V |
ĶªÌ¡G |
¥Xª©ªÀ¡G¤H¥Á¶l¹q¥Xª©ªÀ | 3dWoo®Ñ¸¹¡G 56215 ¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I¡i¦³®w¦s¡j NT°â»ù¡G 650 ¤¸ |
¥Xª©¤é¡G2/1/2023 |
¶¼Æ¡G464 |
¥úºÐ¼Æ¡G0 |
|
¯¸ªø±ÀÂË¡G |
¦L¨ê¡G¶Â¥Õ¦L¨ê | »y¨t¡G ( ²Åé ª© ) |
|
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R (½Ð¥ýµn¤J·|û) |
ISBN¡G9787115603609 |
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç |
(²Åé®Ñ¤W©Òz¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, YŪªÌ»Ýn½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ) |
§@ªÌ§Ç¡G |
ĶªÌ§Ç¡G |
«e¨¥¡G |
¤º®e²¤¶¡G¥»®Ñ¦®¦b¤¶²ÐRISC-VÅé¨tµ²ºcªº³]p©M¹ê²{¡C¥»®Ñº¥ý¤¶²ÐRISC-VÅé¨tµ²ºcªº°ò¦ª¾ÃÑ¡B¹êÅçÀô¹Ò·f«Ø¡B±`¥Î«ü¥O¡B¨ç¼Æ½Õ¥Î³WS»P´Ì¡AµM¦ZÁ¿zGNU¶×½s¾¹¡BÃì±µ¾¹¡BÃì±µ¸}¥»©MGCC¤º´O¶×½s¥N½X¡A±µµÛ°Q½×RISC-VÅé¨tµ²ºc¤¤ªº²§±`³B²z¡B¤¤Â_¡B¤º¦sºÞ²z¡B°ª³t½w¦s¡B½w¦s¤@P©Ê¡BTLBºÞ²z¡Bì¤l¾Þ§@¡B¤º¦s«Ì»Ù«ü¥O¡A³Ì¦ZÄÄzRSIC-VÅé¨tµ²ºc¤¤ªºÀ£ÁY«ü¥OÂX®i¡BµêÀÀ¤ÆÂX®iµ¥¡C ¥»®Ñ¤£¶È¾A¦X³n¥ó¶}µo¤Hû¾\Ū¡AÁÙ¥i¥H§@¬°pºâ¾÷¬ÛÃö±M·~©M¬ÛÃö°ö°V¾÷ºcªº±Ð§÷¡C |
¥Ø¿ý¡G²Ä 1³¹¡@RISC-VÅé¨tµ²ºc°ò¦ª¾ÃÑ 1 1.1¡@RISC-V¤¶²Ð 1 1.1.1¡@RISC-V«ü¥O¶°ÀuÂI 1 1.1.2¡@RISC-V«ü¥O¶°ÂX®i 2 1.1.3¡@RISC-V°Ó·~¤Æµo®i 2 1.2¡@RISC-VÅé¨tµ²ºc¤¶²Ð 3 1.2.1¡@RISC-VÅé¨tµ²ºc 3 1.2.2¡@ªö¥ÎRISC-VÅé¨tµ²ºcªº±`¨£³B²z¾¹ 3 1.2.3¡@RISC-VÅé¨tµ²ºc¤¤ªº°ò¥»·§©À 4 1.2.4¡@SBIªA°È 5 1.3¡@RISC-V±H¦s¾¹ 6 1.3.1¡@³q¥Î±H¦s¾¹ 6 1.3.2¡@¨t²Î±H¦s¾¹ 7 1.3.3¡@U¼Ò¦¡¤Uªº¨t²Î±H¦s¾¹ 8 1.3.4¡@S¼Ò¦¡¤Uªº¨t²Î±H¦s¾¹ 9 1.3.5¡@M¼Ò¦¡¤Uªº¨t²Î±H¦s¾¹ 11 1.4¡@»¤s³B²z¾¹¤¶²Ð 15 1.4.1¡@»¤s³B²z¾¹Åé¨tµ²ºc 15 1.4.2¡@»¤s³B²z¾¹ªº«eºÝ¤l¨t²Î 16 1.4.3¡@»¤s³B²z¾¹ªº¦ZºÝ¤l¨t²Î 18 1.4.4¡@»¤s³B²z¾¹ªº³X¦s¤l¨t²Î 20 1.4.5¡@»¤s³B²z¾¹ªºL2/L3°ª³t½w¦s 25
²Ä 2³¹¡@·f«ØRISC-V¹êÅçÀô¹Ò 29 2.1¡@¹êÅ祻O 29 2.1.1¡@QEMU 29 2.1.2¡@NEMU 30 2.2¡@·f«Ø¹êÅçÀô¹Ò 31 2.2.1¡@¹êÅç2-1¡G¿é¥X¡§Welcome RISC-V!¡¨ 31 2.2.2¡@¹êÅç2-2¡G³æ¨B½Õ¸ÕBenOS©MMySBI 32 2.3¡@BenOS©MMySBI°ò¦¹êÅç¥N½X¸ÑªR 34 2.3.1¡@MySBI°ò¦¥N½X¤ÀªR 34 2.3.2¡@BenOS°ò¦¥N½X¤ÀªR 37 2.3.3¡@¦X¦}BenOS©MMySBI 41 2.4¡@QEMU + RISC-V + Linux¹êÅ祻O 41
²Ä3³¹¡@°ò¦«ü¥O¶° 44 3.1¡@RISC-V«ü¥O¶°¤¶²Ð 44 3.2¡@RISC-V«ü¥O½s½X®æ¦¡ 45 3.3¡@¥[¸ü»P¦sÀx«ü¥O 46 3.4¡@PC¬Û¹ï´M§} 49 3.5¡@²¾¦ì¾Þ§@ 53 3.6¡@¦ì¾Þ§@«ü¥O 55 3.7¡@ºâ³N«ü¥O 56 3.8¡@¤ñ¸û«ü¥O 57 3.9¡@µL±ø¥ó¸õÂà«ü¥O 58 3.10¡@±ø¥ó¸õÂà«ü¥O 59 3.11¡@CSR«ü¥O 61 3.12¡@´M§}S³ò 62 3.13¡@³´¨À¡G¬°¤°¤\ret¤§¦Z´N¶i¤J¦º´`Àô 62 3.14¡@¹êÅç 64 3.14.1¡@¹êÅç3-1¡G¼ô±x¥[¸ü«ü¥O 64 3.14.2¡@¹êÅç3-2¡GPC¬Û¹ï¦a§}´M§} 64 3.14.3¡@¹êÅç3-3¡Gmemcpy()¨ç¼Æªº¹ê²{ 65 3.14.4¡@¹êÅç3-4¡Gmemset()¨ç¼Æªº¹ê²{ 65 3.14.5¡@¹êÅç3-5¡G±ø¥ó¸õÂà«ü¥O1 65 3.14.6¡@¹êÅç3-6¡G±ø¥ó¸õÂà«ü¥O2 66 3.14.7¡@¹êÅç3-7¡G¤l¨ç¼Æ¸õÂà 66 3.14.8¡@¹êÅç3-8¡G¦b¶×½s¤¤¹ê²{¦ê¤f¿é¥X¥\¯à 66
²Ä4³¹¡@¨ç¼Æ½Õ¥Î³WS»P´Ì 67 4.1¡@¨ç¼Æ½Õ¥Î³WS 67 4.2¡@¤J´Ì»P¥X´Ì 70 4.3¡@RISC-V´Ìªº¥¬§½ 72 4.3.1¡@¤£¨Ï¥ÎFPªº´Ì¥¬§½ 72 4.3.2¡@¨Ï¥ÎFPªº´Ì¥¬§½ 74 4.3.3¡@´Ì¦^·¹ 76 4.4¡@¹êÅç 78 4.4.1¡@¹êÅç4-1¡GÆ[¹î´Ì¥¬§½ 78 4.4.2¡@¹êÅç4-2¡GÆ[¹î´Ì¦^·¹ 78
²Ä5³¹¡@GNU¶×½s¾¹ 79 5.1¡@½sĶ¬yµ{»PELF¤å¥ó 79 5.2¡@¤@Ó²³æªº¶×½sµ{§Ç 82 5.3¡@¶×½s»yªk 84 5.3.1¡@ª`ÄÀ 84 5.3.2¡@²Å¸¹ 84 5.4¡@±`¥Îªº°°«ü¥O 85 5.4.1¡@¹ï»ô°°«ü¥O 85 5.4.2¡@¼Æ¾Ú©w¸q°°«ü¥O 86 5.4.3¡@»P¨ç¼Æ¬ÛÃöªº°°«ü¥O 87 5.4.4¡@»P¬q¬ÛÃöªº°°«ü¥O 87 5.4.5¡@»P§»¬ÛÃöªº°°«ü¥O 89 5.4.6¡@»P¤å¥ó¬ÛÃöªº°°«ü¥O 91 5.5¡@RISC-V¨Ì¿à¯S©Ê 91 5.5.1¡@RISC-V¯S¦³ªº©R¥O¦æ¿ï¶µ 91 5.5.2¡@RISC-V¯S¦³ªº°°«ü¥O 92 5.6¡@¹êÅç 92 5.6.1¡@¹êÅç5-1¡G¶×½s»y¨¥½m²ß¡X¬d§ä³Ì¤j¼Æ 92 5.6.2¡@¹êÅç5-2¡G¶×½s»y¨¥½m²ß¡X³q¹LC»y¨¥½Õ¥Î¶×½s¨ç¼Æ 92 5.6.3¡@¹êÅç5-3¡G¶×½s»y¨¥½m²ß¡X³q¹L¶×½s»y¨¥½Õ¥ÎC¨ç¼Æ 92 5.6.4¡@¹êÅç5-4¡G¨Ï¥Î¶×½s°°¾Þ§@¹ê²{¤@±iªí 92 5.6.5¡@¹êÅç5-5¡G¶×½s§»ªº¨Ï¥Î 93
²Ä6³¹¡@Ãì±µ¾¹»PÃì±µ¸}¥» 94 6.1¡@Ãì±µ¾¹ 94 6.2¡@Ãì±µ¸}¥» 95 6.2.1¡@¤@Ó²³æªºÃì±µµ{§Ç 95 6.2.2¡@³]¸m¤J¤fÂI 96 6.2.3¡@°ò¥»·§©À 97 6.2.4¡@²Å¸¹½áÈ»P¤Þ¥Î 97 6.2.5¡@·í«e¦ì¸mp¼Æ¾¹ 98 6.2.6¡@SECTIONS©R¥O 99 6.2.7¡@±`¥Îªº¤º¸m¨ç¼Æ 101 6.3¡@¥[¸ü«©w¦ì 103 6.3.1¡@BenOS«©w¦ì 103 6.3.2¡@OpenSBI©MLinux¤º®Ö«©w¦ì 105 6.4¡@Ãì±µ«©w¦ì»PÃì±µ¾¹ªQ¦¢Àu¤Æ 108 6.4.1¡@Ãì±µ«©w¦ì 108 6.4.2¡@¨ç¼Æ¸õÂàÀu¤Æ 112 6.4.3¡@²Å¸¹¦a§}³X°ÝÀu¤Æ 114 6.5¡@¹êÅç 116 6.5.1¡@¹êÅç6-1¡G¤ÀªRÃì±µ¸}¥» 116 6.5.2¡@¹êÅç6-2¡G¿é¥X¨CÓ¬qªº¤º¦s¥¬§½ 116 6.5.3¡@¹êÅç6-3¡G¥[¸ü¦a§}¤£µ¥¤_¹B¦æ¦a§} 117 6.5.4¡@¹êÅç6-4¡G³]¸mÃì±µ¦a§} 117 6.5.5¡@¹êÅç6-5¡GÃì±µ¾¹ªQ¦¢Àu¤Æ1 117 6.5.6¡@¹êÅç6-6¡GÃì±µ¾¹ªQ¦¢Àu¤Æ2 117 6.5.7¡@¹êÅç6-7¡G¤ÀªRLinux 5.15¤º®ÖªºÃì±µ¸}¥» 117
²Ä7³¹¡@¤º´O¶×½s¥N½X 118 7.1¡@¤º´O¶×½s¥N½X°ò¥»¥Îªk 118 7.1.1¡@°ò¦¤º´O¶×½s¥N½X 118 7.1.2¡@ÂX®i¤º´O¶×½s¥N½X 118 7.1.3¡@¤º´O¶×½s¥N½X×¹¢²Å 120 7.1.4¡@¨Ï¥Î¶×½s²Å¸¹¦W¦r 121 7.1.5¡@¤º´O¶×½s¥N½X»P§»µ²¦X 122 7.1.6¡@¨Ï¥Îgoto×¹¢µü 122 7.1.7¡@¤pµ² 123 7.2¡@®×¨Ò¤ÀªR 124 7.3¡@ª`·N¨Æ¶µ 128 7.4¡@¹êÅç 128 7.4.1¡@¹êÅç7-1¡G¹ê²{²³æªºmemcpy()¨ç¼Æ 128 7.4.2¡@¹êÅç7-2¡G¨Ï¥Î¶×½s²Å¸¹¦W¼g¤º´O¶×½s¥N½X 128 7.4.3¡@¹êÅç7-3¡G¨Ï¥Î¤º´O¶×½s¥N½X§¹µ½memset()¨ç¼Æ 129 7.4.4¡@¹êÅç7-4¡G¨Ï¥Î¤º´O¶×½s¥N½X»P§»ªºµ²¦X 129 7.4.5¡@¹êÅç7-5¡G¹ê²{Ū©M¼g¨t²Î±H¦s¾¹ªº§» 129 7.4.6¡@¹êÅç7-6¡Ggoto¼ÒªOªº¤º´O¶×½s¥N½X 129
²Ä8³¹¡@²§±`³B²z 130 8.1¡@²§±`³B²z°ò¥»·§©À 130 8.1.1¡@²§±`Ãþ«¬ 130 8.1.2¡@¦P¨B²§±`©M²§¨B²§±` 131 8.1.3¡@²§±`¤J¤f©Mªð¦^ 131 8.1.4¡@²§±`ªð¦^¦a§} 132 8.1.5¡@²§±`ªð¦^ªº³B²z¾¹¼Ò¦¡ 133 8.1.6¡@´Ìªº¿ï¾Ü 133 8.2¡@»PM¼Ò¦¡¬ÛÃöªº²§±`±H¦s¾¹ 133 8.2.1¡@mstatus±H¦s¾¹ 134 8.2.2¡@mtvec±H¦s¾¹ 134 8.2.3¡@mcause±H¦s¾¹ 135 8.2.4¡@mie±H¦s¾¹ 135 8.2.5¡@mtval±H¦s¾¹ 136 8.2.6¡@mip±H¦s¾¹ 136 8.2.7¡@mideleg©Mmedeleg±H¦s¾¹ 136 8.2.8¡@¤¤Â_°t¸m 137 8.3¡@»PS¼Ò¦¡¬ÛÃöªº²§±`±H¦s¾¹ 137 8.3.1¡@sstatus±H¦s¾¹ 137 8.3.2¡@sie±H¦s¾¹ 137 8.3.3¡@sip±H¦s¾¹ 138 8.3.4¡@scause±H¦s¾¹ 138 8.3.5¡@stvec±H¦s¾¹ 138 8.3.6¡@stval±H¦s¾¹ 139 8.4¡@²§±`¤W¤U¤å 139 8.4.1¡@«O¦s²§±`¤W¤U¤å 141 8.4.2¡@«ì´_²§±`¤W¤U¤å 141 8.5¡@®×¨Ò¤ÀªR8-1¡G¹ê²{SBI¨t²Î½Õ¥Î 142 8.5.1¡@½Õ¥ÎECALL«ü¥O 142 8.5.2¡@¹ê²{SBI¨t²Î½Õ¥Î 143 8.6¡@®×¨Ò¤ÀªR8-2¡GBenOSªº²§±`³B²z 148 8.6.1¡@³]¸m²§±`¦V¶qªí 148 8.6.2¡@«O¦s©M«ì´_²§±`¤W¤U¤å 149 8.6.3¡@²§±`³B²z 151 8.6.4¡@©e¦«¤¤Â_©M²§±` 153 8.6.5¡@IJµo²§±` 153 8.7¡@¹êÅç 154 8.7.1¡@¹êÅç8-1¡G¦bSBI¤¤¹ê²{¦ê¤f¿é¤J¥\¯à 154 8.7.2¡@¹êÅç8-2¡G¦bBenOS¤¤Ä²µo«Dªk«ü¥O²§±` 155 8.7.3¡@¹êÅç8-3¡G¿é¥XIJµo²§±`®É¨ç¼Æ´Ìªº½Õ¥Î¹Lµ{ 155 8.7.4¡@¹êÅç8-4¡G¦bMySBI¤¤¼ÒÀÀ¹ê²{RDTIME°°«ü¥O 155
²Ä9³¹¡@¤¤Â_³B²z»P¤¤Â_±±¨î¾¹ 156 9.1¡@¤¤Â_³B²z°ò¥»·§©À 156 9.1.1¡@¤¤Â_Ãþ«¬ 156 9.1.2¡@¤¤Â_³B²z¹Lµ{ 157 9.1.3¡@¤¤Â_©e¬£©Mª`¤J 158 9.1.4¡@¤¤Â_Àu¥ý¯Å 158 9.2¡@CLINT 159 9.3¡@®×¨Ò¤ÀªR9-1¡G©w®É¾¹¤¤Â_ 160 9.3.1¡@³X°Ýmtimer 160 9.3.2¡@¦bMySBI¤¤¹ê²{©w®É¾¹ªA°È 160 9.3.3¡@©w®É¾¹¤¤Â_³B²z 161 9.3.4¡@¥´¶}¤¤Â_Á`¶}Ãö 163 9.3.5¡@¤pµ² 164 9.4¡@PLIC 164 9.4.1¡@¤¤Â_¸¹ 165 9.4.2¡@¤¤Â_Àu¥ý¯Å 166 9.4.3¡@¤¤Â_¨Ï¯à±H¦s¾¹ 166 9.4.4¡@¤¤Â_«Ý©w±H¦s¾¹ 166 9.4.5¡@¤¤Â_Àu¥ý¯ÅìHȱH¦s¾¹ 167 9.4.6¡@¤¤Â_½Ð¨D/§¹¦¨±H¦s¾¹ 167 9.5¡@®×¨Ò¤ÀªR9-2¡G¦ê¤f¤¤Â_ 167 9.5.1¡@ªì©l¤ÆPLIC 168 9.5.2¡@¨Ï¯à¦ê¤f0ªº±µ¦¬¤¤Â_ 169 9.5.3¡@³B²z¤¤Â_ 169 9.6¡@¹êÅç 171 9.6.1¡@¹êÅç9-1¡G©w®É¾¹¤¤Â_ 171 9.6.2¡@¹êÅç9-2¡G¨Ï¥Î¶×½s¨ç¼Æ«O¦s©M«ì´_¤¤Â_²{³õ 171 9.6.3¡@¹êÅç9-3¡G¹ê²{¦}½Õ¸Õ¦ê¤f0¤¤Â_ 171
²Ä 10³¹¡@¤º¦sºÞ²z 172 10.1¡@¤º¦sºÞ²z°ò¦ª¾ÃÑ 172 10.1.1¡@¤º¦sºÞ²zªº¡§»·¥j®É¥N¡¨ 172 10.1.2¡@¦a§}ªÅ¶¡ªº©â¶H 174 10.1.3¡@¤À¬q¾÷¨î 175 10.1.4¡@¤À¶¾÷¨î 175 10.2¡@RISC-V¤º¦sºÞ²z 178 10.2.1¡@¶ªí¤ÀÃþ 179 10.2.2¡@Sv39¶ªí¬M®g 180 10.2.3¡@Sv48¶ªí¬M®g 182 10.2.4¡@¶ªí¶µ´yz²Å 183 10.2.5¡@¶ªíÄÝ©Ê 185 10.2.6¡@»P¦a§}Âà´«¬ÛÃöªº±H¦s¾¹ 186 10.3¡@ª«²z¤º¦sÄÝ©Ê»Pª«²z¤º¦s«OÅ@ 187 10.3.1¡@ª«²z¤º¦sÄÝ©Ê 187 10.3.2¡@ª«²z¤º¦s«OÅ@ 188 10.4¡@®×¨Ò¤ÀªR10-1¡G¦bBenOS¨½¹ê²{ùÚµ¥¬M®g 190 10.4.1¡@¶ªí©w¸q 191 10.4.2¡@¶ªí¼Æ¾Úµ²ºc 193 10.4.3¡@³Ð«Ø¶ªí 193 10.4.4¡@¥´¶}MMU 198 10.4.5¡@´ú¸ÕMMU 198 10.4.6¡@¹Ï¸Ñ¶ªí³Ð«Øªº¹Lµ{ 200 10.5¡@¤º¦sºÞ²z¹êÅç 204 10.5.1¡@¹êÅç10-1¡G«Ø¥ßùÚµ¥¬M®g 204 10.5.2¡@¹êÅç10-2¡G¬°¤°¤\MMUµLªk¹B¦æ 205 10.5.3¡@¹êÅç10-3¡G¹ê²{¤@ÓMMU¶ªíªºÂàÀx¥\¯à 205 10.5.4¡@¹êÅç10-4¡GקﶱÄÝ©Ê 205 10.5.5¡@¹êÅç10-5¡G¨Ï¥Î¶×½s»y¨¥¨Ó«Ø¥ßùÚµ¥¬M®g 206 10.5.6¡@¹êÅç10-6¡G¦bMySBI¤¤¹ê²{©MÅçÃÒPMP¾÷¨î 206
²Ä 11³¹¡@°ª³t½w¦s 207 11.1¡@¬°¤°¤\»Ýn°ª³t½w¦s 207 11.2¡@°ª³t½w¦sªº³X°Ý©µ®É 208 11.3¡@°ª³t½w¦sªº¤u§@ì²z 210 11.4¡@°ª³t½w¦sªº¬M®g¤è¦¡ 212 11.4.1¡@ª½±µ¬M®g 212 11.4.2¡@¥þ¬ÛÁp¬M®g 213 11.4.3¡@²Õ¬ÛÁp¬M®g 213 11.4.4¡@²Õ¬ÛÁpªº°ª³t½w¦sªº¨Ò¤l 214 11.5¡@µêÀÀ°ª³t½w¦s»Pª«²z°ª³t½w¦s 215 11.5.1¡@ª«²z°ª³t½w¦s 215 11.5.2¡@µêÀÀ°ª³t½w¦s 215 11.5.3¡@VIPT©MPIPT 215 11.6¡@«¦W©M¦P¦W°ÝÃD 216 11.6.1¡@«¦W°ÝÃD 217 11.6.2¡@¦P¦W°ÝÃD 217 11.6.3¡@VIPT²£¥Íªº«¦W°ÝÃD 218 11.7¡@°ª³t½w¦sµ¦²¤ 220 11.8¡@°ª³t½w¦sªººûÅ@«ü¥O 221 11.8.1¡@°ª³t½w¦sºÞ²z«ü¥O 221 11.8.2¡@°ª³t½w¦s¹w¨ú«ü¥O 222
²Ä 12³¹¡@½w¦s¤@P©Ê 224 12.1¡@¬°¤°¤\»Ýn½w¦s¤@P©Ê 224 12.2¡@½w¦s¤@P©Êªº¤ÀÃþ 225 12.2.1¡@½w¦s¤@P©Ê¨óijµo®i¾úµ{ 225 12.2.2¡@½w¦s¤@P©Ê¤ÀÃþ 226 12.2.3¡@¨t²Î½w¦s¤@P©Ê°ÝÃD 227 12.3¡@½w¦s¤@P©Êªº¸Ñ¨M¤è®× 227 12.3.1¡@Ãö³¬°ª³t½w¦s 228 12.3.2¡@¨Ï¥Î³n¥óºûÅ@½w¦s¤@P©Ê 228 12.3.3¡@¨Ï¥Îµw¥óºûÅ@½w¦s¤@P©Ê 228 12.4¡@MESI¨óij 228 12.4.1¡@MESI¨óij²¤¶ 229 12.4.2¡@¥»¦aŪ¼g»PÁ`½u¾Þ§@ 230 12.4.3¡@MESIª¬ºAÂà´« 230 12.4.4¡@ªì©lª¬ºA¬°I 231 12.4.5¡@ªì©lª¬ºA¬°M 233 12.4.6¡@ªì©lª¬ºA¬°S 234 12.4.7¡@ªì©lª¬ºA¬°E 234 12.4.8¡@¤pµ²»P®×¨Ò¤ÀªR 235 12.4.9¡@MOESI¨óij 237 12.5¡@°ª³t½w¦s°°¦@¨É 237 12.6¡@¨âºØ½w¦s¤@P©Ê±±¨î¾¹ 239 12.6.1¡@CCI½w¦s¤@P©Ê±±¨î¾¹ 239 12.6.2¡@CCN½w¦s¤@P©Ê±±¨î¾¹ 240 12.7¡@®×¨Ò¤ÀªR12-1¡G°°¦@¨ÉªºÁקK 241 12.8¡@®×¨Ò¤ÀªR12-2¡GDMA©M°ª³t½w¦sªº¤@P©Ê 242 12.8.1¡@±q¤º¦s¨ì³]³ÆªºFIFO½w¨R°Ï 243 12.8.2¡@±q³]³ÆªºFIFO½w¨R°Ï¨ì¤º¦s 243 12.9¡@®×¨Ò¤ÀªR12-3¡G¦Ûקï¥N½Xªº¤@P©Ê 244 12.10¡@¹êÅç 245 12.10.1¡@¹êÅç12-1¡G°ª³t½w¦s°°¦@¨É 245 12.10.2¡@¹êÅç12-2¡G¨Ï¥ÎPerf C2Cµo²{°ª³t½w¦s°°¦@¨É 245
²Ä 13³¹¡@TLBºÞ²z 246 13.1¡@TLB°ò¦ª¾ÃÑ 247 13.2¡@TLB«¦W»P¦P¦W°ÝÃD 249 13.2.1¡@«¦W°ÝÃD 249 13.2.2¡@¦P¦W°ÝÃD 250 13.3¡@ASID 251 13.4¡@TLBºÞ²z«ü¥O 253 13.4.1¡@TLBºûÅ@«ü¥O¤¶²Ð 253 13.4.2¡@TLB¼s¼½ 254 13.4.3¡@SFENCE.VMA«ü¥O¨Ï¥Î³õ´º 256 13.5¡@TLB®×¨Ò¤ÀªR 256 13.5.1¡@TLB¦bLinux¤º®Ö¤¤ªºÀ³¥Î 256 13.5.2¡@ASID¦bLinux¤º®Ö¤¤ªºÀ³¥Î 257 13.5.3¡@Linux¤º®Ö¤¤ªºTLBºûÅ@¾Þ§@ 257 13.5.4¡@BBM¾÷¨î 259
²Ä 14³¹¡@ì¤l¾Þ§@ 261 14.1¡@ì¤l¾Þ§@¤¶²Ð 261 14.2¡@«O¯d¥[¸ü»P±ø¥ó¦sÀx«ü¥O 262 14.3¡@¿W¥e¤º¦s³X°Ý¤u§@ì²z 263 14.3.1¡@¿W¥eºÊµø¾¹ 264 14.3.2¡@¿W¥eºÊµø¾¹»P½w¦s¤@P©Ê 265 14.4¡@ì¤l¤º¦s³X°Ý¾Þ§@«ü¥O 266 14.4.1¡@ì¤l¤º¦s³X°Ý«ü¥O¤u§@ì²z 266 14.4.2¡@ì¤l¤º¦s³X°Ý«ü¥O»PLR/SC«ü¥Oªº®Ä²v¹ï¤ñ 267 14.4.3¡@RISC-V¤¤ªºì¤l¤º¦s³X°Ý«ü¥O 268 14.5¡@¤ñ¸û¦}¥æ´«¾Þ§@ 270
²Ä 15³¹¡@¤º¦s«Ì»Ù«ü¥O 275 15.1¡@¤º¦s«Ì»Ù«ü¥O²£¥Íªºì¦] 275 15.1.1¡@¶¶§Ç¤@P©Ê¤º¦s¼Ò«¬ 276 15.1.2¡@³B²z¾¹¤@P©Ê¤º¦s¼Ò«¬ 277 15.1.3¡@®z¤@P©Ê¤º¦s¼Ò«¬ 277 15.1.4¡@ÄÀ©ñ¤@P©Ê¤º¦s¼Ò«¬ 278 15.1.5¡@MCA¼Ò«¬ 279 15.2¡@RISC-V¬ù§ô±ø¥ó 280 15.2.1¡@¥þ§½¤º¦s¦¸§Ç»P«O¯dµ{§Ç¦¸§Ç 280 15.2.2¡@RVWMOªº¬ù§ô³W«h 281 15.3¡@RISC-V¤¤ªº¤º¦s«Ì»Ù«ü¥O 284 15.3.1¡@¨Ï¥Î¤º¦s«Ì»Ùªº³õ´º 284 15.3.2¡@FENCE«ü¥O 285 15.3.3¡@¤º¸mÀò¨ú©MÄÀ©ñ«Ì»Ùì»yªº«ü¥O 285 15.3.4¡@FENCE.I«ü¥O 286 15.3.5¡@SFENCE.VMA«ü¥O 286 15.4¡@RISC-V¤º¦s«Ì»Ù«ü¥O²¾´Ó«ü«n 286 15.4.1¡@±qRISC-V¨ìx86Åé¨tµ²ºc 286 15.4.2¡@±qRISC-V¨ìARMÅé¨tµ²ºc 287 15.4.3¡@Linux¤º®Ö±`¥Îªº¤º¦s«Ì»ÙAPI¨ç¼Æ 287 15.5¡@®×¨Ò¤ÀªR 288 15.5.1¡@®ø®§¶Ç»¼°ÝÃD 288 15.5.2¡@³æ¤è¦V¤º¦s«Ì»Ù»P¦Û±ÛÂê 289 15.5.3¡@¶l½c¶Ç»¼®ø®§ 290 15.5.4¡@Ãö¤_DMAªº®×¨Ò 291 15.5.5¡@¦bLinux¤º®Ö¤¤¨Ï«ü¥O°ª³t½w¦s¥¢®Ä 291 15.6¡@¼ÒÀÀ©M´ú¸Õ¤º¦s«Ì»Ù¬G»Ù 291 15.6.1¡@¨Ï¥ÎLitmus´ú¸Õ¤u¨ã¶° 292 15.6.2¡@½s¼gCµ{§Ç¨Ó¼ÒÀÀ 295 15.7¡@¹êÅç 297 15.7.1¡@¹êÅç15-1¡G½s¼gLitmus¸}¥»¦}´ú¸Õ¤º¦s¤@P©Ê1 297 15.7.2¡@¹êÅç15-2¡G½s¼gLitmus¸}¥»¦}´ú¸Õ¤º¦s¤@P©Ê2 298
²Ä 16³¹¡@¦X²z¨Ï¥Î¤º¦s«Ì»Ù«ü¥O 299 16.1¡@¦sÀx½w¨R°Ï»P¼g¤º¦s«Ì»Ù«ü¥O 300 16.2¡@µL®Ä¶¤¦C»PŪ¤º¦s«Ì»Ù«ü¥O 305 16.3¡@¤º¦s«Ì»Ù«ü¥OÁ`µ² 307 16.4¡@®×¨Ò¤ÀªR¡GLinux¤º®Ö¤¤ªº¤º¦s«Ì»Ù«ü¥O 308 16.4.1¡@²Ä ¤@¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O 309 16.4.2¡@²Ä¤G¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O 310 16.4.3¡@²Ä¤T¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O 313 16.4.4¡@²Ä¥|¦¸¨Ï¥Î¤º¦s«Ì»Ù«ü¥O 314 16.4.5¡@¤pµ²¡G¤º¦s«Ì»Ù«ü¥Oªº¨Ï¥Î 315 16.5¡@¹êÅç 315 16.5.1¡@¹êÅç16-1¡GÅçÃÒ©M´ú¸Õ¤º¦s¤@P©Ê1 315 16.5.2¡@¹êÅç16-2¡GÅçÃÒ©M´ú¸Õ¤º¦s¤@P©Ê2 315 16.5.3¡@¹êÅç16-3¡GÅçÃÒ©M´ú¸Õ¤º¦s¤@P©Ê3 315
²Ä 17³¹¡@»P¾Þ§@¨t²Î¬ÛÃöªº¤º®e 316 17.1¡@C»y¨¥±`¨£³´¨À 317 17.1.1¡@¼Æ¾Ú¼Ò«¬ 317 17.1.2¡@¼Æ¾ÚÃþ«¬Âà´«»P¾ã«¬´£¤É 318 17.1.3¡@²¾¦ì¾Þ§@ 320 17.2¡@³Ð«Ø¶iµ{ 320 17.2.1¡@¶iµ{±±¨î¶ô 320 17.2.2¡@0¸¹¶iµ{ 321 17.2.3¡@do_fork()¨ç¼Æªº¹ê²{ 323 17.2.4¡@¶iµ{¤W¤U¤å¤Á´« 324 17.2.5¡@·s¶iµ{ªº²Ä ¤@¦¸°õ¦æ 326 17.3¡@²©ö¶iµ{½Õ«×¾¹ 327 17.3.1¡@ÂX®i¶iµ{±±¨î¶ô 327 17.3.2¡@´Nºü¶¤¦C 327 17.3.3¡@½Õ«×Ãþ 328 17.3.4¡@²©ö½Õ«×¾¹ªº¹ê²{ 329 17.3.5¡@¦Ûº@½Õ«× 330 17.3.6¡@·m¥e½Õ«× 331 17.3.7¡@´ú¸Õ¥Î¨Ò 333 17.3.8¡@Ãö¤_½Õ«×ªº«ä¦Ò 333 17.4¡@Åý¶iµ{¹B¦æ¦b¥Î¤á¼Ò¦¡ 335 17.5¡@¨t²Î½Õ¥Î 338 17.5.1¡@¨t²Î½Õ¥Î¤¶²Ð 338 17.5.2¡@¦b¥Î¤á¼Ò¦¡¤U½Õ¥ÎSVC«ü¥O 338 17.5.3¡@¦b¤º®Ö¼Ò¦¡¤U¹ï¨t²Î½Õ¥Îªº³B²z 339 17.5.4¡@¨t²Î½Õ¥Îªí 340 17.6¡@¹ê²{clone¨t²Î½Õ¥Î 341 17.7¡@¹êÅç 343 17.7.1¡@¹êÅç17-1¡G¶iµ{³Ð«Ø 343 17.7.2¡@¹êÅç17-2¡G¶iµ{½Õ«× 343 17.7.3¡@¹êÅç17-3¡GÅý¶iµ{¹B¦æ¦b¥Î¤á¼Ò¦¡ 343 17.7.4¡@¹êÅç17-4¡G·s¼W¤@Ómalloc()¨t²Î½Õ¥Î 343 17.7.5¡@¹êÅç17-5¡G·s¼W¤@Óclone()¨t²Î½Õ¥Î 344
²Ä 18³¹¡@¥i¦ùÁY¥Ú¶qpºâ»PÀu¤Æ 345 18.1¡@¥Ú¶qpºâ°ò¥»·§©À 345 18.1.1¡@SISD»PSIMD 345 18.1.2¡@©wªøpºâ»P¥iÅܪø¥Ú¶qpºâ 347 18.1.3¡@³q¹D 347 18.1.4¡@¥Ú¶q»P¼Ð¶q 347 18.2¡@RVV±H¦s¾¹ 348 18.2.1¡@¥Ú¶q±H¦s¾¹ 348 18.2.2¡@mstatus±H¦s¾¹¤¤ªº¥Ú¶q¤W¤U¤åª¬ºA 348 18.2.3¡@vtype±H¦s¾¹ 348 18.2.4¡@vl±H¦s¾¹ 350 18.2.5¡@vlenb±H¦s¾¹ 351 18.2.6¡@vstart±H¦s¾¹ 351 18.3¡@°t¸m½sĶ©M¹B¦æÀô¹Ò 351 18.3.1¡@·f«Ø½sĶÀô¹Ò 351 18.3.2¡@¹B¦æ²Ä ¤@Ó¡§hello RVV!¡¨µ{§Ç 352 18.3.3¡@³æ¨B½Õ¸Õ¶×½sµ{§Ç 353 18.3.4¡@³æ¨B½Õ¸ÕC»y¨¥»P¶×½s²V¦Xµ{§Ç 355 18.4¡@RVV«ü¥O®æ¦¡ 357 18.5¡@°t¸m«ü¥O 358 18.6¡@¥[¸ü©M¦sÀx«ü¥O 360 18.6.1¡@³æ¦ì¨Bªø¼Ò¦¡ 360 18.6.2¡@¥ô·N¨Bªø¼Ò¦¡ 363 18.6.3¡@»E¦X¥[¸ü/Â÷´²¦sÀx 364 18.6.4¡@¥´¥]¼Æ¾Úªº¥[¸ü»P¦sÀx 365 18.6.5¡@º¦¸²§±`¥[¸ü«ü¥O 367 18.6.6¡@¥[¸ü©M¦sÀx¥þ³¡¥Ú¶q¼Æ¾Ú 368 18.7¡@¥Ú¶q±»½X«ü¥O 369 18.7.1¡@ÅÞ¿è¾Þ§@«ü¥O 369 18.7.2¡@VCPOP.M«ü¥O 369 18.7.3¡@VFIRST.M«ü¥O 370 18.7.4¡@VMSBF.M«ü¥O 370 18.7.5¡@VMSIF.M«ü¥O 371 18.7.6¡@VMSOF.M«ü¥O 372 18.8¡@¥Ú¶q¾ã«¬ºâ³N«ü¥O 372 18.8.1¡@¥[¼e©MÅܯ¶ºâ³N«ü¥O 372 18.8.2¡@¥[ªk©M´îªk«ü¥O 373 18.8.3¡@¥[¼e¼Ò¦¡ªº¥[ªk©M´îªk«ü¥O 374 18.8.4¡@¦ì¾Þ§@«ü¥O 376 18.8.5¡@²¾¦ì¾Þ§@«ü¥O 376 18.8.6¡@¤ñ¸û«ü¥O 376 18.8.7¡@¼Æ¾Ú·h²¾«ü¥O 377 18.9¡@®×¨Ò¤ÀªR18-1¡G¨Ï¥ÎRVV«ü¥OÀu¤Æstrcmp()¨ç¼Æ 377 18.9.1¡@¨Ï¥Î¯Â¶×½s¤è¦¡ 378 18.9.2¡@´ú¸Õ 379 18.10¡@®×¨Ò¤ÀªR18-2¡GRGB24ÂàBGR24 380 18.10.1¡@¨Ï¥ÎC»y¨¥¹ê²{RGB24ÂàBGR24 380 18.10.2¡@¨Ï¥ÎRVV«ü¥OÀu¤Æ 380 18.10.3¡@´ú¸Õ 381 18.11¡@®×¨Ò¤ÀªR18-3¡G4 ¡Ñ 4¯x°}¼ªk¹Bºâ 382 18.11.1¡@¨Ï¥ÎC»y¨¥¹ê²{4 ¡Ñ 4¯x°}¼ªk¹Bºâ 382 18.11.2¡@¨Ï¥ÎRVV«ü¥OÀu¤Æ 383 18.11.3¡@´ú¸Õ 387 18.12¡@®×¨Ò¤ÀªR18-4¡G¨Ï¥ÎRVV¤º¸m¨ç¼Æ 388 18.13¡@®×¨Ò¤ÀªR18-5¡G¦Û°Ê¥Ú¶qÀu¤Æ 388 18.14¡@³N»y 390 18.15¡@¹êÅç 391 18.15.1¡@¹êÅç18-1¡GRGB24ÂàBGR32 391 18.15.2¡@¹êÅç18-2¡G8 ¡Ñ 8¯x°}¼ªk¹Bºâ 391 18.15.3¡@¹êÅç18-3¡G¨Ï¥ÎRVV«ü¥OÀu¤Æstrcpy()¨ç¼Æ 391 18.15.4¡@¹êÅç18-4¡G¨Ï¥ÎRVV¤º¸m¨ç¼ÆÀu¤Æ 391 18.15.5¡@¹êÅç18-5¡G¨Ï¥ÎRVVÀu¤ÆÂà¸m¯x°}ªº¨Dªk 392
²Ä 19³¹¡@À£ÁY«ü¥OÂX®i 393 19.1¡@RISC-V«ü¥O¶°ªº¯SÂI 393 19.2¡@RVC¤ä«ùªº«ü¥O®æ¦¡»P«ü¥O½s½X 394
²Ä 20³¹¡@µêÀÀ¤ÆÂX®i 396 20.1¡@µêÀÀ¤Æ§Þ³N¤¶²Ð 396 20.1.1¡@µêÀÀ¤Æ§Þ³Nªºµo®i¾ú¥v 396 20.1.2¡@µêÀÀ¾÷ºÞ²zµ{§Çªº¤ÀÃþ 398 20.1.3¡@¤º¦sµêÀÀ¤Æ 398 20.1.4¡@I/OµêÀÀ¤Æ 399 20.2¡@RISC-VµêÀÀ¤ÆÂX®i 399 20.2.1¡@CPUµêÀÀ¤ÆÂX®i 399 20.2.2¡@M¼Ò¦¡¤U¨t²Î±H¦s¾¹ªºÂX®i 400 20.2.3¡@HS¼Ò¦¡¤Uªº¨t²Î±H¦s¾¹ 402 20.2.4¡@VS¼Ò¦¡¤Uªº¨t²Î±H¦s¾¹ 404 20.3¡@RISC-V¤º¦sµêÀÀ¤Æ 404 20.4¡@RISC-VµêÀÀ¤ÆÂX®i¤¤ªº·s¼W«ü¥O 406 20.4.1¡@¥[¸ü»P¦sÀxµêÀÀ¾÷¤º¦s«ü¥O 406 20.4.2¡@µêÀÀ¤Æ¤º¦s«Ì»Ù«ü¥O 406 20.5¡@¶i¤J©M°h¥XµêÀÀ¾÷ 407 20.5.1¡@²§±`³´¤J 408 20.5.2¡@²§±`ªð¦^ 408 20.5.3¡@·s¼Wªº¤¤Â_»P²§±`Ãþ«¬ 409 20.6¡@¤¤Â_µêÀÀ¤Æ 410 20.6.1¡@µêÀÀ¤¤Â_ª`¤J 410 20.6.2¡@³´¤J»P¼ÒÀÀ 411 20.7¡@®×¨Ò¤ÀªR20-1¡G¶i¤J©M°h¥XµêÀÀ¾÷ 412 20.7.1¡@¶i¤JµêÀÀ¾÷ 413 20.7.2¡@°h¥XµêÀÀ¾÷ 414 20.8¡@®×¨Ò¤ÀªR20-2¡G«Ø¥ßµêÀÀ¤Æ¨â¶¥¬q¦a§}¬M®g 415 20.8.1¡@«Ø¥ß²Ä¤G¶¥¬qªº¦a§}¬M®g 416 20.8.2¡@«Ø¥ß²Ä ¤@¶¥¬qªº¦a§}¬M®g 418 20.8.3¡@´ú¸Õ 419 20.9¡@®×¨Ò¤ÀªR20-3¡G¦bµêÀÀ¾÷¤¤¹ê²{µêÀÀ©w®É¾¹ 420 20.10¡@®×¨Ò¤ÀªR20-4¡G¦bVMM¤¤¥[¸ü©M¦sÀxµêÀÀ¾÷¤º¦s¦a§} 422 20.11¡@®×¨Ò¤ÀªR20-5¡G¦bVMM¤¤¼ÒÀÀ¦ê¤f³]³Æ 424 20.12¡@¹êÅç 429 20.12.1¡@¹êÅç20-1¡G¥[¸üµêÀÀ¾÷1 429 20.12.2¡@¹êÅç20-2¡G¥[¸üµêÀÀ¾÷2 430 20.12.3¡@¹êÅç20-3¡GµêÀÀ¤Æ¦a§}¬M®g 430 20.12.4¡@¹êÅç20-4¡G¸ÑªRµêÀÀ¾÷³´¤Jªº«ü¥O 430 20.12.5¡@¹êÅç20-5¡G¦bVMM¤¤¼ÒÀÀ¹ê²{vPLIC 430 20.12.6¡@¹êÅç20-6¡G¦bµêÀÀ¾÷¤¤¥[¸ü¦}¹B¦æLinux¤º®Ö 430 ªþ¿ýA¡@Ãö¤_RISC-VÅé¨tµ²ºc¦Û´úÃDªº°Ñ¦Òµª®×»P´£¥Ü 431 ªþ¿ýB¡@RV64I«ü¥O³t¬dªí 433 ªþ¿ýC¡@RV64M«ü¥O³t¬dªí 437 ªþ¿ýD¡@RV64±`¥Î°°«ü¥O³t¬dªí 439 |
§Ç¡G |