기금넷 공식사이트 - 회사 연구 - ARM 모델에 대한 질문

ARM 모델에 대한 질문

두 질문에 대한 답변은 `

ARM 명령어 세트 개발 내역

저자: xdpeter 제출 날짜를 검색하여 참고했습니다. : 2006 -4-12 20:01:00

2장 일반적인 ARM 아키텍처 소개

1. 버전 소개

지금까지 ARM 아키텍처** *6개의 버전이 정의되어 있으며, 버전 번호는 1~6입니다. 동시에 각 버전에는 몇 가지 변형이 있습니다. 여기서 일부 특정 기능을 ARM 시스템의 변형이라고 합니다. 예를 들어 Thumb 명령어 세트에 대한 지원을 T 변형이라고 합니다. 긴 곱셈 명령어(M 변형), SIMD(ARM Media Extensions) 변형, JAVA를 지원하는 J 변형, 향상된 기능을 갖춘 E 변형.

ARM 프로세서 코어에는 현재 ARM7, ARM9, ARM9E, ARM10E, SecurCore 및 최신 ARM11 시리즈 등 6개 시리즈의 제품이 있습니다. Intel

Tightly Coupled Memory

(TCM) Jazelle

Thumb

DSP

AHB 인터페이스

ARM7TDMI 아무것도 아무것도 아무것도 아무것도 아무것도

ARM7TDMI-S 아무것도 아무것도 아무것도 아무것도

ARM7EJ-S 아무것도 아무것도 아무것도

ARM720T 8K MMU 없음

ARM7은 ARMV4T(Newman) 구조를 채택하여 세 가지 수준의 파이프라인, 공간적으로 통합된 명령 및 데이터 캐시로 구분되며 평균 전력 소비는 0.6mW/MHz, 클럭 속도는 66MHz, 각 명령은 평균 1.9 클록 주기로 실행됩니다. 그 중 ARM710, ARM720, ARM740은 캐시가 내장된 ARM 코어이다. 다음과 같은 특징이 있습니다:

- ICE-RT 로직이 내장되어 있어 디버그 및 개발이 쉽습니다.

- 매우 낮은 전력 소비로 휴대용 제품과 같이 전력 소비 요구 사항이 더 높은 애플리케이션에 적합합니다.

-0.9MIPS/MHz의 3단 파이프라인 구조를 제공할 수 있습니다.

- 코드 밀도가 높고 16비트 Thumb 명령어 세트와 호환됩니다.

-Windows CE, Linux, Palm OS 등을 포함한 운영 체제에 대한 광범위한 지원

-명령 시스템은 ARM9 시리즈, ARM9E 시리즈 및 ARM10E 시리즈와 호환되므로 사용자가 제품을 쉽게 업그레이드할 수 있습니다.

- 기본 주파수는 최대 130MIPS에 도달할 수 있으며 고속 컴퓨팅 처리 기능은 가장 복잡한 애플리케이션을 처리할 수 있습니다.

ARM7 시리즈 마이크로프로세서의 주요 응용 분야는 산업 제어, 인터넷 장비, 네트워크 및 모뎀 장비, 휴대폰, 기타 멀티미디어 및 임베디드 응용 프로그램입니다. ARM7 시리즈 마이크로프로세서에는 ARM7TDMI, ARM7TDMI-S, ARM720T 및 ARM7EJ 유형의 코어가 포함됩니다. 그 중 ARM7TMDI는 현재 가장 널리 사용되는 32비트 임베디드 RISC 프로세서이자 보급형 ARM 프로세서 코어이다.

TDMI의 기본 의미는 다음과 같습니다. T: 16비트 압축 명령어 세트 Thumb D: 온칩 디버그 지원 M: 내장형 하드웨어 곱셈기(Multiplier) I: 내장형 ICE, 온칩 중단점 및 디버깅 지점 지원

ARM에서 제공하는 ARM7 데이터 시트를 보면 ARM7은 5단계 파이프라인을 사용하는 일반적인 32비트 RISC 구조와 비교하면 비교적 단순한 구조의 32비트 RISC 아키텍처임을 알 수 있다. 파이프라인 설계를 단순화합니다. 이는 ARM7 칩의 성능 향상을 제한하는 반면, 멀티에서 해결해야 하는 충돌 등 복잡하고 어려운 문제를 고려할 필요가 없게 만든다. -단계 파이프라인, 중단 현장 복구 등은 설계의 정확성과 효율성을 단순화하고 개선하는 데 도움이 됩니다.

명령어 길이와 형식의 제한으로 인해 ARM7의 일반 명령어는 4비트 레지스터 공간에만 액세스할 수 있습니다. 이는 다른 곳에서 액세스할 수 있는 5비트 및 6비트 레지스터와 다릅니다. 32비트 RISC 아키텍처는 다릅니다. ARM7에서는 사용자가 특수 모드 변환 방법을 통해 다른 15개의 범용 레지스터에 액세스할 수 있습니다.

ARM7의 모든 명령어는 조건부로 실행됩니다. 현재의 주류 32비트 RISC 아키텍처에서는 이러한 현상이 거의 발생하지 않습니다. 명령어에 조건부 필드를 설정하면 컴파일러는 명령어의 조건부 실행 기능을 조건부로 완료하고 컴파일 효과를 최적화할 수 있습니다. 또한 조건부 필드의 도입으로 인해 파이프라인을 설계할 때 디코딩된 명령어를 실행할 수 있는지 여부를 고려해야 합니다.

메모리 액세스 명령어를 제외한 ARM7의 모든 명령어는 레지스터를 기반으로 작동합니다. 이는 일반적인 RISC 설계 아이디어입니다.

참고: arm 아키텍처의 버전 및 명명 방법

arm 아키텍처 ***는 버전 번호가 1부터 6까지인 6가지 버전을 정의합니다.

arm 시스템의 변형: 일부 특정 기능을 arm 시스템의 변형이라고 합니다.

#T 변형(Thumb 명령어 세트)은 Thumb을 의미하며 커널은 16- 비트 명령어 세트는 32비트 ARM 명령어 세트로 확장됩니다.

#D: 디버그를 나타냅니다. 디버깅을 위한 구조는 일반적으로 경계 스캔 체인 JTAG입니다. 이를 통해 CPU가 디버깅 모드로 들어가고 중단점을 쉽게 설정할 수 있습니다. 단계 디버깅을 클릭합니다.

#M 변형(긴 곱셈 명령어)은 8비트 곱셈기인 Multiplier를 나타냅니다.

#I는 EmbeddedICE Logic의 약자로, Breakpoint Observation과 Variable Observation을 구현하는데 사용되는 논리회로 부분입니다. TAP Controller를 Boundary Scan Chain에 연결할 수 있습니다.

#E 변형(향상된 명령어) DSP 명령어 지원.

#J 변형(Java 가속기 Jazelle) JAVA 명령 지원.

#SIMD 변형(ARM 미디어 기능 확장) SIMD(Single Instruction Multiple Data) 기능을 사용하면 소프트웨어가 사운드 및 이미지 인코더와 같은 고성능 미디어 애플리케이션을 보다 효율적으로 완료할 수 있습니다.

arm/thumb 시스템 버전 문자열은 다음 부분으로 구성됩니다:

#String ARMV

#arm 명령어 세트 버전 번호, 1~6

p>

#ARM 명령어 세트 버전 번호 뒤에는 포함된 변형을 나타내는 문자가 옵니다. M 변형은 ARM 시스템 버전 4 이후 시스템의 표준 기능이 되므로 일반적으로 문자 M을 나열할 필요가 없습니다.

#사용된 마지막 문자 x는 특정 쓰기 기능을 제외한다는 의미입니다. 예를 들어, 일부 초기 E 변형에는 더블 워드 읽기 명령어 LDRD, 더블 워드 쓰기 명령어 STRD, 보조 프로세서 레지스터 전송 명령어 MCRR/MRRC 및 캐시 프리패치 명령어 PLD가 포함되지 않았습니다. 이 E 변형은 ExP로 표시됩니다. 여기서 x는 부족을 나타내고 P는 위에서 언급한 지침을 나타냅니다.

ARMv3M, ARMv5xM, ARMv6 등

예: ARMv5xM---gt; ARMv 4 x M 

ARM9 성능 특성

캐시 크기

(명령/데이터) 메모리 관리 장치

긴밀하게 결합된 메모리

(TCM) Jazelle

Thumb

DSP

AHB 인터페이스

ARM920T 16K/16K MMU 없음 또는 없음

ARM922T 8K/8K MMU 없음 또는 없음

ARM940T 4K/4K MMU 없음

ARM9는 ARMV4T(Harvard) 구조, 5단계 파이프라인 처리 및 별도의 캐시 구조를 채택했으며 평균 전력 소비는 0.7mW/MHz입니다. 클록 속도는 120MHz~200MHz이며 각 명령은 평균 1.5 클록 주기로 실행됩니다. ARM7 시리즈와 유사하게 ARM920, ARM940 및 ARM9E는 캐시가 있는 CPU 코어입니다. 성능은 132MIPS(120MHz 클록, 3.3V 공급) 또는 220MIPS(200MHz 클록)입니다.

ARM9 E 성능 특성

캐시 크기

(명령/데이터) 메모리 관리 장치

긴밀하게 결합된 메모리

(TCM) Jazelle

Thumb

DSP

AHB 인터페이스

ARM926EJS 4-128K/4-128 MMU 예 예 예 듀얼 AHB 포함

ARM946EJS 4-1MB/4-1MB MMU AHB 포함 또는 제외

ARM966ES AHB 포함 또는 제외

ARM9E 시리즈 마이크로프로세서 프로세서는 포괄적인 단일 프로세서 코어를 사용하여 마이크로컨트롤러, DSP 및 Java 애플리케이션 시스템용 솔루션을 제공하는 프로세서로, 칩 면적과 시스템 복잡성을 크게 줄입니다. ARM9E 시리즈 마이크로프로세서는 향상된 DSP 처리 기능을 제공하며 DSP와 마이크로컨트롤러를 모두 사용해야 하는 애플리케이션에 매우 적합합니다.

ARM9E 시리즈 마이크로프로세서의 주요 특징은 다음과 같습니다. - DSP 명령어 세트를 지원하여 고속 디지털 신호 처리가 필요한 경우에 적합합니다. - 5단계 정수 파이프라인으로 명령어 실행 효율성이 높아집니다. - 32비트 ARM 명령어 세트와 16비트 Thumb 명령어 세트를 지원합니다. - 32비트 고속 AMBA 버스 인터페이스를 지원합니다. - VFP9 부동 소수점 처리 보조 프로세서를 지원합니다. - Windows CE, Linux, Palm OS 등과 같은 여러 주류 임베디드 운영 체제를 지원하는 완전한 성능의 MMU - MPU는 실시간 운영체제를 지원합니다. - 더 높은 명령어 및 데이터 처리 기능을 갖춘 데이터 캐시 및 명령어 캐시를 지원합니다. - 주요 주파수는 최대 300MIPS에 도달할 수 있습니다. ARM9 시리즈 마이크로프로세서는 주로 차세대 무선 장비, 디지털 소비자 제품, 이미징 장비, 산업 제어, 스토리지 장비 및 네트워크 장비 분야에서 사용됩니다. ARM9E 시리즈 마이크로프로세서는 다양한 애플리케이션에 적합한 ARM926EJ-S, ARM946E-S 및 ARM966E-S의 세 가지 유형을 포함합니다.

ARM10 E 성능 특성

캐시 크기

(명령/데이터) 메모리 관리 장치

긴밀하게 결합된 메모리

(TCM) Jazelle

Thumb

DSP

AHB 인터페이스

ARM1020E 32K/32K MMU 없음 예 예 듀얼 AHB< / p>

ARM1022E 16K/16K MMU 아니요 아니요 예 듀얼 AHB 포함

ARM1026EJ-S 가변 MMU MMU 예 예 듀얼 AHB 포함

ARM10은 ARMV5T 구조, 6레벨 파이프라인 처리를 채택합니다. , 명령어와 데이터를 분리하는 캐시 구조. 평균 소비전력은 1000mW, 클럭 속도는 300MHz, 각 명령어는 평균 1.2사이클을 실행하는데, 그 중 ARM1020이 Cache 버전이다. ARM10TDMI: 고속 32X16 MAC 및 예약된 DSP 보조 프로세서 인터페이스가 내장되어 있어 바이너리 레벨에서 모든 ARM 코어와 호환됩니다. VFP10(벡터 부동 소수점 단위)은 7레벨 파이프라인 구조입니다. ARM1020T: ARM10TDMI 32K 캐시 MMU 구조, 300MHz 클록, 전력 소비는 1W(2.0V 전원 공급 장치) 또는 00mW(1.5V 전원 공급 장치)입니다. 명령어 캐시와 데이터 캐시는 각각 32K이고 너비는 64비트입니다. 다양한 상용 운영체제를 운영할 수 있는 능력. 차세대 고성능 휴대용 인터넷 장치 및 디지털 소비자 애플리케이션에 이상적입니다.

ARM10E 시리즈 마이크로프로세서는 새로운 아키텍처를 채택하여 동급 ARM9 장치에 비해 동일한 클럭 주파수에서 성능이 거의 50% 향상되었습니다. 동시에 ARM10E 시리즈 마이크로프로세서는 두 가지 고급 에너지 절약 방법을 채택하여 전력 소비를 극도로 낮춥니다. ARM10E 시리즈 마이크로프로세서의 주요 특징은 다음과 같습니다. - 고속 디지털 신호 처리가 필요한 경우에 적합한 DSP 명령어 세트를 지원합니다. - 6단계 정수 파이프라인으로 명령어 실행 효율성이 높아집니다. - 32비트 ARM 명령어 세트와 16비트 Thumb 명령어 세트를 지원합니다. - 32비트 고속 AMBA 버스 인터페이스를 지원합니다. - VFP10 부동 소수점 처리 보조 프로세서를 지원합니다. - Windows CE, Linux, Palm OS 등과 같은 여러 주류 임베디드 운영 체제를 지원하는 완전한 성능의 MMU - 더 높은 명령어 및 데이터 처리 기능을 갖춘 데이터 캐시 및 명령어 캐시를 지원합니다. - 기본 주파수는 최대 400MIPS에 도달할 수 있습니다. - 내장형 병렬 읽기/쓰기 작업 구성요소. ARM10E 시리즈 마이크로프로세서는 주로 차세대 무선 장비, 디지털 소비자 제품, 이미징 장비, 산업 제어, 통신 및 정보 시스템 및 기타 분야에 사용됩니다. ARM10E 시리즈 마이크로프로세서는 다양한 애플리케이션에 적합한 ARM1020E, ARM1022E 및 ARM1026EJ-S의 세 가지 유형을 포함합니다.

ARM11 성능 특성

캐시 크기

(명령어/데이터) 기호 도트

연산 메모리 관리 단위

긴밀하게 결합된 메모리

(TCM) Jazelle

SIMD

DSP

AHB 인터페이스

ARM1136J-S 4-64K 아니요 MMU 예 예 64비트 4개

ARM1136JF-S 4-64K MMU 포함 예 예 64비트 4개

비트 AHB

ARM11이 첫 번째입니다. ARM11 마이크로구조의 설계 목적인 ARMv6 아키텍처 구현