-- ·|­û / µù¥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¤ÀÃþ

¨Ï¥ÎRaspberry Pi¾Ç²ß­pºâ¾÷Åé¨tµ²ºc

( ²Åé ¦r)
§@ªÌ¡G[¬ü] Eben Upton¡AJeff Duntemann¡ARalph Roberts¡ATim Mamtora¡ABen Everard µÛ ±iÀsªN ·¨ª´ ®]ÀÜ ¤_«G ĶÃþ§O¡G1. -> ¹q¸£²Õ´»PÅé¨tµ²ºc -> ³æ´¹¤ù -> Raspberry Pi
ĶªÌ¡G
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀ¨Ï¥ÎRaspberry Pi¾Ç²ß­pºâ¾÷Åé¨tµ²ºc 3dWoo®Ñ¸¹¡G 48156
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 400 ¤¸

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

ĶªÌ§Ç¡G

«e¨¥¡G

«e¨¥


³q·§©À¡X¡X³q¥Î¥i½sµ{­pºâ¾÷¡X¡X­º¦¸¥X²{¡C

²Ä¤G¦¸¥@¬É¤j¾ÔÃzµo¦Z¡A¹ÏÆFÄ~Äò¦b¦ì¤_¥¬µÜ¤Á§Q¶é(Bletchley Park) ¶}®iªº·ù­x¥N½X
¯}¸Ñ¤u§@¤¤µo´§¤F®Ö¤ß§@¥Î¡C¦b³o­Ó¹Lµ{¤¤¡A¹ÏÆF(§@¬°¹Î¶¤¤@­û¡X¡X§O¬Û«H¦b¹q¼v¤¤¬Ý
¨ìªº)¨÷¤J¨ì¤j¶q±M¥Îµw¥óªº¬ãµo¤u§@¤¤¡A¥]¬A¾÷¹q¬µ¼u¾÷¡A³o»O¾÷¾¹¥[³t¤F¯}¸Ñ¼w°ê®¦
¥§®æ½X±K½Xªº¦Û°Ê¤Æ¶iµ{¡C³o¨Ç³]³Æ³£¨S¦³¨Ï¥Î¹ÏÆFªì©l¹êÅç·Qªk¤¤ªº¡§¦³­­ª¬ºA¾÷¥[µL
­­¯È±a¡¨³oºØ¨ãÅé¬[ºc¡A¦ý»P¹ê»Ú°õ¦æ¬Û¤ñ¡A«o§ó¾A¤_¼Æ¾Ç¤ÀªR¡C¤£¹L¡A§Y¨Ï¬O¯Âºéªº¹q
¤l¥¨¤HColossus¡X¡X¦p¦P¬µ¼u¾÷³B²z®¦¥§®æ½X¤@¼Ë³B²zÁc´_¤¾Âøªº¬¥­Û¯÷¬y±K½X¡X¡X¤]¨S
¦³Ä²¤Î³q¥Îµ{§Ç³]­pªºÃä¬É¡CºÉºÞ¦p¦¹¡A¹ï¤_³o¤@¥N²z½×¤uµ{®v¦Ó¨¥¡A·í¥L­Ìªð¦^¨ì¥­¥Á
¥Í¬¡¥H¦Z¡A¨Ï¥Î¯uªÅºÞ¬ãµo¥Î¤_¥N½X¯}¸Ñ¡B¹p¹F©M¤õ¬¶¥H¤Î¹ê²{¼Æ¦rÅÞ¿è¹q¸ôªº¤j³W¼Ò¹q
¤l¨t²Îªº¸g¾ú¡A¨Ï±o¥L­Ì·¥¨ã­²·s¯à¤O¡C

¦b²ö¨½´µ¡P«Âº¸§J´µ(Maurice Wilkes) ªº±a»â¤U¡A¦ì¤_¼C¾ô¤j¾Ç¼Æ¾Ç¹êÅç«Çªº¤@­Ó¤uµ{
®v¤p²ÕµÛ¤â·f«Ø¤F¹q¤l©µ¿ð¦sÀx¦Û°Ê­pºâ¾÷(Electronic Delay Storage Automatic Computer¡A
EDSAC) ¡C1949 ¦~§ë¤J¹B¦æ®É¡A®ÉÄÁÀW²v¹F¨ì500KHz ¡A³q¹L¨â­Ó·Å«×±±¨î¤ô½c¤¤ªº32 ±ø
¤ô¦L©µ¿ð½u¡Aºc¦¨¤F¤@­Ó®e¶q¬°2KBªº©ö¥¢©Ê¦sÀx¾¹¡Cµ{§Ç©M¥N½X¥i¥H³q¹L¯È±aŪ¼g¡C
¬ü°ê©M­^°êªº«Ü¦h¾÷ºc³£¥i¥H¯U¹i¦a«ÅºÙ¦Û¤v­º¦¸¬ãµo¥X³q¥Î¼Æ¦r­pºâ¾÷¡A¶È¶È¬O¼Ðº]
¡§­º¦¸¡¨¡C¹ï¤_EDSAC¡A¤½¶}ªºÁn©ú«ü¥X¡A¥¦¬O²Ä¤@»O±NÀ³¥ÎÂX®i¨ì¬ãµo¹Î¶¤¤§¥~ªº­p
ºâ¾÷¡C¨ä¥L¾Ç¬ìªº¾ÇªÌ¥i¥H¥Ó½Ð®É¶¡¦b³o»O¾÷¾¹¤W¹B¦æ¥L­Ì¦Û¤vªºµ{§Ç¡A¦}¥Ñ¦¹¤Þ¤J¤F¥H
­pºâ¬°ªA°Èªº·§©À¡CEDSAC¤§¦Z¬ãµo¤FEDSAC II¡AµM¦Z¬O®õ©Z(Titan) ¡Cª½¨ì20¥@¬ö60¦~
¥N¡A¼C¾ô¤j¾Ç¤~°±¤î±q©³¼h¥Xµo·f«Ø¦Û¤vªº­pºâ¾÷¡A¦}¶}©l±q°Ó·~¶T©ö°Ó¨º¨½ÁʶR¡C³o¶µ
¹ê»ÚÁ|±¹ª½±µ¼vÅT¨ì¥Ø«e­pºâ¾÷³¡ªùªº¦WºÙ¡G¼C¾ô¤j¾Ç¨S¦³­pºâ¾÷¬ì¾Ç¨t¡A¤j¾Ç¨½¦³¤@­Ó
­pºâ¾÷¹êÅç«Ç¡X¡X«Âº¸§J´µ¦­´Á¼Æ¾Ç¹êÅç«Çªº©µÄò¡C

¹ï¤_­pºâ¾÷¤uµ{¹ê½îÀ³¥Îªº±Mª`¡A¨Ï±o¼C¾ô¤j¾Ç¦¨¬°¥¥¨|·s§Þ³Nªº¨U¤g¡C«Ü¦h·s§Þ³N
¦b­pºâ¾÷¹êÅç«Ç¡B¤uµ{¨t©ÎªÌ¤£¦Pªº¼Æ¾Ç©M¬ì¾Ç¨t(§Y¨Ï¬O§Ú­Ìªº¼Æ¾Ç®a¤]À´±o¦p¦ó¶i¦æ
µ{§Ç³]­p)¤¤³Q´£¥X¨Ó¡A¥Ñ¦¹§l¤Þ¤F¤j¶q¸ó°ê¤½¥q¨ì¦¹´M§ä¤uµ{§Þ³N¤H¤~¡C³ò¶¼C¾ô¤j¾Ç
¦¨ªø°_¨Óªº¤½¥qºô(¦³®É³Q«a¥H¼C¾ô²£·~¶°¸s¡B¼C¾ô²{¶H©ÎֺĦµ¥¤£¦PªººÙ¿×)¥Nªí¤F¬ü°ê
Öº¨¦¤§¥~ªº¤Ö¶q¯u¥¿ªº§Þ³N¶°¸s¤§¤@¡C¨º»O§i¶D§ÚÀ³·í¦¨¬°¤@¦Wªä¤ù³]­p®vªºBBC·L«¬­p
ºâ¾÷´N¬O¼C¾ô¥Í²£ªº¡A¥]¬A¨äªø´ÁªºÄvª§¹ï¤â¡X¡X¨¯§JµÜÀWÃСC§Aªº¤â¾÷(¥H¤ÎRaspberry
Pi)´N¥]§t´X­Ó¥Ñ¥ß¨¬¤_¼C¾ôªºARMªä¤ù¤½¥q³]­pªº³B²z¾¹¡CEDSAC°Ý¥@70¦~¤§¦Z¡A¦b­^
°ê¼C¾ô¨ÌµM¬O°ª¬ì§Þªº®a¶é¡C

¨¥Âk¥¿¶Ç

¦b§Ú»~¥´»~¼²©Ò±µ¨üªº­pºâ¾÷±Ð¨|¤¤¡A³Ì¤jªº¯Ê¥¢¬O¹ï­pºâ¾÷¤u§@¹Lµ{ªº¨t²Î»{ÃÑ¡C
¦b±qBASIC ¶}©l²`¤J¨ì¶×½s»y¨¥®É¡A§Ú³Q¶×½s¼h­±ªº©â¶H¡§§x¦í¡¨¤F¡C§Ú¥i¥H±±¨îAmiga
­pºâ¾÷ªºµw¥ó±H¦s¾¹¦b«Ì¹õ¤W²¾°Ê¤pºëÆF¡A¦ý¹ï¤_¦p¦ó·f«Ø¤@»O¦Û¤vªº­pºâ¾÷«h¤@ÀYÃú
¤ô¡C¦b§Úªá¶O¤F¥t¤@­Ó¤Q¦~ªº®É¶¡¡B¨ú±o¤F´X­Ó¾Ç¦ì¡BÂ÷¶}¾Ç³N¬É¦}¨ì³Õ³q¤½¥q(¤@®a¦b


¼C¾ô±Ò°Ê¦}¦b¦¹´M¨D¤uµ{§Þ³N¤H¤~ªº¬ü°ê¥b¾ÉÅ餽¥q)¤u§@¤§¦Z¡A§Ú¤~·d²M·¡³o­Ó°ÝÃD¡C
¦b³o¨½¡A§Úªº¦W¤ù¤W¦LµÛ¡§·L¹q¤lªä¤ù³]­p®v¡¨(¹ê»Ú¤W¬O§óº}«GªººÙ¿×¡A¡§±M¥Î¶°¦¨¹q
¸ô¬[ºc®v¡¨)ªº¦r¼Ë¡C¦b¦¹´Á¶¡¡A§Ú¾Ö¦³¨}¦nªº±ø¥ó»P¤j¶q¸Ó»â°ìªº¼_¼ôªº±q·~ªÌ¤@°_¤u
§@¦}¦V¥L­Ì¾Ç²ß¡A¥]¬A¯Áµá «Âº¸»¹(Sophie Wilson)
¡X
­ì©lARM³B²z¾¹©MBBC·L«¬­pºâ
¾÷(©MSteve Furber¤@°_)ªº³]­p®v¡AÁÙ¦³³Õ³q3D¹Ï§Îµw¥ó¤uµ{¹Î¶¤ªºTim Mamtora¡A¥L´£¨Ñ
¤F¥»®Ñ¹Ï§Î³B²z³æ¤¸(GPU)³¹¸`ªº¤º®e¡C

«Ü¤jµ{«×¤WÁ¿¡A¼¶¼g¥»®Ñªº¥Øªº¦b¤_ÄÄ­z¡§¥¦¬O¦p¦ó¤u§@ªº¡¨³o­Ó¸ÜÃD¡A¥¿¦p§Ú18·³
®É´Á±æªº¨º¼Ë¡C§Ú­Ì¹Á¸ÕÂл\©Ò¦³²{¥N­pºâ¾÷¨t²Îªº¥D­n³¡¤À¡A±qCPU¨ì©ö¥¢©ÊÀH¾÷³X°Ý
¦sÀx¾¹¡Bí©w¦sÀx¾¹¡Bºôµ¸¤Î±µ¤f¡A¥H¤@ºØ¤¤¾Ç¾Ç¥Í©Î¤@¦~¯Å¤j¾Ç¥Í¼Ö¤_¾\Ūªº¤è¦¡§e²{
¥X¨Ó¡C¨Ì¦«¹ï·í«e§Þ³Nµo®i¤ô¥­ªº°Q½×¡A§Ú­Ì¹Á¸Õ´£¨Ñ¤@ÂI¾ú¥v©Êª¾ÃÑ¡Cµ´¤j¦h¼Æ°Q½×ªº
¸ÜÃD(ºÉºÞ¤£¬O¥þ³¡¡A¯S§O¬O¦b§Þ³N²Ó¸`¤è­±)³£»P1949¦~ºûº¸§J´µªºEDSAC¤uµ{¹Î¶¤¦³Ãö
¨t¡C¾\Ū§¹¥»®Ñ¦Z¡A§A¦Ü¤Ö·|¹ï­pºâ¾÷ªº°ò¥»¤u§@­ì²z¦³©Ò¤F¸Ñ¡C§Ú°í«H§A±Nµo²{¥[±j³o
¤è­±²z¸Ñªº»ù­È¡A§Y¨Ï§Aªº¥Ø¼Ð¾·~¬O³n¥ó¤uµ{®v¦}¥B±q¥¼¥´ºâ³]­p¤@»O¦Û¤vªº­pºâ¾÷¡C
¦pªG¤£¤F¸Ñcacheªº§@¥Î¡A·í¤u§@²Õªº¤j¤p¶W¥Xcache©ÎªÌ¤À°tªº½w¨R°Ï¯ÓºÉ¤FcacheªºÃöÁp
©Ê®É¡Aµ{§Ç©Ê¯àªº«æ³t¤U­°·|¥O§A«ÜÅå³Y¡C¦pªG¹ïºôµ¸ªº¤u§@¹Lµ{¤@µL©Òª¾¡A´N«ÜÃø¬°¼Æ
¾Ú¤¤¤ßºc«Ø¤@­Ó°ª®Äºôµ¸¡C

Ãö¤_­þ¨Ç¤è­±¥»®Ñ¤£·|¯A¤Î¡A¦³¥²­nªáÂI®É¶¡ÄÄ­z¤@¤U¡C¹ï¤_¥ô¦ó¯A¤Îªº¸ÜÃD¡A¥»
®Ñ³£¤£¬O¤@¥»ºî¦X©Ê§Þ³N°Ñ¦Ò®Ñ¡CÃö¤_cache³]­p¡BCPU¬y¤ô½u¡B½sĶ¾¹©Mºôµ¸°ï´Ì¡A
¥i¥H½s¼g(¦³¤H¤w¸g¼g¹L)¾ã¨÷¹Ï®Ñ¡C¬Û¤Ï¡A¹ï¤_¨C­Ó¸ÜÃD¡A§Ú­Ì¹Á¸Õ´£¨Ñ¤@ºØ¤Jªù¦¡ªº
Á¿¸Ñ¡A¦}´£¨Ñ¤@¨Ç²`¤J¾Ç²ßªº«Øij¡C¥»®Ñ¥D­n±Mª`¤_³q¥Î­pºâ¾÷(¥»½è¤WÁ¿¡APC¾÷)ªº¬[
ºc¡C¹ï¤_¥u¹ï¯S®í¥Øªº©MÀ³¥Î»â°ì·P¿³½ìªº¼Æ¦r«H¸¹³B²z(DSP)©M²{³õ¥i½sµ{°}¦C(Field
Programmable Gate Array¡AFPGA)µ¥¸ÜÃD¡A¥u¶i¦æ¤F¦³­­ªºÂл\¡C³Ì¦Z¡A¯A¤Î¤@ÂI©w¶q¨M
µ¦¹Lµ{ªºª¾ÃÑ¡A³o¬O¨}¦nªº­pºâ¾÷¬[ºcªº®Ö¤ß¡G¦p¦ó¦b³X°Ý®É¶¡©Mcache¤j¤p¤§¶¡§é¤¤¡A
©ÎªÌ¨M©w¬O§_¤¹³\¬Y­Ó¤l¨t²Î¤@­P³X°Ý¤@­ÓÄݤ_¨ä¥L³¡¥óªºcache¡H§Ú­ÌµLªk±Ð§A¹³¬[ºc
®v¤@¼Ë«ä¦Ò¡C¹ï¤_°ª¯ÅŪªÌ¡AHennessy©MPattersonªºComputer Architecture: A Quantitative
Approach¬O³o¤è­±¤£¥i©Î¯Êªº°Ñ¦Ò¸ê®Æ¡C

¦±½u¤Wªº©äÂI

­º¥ý´£¥X§K³dÁn©ú¡A¦¹³B§Úº@·N¤À¨É¦h¦~¨ÓÁ`µ²¥Xªº´XÂI¦³¯qªº«ü¾É­ì«h¡C

¦b­pºâ¾÷¬[ºc¤¤¡A¹³«Ü¦h¨Æ±¡¤@¼Ë¡A¦³¤@­Ó¦¬¯q»¼´î³W«ß¡C·íµM¡A¤£½×¬O¥H­ì©lªº
CPU©Ê¯à¡B¼Ð·Ç¤Æ¬°¯à¶q®ø¯ÓªºCPU©Ê¯à¡B¦sÀx±K«×¡B´¹ÅéºÞ¤Ø¤oÁÙ¬O´C¤¶¤Wªººôµ¸±a¼e
ªº§Î¦¡¡A¦b¥ô¦ó®É­Ô¡Aµw¥ó¹ï©Ò§¹¦¨ªºªF¦è¦³¤@­Ó­­¨î¡C¦ý±¡ªp©¹©¹¬O¡A¦b¹F¨ì³o¨Ç²z½×
­­¨î«e¡A¤uµ{À³¥Î¤W´N·|¹J¨ì¦¬¯q»¼´î°ÝÃD¡G¨C¤@¶µ·s¼Wªº§ï¶i³£¨Ó¤§¤£©ö¡A³£·|¤Þ°_¦¨
¥»©M®É¶¡¶}¾Pªº´£¤É¡C¦pªG±N¬ãµo¦¨¥»¡B¨t²Î´_Âø©Ê (®e©ö¨ü¨ìº|¬}§ðÀ») ©Î¬O¬°´£¤É¨t
²Î©Ê¯à¦Óªá¶Oªº¸êª÷ø¦¨¹Ï¡A¦b¬Y­Ó¦ì¸m¦±½u´N·|«æ¼@Ås¦±¤U¨Ó¡C¡§©äÂI¡¨ªº¥ª°¼¡A©Ê¯à


¥H¤@ºØ¥i¹w´ú(¬Æ¦Ü¬Oª½½u¡I)ªº¤è¦¡ÅTÀ³ªá¶O¤ä¥X¡A¦b¥k°¼¡AÀHµÛ§V¤Oªº¼W¥[©Ê¯à¥u¬O½w
ºC´£¤É¡A¦}³vº¥¹Gªñ¥Ñ°ò¦§Þ³N­­¨î±a¨Óªº¡§ùÙ¾À¡¨¡C

¦³®É­Ô§ä¤£¨ì©Ê¯àªº´À¥N«~¡C¨Ò¦pªüªiùµn¤ë­p¹º¡A´N¬O¤uµ{¾Ç¤W¤@­Ó·¥¨ã§l¤Þ¤Oªº
¹ê¨Ò¡Cªüªiùµn¤ë­p¹º¦b¡§©äÂI¡¨¥k°¼¨«¥X¤F¬Û·í»·ªº¶ZÂ÷¡A±q®Ú¥»¤W»~¾É¤F®ÇÆ[ªÌ¹ï¤_
¦t¯è§Þ³N¦¨¼ô«×ªº»{ÃÑ¡Cª½¨ì¤µ¤Ñ¡X¡X¤õ½b§Þ³N¡B¯èªÅ¹q¤l©M§÷®Æ¬ì¾Ç«ùÄòµo®i¤F50¦~¥H
¦Z¡X¡X©äÂI¤w¸g²¾°Ê¤F¨¬°÷»·ªº¶ZÂ÷¡A¤~¤¹³\¥H¦X²zªº¦¨¥»³X°Ý¤ÓªÅ¡A¬Æ¦Ü±q¤ë²yªð¦^¡C
ÁöµM¦p¦¹¡A¨º¨Ç¥HÁ¾¨õªººA«×·Ç½T©w¦ì©äÂI¦ì¸mªº¹Î¶¤¡A¬°¥«³õ±a¨Ó²³æ¡Bí°·¦Ó¤S¬y¦æ
ªº¤uµ{¨t²Î¡AµM¦Z¨³³t§ó·s´«¥N¡A³o¨Ç¹Î¶¤±N³Ì²×¾Ô³Óµn¤ë¤uµ{¡C

¦b¹ï«Ý¬[ºc¤è­±¡A«O¦u©M§ó­¡¤@ª½»Ê°O¤_¤ß¡C¨´¤µ¬°¤î¡A§Ú­Ì¥Í²£ªº¤T¥NRaspberry
Piªä¤ù³£ÄY®æ¦aªö¥Î¬Û¦Pªº¨t²Î°ò¦¬[ºc¡B¦sÀx¾¹±±¨î¾¹©M¦h´CÅé¡A©Ò°µªº§ïÅÜ¥u§½­­¤_
ARM¤º®Öªº´_Âø©Ê¡B¤Ö¶q­P©R¯Ê³´ªº­×´_©M®ÉÄÁÀW²vªº´£¤É¡C³o¨½·|¥X²{¤@¨Ç³Õ«Ù¡A¦]
¬°¤uµ{®v(¥]¬A§Ú¦Û¤v)¬O´I¦³¿E±¡ªº¡A¥L­ÌÁ`§Æ±æ¥´¯}¬É­­¡CÀu¨q¬[ºc®vªº¥ô°È¦b¤_ºë½T
§â´¤ÄAÂЩʧïÅܤ޵oªº­·ÀI¥N»ù¡A¦}»P¹w´Áªº§Q¼í¶i¦æÅv¿Å¡C

ÁÚ¦V°òª÷·|

2008 ¦~¡A§Ú­Ì³Ð«Ø¤FRaspberry Pi °òª÷·|¡Aªì©l¥Ø¼Ð«Ü²³æ¡GÀ³¹ï¥Ó½Ð¼C¾ô¤j¾Ç­pºâ

¾÷¬ì¾Ç±M·~ªº¾Ç¥Í¼Æ¶q³v¨B¤U­°ªº°ÝÃD¡C²{¦b¡A§Ú­Ì¬Ý¨ì¤F¥O¤H¹ª»Rªº´_Ĭ«H¸¹¡A¤£½×¬O

¼C¾ôÁÙ¬O¨ä¥L¾Ç®Õ¡A¥Ó½Ð¼Æ¶q³£¶W¹L¤F20¥@¬ö90¦~¥N¥½ºôµ¸¼ö¼é®É´Áªº®p­È¡C

§Ú­Ì¥Ø¸@ªº¤@­Ó³ÌÅãµÛªºÅܤƥi¯à¬O¡A·s¤@¥N¦~»´¤H¤ñ§Ú­Ì¦b20¥@¬ö80¦~¥N®É¹ïµw
¥óªº¿³½ìÁÙ­n°ª¡C½s¼g¤@­Ó¶×½s»y¨¥·½µ{§Ç¡A¦b«Ì¹õ¤W²¾°Ê¤pºëÆF¤£¦A¹³¥H«e¨º¤\¦³§l¤Þ
¤O¡A¦ý¬O¦b¦aªO¤W²¾°Ê¾÷¾¹¤H«o§ó¥O¤H¿³¾Ä¡C§Ú­Ì¬Ý¨ì12·³ªº«Ä¤lºc«Ø§Ú¦b20¦h·³®É¤~¤Þ
¥H¬°»¨ªº±±¨î©M¶Ç·P¾¹¶µ¥Ø¡C§Úªºº@±æ¬O¡A·í³o¨Ç¦~»´¤H§¤¦b§Ú«Äµ£®É´ÁBBC Microªº·s
¥Í¥N­±«e³W¹ºÂ¾·~¥Í²P®É¡A¦³¤@¨Ç¤H¥i¥H©ú¥Õ¥L­Ì±N¦¨¬°Àu¨qªº·L¹q¤lªä¤ù³]­p®v¡A¥»®Ñ
±NÀ°§U¥L­Ì§¹¦¨³o½ë®È¦æ¡C

¡XEben Upton¡A¼C¾ô¡A2016.05
¤º®e²¤¶¡G

¡m¨Ï¥ÎRaspberry Pi¾Ç²ß­pºâ¾÷Åé¨tµ²ºc¡n¯àÀ°§UŪªÌ
¡½¡@¤F¸ÑRaspberry Pi¨C­Ó³¡¤Àªº³]­p¥Øªº
¡½¡@²z¸Ñ¤£¦P²Õ¥ó¤§¶¡ªº¥æ¤¬¤è¦¡
¡½¡@²`¤J¤F¸Ñ¨t²Î³]­pªº§¹¾ã¹Lµ{
¡½¡@¾Ç²ßµ{§Ç³]­p­ì²z
¡½¡@Æ[¹îµw¥ó©M¾Þ§@¨t²Î¤§¶¡ªº¬Û¤¬§@¥Î
¡½¡@²`¤J¬ã¨sARMªä¤ù­I¦Zªº¾÷¨î
¡½¡@¤ñ¸û©M¹ï·Ó¤£¦Pªºªä¤ù¡A±qARM¨ìIntel
¥Ø¿ý¡G

²Ä1³¹­pºâ¾÷º©½Í1
1.1¤é¯qÄ}±m¯É§eªºRaspberry1
1.2¤ù¤W¨t²Î4
1.3¤@»O¥O¤H¿E°Êªº«H¥Î¥d¯ë¤j¤pªº­pºâ¾÷5
1.4RaspberryPiªº¥\¯à6
1.5RaspberryPiªO7
1.5.1GPIO¤Þ¸}7
1.5.2ª¬ºALED9
1.5.3USB´¡¤f10
1.5.4¥H¤Óºô³s±µ10
1.5.5­µÀW¿é¥X11
1.5.6´_¦XµøÀW12
1.5.7CSIÄá¹³ÀY¼Ò¶ô³s±µ¾¹13
1.5.8HDMI13
1.5.9microUSB¹q·½14
1.5.10¦sÀx¥d14
1.5.11DSIÅã¥Ü³s±µ15
1.5.12¸Ë°t¤Õ15
1.5.13ªä¤ù16
1.6¥¼¨Ó16
²Ä2³¹­pºâ·§­z19
2.1­pºâ¾÷»P²i¶¹20
2.1.1¦õ®Æ»P¼Æ¾Ú20
2.1.2°ò¥»¾Þ§@21
2.2«ö­p¹º°õ¦æªº²°¤l22
2.2.1°õ¦æ©Mª¾¾å22
2.2.2µ{§Ç´N¬O¼Æ¾Ú23
2.2.3¦sÀx¾¹24
2.2.4±H¦s¾¹25
2.2.5¨t²ÎÁ`½u26
2.2.6«ü¥O¶°26
2.3¹q¥­¡B¼Æ¦r¤Î¨äªí¥Ü27
2.3.1¤G¶i¨î¡G¥H1©M0ªí¥Ü27
2.3.2¤â«üªº§½­­©Ê29
2.3.3¼Æ¶q¡B½s¸¹©M029
2.3.4¥Î¤_¤G¶i¨î³t°Oªº¤Q¤»¶i¨î30
2.3.5°õ¦æ¤G¶i¨î©M¤Q¤»¶i¨î¹Bºâ31
2.4¾Þ§@¨t²Î¡G¹õ¦Z¦ÑªO33
2.4.1¾Þ§@¨t²Îªº¥\¯à33
2.4.2¦V¤º®Ö­P·q34
2.4.3¦h®Ö34
²Ä3³¹¹q¤l¦sÀx¾¹35
3.1¦sÀx¾¹¥ý¤_­pºâ¾÷¦Ó¦s¦b35
3.2±ÛÂàºÏ¦sÀx¾¹(RotatingMagneticMemory)36
3.3ºÏªä¦sÀx¾¹37
3.3.1ºÏªä¦sÀx¾¹ªº¤u§@¹Lµ{38
3.3.2¦sÀx¾¹³X°Ý®É¶¡39
3.4ÀRºAÀH¾÷³X°Ý¦sÀx¾¹(SRAM)40
3.5¦a§}½u©M¼Æ¾Ú½u41
3.6¥Ñ¦sÀx¾¹ªä¤ùºc«Ø¦sÀx¾¹¨t²Î42
3.7°ÊºAÀH¾÷³X°Ý¦sÀx¾¹(DRAM)45
3.7.1DRAMªº¤u§@­ì²z45
3.7.2¦P¨BDRAM©M²§¨BDRAM47
3.7.3SDRAM¦C¡B¦æ¡BBank¡BRank©MDIMM49
3.7.4DDR¡BDDR2¡BDDR3©MDDR4SDRAM50
3.7.5ªÈ¿ù½X¦sÀx¾¹53
3.8RaspberryPiªº¦sÀx¾¹¨t²Î54
3.8.1¸`¯à©Ê54
3.8.2²y¬]°}¦C«Ê¸Ë55
3.9½w¦s55
3.9.1³X°Ýªº§½³¡©Ê56
3.9.2½w¦s¼h¯Å56
3.9.3½w¦s¦æ©M½w¦s¬M®g57
3.9.4ª½±µ¬M®g59
3.9.5¬ÛÁp¬M®g61
3.9.6²Õ¬ÛÁp°ª³t½w¦s62
3.9.7¦^¼g½w¦s¨ì¦sÀx¾¹63
3.10µêÀÀ¦sÀx¾¹64
3.10.1µêÀÀ¦sÀx¾¹·§Äý64
3.10.2µêÀÀ¦sÀx¾¹¨ìª«²z¦sÀx¾¹ªº¬M®g65
3.10.3²`¤J¤F¸Ñ¦sÀx¾¹ºÞ²z³æ¤¸66
3.10.4¦h¯Å­¶ªí©MTLB69
3.10.5RaspberryPiªº¥æ´«°ÝÃD70
3.10.6RaspberryPiµêÀÀ¦sÀx¾¹70
²Ä4³¹ARM³B²z¾¹»P¤ù¤W¨t²Î73
4.1«æ³tÁY¤pªºCPU73
4.1.1·L³B²z¾¹74
4.1.2´¹ÅéºÞ¹wºâ75
4.2¼Æ¦rÅÞ¿è°ò¦75
4.2.1ÅÞ¿èªù75
4.2.2IJµo¾¹©M®É§ÇÅÞ¿è76
4.3CPU¤º³¡78
4.3.1¤À¤ä»P¼Ð§Ó79
4.3.2¨t²Î´Ì80
4.3.3¨t²Î®ÉÄÁ©M°õ¦æ®É¶¡82
4.3.4¬y¤ô½u§Þ³N83
4.3.5¬y¤ô½u§Þ³N¸Ô¸Ñ84
4.3.6²`¤J¬y¤ô½u¥H¤Î¬y¤ô½uªý¶ë86
4.3.7ARM11¤¤ªº¬y¤ô½u88
4.3.8¶W¼Ð¶q°õ¦æ89
4.3.9°ò¤_SIMDªº§ó¦h¦}¦æ¾÷¨î90
4.3.10¦r¸`§Ç92
4.4CPU¦A»{ÃÑ¡GCISC»PRISC93
4.4.1RISCªº¾ú¥v95
4.4.2ÂX®iªº±H¦s¾¹¤å¥ó95
4.4.3¥[¸ü/¦sÀx¬[ºc96
4.4.4¥¿¥æªº¾÷¾¹«ü¥O96
4.4.5¿W¥ßªº«ü¥O©M¼Æ¾Ú°ª³t½w¦s97
4.5·½¤_¦ã±dªºARM97
4.5.1·L¬[ºc¡B¤º®Ö¤Î®a±Ú98
4.5.2¥X°â³]­p³\¥i¦Ó«D¦¨«~ªä¤ù98
4.6ARM1199
4.6.1ARM«ü¥O¶°99
4.6.2³B²z¾¹¼Ò¦¡102
4.6.3¼Ò¦¡©M±H¦s¾¹103
4.6.4§Ö³t¤¤Â_107
4.6.5³n¥ó¤¤Â_108
4.6.6¤¤Â_Àu¥ý¯Å108
4.6.7±ø¥ó«ü¥O°õ¦æ109
4.7¨ó³B²z¾¹111
4.7.1ARM¨ó³B²z¾¹±µ¤f112
4.7.2¨t²Î±±¨î¨ó³B²z¾¹113
4.7.3¦V¶q¯BÂI¨ó³B²z¾¹113
4.7.4¥é¯u¨ó³B²z¾¹114
4.8ARMCortex114
4.8.1¦hµo©M¶Ã§Ç°õ¦æ115
4.8.2Thumb2115
4.8.3ThumbEE115
4.8.4big.LITTLE116
4.8.5NEONSIMD¨ó³B²z¾¹116
4.8.6ARMv8©M64¦ì­pºâ117
4.9¤ù¤W¨t²Î118
4.9.1³Õ³qBCM2835SoC118
4.9.2²Ä¤G¥N©M²Ä¤T¥N³Õ³qSoC³]³Æ119
4.9.3VLSIªä¤ù­ì²z119
4.9.4¬yµ{¡B¨îµ{¤uÃÀ©M±»½¤120
4.9.5IP¡G³æ¤¸¡B§»³æ¤¸¡B¤º®Ö120
4.9.6µwIP©M³nIP121
4.9.7¥­­±³W¹º¡B¥¬§½©M¥¬½u121
4.9.8¤ù¤W³q«Hªº¼Ð·Ç¡GAMBA122
²Ä5³¹µ{§Ç³]­p125
5.1µ{§Ç³]­p·§­z125
5.1.1³n¥ó¶}µo¹Lµ{126
5.1.2Âr¥¬¡BÁ³±Û»P±Ó±¶128
5.1.3¤G¶i¨îµ{§Ç³]­p130
5.1.4¶×½s»y¨¥©M§U°O²Å131
5.1.5°ª¯Å»y¨¥132
5.1.6ªá¼ËªxÀݪº¦ZBASIC®É¥N134
5.1.7µ{§Ç³]­p³N»y135
5.2¥»¦a¥N½X½sĶ¾¹ªº¤u§@­ì²z137
5.2.1¹w³B²z138
5.2.2µüªk¤ÀªR138
5.2.3»y¸q¤ÀªR139
5.2.4¥Í¦¨¤¤¶¡¥N½X139
5.2.5Àu¤Æ139
5.2.6¥Í¦¨¥Ø¼Ð¥N½X139
5.2.7C½sĶ¡G¤@­Ó¨ãÅé¥Ü¨Ò140
5.2.8Ãì±µ¥Ø¼Ð¥N½X¤å¥ó¨ì¥i°õ¦æ¤å¥ó145
5.3¯Â¤å¥»¸ÑÄÀµ{§Ç146
5.4¦r¸`½X¸ÑÄÀ»y¨¥148
5.4.1p-code148
5.4.2Java149
5.4.3§Y®É½sĶ(JIT)150
5.4.4Java¤§¥~ªº¦r¸`½X©MJIT½sĶ152
5.4.5Android¡BJava©MDalvik152
5.5¼Æ¾Úºc«Ø¶ô152
5.5.1¼ÐÃѲšBÃöÁä¦r¡B²Å¸¹©M¾Þ§@²Å153
5.5.2¼Æ­È¡B¤å¥»©M©R¦W±`¶q153
5.5.3Åܶq¡Bªí¹F¦¡©M½á­È154
5.5.4Ãþ«¬©MÃþ«¬©w¸q154
5.5.5ÀRºA©M°ÊºAÃþ«¬156
5.5.6¸É½X©MIEEE754157
5.6¥N½Xºc«Ø¶ô159
5.6.1±±¨î»y¥y©M´_¦X»y¥y159
5.6.2if/then/else159
5.6.3switch©Mcase161
5.6.4repeat´`Àô162
5.6.5while´`Àô163
5.6.6for´`Àô164
5.6.7break©Mcontinue»y¥y166
5.6.8¨ç¼Æ166
5.6.9§½³¡©Ê©M§@¥Î°ì168
5.7­±¦V¹ï¶Hµ{§Ç³]­p170
5.7.1«Ê¸Ë172
5.7.2Ä~©Ó174
5.7.3¦hºA176
5.7.4OOP¤pµ²178
5.8GNU½sĶ¾¹¤u¨ã¶°·§Äý178
5.8.1§@¬°½sĶ¾¹©M¥Í¦¨¤u¨ãªºgcc179
5.8.2¨Ï¥ÎLinuxmake181
²Ä6³¹«D©ö¥¢©Ê¦sÀx¾¹185
6.1¥´¤Õ¥d©MºÏ±a186
6.1.1¥´¤Õ¥d186
6.1.2ºÏ±a¼Æ¾Ú¦sÀx¾¹186
6.1.3ºÏ¦sÀx¾¹ªº¾¤©ú188
6.2ºÏ°O¿ý©M½s½X¤è®×189
6.2.1ºÏ³qÅD¾E190
6.2.2««ª½°O¿ý191
6.3ºÏ½L¦sÀx¾¹192
6.3.1¬W­±¡BºÏ­y©M®°°Ï193
6.3.2§C¯Å®æ¦¡¤Æ194
6.3.3±µ¤f©M±±¨î¾¹195
6.3.4³n½LÅX°Ê¾¹197
6.4¤À°Ï©M¤å¥ó¨t²Î198
6.4.1¥D¤À°Ï©MÂX®i¤À°Ï198
6.4.2¤å¥ó¨t²Î©M°ª¯Å®æ¦¡¤Æ199
6.4.3¥¼¨Ó¡GGUID¤À°Ïªí(GPT)200
6.4.4RaspberryPiSD¥dªº¤À°Ï201
6.5¥ú½L202
6.5.1·½¦ÛCDªº®æ¦¡203
6.5.2·½¦ÛDVDªº®æ¦¡204
6.6µêÀÀµw½L205
6.7Flash¦sÀx¾¹206
6.7.1ROM¡BPROM©MEPROM206
6.7.2Flash»PEEPROM207
6.7.3³æ¯Å»P¦h¯Å¦sÀx209
6.7.4NORFlash»PNANDFlash210
6.7.5·l¯Ó¥­¿Å¤ÎFlashÂà´«¼h213
6.7.6¸H¤ù¦^¦¬©MTRIM214
6.7.7SD¥d215
6.7.8eMMC216
6.7.9«D©ö¥¢©Ê¦sÀx¾¹ªº¥¼¨Ó217
²Ä7³¹¦³½u©MµL½u¥H¤Óºô219
7.1ºôµ¸¤¬³sOSI°Ñ¦Ò¼Ò«¬220
7.1.1À³¥Î¼h222
7.1.2ªí¥Ü¼h222
7.1.3·|¸Ü¼h223
7.1.4¶Ç¿é¼h223
7.1.5ºôµ¸¼h224
7.1.6¼Æ¾ÚÃì¸ô¼h226
7.1.7ª«²z¼h226
7.2¥H¤Óºô227
7.2.1²ÊÆl¥H¤Óºô©M²ÓÆl¥H¤Óºô227
7.2.2¥H¤Óºôªº°ò¥»ºc·Q227
7.2.3¨R¬ðÀË´ú©M³WÁ×228
7.2.4¥H¤Óºô½s½X¨t²Î229
7.2.5PAM-5½s½X232
7.2.610BASE-T©MÂùµ±½u233
7.2.7±qÁ`½u©Ý¼³µ²ºc¨ì¬P«¬©Ý¼³µ²ºc234
7.2.8¥æ´«¥H¤Óºô235
7.3¸ô¥Ñ¾¹©M¤¬Ápºô237
7.3.1¦WºÙ»P¦a§}237
7.3.2IP¦a§}©MTCPºÝ¤f238
7.3.3¥»¦aIP¦a§}©MDHCP240
7.3.4ºôµ¸¦a§}Âà´«242
7.4Wi-Fi243
7.4.1¼Ð·Ç¤¤ªº¼Ð·Ç244
7.4.2­±¹ï²{¹ê¥@¬É245
7.4.3¥¿¦b¨Ï¥ÎªºWi-Fi³]³Æ248
7.4.4°ò¦³]¬Iºôµ¸»PAdHocºôµ¸249
7.4.5Wi-Fi¤À¥¬¦¡¤¶½è³X°Ý250
7.4.6¸üªiºÊÅ¥©MÁôÂõ²ÂI°ÝÃD251
7.4.7¤À¤ù253
7.4.8½Õ´T¡B½Õ¬Û©MQAM253
7.4.9ÂXÀW§Þ³N256
7.4.10Wi-Fi½Õ¨î©M½s½X²Ó¸`256
7.4.11Wi-Fi³s±µªº¹ê²{­ì²z259
7.4.12Wi-Fi¦w¥þ©Ê260
7.4.13RaspberryPi¤WªºWi-Fi261
7.4.14§ó¦hªººôµ¸263
²Ä8³¹
¾Þ§@¨t²Î265
8.1¾Þ§@¨t²Î²¤¶266
8.1.1¾Þ§@¨t²Îªº¾ú¥v267
8.1.2¾Þ§@¨t²Î°ò¦270
8.2¤º®Ö¡G¾Þ§@¨t²Îªº®Ö¤ß¥D¾ÉªÌ274
8.2.1¾Þ§@¨t²Î±±¨î276
8.2.2¼Ò¦¡276
8.2.3¦sÀx¾¹ºÞ²z277
8.2.4µêÀÀ¦sÀx¾¹278
8.2.5¦h¥ô°È³B²z278
8.2.6ºÏ½L³X°Ý©M¤å¥ó¨t²Î279
8.2.7³]³ÆÅX°Êµ{§Ç279
8.3¾Þ§@¨t²Îªº¨Ï¯à¾¹©M§U¤â279
8.3.1³ê¿ô¾Þ§@¨t²Î280
8.3.2©T¥ó283
8.4RaspberryPi¤Wªº¾Þ§@¨t²Î283
8.4.1NOOBS284
8.4.2²Ä¤T¤è¾Þ§@¨t²Î285
8.4.3¨ä¥L¥i¥Îªº¾Þ§@¨t²Î285
²Ä9³¹µøÀW½s¸Ñ½X¾¹©MµøÀWÀ£ÁY287
9.1²Ä¤@­ÓµøÀW½s¸Ñ½X¾¹288
9.1.1§Q¥Î²´·ú288
9.1.2§Q¥Î¼Æ¾Ú290
9.1.3²z¸ÑÀW²vÅÜ´«293
9.1.4¨Ï¥ÎµL·l½s½X§Þ³N297
9.2®É²¾¥@©ö298
9.2.1MPEGªº³Ì·s¼Ð·Ç299
9.2.2H.265302
9.3¹B°Ê·j¯Á302
9.3.1µøÀW½è¶q304
9.3.2³B²z¯à¤O305
²Ä10³¹3D¹Ï§Î307
10.13D¹Ï§Î²¥v307
10.1.1¹Ï§Î¥Î¤á¬É­±(GraphicalUserInterface¡AGUI)308
10.1.2µøÀW´åÀ¸¤¤ªº3D¹Ï§Î310
10.1.3­Ó¤H­pºâ©MÅã¥d311
10.1.4¨â­ÓÄvª§¼Ð·Ç312
10.2OpenGL¹Ï§ÎºÞ½u314
10.2.1´X¦ó³W­S©MÄÝ©Ê315
10.2.2´X¦óÅÜ´«317
10.2.3¥ú·Ó©M§÷½è320
10.2.4¹Ï¤¸²Õ¸Ë©M¥ú¬]¤Æ322
10.2.5¹³¯À³B²z(¤ù¬qµÛ¦â)324
10.2.6¯¾²z326
10.3²{¥N¹Ï§Îµw¥ó328
10.3.1¥Ë¤ù´è¬V329
10.3.2´X¦ó©Úµ´330
10.3.3µÛ¦â332
10.3.4½w¦s333
10.3.5RaspberryPiGPU334
10.4OpenVG336
10.5³q¥ÎGPU338
10.5.1²§ºcÅé¨tµ²ºc338
10.5.2OpenCL339
²Ä11³¹­µÀW341
11.1²{¦b¯àÅ¥¨ì§ÚªºÁn­µ¶Ü¡H341
11.1.1MIDI342
11.1.2Án¥d342
11.2¼ÒÀÀ»P¼Æ¦r343
11.3Án­µ©M«H¸¹³B²z344
11.3.1½s¿è344
11.3.2À£ÁY345
11.3.3¨Ï¥Î¯S®Ä¿ý¨î345
11.3.4½s½X©M¸Ñ½X³q«H«H®§346
11.41¦ìDAC347
11.5I2S349
11.6RaspberryPiÁn­µ¿é¤J/¿é¥X350
11.6.1­µÀW¿é¥X´¡¤Õ350
11.6.2HDMI350
11.7RaspberryPiªºÁn­µ351
11.7.1RaspberryPiªO¸üÁn­µ351
11.7.2³B²zRaspberryPiªºÁn­µ351
²Ä12³¹¿é¤J/¿é¥X359
12.1¿é¤J/¿é¥X²¤¶359
12.2I/O¨Ï¯à¾¹362
12.2.1³q¥Î¦ê¦æÁ`½u363
12.2.2USB¦³·½¶°½u¾¹365
12.2.3¥H¤Óºô367
12.2.4³q¥Î²§¨B¦¬µo¾¹368
12.2.5¤p«¬­pºâ¾÷¨t²Î±µ¤f368
12.2.6PATA369
12.2.7SATA369
12.2.8RS-232¦ê¤f370
12.2.9HDMI370
12.2.10I2S371
12.2.11I2C371
12.2.12RaspberryPiÅã¥Ü¾¹¡BÄá¹³ÀY±µ¤f©MJTAG372
12.3RaspberryPiGPIO373
12.3.1GPIO·§­z¥H¤Î³Õ³qSoC373
12.3.2±µÄ²GPIO374
12.3.3¥i½sµ{GPIO380
12.3.4¥i¿ï¼Ò¦¡385
12.3.5GPIO¹êÅ窺²³æ¤èªk385
§Ç¡G