일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 실무PT후기
- ARM 아키텍쳐: 메모리 모델과 배리어
- yocto
- 시스템 소프트웨어 개발을 위한 ARM 아키텍처의 구조와 원리
- 빌드 시스템
- ARM 아키텍처: 메모리모델과 배리어
- 코멘토
- Arm 아키텍처: 메모리 모델과 배리어
- 인프런
- arm
- 코멘토실무PT
- Arm 아키텍처: 캐시
- Kernel
- BSP
- udemy
- Today
- Total
목록전체 글 (29)
반도체 소프트웨어

3주 차는 DMA에 대해 공부했다. DMA는 말 그대로 CPU를 거치지않고 디바이스가 메모리에 직접 접근하는 방식이라는 개념적인 정의 이상으로 아는 것이 아무 것도 없었다. QEMU로 DMA 기법을 사용하는 하드웨어를 작성하고, DMA를 지원하는 디바이스 드라이버를 개발하는 과정이 정말 인상깊었다. 특히 UART에 DMA가 적용한 소스 코드를 분석하면서 DMA에 대해 정말 깊고 넓게 이해할 수 있었다. DMA가 머릿속에서 추상적인 개념이 아닌 효율적으로 메모리를 접근하는 디바이스를 개발하는 기법 중 하나라는 것을 소스코드와 실무적인 레벨에서 이해할 수 있었다. 현업에서 DMA를 사용하게 된다면 요번 주차에서 공부한 경험이 정말 큰 도움이 될 것이다. [2024/01/24(수) 20:00] 작주 복습 버스..

캐시 접근 속도, 대역폭, 단위 용량 등 성능 차이가 뚜렷한 두 계층 사이에서 지역성을 활용해 자주 활용되거나 인접한 자료를 잠시 저장(일반적인 개념) 캐시를 소프트웨어나 하드웨어로 구현 ex) 리눅스커널의 슬랩 캐시, 프로세서의 링크레지스터 캐시, 브랜치 캐시 고속으로 동작하는 static RAM 캐시 디자인 원칙 캐시에서 원하는 데이터를 어떻게 찾을지(캐시 hit) 캐시에서 원하는 데이터가 없으면 어떻게 처리할지(캐시 miss) 캐시의 성능은 어떻게 최적화할지 캐시를 배우는 이유 고급 시스템 소프트웨어 개발자가 되기 위한 기본 지식: 난제 이슈 해결의 실마리 캐시 설정 방식은 시스템 성능에 영향을 줌: TLB miss, 캐시 세부 동작 방식 설정 memory corruption 이슈를 디버깅하기 위한..

멀티코어 시스템에서 배리어 여태까지는 싱글코어 기준 배리어 설명이었음 메모리주소에 저장된 값이 다른 core에서도 동기화될수있는지는 중요함 멀티코어시스템에서 데이터 동기화 문제 각 cpu코어에서 처리한 메모리를 동일하게 사용할 수 있는지 여러 cpu 코어에서 명령어가 실행되어서 순서가 꼬이지 않는지예시) DMB ISH: 한 코어에서 업데이트한 메모리를 다른 코어에서도 동기화된채로 사용하도록 해주는 명령어 shareability Domain 과 배리어 shareability Domain: 멀티코어 환경에서 배리어 명령어의 적용 범위를 정의하는 것 배리어 명령어에 Qualifier 옵션을 줘서 배리어가 적용되는 범위를 결정 Qualifier 옵션 종류 SY: Full System 적용 OSH: Outer S..