엑시노스 5 옥타에 쓰인 기술, big.LITTLE(이하 빅리틀) 에 대해 알아보겠습니다.
고성능 코어와 저전력 코어의 이종결합인 빅리틀은, 부하가 높은 작업은 빅코어로 빠르게 처리하고,부하가 낮을 때는 리틀코어로 전력 소비를 억제하는 컨셉입니다.
최초는 Cortex-A15, Cortex-A7 의 결합이고, 다음 세대는 Cortex-A57, Cortex-A53 의 결합입니다.
구현 방식이 크게 3가지입니다. 아래 사진을 보시면 설명이 더 쉽게 이해될 듯 합니다.
(1) Cluster Migration
클러스터 단위로 전환하는겁니다.
그런데 이렇게 말하면 뭔 말인지 이해하기 어렵지요. 특정 DVFS포인트 기점으로 빅 코어와 리틀 코어 간에 변환이 일어나는데, 그 단위가 각 CPU 클러스터 - 클러스터는 코어끼리 뭉친 한 단위를 말합니다. - 인겁니다. (DVFS : Dynamic Voltage and Frequency Scaling, 부하에 따라 전압과 클럭이 변화.) 빅 클러스터와 리틀 클러스터 간의 전환만 가능합니다.
Cortex-A15 4코어 + Cortex-A7 4코어 구성이라면, Cortex-A15 4코어만으로 쓰거나, Cortex-A7 4코어만으로 쓸 수 있을뿐, 각각 2개씩 쓴다거나 하는 조합은 불가능합니다.
장점으로는 구조가 간단합니다.
단점으로는, 가변성이 적은 탓에 필요 이상의 성능이 제공되고, 그로 인해 소비전력 이득이 작아집니다. 필요 이상으로 전력을 사용할 수 밖에 없는거지요.
또한 클러스터 단위로 전환되기 때문에 빅 클러스터와 리틀 클러스터의 코어 수가 같아야하고, 이는 다이 사이즈를 증가시킵니다.
(2) CPU Migration
코어 단위로 전환하는겁니다.
특정 DVFS 포인트(전압, 클럭)을 기점으로 빅코어와 리틀코어 간에 스위칭이 일어나는데,빅코어 하나와 리틀코어 하나로 구성된 단위 내에서 이루어집니다.
Cortex-A15 4코어 + Cortex-A7 4코어 구성이라면, 상황에 따라 Cortex-A15 1코어, Cortex-A7 3코어를 사용하는 식으로, 코어 이용에 가변성이 있습니다.
장점은 최적화된 소비전력의 구현이 가능합니다.빅코어와 리틀코어가 하나씩 묶인 한 단위이기 때문에 여기서도 빅코어와 리틀코어의 수가 같아야하지만, 이렇게 효율적으로 사용된다면 문제가 되지 않습니다.
단점으로는 DVFS 드라이버 수정 필요.
(3) MP (Multi-Processing)
빅 코어, 리틀 코어 동시에 다 쓰는겁니다.
빅 코어와 리틀 코어의 수가 달라도 상관없습니다.
이러한 기술을 모두 쓸 수 있어야 '진짜로' 옥타코어라고 불릴 수 있는 것이고, 알려진 바에 따르면 엑시노스 5 옥타는 MP 방식으로 구동이 '가능합니다.'
장점으로는 단연 높은 성능.
단점은, 각 작업의 부하에 따라 최적의 코어에 작업을 분배해야하기 때문에 OS 수준에서 태스크 스케줄링을 최적화 해줘야 합니다.
빅코어가 800MHz, 사용률 70% 이하일 때, 리틀코어로 전환됩니다.리틀코어가 1.0GHz, 사용율 95% 이상일 때, 빅코어로 전환됩니다.
각 코어의 부하를 체크하는 간격은 100ms.
그림을 보시면 전환 방식이 더 잘 다가옵니다.
CPU Migration 과 Cluster Migration 의 작업 전환을 보여줍니다.
Cluster Migration 의 경우, 빅코어와 리틀코어가 일괄적으로 전환이 일어나지만,
CPU Migration 의 경우, 코어마다 각각 전환이 일어나는 것을 확인할 수 있습니다.
실제로 전력 효율은 체감할 만큼 늘어났느냐? 물론입니다.
그래프와 같이 전력 효율을 검증한 결과, 이전세대 쿼드코어인 엑시노스 4 쿼드 (4412) 의 68% 수준으로 전력이 절감되었다고 합니다.
------------------------------
참고: http://