PCToday Vol.10 Issue 131

21

description

Steam OS First Review

Transcript of PCToday Vol.10 Issue 131

Page 1: PCToday Vol.10 Issue 131
Page 2: PCToday Vol.10 Issue 131
Page 3: 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

ฝ่ายจัดจ�าหน่าย :

สมาชิกสัมพันธ์ :

จัดจ�าหน่ายโดย :

ร้านแยกสี :

พิมพ์ที่ :

Page 4: PCToday Vol.10 Issue 131

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

Page 5: PCToday Vol.10 Issue 131

SP13039NG TRIM_168x238 15/01/57

Page 6: PCToday Vol.10 Issue 131

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

Page 7: PCToday Vol.10 Issue 131

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]

Page 8: PCToday Vol.10 Issue 131

8 PC Today VOL. 10 ISSUE 131

โดย @eka_x

SCHOOL 3.0

หลังจากเราเริ่มคอลัมน์ School 3.0 มาได้

หลายฉบับแล้ว สิ่งหนึ่งที่ยังติดค้างในใจผมอยู่

คือท�าไมถึงยังไม่เจอแอพการเรียนการสอนของ

คนไทยที่น่าแนะน�าเลยนะ ซึ่งผมก็พยายามดู

ตามแหล่งต่างๆ หาแอพจากคนไทยมาตลอด

แต่ก็ไม่ได้สักทีนะครับ จนวันนี้ความต้องการ

ของผมก็เป็นจริงเมื่อเจอแอพจากคนไทยดีๆ

แล้ว! ถึงจะหาเจอมาแค่ตัวเดียวแต่ก็ต้องรีบ

แนะน�าให้รู้จักกัน พร้อมพาแอพสอนการแพทย์

ง่ายๆ ด้วยตัวการ์ตูนน่ารักส�าหรับเด็กมาแนะน�า

ให้รู้จักกันอีกตัวหนึ่ง มาลองดูแอพทั้งคู่กัน

เลยครับ

แอพเรียนรู้

ด้วยตัวการ์ตูน

Page 9: PCToday Vol.10 Issue 131

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 ตัว

ทั้งรูปร่าง การออกเสียง วิธีเขียน ฝึกความจ�า

Page 10: PCToday Vol.10 Issue 131

10 PC Today VOL. 10 ISSUE 131

SCHOOL 3.0

• เกมเติมสระวรรณยุกต์ ที่เล่นโดยลากเอา

สระที่ถูกต้องไปวางลงในค�า

• เกมเปิดป้ายฝึกความจ�า ผู้เล่นต้องจ�าว่า

ตัวอักษรและภาพอะไรอยู่ป้ายไหน เพื่อเปิดออก

มาจับคู่กันให้ได้

• เกมฝึกเขียนค�า ที่ให้ผู้เล่นได้เขียนตัวอักษร

ทีละตัวจนประกอบเป็นค�าได้

ซึ่งเกมทั้งหมดนี้จะต้องใช้ดาว 1 ดวงที่ได้รับ

จากบทเรียนตัวอักษรเพื่อเปิดเล่น หรือสามารถ

ใช้ดาว 30 ดวงและเหรียญอีกจ�านวนหนึ่ง

เพื่อปลดล็อกให้เล่นได้ตลอดไป ก็เลือกรูปแบบ

ได้ตามสะดวกครับ

ด้วยรูปแบบการเล่นและภาพประกอบ

ที่สวยงาม ท�าให้เก่งไทยเป็นแอพการเรียน

การสอนที่น่าใช้นะครับ แต่ก็ยังไม่เหมาะส�าหรับ

การฝึกคัดไทย เพราะยังไงเรื่องนี้ก็ควรใช้ดินสอ

เขียนลงบนกระดาษมากกว่าการใช้นิ้วลากไป

บนจอ แต่เก่งไทยเหมาะส�าหรับการเรียนรู้

ภาษาไทย ให้รู้จักตัวอักษรและค�าต่างๆ ด้วย

ภาพและเสียงที่ประกอบการเรียนรู้ ก็ท�าให้ผู้เล่น

จ�าตัวอักษรต่างๆ ได้ไม่ยากเย็นอะไร นอกจาก

นี้ยังเหมาะส�าหรับชาวต่างชาติที่ต้องการเรียนรู้

ภาษาไทยด้วย เพราะตัวแอพนั้นมีภาษาอังกฤษ

บรรยายและสามารถเปลี่ยนเมนูเป็นภาษา

อังกฤษได้

Page 11: PCToday Vol.10 Issue 131

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 แล้วเรียงกระดูกที่หักให้เป็นรูปเป็นร่างเดิม

ก่อน จากนั้นจึงค่อยสวมเผือกเข้าไปครับ

Page 12: PCToday Vol.10 Issue 131

12 PC Today VOL. 10 ISSUE 131

SCHOOL 3.0

นอกจากภาพประกอบที่สวยงาม เข้าใจง่าย

แล้ว ตัวการ์ตูนยังมีปฏิกิริยาที่แตกต่างกันไป

เมื่อท�าผิดขั้นตอน หรือใช้เครื่องมือในจุดที่

ไม่ควรครับ ท�าให้ผู้เล่นเข้าใจได้ทันทีว่าก�าลัง

ท�าผิดพลาด และค่อยๆ ท�าความเข้าใจว่า

ต้องท�าอะไรจึงจะผ่านฉากไปได้ครับ

แถมเพลงประกอบยังเพราะใช้ได้อีกด้วย

ถึง Pepi Doctor จะเป็นแอพที่ดี

เด็กๆ สามารถเล่นได้โดยไม่ต้องเข้าใจภาษา

อังกฤษ แต่ยังไงก็ควรมีผู้ปกครองให้ค�าแนะน�า

นะครับ เด็กเห็นเรื่องที่ท�าในแอพง่ายๆ แล้ว

ผู้ปกครองไม่ได้อธิบายเพิ่มเติม ก็อาจจะเข้าใจ

ผิดเรื่องการรักษาไปได้

Page 13: PCToday Vol.10 Issue 131

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 นี้

Page 14: PCToday Vol.10 Issue 131

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

ยังป้องกันในส่วนนี้ ด้วยการเข้ารหัสทุกข้อมูล

รวมถึงซ่อนหน้าจอที่ใช้เข้ารหัสไม่ให้แฮ็กเกอร์

มองเห็นได้อีกด้วย

Page 15: PCToday Vol.10 Issue 131

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 กันมากขึ้นเรื่อยๆ

การค�านึงถึงความปลอดภัยในเรื่องของ

การท�าธุรกรรมออนไลน์จึงเป็นสิ่งที่ไม่ควร

มองข้ามครับ

Page 16: PCToday Vol.10 Issue 131

16 PC Today VOL. 10 ISSUE 131

โดย วศิน สุทธิฉายา

Geek Programming

ขั้นตอนวิธีส�ำหรับกำรเรียงข้อมูลก็มีมำกมำย

หลำกหลำย และมีประสิทธิภำพแตกต่ำงกัน

ปัญหำหลำยอย่ำงสำมำรถแก้ไขได้ง่ำยขึ้น

เม่ือเรำเรยีงล�ำดบัข้อมลูเสยีก่อน แต่คณุผูอ่้ำน

เชื่อหรือไม่ว่ำปัญหำบำงอย่ำงที่ไม่จ�ำเป็น

ต้องเรียงข้อมูลก่อน แต่ถ้ำเรำเรียงข้อมูลให้

เป็นระเบียบจะช่วยให้ท�ำงำนได้เร็วขึ้นด้วย!!

ตัวอย่ำงเช่นโปรแกรมต่อไปนี้

เทคนิคการเขียนโปรแกรม

ให้ทำ�ง�นเร็วขึ้น 3-4 เท่�

ด้วย Branch Predictor

“สวัสดีครับ คุณผู้อ่านที่เคย

เขียนโปรแกรมมากอ่นคงต้องเคย

ผ่านการเขียนโปรแกรมสำาหรับ

เรียงข้อมูลในตัวแปรแถวลำาดับ

มาบ้าง ซึ่งเราเรียกขั้นตอนวิธี

ดังกล่าวว่า Sorting algorithm

นั่นเอง

Page 17: PCToday Vol.10 Issue 131

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 กันก่อนครับ

Page 18: PCToday Vol.10 Issue 131

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

ท�ำนำยไว้ แต่เมื่อขึ้นชื่อว่ำเป็นกำรท�ำนำยแล้ว

ย่อมต้องมีควำมผิดพลำดเกิดขึ้นบ้ำง และเมื่อ

ควำมผิดพลำดเกิดขึ้น หน่วยประมวลจะต้อง

ท�ำกำรล้ำงค�ำสั่งที่อ่ำนเข้ำมำผิดออกทั้งหมด

และเริ่มท�ำงำนใหม่ในต�ำแหน่งที่ถูกต้องแทน

Page 19: PCToday Vol.10 Issue 131

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 เมื่อหน่วย

ประมวลผลพบค�ำสั่งทำงแยก และเริ่มท�ำนำย

ว่ำโปรแกรมควรจะท�ำงำนไปทำงไหน ถ้ำท�ำนำย

ถูกบ่อยโปรแกรมจะท�ำงำนได้เร็วขึ้น แต่ถ้ำ

Page 20: PCToday Vol.10 Issue 131

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

Page 21: PCToday Vol.10 Issue 131

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 ท�ำงำนผิดพลำดอีกต่อไป (แต่เปลี่ยน

เป็นปัญหำว่ำจะมีใครอ่ำนโค้ดรู้เรื่องบ้ำงนี่สิ)

เป็นไงบ้ำงครับ เทคนิคกำรเขียนโปรแกรม

เล็กๆ น้อยๆ ที่สำมำรถช่วยเหล่ำกรรมกรโค้ดดิ้ง

ให้ท�ำงำนได้สะดวกมำกขึ้น (รึเปล่ำ?) ไว้พบกับ

เทคนิคใหม่ฉบับหน้ำ สวัสดีครับ