ARM System Developer's Guide  

- Designing and Optimizaing System Software




#####

ARM processor core

Data movement flow

Programmer's model from SW developer's view (processor core <-> differnt parts)

ARM core naming conventions, ARM Instruction Set Architecture

ARM processor core families




### 2.6. Architecture Revisions


# ISA 

: Instruction Set Architecture


# ARM 프로세서는 특정 ISA로 구현됨



## 2.6.1. 명명법

"ARM + 해당 프로세스가 갖는 특징"


- ARM7TDMI 이후의 모든 ARM 코어는 TDMI가 생략되어 있는 것임

- family(제품군)은 동일한 하드웨어 특징을 보이는 프로세서집합을 의미

- JTAG는 IEEE1149.1 Standard Test Access Port and Boundary Scan Architecture에서 정의하고 있으며, 
    프로세서 코어와 테스트 장비간의 디버깅 정보를 전송하기 위해 ARM에서 적용한 시리얼 포트

- EmbeddedICE macrocell : 프로세서에 내장되어 있는 디버기 하드웨어 장치. (breakpoint, watchpoint 제공)

- synthesizable : 프로세서 코어가 EDA 툴에 의해 쉽게 사용 가능한 형식으로 컴파일 될 수 있는 소스코드로 공급된다는 것을 의미



## 2.6.2. 아키텍처의 발전


- ARMv4(ARM7TDMI)에서의 Thumb 명령어 세트의 지원

- 참고. 

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.architecture/index.html

http://infocenter.arm.com/help/topic/com.arm.doc.dui0204ik/Cegbgefe.html




### 2.7. ARM Processor Familes

(ARM 프로세서의 버전별 특징)


- ARM7, ARM9, ARM10, ...

- 7,9,10,... 과 같은 숫자들은 코어 종류를 의미

- 숫자들은 제조 과정의 환경에 직접적으로 영향을 받기때문에 크게 달라 질 수 있음

(제조환경은  MHz, W에 직접적 영향을 주기때문)

- 각 ARM 제품군 안에는 Memory Management Device, cache, TCM Processor등이 다양하게 내장 

(제품군의 수와 각 제품군내에서 다른 적용 제품들을 계속하여 확장함)

- ARM ISA를 실행할 수 있는 다른 프로세서들 - StrongARM, XScale (intel과 같은 특정 반도체 회사에 특화되어 개발)



*  table 2.8에서 "all"

: ARMv4 아키텍처와 그 이후의 버전에서 가능하다는 것을 의미



## 2.7.1. ARM7 Family

- 폰노이만 형태를 가지는 버스 아키텍처

- 3단 파이프라인 

- ARMv4T 명령어 셋


> ARM7TDMI (1995)

- Thumb  instruction set 지원

- fast multiply instructions

- EmbeddedICE Debug technology



> ARM7TDMI-S

- ARM7TDMI + synthesizable


> ARM720T

- MMU를 포함 - 리눅스나 마이크로소프트 임베디드 OS를 사용할 수 있음

- ARM7 제품군 중에 유연성이 가장 뛰어남

- 통합된 8K의 캐시를 포함

- Vector Table은 CP15 레지스터 값을 설정하여 상위 주소로 위치를 변경할 수 있음


> ARM7EJ-S

- synthesizable

- 유일하게 ARM7 제품군 중, 5단 파이프라인을 포함

- ARMv5TEJ 명령어를 실행시킬 수 있음

- ARM7 제품군 중 유일하게 Java 가속기와 DSP 확장 명령어를 제공

- without MPU



## 2.7.2. ARM9 Family

- ARM9 (1997)

- 5단 파이프라인 : ARM7보다 빠른 클럭 속도로 동작

- 하버드 형태의 버스 아키텍처 (데이터 D Bus + 명령어 I Bus)


> ARM920T

- 하버드 형태의 캐시 아키텍처

- MMU 내장

- 가상메모리 지원

- v4T 명령어


> ARM922T

- ARM920T의 변종

- D+I 캐시의 크기가 절반으로 줄어듬


> ARM940T

- 보다 작은 D+I 캐시

- MPU 내장

- 플랫폼 OS를 필요로 하지 않는 Applications를 위해 설계

- v4T 명령어


> ARM9E-S 코어

- ARM9 코어의 다음 프로세서 코어

- E 확장자가 붙은 ARM9 코어의 synthesizable 버전

- 제품 : ARM946E-S, ARM966E-S

- 두 제품 모두 v5TE 명령어, 옵션으로 ETM(Embedded Trace Macrocell)지원하여 시간에 민감한 Applications를 디버깅 할 때 용이함.


* ETM(Embedded Trace Macrocell)

: 프로세서에서 실시간으로 데이터와 명령어를 검사할 수 있는 기술


ARM946E-S

- TCM, 캐시, MPU

- TCM, 캐시의 크기 조절 가능

- 확정적 실시간 응답성을 요구하는 임베디드 제어 Applications에서 사용하기 위해 설계


ARM966E-S

TCM, 크기 조절 가능


> ARM926EJ-S (2000)

- ARM9 제품군 중 마지막으로 발표된 코어

- 3G, PDA 등 작고 휴대 가능한 java를 지원하는 장치를 위해 설계

- Jazelle. java 코드 가속화 가능

- MMU, 조절 가능한 TCM, D+I 캐시


## 2.7.3. ARM10 Family


> ARM10 (1999)

- 성능 향상이 목적

- 6단계의 파이프라인

- VFP(Vector Floating-Point) 장치를 지원

=> 파이프라인의 7번째 단계로 추가 가능


* VFP - 부동소수점 성능을 대폭 향상, IEEE754.1985 부동소수점 표준과 호환


> ARM1020E

- ARM10 코어의 첫번째 프로세서

- ARM9E처럼 향상된 E 명령어들을 포함

- 32K의 하버드 형태의 캐시 D + I

- 선택적으로 추가가능한 VFP 및 MMU

- 듀얼 64-bit Bus Interface 지원 (성능향상도모)

 

> ARM1026EJ-S

ARM926EJ-S과 비슷

- MPU, MMU 둘다 포함

ARM926EJ-S의 유동성과 ARM10의 성능을 모두 갖춤



## 2.7.4. ARM11 Family


> ARM1136J-S (2003)

- 고성능, 저전력의 Applications를 위해 설계

- 아키텍처 ARMv6 명령어로 구현된 첫번째 제품군

- 8단 파이프라인 (load-store 파이프라인과 산술파이프라인의 분리)


* ARMv6명령어에는 SIMD 확장 명령어가 포함되어 있음

(SIMD : Single Instruction Multiple Data. 미디어처리, 비디오 처리 능력을 향상할 수 있음)


> ARM1136JF-S

- 빠른 부동소수점 계산을 위해 ARM1136J-S에 VFP 장치를 포함



## 2.7.5. 이외에 특별한 제품군


> StrongARM 

- Digital Semiconductor사와 합작으로 개발된 제품

- 현재 Intel에서 라이센스를 가짐

- 저전력 소모 및 고성능을 필요로하는 PDA와 Applications에서 인기

- 하버드 형태의 캐시 아키텍처

- 5단 파이프라인을 적용한 최초의 고성능 ARM 프로세서

- Thumb 명령어는 지원하지 않음


> XScale

- Intel

- StrongARM의 다음 버전

- 성능을 대폭 개선

- 아키텍처 v5TE 명령어를 실행

- 하버드 아키텍처

- StrongARM과 유사

- MMU 내장


> SC100

- 저전력 보안 장치를 위해 설계한 코어

- 첫번째 SecurCore 제품

- ARM7TDMI를 기반으로 구현

- MPU 내장

- 적은 전압과 전류를 필요로 함

- 스마트카드 및 Applications에 응용할 수 있음






'System > Embedded' 카테고리의 다른 글

[ARM] 32비트 ARM 명령어 2  (0) 2015.11.09
[ARM] 32비트 ARM 명령어  (0) 2015.11.09
[ARM] ARM 프로세서 개요  (0) 2015.11.09
[ARM] ARM 임베디드 시스템  (0) 2015.11.08
[ARM] 참고 + ARM 아키텍처의 미래  (0) 2015.11.08

+ Recent posts