ºâªk¤ß±o¡G°ª®Äºâªkªº¶ø¯µ¡]ì®Ñ²Ä2ª©¡^ ( ²Åé ¦r) |
§@ªÌ¡G¡]¬ü¡^Henry S. Warren, Jr. µÛ | Ãþ§O¡G1. -> µ{¦¡³]p -> ºtºâªk |
ĶªÌ¡G |
¥Xª©ªÀ¡G¾÷±ñ¤u·~¥Xª©ªÀ | 3dWoo®Ñ¸¹¡G 37855 ¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I¡i¯Ê®Ñ¡j NT°â»ù¡G 445 ¤¸ |
¥Xª©¤é¡G3/1/2014 |
¶¼Æ¡G417 |
¥úºÐ¼Æ¡G0 |
|
¯¸ªø±ÀÂË¡G |
¦L¨ê¡G¶Â¥Õ¦L¨ê | »y¨t¡G ( ²Åé ª© ) |
|
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R (½Ð¥ýµn¤J·|û) |
ISBN¡G9787111453567 |
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç |
(²Åé®Ñ¤W©Òz¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, YŪªÌ»Ýn½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ) |
§@ªÌ§Ç¡G |
ĶªÌ§Ç¡G |
«e¨¥¡G³y¤O²Ä¤@©w«ß¡G³n¥óºûÅ@¦¨¥»»Pµ{§Çû³Ð³y¤Oªº¥¤è¦¨¥¿¤ñ¡C
¡X¡XRobert DúPBliss¡A1992¦~
¥»®Ñ¦¬¶°¤Fµ§ªÌ¦h¦~¨ÓÁ`µ²ªº¤@¨Ç½sµ{¤p§Þ¥©¡A¨ä¤¤¤j³¡¤À³£¥²¶·¹B¦æ¦b¥H¤G¶i¨î¸É½X¨Óªí¥Ü¾ã¼Æªº¹q¸£¤W¡CºÉºÞ¥»®Ñ°²³]±H¦s¾¹ªø«×¬O32¦ì¡A¦ý¦b±H¦s¾¹ªø«×¤£¬O32¦ìªº¹q¸£¤¤¡A³o¨Ç§Þ¥©°ò¥»¤W¤´¯à¾A¥Î¡C
¥»®Ñ¤£¥´ºâÁ¿°ª²`ªº±Æ§Çºâªk©Î¬O½sĶ¾¹ªºÀu¤Æ§Þ³Nµ¥¤j¸ÜÃD¡A¦Ó¬OµÛ«¨Ó½Í¯A¤Î³æÓpºâ¾÷¦r²Õ©Î«ü¥Oªº¤p§Þ¥©¡A¤ñ¦p«ç¼Ë²Îp¦r²Õ¤¤È¬°1ªº¦ì¤¸¼Æ¡C¦¹Ãþ§Þ¥©³q±`»Ýn²V¥Îºâ³N»PÅÞ¿è«ü¥O¡C
§ÚÌÁٻݰ²©w¾ã¼Æ·¸¥X¤¤Â_¤w¸g«Ì½ª¡A³o¼Ëªº¸Ü¡A´Nºâ¾ã¼Æ¹Bºâ·¸¥X¤F¡A¤]¤£·|¥X°ÝÃD¡CC¡BFortran¡BJavaµ¥µ{§Ç³£¬O¦p¦¹¡A¦ý¨Ï¥ÎPascal»PAda»y¨¥ªºµ{§Çû¤@©wnª`·N³o¤@ÂI¡I
¦b¥»®Ñ»y¹Ò¤¤¡A¹q¸£¡Bpºâ¾÷(computer)¡B¾÷¾¹(machine)¡B³B²z¾¹(processor)µ¥µü±`±`³£«ü¥N¤¤¥¡³B²z¾¹(CPU)¡A¬GĶ¤å¦b¤£P²V²cªº±¡ªp¤U¡A±N¨äµø¬°¤¬¬Û³q¥Îªº·§©À¡C¡X¡XĶªÌª`
integer overflow¡A«üºâ³N¹Bºâ®É¥Ñ¤_µ²ªG¹L¤j©Î¹L¤p¦Ó¶W¥X¦sÀxS³òªº±¡§Î¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//enúPwikipediaúPorg/wiki/Integer_overflow¡C¡X¡XĶªÌª`
®Ñ¤¤¥H³q«Uªº»y¨¥¨ÓÁ¿z¦U§Þ¥©¡A¥u¦³ºâªk§t¸q¤£©úÅã®É¤~·|µ¹¥XÃÒ©ú¡A¦³®É¬Æ¦Ü²¤¥hÃÒ©ú¡Cºâªk¤¤±N·|¥X²{pºâ¾÷ºâ³N«ü¥O¡B¡§¦aªO¡¨¨ç¼Æ¡Bºâ³N»PÅÞ¿è¾Þ§@²V·fµ¥¤º®e¡A¥¦ÌnÃÒ©ú°_¨Ó³q±`¤ñ¸û§xÃø¡A¦Ó¥B¤]¤£©öªíz¡C
floor function¡A¤S¥s¦V¤U¨ú¾ã¨ç¼Æ©Î³Ì§CȨç¼Æ¡Aªð¦^¤£¤j¤_¦ÛÅܶqªº³Ì¤j¾ã¼Æ¡A¤]±`ºÙ¬°¡§°ª´µ¨ç¼Æ¡¨¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//zhúPwikipediaúPorg/wiki/¦aªO¨ç¼Æ¡C¡X¡XĶªÌª`
µ§ªÌ§â«Ü¦hºâªk³£¼g¦¨¤Fµ{§Ç¥N½X¡A¦b¹q¸£¤W°õ¦æ¦}ÅçÃÒ¡A¥H´î¤Öµ§»~¤Î²¨©¿¡C¥Î¹ê»Ú¦s¦bªº½sµ{»y¨¥¨Ó´yzºâªk¡A´N¦³³oÓ¦n³B¡FµM¦Ó§Y«K¦p¦¹¡A¨C¤@ºØpºâ¾÷»y¨¥¤]ÁÙ¬O¦U¦³¨ä¯Ê³´¡C§Ú¨Ï¥Î«Ü¦h¤H¯à¬ÝÀ´ªºC¥N½X¨Ó´yz°ª¯Å»y¨¥³¡¤À¡A¦]¬°¥¦¥i¥Hª½±µ§â¾ã¼Æ»P¦ì¦ê¾Þ§@¼g¦b¤@°_¡A¦Ó¥B«Ü¦hC»y¨¥½sĶ¾¹³£¯à²£¥Í°ª½è¶qªº¥Ø¼Ð¥N½X¡C
object code¡A¤S¥s¡§¥Øªº½X¡¨¡A¬O½sĶ¾¹³B²z·½¥N½X¦Zªº²£ª«¡A¤@¯ë¥Ñ¾÷¾¹½X©Îªñ¤_¾÷¾¹»y¨¥ªº¥N½X²Õ¦¨¡C¦s©ñ¦¹Ãþ¥N½Xªº¤å¥ó¥s¥Ø¼Ð¤å¥ó(object code)¡A¤]¥s¤G¶i¨î¤å¥ó¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//zhúPwikipediaúPorg/wiki/¥Ø¼Ð¥N½X¡C¡X¡XĶªÌª`
®Ñ¤¤°¸º¸¤]·|¥Î¨ì¾÷¾¹»y¨¥¡A¥¦Ì³£¥H¡§¤T¦a§}®æ¦¡¡¨¥X²{¡A³o¼ËŪ°_¨Ó§ó¤è«K¡C¨ä¤¤ªº¶×½s»y¨¥¬Oµ§ªÌ°Ñ·Ó·í¤UªºRISC«ü¥O¶°µêºc¥X¨Óªº¡C
threeúQaddress format¡A§Ythree address code¡AÁY¼g¬°TAC©Î3AC¡A¤S¥s¡§¤T¦ì§}½X¡¨¡B¡§¤T¦a§}½X¡¨¡C¥¦§â³q±`ªººâ¦¡¡§¹Bºâµ²ªG=¾Þ§@¼Æ1 ¾Þ§@²Å ¾Þ§@¼Æ2¡¨¼g¦¨¡§¾Þ§@²Å ¾Þ§@¼Æ1¡A¾Þ§@¼Æ2¡A¹Bºâµ²ªG¡¨ªº§Î¦¡¡A¦]¨ä¤¤²o¯A3ÓÅܶq(§Y¾Þ§@¼Æ1¡B¾Þ§@¼Æ2¡B¹Bºâµ²ªG)¦Ó±o¦W¡C¨Ò¦pz=x+y¥ÎTAC®æ¦¡¨Ó¼g´N¬Oadd x¡Ay¡Az¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//enúPwikipediaúPorg/wiki/Three_address_code¡C¡X¡XĶªÌª`
RISC¡AReduced Instruction Set ComputingªºÁY¼g¡A¬O¤@ºØ³]pCPUªº¼Ò¦¡¡A¸Ó³]p«ä¸ôºë²¤F«ü¥O¼Æ¥Ø¤Î©w§}¤è¦¡¡A¨ÏCPUªº¨î§@§ó¬°®e©ö¡A¤]¦³§U¤_´£¤É¨ä¦}¦æ¯à¤O»P°õ¦æ®Ä²v¡C¨Ï¥Î¦¹ºØ«ü¥O¶°ªºCPU¥Ø«e¥DnÀ³¥Î¤_´¼¯à¤â¾÷©M¥ªO¹q¸£µ¥²¾°Ê³]³Æ¤W¡A»P¤§¬Û¹ïªº¬Ox86µ¥³B²z¾¹©Ò¥Îªº¡§´_Âø«ü¥O¶°¡¨(CISC¡ACªí¥ÜComplex)¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//zhúPwikipediaúPorg/wiki/ºë²«ü¥O¶°¡C¡X¡XĶªÌª`
¤j®aÀ³¸ÓºÉ¶q½s¼g¨S¦³¤À¤äªº¥N½X(branchúQfree code)¡A¦]¬°¤À¤ä¥N½X·|©ìºC«Ü¦h¹q¸£ªº«ü¥OÀò¨ú³t«×¡A¦}ªý¤îCPU¦}µo°õ¦æ¡C¦¹¥~¡A¥¦ÁÙ·|§«Ãª¤@¨Ç½sĶ¾¹Àu¤Æ±¹¬Iûâûâ¡A¦p«ü¥O½Õ«×ûãûã¡B«´_¤lªí¹F¦¡®ø°£ûäûä¡B±H¦s¾¹¤À°tûåûåµ¥¡C¤]´N¬O»¡¡A½sĶ¾¹Àu¤Æ¤j¬qªºÂ²³æ¥N½Xn¤ñÀu¤Æ«Ü¦h¤p¥N½X¶ôªº®ÄªG§ó¦n¡C
±`¨£ªº½sĶ¾¹Àu¤Æ§Þªk½Ð°Ñ¦Ò¡Ghttps¡G//enúPwikipediaúPorg/wiki/Category¡GCompiler_optimizations¡C¡X¡XĶªÌª`
instruction scheduling¡A¬O³q¹L«ü¥O¬y¤ô½u(instruction pipeline)§Þ³N´£¤É«ü¥O¦}µo°õ¦æ®ÄªGªºÀu¤Æ¤âªk¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//enúPwikipediaúPorg/wiki/Instruction_scheduling¡C¡X¡XĶªÌª`
commoning¡A§Ycommon subexpression elimination(CSE)¡A¬O³q¹L®ø´î«´_ªºªí¹F¦¡¨Ó´£¤É°õ¦æ³t«×ªºÀu¤Æ§Þ³N¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//enúPwikipediaúPorg/wiki/Common_subexpression_elimination¡C¡X¡XĶªÌª`
register allocation¡A¸Ó§Þ³NÅý²³¦hÅܶq¦@¥Î¤@ÓCPU±H¦s¾¹¡A¥HÀu¤Æ°õ¦æ³t«×¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//enúPwikipediaúPorg/wiki/Register_allocation¡C¡X¡XĶªÌª`
¦¹¥~¡A½s½X®ÉÁÙÀ³¸Ó¦h¥Î¼Æȸû¤pªº±`¶qûæûæ¡A¦h»P0¤ñ¸û(¤Ö»P«D0Ȥñ¸û)¡AºÉ¶q¼g¥X©ö¤_¦}µo°õ¦æªº«ü¥O§Ç¦Cûçûç¡C¦pªG§ï¼g®Ñ¨½«Ü¦h¥N½X¡AÅý¥¦Ì±q¤º¦s¤¤¬dªí¡A¨äµ²ªG·|§óºë½T¡AµM¦Óµ§ªÌ³q±`¤£´£³oºØ°µªk¡C¦]¬°»Pºâ³N«ü¥O¬Û¤ñ¡A±q¤º¦s¤¤¥[¸ü¼Æ¾Ú¤Ï¦Ó§ó¯Ó®É¡CÁö»¡¬dªíªkªº½T«Ü¹ê¥Î¡A¦ý¬O¤@¯ë¨Ó»¡³£¤ñ¸û¥F¨ý¡C·íµMÁÙ¦³¨Ç¯S¨Ò¤£Äݤ_¤Wz±¡ªp¡C
immediate value¡A¤]¥s¡§¥ß§YÈ¡¨¡C¡X¡XĶªÌª`
instructionúQlevel parallism¡AÁY¼g¬°ILP¡A·N¬°«ü¥O¯Å¦}¦æ«×¡A¥Î¤_«×¶q«ü¥O§Ç¦Cªº¦}µo°õ¦æµ{«×¡C¨Ò¦p¬Y¬q«ü¥O¦b«D¦}µo¤è¦¡¤U»Ýn3Ӯɶ¡³æ¦ì¨Ó°õ¦æ¡A¦Ó¦}µo°õ¦æ¥u»Ý2Ӯɶ¡³æ¦ì¡A¨º¤\¨äILP´N¬O3/2¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//enúPwikipediaúPorg/wiki/InstructionúQlevel_parallelism¡C®Ñ¤¤Á٥θӵüªí¥ÜCPU¦}µo°õ¦æ«ü¥Oªº¯à¤O¡C¡X¡XĶªÌª`
³Ì¦Zn»¡ªº¬O¡A¥»®Ñ®Ñ¦W¥»®Ñ^¤å®Ñ¦W¬°HackerûÐs Delight¡C¡X¡XĶªÌª`¤¤ªº¡§hacker¡¨¥Îªº¬O¥»·N¡A¤]´N¬O«üè°g¤_pºâ¾÷ªº¤H¡C³oºØ¤H³ßÅw®³¹q¸£¶}µoÂI·sª±·N¨à¡A©Î¬O¥Î·s¼é¦Ó¦³³Ð·Nªº¿ìªk¨Ó¹ê²{즳ªº¥\¯à¡C¥L̳£®¼·|¥Î¹q¸£¡A¦ý«o«Ü¥i¯à¤£¬O¤@¦W±M¾¹q¸£µ{§Çû©Î³]p®v¡A³o¨Ç¹q¸£·¥«Èûßû߶}µo¥X¨ÓªºªF¦è¡A¦³¨Ç¦³¥Î¡A¦³¨Ç¥u¬Oª±ª±¦Ó¤w¡C»¡¨ì¦¹Ãþ¯ÂÄݪ±¼ÖªºÀ¸§@¡AÅý§Ú·Q°_«Ü¦h¸ê²`½sµ{²¼¤Í³£¼g¹L¤@¬q¤pµ{§Ç¡A¥¦¥i¥H§â¦Û¤v·Óì¼Ë¥´¦L¥X¨Óûàûà¤ñ¤è»¡¡A¤U±³o¬q¥ÎC»y¨¥¼gªºµ{§Ç¥N½X¡G
¥»®Ñ»y¹Ò¤¤ªº¡§hacker¡¨¥i²z¸Ñ¦¨¡§¹q¸£·¥«È¡¨¡B¡§µ{§Çª±®a¡¨¡B¡§½sµ{²¼¤Í¡¨¡B¡§½sµ{¹F¤H¡¨¡B¡§§Þ³Nµo¿N¤Í¡¨µ¥·N«ä¡A¥H«K»P®e©ö¤Þµoª[¸qªº¡§Àb«È¡¨¡B¡§¶Â«È¡¨µ¥³q«U¥sªk°Ï¤À¶}¡C¥»¨Óhacker«üpºâ¾÷§Þ³N¨g¼ö·R¦nªÌ¡A¦Ócracker«ü¯}Ãapºâ¾÷¦w¥þªº¤H¡A¦ý¦ZªÌªºµü¸q³vº¥«I»k¤F«eªÌ¡A¾ÉPcracker¡Bhacker¤Î¡§Àb«È¡B¶Â«È¡B©Ç«È¡B¼D«È¡¨µ¥Ä¶¦W¥þ³£¦¨¤F¡§pºâ¾÷¦w¥þ¯}ÃaªÌ¡¨¡A¥Ohacker¤@µü³à¥¢¤Fì·N¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//zhúPwikipediaúPorg/wiki/Àb«È¡C¡X¡XĶªÌª`
main(){char*p="main(){char*p=%c%s%c¡F(void)printf(p¡A34¡Ap¡A34¡A10)¡F}%c"¡F(void)printf(p¡A34¡Ap¡A34¡A10)¡F}¡C³o¤~¬O§Ú¨Ï¥Î¡§hacker¡¨¤@µüªºªì°J¡A¦b®Ñ¨½¥i§O·Q§ä¨ì±Ð§A«ç¼Ë¤J«I¥L¤H¹q¸£ªº§âÀ¸®@¡C
PÁÂ
º¥ýn·PÁÂBruce Shriver»PDennis Allison¨â¦ì¥ý¥Í¹ªÀy§Ú¼g§@¥»®Ñ¡AµM¦ZÁÙn¹ïIBM½Ñ¦ì¦P¤¯P·N¡A°Ñ¦Ò¤åÄm¤¤¤]´£¨ì¤F¨ä¤¤¤@¨Ç¦P¨Æªº¦W¦r¡C¤×¨ä·PÁÂMartin E.Hopkins¥ý¥Í¡A¥L¥i¿×IBMªº¡§¬¡½sĶ¾¹¡¨(MrúPCompiler)¡CHopkins¥ý¥Í¦b½s½X¤u§@¤¤¤@µ·¤£ÎA¡A»{¯uÀu¤Æ¨C¤@Ó´`Àô¡X¡X³oºØ·q·~ºë¯«²`²`·P¬V¤F§Ú¡C¥õ¿àAddisonúQWesley¦U¦ìµû¼f¡A¥»®Ñ¤º®e¦³¤F·¥¤j§ïÆ[¡C¥L̪º©m¦Wµ§ªÌ¤j¦h¤£¤F¸Ñ¡A§Ú°ß¤@°O¦íªº¬O¤j¦W¹©¹©ªºGuy LúPSteele¡AJrúP¡C¦b50¶®Ñµû¤¤¡AGuy¸É¥R¤F¤@¨Ç§Ú·í®É¨S¦³½Í¨ìªº·s°ÝÃD¡A¦p¦ì¤¸ªº¥´¶Ã»P´_ì¡A¡§ºø¦Ï»P¤s¦Ï¤ÀÂ÷¾Þ§@¡¨(¤À¦Ïªk¡Asheep and goats operation)¡Aµ¥µ¥¡A¦Ó¥B¥L´£¥Xªº¤@¨Çºâªk¤]¤ñ§Úì¨Ó¥Îªº§ó°ª©ú¡CGuy¬OÓ«D±`¥J²Óªº¤H¡A¤ñ¤è»¡¡A§Ú´¿§â¤Q¤»¶i¨î¼ÆAAAAAAAAªº½è¦]¤l¤À¸Ñ¦¡¿ù¼g¬°2¡Ñ3¡Ñ17¡Ñ257¡Ñ65 537¡A¦Ó¥Lµo²{¨ä¤¤ªº3À³¸Ó¬O5¡C¦¹¥~¡A¥LÁÙ´£¤F¤@¨Ç¦®¦b§ïµ½¼g§@·®æªº«Øij¡A¦}¥B±q¤£¦^Á׮Ѩ½ªº²Ó¸`°ÝÃD¡CŪªÌYµo²{¤å¤¤¦³ºÃ¦ü¥L¤H®»¤M¤§³Bûáûá¡A¨º®£©È±oÂk¥\¤_Guy¤F¡C
ì¤å¬°parallel prefix¡A·N¬°¡§¦}¦æ«e¸m¦¡ºâªk¡¨¡B¡§¥¦æ«eºóºâªk¡¨¡A¬O¤@®M¤À²ÕÂk¦}§Î¦¡ªº³tºâ¬yµ{¡C¸Ô±¡°Ñ¨£¡Ghttps¡G//wwwúPwikipediaúPorg/wiki/Prefix_sum¡C§@ªÌ¦b¦¹³B¥H¤§¤ñ³ë¥L»PGuy¥|¤âÁp¼uªº¨Î¸Ü¡C¡X¡XĶªÌª`
H.S.Warren¡AJrúP
2012¦~6¤ë¤_¯Ã¬ù¦{¬ù§JÂí
¥»®Ñ^¤åª©¬ÛÃö¸ê®Æ½Ð¬d¾\
www.HackersDelight.org |
¤º®e²¤¶¡G¬O²Ä¤@¥»«ÅºÙ¯àÁ¿¸Ñpºâ¾÷ºâªkÁô±â²Ó¸`ªº®Ñ¡A¦Ó¥BÁ¿±oÁÙ¯u¤£¿ù¡C§Úª¾¹Dªº¨C¤@±ø§Þ¥©®Ñ¨½³£´£¨ì¤F¡A¦Ó¥BÁÙÁ¿¤F¦n¦h¦n¦h§Ú¤£ª¾¹Dªº¡C¤£½×¬O¦b¶}µoµ{§Ç®w©Î½sĶ¾¹¡AÁÙ¬O¦b·¥¤O·j¨DÀu¶®ºâªk¡A¦¹®Ñ³£¥i¿×¤Ñ½ç¨}¥U¡AÀ³©ñ¦b°ª¼w¯Ç©ÒµÛ¡mpºâ¾÷µ{§Ç³]pÃÀ³N¡n¨º®M®Ñ®ÇÃä¡C¥»®Ñ²Ä¤@ª©¥Z¦L¦Zªº10¦~¶¡¡A¥¦¹ï§Ú¦bSun©MGoogleªº¤u§@¤j¦³»t¯q¡A¦Ó²Ä¤Gª©©Ò²K¥[·s¤º®e¥ç¥O§ÚÅå¸r¤£¤w¡C¡¨ ¡X¡X Joshua Bloch
¡§ªì¬Ý¥»®Ñ®Ñ¦W®É¡A§Ú·Q¡A³o¬O±Ð¤H«ç¤\¤J«Ipºâ¾÷¨t²Îªº®Ñ¶Ü¡H¤£¤Ó¥i¯à§a¡C¶â¡A¨º´NªÖ©w¬O¤@¥»½sµ{¤p§Þ¥©ªº¶°ÀA¡C¬Ý¤F¤§¦Zµo²{¡A¨S¿ù¡A³o´N¬O¤@¥»½sµ{¯µÄy¡AµM¦Ó«o¬O¤@¥»¥]ù¸U¶Hªº¯µÄy¡C²Ä¤Gª©·s¼W¤F¨âÓ¤j¥DÃD¡A¦}¥Î¼Æ¤QÓ¤p§Þ¥©Â×´I¤F¥»®Ñ¤º®e¡A¨ä¤¤¦³Ó¤pµ´©Û¬O¦p¦ó¦b¤£·¸¥Xªº±¡ªp¤U¨D¨â¼Æ§¡È¡A§Ú¼g¤G¤À¬d§äºâªk®Éª½±µ´N§â³o±ø®³¨Ó¥Î¤F¡C³o¯u¬O¥»¥Oºâªk·R¦nªÌ¶}ÃhºZŪªº®Ñ°Ú¡I¡¨ ¡X¡X Guy Steele
¦b¥»®Ñ¤¤¡A§@ªÌµ¹§Ú̱a¨Ó¤F¤@¤j§å·¥¬°»¤¤Hªºª¾ÃÑ¡A¨ä¤¤¥]¬A¦UºØ¸`¬Ùµ{§Ç¹B¦æ®É¶¡ªº§Þ¥©¡Bºâªk»P¬ªù¡C¾Ç²ß¤F³o¨Ç§Þ³N¡Aµ{§Çû´N¥i¼g¥XÀu¶®°ª®Äªº³n¥ó¡A¦P®ÉÁÙ¯à¬}±x¨ä¤¤ì²z¡C³o¨Ç§Þ³N·¥¬°¹ê¥Î¡A¦Ó¥B¨ä°ÝÃD¥»¨¤S«D±`¦³½ì¡A¦³®É¬Æ¦Ü¹³²qÁ¼¸ÑÁ¼¤@¯ë¡A»Ýn©_«ä§®·Q¤~¦æ¡C²¦Ó¨¥¤§¡A³n¥ó¶}µoªÌ¬Ý¨ì³o¨Ç§ï¶iµ{§Ç®Ä²vªº§®p¤§¦Z¡A©wµM¤j³ß¡C
¥»®Ñ¸û²Ä1ª©¼W¸É¤F¤j¶q¤º®e ·s¼W¤F´`Àô¤¾§E®ÕÅç¡]CRC¡^¤@³¹¡A¨ä¤¤Á¿¸Ñ¤F±`¥ÎªºCRC-32®ÕÅç½X ·s¼W¤FªÈ¿ù½X¡]ECC¡^¤@³¹¡A¨ä¤¤Á¿¸Ñ¤Fº~©ú½X ¸Ô¸Ñ¤F°£¼Æ¬°±`¼Æªº¾ã¼Æ°£ªk¡A¼W¸É¤F¶È§t²¾¦ì¾Þ§@©M¥[ªk¾Þ§@ªººâªk ¤£pºâ°Ó¦Óª½±µ¨D§E¼Æ ÂX¥R¤F»PºØ¸sp¼Æ©M«e¾É0p¼Æ¦³Ãöªºª¾ÃÑ ¼Æ²ÕºØ¸sp¼Æ °õ¦æÀ£ÁY»PÂX®i¾Þ§@ªº·sºâªk LRUºâªk ¯BÂI¼Æ»P¾ã¼Æ¤¬¤Æ ¦ôºâ¯BÂI¼Æªº¥¤è®ÚË¼Æ ¤@¨t¦CÂ÷´²¨ç¼Æ¹Ï¹³ ¦U³¹§¡°t¦³²ßÃD»P°Ñ¦Òµª®× |
¥Ø¿ý¡GĶªÌ§Ç
§Ç¡]²Ä1ª©§Ç¡^
«e¨¥
²Ä1³¹·§z
1.1°Oªk
1.2«ü¥O¶°»P°õ¦æ®É¶¡¼Ò«¬
1.3²ßÃD
²Ä2³¹°ò¦ª¾ÃÑ
2.1¾Þ§@³Ì¥kÃ䪺¦ì¤¸
2.1.1¼w¼¯®Ú©w«ßªº±À½×
2.1.2±q¥k¦Ü¥ªªº¥ipºâ©Ê´ú¸Õ
2.1.3¦ì¾Þ§@ªº·s¦¡¥Îªk
2.2µ²¦XÅÞ¿è¾Þ§@ªº¥[´î¹Bºâ
2.3ÅÞ¿è»Pºâ³Nªí¹F¦¡¤¤ªº¤£µ¥¦¡
2.4µ´¹ïȨç¼Æ
2.5¨â¼Æ¥§¡È
2.6²Å¸¹ÂX®i
2.7¥ÎµL²Å¸¹¥k²¾¼ÒÀÀ±a²Å¸¹¥k²¾¾Þ§@
2.8²Å¸¹¨ç¼Æ
2.9¤TȤñ¸û¨ç¼Æ
2.10²Å¸¹¶Ç»¼¨ç¼Æ
2.11±NȬ°0ªº¦ì¬q¸Ñ½X¬°2ªºn¦¸¤è
2.12¤ñ¸û¿×µü
2.12.1§Q¥Î¶i¦ì¼Ð§Ó¨D¤ñ¸û¿×µü
2.12.2pºâ¾÷¦p¦ó³]¸m¤ñ¸û¿×µü
2.13·¸¥XÀË´ú
2.13.1±a²Å¸¹ªº¥[´îªk
2.13.2pºâ¾÷°õ¦æ±a²Å¸¹¼Æªº¥[´îªk®É¦p¦ó³]¸m·¸¥X¼Ð§Ó
2.13.3µL²Å¸¹¼Æªº¥[´îªk
2.13.4¼ªk
2.13.5°£ªk
2.14¥[ªk¡B´îªk»P¼ªkªº¯S©º½X
2.15´`Àô²¾¦ì
2.16Âù¦rªø¥[´îªk
2.17Âù¦rªø²¾¦ì
2.18¦h¦r¸`¥[´îªk»P¨Dµ´¹ïÈ
2.19doz¡Bmax¡Bmin¨ç¼Æ
2.20¤¬´«±H¦s¾¹¤¤ªºÈ
2.20.1¥æ´«±H¦s¾¹¤¤¬ÛÀ³ªº¦ì¬q
2.20.2¥æ´«¦P¤@±H¦s¾¹¤ºªº¨âÓ¦ì¬q
2.20.3¦³±ø¥óªº¥æ´«
2.21¦b¨âөΨâÓ¥H¤WªºÈ¤§¶¡¤Á´«
2.22¥¬º¸¨ç¼Æ¤À¸Ñ¤½¦¡
2.23¹ê²{16ºØ¤G¤¸¥¬º¸¾Þ§@
2.24²ßÃD
²Ä3³¹2ªº¾Ãä¬É
3.1±N¼ÆȤW½Õ/¤U½Õ¬°2ªº¤wª¾¦¸¾ªº¿¼Æ
3.2½Õ¾ã¨ì¤W¤@Ó/¤U¤@Ó2ªº¾
3.2.1¦V¤UªÙ¤J
3.2.2¦V¤WªÙ¤J
3.3§PÂ_¨úÈS³ò¬O§_¸ó¶V¤F2ªº¾Ãä¬É
3.4²ßÃD
²Ä4³¹ºâ³NÃä¬É
4.1ÀË´ú¾ã¼ÆÃä¬É
4.2³q¹L¥[´îªk¶Ç¼½Ãä¬É
4.3³q¹LÅÞ¿è¾Þ§@¶Ç¼½Ãä¬É
4.4²ßÃD
²Ä5³¹¦ìp¼Æ
5.1²ÎpȬ°¡§1¡¨ªº¦ì¤¸¼Æ
5.1.1¨âÓ¦r²ÕºØ¸sp¼Æªº©M»P®t
5.1.2¤ñ¸û¨âÓ¦r²ÕªººØ¸sp¼Æ
5.1.3²Îp¼Æ²Õ¤¤È¬°¡§1¡¨ªº¦ì¤¸¼Æ
5.1.4À³¥Î
5.2©_°¸©Ê
5.2.1pºâ¦r²Õªº©_°¸©Ê
5.2.2±Nªí¥Ü©_°¸©Êªº¦ì¤¸²K¥[¨ì7¦ì¶q¤¤
5.2.3À³¥Î
5.3«e¾É0p¼Æ
5.3.1¯BÂI¼Æºâªk
5.3.2¤ñ¸û¨âÓ¦r²Õ«e¾É0ªºÓ¼Æ
5.3.3»P¹ï¼Æ¨ç¼ÆªºÃö¨t
5.3.4À³¥Î
5.4¦Zºó0p¼Æ
5.5²ßÃD
²Ä6³¹¦b¦r²Õ¤¤·j¯Á¦ì¦ê
6.1´M§äºÓȬ°0ªº¦r¸`
6.1.10Ȧr¸`¦ì¸m¨ç¼Æªº
¤@¨Ç²³æ±À¼s
6.1.2·j¯Áµ¹©wS³ò¤ºªºÈ
6.2´M§äºÓµ¹©wªø«×ªº¥þ1¦ì¦ê
6.3´M§ä³Ìªø¥þ1¦ì¦ê
6.4´M§ä³Ìµu¥þ1¦ì¦ê
6.5²ßÃD
²Ä7³¹«±Æ¦ì¤¸»P¦r¸`
7.1¤ÏÂà¦ì¤¸»P¦r¸`
7.1.1¦ì¤¸¤ÏÂàºâªkªº±À¼s
7.1.2©_¯Sªº¦ì¤¸¤ÏÂàºâªk
7.1.3»¼¼W¤ÏÂà¦Zªº¾ã¼Æ
7.2¶Ã§Ç±Æ¦C¦ì¤¸
7.3Âà¸m¦ì¯x°}
7.4À£ÁYºâªk(¼s¸q´£¨úºâªk)
7.4.1¥Î¡§´¡¤J¡¨¡B¡§´£¨ú¡¨«ü¥O¹ê²{À£ÁY¾Þ§@
7.4.2¦V¥ªÀ£ÁY
7.5®i¶}ºâªk(¼s¸q´¡¤Jºâªk)
7.6À£ÁY»P®i¶}¾Þ§@ªºµw¥óºâªk
7.6.1À£ÁY
7.6.2®i¶}
7.7³q¥Î¸m´«ºâªk¤Î¤À¦Ï¾Þ§@
7.8«±Æ»P¤U¼ÐÅÜ´«
7.9LRUºâªk
7.10²ßÃD
²Ä8³¹¼ªk
8.1¦h¦r¼ªk
8.264¦ì¿nªº°ªÅv«³¡¤À
8.3µL²Å¸¹»P±a²Å¸¹ªº°ªÅv«¿n¤¬¤Æ
8.4»P±`¼Æ¬Û¼
8.5²ßÃD
²Ä9³¹¾ã¼Æ°£ªk
9.1¹w³Æª¾ÃÑ
9.2¦h¦r°£ªk
9.3¥Î±a²Å¸¹°£ªkpºâµL²Å¸¹µu°£ªk
9.3.1¥Î±a²Å¸¹ªø°£ªkpºâµL²Å¸¹µu°£ªk
9.3.2¥Î±a²Å¸¹µu°£ªkpºâµL²Å¸¹µu°£ªk
9.4µL²Å¸¹ªø°£ªk
9.4.1¥Îµw¥ó¹ê²{²¾¦ì¦}¬Û´îºâªk
9.4.2¥Îµu°£ªk¹ê²{µL²Å¸¹ªø°£ªk
9.5¥Îªø°£ªk¹ê²{Âù¦r°£ªk
9.5.1µL²Å¸¹Âù¦r°£ªk
9.5.2±a²Å¸¹Âù¦r°£ªk
9.6²ßÃD
²Ä10³¹°£¼Æ¬°±`¶qªº¾ã¼Æ°£ªk
10.1°£¼Æ¬°2ªº¤wª¾¦¸¾ªº±a²Å¸¹°£ªk
10.2¨D»P2ªº¤wª¾¦¸¾¬Û°£ªº±a²Å¸¹§E¼Æ
10.3¦b°£¼Æ¤£¬O2ªº¾®É¨D±a²Å¸¹°£ªk¤Î§E¼Æ
10.3.1°£¥H3
10.3.2°£¥H5
10.3.3°£¥H7
10.4°£¼Æ¤j¤_µ¥¤_2ªº±a²Å¸¹°£ªk
10.4.1ºâªk
10.4.2ºâªk¥i¦æ©ÊÃÒ©ú
10.4.3ÃÒ©ú¼¿n¥¿½T
10.5°£¼Æ¤p¤_µ¥¤_-2ªº±a²Å¸¹°£ªk
10.6±N°£ªkºâªk¶°¦¨¦Ü½sĶ¾¹¤¤
10.7¨ä¥L¥DÃD
10.7.1°ß¤@©Ê
10.7.2¥i¥Í¦¨³Ì¨Îµ{§Ç¥N½Xªº°£¼Æ
10.8µL²Å¸¹°£ªk
10.8.1°£¼Æ¬°3ªºµL²Å¸¹°£ªk
10.8.2°£¼Æ¬°7ªºµL²Å¸¹°£ªk
10.9°£¼Æ¤j¤_µ¥¤_1ªºµL²Å¸¹°£ªk
10.9.1µL²Å¸¹ª©ºâªk
10.9.2ºâªk¥i¦æ©ÊÃÒ©ú
10.9.3ÃÒ©úµL²Å¸¹ª©ºâªkªº¼¿n¥¿½T
10.10±NµL²Å¸¹°£ªkºâªk¶°¦¨¦Ü½sĶ¾¹¤¤
10.11»PµL²Å¸¹°£ªk¬ÛÃöªº¨ä¥L¸ÜÃD
10.11.1¥i¥Í¦¨³Ì¨ÎµL²Å¸¹°£ªk¥N½Xªº°£¼Æ
10.11.2±a²Å¸¹¼ªk»PµL²Å¸¹¼ªk¤¬¤Æ
10.11.3§ó²³æªºµL²Å¸¹°£ªk¥Í¦¨ºâªk
10.12§E¼Æ«Dt¦¡°£ªk»P¦V¤U¨ú¾ã¦¡°£ªkªº¾A¥Î©Ê
10.13Ãþ¦üºâªk
10.14¯«©_¼Æ¦r¥Ü¨Ò
10.15¥ÎPython»y¨¥½s¼gªºÂ²³æ¥N½X
10.16°£¼Æ¬°±`¶qªººë½T°£ªk
10.16.1¥Î¼Ú´X¨½±oºâªkpºâ¼ªk°f¤¸¯À
10.16.2¥Î¤û¹yªkpºâ¼ªk°f¤¸¯À
10.16.3¼ªk°f¤¸¯À¥Ü¨Ò
10.17ÀË´ú°£¥H±`¼Æ¦Z¬O§_§E0
10.17.1µL²Å¸¹°£ªk
10.17.2°£¼Æ¤j¤_µ¥¤_2ªº±a²Å¸¹°£ªk
10.18¤£¨Ï¥ÎMultiply High«ü¥Oªº°£ªkºâªk
10.18.1µL²Å¸¹°£ªk
10.18.2±a²Å¸¹°£ªk
10.19¦Xp¦U¼Æ¦ì¨D§E¼Æ
10.19.1¨DµL²Å¸¹°£ªkªº§E¼Æ
10.19.2¨D±a²Å¸¹°£ªkªº§E¼Æ
10.20¥Î¼ªk¤Î¥k²¾¦ì¨D§E¼Æ
10.20.1¨DµL²Å¸¹°£ªkªº§E¼Æ
10.20.2¨D±a²Å¸¹°£ªkªº§E¼Æ
10.21±N´¶³q°£ªk¤Æ¬°ºë½T°£ªk
10.22p®É´ú¸Õ
10.23¥Î¹q¸ôpºâ°£¼Æ¬°3ªº°£ªk
10.24²ßÃD
²Ä11³¹ªìµ¥¨ç¼Æ
11.1¾ã¼Æ¥¤è®Ú
11.1.1¥Î¤û¹yªk¶}¥¤è
11.1.2¤G¤À¬d§ä
11.1.3µw¥óºâªk
11.2¾ã¼Æ¥ß¤è®Ú
11.3¨D¾ã¼Æ¾
11.3.1¥Înªº¤G¶i¨î¤À¸Ñ¦¡pºâxn
11.3.2¥ÎFortran»y¨¥pºâ2n
11.4¾ã¼Æ¹ï¼Æ
11.4.1¥H2¬°©³ªº¾ã¼Æ¹ï¼Æ
11.4.2¥H10¬°©³ªº¾ã¼Æ¹ï¼Æ
11.5²ßÃD
²Ä12³¹¥H¯S®íȬ°©³ªº¼Æ¨î
12.1¥H-2¬°©³ªº¼Æ¨î
12.2¥H-1+i¬°©³ªº¼Æ¨î
12.3¥H¨ä¥L¼Æ¬°©³ªº¼Æ¨î
12.4³Ì°ª®Äªº©³¬O¤°¤\
12.5²ßÃD
²Ä13³¹®æ¹p½X
13.1²¤¶
13.2»¼¼W®æ¹p½X¾ã¼Æ
13.3t¤G¶i¨î®æ¹p½X
13.4®æ¹p½X²¥v¤ÎÀ³¥Î
13.5²ßÃD
²Ä14³¹´`Àô¤¾§E®ÕÅç
14.1²¤¶
14.2²z½×
14.3¹ê²{
14.3.1µw¥ó¹ê²{
14.3.2³n¥ó¹ê²{
14.4²ßÃD
²Ä15³¹ªÈ¿ù½X
15.1²¤¶
15.2º~©ú½X
15.2.1SECúQDED½X
15.2.2®ÕÅç¦ìӼƪº³Ì¤pÈ
15.2.3¤pµ²
15.3¾A¥Î¤_32¦ì«H®§ªº³n¥óSECúQDEDºâªk
15.4¼s¸q¿ù»~×¥¿
15.4.1º~©ú¶ZÂ÷
15.4.2½s½X½×ªº¥Dn°ÝÃD
15.4.3nºû²y±
15.5²ßÃD
²Ä16³¹§Æº¸§B¯S¦±½u
16.1¥Í¦¨§Æº¸§B¯S¦±½uªº»¼Âkºâªk
16.2®Ú¾Ú§Æº¸§B¯S¦±½u¤W±q°_ÂI¨ì¬YÂIªº³~¸g¶ZÂ÷¨D¨ä§¤¼Ð
16.3®Ú¾Ú§Æº¸§B¯S¦±½u¤Wªº§¤¼Ð¨D±q°_ÂI¨ì¬YÂIªº³~¸g¶ZÂ÷
16.4»¼¼W§Æº¸§B¯S¦±½u¤WÂIªº§¤¼Ð
16.5«D»¼Âkªº¦±½u¥Í¦¨ºâªk
16.6¨ä¥LªÅ¶¡¶ñ¥R¦±½u
16.7À³¥Î
16.8²ßÃD
²Ä17³¹¯BÂI¼Æ
17.1IEEE®æ¦¡
17.2¾ã¼Æ»P¯BÂI¼Æ¤¬¤Æ
17.3¨Ï¥Î¾ã¼Æ¾Þ§@¤ñ¸û¯BÂI¼Æ¤j¤p
17.4¦ôºâ¥¤è®Ú˼Æ
17.5«e¾É¼Æ¦ìªº¤À¥¬
17.6Âø¶µ¼ÆȪí
17.7²ßÃD
²Ä18³¹¯À¼Æ¤½¦¡
18.1²¤¶
18.2Willans¤½¦¡
18.2.1Willans²Ä¤G¤½¦¡
18.2.2Willans²Ä¤T¤½¦¡
18.2.3Willans²Ä¥|¤½¦¡
18.3Wormell¤½¦¡
18.4¥Î¤½¦¡¨Ó´yz¨ä¥LÃø¸Ñªº¨ç¼Æ
18.5²ßÃD
°Ñ¦Òµª®×
ªþ¿ýA4¦ìpºâ¾÷ºâ³N¹Bºâªí
ªþ¿ýB¤û¹yªk
ªþ¿ýC¦UºØÂ÷´²¨ç¼Æ¹Ï¹³
°Ñ¦Ò¤åÄm |
§Ç¡G |