แถลงไข CPU 64-bit

อะไรคือ CPU 64-bit

         ใน Computer Architecture นั้น 64-bit เป็นการขยายของการใช้ integer, floating point, memory address หรือ ชนิดข้อมูลอื่นๆ ที่ต้องการใส่ข้อมูลที่มีขนาดความกว้างของข้อมูลมากถึง 64 bit (8 octets) โดยที่รายละเอียดของ CPU และ สถาปัตยกรรม ALU บน register, address buses, หรือ data buses ต้องมีขนาดเท่านั้นด้วย

         โดยในปี 2004 ได้มี CPU 64-bit CPU เป็นพื้นฐานสำหรับตลาดระดับ Server และเตรียมพร้อมสำหรับการเข้าสู่สายการผลิตหลักของตลาด Personal Desktop โดยการเข้ามาของ AMD64 (AMD), EM64T (Intel) และ PowerPC 970 (G5 จาก IBM)


ความเหมือนที่แตกต่างของ CPU 32-bit และ 64-bit

         นับแต่อดีตถึงปัจจุบันปริมาณข้อมูล ที่ใช้ในการประมวลผลต่อ 1 รอบสัญญาณนาฬิกามีจำนวนมากขึ้น อย่างไม่มีที่สิ้นสุด การเปลี่ยนแปลงจาก 16-bit ในอดีตเมื่อ 10 ปีก่อน มา 32-bit ในปัจจุบัน และกำลังก้าวเข้าสู่โลก 64-bit ได้สร้างปรากฎการณ์ใหม่ให้กับโลกคอมพิวเตอร์ได้อย่างมากมาย ทั้งในด้านจำนวนข้อมูลที่ส่งต่อในระบบภายในที่มีจำนวนมากขึ้น และความเหมือนจริงในการทำงานด้านมัลติมีเดียต่าง ๆ มากมาย ยังผลให้ ข้อมูลที่เข้าสู่กระบวนการประมวลผลนั้นมากตามไปด้วย ซึ่งไม่ได้เกี่ยวข้องในส่วนของความเร็วในการประมวลผลแต่ประการใด เป็นเพียงเพิ่มความหนาแน่นของข้อมูลต่อชุด ในการประมวลต่อครั้งเท่านั้น

         จากที่ได้กล่าวไปแล้วนั้นว่าความแตกต่างในทั้งสอง ไม่ได้แตกต่างกันที่ความเร็ว ขยายความให้เข้าใจได้ง่ายคือ สัญญาณนาฬิกายังคงมีความเร็วเท่าเดิม แต่ความหนาแน่นของข้อมูลต่อชุดคำสั่งมีมากขึ้นนั้น เราอาศัยการเปรียบเทียบที่ memory addrees ระหว่าง 32-bit และ 64-bit โดยที่ 32-bit นั้นมี memory address ได้ 4Gbytes เท่านั้น แต่ใน 64-bit นั้น มี memory address ถึง 16 Ebytes (~17,179,869,184 Gbytes) ทำให้เกิดความได้เปรียบในด้านความเร็วในการทำงานใน software ที่ต้องการ การไหลของข้อมูลในปริมาณที่มาก ๆ เช่นการเล่นเกม, ระบบฐานข้อมูลใหญ่ ๆ , ระบบที่ต้องการความละเอียดต่อการประมวลผลมาก ๆ เช่นการ Simulate, Render, Retouch, Lenear Editing ฯลฯ แต่หากเป็น software โดยทั่วไปแล้ว แทบจะไม่เห็นความแตกต่าง แต่อย่างใด

"ปัญหาของระบบ 32-bit ที่ทำให้เกิด 64-bit ขึ้นมาในปัจจุบันคือ ขนาดของหน่วยความจำหลัก (RAM Memory) มีจำกัดเกินกว่าจะยอมรับได้แล้ว"

         CPU 32-bit นั้นมีความต้องหน่วยความจำหลักได้มากสุดที่ 4Gbytes เท่านั้น แล้ว 4Gbytes มาจากไหนหล่ะ ?
คำตอบคือ 32-bit register นั้นมาจาก 2 ยกกำลัง 32 หรือมีขนาดที่ 4Gbytes ของหน่วยความจำหลัก (RAM memory) นั้นเอง

         นั้นหมายความว่า CPU 64-bit นั้นมีความต้องหน่วยความจำหลักได้มากสุดที่ …..  16 Ebytes * (~17,179,869,184 Gbytes) นั้นเอง ซึ่งมาจาก 2 ยกกำลัง 64 หรือมีขนาดที่ 16 Ebytes ของหน่วยความจำหลัก (RAM memory)
* Ebytes อ่านว่า เอ๊กซาไบต์ (Exabyte)

232    = 4,294,967,296 bytes
        =~ 4 Gbytes
264    = 18,446,744,073,709,551,616 bytes
        = ~ 16 Ebytes หรือ 17,179,869,184 Gbytes

การแปลง byte เป็นหน่วยต่าง ๆ อ่านที่นี่ครับ พื้นที่ในฮาร์ดดิสค์หายไปไหน ?? มันคือพื้นที่ผีอยู่ หรือว่ามันหายไปจริงๆ !!!


แล้วมันแตกต่างกันตรงไหนในด้านการประมวลผล ?

         การประมวลผลจริง ๆ แล้วไม่แตกต่างกันในเชิงความเร็วมากนัก ดังที่ได้กล่าวไแล้ว แต่จะแตกต่างนั้นอยู่ที่ ความหน่าแน่นของข้อมูลที่ประมวลผลต่อสัญญาณมาฬิกามีมากขึ้น ตัวอย่างเช่น

  • คุณชมภาพยนต์ในจอคอมพิวเตอร์จากแผ่น VCD (เทียบได้กับ 32-bit) และ DVD (เทียบได้กับ 64-bit) ถ้าคุณได้รับชมผ่าน VCD ในจอคอมพิวเตอร์คุณได้ภาพที่เล็ก และไม่ละเอียด เท่ากับ DVD ที่มีภาพที่ละเอียดกว่า และยังขยายขนาดของภาพให้ Full Srceen ได้โดยภาพไม่แตกเหมือน VCD
  • คุณเล่นเกม ภาพที่ได้จะมีมิติมากขึ้นกว่าเดิม แสงเงาต่าง ๆ จะสมจริงมากขึ้น แต่ไม่ได้ทำให้การประมวลเร็วขึ้นแต่อย่างใด
  • ฯลฯ

         แต่ทั้งนี้ทั้งนั้น ต้องขึ้นอยู่กับ Software ที่นำมาทำงานร่วมกับ CPU 64-bit ด้วยว่าสนับสนุนการทำงานนี้หรือไม่ มิเช่นนั้นก็ไม่สามารถใช้งาน CPU 64-bit ได้อย่างมีประสิทธิภาพดังที่ตั้งใจไว้
        
สรุปให้เข้าใจง่าย ๆ ว่า 64-bit เป็นการทำให้การประมวลผลต่อครั้งมีความละเอียดมากขึ้น ไม่ใช่เร็วมากขึ้น อย่างที่ หลาย ๆ คนเข้าใจ แต่การเร่งความเร็วในการประมวลผล น่าจะเป็นในส่วนของ Dual Core CPU มากกว่า แต่การทำให้ Dual Core CPU สามารถใช้งานได้ดีและเต็มประสิทธิภาพนั้น จำเป็นอย่างมากที่ software ที่เราใช้ต้องสนับสนุนระบบ Multiprocessor ด้วยเช่นกัน