일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가이드
- Framework
- adfit
- base64
- RSA
- Custom Package
- 텍스트 메시 프로
- unity
- 커스텀 패키지
- C#
- TextMeshPro
- 암호화
- jumping ball
- 프레임워크
- Job 시스템
- 최적화
- 이미지 폰트
- 샘플
- 단말기 해상도
- 2D Camera
- Tween
- 다이나믹 폰트
- DotsTween
- ui
- Dots
- job
- Dynamic Font
- sha
- AES
- Unity Editor
- Today
- Total
EveryDay.DevUp
[Unity] 단말기 메모리 ( Flash Memory, RAM, Cache L1,L2,L3 ) 본문
어플리케이션을 개발하기 위해서는 타겟이 되는 단말기의 하드웨어 스펙을 확인할 필요가 있다. 하드웨어 스펙에 따라 어플리케이션에서 사용할 수 있는 메모리, CPU, 기타 등등의 기능의 범위가 정해지기 때문이다. 이 글에서는 단말기의 메모리의 대해서 확인하고자 한다.
▶ Galaxy S10+ (512GB) 모델을 타겟 단말로 설정하여 하드웨어 스펙을 알아보고자 한다.
메모리 : 512GB UFS 2.1 규격 내장 메모리 / 8GB LPDDR4X SDRAM
CPU : 삼성 엑시노스 9 Series (9820)
( Samsung Exynos M4 MP2 [ L1 192KB, L2 1MB, L3 2MB ]+ ARM Cortex-A75 MP2 [ L1 256KB, L2 512 KB ] + ARM Cortex-A55 MP4 8개의 코어를 가짐 )
① 512GB UFS 2.1 규격 내장 메모리 ( embedded Universal Flash Storage )
: 비휘발성 메모리로 전원이 꺼져도 데이터를 보존한다.
: DRAM 보다는 빠르지 않지만 일반 하드디스크보다 일반적으로 읽기 속도가 빠르고 충격에 강하다.
: 메모리 블록 단위로 읽고 쓸 수 있지만, 블록 단위로 지워야 한다. 또한 지우기 횟수의 제한이 있다.
: 어플리케이션이 설치되는 공간이다. 실제적으로 어플리케이션 개발자가 해당 영역을 사용할 일은 드물지만 어플리케이션의 리소스 저장을 위해 사용할 수 있다.
② 8GB LPDDR4X SDRAM
: RAM은 Random Access Memory의 약자로 랜덤하게 메모리에 접근해도 데이터를 가져오는 속도가 동일한 메모리이다.
: 휘발성 메모리로 전원이 꺼지면 데이터가 사라진다.
: 어플리케이션이 실행되면 RAM의 공간을 할당 받고, RAM <-> CPU 데이터 전달을 통해 어플리케이션이 동작된다.
③ L3, L2, L1 Cache
: RAM과 CPU가 직접적으로 데이터를 전달하면 속도차이로 인해 병목 현상이 발생한다. 이 때문에 CPU와 RAM 사이에 빠른 데이터 전달을 위해 징검다리 역할로 L3, L2, L1과 같은 캐시 메모리가 존재한다.
: L3, L2, L1 각 사이에도 속도의 차이가 있으며, L3 -> L1으로 갈수록 가격이 비싸지기 때문에, 가격에 비례하여 용량이 작아진다.
: 캐시메모리는 CPU가 요구하는 데이터를 RAM에서 가져올 때, 필요한 데이터와 인접한 데이터를 같이 가져온다. 그 이유는 데이터를 사용한 근처의 데이터를 사용할 가능성이 높기 때문이다.
CPU에 필요한 데이터를 찾기 위해 L1 -> L2 -> L3 -> RAM 으로 검색을 하는데, 하나의 단계를 거칠 때마다 오버헤드가 생긴다. 이 때문에 (DOD)data oriented design이 나오게 되었다. DOD는 인접한 데이터를 같이 가져오는 메모리 특성을 이용하여 데이터가 메모리에 연속될 수 있게 하는 패턴이기 때문에 오버헤드를 줄일 수가 있다.
참고 자료 : https://namu.wiki/w/%EA%B0%A4%EB%9F%AD%EC%8B%9C%20S10%2B
참고 자료 : https://en.wikichip.org/wiki/samsung/exynos/9820#Cache
참고 자료 : https://ko.wikipedia.org/wiki/%ED%94%8C%EB%9E%98%EC%8B%9C_%EB%A9%94%EB%AA%A8%EB%A6%AC
참고 자료 : https://namu.wiki/w/RAM
'R&D' 카테고리의 다른 글
[Unity] Android Debug ( Logcat ) - 안드로이드 디버깅, 개발자 옵션 ( Samsung, LG ) (0) | 2020.06.28 |
---|---|
[Unity] 컴퓨터 기초 ( 스마트폰 하드웨어) (0) | 2020.06.09 |
[Unity] 버전 관리, 형상 관리 ( SVN, GIT ) - 비교 (0) | 2020.06.06 |
[Unity] 버전 관리, 형상 관리 ( SVN, GIT ) - 개념 (0) | 2020.06.06 |
[Unity] MVC, MVP, MVVM 소프트웨어 디자인 패턴 (4) | 2020.06.01 |