สวัสดีครับ

   ท่านคงทราบกันดีนะครับ ว่ากฏของมัวร์ Moore's Law (Gordon Moore) ค้นพบในปี 1965 ได้กล่าวไว้ว่า ทุกๆ สิบแปดเดือนความเร็วของซีพียูจะเพิ่มขึ้นเป็นสองเท่า  นั่นคือหากท่านซื้อคอมพิวเตอร์ที่มีซีพียูล่าสุดวันนี้ อีกหนึ่งปีครึ่งถัดไป คุณไปซื้อซีพียูตัวใหม่หรือว่าซื้อคอมตัวใหม่ คุณจะได้ซีพียูที่แรงกว่าเดิมสองเท่า สะใจกว่าสองเท่าครับ (อ่านเพิ่มเติมได้ที่ http://www.firstmonday.org/issues/issue7_11/tuomi/)

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

  ดังนั้นเทคโนโลยีใหม่ตอนนี้ที่เกิดก็คือ การเกิดคอร์คู่ คอร์แฝด สองคอร์ สี่คอร์ แปดคอร์ ขึ้นมานะครับ ที่ว่าดูโอ้ คอร์ (Duo Core) นะครับ นั่นคือ อัดจำนวนซีพียูเพิ่มเข้าไปแทน ในคอมพิวเตอร์ อยู่ที่ว่าบริษัทไหนจะอัดเข้าไปได้เท่าไหร่ในเมนบอร์ด

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

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

  แล้วมีการจัดการหรือคิดเทคโนโลยีไรมาทดแทนหรือประยุกต์ใช้ หรือมีทางเลือกอื่นอีกไหม

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

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

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

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

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

   อันนี้นับว่าเป็นเทคโนโลยีใหม่ในทางการบริหารจัดการความรู้เช่นกันครับ สำหรับงานทางคอมพิวเตอร์

ลองอ่านข้อมูลเพิ่มเติมได้ที่ Nvidia ครับ http://developer.nvidia.com/object/cg_tutorial_home.html

ใครมีเครื่องแรงๆ ก็ลองดูนะครับ เผื่อว่าจะได้ใช้ให้คุ้มค่าสำหรับงานทางกราฟิกนะครับ

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

ขอบคุณมากครับผม

สมพร ช่วยอารีย์