Cortex-M0 Plus 마이크로컨트롤러

안녕하세요. STM0U32 마이크로컨트롤러 제품군의 모든 제품에 내장된 ARM® Cortex®-M0+ 코어에 대한 프레젠테이션에 오신 것을 환영합니다.
Cortex-M0+ 프로세서view
- ARMv6-M 아키텍처
- 폰 노이만 구조, 2-stage 파이프라인
- 단일 이슈 아키텍처
- 1주기로 곱하다
- 메모리 보호 장치(MPU)
- 단일 사이클 I/O 포트

| 초저전력 설계 매우 컴팩트한 코드 | |
| 낮은 전력 소모 및 높은 에너지 효율성 | 제어 명령어, 분기 및 링크를 제외한 모든 명령어는 16비트 길이입니다. |
Cortex®-M0+ 코어는 32비트 RISC 코어의 ARM Cortex-M 그룹의 일부입니다. ARMv6-M 아키텍처를 구현하고 2-stag파이프라인.
Cortex®-M0+는 고유한 AHB-Lite 마스터 포트를 갖고 있지만 데이터 액세스가 Fast I/O 포트 주소 범위를 대상으로 하는 경우 동시적인 명령어 페치와 데이터 액세스를 지원합니다.
Cortex-M 프로세서 호환성
모든 애플리케이션에 걸친 원활한 아키텍처

STM32U0 마이크로컨트롤러는 ARM® Cortex®-M0+ 코어를 통합하여 밀리와트당 비교할 수 없는 성능 비율을 제공합니다.
모든 Cortex®-M CPU는 32비트 아키텍처를 가지고 있습니다.
Cortex®-M3는 ARM이 출시한 최초의 Cortex®-M CPU입니다.
ARM은 호환성을 유지하면서도 고성능과 저전력이라는 두 가지 제품군을 구별하기로 결정했습니다.
Cortex®-M0+는 저전력 제품군에 속합니다. 배터리 구동 장치를 위해 설계되었으며 전력 소비에 매우 민감합니다.
핵심 아키텍처view

Cortex®-M0+ 코어는 0-s 덕분에 Cortex®-M2 코어보다 더 높은 성능을 제공합니다.tage 명령어 파이프라인.
CPU에 대한 설명을 명령어를 가져오고 실행을 담당하는 프로세서 코어부터 시작해 보겠습니다.
ARM Cortex-M0+ → 2초tage 파이프라인

대부분의 V6-M 명령어는 16비트 길이입니다. 32비트 명령어는 32개뿐이며, 대부분은 제어 명령어로 거의 사용되지 않습니다. 그러나 하위 프로그램을 호출하는 데 사용되는 분기 및 링크 명령어도 이 명령어와 다음에 실행될 명령어를 가리키는 레이블 간의 큰 오프셋을 지원하기 위해 XNUMX비트 길이입니다.
이상적으로는 하나의 32비트 액세스가 두 개의 16비트 명령어를 로드하여 명령어당 페치 횟수가 줄어듭니다.
클록 번호 2 동안에는 명령어 페치가 발생하지 않습니다. 명령어 N이 로드/저장 명령어일 때 AHB Lite 포트를 사용하여 데이터 액세스를 실행할 수 있습니다.
지점 성과
Cortex®-M0+ 코어
• 최대 16개의 XNUMX비트 브랜치 섀도우 명령어

주어진 분기에서 사전 페치된 명령어가 낭비되는 양이 줄어듭니다(2-s 덕분에)tag파이프라인).
클록 번호 1에서 프로세서는 Inst0와 무조건 분기 명령어를 가져옵니다.
시계 번호 2에서는 Instr0을 실행합니다.
클록 번호 3에서는 분기 섀도우 명령이라고 하는 두 개의 다음 연속 명령인 Inst1과 Inst2를 가져오는 동안 분기 명령을 실행합니다.
클록 번호 4에서 프로세서는 Inst1과 Inst2를 버리고 InstrN과 InstN+1을 가져옵니다.
Cortex-M0, M3 및 M4는 3-s를 구현합니다.tage 파이프라인: 페치, 디코드, 실행. 브랜치 섀도우 명령어의 수는 더 많습니다: 최대 16개의 XNUMX비트 명령어.
핵심 아키텍처view

Cortex®-M0+에는 내장 캐시도 내부 RAM도 없습니다. 따라서 모든 명령어 페치 트랜잭션은 AHB-Lite 인터페이스로 전송되고 모든 데이터 액세스는 AHB-Lite 인터페이스 또는 Single-cycle I/O 포트로 전송됩니다.
STM32U0는 CPU 외부에 내장된 플래시 컨트롤러에 위치한 SoC 수준의 명령어 캐시를 구현한다는 점에 유의하세요.
AHB-Lite 마스터 포트는 버스 매트릭스에 연결되어 CPU가 메모리와 주변 장치에 액세스할 수 있도록 합니다. 트랜잭션은 AHB-Lite에서 파이프라인되므로 최상의 처리량은 클록당 32비트의 데이터 또는 명령어이며 최소 2클록 지연이 있습니다.
Cortex®-M0+는 또한 단일 사이클 I/O 포트를 갖추고 있어 CPU가 1클럭 지연으로 데이터에 액세스할 수 있습니다. 외부 디코딩 로직은 데이터 액세스가 이 포트로 전송되는 주소 범위를 결정합니다.
STM32U0에서 Single-cycle I/O Port는 GPIO 포트 레지스터에 액세스하는 데 사용되지 않습니다. GPIO 포트는 대신 AHB에 매핑되어 DMA에서 액세스할 수 있습니다.
메모리 보호 장치
- MPU 속성 설정은 액세스 권한을 정의합니다.
- 8개의 독립 메모리 영역
- 코드를 실행할 수 있나요?
- 데이터를 쓸 수 있나요?
- 권한이 없는 모드 액세스?
STM32U0 마이크로컨트롤러의 MPU는 XNUMX개의 독립 메모리 영역에 대한 지원을 제공하며, 다음에 대한 독립적인 구성 가능한 속성을 제공합니다.
- 액세스 권한: 권한/권한 없음 모드에서 읽기/쓰기가 허용되거나 허용되지 않음
- 실행 권한: 실행 가능 영역 또는 명령어 가져오기가 금지된 영역입니다.
참고문헌
- 자세한 내용은 다음 문서를 참조하세요.
- STM32G0 시리즈 Cortex®-M0+ 프로세서 프로그래밍 매뉴얼(PM0223)
- STM32 MCU의 메모리 보호 장치(MPU) 관리(AN4838)
- 팔 web다음 링크의 사이트:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
자세한 내용은 이 애플리케이션 노트와 Cortex®-M0+ 프로그래밍 매뉴얼을 참조하십시오. www.st.com web대지.
ARM도 방문하세요 webCortex®-M0+ 코어에 대한 자세한 정보를 확인할 수 있는 사이트입니다.
감사합니다
© STMicroelectronics – 판권 소유.
ST 로고는 EU 및/또는 기타 국가에서 STMicroelectronics International NV 또는 해당 자회사의 상표 또는 등록 상표입니다.
ST 상표에 대한 추가 정보는 다음을 참조하십시오. www.st.com/trademarks
기타 모든 제품 또는 서비스 이름은 해당 소유자의 자산입니다.
문서 / 리소스
![]() |
ST Cortex-M0 Plus 마이크로컨트롤러 [PDF 파일] 사용설명서 Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus 마이크로컨트롤러, Cortex-M0 Plus, 마이크로컨트롤러 |

