²Ä¤Q¤@³¹¡@¯BÂI¼Æ

«e­±´X³¹¤¶²Ð¤F¦b¹q¸£¤¤¦p¦óªí¥Ü¾ã¼Æ¡A¤]¤¶²Ð¤F¦p¦ó¹Bºâ¡C³o¤@³¹¤p¤ì°¸¥´ºâ»¡©ú¡A¦p¦óªí¥Ü«D¾ã¼Æ¡A¹³¬O 0.022¡B14.625¡A¬Æ¦Ü¬O¹³ 6.02214¡Ñ1023¡B6.62607¡Ñ10¡Ð34 ³o¼Ë«Ü¤j©Î«Ü¤pªº¼Æ¡C


­ì²z

¥ý¦^·Q¦p¦óªí¥Ü¥¿¾ã¼Æ¡C°²¦p­nªí¥Ü 144¡A§Ú­Ìª¾¹D¡A³o¨â­Ó¡u4¡v¥Nªí¤£¤@¼Ëªº·N¸q¡C¹ï¤Q¶i¦ì¦Ó¨¥¤Q¦ì¼Æªº 4 ¥Nªí 40¡A¤]´N¬O 4¡Ñ101¡F­Ó¦ì¼Æªº 4 ´N¯uªº¥Nªí 4¡A¤]´N¬O 4¡Ñ100¡C¤]´N¬O»¡¡A¨C­Ó¼Æ¦r¨Ì¾Ú¦ì¸mªº¤£¦P¡A¥²¶·­¼¤W 10 ªº¾­¦¸¤è¡C

144¡×1¡Ñ102¡Ï4¡Ñ101¡Ï4¡Ñ100

°²¦p¬O±a¦³¤p¼Æªº¤Q¶i¦ì¼Æ¡A¨Ò¦p 144.625¡A¦b¤p¼ÆÂI¤§«á¡]¤p¼ÆÂI¥kÃä¡^¤]¬O­¼¥H¤Qªº¾­¦¸¤è¡A¥u¤£¹L³o¨àªº¾­¦¸¤è¬O­t¼Æ¡C©Ò¥Hºâ¦¡Åܦ¨¡G

144.625¡×1¡Ñ102¡Ï4¡Ñ101¡Ï4¡Ñ100¡Ï6¡Ñ10¡Ð1¡Ï2¡Ñ10¡Ð2¡Ï5¡Ñ10¡Ð3

¦pªG­n­pºâ¥X¨C¦ì¼Æ¡A¾ã¼Æ»P¤p¼Æ­n¤À¶}¨Ó¹Bºâ¡C¾ã¼Æ³¡¤À¶·±N¸Ó¼Æªº¾ã¼Æ³sÄò°£¥H 10¡A©Ò±oªº¾l¼Æ´N¬O¨C¦ì¼Æªº¼Æ¦r¡A°Ó¬O¤U¦¸°£ªkªº³Q°£¼Æ¡A±q­Ó¦ì¼Æ©¹°ª¦ì¼Æ¡C¤p¼Æ³¡¤À«h¬O¤p¼Æ³sÄò­¼¥H 10¡A©Ò±oªº¾ã¼Æ´N¬O¨C¦ì¼Æªº¼Æ¦r¡A¨ä­¼¿n¥h±¼¾ã¼Æ¬O¤U¦¸­¼ªkªº³Q­¼¼Æ¡A±q¤Q¤À¦ì¶}©l¡C¨Ò¦p­nºâ¥X 144.625 ªº¨C¦ì¼Æ¡G

¾ã¼Æ³¡¤À¡G144¡Ò10=14¡K¡K4¡÷¾l¼Æ¬O4¡A­Ó¦ì¼Æ¬°4
¡@¡@¡@¡@¡@ 14¡Ò10= 1¡K¡K4¡÷¾l¼Æ¬O4¡A¤Q¦ì¼Æ¬°4
¡@¡@¡@¡@¡@  1¡Ò10= 0¡K¡K1¡÷¾l¼Æ¬O1¡A¦Ê¦ì¼Æ¬°1
¤p¼Æ³¡¤À¡G0.625¡Ñ10=6.25 ¡÷¨ú¾ã¼Æ¬O6¡A¤Q¤À¦ì¬°6
¡@¡@¡@¡@¡@ 0.25¡Ñ10=2.5  ¡÷¨ú¾ã¼Æ¬O2¡A¦Ê¤À¦ì¬°2
¡@¡@¡@¡@¡@  0.5¡Ñ10=5    ¡÷¨ú¾ã¼Æ¬O5¡A¤d¤À¦ì¬°5

¾ã¼Æ¦b¤Q¶i¦ì»P¤G¶i¦ì¤§¶¡Âà´«

ÁA¸Ñ¤Q¶i¦ìªºªí¥Ü¤è¦¡»P¼Æ­È¤§Ãö«Y¥H«á¡A´N¯à±N¨ä­ì²zÂX®i¨ì¤G¶i¦ì¡C°²¦p¦³¤@­Ó¤G¶i¦ì¼Æ¬O BN¡K¡KB3B2B1.b1b2b3¡K¡Kbn¡A¨ä¤¤ Bi¡Bbj ¤£¬O¹s´N¬O¤@¡A¥Nªí¤G¶i¦ìªº¨C¤@¦ì¼Æ¡A¥B i¡Bj ¬O¥¿¾ã¼Æ¡C¨º»ò³o­Ó¤G¶i¦ì¼Æªº¾ã¼Æ³¡¤À¬OBN¡K¡KB3B2B1¡A¤p¼Æ³¡¤À¬O 0.b1b2b3¡K¡Kbn

¾ã¼Æ³¡¤Àªº¼Æ­È I¡×B1¡Ñ20¡ÏB2¡Ñ21¡ÏB3¡Ñ22¡Ï¡K¡K¡ÏBN¡Ñ2N¡Ð1      
¤p¼Æ³¡¤Àªº¼Æ­È F¡×b1¡Ñ2¡Ð1¡Ïb2¡Ñ2¡Ð2¡Ïb3¡Ñ2¡Ð3¡Ï¡K¡K¡Ïbn¡Ñ2¡Ðn   

¨º¸Ó«ç»ò­pºâ¥X B1¡BB2¡BB3¡K¡K»P b1¡Bb2¡Bb3¡K¡K©O¡H¦pªG¯à­pºâ¥X¨Ó¡A´N¯à§â±a¦³¤p¼Æªº¤Q¦ì¼ÆÂà´«¦¨¤G¶i¦ì¼Æ¤F¡C¨Æ¹ê¤W¡A³o­Ó°ÝÃD¨Ã¤£Ãø¡C¥ý³B²z¾ã¼Æ³¡¤À¡A²Ä①¦¡¤¤¡A¥kÃä²Ä¤G¶µ¤§«á¡A³£¦³ 2 ªº¦]¼Æ¡A¾ã²z«á±o¡G

I¡×B1¡Ï2¡Ñ(B2¡ÏB3¡Ñ2¡Ï¡K¡K¡ÏBN¡Ñ2N¡Ð2)

¦pªG§â¤W¦¡¨âÃä°£¥H 2¡A¾l¼Æ´N¬O B1¡A°Ó¬O (B2¡ÏB3¡Ñ2¡Ï¡K¡K¡ÏBN¡Ñ2N¡Ð2)¡C±N©Ò±oªº°Ó¾ã²z¦p¤U¡G

B2¡Ï2¡Ñ(B3¡ÏB4¡Ñ2¡Ï¡K¡K¡ÏBN¡Ñ2N¡Ð3)

±N¤W¦¡°£¥H 2¡A¾l¼Æ´N¬O B2¡C¨Ì·Ó¤W­±ªº¨BÆJ¡A¨C¦¸°£¥H 2¡A©Ò±oªº¾l¼Æ´N¬O¾ã¼Æªº¨C¤@¦ì¼Æ¡A©Ò±oªº°Ó´N¬O¤U¤@¦¸ªº³Q°£¼Æ¡C³o¼Ë¾ã¼Æ³¡¤Àªº¨C¤@¦ì¼Æ¡A´N­pºâ¥X¨Ó¤F¡C¦Ó­pºâ¤p¼Æ³¡¤Àªº¨C¦ì¼Æ¡A»P¾ã¼Æ³¡¤À§¹¥þ¤£¦P¡C¦pªG§â¤p¼Æ³¡¤À¡A¤]´N¬O②¦¡¡A¨âÃä¦P­¼¥H 2¡G

2F¡×b1¡Ïb2¡Ñ2¡Ð1¡Ïb3¡Ñ2¡Ð2¡Ï¡K¡K¡Ïbn¡Ñ21¡Ðn

¤W¦¡¤¤¡A¥u¦³²Ä¤@¶µ¡Ab1¡A¬O¾ã¼Æ¡A²Ä¤G¶µ¤§«á³£¬O¤p¼Æ¡A©Ò¥H§Î¦¨·sªº¤p¼Æ¡G

b2¡Ñ2¡Ð1¡Ïb3¡Ñ2¡Ð2¡Ï¡K¡K¡Ïbn¡Ñ21¡Ðn

¦pªG¦A­¼¥H 2¡A¤S¯à±o¨ì¾ã¼Æ³¡¤À¬O b2¡A¨Ã¦A«×§Î¦¨·sªº¤p¼Æ¡C¦p¦¹¨C¦¸­¼¥H 2¡A´N¯à±o¨ì¤p¼Æ³¡¤Àªº¨C¤@¦ì¡A©Ò±oªº­¼¿n¥h±¼¾ã¼Æ«áªº¤p¼Æ¡A¬O¤U¦¸­¼¥H 2 ªº³Q­¼¼Æ¡C

­n§â¤G¶i¦ì¼Æ¡ABN¡K¡KB3B2B1.b1b2b3¡K¡Kbn Âà´«¦¨¤Q¶i¦ì¡A´N¨Ì·Ó¤W­±²Ä①¡B② ¬Û¥[§Y¥i¡C¤]´N¬O

BN¡K¡KB3B2B1.b1b2b3¡K¡Kbn¡×B1¡Ñ20¡ÏB2¡Ñ21¡ÏB3¡Ñ22¡Ï¡K¡K¡ÏBN¡Ñ2N¡Ð1¡Ïb1¡Ñ2¡Ð1¡Ïb2¡Ñ2¡Ð2¡Ïb3¡Ñ2¡Ð3¡Ï¡K¡K¡Ïbn¡Ñ2¡Ðn

¤â°µ¤Q¶i¦ì»P¤G¶i¦ì¤§¶¡Âà´«

ÁA¸Ñ¤W­z­ì²z¤§«á¡AÁ`¬O­n¹ê»Úºt½m¤@¦¸¡A¤~ºâ¬O¯u¥¿ÁA¸Ñ¡C¨Ò¦p­n§â 144.625 Âà´«¦¨¤G¶i¦ì¡G

¾ã¼Æ³¡¤À¡G144¡Ò2=72¡K¡K0¡÷¦ì¤¸0¬°0
¡@¡@¡@¡@¡@ 72¡Ò2=36¡K¡K0¡÷¦ì¤¸1¬°0
¡@¡@¡@¡@¡@ 36¡Ò2=18¡K¡K0¡÷¦ì¤¸2¬°0
¡@¡@¡@¡@¡@ 18¡Ò2=9¡K¡K0¡÷¦ì¤¸3¬°0
¡@¡@¡@¡@¡@  9¡Ò2=4¡K¡K1¡÷¦ì¤¸4¬°1
¡@¡@¡@¡@¡@  4¡Ò2=2¡K¡K0¡÷¦ì¤¸5¬°0
¡@¡@¡@¡@¡@  2¡Ò2=1¡K¡K0¡÷¦ì¤¸6¬°0
¡@¡@¡@¡@¡@  1¡Ò2=0¡K¡K1¡÷¦ì¤¸7¬°1

¾ã²z«á±o¨ì 144¡×1001 0000b¡C¦Aºâ¤p¼Æ³¡¤À¡G

¤p¼Æ³¡¤À¡G0.625¡Ñ2=1.25¡÷¤p¼ÆÂI«á²Ä1­Ó¦ì¤¸¬°1
¡@¡@¡@¡@¡@ 0.25¡Ñ2=0.5 ¡÷¤p¼ÆÂI«á²Ä2­Ó¦ì¤¸¬°0
¡@¡@¡@¡@¡@  0.5¡Ñ2=1   ¡÷¤p¼ÆÂI«á²Ä3­Ó¦ì¤¸¬°1

¾ã²z«á±o¨ì 0.625¡×0.101¡A»P¾ã¼Æ³¡¤Àªºµ²ªGµ²¦X°_¨Ó¡A±o¨ì 144.625¡×1001 0000.101b¡C

¤Ï¹L¨Ó¡A¦pªG­n§â 1001 0000.101b Âà´«¦¨¤Q¶i¦ì¡A¥u»Ý­pºâ©³¤Uªººâ¦¡§Y¥i¡G

¦ì¤¸7¬O1¡A1¡Ñ27=128
¦ì¤¸6¬O0¡A0¡Ñ26=0
¦ì¤¸5¬O0¡A0¡Ñ25=0
¦ì¤¸4¬O1¡A1¡Ñ24=16
¦ì¤¸3¬O0¡A0¡Ñ23=0
¦ì¤¸2¬O0¡A0¡Ñ22=0
¦ì¤¸1¬O0¡A0¡Ñ21=0
¦ì¤¸0¬O0¡A0¡Ñ20=0
¤p¼ÆÂI«á²Ä1­Ó¦ì¤¸¬O1¡A1¡Ñ2¡Ð1=0.5
¤p¼ÆÂI«á²Ä2­Ó¦ì¤¸¬O0¡A0¡Ñ2¡Ð2=0
¤p¼ÆÂI«á²Ä3­Ó¦ì¤¸¬O1¡A1¡Ñ2¡Ð3=0.125

³Ì«áÁ`¥[°_¨Ó±o 128¡Ï16¡Ï0.5¡Ï0.125¡×144.625¡A©Ò¥H 1001 0000.101b¡×144.625¡C

IEEE 754 ¯BÂI¼Æ¼Ð·Ç

¬Ý°_¨Ó«Ü§¹¬ü¡A¨º¬O¦]¬°¤W­±Á|¨Òªº¼Æ¬Oºë¤ß¬D¿ïªº¡C¨Ò¦p­n§â 0.1 Åܦ¨¤G¶i¦ì¡A¨Ì¾Ú­è­èªº³W«h¡G

0.1¡Ñ2=0.2¡÷¤p¼ÆÂI«á²Ä1­Ó¦ì¤¸¬°0
0.2¡Ñ2=0.4¡÷¤p¼ÆÂI«á²Ä2­Ó¦ì¤¸¬°0
0.4¡Ñ2=0.8¡÷¤p¼ÆÂI«á²Ä3­Ó¦ì¤¸¬°0
0.8¡Ñ2=1.6¡÷¤p¼ÆÂI«á²Ä4­Ó¦ì¤¸¬°1
0.6¡Ñ2=1.2¡÷¤p¼ÆÂI«á²Ä5­Ó¦ì¤¸¬°1
0.2¡Ñ2=0.4¡÷¤p¼ÆÂI«á²Ä6­Ó¦ì¤¸¬°0¡÷³Q­¼¼Æ»P²Ä¤G¦¸¤@¼Ë
¡@¡@⁝

²Ä¤»¦¸»P²Ä¤G¦¸ªº³Q­¼¼Æ¤@¼Ë¡A¥i¥H±À¥X·|¤@ª½´`Àô¤U¥h¡A¨S¦³²×¤î¡A¤]´N¬O»¡ 0.1¡×0.000110011001100¡K¡Kb¡C¨Æ¹ê¤W¡A¤j³¡¤À±a¦³¤p¼Æªº¼Æ­È¡A³£¬O¦p¦¹¡A·|¤@ª½´`Àô¤£¤î¡C·íµM¹q¸£ªº°O¾ÐÅ餣¥i¯àµL¤îºÉ¡A©Ò¥H¥²¶·°µ¨ú±Ë¡C´«¥y¸Ü»¡¡A´N¥²¶·­q¥X³W½d¡A§i¶D©Ò¦³¹q¸£¡A¸Ó¨ì­þ¤@¦ì±Ë¥h©Î¶i¦ì¡C²{¦b¤j³¡¤Àªº¹q¸£³£¿í·Ó°ê»Ú¹q¾÷¹q¤l¤uµ{®v¾Ç·|¡]Institute of Electrical and Electronics Engineers¡^¦b 1980 ¦~¥N©Ò¨î­qªº IEEE 754 ¼Ð·Ç¨ÓÀx¦s±a¦³¤p¼Æªº¼Æ­È¡C

IEEE 754 ¨î©w¤F¥|ºØ®æ¦¡¡A¤À§O¬O¡G³æºë½T«×¯BÂI¼Æ¡]single-precision floating-point¡^¡BÂùºë½T«×¯BÂI¼Æ¡]double-precision floating-point¡^¡B©µ¦ùÂùºë½T«×¯BÂI¼Æ¡]79¦ì¤¸¥H¤W¡A³q±`¥H80¦ì¤¸¹ê°µ¡^»P¥|ºë½T«×¯BÂI¼Æ¡]quadruple-precision floating-point¡A¤£±`¥Î¡^¡A¨£¤Uªí¡Cªí¤¤®æ¦¡¨ºÄæ¥Î¬õ¦â¶ñº¡ªº¯x§Î¡A¥Nªí²Å¸¹¡C

¦WºÙx87
¦WºÙ
¦ì¤¸¼Æ®æ¦¡¯àªí¥Ü½d³ò
¡]¥¿³W¤Æ¼Æ¡^
«ü¼Æ
°ò·Ç¼Æ
¤Q¶i¦ì®É
¦³®Ä¼Æ¦ì¼Æ
³æºë½T«×µu¹ê¼Æ
short real
321.18¡Ñ10¡Ð38 ¨ì 3.40¡Ñ1038
©Î ¡Ð1.18¡Ñ10¡Ð38 ¨ì ¡Ð3.40¡Ñ1038
127
7Fh
6¡ã7
Âùºë½T«×ªø¹ê¼Æ
long real
642.23¡Ñ10¡Ð308 ¨ì 1.80¡Ñ10308
©Î ¡Ð2.23¡Ñ10¡Ð308 ¨ì ¡Ð1.80¡Ñ10308
1023
3FFH
15¡ã16
©µ¦ùÂùºë½T«×¼È®É¹ê¼Æ
temporary real
803.3621¡Ñ10¡Ð4932 ¨ì 1.1897¡Ñ104932
©Î¡Ð3.3621¡Ñ10¡Ð4932 ¨ì ¡Ð1.1897¡Ñ104932
16383
3FFFH
19
¥|ºë½T«×128

¨CºØ¯BÂI¼Æ®æ¦¡¡A³£¤À¤T³¡¤À¡G²Å¸¹¡]sign¡^¡B«ü¼Æ°¾²¾­È¡]exponent bias¡^»P¦³®Ä¼Æ¦r¡]significand¡^¡G

⑴¡B²Å¸¹¡G¦b³Ì°ª¦ì¤¸¡A¦Ó¥B¥u¦û¤@­Ó¦ì¤¸¡C¦pªG¦¹¦ì¤¸¬°¹s¡Aªí¥Ü¦¹¯BÂI¼Æ¬°¥¿¼Æ¡F­Y¬°¤@¡Aªí¥Ü­t¼Æ¡C

⑵¡B«ü¼Æ°¾²¾­È¡G¥Nªí 2 ªº´X¦¸¤è¡A¦ý¥¦¤£¬O¯u¥¿ªº«ü¼Æ¡A¯u¥¿ªº«ü¼Æ¬O³o­Ó¼Æ­È´î¥h«ü¼Æ°ò·Ç¼Æ¡C¨CºØ®æ¦¡ªº«ü¼Æ°ò·Ç¼Æ¤£¦P¡A¨£¤Wªí¤¤ªº­Ë¼Æ²Ä¤GÄæ¡C

⑶¡B¦³®Ä¼Æ¦r¡G¦³¨Ç¤åÄm¼g¦¨¤p¼Æ¡]fraction¡^©Î§À¼Æ¡]mantissa¡^¡A³£¬O¤@¼Ëªº·N«ä¡C¥¦©Ò¥Nªíªº¼Æ­È¡A¦A¥[¤W 1¡A¤~¬O¹ê»Ú¤Wªº¼Æ­È¡C

IEEE 754 ªºªí¥Ü¤èªk¡A¦³ÂI¹³¬ì¾Ç°O¸¹¡C¬ì¾Ç°O¸¹¥i¥H§â¥ô·N¤@¼Æ¡Aªí¥Ü¦¨ a¡Ñ10n¡A¨ä¤¤ 1≤ |a|<10¡An ¬O¾ã¼Æ¡C¦Ó IEEE 754 «h¬Oªí¥Ü¦¨ (-1)sign¡Ñ1.significand¡Ñ2exponent bias¡CÁA¸Ñ¦U³¡¤À©Ò¥Nªíªº·N¸q¤§«á¡AÁ|­Ó¨Ò¤l»¡©ú¡C°²¦p­n§â 144.625 ªí¥Ü¦¨Âùºë½T«×¯BÂI¼Æ¡A¨BÆJ¦p¤U¡G

  1. ¥ý§â 144.625 Åܦ¨¤G¶i¦ì¡A144.625¡×1001 0000.101b¡C
  2. §â 1001 0000.101b ¼g¦¨ 1.001 0000 101¡Ñ27¡C³o¸ò¤Q¶i¦ì¤@¼Ë¡A¤p¼ÆÂI¨C©¹¥ª²¾¤@¦ì¡A«ü¼Æ´N¥[¤@¡C
  3. ¦]¬°¬O¥¿¼Æ¡A©Ò¥H sign¡×0¡Cexponent bias¡×7¡Ï1023¡×1030¡×100 0000 0110b¡Csignificand¡×001 0000 101¡C
  4. §â¤W¤@¨BÆJªºµ²ªG²Õ¦X°_¨Ó¡C±q²Ä 63 ¦ì¤¸¶}©l¬O
  5. 0 100 0000 0110 0010 0001 0100 0000 0000¡K¡K
  6. ±N¨äÂà´«¦¨¤Q¤»¶i¦ì¡G40 62 14 00 00 00 00 00¡A³o¬O¤jºÝ§Ç±Æ¦C¡F¦pªG¨Ì·Ó¤pºÝ§Ç¬O 00 00 00 00 00 14 62 40¡C

¤W­±ªº¨BÆJ 2. ¤¤¡A±N¤p¼ÆÂI©¹¥ª²¾¤@¦ì¡A¥Nªí°£¥H 2¡C³oºØ±¡§Î¡A´N¹³¤Q¶i¦ìªº¼Æ¡A±N¤p¼ÆÂI©¹¥ª²¾¤@¦ì¡A¥Nªí°£¥H 10¡A­Y­n¨Ï­ì¼Æ­È¤£ÅÜ¡A10 ªº«ü¼Æ´N­n¥[¤@¡C¦b¤G¶i¦ì¤]¬O¦p¦¹¡A¥u¬OÅܦ¨ 2 ªº«ü¼Æ¥[¤@¡C¤S¦]¬°¦b¤G¶i¦ì¤¤¡A¨C¤@¦ì¼Æ¤£¬O¹s´N¬O¤@¡]¤Q¶i¦ì¤¤¥i¯à¬O 1¡B2¡B3¡K¡K9¡^¡A¦Ó¤p¼ÆÂI¥ªÃ䪺¨º¤@¦ì¼Æ¡A¤@©w¬O 1¡C¬JµM¬O 1¡A¦ó¤£¬Ù²¤¡A¤£¦b¦³®Ä¼Æ¦r¤¤ªí¥Ü¥X¨Ó¡A³o¼Ë¦³®Ä¼Æ¦r´N¥i¥H¦h¤@¦ìºë½T«×¡C³o¼Ëªº±¡§Î¥s¥¿³W¤Æ¡]normalize¡^¡A²Å¦X¥¿³W¤Æªº¼Æ¡AºÙ¬°¥¿³W¤Æ¼Æ¡C³o¤]´N¬O¬°¤°»ò¯u¥¿ªº¦³®Ä¼Æ¦r¡A¨ä¹ê¬O 1.significand¡C

¶¶±a¤@´£¡A¦]¬° IEEE 754 ¥Î (-1)sign¡Ñ1.significand¡Ñ2exponent bias ªº¼Ë¤lªí¥Ü±a¦³¤p¼Æªº¼Æ­È¡A©Ò¥H¤p¼ÆÂI¨Ã¤£©T©w¦b­þ¤@¦ì¡A¸ò«ü¼Æªº¤j¤p¦³Ãö¡C¥¿¦]¬°¤p¼ÆÂI¦ì¸m¤£©T©w¡A¬O¯B°Êªº¡A©Ò¥HºÙ¬°¯BÂI¼Æ¡]floating point¡^¡C

IEEE 754 ÁÙ©w¸q¤F¤@¨Ç¯S®íªº¼Æ­È¡A¦b­pºâ®É¥i¥H³B²z¿ù»~¡C³o¨Ç¯S®í¼Æ­È¡A¦p¤Uªí¡G

¯S®í¼Æ­È§PÂ_±ø¥ó»¡©ú
²Å¸¹«ü¼Æ
°¾²¾­È
¦³®Ä
¼Æ¦r
¥¿¹s¡]¡Ï0.0¡^0¥þ¬O 0¥þ¬O 0¥¿±`¹Bºâµ²ªG¬O¹s¡A¨Ò¦p 0.0¡Ñ1.0¡×¡Ï0.0¡A¦Ó 0.0¡Ñ(¡Ð1.0)¡×¡Ð0.0¡C©Î¬O¹Bºâµ²ªG¤Ó¤p¡A¤p¨ì³s¡u«D¥¿³W¤Æ¼Æ¡v³£µLªkªí¹F¡A®Ú¾Úµ²ªGªº¥¿­tºIÂ_¦¨¡Ï0.0 ©Î¡Ð0.0
­t¹s¡]¡Ð0.0¡^1¥þ¬O 0¥þ¬O 0
NaN©¿²¤¥þ¬O 1¤£¥þ¬O 0¼Æ¾Ç¤W¨S¦³©w¸q¡A©ÎµLªkµ¹¥X½T©w¹ê¼ÆªºµL®Ä¹Bºâ®É¡A¨Ò¦p 0/0¡B¡Û/¡Û¡B®Ú¸¹­t¤@¡B­t¼Æ¨D¹ï¼Æµ¥µ¥
¥¿µL­­¤j¡]¡Ï¡Û¡^0¥þ¬O 1¥þ¬O 0¹Bºâµ²ªG¶W¥X¤F¯BÂI¼Æ¯àªí¹Fªº³Ì¤j½d³ò¡]¤]´N¬Oµo¥Í·¸¦ì¡^¡A©ÎªÌ¹J¨ì¤F¼Æ¾Ç¤WªºµL­­¤jÃä¬É®É·|²£¥Í¡C¨Ò¦p 1.0/0.0¡×+¡Û¡A¡Ð1.0/0.0¡×¡Ð¡Û¡F¶i¦æÂùºë½T«×¹Bºâ®É¡A­pºâ ( 4.2¡Ñ10300 )2¡A¶W¥XÂùºë½T«×©Ò¯àªí¹Fªº³Ì¤j½d³ò
­tµL­­¤j¡]¡Ð¡Û¡^1¥þ¬O 1¥þ¬O 0
«D¥¿³W¤Æ¼Æ denormal numbers0 ©Î 1¥þ¬O 0¤£¥þ¬O 0·í¹Bºâµ²ªG¤ñ©Ò¯àªí¹Fªº³Ì¤p¥¿³W¤Æ¼ÆÁÙ¤p¡A«o¤SÁÙ¨S¤p¨ìÅܦ¨ 0 ®É¡A´N·|²£¥Í«D¥¿³W¤Æ¼Æ¡C¨Ò¦p¶i¦æÂùºë½T«×¹Bºâ¡A­pºâ 3.0¡Ñ10¡Ð308¡Ò16¡A¦¹®É«ü¼Æ¤w¸gµLªk¦AÅܤp¤F¡A´N¥u¯à§â¦³®Ä¼Æ¦r©¹¥k²¾¡AÄ묹ºë·Ç«×¨Ó´«¨ú¤£ª½±µÅܦ¨ 0

³o¨Ç¾÷¨î½T«O¤Fµ{¦¡¦b¹J¨ì¼Æ¾Ç·¥ºÝª¬ªp®É¡A¤£·|ÀH«K·í¾÷¡A¦Ó¬O¯à¯d¤U¡u¦³·N¸qªº²Å¸¹¡v¨Ñ¶}µoªÌ«áÄòÀˬd¡C¡]³o¨Ç¯S®í¼Æ­È¡A¬O¯BÂI¼Æ¤§¤÷¥[¦{¤j¾Ç§B§J§Q¤À®Õ«Â·G¡P¥dÁú¡]William Kahan¡^«ØÄ³¥[¤J¡A¥L¤]¬O±À°Ê IEEE 754 ªº­«­n±À¤â¡^


x64 CPU ³B²z¯BÂI¼Æªº«ü¥O¶°

ÁA¸Ñ¤F¯BÂI¼Æ¥H¤Î IBM PC ¤Î¬Û®e¹q¸£¦p¦óÀx¦s¯BÂI¼Æ¤§«á¡A¨ÓÂI»´ÃPªº¡A²á²á IBM PC/XT ¤Î¨ä¬Û®e¹q¸£¤W¡A³B²z¯BÂI¼Æªººt¶i¡C

FPU ªº x87 «ü¥O¶°

FPU ¬O¯BÂI¹Bºâ¾¹¡]floating-point processor unit¡^ªºÁY¼g¡A¥¦¬O±Mªù³B²z¼Æ¾Ç¹Bºâªº´¹¤ù¡C¦­¦b¦è¤¸ 1979 ¦~­^¯Sº¸´N¬°¤F·f°t 8086/8088¡A±À¥X¦W¬° 8087 ªº FPU¡A¦b IBM PC/XT ­Ó¤H¹q¸£¤¤ªº¥D¾÷ªO¤W­±¡ACPU ´¡¼Ñªþªñ¦³¤@­ÓªÅµÛªº´¡¼Ñ¡A´N¬Oµ¹ FPU ¥Îªº¡C°²¦p±z¥h¶R FPU¡A¥i¥H§â FPU ´¡¦b¤W­±¡A¦A½Õ¾ã²ÕºA¶}Ãö¡A´N¥i¨Ï¥Î FPU ¤F¡C¨ì¤F 80286¡B80386 ®É¥N¤]¦³»P¤§°t¦Xªº FPU¡A¤À§OºÙ¬° 80287¡B80387¡C¨ì¤F 80486 ®É¥N¡AIntel §ó§â FPU ¾ã¦X¨ì 80486 ¸Ì­±Åܦ¨³æ¤@´¹¤ù¡]¨º®É¤]¦³¤£§t FPU ªº 80486¡AºÙ¤§¬° SX¡A¦Ó§t¦³ FPU ªººÙ¬° DX¡^¡C¨ì¤F Pentuim ªº®É¥N¡AFPU ¤w¸g§¹¥þ¾ã¦X¨ì CPU ¤¤¡A¨Ï¥ÎªÌ§¹¥þ·Pı¤£¨ì¥¦ªº¦s¦b¤F¡C­^¯Sº¸¶}µo·f°t x86 ¤¤¥¡³B²z¾¹ªº FPU ³£ºÙ¬° 8087¡B80287¡B80387¡A©Ò¥H³o¨Ç´¹¤ù¤]ºÙ¬° x87¡C

FPU ¦³¦Û¤vªº¤@®M«ü¥O¡A¦Ó¥B³£¥H¡uF¡v°_ÀY¡A¨Ò¦p FINIT¡BFADD¡K¡K¡CFPU ¶i¦æ¹Bºâ®É¡A¬O¦b¤K­Ó 80 ¦ì¤¸ªº°ïÅ|¼È¦s¾¹¶i¦æ¡A³o¨Ç¼È¦s¾¹ªº¦WºÙ¤À§O¬O ST(0)¡BST(1)¡BST(2)¡BST(3)¡K¡KST(7)¡CÁöµM¦³¨Ç«ü¥O¯à³B²z ST(0) ¥H¥~ªº¼È¦s¾¹¡A¦ý¤j³¡¤À³£¬Oª½±µ¹ï ST(0) ¶i¦æ¹Bºâ¡A´N«Ü³Â·Ð¡C¥t¥~ FPU ÁÙ¦³­Ó«Ü¤jªº¯ÊÂI¡A¤@¦¸¥u¯à³B²z¤@µ§¸ê®Æ¡C¨ì¦è¤¸ 1990 ¦~¥N¡A¤T«×ªÅ¶¡¡]3D¡^²Ä¤@¤HºÙ®gÀ»¹CÀ¸·´·À¾Ô¤h¾Ô¤h¡]Doom¡^¡B¹p¯«¤§Âñ¡]Quake¡^©Ò¤Þµoªº¼ö¼é¡A¥H¤Î¹ï CD/DCD ¦h´CÅé¼v­µ¼½©ñ¡A³£¹ï¯BÂI¹Bºâ»Ý¨D¤j¼W¡A¦Ó FPU ºâ¤OµLªkÀ³¥I³o¼Ëªº»Ý¨D¡C

MMX «ü¥O¶°»P 3DNow! «ü¥O¶°

¦è¤¸ 1997 ¦~¡A­^¯Sº¸±À¥X¤F MMX¡]MultiMedia eXtensions¡^§Þ³N¡A­º¦¸¤Þ¤J SIMD ·§©À¡CSIMD ¬O single instruction multiple data ªºÁY¼g¡A¥i½Ķ¦¨¡u³æ«ü¥O¦h¸ê®Æ¡v¡A¨ä·N¸q´N¬O¦r­±¤W©Ò»¡ªº¡A°õ¦æ¤@¹D«ü¥O¡A«o¯à¹ï¦hµ§¸ê®Æ¶i¦æ¹Bºâ¡C¥ß·NÁö¦n¡A¦ý¦³¨â­Ó«ÜÄY­«ªº¯ÊÂI¡G①¥u¯à³B²z 32 ¦ì¤¸©Î 64 ¦ì¤¸¾ã¼Æ¡A¤£¤ä´©¯BÂI¼Æ¡C②¨Ï¥Î x87 ªº¼È¦s¾¹¡A¾É­P FPU »P MMX ¤£¯à¦P®É¨Ï¥Î¡C

MMX §Þ³N¨Ï¥Îªº¼È¦s¾¹¦XºÙ MMX ¼È¦s¾¹¡A¤À§O¬O MM0¡ãMM7¡A³o¨Ç¦WºÙ¨ä¹ê¬O x87 ¼È¦s¾¹ªº§O¦W¡A¤À§O¹ïÀ³ ST(0)¡ãST(1)¡A¥¦­Ì¨Ï¥Îªº¬O¦P¤@²ÕµwÅé¹q¸ô¡CST(0)¡ãST(1) ¬O 80 ¦ì¤¸ªøªº¼È¦s¾¹¡A¦Ó MM0¡ãMM7 ¬O 64 ¦ì¤¸ªº¼È¦s¾¹¡A¥¦­Ì¨Ï¥Î¤F ST(0)¡ãST(1) ªº²Ä 0¡ã63 ¦ì¤¸¡C¦b¨Ï¥Î MMX ¤§«e¡A»Ý­n°õ¦æ MMX «ü¥O¡A¤~¯àÅý CPU ¤Á´«¦¨ MMX ¼Ò¦¡¡Fµ¥¨Ï¥Î§¹²¦¡A­n°õ¦æ EMMS¡]exit multimedia state¡^«ü¥O¤Á´«¦^ x87 ¼Ò¦¡¡C

¦]¬°³o¨â­Ó¯ÊÂI¡A¨Ï MMX ©Ê¯à¤j¥´§é¦©¡C­^¯Sº¸ªº±j«l¹ï¤â¡A¶W·L°w¹ï¹Bºâ¯BÂI¼Æ¡A©ó¦è¤¸ 1998 ¦~¡A±À¥X¤F¤@´Ú²`Àò¦nµûªº K6¡Ð2 CPU¡A¥¦·f°t¤F 3DNow! §Þ³N¡C3DNow! §Þ³N¤ä´©³æºë½T«×¯BÂI¼Æªº SIMD ¹Bºâ¡A¤@­Ó«ü¥O¥i¥H¦P®É³B²z¨â­Ó 32 ¦ì¤¸¯BÂI¼Æ¡I¹ï©ó¤T«×ªÅ¶¡¹CÀ¸¤¤¡A®y¼ÐÂà´«»Pª«²z¹Bºâ®É¡A³t«×Àþ¶¡öt¤É¡AÁÓÀ£¤F­^¯Sº¸ªº MMX §Þ³N¡C³o¬O¶W·L¦b¯BÂI¹Bºâ¤W¡A²Ä¤@¦¸¶W¶V­^¯Sº¸¡CµM¦Ó¡A°Ó³õ¦p¾Ô³õ¡A°Z®ÆÁ®½¸®·ÂÍ¡A¶À³¶¦b«á¡C¹ï¶W·L¨Ó»¡¡A3DNow! ³Ó§Q©Ò±a¨Óªº³ß®®¡A¨Ã¥¼«ùÄò¤Ó¤[¡A©R¹Bªº¤Ñ¥­«Ü§Ö¦V­^¯Sº¸¶É±×¡C

SSE/SSE2/SSE3/SSE4 «ü¥O¶°»P AMD64 ¬[ºc

­^¯Sº¸¦b¦è¤¸ 1999 ¦~±À¥X¤F Pentium III¡A¨Ã·f°t SSE¡]Streaming SIMD Extensions¡^«ü¥O¶°¡ASSE ¥i¥H½Ķ¦¨¡u¦ê¬y³æ«ü¥O¦h¸ê®Æ©µ¦ù«ü¥O¶°¡v¡C·í¨Ï¥ÎªÌª± 3D ¹CÀ¸©Î¼½©ñ DVD ¼v¤ù®É¡ACPU »Ý­n¶i¦æ®ü¶qªº¸ê®Æ©Î¼v¹³µe­±¹Bºâ¡A³o¨Ç¸ê®Æ³q±`¥u·|¹Bºâ¤@¦¸¡A¤§«á´N¤£·|¦A¥Î¤F¡C¦pªG«ö·Ó¶Ç²Î¤è¦¡§â³o¨Ç®ü¶q¸ê®Æ³q³q¶ë¶i CPU ªº§Ö¨ú°O¾ÐÅé¡]L1/L2 Cache¡^¡A·|§â­ì¥»¦s©ñ­«­nµ{¦¡½Xªº§Ö¨úªÅ¶¡µ¹¡uÀ½Ãz¡]¦Ã¬V¡^¡v¡A¾É­P¹q¸£ÅܺC¡C¦ê¬yªº·N¸q¦b©ó¤Þ¤J¤F¡u¹w¨ú¡]Prefetch¡^¡v©M¡u«D¼È®ÉÀx¦s¡]Non-temporal store¡^¡v·§©À¡A¨Ï¸ê®Æ¥i¥H¶¹L§Ö¨ú¡Aª½±µ±q°O¾ÐÅé¹³¤ô¬y¤@¼Ë¬y¶i XMM ¼È¦s¾¹¡Aµ¥¥¦ºâ§¹¦Aª½±µ¬y¦^°O¾ÐÅé¡C³o¤j¤j«OÅ@¤F CPU §Ö¨úªº¯Â²b¡C°£¦¹¤§¥~¡ASSE ¤]Â\²æ¤F x87 ªº§ô¿£¡A¾Ö¦³¤K­Ó¥þ·s¥B¿W¥ßªº 128 ¦ì¤¸¼È¦s¾¹¡AºÙ°µ XMM ¼È¦s¾¹¡A¨ä¦WºÙ¤À§O¬O XMM0¡ãXMM7¡C³o 128 ¦ì¤¸ªº¼È¦s¾¹¡A¥i¥HÀx¦s¥|­Ó 32 ¦ì¤¸¯BÂI¼Æ¡A¤@­Ó«ü¥O´N¯à¦P®É¹ï¥|­Ó³æºë½T«×¯BÂI¼Æ¹Bºâ¡A³oÅý¹CÀ¸ªº®Ä¯à±o¨ì¤F­¸ÅD©Êªº¦¨ªø¡C

¶È¶È¹L¤F¤@¦~¡A­^¯Sº¸±À¥X Pentium 4¡A¦P¨Bµoªí¤F SSE2¡CSSE2 ¯à¹ïÂùºë½T«×¯BÂI¼Æ¶i¦æ¹Bºâ¡A¤]¤¹³\¦b 128 ¦ì¤¸ªº XMM ¼È¦s¾¹¤¤¶i¦æ¦UºØªø«×ªº¾ã¼Æ¹Bºâ¡C³o¨Ï±o x87¡BMMX¡B3DNow! ¥¢¥h¤F»ù­È¡A¦Ü¦¹­^¯Sº¸ºâ¬O§æ¦^¤FÃC­±¡C¬Æ¦Ü¨ì¤F¦è¤¸ 2010 ¦~¡AAMD «Å¥¬°±¤î¤ä´© 3DNow!¡A³o¶µ´¿¬° AMD ¥ß¤U¦½°¨¥\³Òªº§Þ³N¥¿¦¡¨«¤J¾ú¥v¡C

»¡¨ì³o¨à¡A§A¥H¬°­^¯Sº¸Ä¹±o³Ì«á³Ó§Q¤F¡HµM¦Ó¡A¾ú¥v¦³½ì¤§³B¡A¥¿¬O¾ú¥v·|¤£Â_­«ºt¡A§ó¦³½ìªº¬O¦³®É¥u¬O¨¤¦â¤¬´«¡C³o³õ¨â¶¯ª§ÅQªº§½­±¡A¦b¦è¤¸ 2003 ¦~¡A¤Sªï¨Ó¤@¦¸¤ÏÂà¡C¦b³o«e«á´X¦~ùØ¡A¤j®a¦³·P©ó 32 ¦ì¤¸ CPU ¤w¸g¤£¼Å¨Ï¥Î¡AÄv¬Û¶}µo 64 ¦ì¤¸³B²z¾¹¡C­^¯Sº¸»P´f´¶¤½¥q¦X§@¬ãµo 64 ¦ì¤¸ CPU¡A¦]¬°¶Ç²Îªº IA¡Ð32 ¬[ºc x86 CPU ¬J­n¬Û®e 16 ¦ì¤¸ªº 8086/8088¡A¤S­n¯à©w§} 32 ¦ì¤¸¡A·d±o«D±`½ÆÂø¡C©Ò¥H¥L­Ì¬å±¼ IA¡Ð32 ¬[ºc¡A¶}µo¥þ·sªº IA¡Ð64 ¬[ºc¡C¦è¤¸ 2001 ¦~±À¥X²Ä¤@¥N¦wÄË¡]Itanium¡^¡A²Ý¦~±À¥X²Ä¤G¥N¦wÄË¡]Itanium 2¡^¡C¥¦­Ìªº®Ä²v¨Ã¨S¦³¹w´Áªº¦n¡A°õ¦æ­ì¦³ªº 32 ¦ì¤¸³nÅé¡A®Ä²v§ó®t¡C

¶W·L«h¬O±Ä¥Î»P­^¯Sº¸§¹¥þ¤£¦Pªºµ¦²¤¡A¦b­ì¦³ªº IA¡Ð32 °ò¦¤W¥[¥HÂX¥R¡C³o®M¬[ºcºÙ¬° AMD64¡AAMD64 §â­ì¥ý¤K­Ó³q¥Î¼È¦s¾¹ÂX¥R¦¨ 64 ¦ì¤¸¡A¥t¥~¦A·s¼W¤K­Ó 64 ¦ì¤¸ªº³q¥Î¼È¦s¾¹¡]R8¡ãR15¡^¡A¨Ã¥B±N SSE2 ³]¬° AMD64 ªº¼Ð·Ç°t³Æ¡A¦P®É¤]·s¼W¤K­Ó 128 ¦ì¤¸ªº XMM ¼È¦s¾¹¡]XMM8¡ãXMM15¡^¡C¦è¤¸ 2003 ¦~¡A¶W·L¥¿¦¡±À¥X·f¸ü AMD64 ¬[ºcªº Opteron¡]¦øªA¾¹¡^©M Athlon 64¡]®à¾÷¡^³B²z¾¹¡C¨Æ¹êÃÒ©ú¡A¶W·Lªº AMD64 ¬[ºc¬J¯à°õ¦æ¥þ·sªº 64 ¦ì¤¸µ{¦¡¡A¤S¯à¦Ê¤À¤§¦Ê§¹¬ü¡BµL·l³t²v¦a°õ¦æÂªº 32 ¦ì¤¸µ{¦¡¡C­^¯Sº¸¤j·§¸U¸U¨S·Q¨ì¡A®·Á®½¸ªº¶À³¶«á­±¡A³º¦³°¦¦ÑÆNªêµøÏàÏà¡A±N¥¦§]¤F¡C

­±¹ï§L±Ñ¦p¤s­Ëªº§½¶Õ¡A­^¯Sº¸²×©ó¦b 2004 ¦~«Å¥¬©ñ±ó¦b®ø¶O¯Å¥«³õ±À¼s IA¡Ð64¡AÂà¦Ó¦V¶W·LÁʶR AMD64 ±ÂÅv¡A¨ÃÀ³¥Î¦b¦Û®aªº³B²z¾¹¤W¡AºÙ¨ä¬° Intel 64 ©Î EM64T¡]AMD64¡BIntel 64¡BEM64T ¥iµø¬°¬Û¦P¬[ºc¡^¡C³o¬O¤@¦¸¾ú¥v©Êªº¨¤¦â¤¬´«¡G¨­¬°¦Ñ¤jªº­^¯Sº¸¡A¤£±o¤£¿í´`¦Ñ¤G¶W·L©Ò¨î©wªº¼Ð·Ç¡C¦Û¦¹¡AAMD64 ¦¨¬°¤F¥þ²y­Ó¤H¹q¸£»P¦øªA¾¹¦b x64 CPU ªºµ´¹ï¼Ð·Ç¡C

¦è¤¸ 2005¡ã2008 ³o´X¦~¡A­^¯Sº¸¥ý«áµoªí¤F SSE3¡BSSE4/4.1/4.2¡A¦ý¥¦­Ì¨Ã¨S¦³§ïÅÜ SSE2 ªº¬[ºc¡A¦Ó¬O·s¼W¤F³\¦h«ü¥O¡A³o¨Ç·s¼Wªº«ü¥O¦h¼Æ¥Î©ó¯S©wªº¥Î³~¡A¨Ò¦pµø°T½s½X¡]H.264¡^¡B¼v¹³³B²z¡B¦r¦ê³B²z»P·j´M¡BCRC32 ­pºâ«ü¥Oµ¥¡C¤U¦¸«ü¥O¶°µo¥Í­«¤jÅÜ­²¡A¬Oµo AVX ªº®É­Ô¡C

AVX¡BAVX2 »P AVX¡Ð512 «ü¥O¶°

¤£¹L¥i§O¥H¬°­^¯Sº¸»P¶W·L¬O¤£¦@À¹¤Ñªº¥@¤³¡A¦b§Q¯q­±«e¡A¥L­ÌÁÙ¬O¥i¥H©ñ¤U¤§«eªº®¦«è¦@¦P¦X§@¡C¦è¤¸ 2011 ¦~¡A­^¯Sº¸»P¶W·L¦U¦Û±À¥X Sandy Bridge ¨t¦C³B²z¾¹»P Bulldozer ¨t¦C³B²z¾¹¤¤¡A³£·f¸ü¤F¥L­Ì¦@¦P¬ãµoªº AVX «ü¥O¶°¡CAVX ¬O advanced vector extensions ªºÁY¼g¡A¥i¥H½Ķ¦¨¶i¶¥¦V¶qÂX¥R«ü¥O¶°¡A­«­nªºÅܤƦ³¨â¶µ¡G①§â­ì¦³ªº XMM ¼È¦s¾¹ÂX¤j¦¨ 256 ¦ì¤¸¡A·sªº¼È¦s¾¹¦WºÙ¬° YMM0¡ãYMM15¡A¦Ó¥¦­Ìªº§C¥b³¡¡A¤]´N¬O²Ä 0¡ã127 ¦ì¤¸¨ä¹ê´N¬O XMM0¡ãXMM15¡C②·s¥[ªº«ü¥O¥i¥H¶i¦æ¤T­Ó¹Bºâ¤¸ªº¹Bºâ¡A¨Ò¦p¥H«e¥[ªk¹Bºâ®É¡AÁ`¬O·|¯}Ãa¥Øªº¹Bºâ¤¸ªº­ì­È¡A¦ý¦³¤F¤T­Ó¹Bºâ¤¸¤§«á­ì­È¥i¥H«O¯d¡A¹ï©ó³Ì¨Î¤Æ¦³«Ü¤jªº»t¯q¡C

¦è¤¸ 2013 ¦~¡A­^¯Sº¸±À¥X Haswell ·L¬[ºcªº³B²z¾¹¤W¡A­º¦¸¨Ï¥Î AVX2 «ü¥O¶°¡C¦pªG»¡ AVX ¬O¡u¬[ºc­²·s¡v¡A¨º AVX2 ´N¬O¡u¸É»ô¹ê¥Î©Ê¡v¡CAVX ÁöµM¤w¸g¬O 256 ¦ì¤¸¡A¦ý±j¦b¯BÂI¹Bºâ¡A¾ã¼Æ SIMD ªº¯à¤O¤´µM°±¯d¦b 128 ¦ì¤¸¡C³o¦b¹ê°È¤W¨ä¹ê«Ü¤£¤è«K¡A¦]¬°«Ü¦hÀ³¥Î¡]¹³¼v¹³³B²z¡BÀ£ÁY¡B¥[±K¡^³£¤j¶q¨Ì¿à¾ã¼Æ¹Bºâ¡CAVX2 ªº®Ö¤ß§ï¶i´N¬O§â¾ã¼Æ SIMD §¹¾ãÂX®i¨ì 256 ¦ì¤¸¡C

¦b 2016 ¦~¥ª¥k¡AAVX¡Ð512 ¬OÀHµÛ­^¯Sº¸ªº Xeon Phi ³B²z¾¹±À¥Xªº¡A¥¦ªº¥Ø¼Ð¬O°ª®Ä¯à¹Bºâ¡]HPC¡^»P¸ê®Æ¤¤¤ß¡A¨Ã¤£¬O¬°¤F·f°t­Ó¤H¹q¸£ªº¡CAVX¡Ð512 ªº¼È¦s¾¹ÂX¤j¨ì 512 ¦ì¤¸¡AºÙ¬° ZMM0¡ãZMM31¡A¦@ 32 ­Ó¡C¨ä¤¤ ZMM0¡ãZMM15 ªº§C¥b³¡¬O YMM0¡ãYMM15¡A¦Ó ZMM0¡ãZMM15 ªº²Ä 0¡ã127 ¦ì¤¸¬O XMM0¡ãXMM15¡CAVX¡Ð512 ÁÙ¤Þ¤J¾B¸n¼È¦s¾¹¡]mask registers¡^¡A¥Î©ó±ø¥ó¹Bºâ¡CÁ`¤§¡AAVX¡Ð512 ¤£¥u¬O¡u§ó±jªº¾ã¼Æ©Î¯BÂI¶i¦æ³æ«ü¥O¦h¸ê®Æ¹Bºâ¡v¡A¦Ó¬O§ó±µªñ¡u¦V¶q³B²z¾¹¡v¥B¥Î©ó¦øªA¾¹¤Wªº³B²z¾¹¡C


¥¼§¹«ÝÄò

¼g§¹³o»ò¦h³B²z¯BÂI¼Æªº«ü¥O¶°¤§«á¡A¤U¤@³¹±N¤¶²Ð´X­Ó¯à°÷³B²z¯BÂI¼Æªº SSE/SSE2 «ü¥O¡B¨ç¦¡¡C¦b¶}©l¤§«e¦³´XÂI¨Æ¶µ»¡©ú¡G

  1. MMX¡B3DNow! ³£¤w¹L®É¡A°£«D»P SSE/SSE2 ¦³Ãö¡A§_«h¥H«á³£¤£·|¦A´£¡C
  2. ¦¹«á´£¨ìªº SSE ³£¥Nªí SSE/SSE2/SSE3/SSE4¡C
  3. ¦¹«á´£¨ì XMM ¼È¦s¾¹¡A³£¬O«ü XMM0¡ãXMM15¡C
  4. ³q¥Î¼È¦s¾¹¡]general-purpose registers¡^¬O«ü RAX¡BRBX¡BRCX¡BRDX¡BRBP¡BRSP¡BRSI¡BRDI¡BR8¡ãR15¡C

³o¤@³¹¤¶²Ð¤Fªí¥Ü¯BÂI¼Æªº¼Ð·Ç¡AIEEE 754¡A¤]¤¶²Ð¦b¹q¸£°O¾ÐÅ餤¦p¦óÀx¦sªí¥Ü¡C¤U¤@³¹±N¦A±µ¦A¼F¡A§Q¥Î²{¦¨ªº C »y¨¥¨ç¦¡®w¿é¤J¯BÂI¼Æ¡A­pºâ¨ä¥­¤è®Ú¡A¦A¦L¥X¨Ó¡C