Embedded : : Arm Architecture/: : Arm Architecture

ARMv8 Intro.

Jay.P Morgan 2024. 11. 6. 13:14

 

   ARMv8 Intro.

 

 

  1.  Device as File

​  리눅스 커널은 대부분 아키텍처 독립적이지만, 부트업 코드나 구동 중 빈번히 수행되는 많은 코드(스핀락)가 아키텍처 의존적으로 구현되어 있다.

 

  2.  ARM 특징

  • 구조가 단순하다
  • 낮은 소비전력
  • 저전력 고성능

 

  3.  ARM 아키텍처의 발전 과정

  ​ARMv4 → ARMv5 ARMv6 ARMv7 ARMv8

 

  4.  ARMv8 특징

  • 64bit 아키텍처
  • 실행상태라는 개념을 도입하여 32bit ARMv7용 코드도 실행이 가능하다.

  5.  ARMv8 성능 이점

  • 산술 연산 시 64bit 정수 데이터를 1개의 *인스트럭션으로 처리 가능
  • 64bit 가상주소공간을 제공해 애플리케이션도 넓어진 가상 주소 공간 사용이 가능

 

* 인스트럭션 : 컴퓨터에게 일을 시키는 단위로 컴퓨터가 알아들을 수 있는 기계어로 이루어져있는 명령

→ 연산에 필요한 클록 사이클 수가 절약됨

 

  6.  AArch64의 성능 단점

- 포인터의 크기가 64bit로 증가해 포인터 변수가 차지하는 메모리가 증가하는 것

  7.  ARMv8 아키텍처의 변화

  • 물리적 주소 확장으로 프로세서가 4GB 이상 주소에 접근이 가능해짐
  • 레지스터 파일이 확장되어 항상 접근 가능한 64bit 레지스터 31개를 제공
  • PC 상대 주소 지정 범위가 [현재 PC(Program Counter) Address +/- 4GB]로 커짐
  • 라이브러리나 위치 독립적인 코드에서 데이터 주소 지정을 위해 주로 사용
  • HW 암호화 인스트럭션 자원으로 복호화 시 속도 향상
  • 새로운 익셉션모델(예외처리) 도입으로 OS와 *하이퍼바이저의 소프트웨어의 복잡성이 내려감
  • 16KB, 64KB 변환 단위를 추가지원하여 *TLB(Translactoin Lookaside Buffer) Miss 감소 → 여러 단계가 구성된 페이지 테이블을 찾아 들어감.
  • 레지스터가 커진 고급 SIMD 자원이 추가되며, 벡터 연산 성능이 크게 향상되었다.

* 하이퍼바이저 : (= 가상머신 모니터) 운영체제와 가상 머신의 리소스를 분리해 VM의 생성과 관리를 지원

* TLB : 가상 메모리 주소를 물리적인 주소로 변환하는 속도를 높이기 위해 사용되는 캐시

 

 

 

'Embedded : : Arm Architecture > : : Arm Architecture' 카테고리의 다른 글

Exception(익셉션) 개요  (0) 2024.11.06