ทำความรู้จัก Arm Big little และ Dynamic IQ
เป็นการคำนวณโดยใช้ core architecture ที่แตกต่างกัน เพื่อปรับปรุงประสิทธิภาพของการใช้พลังงาน โดยแบ่งออกเป็นสองชนิด ชนิดที่หนึ่ง ที่ใช้พลังงานสูงและประสิทธิภาพสูงจะเป็น core BIG ส่วนชนิดที่สองใช้ core little จะมีประสิทธิภาพต่ำกว่าช้ากว่าและใช้พลังงานต่ำกว่า ทุก core เข้าถึง cache memory เดียวกันเมื่อต้องการคำนวณ ในรูปแบบ multi-thread ในรูปแบบการคำนวณจะยังสามารถปรับความถี่ของ CPU แบบไม่คงที่อีกได้ด้วย เพื่อปรับพลังงานให้เหมาะสมกับwork load ของงาน
ตุลาคม 2011 รูปแบบของสถาปัตยกรรม Big และ little เริ่มต้นใช้ใน Cortex A7 ถูกออกแบบเหมือนกันกับ Cortex A15 ในตุลาคมปีถัดมา เริ่มใช้ CortexA53 กับ Cortex A57 (ARMv8-A) ในปีกุมภาพันธ์ 2014 ใช้ CortexA12 กับ CortexA12 และ Cortex A17 คู่กับ CortexA7
การแก้ไขปัญหาของ Big และ little
CMOS พลังงานที่ใช้งานจะเพิ่มขึ้นตาม logic switch ตามวินาที กระแสรั่วไหลจะแปรผันตรงกับจำนวนของ transistor ดังนั้น การออกแบบ CPU ต้องทำงานเร็ว และต้องมีความแตกต่าง เพื่อลดการใช้พลังงาน Core ควรรันเร็วมากๆ และ Core ที่ไม่ได้ใช้งานควรมีการรั่วไหลของกระแสที่น้อยกว่า (ควรมี transistor ที่น้อยกว่า) และยังสามารถทำงานแบบเดียวกันได้ ยกตัวการแก้ไขมีหลายอย่าง การใช้ CPU ที่มี transistor ที่น้อยกว่า memory cache หรือ microarchitecture แบบง่าย เช่น pipeline big ผสมกับ little เป็นทางเลือกใช้ได้ในสองกรณี ทั้งพลังงาน ความเร็วในระบบเดียวกัน
ในทางปฎิบัติ big และ little เป็นสิ่งที่แปลกประหลาดและไม่ยืดหยุ่น ชนิดและจำนวนของแหล่งจ่ายพลังงาน clock ให้ IC ไม่ตรงกับรูปแบบมาตราฐานจัดการพลังงานที่ระบบปฎิบัติการมีมาให้ CPU แต่ละตัวกัน มีความสามารถไม่เทียบเท่ากัน การหา software task ที่ถูกต้องกับการเลือก CPU ที่เหมาะสมเป็นเรื่องที่ยากมากขึ้น แต่ปัญหาทั้งหมดนี้สามารถแก้ไขได้ด้วย electronic และ software
มีสามรูปแบบของการจัดการ CPU big little ขึ้นอยู่กับการจัดตารางเวลาการทำงาน เรียกใช้ใน kernel
Clustered switching
เป็นวิธีแรกที่ง่ายที่สุด เมื่อรันครั้งแรก ระบบปฎิบัติการจะเห็น work load ทั้งหมดของกลุ่มCPU จะนั้นจะเปลี่ยนสสับงานคำนวณที่หนัก ไปในกลุ่มของ big และการคำนวณที่เบากว่า ไปที่กลุ่มของ little โดยใช้ข้อมูลการคำนวณโดยผ่าน L2 cache ปิดเปิด core CPU เพื่อเรียกงาน มีการแชร์ข้อมูลใน cache โดยใช้ Cache Coherent Interconnect (CCI) เริ่มใช้ Samsung Exynos 5 Octa
In -kernel switcher
CPU จัดการโดย in-kernel switcher (IKS) จับคู่ 1 virtual core มี big กับ little อยู่คู่กัน เมื่อมีภาระโหลดหนักจะเรียกใช้ Big เมื่อภาระการใช้น้อยจะเรียกใช้ little เมื่อเปิดใช้งาน virtual core power อันใหม่ข้อมูลจะถูกถ่ายโอนไป virtual core ถัดไป เปลี่ยนแปลง frequency ตามกลุ่มของ virtual core IKS ถูกเพิ่มใน kernel 3.11
Heterogeneous multi-processing
การคำนวณแบบ multi thread ที่มีประสิทธิภาพมากที่สุด คือ เปิด ทุก core big core ใช้กับ thread ที่มีความสำคัญสูงสด และ little core กับ thread ที่มีความสำคัญต่ำสุด