Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Kernel
- udemy
- Arm 아키텍처: 캐시
- 빌드 시스템
- 실무PT후기
- 시스템 소프트웨어 개발을 위한 ARM 아키텍처의 구조와 원리
- 코멘토
- arm
- Arm 아키텍처: 메모리 모델과 배리어
- yocto
- ARM 아키텍쳐: 메모리 모델과 배리어
- 인프런
- ARM 아키텍처: 메모리모델과 배리어
- BSP
- 코멘토실무PT
Archives
- Today
- Total
반도체 소프트웨어
요약 1. 메모리 모델 개요 본문
- 메모리 구성, 메모리 어떻게 처리되는지에 대한 설계
- ARM사에서 사용하는 용어
- 메모리타입 분류
- normal memory
- 일반적인 시스템 소프트웨어 개발시에 사용하는 메모리 방식
- 메모리 접근 순서 등 추가 작업을 ARM 코어가 진행
- device memory(mmio)
- Soc ip, block을 설정하기 위해 사용하는 메모리 방식
- 추가 작업진행안하고 IP에만 접근해서 작업 진행
- normal memory
- 메모리맵
- 메모리 영역을 속성별로 분류한 메모리 지도
- 리눅스 커널에서 디바이스 트리로 메모리 맵 속성 지정
- 프로젝트초반에 메모리 맵을 설정(각 코드별 HEAP, CODE, 데이터 사이즈를 측정)
- kernel data,code 및 app data,code 영역
- cacheable이라는 것이 nomale memory로 처리되는 것
- 메모리 리오더링, 명령어 실행 순서를 상황에 따라서 바뀌서 처리될수도있음
- Peripheral: non-cached/ordered
- 메모리 모델 잘 알아야하는 이유
- ARM 프로세서의 메모리 처리 동작에 대한 폭넓은 이해
- 노멀/디바이스 메모리
- 메모리 리오더링
- MMIO처리방식
- 파이프라인
- Shareability Domain
- MMIO 처리 방식을 이해하기 위해
- 디바이스드라이버 개발시 필수 사용
- 페리페럴 커뮤니케이션 용도(센서, UART 콘솔, 각종 IP 제어)로 사용
- 디버깅, 트러블슈팅
- 디바이스 메모리 처리 방식을 따름
- 배리어를 이해하기 위한 배경 지식
- 실전개발에서 베리어는 매우 중요
- 안정화단계에서 동시성 이슈를 해결하기 위해서 필요
- 노멀 메모리 처리 방식
- 실전 프로젝트에서 배리어를 활용하기 위해
- 성능최적화
- 크리티컬 섹션 보호
- 병렬 처리
- ARM 내부에서는 성능 최적화를 위해 명령어 실행순서를 바꾸기도함. 이러면 프로그래머 의도대로 실행되지 않을때가 있는데, 명령어 간 실행 순서를 보존하기 위해 배리어라는 개념도 도입됨
- 각 CPU코어마다 개별적으로 어셈블리어를 실행한다는 것을 명심
- ARM 프로세서의 메모리 처리 동작에 대한 폭넓은 이해
출처: 인프런, "Arm 아키텍처: 메모리 모델과 배리어", https://inf.run/5b8vH
'CPU Architecture > ARM Memory Model & Barrier' 카테고리의 다른 글
요약 5. 배리어 고급 (0) | 2024.01.26 |
---|---|
요약 4. 배리어(Barrier) (0) | 2024.01.26 |
요약 3. 노멀 메모리 (1) | 2024.01.26 |
요약 2. MMIO(Memory Mapped I/O) (1) | 2024.01.26 |