การวิวัฒนาการสู่ Multi-Core-CPU

1. ความเป็นมาของ CPU แบบ Multi-Core

แต่ก่อน CPU เป็นลักษณะของชิป(chip) ที่ภายในมีหน่วยประมวลผลอยู่หน่วยเดียวต่อมาความต้องการความสามารถในการประมวลผลมีมากขึ้นก็เริ่มมีการพัฒนาความเร็วของซีพียู (CPU) ให้มากขึ้นไปเรื่อยๆให้พอต่อความต้องการ เมื่อความเร็วนั้นพัฒนาขึ้นมากจนยากที่จะทำต่อไปได้จึงมีการนำ CPU มาใช้เทคนิคให้สามารถประมวลผลได้มากขึ้น เราเรียกว่าไฮเปอร์เทรดดิ้ง(Hyper-Threading) การทำงานแบบไฮเปอร์เทรดดิ้ง ยังมีข้อเสียหลายประการและเทคโนโลยีซีพียู จึงพัฒนามาสู่ยุคของซีพียูแบบหลายหน่วยประมวลผลหรือที่เรียกว่า (core) ซึ่งทำให้การพัฒนา สมรรถนของซีพียูเป็นไปอย่างก้าวกระโดด




รูปที่ 1 ภาพของซีพียูแบบดูอัลคอร์
(http://features.cgsociety.org/stories/2005_12/cgretro_2005/06_pic.jpg, 2007)
 
2. เรื่องราวทั่วไปเกี่ยวกับซีพียู

2.1 central processing unit (CPU)

เป็นองค์ประกอบหลักของเครื่องคอมพิวเตอร์ ทำหน้าที่ในการคำนวณหรือประมวลผลชุดคำสั่ง ประกอบไปด้วยวงจรขนาดเล็กจำนวนมากที่สลับซับซ้อนที่ทำหน้าที่ประมวลผลเชิงตรรกะ(ALU) และส่วนประกอบหลักภายในซีพียูเป็นดังนี้

มีส่วนประกอบหลักภายในดังนี้

-อินพุต(Input) คือหน่วยที่ทำหน้าที่รับข้อมูล

-เอาท์พุต(Output) คือหน่วยที่ส่งข้อมูลออก

-Storage Memory คือหน่วยความจำหรือเก็บข้อมูล

ทั้งสามอย่างนี้จะรวมกันเป็นหน่วยประมวลผลหนึ่งหน่วย ซึ่งจะหมายถึงโปรเซสหรือการประมวลผล(process) ได้ครั้งละ 1 โปรเซส ต่อหนึ่งหน่วยเวลาของ ซีพียูเมื่อโปรเซส เข้ามาหลายๆ โปรเซสอย่างต่อเนื่องเราเรียกสิ่งนั้นว่าเทรด (thread) การทำไฮเปอร์เทรดดิ้งนี้เปรียบเสมือนสัญลักษณ์ของการจุดประกายการทำให้ ซีพียูได้มาซึ่งการประมวลผลทีละหลายงานพร้อมกัน
 
2.2 วิวัฒนาการของซีพียู

CPU จาก 8 บิต ถึง 64 บิต

การส่งข้อมูลนั้นจะสูงมาเป็น ชุดๆ แต่ละชุดนั้นสามารถอ้างที่อยู่(address) ได้กี่ตัว ก็ใช้เลขบิต(Bit) ตัวนี้เป็นตัวกำหนดว่าสามารถอ้างที่อยู่ ได้มากน้อยเพียงใด ยิ่งอ้างได้มากนั่นหมายถึงทำให้ส่งข้อมูลเข้าหรืออออกที่ซีพียูตามไปด้วย ซึ่งไม่ว่าจะทำงานเป็น 8,16,32,64 บิตได้หรือไม่นั้นต้องขึ้นอยู่กับระบบปฏิบัติการที่รองรับการทำงานด้วย

8086, 8088 ซีพียูสำหรับเครื่องคอมพิวเตอร์ ตระกูลเครื่องพีซีหรือคอมพิวเตอร์ส่วนบุคคล(PC) ตัวแรกเป็นผลผลิตของบริษัทอินเทล(Intel) ยักษ์ใหญ่มือวางอันดับหนึ่งของวงการซีพียูนั่นเอง

80286 ยุคเริ่มต้นซีพียูขนาด 16 บิตเริ่มจากซีพียูตัวนี้

80386, 80486 เป็น CPU เบอร์แรกที่ประมวลผลทีละ 32 บิต ทำให้สามารถจัดการหน่วยความจำได้ดีกว่า 80286

Pentium เนื่องจากเริ่มมีบริษัทอื่นๆ ผลิตซีพียูสำหรับพีซีออกมาแข่งขันกับอินเทลจึงทำให้ CPU รุ่น

ถัดมาของ Intel ไม่ใช้ชื่อเรียกเป็นหมายเลข ใช้เป็นชื่ออื่นแทน

Pentium MMX, AMD K6 3DNOW, Cylix 6X86MX คือ Pentium ที่เพิ่มความสามารถในเชิงมัลติมิเดีย (MMX สำหรับ Pentium, 3DNOW)

Intel Itanium Intel ได้ตั้งชื่ออย่างเป็นทางการให้กับ CPU 64 บิตของตัวเองว่า Itanuim
จากที่กล่าวมาข้างต้นจะเห็นว่า ในยุคเริ่มแรกซีพียู เป็นแบบหน่วยประมวลผลเดี่ยว


(single-core) แล้วจึงพัฒนาเป็นหลายหน่วยประมวลผล(multi-core) ซึ่งคาดว่าจะพัฒนาต่อไปอีกในอนาคตอาจจะมีชิปที่มีหน่วยประมวลมากมาย(many-core) ดังกราฟข้างล่าง แสดงถึงการพัฒนาของCPU ควบคู่กับประสิทธิภาพและการใช้พลังงาน
 
ที่ 2 แสดงกราฟวิวัฒนาการของ CPU จนเป็น Dual-core (Intel, 2007)
เมื่อซีพียูในช่วงแรกมีหน่วยประมวลผลอยู่หน่วยเดียวและทำงานด้วยความเร็วต่ำอยู่ ซึ่งจุดประสงค์หลักของการทำซีพียูที่ดีนั้น นักวิชาการก็มองว่ามีดังต่อไปนี้คือ ต้องมีความเร็วนาฬิกา(clockspeed) ที่สูงหมายถึงการประมวลผลได้เร็ว แคชหรือหน่วยความจำภายใน(Cache) ขนาดใหญ่ ทำให้ไม่ต้องเสียเวลาในการสลับสับเปลี่ยนข้อมูลจากหน่วยความจำหลัก(Main Memory) บัสที่สูงที่จะทำให้ซีพียูนั้นตอบสนองได้เร็วเนื่องจากเป้นเสมือนช่องทางเดินของสัญญาน และซีพียูที่ทำงานติดต่อกันได้เป็นเวลานาน ทนทานและใช้พลังงานต่ำ

2.3 Hyper-Threading (Intel, 2000)

การทำงานจะทำการจัดการข้อมูลต่างๆที่วิ่งเข้า-ออก (I/O) ได้มากกว่า 1 เทรดเมื่เปรียบเทียบกับการทำงานในซีพียูปกติที่ไม่ได้เป็นไฮเปอร์เทรดดิ้งการที่ซีพียูทำงานส่งข้อมูลประมวลผลนั้น จะสามารถใช้แบนวิทหรือช่วงทางเดินสัญญาณ (Bandwidth) มากขึ้นเพียง 35% เท่านั้นเองต่อการทำงานหนึ่งอย่าง แต่ถ้าเป็นดูอัลซีพียูหรือซีพียูสองตัว(Dual CPU) สามารถทำงานได้เร็วกว่าถึงเกือบสองเท่า และส่งงานต่างๆ ออกมาให้ทำทีละสองชิ้น (2 Thread) พร้อมกันอย่างแท้จริง แต่การทำงานแบบไฮเปอร์เทรดดิ้งนั้นเป็นการทำงานกับโปรเซสได้ทีละมากกว่า 1 process ต่อหนึ่งหน่วยเวลา โดยเป็นการใช้เทคนิคของตารางงานซีพียู(CPU Schedule) และหน่วยความจำภายในเพื่อทำให้ซีพียู จัดการโดยที่ไม่เพิ่มหน่วยประมวลผล(core) ผลที่ได้ทำให้ได้ความเร็วในการประมวลผลเพิ่มขึ้นมาจากชิปยุคเดิมเล็กน้อย ปัจจุบันวันนี้ซีพียูทั้งหมดเป็นไฮเปอร์เทรดดิ้ง ซึ่งทำให้พูดได้ว่าไฮเปอร์เทรดดิ้งเป็นเทคโนโลยีพื้นฐานที่จำเป็นต้องเพิ่มเข้าไปในซีพียูยุคปัจจุบัน

รูปที่ 3 แสดงการทำงานของไฮเปอร์เทรดดิ้ง (Intel, 2007)


3. ข้อมูลทั่วไปของซีพียู Multi-Core

ภายใน Chip CPU นั้นมีหน่วยประมวลผลย่อย ที่เราเรียกว่าคอร์มากกว่า แต่ละคอร์มีหน่วยความจำหลักเป็นของตัวเอง เรียกว่าแคชระดับที่1 หรือ L1(Cache L1)แต่ละแกนอาจจะมีการใช้หน่วยความจำร่วมกันเรียกว่าแคช L2 การเข้าถึงข้อมูลที่อยู่ภายในแคช L1 นั้นสามารถทำได้รวดเร็วกว่าการเข้าถึงแคช L2 หรือการเข้าถึงข้อมูลจากหน่วยความจำหลัก แต่การออกแบบโครงสร้างซีพียูนั้น จะต้องมีส่วนที่ทำงานร่วมกันได้ด้วย เพื่อที่จะทำให้สามารถประมวลผลร่วมกันได้ซึ่งส่วนที่จำทำงานร่วมกันก็คือแคช L2 นั่นเอง

รูปที่ 4 แสดงความโครงสร้างโดยคร่าวของ Dual-Core, Quad-Core (http://en.wikipedia.org/wiki/Multi-core, 2007)

3.1 Cache Memory
แคช(cache) คือน่วยความจำขนาดเล็กที่มีความเร็วสูงซึ่งเก็บข้อมูล หรือคำสั่งที่ถูกเรียกใช้หรือเรียกใช้บ่อยๆ ข้อมูลและคำสั่งที่เก็บอยู่ในแคชซึ่งทำงานโดยใช้ SRAM(STATIC RAM) จะถูกดึงไปใช้งานได้เร็วกว่าการดึงข้อมูลจากหน่วยความจำหลัก(MAIN MEMORY)ซึ่งใช้ DRAM (DYNAMIC RAM )หลายเท่าตัวโดยในแคชของซีพียูแบบมัลติคอร์นั้น ก็มีถึงสองระดับคือแคช L1 และแคช L2 ซึ่ง ซึ่งขนาดของแคชนั้นก็จะแตกต่างกันออกไปแล้วแต่รุ่นของซีพียูนั้นๆ แต่โดยส่วนใหญ่ในขณะนี้(ปี 2550) มีขนาดอยู่ที่ 2-4 เมกกะไบท์โดยประมาณ


3.2 Clock Speed
ใช้อธิบายความถึงสมรรถนะของซีพียู บอกถึงความเร็วในการประมวลผล ตัวอย่างเช่น ซีพียูที่มีความเร็วสัญญาณนาฬิกา(Clock Speed) 3.2 GHz. สามารถทำงานได้เร็ววกว่า ซีพียูที่มีความเร็วสัญญานนาฬิกา 2.8 GHz ความเร็วสัญญานนาฬิกาเรียกอีกอย่างหนึ่งว่า Clock rate คือ ความเร็วที่ซีพียูประมวลผลคำสั่ง มีหน่วยวัดเป็นรอบต่อวินาทีหรือเฮิร์ท(Hz) เครื่องคอมพิวเตอร์ทุกเครื่อง ต้องมีระบบสร้างสัญญาณนาฬิกาภายใน เพื่อใช้เป็นสัญญาณอ้างอิง ในการจัดระเบียบการประมวลผลคำสั่ง และควบคุมการทำงานของอุปกรณ์ต่างๆ ให้สอดคล้องกันอีกด้วย

ในซีพียูแบบมัลติคอร์นั้น มิได้เน้นการพัฒนาทางด้านการเพิ่มความเร็วของสัญญานนาฬิกามากมายนักเนื่องจากการเพิ่มความเร็วของสัญญานนาฬิกา จะเป็นการเพิ่มความต้องการพลังงาน ซึ่งเป็นผลทำให้ความร้อนก็เพิ่มขึ้นด้วย



4. Dual-Core CPU
ดูอัลคอร์ (Dual-core) เป็นเทคโนโลยีการประมวลผลแบบคู่ขนาน โดยการอาศัยหน่วยประมวลผลอิเล็กทรอนิกส์หลายตัว มาคำนวณปัญหาที่ซับซ้อนร่วมกัน ซึ่งพัฒนาการล่าสุดของเทคโนโลยีดังกล่าว คือการสร้างชิปที่มีกำลังประมวลผล เทียบเท่าไมโครโพรเซสเซอร์ 2 ตัวโดยพื้นฐานคือการนำไมโครโปรเซสเซอร์ 2 ตัวมารวมกันไว้ในแพ็คเกจชิปเดียวกัน การทำงานจะเสมือนระบบซิงเกิลคอร์ที่ซัพพอร์ตเทคโนโลยีมัลติเธรด (Multithread) คือสามารถทำงานหลายๆงานหรือหลายๆเธรดได้ในเวลาเดียวกัน แต่ต่างกันตรงความเร็วที่ต่ำกว่าและกินไฟน้อยกว่า เมื่อมีหน่วยประมวลผลสองหน่วย จะทำให้สามารถทำงานได้สองเทรดอย่างแท้จริง เนื่องจากมีหน่วยประมวลผลสองหน่วยจริงๆ แตกต่างจากการทำเทคนิคของซีพียูแบบไฮเปอร์เทรดดิ้ง ซึ่งจะแสดงให้เห็นได้ชัดเจนมากขึ้นดังรูป



รูปที่ 5 แสดงการทำงานของดูอัลคอร์ (Intel, 2007)
4.1 ประโยชน์ของ Dual-core
ชิปประเภทดูอัลคอร์นั้นเป็นที่นิยมแพร่หลายในปัจจุบัน(2007) สำหรับเครื่องคอมพิวเตอร์ส่วนบุคคลประโยชน์ของมันคือการทำงานแบบหลายงานได้ใน เวลาเดียวกันดังที่ได้อธิบายไปแล้วในแง่ของความเร็วซีพียูแบบดูอัลคอร์จะประมวลผลได้เร็วกว่าซีพียูแบบซิงเกิลคอร์เนื่องจากเป็นการทำงานของหน่วย ประมวลผลสองหน่วยจะช่วยกันทำงานพร้อมกันในแง่ของความประหยัดพลังงานดังที่กล่าวไปข้างต้นแล้วว่าการพัฒนาซีพียูแบบมัลติคอร์นั้น จะไม่เน้นการความเร็วของสัญญานนาฬิกาแต่จะเน้นในเรื่องของการเพิ่มจำนวนของคอร์ทำให้ความเร็วเพิ่มขึ้นเกือบสองเท่าดังนั้นการใช้พลังงานจะลด ต่ำลงกว่าชิปที่มีความเร็วสัญญานนาฬิกาที่สูงในแง่ของความมีเสถียภาพเป็นผลพวงมาจากการใช้พลังงานที่ต่ำทำให้ความร้อนไม่สูงมาก จึงสามารถทำงานได้อย่างต่อเนื่อง ในส่วนของเปรียบเทียบข้อมูลทางเทคนิคในการพัฒนาซีพียูแบบมัลติคอร์ (multi-core optimization) จะกล่าวถึงในบทต่อไป

4.2 Dual-Core กับการนำมาใช้งาน

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



5. Quad-Core CPU

ควอดคอร์ซีพียูหรือชิปแบบที่หน่วยประมวลผลสี่หน่วยเป็นการพัฒนาขั้นต่อมาของดูอัลคอร์ ซึ่งได้เปรียบเทียบให้ดูจากรูปข้างบนหลักการทำงานนั้นเหมือนกันกับดูอัลคอร์ แต่จะมีหน่วยประมวลผลถึงสี่หน่วยประมวลผลนั่นคือสามารถทำงานได้พร้อมกันถึงสี่เทรดเป็นการเพิ่มสมรรถนะของซีพียูขึ้นไปอีก และได้รวมข้อดีของซีพียูแบบดูอัลคอร์ไว้หมดแล้วไปโดยปริยาย

5.1 ประโยชน์ของ Quad-Core

ชิปประเภทนี้นิยมนำมาใช้งานสำหรับงานที่ต้องการพลังการประมวลผลระดับสูงและการทำงานพร้อมกันทีละหลายงาน และชิปประเภทนี้ได้รวมเอาข้อดีทั้งหมดของดูอัลคอร์ไว้หมดแล้ว นั่นคือทั้งความเร็ว การประหยัดพลังงาน อุณหภูมิ แต่ส่วนที่เพิ่มขึ้นมาคือหน่วยประมวลผล และแคชที่ใหญ่กว่าดูอัลคอร์มาก ทำให้การทำงานยิ่งรวดเร็วขึ้นไปอีก

5.2 Quad-Core กับการนำมาใช้งาน

เป็นที่รู้กันแล้วควัดคอร์รวมเอาข้อดีของดูอัลคอร์ไว้หมดแล้ว ดังนั้นงานที่ดูอัลคอร์ทำได้ควัดคอร์ก็ย่อมทำได้ดีเช่นกัน แต่งานที่เหมาะสมกับควัดคอร์นี้จะเป็นงานที่เกี่ยวกับเซิร์ฟเวอร์ เพราะเนื่องจากต้องการความรวดเร็วในการประมวลผล และมีการเรียกใช้งานกับไคลเอนท์จำนวนมากดังนั้นชิปแบบควัดคอร์นี้จะมีความเหมาะสมในการจัดทำเป็นเซิร์ฟเวอร์ ระยะเวลาในการใช้งานก็มีส่วนมาก เนื่องจากการทำงานแบบสี่หน่วยประมวลผล จะสามารถแบ่งเบาภาระงานในการประมวลผลได้ ทำให้การรักษาความร้อนเป็นไปอย่างดีเยี่ยมทำให้สามารถทำงานให้บริการเครื่องลูกข่ายได้อย่างต่อเนื่อง

6. ข้อมูลทางเทคนิคเกี่ยวกับการพัฒนา

ในบทนี้เราจะมาดูกันถึงการพัฒนาสมรรถณะของซีพียูแบบมัลติคอร์ว่าเป็นไปอย่างไร ทั้งในแง่ของความเร็วและพลังงาน ทำให้เราทราบถึงที่มาของซีพียูลักษณะนี้ และจะกล่าวถึงข้อเสียของซีพียูประเภทมัลติคอร์ด้วย

6.1 การพัฒนา

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


6.2 ข้อดี

1. การดีไซน์ซีพียูแบบมัลติคอร์ทำให้แคชของแต่ละคอร์ออกแบบมาให้แคบอยู่ใกล้กันกับซีพียูทำให้สัญญาณที่สิ่งระว่างแคชไปที่ซีพียูนั้นเป็นไปอย่างรวดเร็ว

2. ในแต่ละที่ประกอบไปด้วยซีพียูและแคชนั้นอยู่ใกล้กันมากดังนั้นจึงมีการเพิ่มเทคโนโลยีที่ชื่อว่า Cache coherency ซึ่งเป็นการทำให้ข้อมูลในแต่ละแคชนั้นเข้าถึงกันได้ สามารถแบ่งงานกันโหลดได้ระหว่างหน่วยประมวลผล

3. เนื่องจากมัลติคอร์ใช้พื้นที่ของแผงวงจรน้อยกว่า ทำให้มีสมรรถนะสูงกว่า ขณะที่อัตราการใช้พลังงานยังคงอยู่ในระดับเดียวกันเมื่อเทียบกับซีพียูแบบเดิม นอกจากนั้น ระบบจัดการความร้อนที่เล็กลงทำให้ใช้ไฟน้อยลงด้วย จึงช่วยประหยัดพลังงาน แต่ความร้อนกลับน้อยลง เพราะมัลติคอร์ ไม่ได้ใช้งานทุกคอร์ตลอดเวลา

4. ราคาลดต่ำลงมาเรื่อยๆ จนในตอนนี้เครื่องคอมพิวเตอร์ส่วนบุคคลใหม่ๆก็เริ่มทยอยกันใช้ซีพียูแบบดูอัลคอร์กันหมดแล้ว

รูปที่ 6 ภาพแสดงโครงสร้างของ Cache coherency
(http://en.wikipedia.org/wiki/Multi-core, 2007)

6.3 ข้อเสีย

1. การเพิ่มจำนวนหน่วยประมวลผลให้สามารถบรรจุอยู่ในซีพียูเพียงแค่ตัวเดียวได้นั้นต้องการความละเอียดสูงเป็นหน่วยนาโนเลยทีเดียวนั่นคือปัญหาของความยากในการผลิตทำให้ซีพียูนั้นมีราคาแพง

2. Application ที่จะทำงานร่วมกับมัลติคอร์ได้อย่างมีประสิทธิภาพต้องรองรับการทำงานแบบมัลติคอร์ด้วย 3.การทำงานบางอย่างซิงเกิลคอร์ก็ประมวลได้เรวกว่าดูอัลคอร์อยู่


7. ผลกระทบที่เกิดจากมัลติคอร์

การพัฒนาชิปประเภทมัลติคอร์นั้นส่งผลกระทบกับเทคโนโลยีด้านคอมพิวเตอร์หลายอย่างไม่ว่าจะเป็นฮาร์ดแวร์ ซอฟแวร์ เนตเวิร์ค ก็เปลี่ยนผันพัฒนาไปตามความเร็วของซีพียูที่มีมากขึ้น

7.1 ผลกระทบทางด้านฮาร์ดแวร์

เมื่อมีการประมวลผลที่รวดเร็วขึ้น ต้องเพิ่มหน่วยความจำหลักเพื่อให้เหมาะสมกับความเร็วของซีพียูนั่นคือการเพิ่มแรมนั่นเองทำ อีกทั้งการพัฒนาโปรแกรมมีแนวโน้มว่าโปรกแรมจะขนาดใหญ่ขึ้นเรื่อยๆ การประมวลผลข้อมูลจำนวนมากแน่นอนว่าต้องการแหล่งเก็บข้อมูลขนาดที่เพิ่มขึ้น ทำให้การเพิ่มแหล่งเก็บข้อมูลนั้นก็จำเป็นไม่แพ้กันนั่นก็คือขนาดของฮาร์ดดิสต้องใหญ่ขึ้นตามมา การพัฒนาช่องทางการติดต่อ (interface)ก็ต้องได้รับการปรับปรุงเช่นกัน อาจจะเพื่อการนำสัญญาณที่ดีขึ้นหรือรองรับกับขนาดของชิปทำให้สล๊อต(Slot) ที่อยู่บนเมนบอร์ดจะต้องมีการปรับเปลี่ยนไป

รูปที่ 7 เมนบอร์ดที่รองรับชิปแบบดูอัลคอร์
(http://www.pantipmarket.com/computer/picture/C5601480.jpg, 2007)

7.2 ผลกระทบทางด้านซอฟท์แวร์

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

รูปที่ 8 เกมส์ Star Craft 2 ที่ต้องการซีพียูแบบมัลติคอร์
(http://starcraft2weblog.com/wp-content/uploads/starcraft2screenshot1.jpg, 2007)

7.3 ผลกระทบต่อผู้ใช้งาน

การใช้งานของผู้ใช้งานเป็นไปในทิศทางที่ดีขึ้นมาก เพราะว่าแต่ก่อนการทำงานนั้นจะเน้นทำให้เสร็จไปทีละงาน เนื่องจากข้อจำกัดด้านสมรรถนะของซีพียู แต่เมื่อมีมัลติคอร์เข้ามามีส่วนช่วยในการประมวลผลแทนที่ชิปแบบเดิมๆ การทำงานทีละหลายๆอย่างพร้อมกันจะเป็นไปได้อย่างดีเยี่ยมมากขึ้น ผู้ใช้งานอาจจะฟังเพลง เรนเดอร์งานมัลติมีเดียร์ และเล่นเกมส์ไปด้วยในเวลาเดียวกันได้เลยก็สามารถทำได้ เนื่องจากการที่มีหน่วยประมวลผลหลายหน่วยนั่นก็หมายถึงการงานได้ทีละหลายๆงาน หรือว่าจะเป็นส่วนติดต่อกับผู้ใช้(User Interface) แบบใหม่ที่ต้องใช้กำลังการประมวลผลเช่น มัลติทัชสกรีน ก็จะเป็นเรื่องที่ไกล้ตัวเรามากยิ่งขึ้น อีกทั้งแนวโน้มในการใช้งานก็จะมีการใช้งานซีพียูแบบมัลติคอร์กันอย่างแพร่หลายจากข้อดีของมันนั่นเอง ดังที่ได้เห็นทุกวันนี้การเลือกซื้อคอมพิวเตอร์ใหม่ๆ ก็จะถามถึงแต่มัลติคอร์ซีพียูกันทั้งนั้น ไม่ว่าจะเป็นเครื่องคอมพิวเตอร์ส่วนบุคคล หรือเมนเฟรมก็ตามแต่


8. การเลือกซื้อซีพียูแบบมัลติคอร์

การเลือกซื้อมีหลักการดังต่อไปนี้

1. ความต้องการว่าท่านต้องการซื้อมัลติคอร์ซีพียูไปทำอะไร

2. ประเภทการใช้งานว่าการใช้งานเกี่ยวกับด้านไหน เป็นการใช้งานทั่วไปหรือเฉพาะทาง

3. ความเร็วของซีพียูว่าเพียงพอต่อความต้องการของโปรแกรมที่ท่านจะนำไปใช้งานหรือไม่

4. หน่วยความจำภายในหรือแคชต้องมีขนาดใหญ่พอและเหมาะสมกับองค์ประกอบโดยรวม

5. องค์ประกอบโดยรวมของเครื่องนั่นคือต้องมีความสัมพันธ์ระหว่างหน่วยความจำ ความเร็วเครือข่าย ความสามารถของการ์ดแสดงผล ความจุข้อมูล ความสามารถในการจ่ายไฟ เป็นต้น

6. ราคาต้องไม่แพงเกินกว่าที่จะซื้อหามาได้

7. ประกัน แม้ว่าจะไม่ส่งผลต่อการใช้งาน แต่ก็เป็นสิ่งที่จำเป็นเช่นกันหากมีความเสียหายที่เกิดขึ้นกับชิป


8.1 ระดับของการใช้งานแต่ละประเภท

8.1.1 Home User / Office

เน้นไปที่ใช้งาน application ทั่วไป มีเสถียรภาพ จะเลือกชิปที่ไม่ต้องแพงแคชไม่มากและความเร็วไม่ต้องสูง เพื่อจะได้ราคาที่คุ้มค่าที่สุด เช่น

Chip : Sempron64,Athlon64,Core2Duo

Clock :2200~3000 GHz

Cache : 512~1024 KB


8.2.2 Notebook

ทำงานได้ในลักษณะที่เหมือนกับ Home User เน้นไปที่การประหยัดพลังงาน

เลือกชิปที่ออกแบบมาสำหรับ notebook โดยเฉพาะของแต่ละค่ายและราคาจะสูงกว่าปกตินิดหน่อยเช่น

Chip : Turion64,PentuimM

Clock :2000~2800 GHz

Cache : 512~1024 KB

8.2.3 Developer

สำหรับนักพัฒนาที่ต้องการใช้ในการเขียนโปรแกรม ต้องการความรวดเร็วและหน่วยความจำจำนวนมาก มีเสถียรภาพใช้งานได้อย่างต่อเนื่อง ประมวลผลได้ทีละหลายงานพร้อมกัน จะเลือกหาชิปที่มีขนาดของ clock สูงๆ

Chip : Core2Extreme , Athlon64X2

Clock :3800~4500 GHz

Cache : 2~4 MB

8.2.4 Multimedia

สำหรับนักพัฒนาที่ต้องการใช้ในการเขียนโปรแกรม ต้องการความรวดเร็วและหน่วยความจำจำนวนมาก มีเสถียรภาพใช้งานได้อย่างต่อเนื่องเป็นเวลานานจะเลือกหาชิปที่มีขนาดของ cache มากๆ

Chip : Core2Quad , Athlon64X2

Clock :3200~3800 GHz

Cache : 4~6 MB

8.2.5 Workstation

ต้องการความทนทาน สามารถใช้งานได้อย่างต่อเนื่องและต้องการหน่วยความจำจำนวนมาก ดังนั้นจึงแสดงตัวอย่างสเปกเครื่องดังนี้

Intel? Core? 2 Extreme quad-core Xeon

Clock : 2.66-3.00 GHz

Mfg. Process : 65 nm

Transistors 582 million

Addressable Memory : 64 GB

Cache L2 : 8 MB

Bus : 1066-1333 MHz

นอกจากนี้ก็ยังมีของค่ายอื่นๆเช่น UltraSPARC T2, T1 , Cell(IBM)


8.2.6 Mainframe

มีความปลอดภัย อุณหภูมิต่ำ ทำงานอย่างต่อเนื่อง มีความรวดเร็วใช้หน่วยความจำมากเราจะใช้ CPU ที่มีคุณภาพสูงเป็นรุ่นที่ออกแบบ

มาเพื่อนเฉพาะรุ่นที่รองรับกับอุปกรณ์และระบบปฏิบัติการของเมนเฟรมนั้นๆจะขายเป็นชิปและอุปกรณ์ต่อพ่วงต่างๆที่สามารถทำงานเข้ากันได้ดี อย่างเช่นชุดเซฟเวอร์ของ IBM, SunMicrosystem เป็นต้น


9. แนวโน้มในอนาคตและบทสรุป

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

9.1 TeraSacle

เทอราสเกลหรือบางค่ายก็เรียกว่าเทอราฟล็อบส์(Teraflops)แต่ในที่นี้จะเรียกรวมว่าเทอราสเกลเป็นเทคโนโลยีซีพียูแบบหลายคอร์ที่กำลังพัฒนา และจะเปิดตัวใช้งานในอนาคตอันใกล้นี้แนวคิดนี้มาจากการเพิ่มจำนวนหน่วยประมวลผลเข้าไปในซีพียทำให้ประสิทธิภาพในการใช้พลังงานเพิ่มขึ้น โดยเริ่มจากการเพิ่มจำนวนคอร์เป็นสอง นั่นก็คือซีพียูแบบดูอัลคอร์ที่ประหยัดพลังงานและทำงานได้เร็วกว่าซิลเกิลคอร์ และเพิ่มคอร์เป็นสี่ ก็ทำให้ได้ซีพียูแบบควัดคอร์ที่ทำงานได้เร็วและใช้พลังงานอย่างมีประสิทธิภาพมากกว่าดูอัลคอร์ ดังนั้นจึงมีแนวคิดการเพิ่มจำนวนคอร์ให้มากๆเป็น Many Core ซีพียู หรือซีพียูที่มีหน่วยประมวลผลมากมายภายในชิปตัวเดียว



ข้อดีของเทอราสเกลนั้นทำให้หน่วยประมวลผลที่มีมากมายสามารถถูกแบ่งออกมาประมวลผลเฉพาะด้านและแบ่งเบาภาระงานกันเองได้เนื่องจา

กโครงสร้างของชิปแบบเทอราสเกลในหนึ่วงหน่วยประมวลผลนั้นนั้นแบ่งออกเป็นCore หรือหน่วยประมวลผลทำหน้าที่ประมวลผลทำหน้าประมวลผล

Internal Cache หรือแคช L1 นั่นเองซึ่งหน่วยความจำภายใน

Shared Cache หรือแคช L2 เพื่อให้แต่ละตัวทำงานร่วมกัน

Routing เป็นส่วนที่เพิ่มเข้ามาใหม่ เมื่อมีหน่วยประมวลผลจำนวนมากจะต้องมีตัวที่คอยจัดการการทำงานร่วมกันของแต่ละหน่วยประมวลผล

ส่วนการวางตัวเรียงกันของหน่วยประมวลผลคล้ายกับการปูกระเบื่องจึงเรียกโครงสร้างแบบนี้ว่าสถาปัตยกรรมซีพียูแบบ Tiled Processor

รูปที่ 9 แสดงโครงสร้างแบบ Tiled ของเทอราสเกล
(PC Perspective, 2007)
ซีพียูแบบเทอราสเกลนั้นช่วยกระประมวลผลการทำงานดังนั้นจึงทำให้ซีพียูแห่งอนาคตตัวนี้ทำงานที่อุณหภูมิที่ต่ำในความเร็วที่สูงและใช้พลังงาน อย่างมีประสิทธิภาพมากกกว่าสิ่งที่น่าสนใจประการต่อมาของเทคโนโลยีแบบเทอราสเกลนี้คือการมีหน่วยความจำแบบแนบชิดติดกันกับซีพียูซึ่ง จะมาแทนที่หน่วยความจำหลักหรือแรมนั่นเองสาเหตุที่เป็นเช่นนั้นก็เพราะว่าการมีหน่วยความจำที่หลักที่ชิดกันกับซีพียูทำให้ระยะทางการเดินทางข้อมูลนั้นสั้นลง ซึ่งนั่นหมายถึงความเร็วในการทำงานก็จะเพิ่มขึ้นอีกด้วย เราเรียกว่าการเข้าถึงหน่วยความจำแบบนูม่า (NUMA)

รูปที่ 10 แสดงลักษณะหน่วยความจำแบบนูม่า
(PC Perspective, 2007)

การนำเทอราสเกลไปประยุกต์ใช้ตอนนี้ยังอาจจะไม่มีใครมองภาพออกด้วยความที่สมรรถนะอันสูงส่งของมัน อีกทั้งในขณะนี้ยังไม่มีการนำออกมาวางจำหน่ายให้ทดลองกัน แต่มีการคาดคะเนไว้ว่าความต้องการที่เพิ่มขึ้นของมนุษย์ทำให้ชิปนั้นต้องพัฒนาต่อไปและการนำเทอราสเกลมาใช้ก็เพื่อการประมวลผลที่รวดเร็ว และทำงานได้ทีละหลายโปรเซส ซึ่งก็จะตอบสนองต่อความต้องการของเราได้นั่นเอง


9.2 บทสรุป

ตั้งแต่อดีตความต้องการความเร็วในการประมวลผลของซีพียูเพิ่มขึ้นเรื่อยๆ มีการพัฒนาเทคนิคต่างๆเพื่อให้ซีพียูประมวลผลได้เร็วขึ้น ไม่ว่าจะเป็นการเพิ่มความเร็วของสัญญานนาฬิกาการเพิ่มขนาดของแคช การใช้เทคนิคจัดการตารางงานของซีพียูที่มีคุณภาพ การเพิ่มจำนวนของหน่วยประมวลผล และเดี๋ยวนี้ยังคำนึงถึงการเพิ่มประสิทธิภาพในการใช้พลังงาน แต่ดูเหมือนว่าความต้องการพลังในการประมวลผลนั้น ยังไม่มีวี่แววว่าจะถึงจุดสิ้นสุด การพัฒนายังคงเป็นไปอย่างต่อเนื่อง และเทคโนโลยีไดที่เราคิดว่าสูงส่ง อาจจะกลายเป็นแค่ของธรรมดาๆ ที่มีใช้กันอยู่ทั่วไปในอนาคตอย่างเช่นดูอัลคอร์ ที่ใช้งานกันอย่างแพร่หลายในปัจจุบัน การเปลี่ยนแปลงครั้งยิ่งใหญ่นี้คือการเพิ่มหน่วยประมวลผลทำให้เกิดผลกระทบครั้งใหญ่ต่อวงการคอมพิวเตอร์ ไม่ว่าจะเป็นทางด้านฮาร์ดแวร์ ซอฟท์แวร์ เนตเวิร์ค หรือยูเซอร์ ก็ต่างเปลี่ยนแปลงไปตามกระแสของชิปกันทั้งหมด ผลที่ตามมาคือเราสามารถทำงานได้เร็วขึ้น ทำงานได้หลายอย่างมากขึ้น และคอมพิวเตอร์ก็ตอบสนองกับเราในสิ่งที่หลากหลายไปกว่าเดิม เมื่อข้อจำกัดทางด้านของหน่วยประมวลผลถูกพัฒนาไปในทางที่ดีขึ้นเช่นนี้เราเองซึ่งเป็นผู้ใช้งานก็ต้องมีความรู้เกี่ยวกับเทคโนโลยีใหม่ๆอยู่เสมอเพื่อปรับตัว ให้เข้ากับเทคโนโลยีในปัจจุบันได้อย่างทันสมัยและใช้ประโยชน์จากมันให้ได้มากที่สุด

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

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


บรรณานุกรม
_ . (2007). Multi-core (computing). http://en.wikipedia.org/wiki/Multi-core

_ . (2007). Cache. http://en.wikipedia.org/wiki/Cache

_ . (2007). Intel. http://www.intel.com/multi%2Dcore

_ . (2007).Process (Computing). http://en.wikipedia.org/wiki/Process_%28computing%29

http://en.wikipedia.org/wiki/Process_%28computing%

PC Perspective. (2007). Terascale. http://www.blognone.com/node/3929

 
อ่านข้อมูลเพิ่มเติมได้ที่
http://202.28.94.55/web/322461/2550/report/g2/multi_core.html#menu5

ไม่มีความคิดเห็น: