เมื่อไม่นานมานี้ทีมนักวิจัยจาก University of California(Davis, Department of Electrical and Computer Engineering) นำโดยศาสตราจารย์ Bevan Baas และทีมวิจัย(ที่เป็นนักศึกษาระดับบัณฑิตศึกษา) ได้ทำการเสนอผลงานที่จะทำให้โลกเทคโนโลยีของไมโครชิปก้าวขึ้นไปอีกขั้นซึ่งนั่นก็คืองานวิจัย “KiloCore” หรือเอากันซื่อๆ เลยงานของพวกเขาก็คือหน่วยประมวลผลแบบ 1,000 แกนการประมวลผลนั่นเองครับ(ได้มีการเปิดเผยในงานประชุมวิชาการ 2016 Symposium on VLSI Technology and Circuits ในช่วงกลางเดือนมิถุนายนที่ผ่านมา)
“KiloCore” หรือหน่วยประมวลผลแบบ 1,000 แกนการประมวลผลของทีมงานวิจัยนี้ภายในประกอบขึ้นมาจากทรานซิสเตอร์จำนวนมากถึง 621 ล้านตัวเมื่อใช้ในการประมวลผลพร้อมๆ กันจะสามารถที่จะประมวลผลชุดคำสั่งทั้งหมดได้สูงสุดที่ 1.78 ล้านล้านคำสั่งภายในหนึ่งวินาทีเท่านั้น(1.78 trillion instructions per second) หน่วยประมวลผล “KiloCore” ถูกประดิษฐ์โดยทาง IBM เป็นผู้สร้าง die SoC ของหน่วยประมวลผล KiloCore ให้โดยใช้เทคโนโลยี 32 nm CMOS ของทาง IBM ครับ
จุดเด่นของหน่วยประมวลผล “KiloCore” นั้นอยู่ที่แต่ละแกนการประมวลผลสามารถที่จะทำการรันโปรแกรมต่างๆ ของมันเองได้โดยเป็นอิสระต่อกันและในแต่ละแกนการประมวลผลก็สามารถที่จะเก็บชุดคำสั่งต่างๆ(ขนาดๆ เล็ก) ที่เป็นของตัวเองไว้ได้อีกด้วย ซึ่งลักษณะของการรันโปรแกรมของแต่ละแกนการประมวลผลค่อนข้างที่จะเป็นแนวคิดการใช้งานที่มีความยืดหยุ่นอันลึกซึ้งมากกว่าแนวความคิดการประมวลผลแบบ “Single-Instruction-Multiple-Data” ซึ่งเป็นแนวความคิดที่เราพบได้บนหน่วยประมวลผลทั่วไปอย่างเช่น GPU เป็นต้นครับ
ตามที่ Baas บอกนั้น วิธีการในการประมวลผลของ “KiloCore” คือจะทำการแบ่งชุดคำสั่งหนึ่งออกมาเป็นชุดคำสั่งย่อยๆ จำนวนมากๆ และก็ทำการประมวลชุดคำสั่งย่อยเหล่านั้นไปพร้อมๆ กันหลังจากนั้นก็เอาผลลัพธ์ที่ได้มารวมเข้าด้วยกัน ด้วยกรรมวิธีแนวคิดดังกล่าวนี้นั้นเลยทำให้หน่วยประมวลผล “KiloCore” มาพร้อมกับความสามารถในการประมวลผลที่สูงในขณะที่อัตราการใช้พลังงานนั้นต่ำมากครับ
ตามงานวิจัยนั้นระบุว่าความเร็วสัญญาณนาฬิกาของ “KiloCore” นั้นแต่ละแกนการประมวลผลจะมีความเร็วสัญญาณนาฬิกาแยกจากกันโดยสามารถที่จะรันได้สูงสุดที่ 1.78 GHz พร้อมๆ กันทั้งหมดได้(หรือไม่จำเป็นว่าจะต้องมีความเร็วสัญญาณนาฬิกาเท่ากันพร้อมกันก็ได้ทำให้เวลาประมวลผลถ้าแกนไหนไม่ได้ทำงานก็หยุดตัวเองได้ครับ) โดย ณ เวลาที่มีการประมวลผลนั้นข้อเสียของ “KiloCore” ก็คือเรื่องขอปัญหาคอขวดทางด้านหน่วยความจำในการส่งผ่านข้อมูลเนื่องจากว่าจะมีข้อมูลจำนวนมากในการประมวลผลที่ได้จากการแยกชุดคำสั่งดังที่ได้บอกไปครับ
อย่างไรก็ตามแต่ทาง Baas ได้ยกตัวอย่างการใช้งานที่ประหยัดพลังงานของหน่วยประมวลผล “KiloCore” เอาไว้ว่า หากทำการประมวลผลพร้อมกันทั้ง 1,000 แกน “KiloCore” จะสามารถประมวลผลได้ทั้งหมด 115 พันล้านชุดคำสั่งต่อวินาที(instructions per second) โดยจะใช้พลังงานเพียง 0.7 Watts เท่านั้น ซึ่งด้วยประมาณของพลังงานที่น้อยขนาดนี้ทำให้ “KiloCore” สามารถที่จะทำงานได้ด้วยถ่านขนาด AA ก้อนเดียวได้อย่างสบายๆ ซึ่งเอาเข้าจริงๆ แล้วหากเทียบกับหน่วยประมวลผลในปัจจุบันที่วางจำหน่ายหล่ะก็ “KiloCore” สามารถที่จะเอาชนะหน่วยประมวลผลบนโน๊ตบุ๊คได้แบบสบายๆ ครับ
หมายเหตุ – ทางทีมมีความพร้อมเป็นอย่างมากเพราะได้ทำการสร้าง compiler และเครื่องมือ automatic program mapping สำหรับการเขียนโปรแกรมขนาดเล็กที่จะบรรจุเข้าไปในตัวหน่วยความจำ “KiloCore” เรียบร้อยแล้วดังนั้นหากมีใครไปซื้อลิขสิทธิ์มาทำจริงๆ ไม่แน่เราอาจจะได้เห็นหน่วยประมวลผลในการใช้งานแบบก้าวกระโดดจาก 4 แกนหรือ 8 แกนในปัจจุบันที่เราบอกว่ามากแล้วไปเป็น 1,000 แกนได้อย่างสบายๆ ครับ
ที่มา : ucdavis