본문 바로가기
IT review

아키텍처 (ARM big.LITTLE Architecture, Soc, Framework)

by 테크 인사이더스 2024. 3. 11.

스마트폰의 핵심 아키텍처로 알려진 ARM big.LITTLE Architecture와 SoC에 대해 살펴보겠습니다. 자세한 내용은 아래의 포스팅을 참고해 주세요.

 

아키텍처-ARM-big-LITTLE-Architecture-SOC-Framework

 

목차
1. 아키텍처(Architecture)
2. ARM Architecture
3. big.LITTLE Architecture
4. SoC(System on Chip)
5. 프레임워크(framework)

 

 

 

아키텍처(Architecture)

아키텍처-ARM-big-LITTLE-Architecture-SOC-Framework-설명-이미지

아키텍처는 컴퓨터 시스템이나 프로세서의 전반적인 설계와 구조를 나타내며, 하드웨어와 소프트웨어 간의 상호작용을 지원하고 전체 시스템의 동작을 결정하는 핵심적인 개념입니다.

 

이는 소프트웨어 아키텍처, 하드웨어 아키텍처, 네트워크 아키텍처 등 다양한 분야로 확장될 수 있습니다.

 

1. 하드웨어 아키텍처: 하드웨어 아키텍처는 프로세서, 메모리, 입출력 장치 및 다른 하드웨어 구성 요소의 조직과 상호 연결 방식을 다룹니다. 이는 시스템의 전체 구조를 이해하고 설계하는 데 필요한 것으로, CPU 아키텍처, 버스 구조, 캐시 구성 등이 이에 해당합니다.

 

2. 소프트웨어 아키텍처: 소프트웨어 아키텍처는 소프트웨어 시스템의 구조와 구성 요소 간의 관계를 다룹니다. 이는 시스템의 기능적 및 비기능적 요구 사항을 충족하기 위해 소프트웨어를 설계하는 데 중요한 역할을 합니다. 소프트웨어 아키텍처는 주로 시스템의 모듈화, 계층화, 컴포넌트 상호작용 등에 초점을 맞춥니다.

 

3. 네트워크 아키텍처: 네트워크 아키텍처는 컴퓨터 네트워크에서 데이터 흐름, 프로토콜, 하드웨어 및 소프트웨어 구성 요소 등을 다룹니다. 이는 네트워크 시스템의 전체적인 설계와 동작 방식을 이해하는 데 도움이 됩니다.

 

아키텍처는 컴퓨터 시스템이나 소프트웨어 시스템의 설계와 구현에 있어 중요한 개념으로, 시스템의 성능, 확장성, 신뢰성 등을 결정짓는 역할을 합니다.

 

 

ARM 아키텍처(ARM Architecture)

아키텍처-ARM-big-LITTLE-Architecture-SOC-Framework-설명-이미지

ARM 아키텍처는 컴퓨터 프로세서를 위한 RISC(Reduced Instruction Set Computing) 아키텍처 제품군으로, 지난 30년 동안 ARM은 다양한 제품에 2,800억 개 이상의 ARM 기반 칩을 출하하여 세계에서 가장 널리 사용되는 프로세서 아키텍처 중 하나로 인정받았습니다.

 

ARM CPU 아키텍처는 통합된 보안, 우수한 성능 및 에너지 효율성, 대규모 생태계에 대한 글로벌 지원 등의 장점을 보유하며, 시장 전반에서 많은 기업들이 이 기술을 적극적으로 채택하고 있습니다.

 

이러한 ARM CPU 아키텍처는 다양한 마이크로아키텍처로 구현되어 소프트웨어 호환성을 제공하고, 전력 소비, 성능, 영역 포인트 등 다양한 요구 사항을 충족시킬 수 있습니다.

 

또한, CPU 아키텍처는 기본 명령 세트와 운영 체제 및 하이퍼바이저가 의존하는 예외 및 메모리 모델을 정의하며, CPU 마이크로아키텍처는 프로세서의 실제 설계를 결정합니다.

 

주로 삼성, 애플, 퀄컴, 엔비디아 등의 기업들이 제조하는 모바일 기기 및 *임베디드 시스템에서 널리 사용되는 ARM 아키텍처는 다양한 성능 및 전력 요구 사항에 맞춰 다양한 버전으로 제공되고 있습니다.

 

더보기

*임베디드 시스템은 특정 기능을 수행하는 독립적인 컴퓨터 시스템으로, 자동차의 엔진 제어 시스템, 가전제품의 제어 패널, 의료 장비, 산업 자동화 장비 등과 같은 다양한 용도로 사용됩니다. 이러한 시스템은 주로 제한된 용도로 설계되며, 각각의 응용 분야에 맞게 특별히 제작됩니다.

 

ARM 아키텍처의 주요 특징은 다음과 같습니다.

 

1. 에너지 효율성: ARM 프로세서는 저전력 설계를 특징으로 하며, 이는 모바일 장치의 배터리 수명을 연장하고, 임베디드 시스템에서는 발열 및 전력 소모를 줄이는 데 도움이 됩니다.

 

2. 스케일러빌리티: ARM 아키텍처는 다양한 제품 및 애플리케이션에 대한 다양한 성능 요구 사항을 충족하기 위해 스케일러빌리티를 제공합니다. 이는 모바일 장치부터 서버 및 클라우드 컴퓨팅까지 다양한 영역에 활용될 수 있음을 의미합니다.

 

3. 다양한 라이센싱 모델: ARM 아키텍처는 다양한 라이센싱 모델을 제공하여 다른 기업 및 개발자들이 자신의 제품에 맞는 ARM 프로세서를 사용할 수 있도록 합니다. 이는 ARM 기술을 채택한 다양한 제조사들이 각자의 제품에 맞는 최적화된 디자인을 개발할 수 있게 합니다.

 

4. 넓은 생태계: ARM 아키텍처는 다양한 소프트웨어 및 도구를 지원하는 넓은 생태계를 구축하였습니다. 이는 개발자들이 ARM 기반 시스템을 개발하고 유지 관리하는 데 필요한 다양한 자원을 활용할 수 있음을 의미합니다.

 

이러한 특징들로 인해 ARM 아키텍처는 모바일 장치부터 임베디드 시스템, IoT(IoT) 디바이스, 자동차 시스템, 가전제품, 그리고 클라우드 서버까지 다양한 영역에서 널리 사용되고 있습니다.

 

 

big.LITTLE Architecture(ARM 빅리틀 아키텍처)

아키텍처-ARM-big-LITTLE-Architecture-SOC-Framework-설명-이미지
ARM Architecture 예시

ARM 빅리틀 아키텍처는 ARM Holdings가 개발한 저전력 프로세서 디자인으로, 주로 모바일 기기 및 임베디드 시스템에서 사용됩니다. 이 아키텍처는 빅 코어와 리틀 코어를 조합하여 뛰어난 성능과 에너지 효율성을 제공합니다.

 

주요 특징은 다음과 같습니다.

 

1) 빅 코어(Big Core): 고성능 작업을 처리하는 코어로, 주로 높은 연산 처리 능력이 필요한 작업을 담당합니다. 대부분의 시간 동안 비활성화되어 에너지 소모를 최소화합니다.

 

2) 리틀 코어(Little Core): 저전력 작업을 처리하는 코어로, 주로 낮은 부하 또는 저전력 상태에서 동작합니다. 대부분의 시간 동안 활성화되어 에너지를 효율적으로 사용합니다.

 

3) 다이나믹 페더레이션(Dynamic Federation): 빅리틀 아키텍처는 시스템의 부하 및 성능 요구 사항에 따라 빅 코어와 리틀 코어 사이를 유연하게 전환할 수 있습니다. 이는 에너지 효율성과 성능을 극대화하는 데 도움이 됩니다.

 

4) 페더레이션 상태 관리(Federation State Management): 빅리틀 아키텍처는 빅 코어와 리틀 코어 간의 상태를 관리하여 전력 소모를 최적화합니다. 이는 동적으로 코어를 활성화하고 비활성화하여 에너지를 절약하는 데 도움이 됩니다.

 

빅리틀 아키텍처는 성능과 에너지 효율성을 극대화하는 동시에 다양한 작업 부하에 효과적으로 대응할 수 있도록 설계되었습니다. 이를 통해 모바일 기기에서 긴 배터리 수명과 높은 성능을 제공하는 동시에 발열을 효과적으로 관리할 수 있습니다.

 

 

SoC(System-on-Chip)

아키텍처-ARM-big-LITTLE-Architecture-SOC-Framework-설명-이미지

System-on-Chip(SoC)은 하나의 칩 안에 여러 가지 전자 제품의 기능을 통합한 집적 회로입니다. 일반적으로 SoC는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 메모리 컨트롤러, 주변 장치 인터페이스, 네트워크 인터페이스, 오디오 인터페이스, 및 기타 필요한 컴포넌트를 포함합니다.

 

SoC는 다양한 전자 제품에 사용됩니다. 주로 모바일 기기(스마트폰, 태블릿), 임베디드 시스템(스마트 홈 기기, 차량 내 시스템), 소형 컴퓨터(단일 보드 컴퓨터 loT 장치) 등에서 사용됩니다. SoC는 소형이면서도 고성능이며 저전력 소비를 특징으로 합니다.

 

SoC의 장점은 다음과 같습니다.

 

1. 고집적*: 다양한 컴포넌트를 하나의 칩에 통합함으로써 전체 시스템의 크기를 줄이고 복잡성을 낮춥니다.

 

2. 저전력: 하나의 칩으로 모든 기능을 통합함으로써 에너지 효율성을 높입니다.

 

3. 성능: 고집적 설계와 최신 기술을 사용하여 높은 성능을 제공합니다.

 

4. 비용 절감: 제조 및 설계 비용을 절감하고 생산성을 높입니다.

 

전자 제품의 진화에 따라 SoC의 중요성은 계속해서 증가하고 있으며, 더 나은 성능과 기능을 제공하기 위해 지속적인 연구 및 개발이 이루어지고 있습니다.

 

더보기

*고집적- 한 개의 반도체 칩에 많은 수의 소자가 구성되어 있는 것을 의미합니다.

 

프레임워크(Framework)

아키텍처-ARM-big-LITTLE-Architecture-SOC-Framework-설명-이미지

프레임워크는 소프트웨어 개발을 위한 구조적인 기반을 제공하는 도구나 라이브러리 모음입니다. 이는 개발자가 특정한 기능을 구현하기 위해 처음부터 모든 것을 만들 필요 없이 이미 구축된 코드와 기능을 재사용할 수 있도록 도와줍니다. 프레임워크는 주로 특정한 목적을 가진 애플리케이션 또는 소프트웨어의 구축을 용이하게 해 주는 데 사용됩니다.

 

프레임워크에는 여러 가지 종류가 있습니다. 웹 개발에서는 주로 웹 애플리케이션을 만들기 위한 프레임워크가 사용됩니다. 예를 들어, Django와 Flask는 파이썬으로 웹 애플리케이션을 개발하기 위한 인기 있는 프레임워크입니다. 이들 프레임워크는 웹 애플리케이션의 핵심 기능을 미리 구현해 놓았기 때문에 개발자는 이를 활용하여 빠르게 애플리케이션을 개발할 수 있습니다.

 

또한, 프론트엔드 개발에서도 React, Angular, Vue.js와 같은 프레임워크가 널리 사용됩니다. 이러한 프레임워크는 사용자 인터페이스를 개발하기 위한 도구로서, 컴포넌트 기반 아키텍처를 제공하여 개발자가 UI를 빠르고 효율적으로 구축할 수 있도록 도와줍니다.

 

프레임워크는 개발 생산성을 향상하고 코드의 일관성을 유지하는 데 도움을 줍니다. 또한 커뮤니티와의 지원과 다양한 플러그인 및 확장 기능을 통해 추가적인 기능을 쉽게 통합할 수 있습니다.