인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

platf님의 프로필 이미지

작성한 질문수

Arm 아키텍처: 메모리 모델과 배리어 [저자직강 3부-3]

2.2-메모리 맵드 I/O 예시-BCM2711 (라즈베리 파이)

리눅스 memory map

작성

·

43

0

https://developer.arm.com/documentation/100166/0001/Programmers-Model/Processor-memory-model

https://m.blog.naver.com/sheld2/222021173697

image.png

 

image.png

Arm document 랑 St microelectronics 에서 구현한 m4 chip 인데 메모리가 묘하게 다른 것 같아요

어디까지 구현했느냐의 차이인가요? 이러면 프로그램 실행에 문제가 없나요?

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. platf님.

ARM 아키텍처와 STMicroelectronics의 M4 칩셋에서의 메모리 맵이 다르게 나타나는 점에 대해 질문을 주셨네요. 여기서 중요한 점은 이들 메모리 맵의 차이가 기술적인 구현 방법과 사용 사례에 따라 발생할 수 있다는 것입니다.

ARM 아키텍처와 메모리 맵

  1. 일반적인 ARM 메모리 맵:

    • ARM 아키텍처의 메모리 모델은 보편적으로 사용되며, 이는 프로세서 코어의 설계 원칙에 맞춰 구현됩니다. ARM의 메모리 매핑은 주로 주소 공간의 가상의 매핑을 처리하여 메모리 및 주변 장치에게 접근할 수 있게 해줍니다.
  2. 칩셋의 구현 차이:

    • 각 칩셋의 제조사에서는 ARM의 기본 아키텍처에 자신들만의 하드웨어 요구사항에 맞춰 메모리 맵을 커스터마이징할 수 있습니다. 이는 최적화된 성능을 제공하거나, 특화된 주변 장치 구현을 위해 필요합니다.
    • STMicroelectronics의 M4와 같은 칩셋에서는 특정 기능을 가진 내부 주변 장치나 메모리 구조를 ARM의 기본 모델 위에 추가하거나 변형할 수 있습니다. 이러한 특화된 구현이 각각의 목적에 따라 다르게 나타날 수 있습니다.
  3. 프로그램 실행 문제:

    • 기본적으로 이러한 차이는 성능 최적화와 특정 기능 제공을 위한 것이므로, 정확히 설계된 프로그램 내에서는 문제가 되지 않습니다. 다만, 개발자는 각 플랫폼에서 제공하는 하드웨어 매뉴얼과 데이터를 준수하여 프로그램을 작성해야 합니다.
    • 각 메모리 블록이 차지하는 주소 범위나 사용 용도를 정확히 이해하고 이를 기준으로 메모리 할당 및 접근을 구현해야 합니다.

추가적인 비교나 사용 관련 세부 사항이 필요하다면 각 칩셋의 기술 문서를 참조하거나, 여러 사용자 사례를 찾아보시는 것도 좋습니다.

더 자세한 정보를 원하신다면, 다음의 링크를 참조하시기 바랍니다:
- ARM Cortex Microcontroller Software Interface Standard (CMSIS)
- STM32 Microcontroller Reference Manual

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

platf님의 프로필 이미지

작성한 질문수

질문하기