본문 바로가기
C++ 200제/코딩 IT 정보

ARM Architecture, 프로세서 버스와 버전별 특징

by vicddory 2018. 5. 14.

ARM Architecture, 프로세서 버스와 버전별 특징


버클리 RISCⅠ 논문이 발표된 이후 이 새로운 CPU가 상업적으로 성공할 수 있다는 것을 ARM 社가 증명하기 위해 버클리 RISCⅠ 관련 기술(Architecture)을 상당수 채택하였고, 스탠포드의 MIPS(Microprocessor without Interlocking Pipeline Stages) 등에서도 관련 기술과 설계 개념을 빌려왔다.


이후의 꾸준한 연구를 통해 ARM 라이선스가 전 세계 반도체 제조업체에게 팔리게 되면서 ARM CPU는 저전력, 저가격 임베디드 시장을 주도하는 현재에 이르렀다.


임베디드 시스템은 작은 센서 모듈에서부터, 고정밀 실시간 제어 시스템에 이르기까지, 다양한 디바이스들을 제어하는 데 사용됩니다.

이 모든 디바이스들은 소프트웨어와 하드웨어 컴포넌트들의 조합으로 이루어져 있다. ARM 하드웨어 설계 시 각 컴포넌트는 시스템의 요구에 따라 적절하게 선택되고, 확장이 쉽도록 설계한다. 아래 그림은 ARM 코어 기반의 전형적인 임베디드 디바이스를 나타낸다.


각 Architecture 블록은 특정 기능을 가진 디바이스를 의미하고 이를 연결해주는 선은 데이터 전송에 사용되는 버스(bus)를 의미함.


ARM 프로세서 - 버스들의 의미[ARM 프로세서 - 버스들의 의미]


ARM 프로세서는


- ARM 코어의 캐시,

- MMU (Memory Management Unit),

- 쓰기 버퍼 (Wrte Buffer),

- TCM (Tightly Coupled Memory),

- 버스 인터페이스 유닛 (Bus Interface Unit)


위와 같은 Architecture 주변 회로를 구성한 독립된 형체를 말한다.


캐시는 ARM 코어에서 읽기 요청이 있을 때 최대한 빨리 명령이나 데이터를 전달해주기 위한 고속 메모리 장치다.


대부분의 캐시를 가지고 있는 프로세서는 메모리를 관리하기 위하여 MMU 또는 MPU(Micro Processing Unit) 같은 제어장치로, 고속으로 동작하는 코어와 저속으로 동작하는 시스템 버스 사이의 속도 차이를 극복하기 위한 쓰기 버퍼를 지원한다.


ARM Architecture 아키텍처 프로세서


MMU는 가상 주소를 물리 주소로 변환하는 어드레스 변환 기능이 있어 다양한 애플리케이션을 지원할 수 있다. ARM 버스 기술은 버스의 전기적인 특성은 거의 규정하지 않고 버스 프로토콜만을 규정한다.


ARM 프로세서에 사용되는 온 칩(On-Chip) 버스 아키텍처로 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜을 채택하였다. AMBA를 사용할 때 주변 장치를 설계하는 사람은 여러 프로젝트에서 똑같은 디자인을 재활용할 수 있다.


AMBA 인터페이스와 함께 개발된 많은 주변 장치가 있으므로, 하드웨어 설계자는 충분히 테스트 되고 검증된 다양한 주변 장치를 선택적으로 사용할 수 있다.


아래 표는 ARM의 버전별 특징을 나타낸다.


ARM Architecture 아키텍처 버젼별 특징


   ARMv4

 32비트 주소 영역에서 32비트 Instruction Set Architecture(ISA) 동작이 가능.

 ARMv5TE

 Thumb 아키텍처와 Enhanced DSP 명령어 셋이 ISA에 추가.

 ARMv5TEJ

 Jazelle(자바 하드웨어 가속기) 확장 명령어 추가.

 (JVM보다 속도 면에서 8배 향상)

 ARMv6

 메모리 시스템, 예외 처리 개선, 멀티프로세싱 환경을 위한 지원 기능이 포함.

 ARM1136J

 최초의 modified-Harvard 아키텍처를 채용 ARM의 명령어 처리 속도가 한층 빨라짐.

 (명령어 캐시와 데이터 캐시의 분리)



ARM Architecture, 프로세서 버스와 버전별 특징

댓글