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
- 빌드 시스템
- Arm 아키텍처: 캐시
- ARM 아키텍쳐: 메모리 모델과 배리어
- BSP
- Kernel
- 인프런
- yocto
- 코멘토
- udemy
- arm
- 시스템 소프트웨어 개발을 위한 ARM 아키텍처의 구조와 원리
- 실무PT후기
- ARM 아키텍처: 메모리모델과 배리어
- Arm 아키텍처: 메모리 모델과 배리어
- 코멘토실무PT
Archives
- Today
- Total
반도체 소프트웨어
요약 1. 캐시(cache) 개요 본문
- 캐시
- 접근 속도, 대역폭, 단위 용량 등 성능 차이가 뚜렷한 두 계층 사이에서 지역성을 활용해 자주 활용되거나 인접한 자료를 잠시 저장(일반적인 개념)
- 캐시를 소프트웨어나 하드웨어로 구현 ex) 리눅스커널의 슬랩 캐시, 프로세서의 링크레지스터 캐시, 브랜치 캐시
- 고속으로 동작하는 static RAM
- 캐시 디자인 원칙
- 캐시에서 원하는 데이터를 어떻게 찾을지(캐시 hit)
- 캐시에서 원하는 데이터가 없으면 어떻게 처리할지(캐시 miss)
- 캐시의 성능은 어떻게 최적화할지
- 캐시를 배우는 이유
- 고급 시스템 소프트웨어 개발자가 되기 위한 기본 지식: 난제 이슈 해결의 실마리
- 캐시 설정 방식은 시스템 성능에 영향을 줌: TLB miss, 캐시 세부 동작 방식 설정
- memory corruption 이슈를 디버깅하기 위한 기반 지식(메모리 깨짐)
- cache 라인 단위로 메모리 오염
- cache corruption
- 캐시는 내부 전원에 민감하기도함
- cpu 아키텍처 관점으로 커널 동작을 파악할때 유용: 캐시의 동작 방식을 활용해 시스템 침투 해킹 방법 등이 있음
- 캐시 필요성
- cpu가 메모리에 접근해 데이터를 가져오기 위해 기다리는 사이클 낭비, 병목현상은 문제임
- cpu가 자주 사용하는 데이터를 캐시가 갖고 있으면 연산 속도가 빨라짐
- 캐시 레벨마다 설계 기준이 다르다. 그래서 용량도 다르고 속도도 좀 다름
- 멀티레벨캐시
- 캐시접근속도와 용량 사이의 trade-off를 멀티레벨캐시로 극복
- 여러 계층으로 캐시를 구성하면 프로세서 성능을 최대한 높일수있음
- 대략적으로 L1캐시는 32kB, L2캐시는 4MB바이트 용량 정도 되네
- 캐시용량이 커지면 캐시라인 사이즈가 커지기에 hit latency가 증가하므로, CPU와 통신속도가 가장 중요한 L1캐시는 시간이 지나도 용량이 커지기 어려움
- L1은 CPU와 통신 속도가 핵심성능지표
- L2는 캐시 미스를 줄이는게 핵심성능지표 (98% 확률로 cpu 코어는 캐시에서 명령어, 데이터를 읽는다)

출처: 인프런, "Arm 아키텍처: 캐시", https://inf.run/f73W6