5. 프로세서 아키텍처로 분류
- 프로세서 제조사 or IP 회사로 분류
- x86 : 인텔의 32비트 아키텍처 PC에서 많이 쓰임. 레지스터가 8개로 부족
- amd64 : amd에서 만든 x86을 확장한 64비트 아키텍처. 레지스터를 16개로 늘어남. 가상 메모리, 물리메모리 크게늘어남
- arm : 초기 저전력 soc를 만들다가 고성능 저전력 프로세서 설계 ex) cortex-A(응용어플)/R(rtos 최적)/M(mcu 최적)
+ ARM 설계를 따르는 프로세서 : 퀄컴 스냅드래곤, NVIDA 테그라, 삼성 엑시노스
- mips : 스탠포드에서 RISC로 개발. 비디오 콘솔, 멀티미디어 같이 높은 연산 처리가 필요한 곳에 사용.
ARM RISC
- 초기 ARM7/9/11 같은 저전력 프로세서 위주였으나 스마트폰 대중화후 고성능 Cortex 아키텍처 시리즈
- RISC 특징 : load-store 구조, 고정 길이 32비트 명령어, 주소 명령어 구조(1개 명령어는 2개 소스 주소 + 1개 목적지)
* 로드-저장 구조 : CISC에서 memory to memory(메모리서 레지스터로 가져와 메모리로 저장) 연산을 하는것과 달리 레지스터에 로드 저장, 메모리 사용 x
- ARM RISC
- 32비트 프로세서여도 16비트 명령어 사용가능(Thumb 모드) -> 코드 크기 축소
- 조건부 명령어 구조 : 모든 명령어에 조건부 추가 가능
- 최적화된 레지스터 갯수: 일반 RISC CPU가 많은 레지스터를 사용해 공간 낭비, ARM RISC는 필요한 레지스터만 사용
어플리케이션 프로세서 AP
- 모바일 기기에 사용되는 프로세서로 PC에 사용되는것과는 다름. 스마트폰이 나오면서 OS, 게임, 멀티미디어가 중요해져 어플리케이션에 특화하는 쪽으로 설계되 AP라 부름.
- ex : 퀄컴 스냅 드래곤, 삼성 엑시노스, 엔디비아 테그라
ARM Cortex
- 초기 저전력 위주 ARM7/9/11 설계에서 용도별로 구분한 시리즈
- ARM Cortex-A : Non-RTOS와 어플리케이션에 특화된 프로세서
- ARM Cortex-R : RTOS와 실시간 시스템에 특화됨
- ARM Cortex-M : 저가, 저전력에 특화된 MCU
ARM 아키텍처
- 다시 정리하면 초기에는 저전력 프로세서 위주였으나 용도 별로 특화된 coretex 시리즈가 나옴
- ARM RISC : 32비트 프로세서에서도 16비트 명령어 지원(thumb 모드), 조건부 명령어, 최적 레지스터 수
시리즈 | 아키텍처 버전 | 코어 | 기능 |
ARM1 | ARMv1 | ARM1 | 캐시 x |
ARM2 | ARMv2a | ARM2 | 곱샘 명령 추가, 4MIPS, 8Mhz |
ARM3 | ARMv2a | ARM2a | ARM 프로세서서 최초로 캐시 사용 4k, 7MIPS, 12MHz |
ARM6 | ARMv3 | ARM60 | 최초 32비트 메모리 지원, 10 MIPS, 12MHz |
ARM7 | ARMv3 | ARM700 | 8k 캐시, 40MHz |
ARM7500FE | Soc, FPA와 EDO 메모리 커트롤러 추가(FE), 56MHz | ||
ARM8 | ARMv4 | ARM810 | 5단계 파이프라인, 고정된 예측 분기, 84MIPS, 72MHz |
ARM9TDMI | ARMv4 | ARM9TDMI | 5단계 파이프라인 |
ARM9E | ARMv5TE | ARM946E-S | 향상된 DSP, 가변 메모리 밀착형 MPU |
ARM11 | ARMv6 | ARM1136J-S | SIMD(단일 명령어 다중 데이터), 8단계 파이프라인 532-665MHz |
ARM Cortex-A 아키텍처
- 스마트폰에 적합한 고성능 아키텍처, 이 아키텍처 + 메모리 + 제어기를 한칩 SoC에 만들어 사용
시리즈 | 아키텍처버전 | 코어 | 기능 |
Cortex-A | ARMv7-A | Cortex-A5 | 저전력 초소형 프로세서, 8단계 싱글 파이프라인 |
Cortex-A7 | 멀티코어, 1.2GHz (ex : 엑시노스 5410) | ||
Cortex-A9 | 저전력 최적 멀티코어 프로세서(많이씀) (ex:엔비디아 테그라2) | ||
Cortex-A15 | Armv7-A 중 가장 고성능 | ||
Cortex-A17 | Big litttle 지원 | ||
Armv8-A | Cortex-A32 | 32비트 기반 가장 작은 공간, MCU 소형 임베디드 시스템 중 고성능 | |
Cortex-A35 | 64비트 Armv8-A | ||
Cortex-A65AE | 차량용 멀티스레드 Cortex-A CPU | ||
Cortex-76AE | 자율주행차 같은 안전 어플리케이션용 | ||
Cortex-A77 | 5G 솔루션, 고성능 |
ARM Cortex-A9 프로세서
- ARMv7 + 다중 슈퍼스케일러, 비순차 추론 8단계 파이프라인을 이용한 고성능 프로세서
- 슈퍼 스케일러 파이프라인 : 최대 성능, 저전력
- Neon 엔진 : 미디어, 신호 처리 가속화 엔진
- 부동 소수점 처리장치 : 이전 ARM FPU 성능 2배 개선
- Thumb-2 : 기존 코드 성능을 유지하며 메모리양 최대 30% 절감
- Trust Zone : 보안 어플리케이션 안전 실행 보장
- L2 캐쉬 컨트롤러 : 2MB 캐쉬 메모리까지 저 지연, 고 대역 액세스 제공
'컴퓨터과학 > 임베디드' 카테고리의 다른 글
조금씩 임베디드 - 5. 주변장치 2 (0) | 2022.06.22 |
---|---|
조금씩 임베디드 - 4. 주변장치 1 (0) | 2022.06.19 |
조금씩 정리하는 임베디드 - 2. 개발 프로세스와 임베디드 프로세서 1 (0) | 2022.06.19 |
proteus_atmega - 4. LCD 제어하기(포기!) (0) | 2022.06.19 |
조금씩 정리하는 임베디드 - 1. 임베디드 개요 (0) | 2022.06.16 |