งาน ARM Tech Day ในช่วงน่าแปลกใจคือการบรรยายของ James Bruce ผู้อำนวยการฝ่ายโซลูชั่นโมบายออกมาระบุว่าซีพียู 8 คอร์ที่ผู้ผลิตจีนนิยมนั้นใช้ประโยชน์ในซอฟต์แวร์จริงได้ยากมาก (incredibly hard) แต่ผู้ผลิตจีนก็ชอบใส่ 8 คอร์เพราะคนจีนชอบเลข 8 และเป็นการตลาด
ARM เปิดตัว Cortex-A7 มาโดยแนะนำให้ใช้งานเป็นคอร์สำรองในกรณีที่โหลดต่ำ คู่กับ Cortex-A15 โดยสลับการทำงานไปมาตามโหลดจริงด้วยสถาปัตยกรรม bit.LITTLE แต่ผู้ผลิตหลายรายกลับเลือกผลิตชิป Cortex-A7 ติดกัน 8 คอร์
ทาง ARM แนะนำว่าหากต้องการใส่คอร์จำนวนมาก ARM แนะนำให้ใส่ 6 คอร์โดยเป็น Cortex-A15 จำนวน 2 คอร์ และ Cortex-A7 จำนวน 4 คอร์ จะทำให้ต้นทุนการผลิตต่ำลงและผู้ใช้ได้รับความเร็วดีขึ้น โดยซอฟต์แวร์เกือบทั้งหมดที่ต้องการซีพียูสูงๆ มักใช้งานซีพียูไม่เกินสองคอร์
การที่ ARM ออกมาแสดงความเห็นแบบนี้ไม่ใช่เรื่องแปลกนัก เพราะค่าไลเซนส์ของ Cortex-A15 นั้นแพงกว่า Cortex-A7 มาก ตัว ARM เองคิดค่าใช้งานแยกเป็นค่าใช้สถาปัตยกรรมแต่ละตัวในก้อนแรก (upfront license fee) และคิดค่าใช้งานตามสัดส่วนราคาชิปในการผลิตต่อๆ มา (ongoing royalties) ในขณะที่พื้นที่ชิปของ Cortex-A15 นั้นมากกว่า Cortex-A7 ถึง 5 เท่าตัวแต่ให้ประสิทธิภาพเพียงประมาณ 3 เท่าตัวเท่านั้น การใส่คอร์ Cortex-A7 ลงไปมากๆ จึงทำให้ต้นทุนการผลิตน้อยลงแต่ประสิทธิภาพที่ได้ในการทดสอบดีกว่ามาก (เพราะชุดทดสอบมักใช้คอร์ทุกคอร์เต็มที่) ขณะเดียวกันผู้ผลิตก็จ่ายค่าแรกเข้าเพียงสถาปัตยกรรมเดียว คำพูดของ ARM ในงานนี้แง่หนึ่งแล้วจึงเป็นการเรียกร้องให้ผู้ผลิตจ่ายค่าไลเซนส์ให้มากขึ้นนั่นเอง ขณะที่ผู้ผลิตเองต้องการลดทั้งค่าไลเซนส์และต้นทุนการผลิตลง
ที่มา - The Register, Fudzilla
Comments
Cortex-A15 จำนวน 2 คอร์ และ Cortex-A15 จำนวน 4 คอร์
น่าจะเป็น
Cortex-A15 จำนวน 2 คอร์ และ Cortex-A7 จำนวน 4 คอร์
ต้นทุนการผลิตต่ำลงและไม่ผู้ใช้ได้รับความเร็วดีขึ้น ? ทำให้ผู้ใช้ได้รับความเร็วดีขึ้น
จำได้ว่า 8 คอร์ของ MediaTek แต่ละคอร์สามารถทำงานพร้อมกันทั้งหมดหรือแยกเป็นอิสระจากกันได้นะครับ
เป็นแบบ 8 หรือ 4+4 หรือ 4+2+2 หรือ 1+1+1+1+1+1+1+1 ก็ได้
สุดท้ายมันอยู่ที่แอพอะครับว่จะจัดการ thread ยังไงแล้ว OS จะไปเลือก core อีกที
ซึ่งการเขียนโค๊ดให้ใช้คอร์เยอะ ๆ ได้มีประสิทธิภาพนี่เป็นเรื่องน่าปวดหัวสุด ๆ
ก่อนหน้านี้ผมเคยเห็น Mediatek ทำแท็บเล็ตเดโมออกมาตัวหนึ่ง (ผมหาไม่เจอแล้ว -_-) จำได้ว่าตัว CPU จะทำ Multitasking เองเลย ก็คือถ้าเกิด CPU คอร์ที่ใช้ทำงานเกิน 80% ก็จะผลักไปให้อีกคอร์หนึ่งทำงานทันที ไม่ต้องรอให้ซอฟท์แวร์สั่ง แล้วยังมีใช้งาน 1 แอพ ต่อ 1 คอร์ กับ 1 คอร์ ต่อเบราว์เซอร์ 1 แท็บด้วย
นานแล้ว ปัจจุบันก็ไม่เห็นทำออกมาสักที ล่มไปแล้วมั้ง -_- ตอนนั้นมันดูว้าวมากเลย
แต่ถ้าเป็นแอพแล้วแอพนั้นๆ ไม่ได้ออกแบบมาให้ทำงานหลายเธรดได้ดี มันก็ใช้รวมแล้วแค่ ~1/8 นั่นแหละครับ
อ่านไปอ่านมาคล้ายๆ ผลประโยชน์ผู้ผลิตเป็นตัวตั้ง ผลประโยชน์ให้ผู้บริโภคเป็นผลพลอยได้ = =*
bit.LITTLE --> big.LITTLE ครับ
เมื่อตอนเปิดตัว big.LITTLE ใหม่ๆก็สงสัยอยู่ว่าทำไมไม่ค่อยมีใครอยากใช้กัน สาเหตุเพราะค่าไลเซนต์นี่เอง ตอนนั้นก็ลืมคิดเรื่องนี้ไปเลย
ข้อดีของการ dev บนชิพที่มีคอร์เยอะ ๆ คือ ไม่รู้สึกว่าโปรแกรมตัวเองกินรีซอร์สมาก
อยากรู้ว่าทุกวันนี้แอพโดยส่วนใหญ่ใช้ประโยชน์จากจำนวน core เยอะๆ กันบ้างหรือเปล่า เท่าที่ผมใช้เครื่องที่เป็น dual core กับ quad core ก็ไม่รู้สึกว่ามันเร็วต่างกันซักเท่าไหร่ (ความเร็วแต่ละ core ใกล้เคียงกัน)