Isriya Paireepairit / mk / markpeak
A Thai tech geek. Co-founder of Blognone and SIU. Blogging on almost everything.
ก้าวเข้าสู่โลก 64 บิต
ก่อนอื่นขอแก้ข้อมูลผิดตอนที่แล้วครับ ผมเขียนถึงระบบปฏิบัติการ Solaris 10 และบอกว่ามันสามารถทำงานได้บนสถาปัตยกรรม 3 ชนิด คือ x86 แบบที่เราๆ ใช้กันอยู่, ซีพียูตระกูล UltraSPARC ของซันเอง และสถาปัตยกรรม x86-64 ซึ่งผมบอกว่าหมายถึง Opteron ของเอเอ็มดี และ Itanium รุ่นใหม่ๆ
ผิดตรงนี้ล่ะครับ ที่ถูกต้องแล้ว ปัจจุบันซีพียูที่ใช้ x86-64 ได้แก่ Athlon64 และ Opteron ของเอเอ็มดี ส่วนฝั่งอินเทลต้องเป็น Xeon ต่างหาก ไม่ใช่ Itanium
ไหนๆ เอ่ยถึงแล้วขอเล่าเรื่องซีพียู 64 บิตต่อซักเล็กน้อยครับ ปัจจุบันซีพียูในคอมพิวเตอร์ทั่วไปทำงานที่ 32 บิต ซึ่งใช้มาหลายปีแล้วตั้งแต่ยุค Pentium รุ่นแรก ทีนี้เมื่องานที่ใช้คอมพิวเตอร์ประมวลผลมีมากขึ้น ขนาด 32 บิตก็ชักไม่ค่อยพอ จึงต้องเริ่มขยับขยายไปที่ 64 บิต ความแตกต่างของ 32 บิตกับ 64 บิตอยู่ที่ขนาดของหน่วยความจำที่สามารถอ้างได้ ซีพียู 32 บิตอ้างหน่วยความจำได้มากที่สุดที่ 2 กำลัง 32 หรือ 4 กิกะไบต์เท่านั้น ปัจจุบันเครื่องที่ใส่แรมมา 1 กิกะไบต์ก็เริ่มกลายเป็นของธรรมดาแล้วใช่มั้ยครับ แรม 4 กิกะไบต์หรือมากกว่านั้นกำลังใกล้ความจริงเข้ามาทุกวัน ดังนั้นการเปลี่ยนมาใช้ 64 บิตจึงเป็นการเตรียมตัวสู่อนาคตนั่นเอง
จริงๆ ซีพียู 64 บิตได้มีมานานพอสมควรแล้ว เพียงแต่มันไม่ได้ผ่านเข้ามาในชีวิตประจำวันของเราต่างหาก ซีพียูตัวแรกๆ ที่เป็น 64 บิตคือตระกูล Alpha ของบริษัทดิจิตอล ซึ่งหลังจากดิจิตอลถูกคอมแพคซื้อกิจการก็หยุดการพัฒนาไป 64 บิตชนิดอื่นได้แก่ ซีพียู UltraSPARC IV ของซันและแมคอินทอชรุ่น ตัวอย่างที่ใกล้ตัวหน่อยคือเครื่องเล่นเกม Nintendo 64 ใช้ซีพียู 64 ตามชื่อ ส่วนเพลย์สเตชั่น 2 นั้นไปถึง 128 บิตเลยเชียว
ส่วนซีพียูสำหรับเดสก์ท็อปซึ่งปัจจุบันมีเพียงสองค่าย คือ อินเทลและเอเอ็มดี ต่างก็มุ่งสู่ 64 บิตเช่นกันเพียงแต่วิธีการนั้นต่างออกไป อินเทลสร้างสถาปัตยกรรมใหม่ที่ไม่เกี่ยวกับ x86 เดิมเลยในชื่อว่า IA64 และนำไปใช้ในซีพียูรุ่น Itanium ส่วนเอเอ็มดีใช้วิธีที่นุ่มนวลกว่า พัฒนาสถาปัตยกรรม x86-64 โดยให้เป็นส่วนขยายของ x86 เดิม
วิธีการสองอย่างนี้ฟังผิงเผินดูไม่ต่างกันมากนัก แต่ในเชิงปฏิบัติมีผลเป็นอย่างมากครับ การเปลี่ยนสถาปัตยกรรมของอินเทลหมายความว่าโปรแกรมทุกตัวแบบ 32 บิตที่เราใช้กันอยู่ทุกวันนี้ จำเป็นต้องทำการคอมไพล์ใหม่ก่อนที่จะนำไปใช้บน Itanium ได้ นั่นหมายถึงเวลาและแรงงานอีกมหาศาลที่ต้องมาเสียไปในจุดนี้ ส่วน x86-64 นั้นมีโหมดที่นำเอาโปรแกรมเดิมไปใช้ได้เลยโดยไม่ต้องเปลี่ยนแปลงอะไรทั้งสิ้น เหตุผลแค่นี้ก็เพียงพอแล้วที่ทำให้เอเอ็มดีชนะขาดลอย
คนจำนวนมากในโลกคอมพิวเตอร์ต่างก็จับตาดูว่าอินเทลจะทำอย่างไร เพราะถ้าอินเทลยังสนับสนุน IA64 ต่อไป จะทำให้อนาคตเราต้องแบ่งโลก 64 บิตออกเป็นสองส่วน ต้องเขียนกำกับไว้ว่าโปรแกรมนี้ทำงานได้บน 64 บิตของค่ายไหน ลองจินตนาการตามดูนะครับว่ามันจะวุ่นวายสุดๆ เลยล่ะ ที่ไมโครซอพท์ยังไม่ออกวินโดว์รุ่นสำหรับ 64 บิตมาเสียทีก็เพราะเหตุผลนี้ ปัจจุบันมีแต่ลินิกซ์เป็นระบบปฏิบัติการตัวเดียวที่สนับสนุนทั้งสองสถาปัตยกรรม
สุดท้ายอินเทลก็ยอมแพ้ครับ แต่อย่างอินเทลไม่เสียฟอร์มง่ายๆ อินเทลแอบเปลี่ยนมาใช้ x86-64 อย่างเงียบๆ โดยให้สิทธิ์ในชุดคำสั่ง SSE3 ซึ่งมีแต่ใน Pentium4 กับเอเอ็มดีไปเป็นของแลกเปลี่ยน ซีพียูตัวแรกของอินเทลที่เป็น x86-64 คือ Xeon ซึ่งเป็นซีพียูสำหรับเซิร์ฟเวอร์ อินเทลเรียก x86-64 ใหม่เพื่อไม่ให้เสียหน้าว่า EMT64 (Extended Memory Technology 64) และตอนนี้ในหน้าเอกสารของ Pentium4 บนเว็บไซท์ของอินเทล ก็ประกาศว่าจะมี EMT64 มาในตัวแล้ว รอติดตามรายละเอียดจากสื่อต่างๆ ได้ในเร็ววันนี้
เรื่องทั้งหมดก็จบลงด้วยดี หลายฝ่ายก็มีผลได้ผลเสียต่างกันไป ผู้ใช้อย่างเรามีแต่ได้อย่างเดียวเพราะได้อนาคตที่เป็น 64 บิตที่ไม่มีปัญหาเรื่องความเข้ากันได้ ผู้ผลิตซอพท์แวร์ก็สบายด้วยเหตุผลเดียวกัน คือออกโปรแกรมมาเพียงเวอร์ชันเดียวทำงานได้หมด ส่วนอินเทลนั้นเสียทั้งหน้าตา และเงินจำนวนมหาศาลไปกับการตัดสินใจผิดพลาดครั้งนี้ ตอนนี้เรียกได้ว่าซีพียู Itanium ก็จะเสื่อมความนิยมลงไปช้าๆ (บริษัทขายเครื่องอย่าง HP ออกมาประกาศเลิกขาย Itanium แล้วครับ) ผู้ชนะอย่างแท้จริงของงานนี้คือเอเอ็มดี เพราะนอกจากทำให้อินเทลกลายเป็นผู้ตามได้แล้ว ตอนนี้เอเอ็มดียังล้ำหน้าอินเทลไปหลายช่วงตัวในตลาด 64 บิต ซีพียู Opteron ขายดีมากในตลาดเซิร์ฟเวอร์ ส่วนซีพียู Athlon64 เราก็เริ่มเห็นวางขายอยู่ทั่วไปแล้ว ก็ต้องยกความดีให้กับทั้งฝ่ายบริหารที่กำหนดนโยบายได้ถูกต้อง และฝ่ายเทคนิคที่สร้างสถาปัตยกรรมนี้ขึ้นมาได้ล่ะครับ