휴대폰 프로세서의 암
ARM(Advanced RISC Machines) 은 한 회사의 이름으로 볼 수 있으며 마이크로프로세서와 기술의 총칭이다.
영국 케임브리지에 설립된 199 1 ARM 은 칩 설계 기술에 대한 라이센스를 주로 판매하고 있습니다. 현재 ARM 기술을 지적 재산권 (IP) 의 핵심으로 하는 마이크로프로세서인 ARM 마이크로프로세서는 산업 통제, 소비자 전자제품, 통신 시스템, 네트워크 시스템, 무선 시스템 등 제품 시장에 널리 퍼져 있습니다. ARM 기술을 기반으로 한 마이크로프로세서 애플리케이션은 32 비트 RISC 마이크로프로세서의 75% 이상을 점유하고 있으며, ARM 기술은 점차 우리 생활의 모든 측면에 스며들고 있습니다.
ARM 은 RISC 기술 기반 칩 설계 및 개발을 전문으로 하는 회사입니다. 지적 재산권 공급업체로서 칩 생산에 직접 종사하지 않는다. 설계 허가를 이전함으로써 협력회사는 다양한 특성을 가진 칩을 생산한다. 세계 주요 반도체 업체들은 ARM 사로부터 자신이 설계한 ARM 마이크로프로세서 코어를 구입하고 각기 다른 애플리케이션 분야에 따라 적절한 주변 회로를 추가하여 자체 ARM 마이크로프로세서 칩을 만들어 시장에 진출했다. 현재, 전 세계 수십 개의 대형 반도체 회사가 ARM 사의 허가를 사용하여 ARM 기술을 더 많은 타사 도구, 제조 및 소프트웨어에 대한 지원을 받을 뿐만 아니라 전체 시스템 비용을 절감하고 제품을 시장에 쉽게 진출할 수 있도록 하여 소비자들이 받아들이고 경쟁력을 강화하고 있습니다. 1.2. 1 ARM 마이크로프로세서 애플리케이션
지금까지 ARM 마이크로프로세서 및 기술의 적용은 거의 모든 분야에 걸쳐 이루어졌습니다.
1. 산업 제어 분야: 32 비트 RISC 아키텍처인 ARM 코어 기반 마이크로컨트롤러 칩은 하이엔드 마이크로컨트롤러의 시장 점유율 대부분을 차지할 뿐만 아니라 로우엔드 마이크로컨트롤러의 어플리케이션으로도 점차 확대되고 있습니다. ARM 마이크로컨트롤러의 저전력 및 가격 대비 성능은 기존의 8 비트/16 비트 마이크로컨트롤러에 도전합니다.
2. 무선 통신 분야: 현재 무선 통신 장비의 85% 이상이 ARM 기술을 채택하고 있으며, 이 분야에서 ARM 의 지위는 고성능, 저비용으로 인해 더욱 공고해지고 있습니다.
3. 인터넷 애플리케이션: 광대역 기술이 보급됨에 따라 ARM 기술을 채택한 ADSL 칩이 경쟁 우위를 점하고 있습니다. 또한 ARM 은 음성 및 비디오 처리에 최적화되어 광범위한 지원을 받았으며 DSP 응용 분야에 도전했습니다.
4. 소비자 전자제품: ARM 기술은 널리 사용되는 디지털 오디오 플레이어, 디지털 셋톱 박스 및 게임기에 널리 사용됩니다.
5. 이미징 및 보안 제품: 현재 널리 사용되는 대부분의 디지털 카메라와 프린터에는 ARM 기술이 사용됩니다. 휴대전화 속 32 비트 SIM 스마트 카드도 ARM 기술을 채택하고 있다.
또한 ARM 마이크로프로세서와 기술도 다양한 분야에 적용되므로 앞으로 더 광범위하게 적용될 것입니다.
1.2.2 ARM 마이크로프로세서의 특징
RISC 기반 ARM 마이크로프로세서의 일반적인 특징은 다음과 같습니다.
1, 작은 크기, 낮은 전력 소비, 낮은 비용, 높은 성능
2. Thumb( 16 비트) /ARM(32 비트) 듀얼 명령어를 지원하여 8 비트/16 비트 장치와 잘 호환됩니다.
3, 레지스터의 대량 사용, 명령 실행 속도가 더 빠릅니다.
대부분의 데이터 작업은 레지스터에서 수행됩니다.
5, 유연하고 간단한 주소 지정 방법, 높은 실행 효율;
명령 길이는 고정되어 있습니다. 현재 ARM 마이크로프로세서에는 다음 시리즈와 다른 공급업체의 ARM 아키텍처 기반 프로세서가 포함되어 있습니다. ARM 아키텍처의 * * * 기능 외에도 ARM 마이크로프로세서의 각 시리즈에는 고유한 기능과 응용 분야가 있습니다.
-arm 7 시리즈
-arm 9 시리즈
-arm9e 시리즈
-arm 10e 시리즈
-securcore 제품군
-Xscale 에 관심이 있어요
-strong 이익 지점
여기서 ARM7, ARM9, ARM9E, ARM 10 은 4 개의 범용 프로세서 시리즈로, 각 제품군은 서로 다른 애플리케이션의 요구 사항을 충족할 수 있는 비교적 고유한 성능 세트를 제공합니다. SecurCore 제품군은 보안 요구 사항이 높은 어플리케이션을 위해 설계되었습니다.
이제 다양한 프로세서의 특징과 응용 분야에 대해 자세히 살펴보겠습니다.
1.3. 1 ARM7 마이크로프로세서 시리즈
ARM7 시리즈 마이크로프로세서는 전력 및 전력 요구 사항이 높은 소비자 어플리케이션에 적합한 저전력 32 비트 RISC 프로세서입니다. ARM7 마이크로프로세서 제품군의 특징은 다음과 같습니다.
-임베디드 ICE-RT 논리를 사용하여 디버깅 및 개발이 용이합니다.
-휴대용 제품과 같이 전력 수요가 많은 어플리케이션에 적합한 매우 낮은 전력 소비량.
-0.9 메가비트/메가헤르츠 3 단 파이프 라인 구조를 제공합니다.
-코드 밀도가 높고 16 비트 Thumb 명령어 세트와 호환됩니다.
-Windows CE, Linux, Palm OS 등을 포함한 광범위한 운영 체제 지원.
-명령 시스템은 ARM9 시리즈, ARM9E 시리즈 및 ARM 10E 시리즈와 호환되므로 사용자가 제품을 쉽게 업그레이드할 수 있습니다.
-최대 주파수가 130 IPS 에 달하고, 고속 컴퓨팅 처리 능력이 대부분의 복잡한 어플리케이션을 처리할 수 있습니다.
ARM7 시리즈 마이크로프로세서의 주요 응용 분야는 산업 제어, 인터넷 장치, 네트워크 및 모뎀 장치, 휴대폰 등 멀티미디어 및 임베디드 애플리케이션입니다.
ARM7 시리즈 마이크로프로세서에는 ARM7TDMI, ARM7TDMI-S,
ARM720T, ARM7EJ J. 여기서 ARM7TMDI 는 가장 널리 사용되는 32 비트 임베디드 RISC 프로세서로 로우엔드 ARM 프로세서 코어에 속합니다. TDMI 의 기본 의미는 다음과 같습니다.
T: 압축 명령어 세트 Thumb; 로 16 지원
D: 온칩 디버깅 지원;
M: 임베디드 하드웨어 곱셈기.
I: 온칩 중단 점 및 디버깅 지점을 지원하는 임베디드 ICE;
1.3.2 ARM9 마이크로프로세서 제품군
ARM9 시리즈 마이크로프로세서는 고성능 및 저전력 분야에서 최고의 성능을 제공합니다. 다음과 같은 특징이 있습니다.
-레벨 5 정수 파이프 라인, 더 효율적인 명령 실행.
-1..1MIPS/MHz 의 하버드 구조를 제공합니다.
-32 비트 ARM 명령어 세트와 16 비트 Thumb 명령어를 지원합니다.
-32 비트 고속 AMBA 버스 인터페이스를 지원합니다.
임베디드 운영 체제.
-MPU 는 실시간 운영 체제를 지원합니다.
-더 높은 명령어 및 데이터 처리 기능을 갖춘 데이터 캐싱 및 명령어 캐싱을 지원합니다.
ARM9 시리즈 마이크로프로세서는 주로 무선 장비, 계기, 보안 시스템, 셋톱 박스, 고급 프린터, 디지털 카메라 및 디지털 카메라에 사용됩니다.
ARM9 시리즈 마이크로프로세서에는 다양한 어플리케이션을 위한 ARM920T, ARM922T, ARM940T 의 세 가지 모델이 포함되어 있습니다.
1.3.3 ARM9E 마이크로프로세서 제품군
ARM9E 시리즈 마이크로프로세서는 단일 프로세서 코어를 사용하여 마이크로컨트롤러, DSP 및 Java 애플리케이션 시스템에 솔루션을 제공하는 통합 프로세서로 칩 면적과 시스템 복잡성을 크게 줄여줍니다. ARM9E 시리즈 마이크로프로세서는 DSP 와 마이크로컨트롤러를 모두 사용해야 하는 어플리케이션에 적합한 향상된 DSP 처리 기능을 제공합니다.
ARM9E 시리즈 마이크로프로세서의 주요 기능은 다음과 같습니다.
-고속 디지털 신호 처리가 필요한 경우에 적합한 DSP 명령 세트 지원.
-레벨 5 정수 파이프 라인, 더 효율적인 명령 실행.
-32 비트 ARM 명령어 세트와 16 비트 Thumb 명령어를 지원합니다.
-32 비트 고속 AMBA 버스 인터페이스를 지원합니다.
-VFP9 부동 소수점 프로세싱 보조 프로세서 지원.
-MPU 는 실시간 운영 체제를 지원합니다.
-더 높은 명령어 및 데이터 처리 기능을 갖춘 데이터 캐싱 및 명령어 캐싱을 지원합니다.
-최대 300mb 의 클럭 속도.
ARM9 시리즈 마이크로프로세서는 주로 차세대 무선 장치, 디지털 소비재, 이미징 장치, 산업 제어, 스토리지 장치 및 네트워킹 장비에 사용됩니다.
ARM9E 시리즈 마이크로프로세서에는 다양한 응용 분야에 적합한 ARM926EJ-S, ARM946E-S, ARM966E-S 의 세 가지 모델이 포함되어 있습니다.
1.3.4 ARM 10E 마이크로프로세서 제품군
ARM 10E 시리즈 마이크로프로세서는 고성능의 저전력 기능을 제공합니다. ARM910E 시리즈의 마이크로프로세서는 새로운 아키텍처를 채택하여 동일한 클럭 주파수에서 거의 50% 향상된 성능을 제공합니다. 한편 ARM 10e 시리즈의 마이크로프로세서는 두 가지 고급 에너지 절약 방법을 사용하여 전력 소비량을 매우 낮춥니다.
ARM 10E 시리즈 마이크로프로세서의 주요 기능은 다음과 같습니다.
-고속 디지털 신호 처리가 필요한 경우에 적합한 DSP 명령 세트 지원.
-레벨 6 정수 파이프 라인, 더 효율적인 명령 실행.
-32 비트 ARM 명령어 세트와 16 비트 Thumb 명령어를 지원합니다.
-32 비트 고속 AMBA 버스 인터페이스를 지원합니다.
-VFP 10 부동 소수점 프로세싱 보조 프로세서 지원.
-Windows CE, Linux, Palm OS 등 주요 임베디드 운영 체제를 지원하는 전체 성능 MMU.
-더 높은 명령어 및 데이터 처리 기능을 갖춘 데이터 캐싱 및 명령어 캐싱을 지원합니다.
-최대 400mb 의 클럭 속도.
-내장형 병렬 읽기/쓰기 운영 단위.
ARM 10E 시리즈 마이크로프로세서는 주로 차세대 무선 장비, 디지털 소비재, 이미징 장비, 산업 제어, 통신 및 정보 시스템 분야에 사용됩니다.
ARM 10E 시리즈의 마이크로프로세서로는 ARM 1020E, ARM 1022E, arm1026ej-
1.3.5 SecurCore 마이크로프로세서 제품군
보안 요구 사항을 충족하도록 설계된 SecurCore 마이크로프로세서 제품군은 완벽한 보안 솔루션을 제공하는 32 비트 RISC 기술을 갖추고 있습니다. 따라서 SecurCore 마이크로프로세서 제품군은 ARM 아키텍처의 저전력 및 고성능 외에도 보안 솔루션을 지원한다는 고유한 장점을 가지고 있습니다.
ARM 아키텍처의 주요 기능 외에도 SecurCore 마이크로프로세서 제품군은 시스템 보안 측면에서 다음과 같은 기능을 제공합니다.
-운영 체제 및 어플리케이션 데이터의 보안을 보장하는 유연한 보호 장치.
-소프트 코어 기술을 사용하여 외부 스캔 및 감지를 방지합니다.
-사용자 고유의 보안 기능 및 기타 보조 프로세서를 통합할 수 있습니다.
SecurCore 시리즈 마이크로프로세서는 주로 전자 상거래, 전자 정부, 전자 은행 업무, 네트워크, 인증 시스템 등 보안 요구 사항이 높은 애플리케이션 및 애플리케이션 시스템에 사용됩니다.
SecurCore 시리즈 마이크로프로세서에는 SecurCore SC 100, SecurCore SC 1 10, SecurCore SC200 의 네 가지 유형이 있습니다
1.3.6 StrongARM 마이크로프로세서 제품군
인텔 ARM SA- 1 100 프로세서는 ARM 아키텍처를 갖춘 고도로 통합된 32 비트 RISC 마이크로프로세서입니다. Inter 의 설계 및 처리 기술과 ARM 아키텍처의 전력 효율성을 결합하여 소프트웨어에 ARMv4 아키텍처와 호환되는 아키텍처를 채택하여 Intel 기술의 장점을 제공합니다.
인텔 StrongARM 프로세서는 휴대용 통신 제품 및 가전 제품에 이상적이며 여러 회사의 핸드헬드 제품군에 성공적으로 적용되었습니다.
1.3.7 Xscale 프로세서
Xscale 프로세서는 ARMv5TE 아키텍처 기반 솔루션으로, 전체 성능, 가격 대비 성능, 저전력 프로세서입니다. 디지털 휴대폰, 개인 디지털 어시스턴트 및 네트워킹 제품에 적용된 16 비트 Thumb 명령어 및 DSP 명령어를 지원합니다.
Xscale 프로세서는 현재 Inter 가 주도하는 ARM 마이크로프로세서입니다. 1.4. 1 RISC 아키텍처
기존의 CISC (Complex Instruction Set Computer) 구조에는 컴퓨터 기술이 발전함에 따라 새로운 복잡한 명령어가 계속 출시되는 단점이 있습니다. 이러한 새로운 지침을 지원하기 위해 컴퓨터 아키텍처는 점점 더 복잡해질 것이다. 그러나 CISC 명령어의 다양한 명령어 중 사용 빈도는 매우 다르며 전체 프로그램 코드의 80% 를 차지하는 명령의 약 20% 가 재사용됩니다. 나머지 80% 명령은 자주 사용되지 않고 프로그래밍에서는 20% 에 불과합니다. 분명히, 이 구조는 합리적이지 않습니다.
위의 비합리성을 바탕으로 1979 년 캘리포니아 대학 버클리 분교는 RISC (컴팩트 명령어 세트 컴퓨터) 개념을 제시했다. RISC 는 단순한 감소 명령이 아니라 컴퓨터 구조를 더 간단하고 합리적으로 만들어 컴퓨팅 속도를 높이는 방법에 초점을 맞추고 있습니다. RISC 아키텍처는 복잡한 명령을 피하기 위해 가장 빈도가 높은 간단한 명령을 우선적으로 선택합니다. 명령 길이가 고정되어 명령 형식 및 주소 지정 방법의 종류를 줄입니다. 제어 논리는 위주이며 마이크로코드 제어 등의 조치를 사용하거나 적게 사용하여 이러한 목적을 달성한다.
지금까지 RISC 아키텍처는 엄격하게 정의되지 않았습니다. 일반적으로 RISC 아키텍처는 다음과 같은 특징을 가져야 합니다.
-고정 길이 명령어 형식으로 명령어에는 2 ~ 3 가지 기본 주소 지정 방법이 있습니다.
-단일 사이클 명령어는 파이프 라인 작업의 실행을 용이하게 하는 데 사용됩니다.
-많은 레지스터가 사용되었습니다. 데이터 처리 명령은 레지스터에만 작동하며 로드/저장 지침만 메모리에 액세스하여 명령 실행 효율성을 높일 수 있습니다.
또한 ARM 아키텍처는 고성능을 유지하면서 칩 면적을 최소화하고 전력 소비량을 줄일 수 있는 특수 기술을 채택하고 있습니다.
-모든 명령을 이전 실행 결과에 따라 실행할 수 있으므로 명령 실행 효율성이 향상됩니다.
-로드/저장 명령을 사용하여 대량 데이터 전송으로 데이터 전송 효율성을 높일 수 있습니다.
-논리적 처리 및 이동 처리는 하나의 데이터 처리 명령 내에서 동시에 수행할 수 있습니다.
-순환 프로세스에서 주소의 자동 증감을 사용하여 운영 효율성을 높입니다.
물론 RISC 아키텍처는 CISC 아키텍처에 비해 위와 같은 장점이 있지만 RISC 아키텍처가 CISC 아키텍처를 대체할 수 있다고 생각해서는 안 됩니다. 사실 RISC 와 CISC 는 각각 장점이 있고, 한계도 그렇게 뚜렷하지 않다. 현대 CPU 는 CISC 의 외곽을 사용하여 RISC 의 특징을 통합하는 경우가 많습니다. 예를 들어, 긴 명령어 세트 CPU 는 RISC 와 CISC 의 장점을 결합하여 향후 CPU 발전 방향 중 하나가 됩니다.
1.4.2 ARM 마이크로프로세서의 레지스터 구조
ARM 프로세서 * * * 에는 37 개의 레지스터가 있으며 여러 저장 영역으로 나뉩니다. 이러한 레지스터는 다음과 같습니다.
-3 1 범용 레지스터 (프로그램 카운터 (PC 포인터) 포함) 는 모두 32 비트 레지스터입니다.
-6 개의 상태 레지스터, 모두 32 비트로 CPU 의 작동 상태와 프로그램의 작동 상태를 식별하며 현재 일부만 사용되고 있습니다.
동시에 ARM 프로세서에는 7 가지 다른 프로세서 모드가 있으며 각 프로세서 모드에는 해당 레지스터 세트가 있습니다. 즉, 모든 프로세서 모드에서 액세스할 수 있는 레지스터로는 15 개의 범용 레지스터 (R0 ~ R 14), 하나 또는 두 개의 상태 레지스터 및 프로그램 카운터가 있습니다. 모든 레지스터 중 일부는 7 가지 프로세서 모드에서 사용되는 동일한 물리적 레지스터이고, 다른 일부는 다른 프로세서 모드에서 서로 다른 물리적 레지스터를 가지고 있습니다.
ARM 프로세서의 레지스터 구조는 다음 장에서 자세히 설명합니다.
1.4.3 ARM 마이크로프로세서의 명령 구조
최신 아키텍처에서 ARM 마이크로프로세서는 ARM 명령어 세트와 Thumb 명령어라는 두 가지 명령어를 지원합니다. 여기서 ARM 명령은 길이 32 비트, Thumb 명령은 길이 16 비트입니다. Thumb 명령어는 ARM 명령어 세트의 하위 세트이지만 동등한 ARM 코드에 비해 30 ~ 40% 이상의 저장 공간을 절약할 수 있으며 32 비트 코드의 모든 장점을 제공합니다.
ARM 프로세서의 명령 구조는 다음 섹션에서 자세히 설명합니다. ARM 마이크로프로세서의 많은 장점을 고려해 볼 때, 국내외 임베디드 애플리케이션 분야가 점진적으로 발전함에 따라 ARM 마이크로프로세서는 광범위한 관심과 응용을 받게 될 것입니다. 그러나 ARM 마이크로프로세서의 코어 구조는 10 여 가지가 있으며, 칩 업체는 수십 개, 내부 기능 구성 조합은 변화무쌍하여 개발자가 방안을 선택하는 데 어느 정도 어려움을 겪고 있다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 예술명언) 따라서 ARM 칩에 대한 비교 연구가 필요하다.
이 문서에서는 ARM 마이크로프로세서를 선택할 때 고려해야 할 주요 문제에 대해 간략하게 설명합니다.
암 마이크로 프로세서 코어 선택
위에서 알 수 있듯이 ARM 마이크로프로세서에는 다양한 응용 분야에 적합한 일련의 코어 구조가 포함되어 있습니다. 사용자가 WinCE 또는 표준 Linux 와 같은 운영 체제를 사용하여 소프트웨어 개발 시간을 줄이려면 ARM720T, ARM922T, ARM946T 및 Strong-ARM 에서 MMU 기능을 갖춘 ARM 칩을 선택해야 합니다. ARM7TDMI 에는 MMU 가 없으며 Windows CE 및 표준 Linux 를 지원하지 않습니다. 그러나 uCLinux 등 MMU 지원이 필요하지 않은 운영 체제도 ARM7TDMI 하드웨어 플랫폼에서 실행됩니다. 실제로 uCLinux 는 MMU 가 없는 다양한 마이크로프로세서 플랫폼에 성공적으로 이식되었으며 안정성 등에서 뛰어난 성과를 거두었습니다.
이 책에서 다룬 S3C45 10B 는 uCLinux 운영 체제가 작동할 수 있는 MMU 가 없는 ARM 마이크로프로세서입니다.
시스템의 작동 주파수
시스템의 작동 주파수는 ARM 마이크로프로세서의 처리 능력을 크게 결정합니다. ARM7 시리즈 마이크로프로세서의 일반적인 처리 속도는 0.9 MPs/MHz, ARM7 칩 시스템의 일반적인 클럭 속도는 20MHz- 133MHz, ARM9 시리즈 마이크로프로세서의 일반적인 처리 속도는1../kloc-입니다 칩마다 시계를 처리하는 방식이 다르다. 일부 칩은 주 클럭 주파수가 하나만 필요하고, 일부 내부 클럭 컨트롤러는 ARM 코어와 USB, UART, DSP, 오디오 등의 기능 부품에 각각 다른 주파수의 시계를 제공할 수 있습니다.
온칩 메모리의 용량
대부분의 ARM 마이크로프로세서는 슬라이스 내 저장 용량이 작기 때문에 사용자가 시스템을 설계할 때 메모리를 확장해야 합니다. 그러나 ATMEL 의 AT9 1F40 162 와 같은 일부 칩의 칩 내 저장 공간은 상대적으로 크며, 그 칩 내 프로그램 저장 공간은 최대 2MB 입니다. 사용자는 시스템을 설계할 때 이 유형을 고려하여 시스템 설계를 단순화할 수 있습니다.
온칩 주변 회로 선택
ARM 마이크로프로세서 코어를 제외한 거의 모든 ARM 칩은 서로 다른 응용 분야에 따라 관련 기능 모듈을 확장하고 칩에 통합합니다. USB 인터페이스, IS 인터페이스, LCD 컨트롤러, 키보드 인터페이스, RTC, ADC 및 DAC, DSP 보조 프로세서 등과 같은 온칩 주변 회로라고 합니다. 설계자는 시스템 요구 사항을 분석하고 온칩 주변 회로를 사용하여 필요한 기능을 수행함으로써 시스템 설계를 단순화하고 시스템을 개선해야 합니다.