ทำไม CPU มีหลายคอร์?


        ก่อนที่เราจะไปที่ยุคที่มี CPU ( Central Processing Unit ) หลาย คอร์ เราต้องย้อนกับไปที่ยุคที่ CPU มี Core เดียวก่อนนะครับมันมีอยู่ช่วงนึงที่ CPU มีแค่ คอร์เดียวแล้วความเร็ว CPU ก็จะขึ้นอยู่กับ Clock Speed หรือว่าสัญญาณนาฬิกานั้นเอง ซึ่งถ้าเกิดว่ายิงเร็วเท่าไร CPU ของคุณก็จะเร็วขึ้นเท่านั้น เช่นอย่าง Core i7 มีความเร็วสัญญาณนาฬิกา 3.4 Ghz ( Gigahertz ) ซึ่งตัวเลข Clock Speed ก็คือตัวเลขของสัญญาณนาฬิกาที่เกิดขึ้นภายใน 1 วินาทีนั้นเอง อย่างเช่น 3.4Ghz หมายถึง ใน 1 วินาทีมีสัญญาณนาฬิกาเกิดขึ้น 3,400,000,000 และการคำนวนต่างๆที่เกิดขึ้นบน CPU ก็จะใช้สัญญาณนาฬิกาเหล่านี้เช่น การบวกใช้ 4 Clock ที่แต่ใน 1 วินาทีเจ้า CPU ของเราสามารถทำได้ 3,400,000,000 Clock 


        นั้นก็หมายความว่าใน 1 วินาที CPU ของเราจะสามารถบวกเลขได้ทั้งหมด 850,000,000 ก็คือเอา 3,400,000,000/4 นั้นเอง และยิ้ง Clock Speed สูงเท่าไรใน 1 วินาทีคุณก็จะสามารถบวกเลขได้เยอะขึ้นเท่านั้น และนั้นก็หมายความว่า CPU จะมีความเร็วเพิ่มขึ้นตาม Clock Speed ที่ทำได้นั้นเอง แต่ว่าถ้าเราว่าเราย้อยกับไปสักช่วง 20 ปี ก่อนสัญญาณนาฬิกาของ CPU อาจจะยังไม่ถึงหลัก Ghz จะอยู่ในหลัก Mhz ( megahertz ) ซึ่งก็คือช้ากว่าพันเท่าและบริษัทที่ ผลิต CPU ก็พยายาม ที่จะทำให้ Clock Speed เพิ่มขึ้นเรื่อยๆใส่ ทรานซิสเตอร์เข้าไปเพิ่ม Clock Speed ขึ้น Clock Speed ก็ค่อยๆเพิ่มขึ้นเรื่อยๆและก็มาถึงจุดนึงประมาณ 10-15 ปีก่อน ที่ Clock Speed มาสารถขึ้นมาถึงระดับ 3 Ghz ได้และ Clock Speed ก็ไม่เพิ่มจากนั้นมาเป็นเวลา 10 กว่าปี ทำไมละ? 

        พอถึงจุดนึงพอ Clock Speed เกิน 3.5 Ghz ขึ้นไปตัว CPU จะเริ่มดึงพลังงานเข้ามาเยอะมากเพราะว่าเค้าต้องทำให้มันเร็วขึ้น ยิ่ง Switching เร็วขึ้นแล้วดึงพลังงานมามากขึ้นมันก็เกิดความร้อนซึ่งถ้าเกิดมาเราใช้แค่พัดลมเป่ามันจะระบายความร้อนไม่ทันตัว CPU ก็จะไหม้และ ณ จุดนี้เอง หลายคนอาจจะเคยได้ยินว่า Overclock คืออะไร ก็คือการทำให้สัญญาณนาฬิกามันขึ้นไปสูงกว่าที่โรงงานตั้งมานั้นเองและแน่นอนว่าความร้อนมันก็จะเกิดดังนั้นเค้าก็จะต้องใช้วิธีการล่อเย็นที่มันพิศดารหน่อย


        เช่นเอาไปจุ่มน้ำหรือว่าไฮโดเจนเหลวอะไรแบบนี้เพื่อที่จะทำให้สัญญาณนาฬิกามันขึ้นไปสูงมากๆขึ้นได้แต่ว่าคนธรรมดาอย่างเราที่เป็นลูกค้าซื้อ CPU ของเค้านี้นะครับที่ปกติแล้วหล่อเย็นด้วยอากาศใช้พัดลมเป่าเอาไม่สามารถที่จะให้ตัว Clock Speed ขึ้นไปสูงขนาดนั้นได้เพราะว่าเดียวมันจะไหม้เพราะว่าอากาศระบายความร้อนไม่ทันดังนั้นบริษัทผู้ผลิต ไม่ว่าจะเป็น INTEL หรือว่า AMD ก็ไม่ได้ทำให้ Clocl Speed เกินกว่านั้นอาจมีเห็นมาบ้างแบบ 3.7 , 4.1 แต่ว่าไม่เกินนี้และพอมันตันแล้วเราไม่สามารถที่จะทำให้ Clock Speed มันไปได้สูงกว่านี้ต้องทำยังไงอะ? 


        เค้าก็เลยเพิ่ม Core ขึ้นมาเป็น Core 2 Duo ก็แทนที่จะเป็น CPU อันเดียวที่ความเร็ว 3 Ghz ก็กลายมาเป็น 2อัน 3อัน 4อัน 8อัน อันก็คือทำไมเราถึงมี CPU หลายคอร์ในยุคปัจจุบันพอได้ยินแบบนี้แล้วเนี้ย มันก็ดูดีนะปกติมี Core เดียวเพิ่มมาอีก Core นึงมันก็เป็น 2 Core ที่ความเร็วเท่ากันแบบนี้ความเร็วก็ต้องเพิ่มเป็นสองเท่าใช้มั้ยละ ในจิตนาการมันก็ควรจะเป็นแบบนั้นแต่ว่าในโลกของความจริงมันไม่ใช่อย่างนั้นะสิเพราะว่าการที่จะใช้งาน CPU ทั้ง 2 Core พร้อมกันมันไม่ได้เกิดขึ้นโดยอัตโนมัติตัวโปรแกรมเมอรฺ์เองจะต้องเขียนโปรแกรมเพื่อที่จะใช้งาน 2 Core พร้อมๆกัน อ้าวลำบากโปรแกรมเมอร์เลยแบบนี้เพราะปกติเค้าเขียนอะไรมาก็เขียนไปแบบนั้นแหละสุดท้ายก็ CPU เร็วขั้นโปรแกรมของเค้าก็เร็วขึ้นอัตโนมัติเลยแต่ว่าพอ CPU มี 2 Core แต่ว่า

        โปรแกรมเค้ารันบน Core เดียวมันก็ไม่เร็วขั้นเค้าก็ต้องมาแก้โปรแกรมเค้าเพื่อที่จะทำให้มันรัน 2 Core แต่ว่าการที่ให้ให้มาแก้โปรแกรมรันบน 2 Core ไมใช่เรื่องง่ายเลยครับเพราะว่าการที่โปรแกรมจะใช้พร้อมกันหลายๆ Core จะต้องมาจัดการ Design  แต่ต้นเลยว่าเช่นอันนี้สามารถทำรวมกันได้อันนี้เอามารวมกันอันนี้แยกกัน คือมันใช้การวิเคาะห์ที่เพิ่มมาจากการเขียนโปรแกรมปกติเยอะมากดังนั้นการเข้ามาของ CPU หลาย Core ทำให้การเขียนโปรแกรมของโปรแกรมเมอร์เปลี่ยนไปแต่ทว่าโปรแกรมเมอร์เวลาเค้าเรียนมาเค้าก็จะเรียนมาแบบการใช้ Core เดียวพอมาจะให้คิดแบบหลาย Core โอ้ยมันยุ่งยากส่วนใหญ่ก็เลยไม่ทำกันและนั้นก็เป็นหนึ่งในเหตุผลที่เวลาเราไปซื้อ CPU แบบ 8 Core หรือ 16 Core เกมส์มันไม่ได้เร็วขึ้นเลยเพราะว่าอะไร


        เพราะว่าตัวเกมส์เนี้ยนะครับเขียนมาไว้ให้ใช้แค่ Core เดียวถึงแม้ว่าคุณจะมี 20 Core แค่ว่าสุดท้ายแล้วโค้ด ใช้ง่านแค่ Core เดียวมันก็ไม่มีผลอะไรดังนั้นสรุปอีกทีนึงก็คือการเข้ามาของ CPU หลาย Core เนีี้ยนะครับมันจะทำให้รันโปรแกรมของเราเร็วขึ้นก็จริง แต่ว่าตัวโปรแกรมเมอร์เองต้องเป็นคนเขียนให้มันเร็วขึ้น Design ออกมาให้มันใช้ 2 Core หรือว่าทุกๆ Core พร้อมกันบ้างโปรแกรมก็ออกแบบมาให้ใช้หลาย Core อย่างเช่น Photoshop หรือว่าโปรแกรมตัดต่อ VDO อะไรแบบนี้แต่ว่าตัวเกมส์ส่วนใหญ่แล้วยังรันอยู่บน Core เดียวอยู่เลย

        แต่ก็ไม่แย่ซะทีเดียวสำหรับ CPU หลาย Core เพราะว่าถึงแม้ว่าโปรแกรมที่คุณใช้งานจะใช้งานแค่ 1 Core เท่านั้นแต่ว่าถ้าเกิดคุณรันหลายโปรแกรมแต่ละโปรแกรมใช้งาน 1 Core ตัวระบบปฏิบัติการของคุณก็จะจัดแจงแต่ละโปรแกรมเอาไปใช้กันอย่างละ Core อย่างว่าสุดท้ายแล้ววิธีการใช้งาน CPU หลาย Core ก็คือต้องเขียนโปรแกรม Design มาเพื่อมันถึงจะใช้ประโยชน์จากมันได้สูงสุดครับ ข้อมูลตรงนี้เป็นเพียงข้อมูลคราวๆ แต่หากใครที่กำลังสนใจสามารถที่จะนำมาแชร์กันได้หรือหาข้อมูลมาเพื่มได้เลย
ใหม่กว่า เก่ากว่า