PCToday Vol.10 Issue 131
-
Upload
kittipon-moonpinij -
Category
Documents
-
view
223 -
download
0
description
Transcript of PCToday Vol.10 Issue 131
ดร. ครรชิต มาลัยวงศ
ประทีป ยงเขต
อ�าพล สงวนศิริธรรม
จิระ หองส�าเริง
คมสัน เหลาศิลปเจริญ
วิโรจน อัศวรังสี
บัณฑิต คุปพิทยานันท
กิตติพงศ ตันสุวรรณ
กิตติพล มูลพินิจ [email protected]
ชัยรัตน คุมโภคา
จิระเดช โชติชวง
จริาภรณ กติตจินัทรขจร [email protected]
ศิริพรรณ ตันตินีรนาท [email protected]
วิลัยพร มงคลแพทย [email protected]
พันธทิพย กชจรัสศรี [email protected]
เยาวมาลย เจรญิผล [email protected]
ธิดา เลิศสุรพิบูล [email protected]
เพ็ญบุญ โทร. 0-2615-8625
บริษัท พีพี เพลท แอนด ฟลม จ�ากัด
โทร. 0-2274-7988-91
โรงพิมพ พิมพดี โทร. 0-2401-9401
ยอดขายอันดับ 1
สำารวจโดย ซีเอ็ดบุกเซ็นเตอร ขอมูลอัพเดตสุด วัดจาก “ยอดขายจริง” ไมใช “โพลส”
บริษัท ดิแอสไพเรอรสกรุป จ�ำกัด
431/6 อาคาร สาธร เพล ส ชั้น 2 ถนนกรุงธนบุรี
แขวงคลอง ตนไทร เขต คลองสาน กรุง เทพ ฯ 10600
โทรศัพท 0-2440-0330 โทรสาร 0-2440-0338
กำรสงบทควำมมำลงตีพิมพในนิตยสำร
นติยสาร PC Today ยินดพีจิารณาบทความจากบุคคล ภายนอก โดย กรุณาสงมาทีก่องบรรณาธกิาร นติยสาร PC Today ตาม ทีอ่ยูของ บริษัทขางตน ส�าหรับตนฉบับที่ส งมา ขอใหอยู ในรูปแบบของเท็กซไฟลหรือจะเปนไมโครซอฟทเวิรดก็ได พรอมภาพ ประกอบขอเขยีนเหลานัน้ โดยทางบรษิทัจะพจิารณาคาเรือ่งเพือ่ตอบแทนตามมาตรฐานบริษัทฯ ตอไป อนึ่ง เนื่องจากบริษัทฯ ไมรับบทความที่เปนการละเมิดลิขสิทธิ์ของผูใด ดังนั้น ขอเขียนดงักลาวตองไมเปนการละเมดิลขิสทิธิผ์ูอืน่ผูใด และหากเปนการรวบรวม และเรียบเรียงข้ึนใหมจากตนฉบับอนัมีลขิสทิธิจ์ากแหลงไหน โปรดระบุที่มาโดยละเอียด และสงส�าเนาแนบมาดวยหมายเหตุ : ทรรศนะและขอคิดที่ปรากฏอยูในบทความตางๆ ของนิตยสาร PC Today เปนความคิดเห็นสวนตัวของผูเขียน แตละทาน ไมจ�าเปนตองเปนความคิดเห็นของบริษัทฯ เสมอไป และขอเขียนที่นักเขียนภายนอกสงมา หากมิไดปฏิิบัติตาม ขอก�าหนดขางตน และมีการละเมดิลขิสทิธิเ์กดิขึน้ ทางบรษิทัฯจะไมขอรับผดิชอบแตประการใด
สอบถำมขอสงสัยในเรื่องบทควำม
ในกรณีที่ตองการถามปญหาทางเทคโนโลยี เรื่องเทคนิคใน การใชงานโปรแกรมตางๆ และเร่ืองบทความ เนื่องจากทาง บริษัทฯ ไมสะดวกที่จะใหบุคคลภายนอกติดตอกองบก. และ นกัเขียนนอกโดยตรงตลอดเวลา ดงันัน้ กรุณาสงจดหมาย ค�าถาม ติดตอมาไดที่กองบรรณาธิการ นิตยสาร PC Today ตามที่อยู
กำรสมัครสมำชิกและกำรเปลี่ยนที่อยู
กรุณาหาแบบฟอร มสมัครสมาชิกและอ านรายละเอียดไดในทายเลม ส�าหรบัผูสงสยัเพิม่เตมิกรณุาโทรศพัทสอบถามได ที่ฝายสมาชิก โทร. 0-2439-7644 ตอ 212, 224, 777
กำรขออนุญำตและพิมพซ�้ำ
บทความที่ตีพิมพในนิตยสาร PC Today สงวนสิทธิ์ตาม พระราชบัญญัติลิขสิทธิ์ พ.ศ. 2537 กรณีที่ตองการน�าสวนหนึ่ง สวนใดของนิตยสารไปใชโปรดติดตอไดที่ บรรณาธิการบริหาร นติยสาร PC Today ตามทีอ่ยู หรืออเีมล และเบอรโทรศพัทขางตน
กำรแจงขำวผลิตภัณฑใหม และบริกำรอื่นๆ
บริษัทใดที่ตองการประชาสัมพันธผลิตภัณฑของตน ใหสงรายละเอียดพรอมรูปถายผลิตภัณฑมาไดที่กองบรรณาธิการ นิตยสาร PC Today อนึ่ง ทางกองบรรณาธิการขอสงวนสิทธิ์ในการพิจารณาเลือกตีพิมพให ตามเหมาะสม
กำรรับรูควำมเปนเจำของลิขสิทธิ์
และเครื่องหมำยกำรคำ
เนื่องจากนิตยสาร PC Today ไมสามารถประกาศความเปน เจาของลิขสิทธิ์และเครื่องหมายการคาที่มีอยูมากใหครบถ วน สมบูรณ อีกทั้งความนิยมในลิขสิทธิ์ และเครื่องหมายการคา ดังกลาวมักเปลี่ยนแปลงตลอดเวลา ดังนั้น ทางกองบรรณาธิการจะประกาศ ความเปนเจาของลิขสิทธิ์เฉพาะที่มีการกลาวถึงในบทความ ประกอบลงในบทความนั้นๆ เลย และถาสิทธิ์ ดังกลาวเปนที่รับรูกันโดยทั่วไปแลว ทางนิตยสารขอสงวนสิทธิ์ ทีจ่ะไมกลาวซ�า้ ทัง้นีเ้พือ่ประโยชนในการเขยีนบทความใหกระชบันาอาน
www .pc t oda y t h a i l a nd . c om
f a c e b oo k . c om / p c t o d a y
tw i t t e r . c om / p c t o d a y
p c t o d a y@a sp i r e r s . c om
STAFFที่ปรึกษากิตติมศักดิ์ :
ที่ปรึกษานิตยสาร :
บรรณาธิการผู้พิมพผู้โฆษณา :
Editorial Staff
บรรณาธิการบริหาร :
บรรณาธิการเทคนิค :
หัวหน้ากองบรรณาธิการ :
ผู้สื่อข่าวอาวุโส :
บรรณาธิการฝ่ายศิลป์ :
Sales Staff
Senior Account Executive :
Back Office
ฝ่ายจัดจ�าหน่าย :
สมาชิกสัมพันธ์ :
จัดจ�าหน่ายโดย :
ร้านแยกสี :
พิมพ์ที่ :
Vol. 10 | ISSUE 131 | 2014
CONTENTS
16
26
8
Smart Story 26
รีวิว Steam OS ก่อนใคร!
พร้อมวิธีติดตั้งแบบละเอียด คุณก็ทำ�ได้
School 3.0 8
แอพเรียนรู้ ด้วยตัวก�ร์ตูน
Smart Action 38
•ตัดต่อไฟล์ไฮเดฟด้วยฟรีแวร์
SolveigMM AVI Trimmer + MKV
• แค่คลิกเดียว...สภ�พพีซีดีเยี่ยม 360
Amigo System Speedup Free
•จดโน้ตขั้นเทพ ด้วยโปรแกรม
Evernote
•ปกปิดตัวตน...คนนิรน�มบนโลก
ออนไลน์ ด้วย TunnelBear
• JotForm สร้�งฟอร์มออนไลน์
ง่�ยกว่�ที่คิด
•Genie Timeline Free 2014
แบ็กอัพให้สุดซอย
•WinToFlash ติดตั้งวินโดวส์อย่�ง
รวดเร็ว ด้วยแฟลชไดรฟ์
Quick Start 13
รู้จักกับ Intel Identity Protection Technology
ช่วยให้ซื้อของออนไลน์ ปลอดภัยม�กขึ้นจริงหรือ?
Mac Mania 22
แนะนำ�เครื่องมือเล็กๆ เพื่อชีวิตที่ดีขึ้นบนแมค (ต่อ)
Geek Programming 16
เทคนิคก�รเขียนโปรแกรมให้ทำ�ง�นเร็วขึ้น 3-4 เท่�
ด้วย Branch Predictor
Photo Lover 102
วิเคร�ะห์ภ�พตัดต่อ ทำ�กันอย่�งไร
Social World 36
Boo สุนัขเซเลบ มีแฟนเพจ 9 ล้�นคน!
22
1346
SP13039NG TRIM_168x238 15/01/57
CONTENTS
120
59
106
109
Smart Software 77
สุดยอด 5 โปรแกรม แต่งภ�พเลียนแบบ
สีของฟิล์ม
DIY 73
ประกอบเครื่องพีซี แบบ IP-PBX
ตอนที่ 1 : รู้จักกับ IP-PBX
Tech Inside 120
•รีวิว APU Kaveri เมื่อ AMD ทล�ย
กำ�แพงกั้น CPU/GPU ด้วย HAS
•รีวิว Zbox Nano ID69 Plus มินิพีซี
สอดไส้ Core i7 Haswell
• 10 ฟีเจอร์ทัชเจ๋งๆ กับ 10 แอพทัช
แจ๋วๆ ของ Windoes 8.1
Win 7 Hot Tip 85
เทคนิคเพิ่มตัวเลือกเปิดปิดก�รอัพเดต
ของวินโดวส์
Inside Windows 8 91
ตรวจสุขภ�พพีซี ด้วยเครื่องมือของ
Windows 8
Try Before Buy 109
•AOC Breeze G7DC
•Kingston HyperX Predator 8GB
•OCZ Vector 150 128GB
•Plextor M5pro Xtreme
•Razer Naga Molten
•Razer Sabertooth
•Dell S2240T
•Kingston Mobile Lite Wireless
•NZXT Phantom 530
•OCZ Fatal 1 ty 750W
•Silicon Power Superior SDXC 64GB
Street Product 98
PR News 143
73
102
Vol. 10 | ISSUE 131 | 2014
62
36
98
w w w . p c t o d a y t h a i l a n d . c o m 7
EDITOR TALK
ใครชอบอ่าน
อีบุ๊กยกมือขึ้น
โดย กิตติพล มูลพินิจ
EDITOR TALK
เมื่อก่อนถ้าใครมาถามผมว่า ให้เลือกอ่าน
หนังสือแบบกระดาษ กับแบบอีบุ๊ก ผมจะเลือก
อ่านอะไร ผมคงตอบไปแบบไม่ต้องคิดว่า
ก็ต้องเลือกหนังสือกระดาษอยู่แล้ว แถมยัง
ส�าทับไปอีกด้วยว่า ยังไงๆ อีบุ๊กก็ไม่สามารถ
แทนที่หนังสือกระดาษได้ ไม่ว่าจะเทียบกันทาง
ด้านความรู้สึก กลิ่นหมึกพิมพ์ ความสบายตา
การจับถือที่ดูเป็นมิตร ฯลฯ และเหตุผลอื่นๆ
จิปาถะ ที่ท�าให้ผมยังคงควักตังค์ซื้อหนังสือเป็น
เล่มๆ จนกองพะเนินล้นตู้หนังสือที่บ้านจนถึง
ทุกวันนี้ แต่นั่นคือเรื่องเมื่อ 2 ปีก่อนครับ
ปัจจุบันนี้ผมต้องยอมรับว่า ผมชอบอ่าน
อีบุ๊กมากกว่า! เหตุผลง่ายๆ ก็คือ ผมสามารถ
พกพาหนังสือเป็นสิบๆ เล่มไปไหนต่อไหนได้
โดยไม่ต้องกังวลเรื่องน�้าหนักแบกหาม ที่ส�าคัญ
กว่านั้น ผมสามารถซื้อหนังสือใหม่ๆ ได้โดยไม่
ต้องเดินทางไปยังแผงหนังสือ (แต่ผมก็ยังชอบ
บรรยากาศของร้านหนังสืออยู่นะ) เพราะร้าน
หนังสือมันติดตามผมไปได้ทุกที่ ความสะดวก
ที่ได้รับทั้งหมดนี้ ท�าให้ผมปันใจจากหนังสือ
กระดาษไปเป็นอีบุ๊กได้อย่างง่ายดาย
และในฐานะคนท�าหนงัสอื อนาคต PCToday
คงจะต้องเปลี่ยนไปในลักษณะของอีบุ๊กแบบ
เต็มตัวอย่างหลีกเลี่ยงไม่ได้ นั่นหมายถึงฉบับ
กระดาษคุณผู้อ่านคงจะหาซื้อยากขึ้นนิดหน่อย
แต่ถ้าใครติดตามแอพบุ๊กสโตร์ต่างๆ อยู่แล้ว
ก็แค่รอแจ้งเตือน PCToday เล่มใหม่โผล่ขึ้นมา
ที่หน้าจอของคุณเท่านั้นเอง
แล้วคุณผู้อ่านล่ะครับ คิดเห็นอย่างไร
ถ้า PCToday จะกลายเป็นอีบุ๊กเต็มตัว
แลกเปลี่ยนความเห็นกันที่แฟนเพจของเราได้
ครับ ที่ facebook.com/pctoday หรือ
อีเมล์ [email protected]
8 PC Today VOL. 10 ISSUE 131
โดย @eka_x
SCHOOL 3.0
หลังจากเราเริ่มคอลัมน์ School 3.0 มาได้
หลายฉบับแล้ว สิ่งหนึ่งที่ยังติดค้างในใจผมอยู่
คือท�าไมถึงยังไม่เจอแอพการเรียนการสอนของ
คนไทยที่น่าแนะน�าเลยนะ ซึ่งผมก็พยายามดู
ตามแหล่งต่างๆ หาแอพจากคนไทยมาตลอด
แต่ก็ไม่ได้สักทีนะครับ จนวันนี้ความต้องการ
ของผมก็เป็นจริงเมื่อเจอแอพจากคนไทยดีๆ
แล้ว! ถึงจะหาเจอมาแค่ตัวเดียวแต่ก็ต้องรีบ
แนะน�าให้รู้จักกัน พร้อมพาแอพสอนการแพทย์
ง่ายๆ ด้วยตัวการ์ตูนน่ารักส�าหรับเด็กมาแนะน�า
ให้รู้จักกันอีกตัวหนึ่ง มาลองดูแอพทั้งคู่กัน
เลยครับ
แอพเรียนรู้
ด้วยตัวการ์ตูน
SCHOOL 3.0
w w w . p c t o d a y t h a i l a n d . c o m 9
ก็ได้ (ถ้าล็อกอินเฟซบุ๊กไว้ในแอพนะครับ
เป็นเฟซบุ๊กของพ่อแม่ก็ได้ จะไปเทียบ Global
Score กับผู้ใช้เก่งไทยทั้งหมด) แล้วสะสมดาว
สะสมเหรียญที่ได้เพื่อเปิดทางสู่ด่านใหม่ๆ และ
สะสมค่าประสบการณ์เพื่อเพิ่มเลเวล ท�าให้เล่น
ในส่วนอื่นๆ ของแอพได้มากขึ้นครับ
นอกจากนี้ยังมีเกมเล็กๆ ส�าหรับฝึกทักษะ
อีก 8 เกมคือ
• เกมเรียงตัวอักษร ผู้เล่นต้องลากตัวอักษร
ลงช่องให้ถูกล�าดับ โดยมีเวลาจ�ากัดเพียง 30
วินาทีเท่านั้น ซึ่งถ้าเรียงผิดก็จะถูกลดเวลาด้วย
• เกมจับคู่เสียงอักษร ผู้เล่นต้องกดฟังเสียง
แล้วลากตัวอักษรไปวางให้ถูกตัว
• เกมเติมพยัญชนะ แอพจะให้รูปวาดค�าใบ้
ของพยัญชนะตัวนั้นๆ มาให้ผู้เล่นลากตัวอักษร
ลงไปเติมให้ถูก
• เกมทายตัวอักษร แอพจะแสดงภาพขึ้น
มา ให้ผู้เล่นกดตัวอักษรที่แทนภาพนั้นให้ถูกต้อง
อย่างเร็วที่สุด (ราวกับเกม 3 วินาทีในแฟนพันธ์
แท้)
• เกมโยงเส้นจับคู่พยัญชนะ ผู้เล่นต้องจับคู่
รูปภาพกับพยัญชนะให้ถูก จึงสามารถลากเส้น
ไปได้
ที่ผ่านมาผมแทบไม่เคยแนะน�าแอพ
การเรียนการสอนของไทยให้รู้จักกันเลยนะครับ
เพราะแอพส่วนใหญ่ที่เห็นยังไม่เข้าตาเท่าไหร่
(ก็ถ้าใครรู้จักแอพไทยดีๆ แนะน�าเข้ามาได้
นะครับ จะได้ช่วยกันโปรโมทให้รู้จักกันกว้างๆ)
แต่ “เก่งไทย” เป็นแอพสอนภาษาไทยที่คุณภาพ
โอเคเลย ก็เลยได้โอกาสแนะน�าให้รู้จักกันสักที
เก่งไทยเป็นแอพที่สอนเด็กๆ ให้รู้จัก
ตัวอักษรไทยทั้ง 44 ตัว โดยใช้ภาพการ์ตูน
ประกอบให้จ�าตัวอักษรง่าย พร้อมเสียงค�า
อ่านไทยประกอบพยัญชนะทุกตัว นอกจากนี้ยัง
แนะน�าวิธีเขียนตัวอักษรทุกตัวอย่างถูกต้องและ
ให้เด็กๆ ได้ฝึกเขียนลงบนหน้าจอแท็บเล็ตเลย
ยิ่งเขียนได้ตรงเส้นมากเท่าไหร่ก็จะได้คะแนน
เยอะเท่านั้น เอาไปเทียบกับเพื่อนๆ ในเฟซบุ๊ก
Keng Thai HD
ราคา: 2.99 เหรียญ
เหมาะกับ: เด็กอายุ 4 ขวบขึ้นไป
ฝึกทักษะ: รู้จักพยัญชนะไทยทั้ง 44 ตัว
ทั้งรูปร่าง การออกเสียง วิธีเขียน ฝึกความจ�า
10 PC Today VOL. 10 ISSUE 131
SCHOOL 3.0
• เกมเติมสระวรรณยุกต์ ที่เล่นโดยลากเอา
สระที่ถูกต้องไปวางลงในค�า
• เกมเปิดป้ายฝึกความจ�า ผู้เล่นต้องจ�าว่า
ตัวอักษรและภาพอะไรอยู่ป้ายไหน เพื่อเปิดออก
มาจับคู่กันให้ได้
• เกมฝึกเขียนค�า ที่ให้ผู้เล่นได้เขียนตัวอักษร
ทีละตัวจนประกอบเป็นค�าได้
ซึ่งเกมทั้งหมดนี้จะต้องใช้ดาว 1 ดวงที่ได้รับ
จากบทเรียนตัวอักษรเพื่อเปิดเล่น หรือสามารถ
ใช้ดาว 30 ดวงและเหรียญอีกจ�านวนหนึ่ง
เพื่อปลดล็อกให้เล่นได้ตลอดไป ก็เลือกรูปแบบ
ได้ตามสะดวกครับ
ด้วยรูปแบบการเล่นและภาพประกอบ
ที่สวยงาม ท�าให้เก่งไทยเป็นแอพการเรียน
การสอนที่น่าใช้นะครับ แต่ก็ยังไม่เหมาะส�าหรับ
การฝึกคัดไทย เพราะยังไงเรื่องนี้ก็ควรใช้ดินสอ
เขียนลงบนกระดาษมากกว่าการใช้นิ้วลากไป
บนจอ แต่เก่งไทยเหมาะส�าหรับการเรียนรู้
ภาษาไทย ให้รู้จักตัวอักษรและค�าต่างๆ ด้วย
ภาพและเสียงที่ประกอบการเรียนรู้ ก็ท�าให้ผู้เล่น
จ�าตัวอักษรต่างๆ ได้ไม่ยากเย็นอะไร นอกจาก
นี้ยังเหมาะส�าหรับชาวต่างชาติที่ต้องการเรียนรู้
ภาษาไทยด้วย เพราะตัวแอพนั้นมีภาษาอังกฤษ
บรรยายและสามารถเปลี่ยนเมนูเป็นภาษา
อังกฤษได้
SCHOOL 3.0
w w w . p c t o d a y t h a i l a n d . c o m 11
Pepi Doctor
ราคา: 1.99 เหรียญ
เหมาะกับ: เด็กอายุ 4 ขวบขึ้นไป
ฝึกทักษะ: ความรู้ด้านการแพทย์เบื้องต้น,
ความเข้าใจอาการของโรคต่างๆ,
ความรู้รอบตัว
เรื่องสุขภาพกับเด็กๆ นี่จะว่าอธิบายยาก
มันก็ใช่นะครับ เวลาที่เด็กมาถามว่าท�าไมถึง
ปวดฟัน ท�าไมถึงเป็นไข้นี่คงต้องอธิบายกัน
เหนื่อยเหมือนกัน แต่วันนี้เรามีแอพที่จะช่วย
น�าเสนอเรื่องราวเหล่านี้ให้เข้าใจง่ายๆ ด้วย
ตัวการ์ตูนน่ารักๆ ครับ
Pepi Doctor เป็นแอพสอนเรื่องสุขภาพ
ส�าหรับเด็กๆ ผ่านตัวละคร 3 ตัวคือ Amber
สาวน้อยผมบรอนด์น่ารัก, Eva สาวผิวเข้ม
ผมหยักและ Milo หนุ่มน้อยจอมซน โดยจะยก
อาการป่วยมา 5 อาการ คือกระดูกหัก ฟันผุ
เป็นไข้ เป็นแผล หูสกปรก ให้ผู้เล่นได้สวม
บทบาทเป็นหมอ ได้เรียนรู้ขั้นตอนการรักษา
คร่าวๆ ว่าต้องท�าอย่างไร แล้วต้องใช้เครื่องมือ
แพทย์อะไรบ้าง เช่น ฟันผ ุกต้็องแปรงฟันเหลอืงๆ
ออกให้เห็นเนื้อฟันผุก่อน แล้วจึงกรอฟันและ
ถอนในซี่ที่จ�าเป็น ก็จะมีการเสริมจินตนาการลง
ไปบ้างให้เด็กสนุก เช่นต้องดึงแมงกินฟันให้หมด
ก่อนที่จะเริ่มขัดฟันได้ หรือถ้ากระดูกหัก ก็ต้อง
x-ray แล้วเรียงกระดูกที่หักให้เป็นรูปเป็นร่างเดิม
ก่อน จากนั้นจึงค่อยสวมเผือกเข้าไปครับ
12 PC Today VOL. 10 ISSUE 131
SCHOOL 3.0
นอกจากภาพประกอบที่สวยงาม เข้าใจง่าย
แล้ว ตัวการ์ตูนยังมีปฏิกิริยาที่แตกต่างกันไป
เมื่อท�าผิดขั้นตอน หรือใช้เครื่องมือในจุดที่
ไม่ควรครับ ท�าให้ผู้เล่นเข้าใจได้ทันทีว่าก�าลัง
ท�าผิดพลาด และค่อยๆ ท�าความเข้าใจว่า
ต้องท�าอะไรจึงจะผ่านฉากไปได้ครับ
แถมเพลงประกอบยังเพราะใช้ได้อีกด้วย
ถึง Pepi Doctor จะเป็นแอพที่ดี
เด็กๆ สามารถเล่นได้โดยไม่ต้องเข้าใจภาษา
อังกฤษ แต่ยังไงก็ควรมีผู้ปกครองให้ค�าแนะน�า
นะครับ เด็กเห็นเรื่องที่ท�าในแอพง่ายๆ แล้ว
ผู้ปกครองไม่ได้อธิบายเพิ่มเติม ก็อาจจะเข้าใจ
ผิดเรื่องการรักษาไปได้
QUICK START
w w w . p c t o d a y t h a i l a n d . c o m 13
โดย กองบรรณาธิการ
QUICK START
เราต่างก็รู้ดี
ว่าการท�าธุรกรรม
ออนไลน์คืออนาคต
การจับจ่ายซื้อของ
ผ่านอินเทอร์เน็ต
ให้ทั้งความสะดวก
สบาย และประหยัดเวลาไปได้มาก แต่ความ
กังวลในเรื่องของความปลอดภัยก็ยังคงเป็น
หัวข้อใหญ่ ที่ท�าให้หลายคนไม่กล้าใช้บริการ
ทางการเงินผ่านเน็ต และก็ต้องยอมรับว่าระบบ
ความปลอดภัยของเว็บไซต์บางแห่งก็ไม่ได้
รัดกุมเพียงพอ การที่อินเทลพัฒนาเทคโนโลยี
Intel Identity Protection Technology
รู้จักกับ
Intel Identity
Protection Technology
ช่วยให้ซื้อของออนไลน์ ปลอดภัยมากขึ้นจริงหรือ?
(Intel IPT) ขึ้นมาก็เพื่อให้การท�าธุรกรรม
ผ่านเน็ตมีความสะดวกและปลอดภัยมากขึ้น
แต่มันท�าได้อย่างไร? แล้วไว้ใจได้จริงหรือ?
ลองอ่านบทความนี้ดูครับ
Intel Identity Protection Technology หรือ
เรียกสั้นๆ ว่า Intel IPT ได้ถูกน�ามาใช้ครั้งแรก
เมื่อปี 2011 โดยเป็นเทคโนโลยีระดับฮาร์ดแวร์
ที่มาพร้อม Intel Core-i 2nd generation
หลังจากนั้น IPT ได้ถูกพัฒนามาอย่างต่อเนื่อง
จนกระทั่งปัจจุบันในยุคของ Intel Core-i 4th
generation นี้ เรียกได้ว่า IPT แทบจะมีความ
ปลอดภัยในการท�างาน 100% ส�าหรับ IPT นี้
14 PC Today VOL. 10 ISSUE 131
QUICK START
เป็นฟีเจอร์ที่มาพร้อมกับซีพียู ซึ่งสามารถใช้ได้
กับเครื่องทุกรูปแบบที่ใช้ซีพียูอินเทล ไม่ว่าจะ
เป็นโน้ตบุ๊ก พีซี แท็บเล็ต และแน่นอนรวมถึง
Notebook 2 in 1 ด้วย
แนวคิดในการท�างาน
แนวคิดในการท�างานของ IPT คร่าวๆ
ก็คือว่า IPT จะเก็บข้อมูลส่วนตัวที่ส�าคัญๆ
อย่าง ชื่อ นามสกุล เลขประจ�าตัว ข้อมูล
บัตรเครดิต ยูสเซอร์เนมและรหัสผ่าน ฯลฯ
ต่างๆ เอาไว้ในหน่วยเก็บข้อมูลในซีพียู
(ไม่ใช่ในฮาร์ดดิสก์ และไม่ขึ้นกับระบบ
ปฏิบัติการ) เมื่อต้องมีการป้อนข้อมูลต่างๆ
เหล่านี้ ผู้ใช้จะต้องยืนยันตัวตนให้ถูกต้องผ่าน
ทางระบบป้องกัน 2 ชั้น ชั้นแรกคือ ชื่อยูสเซอร์
และรหัสผ่าน ส่วนชั้นที่สองคือ OTP หรือ
One Time Password เป็นตัวเลข 6 หลัก
ซึ่งจะสุ่มส่งมาให้โดยตรงจากตัวซีพียูเอง
นี่คือแนวคิดเริ่มแรกของ IPT ซึ่งกลายมา
เป็นวิธีการที่หลายๆ บริการธุรกรรมบนโลก
ออนไลน์นิยมใช้กันในปัจจุบัน ที่เห็นบ่อยๆ
ก็อย่างเช่น ระบบออนไลน์ของแบงค์ อย่างไรก็
ดี ไม่มีระบบใดๆ ปลอดภัยร้อยเปอร์เซ็นต์ ดังนั้น
IPT ที่มาพร้อมกับ Intel Core-i 4th generation
จึงถูกพัฒนาให้มีความปลอดภัยมากขึ้นไปอีก
เรียกว่าป้องกันแบบรอบด้านมากขึ้น ดังนี้
Intel IPT with PKI
PKI ย่อมาจาก Public Key Infrastructure
เป็นอีกวิธีหนึ่งในการใช้ปกป้องการรับส่งข้อมูล
ระหว่างเครื่องของผู้ใช้และเว็บที่ให้บริการบน
อินเทอร์เน็ต โดยทั้ง 2 ฝั่งจะต้องยืนยันคีย์เข้า
รหัสให้ตรงกัน จึงจะสามารถติดต่อสื่อสารและ
ให้บริการกันได้ และเช่นเดียวกับ OPT เลขรหัส
PKI จะถูกฝังไว้ในตัวซีพียู ซึ่งยากต่อการแฮ็ก
Intel IPT with Protected
Transaction Display
การป้อนรหัส OTP หรือ PKI นั้นจะกระท�า
บนหน้าจอเป็นหลัก ผ่านเวอร์ชวลคีย์บอร์ด
ซึ่งหลีกเลี่ยงการดักจับปุ่มกดได้ระดับหนึ่ง
แต่ก็ยังเสี่ยงที่จะถูกแฮ็กผ่านการดักจับหน้าจอ
(screen logging) ถึงแม้จะมีโอกาสเป็นไปได้
น้อย แต่เพื่อความปลอดภัยสูงสุด IPT
ยังป้องกันในส่วนนี้ ด้วยการเข้ารหัสทุกข้อมูล
รวมถึงซ่อนหน้าจอที่ใช้เข้ารหัสไม่ให้แฮ็กเกอร์
มองเห็นได้อีกด้วย
QUICK START
w w w . p c t o d a y t h a i l a n d . c o m 15
Intel IPT with NFC
สุดท้ายก็คือ การน�าเอาเทคโนโลยีไร้สาย
ระยะใกล้ NFC (Near Field Communication)
มาประยุกต์ใช้ร่วมกันในการปกป้องข้อมูล
วิธีนี้จะว่าไปแล้วสะดวกที่สุด แต่ต้องได้รับความ
ร่วมมือกับผู้ให้บริการอื่นๆ ด้วย อย่างล่าสุดก็
คือ MasterCard ร่วมกับอินเทล ออกเทคโนโลยี
MasterPass เพื่อให้การท�าธุรกรรมออนไลน์
สะดวกและปลอดภัยมากขึ้น กล่าวคือ บัตร
MasterCard ที่มี MasterPass จะมีชิป NFC
ฝังอยู่ในบัตร เมื่อต้องการจับจ่ายใช้สอยผ่าน
เน็ต ก็เพียงแค่น�าบัตรไปแตะกับ Notebook 2
in 1 ที่มี NFC รับข้อมูล แน่นอนว่าไม่ใช่ใคร
ก็เอาบัตรไปแตะซื้อของได้เหมือนบัตร
เซเว่นการ์ด แต่จะต้องมีการใส่รหัสผ่านที่เราได้
ตั้งไว้ก่อนหน้านี้ร่วมด้วย
จะเห็นว่าด้วยเทคโนโลยี Intel IPT ที่ฝังมา
กับซีพียู Core-i 3rd gen และ 4th gen นั้น
ช่วยสร้างความปลอดภัยให้ดีขึ้น มั่นใจมากขึ้น
และไม่ใช่แค่การท�าธุรกรรม ซื้อของ จ่ายบิล
ผ่านแบงค์ออนไลน์เท่านั้น Intel IPT ยังสามารถ
ปรับใช้เข้ากับการส่งข้อมูลออนไลน์อื่นๆ ที่มี
ความส�าคัญ และไม่อยากให้มือที่สามรู้ เช่น
อีเมล์ เป็นต้น จะว่าไปแล้วการมีเทคโนโลยีต่างๆ
เหล่านี้ ก็เป็นเรื่องส�าคัญพอๆ กับการมุ่งพัฒนา
ประสิทธิภาพของเครื่อง โดยเฉพาะ
แนวโน้มที่ทุกคนเริ่มหันมาใช้งานอุปกรณ์
พกพา และ Notebook 2 in 1 กันมากขึ้นเรื่อยๆ
การค�านึงถึงความปลอดภัยในเรื่องของ
การท�าธุรกรรมออนไลน์จึงเป็นสิ่งที่ไม่ควร
มองข้ามครับ
16 PC Today VOL. 10 ISSUE 131
โดย วศิน สุทธิฉายา
Geek Programming
ขั้นตอนวิธีส�ำหรับกำรเรียงข้อมูลก็มีมำกมำย
หลำกหลำย และมีประสิทธิภำพแตกต่ำงกัน
ปัญหำหลำยอย่ำงสำมำรถแก้ไขได้ง่ำยขึ้น
เม่ือเรำเรยีงล�ำดบัข้อมลูเสยีก่อน แต่คณุผูอ่้ำน
เชื่อหรือไม่ว่ำปัญหำบำงอย่ำงที่ไม่จ�ำเป็น
ต้องเรียงข้อมูลก่อน แต่ถ้ำเรำเรียงข้อมูลให้
เป็นระเบียบจะช่วยให้ท�ำงำนได้เร็วขึ้นด้วย!!
ตัวอย่ำงเช่นโปรแกรมต่อไปนี้
เทคนิคการเขียนโปรแกรม
ให้ทำ�ง�นเร็วขึ้น 3-4 เท่�
ด้วย Branch Predictor
“สวัสดีครับ คุณผู้อ่านที่เคย
เขียนโปรแกรมมากอ่นคงต้องเคย
ผ่านการเขียนโปรแกรมสำาหรับ
เรียงข้อมูลในตัวแปรแถวลำาดับ
มาบ้าง ซึ่งเราเรียกขั้นตอนวิธี
ดังกล่าวว่า Sorting algorithm
นั่นเอง
“
w w w . p c t o d a y t h a i l a n d . c o m 17
Geek Programming
Instruction Pipeline
กระบวนกำรพื้นฐำนของหน่วยประมวลผลที่
ใช้แปลชุดค�ำสั่ง (Instruction) ให้เป็นกำรท�ำงำน
ประกอบด้วย 5 ขั้นตอนคือ
1. อ่ำนชุดค�ำสั่ง (Instruction Fetch
แทนด้วย IF)
2. ตีควำมชุดค�ำสั่ง (Instruction Decode
แทนด้วย ID)
3. ประมวลผล (Execute แทนด้วย EX)
4. ติดต่อกับหน่วยควำมจ�ำ (Memory
แทนด้วย MEM)
5. เขียนข้อมูลกลับ (Write back
แทนด้วย WB)
Pipeline คือเทคนิคในกำรออกแบบหน่วย
ประมวลผล เพื่อให้หน่วยประมวลผลสำมำรถ
ท�ำงำนได้มำกขึ้น หรือก็คือเพิ่มจ�ำนวนค�ำสั่งที่
หน่วยประมวลผลสำมำรถท�ำงำนได้ในหนึ่ง
หน่วยเวลำ Pipeline นั้นไม่ได้ลดเวลำกำร
ท�ำงำนในแต่ละค�ำสัง่ แต่ท�ำให้หน่วยประมวลผล
ท�ำงำนทีละหลำยค�ำสั่งพร้อมกัน โดย
Pipeline จะไม่รอให้ค�ำสั่งก่อนหน้ำท�ำงำนให้
เสร็จเรียบร้อย แต่จะดึงค�ำสั่งต่อไปมำท�ำงำน
ต่อจำกค�ำสั่งก่อนหน้ำทันที กำรท�ำงำนของ
Pipeline เทียบกับกำรท�ำงำนแบบธรรมดำแสดง
ดังรูปต่อไปนี้
รูปที่ 1 ก�รทำ�ง�นแบบไม่มี Pipeline
รูปที่ 2 ก�รทำ�ง�นแบบมี Pipeline
ตัวอย่�งโค้ดโปรแกรมห�ผลรวม
โปรแกรมดังกล่ำวเป็นโปรแกรมเพื่อหำ
ผลรวมของข้อมูลที่อยู่ในตัวแปรแถวล�ำดับ
เฉพำะตัวที่มีค่ำมำกกว่ำหรือเท่ำกับ 16384
จะเห็นว่ำเรำไม่จ�ำเป็นต้องเรียงข้อมูลก็ได้
เรำแค่ตรวจสอบไปทีละตัวแล้วค่อยบวกไป
เรื่อยๆ แต่เชื่อหรือไม่ครับว่ำกำรเรียงข้อมูลก่อน
จะท�ำให้โปรแกรมนี้ท�ำงำนเร็วขึ้นอย่ำงน้อย
3-4 เท่ำ!! และอำจท�ำงำนได้เร็วมำกกว่ำนี้
ขึ้นกับสถำปัตยกรรมของหน่วยประมวลผล
และตัวแปลภำษำที่ใช้งำนอยู่
คนที่มีควำมรู้เกี่ยวกับสถำปัตยกรรมของ
หน่วยประมวลผลคงเร่ิมบอกว่ำหน่วยประมวลผล
เก็บข้อมูลลงแคชเอำไว้ก่อนจึงท�ำงำนได้เร็วขึ้น
นั่นก็มีส่วนครับ แต่จริงๆ แล้วส่วนที่ช่วยให้
กำรท�ำงำนของโปรแกรมนี้เร็วมำกขึ้นเกิดจำก
Branch predictor นั่นเอง แต่ก่อนเรำจะไปดูว่ำ
Branch predictor คืออะไร แล้วมันช่วยให้กำร
ท�ำงำนเร็วขึ้นได้อย่ำงไร เรำต้องท�ำควำมรู้จักกับ
Pipeline กันก่อนครับ
18 PC Today VOL. 10 ISSUE 131
Geek Programming
รูปที่ 1 แสดงกำรท�ำงำนแบบไม่มี Pipeline
จะเห็นว่ำหน่วยประมวลผลสำมำรถท�ำงำนได้
2 ค�ำสั่งเมื่อผ่ำนไป 10 Clock cycles ในขณะที่
กำรท�ำงำนแบบที่ใช้ Pipeline ซึ่งแสดงในรูปที่ 2
พบว่ำจ�ำนวนค�ำสั่งที่หน่วยประมวลผลสำมำรถ
ท�ำได้เพิ่มเป็น 6 ค�ำสั่งเมื่อผ่ำนไป 10 Clock
cycles
Branch Predictor
ถึงแม้ Pipeline จะช่วยเพิ่มควำมเร็วในกำร
ท�ำงำนให้กับหน่วยประมวลผล แต่ Pipeline
ยังสร้ำงปัญหำใหม่ขึ้นมำเช่นกัน หนึ่งในปัญหำ
โลกแตกที่หน่วยประมวลผลแบบ Pipeline
ต้องประสบคือปัญหำ Branch Hazard
(อีกปัญหำคือ Data Hazard แต่เรำจะไม่พูด
ถึงกันในตอนนี้ครับ)
Branch Hazard จะเกดิเมือ่หน่วยประมวลผล
ต้องท�ำงำนกบัค�ำสัง่ทำงแยก (Branch Instruction)
ซึ่งมักเป็นกำรตรวจสอบค่ำในหน่วยควำมจ�ำว่ำ
ตรงตำมเงื่อนไขหรือไม่ ถ้ำไม่ตรงตำมเงื่อนไข
ให้ท�ำงำนค�ำสั่งถัดไป แต่ถ้ำตรงตำมเงื่อนไข
ให้ข้ำมไปท�ำค�ำสั่งอื่น ตัวอย่ำงของ Branch
Instruction ที่คุ้นเคยกัน เช่น JE (Jump if
equal), JZ (Jump if zero), JNE (Jump if
not equal), JNZ (Jump if not zero), JGE
(Jump if greater or equal), JNL (Jump if not
less), JLE (Jump if less or equal), และ JNG
(Jump if not greater)
ในกำรท�ำงำนแบบ Pipeline นั้น หน่วย
ประมวลผลจะอ่ำนชุดค�ำสัง่ถดัไปทีอ่ยูถ่ดัจำกค�ำสัง่
ทำงแยกทนัทแีม้ว่ำกำรตคีวำมและประมวลผล
ของค�ำสั่งทำงแยกยังท�ำงำนไม่เสร็จ และเมื่อ
ประมวลผลค�ำสั่งทำงแยกเสร็จแล้ว อำจจะ
ต้องมีกำรย้ำยไปท�ำงำนค�ำสั่งอื่นที่ไม่ใช่ค�ำสั่ง
ท่ีถกูอ่ำนเข้ำมำก่อนหน้ำนี ้ท�ำให้หน่วยประมวลผล
ต้องหยุดกำรท�ำงำนชั่วครำว ลบค�ำสั่งที่อ่ำนเข้ำ
มำหลังจำกค�ำสั่งทำงแยก จำกนั้นจึงอ่ำนชุด
ค�ำสั่งที่ถูกต้องเข้ำมำแทน ซึ่งกำรจัดกำรกับ
ปัญหำ Branch hazard แบ่งได้คร่ำวๆ 2 วิธีคือ
Branch delay และ Branch Predictor
Branch predictor คือวงจรที่ใช้ท�ำนำยว่ำ
ค�ำสั่งทำงแยกนั้นจะต้องย้ำยกำรท�ำงำนไปที่
ค�ำสั่งไหนก่อนที่กำรตีควำมและกำรประมวลผล
ของค�ำสั่งทำงแยกยังท�ำงำนไม่เสร็จ โดยหน่วย
ประมวลผลจะเรียก Branch predictor เพื่อ
ท�ำนำยว่ำค�ำสั่งทำงแยกที่ก�ำลังประมวลผล
อยู่นั้นจะย้ำยไปท�ำงำนที่ต�ำแหน่งใด และท�ำกำร
อ่ำนชุดค�ำสั่งตำมที่ Branch predictor
ท�ำนำยไว้ แต่เมื่อขึ้นชื่อว่ำเป็นกำรท�ำนำยแล้ว
ย่อมต้องมีควำมผิดพลำดเกิดขึ้นบ้ำง และเมื่อ
ควำมผิดพลำดเกิดขึ้น หน่วยประมวลจะต้อง
ท�ำกำรล้ำงค�ำสั่งที่อ่ำนเข้ำมำผิดออกทั้งหมด
และเริ่มท�ำงำนใหม่ในต�ำแหน่งที่ถูกต้องแทน
w w w . p c t o d a y t h a i l a n d . c o m 19
Geek Programming
เพื่อให้คุณผู้อ่ำนเข้ำใจเกี่ยวกับปัญหำ
Branch hazard และกระบวนกำร Branch
prediction มำกขึ้น ขอให้คุณผู้อ่ำนลอง
จินตนำกำรว่ำตัวเองเป็นพนักงำนสับสวิตช์
รำงรถไฟเพื่อให้รถไฟเลี้ยวไปทำงซ้ำยหรือ
ทำงขวำดังรูปต่อไปนี้
พนักง�นสับร�งรถไฟ อุปม�ได้
เหมือนกับ Branch Predictor
ตำมปกติเรำก็ต้องรอให้รถไฟมำจอดที่ทำง
แยก จำกนั้นจึงให้พนักงำนขับรถไฟแจ้งทำงที่
จะไป แล้วเรำค่อยสับสวิตช์รำง แต่เนื่องจำก
กำรจอดรถไฟทั้งคันเป็นเรื่องล�ำบำกพอสมควร
เนื่องจำกรถไฟมีน�้ำหนักและแรงเฉื่อยมหำศำล
เรำจึงคิดวิธีใหม่ในกระบวนกำรสับสวิตช์รำง คือ
เรำจะคำดกำรณ์ล่วงหน้ำว่ำรถไฟต้องกำรวิ่งไป
ทำงไหนและสับรำงเตรียมไว้ก่อน ถ้ำเรำ
คำดกำรณ์ถูกรถไฟจะสำมำรถวิ่งได้อย่ำง
ต่อเนื่องโดยไม่ต้องหยุด แต่ถ้ำคำดกำรณ์
พลำดรถไฟก็ต้องหยุดและรอให้เรำสับสวิตช์
รำงใหม่ (และอำจโดนพนักงำนขับรถไฟบ่นเอำ
ได้!) ตัวอย่ำงนี้เปรียบพนักงำนสับรำงรถไฟเป็น
Branch predictor ที่ท�ำหน้ำที่ท�ำนำยว่ำรถไฟ
จะไปทำงซ้ำยหรือขวำ และกำรสับรำงเตรียมเอำ
ไว้ก่อนคือกำรที่หน่วยประมวลผลอ่ำนชุดค�ำสั่ง
ตำมที่ Branch predictor ได้ท�ำนำยไว้นั่นเอง
ซึ่งถ้ำท�ำนำยถูกจะท�ำให้รถไฟวิ่งต่อไปได้ทันที
เปรียบได้กับกำรท�ำงำนของหน่วยประมวลผลที่
เป็นไปอย่ำงรำบรื่น แต่ถ้ำท�ำนำยผิดรถไฟก็ต้อง
หยุดวิ่ง เปรียบได้กับกำรหยุดท�ำงำนชั่วครำว
และล้ำงค�ำสั่งที่อ่ำนผิดเข้ำมำก่อนหน้ำนี้
จำกนั้นจึงอ่ำนค�ำสั่งใหม่ที่ถูกต้องเข้ำมำแทน
ย้อนกลับม�ดูคำ�สั่ง if-else
statement
เรำลองท�ำ Disassembly โปรแกรมเจ้ำ
ปัญหำของเรำ และดูเฉพำะส่วนของค�ำสั่ง if
จะได้ดังรูปต่อไปนี้
ลองถอดโค้ดด้�นบนม�เป็น
assembly
จะเห็นว่ำค�ำสั่งส�ำหรับเปรียบเทียบ (cmp)
อยู่ในบรรทัด 0x00401409 และค�ำสั่งทำง
แยก (jle) อยู่ในบรรทัด 0x0040140E โดย
จะสั่งให้ย้ำยกำรท�ำงำนไปยังค�ำสั่งในบรรทัด
0x00401427 เมื่อค่ำที่อยู่ในตัวแปรมีค่ำน้อย
กว่ำหรือเท่ำกับ 16383 แต่ถ้ำค่ำที่อยู่ในตัวแปร
มำกกว่ำหรือเท่ำกับ 16384 จะท�ำงำนในบรรทัด
ถัดไปซึ่งก็คือบรรทัด 0x0040141 เมื่อหน่วย
ประมวลผลพบค�ำสั่งทำงแยก และเริ่มท�ำนำย
ว่ำโปรแกรมควรจะท�ำงำนไปทำงไหน ถ้ำท�ำนำย
ถูกบ่อยโปรแกรมจะท�ำงำนได้เร็วขึ้น แต่ถ้ำ
20 PC Today VOL. 10 ISSUE 131
Geek Programming
ท�ำนำยพลำดบ่อยหน่วยประมวลผลจะต้องหยุด
กำรท�ำงำนชั่วครำว และท�ำกำรโหลดค�ำสั่งที่
ถูกต้องเข้ำไปแทน ท�ำให้โปรแกรมท�ำงำนช้ำลง
ส�เหตุที่ทำ�ให้ Branch
Prediction ทำ�ง�นพล�ดบ่อย
Branch predictor มักท�ำนำยกำรเกิด
ทำงแยกจำกกำรดูว่ำก่อนหน้ำนั้นเคยท�ำงำนไป
อย่ำงไรบ้ำง แต่เนื่องจำกโปรแกรมของเรำสร้ำง
ข้อมูลในตัวแปรแถวล�ำดับจำกกำรสุ่ม ท�ำให้
Branch predictor ไม่สำมำรถมองหำรูปแบบ
กำรเกิดทำงแยกในโปรแกรมได้อย่ำงถูกต้อง
ซึ่งส่งผลให้กำรท�ำงำนโดยรวมช้ำลง
แต่เมื่อเรำท�ำกำรเรียงข้อมูลในตัวแปรแถว
ล�ำดับเสียก่อน จะท�ำให้ค่ำในตัวแปรแถวล�ำดับ
ช่วงครึ่งแรกมีค่ำน้อยกว่ำ 16384 และค่ำใน
ตัวแปรแถวล�ำดับครึ่งหลังจะมีค่ำมำกกว่ำหรือ
เท่ำกับ 16384 (กรณีที่เลขจำกกำรสุ่มมีกำร
แจกแจงแบบยูนิฟอร์ม) กำรเรียงข้อมูลดังกล่ำว
จะช่วยให้ Branch predictor ท�ำนำยได้แม่นย�ำ
มำกขึ้นเพรำะลักษณะกำรท�ำงำนแบบทำงแยก
เป็นไปในแนวเดียวกัน ถ้ำคุณผู้อ่ำนยังไม่เข้ำใจ
ขอให้ลองพิจำรณำจำกตัวอย่ำงต่อไปนี้
ตัวอย่ำงแรกเป็นข้อมูลในตัวแปรแถวล�ำดับ
ที่ไม่ได้เรียงล�ำดับ
ข้อมูลในตัวแปรแถวลำ�ดับที่ไม่ได้
เรียงลำ�ดับ
จะเห็นว่ำข้อมูลในตัวแปรแถวล�ำดับ
กระจัดกระจำยอย่ำงมำก ท�ำให้ Branch
predictor ไม่สำมำรถท�ำนำยได้ หรือพูดในแง่
คณิตศำสตร์คือ โอกำสที่ Branch predictor
จะท�ำงำนผดิพลำดคอื 50% ดงันัน้หน่วยประมวลผล
ต้องหยุดกำรท�ำงำนและโหลดค�ำสั่งที่ถูกต้อง
ใหม่เป็นจ�ำนวนประมำณครึ่งหนึ่งของกำร
ท�ำงำนทั้งหมด ส่งผลให้กำรท�ำงำนโดยรวมช้ำลง
ตัวอย่ำงที่สองเป็นข้อมูลในตัวแปรแถว
ล�ำดับที่ได้หลังจำกกำรเรียงล�ำดับ
ข้อมูลในตัวแปรแถวลำ�ดับที่ได้
หลังจ�กก�รเรียงลำ�ดับ
จะเห็นว่ำข้อมูลถูกเรียงล�ำดับจำกน้อยไป
มำก ดังนั้นช่วงครึ่งแรกของกำรท�ำงำนจะไม่มี
กำรเข้ำไปท�ำค�ำสั่งที่อยู่ในบล็อก if-else เพรำะ
ช่วงครึ่งแรกข้อมูลในตัวแปรแถวล�ำดับมีค่ำน้อย
กว่ำเงื่อนไขที่ก�ำหนดไว้ แต่หลังจำกผ่ำนเข้ำครึ่ง
หลังข้อมูลในตัวแปรแถวล�ำดับจะมีค่ำมำกกว่ำ
เงื่อนไขที่ก�ำหนดและเข้ำไปท�ำงำนในบล็อก if-
else ตลอด ลักษณะดังกล่ำวก่อให้เกิดรูปแบบที่
ท�ำให้ Branch predictor ท�ำงำนได้แม่นย�ำมำก
ขึ้น เพรำะเมื่อเริ่มท�ำงำนหลังจำกผ่ำนไป 2-3
รอบ Brach predictor จะท�ำนำยว่ำครั้งต่อไป
จะไม่มีกำรท�ำงำนในบล็อก if-else โดยอิงจำก
ลักษณะที่ไม่เข้ำไปท�ำงำนในรอบก่อนหน้ำซึ่ง
เป็นกำรท�ำนำยที่ถูกต้อง เมื่อผ่ำน
เข้ำช่วงครึ่งหลังของกำรท�ำงำน
Branch predictor ที่ท�ำนำยว่ำจะไม่เข้ำไป
ท�ำงำนในบล็อก if-else มำตลอดจะเริ่มท�ำนำย
พลำด แต่เมื่อพลำดติดต่อกัน 2-3 รอบ Branch
w w w . p c t o d a y t h a i l a n d . c o m 21
Geek Programming
predictor จะเปลี่ยนไปท�ำนำยในทำงตรงข้ำม
ซึ่งก็คือจะท�ำนำยว่ำต้องเข้ำไปท�ำงำนในบล็อก
ท�ำให้ช่วงครึ่งหลังของกำรท�ำงำน Branch
predictor ยังคงท�ำนำยถูกเป็นส่วนมำก
อย่ำงไรก็ตำมควำมเร็วในกำรท�ำงำนอำจ
เพิ่มขึ้นมำกหรือน้อยขึ้นอยู่กับชนิดของภำษำที่
ใช้เขียน ตัวแปลภำษำ และสถำปัตยกรรมของ
หน่วยประมวลผลด้วยครับ
ถ้�ไม่อย�กเสียเวล�เรียงข้อมูล
จะแก้ไขอย่�งไรไม่ให้ Branch
predictor ทำ�ง�นพล�ด?
ง่ำยนิดเดียวครับ แค่ไม่ต้องไปใช้ค�ำสั่ง
if-else แล้วเปลี่ยนโค้ดตรงส่วน if-else ให้
เป็นกำรท�ำงำนด้วย bitwise operation ดังนี้
ก�รใช้ bitwise operation
แทน if-else
แค่นี้ก็ไม่ต้องกังวลกับปัญหำ Branch
predictor ท�ำงำนผิดพลำดอีกต่อไป (แต่เปลี่ยน
เป็นปัญหำว่ำจะมีใครอ่ำนโค้ดรู้เรื่องบ้ำงนี่สิ)
เป็นไงบ้ำงครับ เทคนิคกำรเขียนโปรแกรม
เล็กๆ น้อยๆ ที่สำมำรถช่วยเหล่ำกรรมกรโค้ดดิ้ง
ให้ท�ำงำนได้สะดวกมำกขึ้น (รึเปล่ำ?) ไว้พบกับ
เทคนิคใหม่ฉบับหน้ำ สวัสดีครับ