ARM이 커요.작은
ARM big.ARM이 커요.LITTLE은 ARM Holdings가 개발한 이기종 컴퓨팅 아키텍처로, 배터리 절약성과 느린 프로세서 코어(LITTLE)를 보다 강력하고 전력 소모가 큰 코어(큰 코어)와 결합하고 있습니다.일반적으로 한 번에 액티브하게 되는 것은 한쪽 '사이드'뿐이지만 모든 코어가 동일한 메모리 영역에 액세스할 수 있기 때문에 워크로드가 빅코어와 리틀코어 간에 [1]즉시 스왑할 수 있습니다.그 목적은 동적 컴퓨팅 요구에 보다 잘 적응하고 클럭 스케일링만으로 소비 전력을 줄일 수 있는 멀티 코어 프로세서를 만드는 것입니다.ARM의 마케팅 자료는 일부 활동에서 [2]최대 75%의 전력 소비를 절감합니다.일반적으로 ARM이 큽니다.LITTLE 아키텍처는 MPSoC(Multi-Processor System-on-Chip)를 작성하기 위해 사용됩니다.
2011년 10월에 크게.LITTLE은 Cortex-A15와 [3]구조적으로 호환되도록 설계된 Cortex-A7과 함께 발표되었습니다.2012년 10월 ARM은 Cortex-A53 및 Cortex-A57(ARMv8-A) 코어를 발표했으며, 이들 코어는 상호 호환성이 있어 대규모로 사용할 수 있습니다.LITTLE TIP.[4]ARM은 이후 Computex 2013에서 Cortex-A12를 발표했으며 2014년 2월에 Cortex-A17을 발표했습니다.또한 Cortex-A12와 Cortex-A17을 크게 조합할 수 있습니다.Cortex-A7을 [5][6]사용한 LITE 구성.
문제는 그 정도로 크다.LITTLE의 해결
CMOS 로직 라이브러리의 경우 로직이 초당 더 많이 전환될수록 활성 전력은 증가하지만 트랜지스터 수에 따라 누출이 증가합니다.따라서 고속으로 동작하도록 설계된 CPU는 절전용으로 설계된 CPU와는 다릅니다.매우 빠른 고장 CPU가 매우 낮은 속도로 공회전할 경우 누출이 훨씬 적은 CPU(트랜지스터 수가 적음)에서도 동일한 작업을 수행할 수 있습니다.예를 들어, 더 작은(트랜지스터 수가 적은) 메모리 캐시를 사용하거나 파이프라인과 같은 더 단순한 마이크로 아키텍처를 사용할 수 있습니다.크다.LITTLE은 두 가지 경우에 모두 최적화할 수 있는 방법입니다.파워와 스피드가 같은 시스템입니다.
실제론 큰 거지요.LITTLE 시스템은 놀라울 정도로 유연하지 않습니다.1개의 문제는 IC가 제공하는 전원 및 클럭 도메인의 수와 유형입니다.이러한 기능은 운영 체제에서 제공하는 표준 전원 관리 기능과 일치하지 않을 수 있습니다.다른 하나는 CPU에 동등한 기능이 없어지고 적절한 소프트웨어 작업을 적절한 CPU에 맞추는 것이 더 어려워진다는 것입니다.이러한 문제의 대부분은 전자제품과 소프트웨어를 보다 유연하게 함으로써 해결되고 있습니다.
실행 상태의 이행
서로 다른 프로세서 코어를 크게 배열하는 방법에는 세 가지가[7] 있습니다.LITTLE 설계([8]커널에 구현된 스케줄러에 따라 다름).
클러스터 스위칭
클러스터 모델의 어프로치는, 프로세서를 같은 사이즈의 「큰」코어 또는 「작은」코어로 이루어진 클러스터로 배치하는, 최초의 심플한 실장입니다.운영체제 스케줄러는 한번에1개의 클러스터만 표시할 수 있습니다.프로세서 전체의 부하가 낮은 클러스터와 높은 클러스터 사이에서 변화하면 시스템은 다른 클러스터로 이행합니다.그런 다음 모든 관련 데이터가 공통 L2 캐시를 통해 전달되고 활성 코어 클러스터의 전원이 꺼지고 다른 하나는 활성화됩니다.Cache Cohency Interconnect(CCI; 캐시 코히런트 인터커넥트이 모델은 삼성 엑시노스 5 옥타(5410)[9]에 구현됐다.
커널내 스위처(CPU 이행)
커널내 스위처(IKS)를 통한 CPU 이행에는 '빅' 코어와 '리틀' 코어가 페어링되어 있으며, 1개의 칩에 다수의 동일한 페어가 포함되어 있을 수 있습니다.각 쌍은 1개의 시스템화된 가상 코어로 동작하며 (완전하게) 한 번에 1개의 실제 코어만 가동하여 가동합니다.'큰' 코어는 수요가 많을 때, '작은' 코어는 수요가 낮을 때 사용합니다.가상 코어의 요구가 변화하면(높은 코어와 낮은 코어의 사이에), 착신 코어의 전원이 들어가 실행 상태가 전송되어 발신 상태가 셧다운되어 새로운 코어로 처리가 속행됩니다.스위칭은 cpufreq 프레임워크를 통해 이루어집니다.완전 대박이다.LITTLE IKS 구현은 Linux 3.11에서 크게 추가되었습니다.LITTLE IKS는 클러스터 이행( clustered클러스터 스위칭)의 개량입니다.주요 차이점은 각 페어가 스케줄러에 표시된다는 것입니다.
보다 복잡한 배열에는 '큰' 코어와 '작은' 코어의 비대칭적인 그룹이 포함됩니다.1개의 칩에 1개 또는 2개의 '큰' 코어와 더 많은 '작은' 코어가 있거나 그 반대일 수 있습니다.Nvidia는 Tegra 3 System-on-Chip에 저전력 '컴패니언 코어'를 탑재하여 이와 유사한 기술을 개발했습니다.
이기종 멀티프로세서(글로벌 태스크 스케줄링)
빅의 가장 강력한 사용 모델.LITTLE 아키텍처는 모든 물리 코어를 동시에 사용할 수 있는 이기종 멀티프로세서(HMP)입니다.이 경우 우선순위가 높은 스레드 또는 계산 강도가 높은 스레드는 "큰" 코어에 할당될 수 있으며 백그라운드 태스크 등 우선순위가 낮은 스레드 또는 계산 강도가 낮은 스레드는 "LITTLE" [10]코어에 의해 실행될 수 있습니다.
이 모델은 엑시노스 5 옥타 시리즈(5420, 5422, 5430)[11][12]부터 삼성 엑시노스에, 애플 [13]A11부터 애플 A 시리즈 프로세서에 구현됐다.
스케줄
페어링을 사용하면 기존의 DVFS(Dynamic Voltage and Frequency Scaling) 기능을 사용하여 운영체제에 투과적으로 전환할 수 있습니다.커널의 기존 DVFS 지원(예:cpufreq
(Linux의 경우)는 단순히 주파수/전압 목록을 보고 기존 하드웨어와 마찬가지로 적합하다고 판단될 때 전환합니다.그러나 로우엔드 슬롯은 '리틀' 코어를 활성화하고 하이엔드 슬롯은 '빅' 코어를 활성화합니다.이는 2012년 [14]이후 Linux의 "데드라인" CPU 스케줄러(같은 이름의 I/O 스케줄러와 혼동하지 말 것)에 의해 제공되는 초기 솔루션입니다.
또는 모든 코어가 커널 스케줄러에 노출되어 각 프로세스/스레드가 실행되는 장소가 결정됩니다.이는 쌍이 없는 배열에 필요하지만 쌍이 있는 코어에서도 사용할 수 있습니다.적어도 현대의 범용 하드웨어에서는 SMP 시스템의 모든 코어가 이기종이 아닌 동일하다고 가정할 수 있는 커널 스케줄러에 고유한 문제가 발생합니다.Linux 5.0에 추가된 2019년식 Energy Aware Scheduling은 코어를 [15][16]다르게 고려하는 스케줄러의 예입니다.
글로벌 태스크 스케줄링의 이점
- 코어 간에 마이그레이션되는 워크로드를 세부적으로 제어합니다.스케줄러는 코어 간에 직접 작업을 이행하기 때문에 커널 오버헤드가 감소하고 그에 따라 전력 절약이 증가할 수 있습니다.
- 스케줄러에 실장하면 IKS에 실장되어 있는 cpufreq 프레임워크보다 스위칭 결정이 빨라집니다.
- 비대칭 클러스터를 쉽게 지원할 수 있습니다(예: 2개의 Cortex-A15 코어 및 4개의 Cortex-A7 코어).
- 모든 코어를 동시에 사용하여 IKS에 비해 SoC의 피크 퍼포먼스 스루풋을 향상시킬 수 있습니다.
후계자
2017년 5월, ARM은 Dynamic을 발표했습니다.IQ가 빅의 후계자죠LITLE.[17] 역동적IQ는 멀티코어 프로세서를 설계할 때 유연성과 확장성을 높일 것으로 예상됩니다.큰 거랑 반대로.LITTLE은 클러스터의 최대 코어 수를 8개로 늘리고 단일 클러스터 내에서 다양한 코어 설계를 허용하며 최대 32개의 클러스터를 지원합니다.이 테크놀로지는 코어당 전압 제어의 미세화 및 고속 L2 캐시 속도도 제공합니다.단, DynamicIQ는 이전 ARM 설계와 호환되지 않으며 처음에는 Cortex-A75 및 Cortex-A55 CPU 코어에서만 지원됩니다.
레퍼런스
- ^ Nguyen, Hubert (17 January 2013). "What Is ARM big.LITTLE?". UberGizmo.com.
- ^ "big.LITTLE technology". ARM.com. Archived from the original on 22 October 2012. Retrieved 17 October 2012.
- ^ "ARM Unveils its Most Energy Efficient Application Processor Ever; Redefines Traditional Power And Performance Relationship With big.LITTLE Processing" (Press release). ARM Holdings. 19 October 2011. Retrieved 31 October 2012.
- ^ "ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors" (Press release). ARM Holdings. Retrieved 31 October 2012.
- ^ "ARM's new Cortex-A12 is ready to power 2014's $200 midrange smartphones". The Verge. April 2014.
- ^ "ARM Cortex A17: An Evolved Cortex A12 for the Mainstream in 2015". AnandTech. April 2014.
- ^ Brian Jeff (18 June 2013). "Ten Things to Know About big.LITTLE". ARM Holdings. Archived from the original on 10 September 2013. Retrieved 17 September 2013.
- ^ George Grey (10 July 2013). "big.LITTLE Software Update". Linaro. Archived from the original on 4 October 2013. Retrieved 17 September 2013.
- ^ Peter Clarke (6 August 2013). "Benchmarking ARM's big-little architecture". Retrieved 17 September 2013.
- ^ Big.LITTLE Processing with ARM Cortex-A15 & Cortex-A7 (PDF), ARM Holdings, September 2013, archived from the original (PDF) on 17 April 2012, retrieved 17 September 2013
- ^ Brian Klug (11 September 2013). "Samsung Announces big.LITTLE MP Support in Exynos 5420". AnandTech. Retrieved 16 September 2013.
- ^ "Samsung Unveils New Products from its System LSI Business at Mobile World Congress". Samsung Tomorrow. Retrieved 26 February 2013.
- ^ "The future is here: iPhone X". Apple Newsroom. Retrieved 25 February 2018.
- ^ McKenney, Paul (12 June 2012). "A big.LITTLE scheduler update". LWN.net.
- ^ Perret, Quentin (25 February 2019). "Energy Aware Scheduling merged in Linux 5.0". community.arm.com.
- ^ "Energy Aware Scheduling". The Linux Kernel documentation.
- ^ Humrick, Matt (29 May 2017). "Exploring Dynamiq and ARM's New CPUs". Anandtech. Retrieved 10 July 2017.
추가 정보
- David Zinman (25 January 2013). "big.LITTLE MP status Jan 25, 2013". LWN.net. Retrieved 25 January 2013.
- Nicolas Pitre (15 February 2012). "Linux support for ARM big.LITTLE". LWN.net. Retrieved 18 October 2012.
- Paul McKenney (12 June 2012). "A big.LITTLE scheduler update". LWN.net. Retrieved 18 October 2012.
- Jake Edge (5 September 2012). "KS2012: ARM: A big.LITTLE update". LWN.net. Retrieved 18 October 2012.
- Jon Stokes (20 October 2011). "ARM's new Cortex A7 is tailor-made for Android superphones". Ars Technica. Retrieved 31 October 2012.
- Andrew Cunningham (30 October 2012). "ARM goes 64-bit with new Cortex-A53 and Cortex-A57 designs". Ars Technica. Retrieved 31 October 2012.
외부 링크
- big. 작은 처리
- big. LITTLE 프로세싱 (ARM CortexTM-A15 및 Cortex-A7 사용) (PDF) (전체 기술 설명)