태그>arm프로세서(총 124개의 글)
'arm프로세서' 관련 최근글
-
- [Arm프로세서] 멀티 레벨 캐시
-
Arm Linux Kernel Hacks by AustinKim|2022/06/07 06:02
캐시의 구조와 기본 동작 원리를 숙지하면 "프로세서 내부에 CPU 근처에 캐시가 하나가 있겠구나"라고 여깁니다. 하지만 Arm 프로세서를 비롯한 대부분 프로세서는 멀티 레벨로 캐시를 구성합니다. Arm 아키텍처 문서를 보면 실제 캐시는 L1 캐시로 혹은 L2 캐시로 ..
- [Arm프로세서] 멀티 레벨 캐시
-
- [Arm프로세서] 캐시 미스 동작
-
Arm Linux Kernel Hacks by AustinKim|2022/05/30 19:44
캐시 히트는 CPU가 접근하는 데이터가 캐시에 존재하면 처리되는 과정입니다. 하지만 캐시에 CPU가 접근하는 데이터가 없을 수도 있습니다. 이 때 메인 메모리에 접근해 데이터를 캐시에 로딩하는데요. 이 과..
- [Arm프로세서] 캐시 미스 동작
-
- [Arm프로세서] 캐시 히트 동작
-
Arm Linux Kernel Hacks by AustinKim|2022/05/23 12:10
데이터 주소를 바탕으로 캐시에 접근하는 과정을 캐시 룩업(Lookup)이라고 합니다. 캐시 룩업 동작은 크게 캐시 히트와 캐시 미스로 분류됩니다. 먼저 캐시에 접근해 캐시 히트가 동작하는 과정을 알아봅시다..
- [Arm프로세서] 캐시 히트 동작
-
- [Arm프로세서] 캐시의 구성 요소
-
Arm Linux Kernel Hacks by AustinKim|2022/05/20 22:09
캐시는 캐시 라인과 캐시 라인의 속성을 나타내는 부가 정보로 구성돼 있습니다. 이어서 캐시를 나타내는 다음 표를 보면서 캐시의 구성 요소를 알아봅시다. 표 17.2 캐시의 구성 요소 표 17.2는 캐시를 구성하는 ..
- [Arm프로세서] 캐시의 구성 요소
-
- [Arm프로세서] 캐시 알고리즘: 알고리즘 지역성(algorithm locality)
-
Arm Linux Kernel Hacks by AustinKim|2022/05/17 12:18
프로그램은 함수의 호출과 자료 구조로 구성돼 있습니다. 코드를 유심히 분석하면 자주 사용하는 자료 구조나 알고리즘이 어느 정도 정해져 있습니다. 예를 들어 링크드 리스트나 스택과 같은 데이터 구조나 알고리즘을 사용해 데이터를 관리하는 패턴을 볼 수 있습니다. 그런데 데이..
- [Arm프로세서] 캐시 알고리즘: 알고리즘 지역성(algorithm locality)
-
- [Arm프로세서] 캐시 알고리즘: 공간 지역성(Spatial Locality)
-
Arm Linux Kernel Hacks by AustinKim|2022/05/16 06:36
자주 가는 카페에 갔다면 그 카페만 갈까요? 항상 그렇지는 않습니다. 자주 가는 카페 옆에 있는 다른 카페에 갈 가능성도 있습니다. 이렇듯 프로그램이 어떤 데이터를 사용하면 그 데이터와 인접한 데이터에 접근할 확률이 높습니다. 이런 패턴을 공간 지역성(Spatial Locality)..
- [Arm프로세서] 캐시 알고리즘: 공간 지역성(Spatial Locality)
-
- [Arm프로세서] 캐시 알고리즘: 시간적 지역성(temporal locality)
-
Arm Linux Kernel Hacks by AustinKim|2022/05/13 09:47
캐시는 CPU 근처에 있는 용량이 작지만 동작 속도는 빠른 임시 저장 공간입니다. CPU는 접근 속도가 오래 걸리는 메인 메모리보다 캐시에 먼저 접근해 찾으려는 데이터가 있는지 체크합니다. 만약 캐시에 데이터가 있으면 캐시에 존재하는 데이터를 가져옵니다. CPU가 접근하려는..
- [Arm프로세서] 캐시 알고리즘: 시간적 지역성(temporal locality)
-
- [Arm프로세서] L1 캐시와 L2 캐시란
-
Arm Linux Kernel Hacks by AustinKim|2022/05/12 13:39
이전 포스트에서는 한 개 캐시로 구성된 프로세서를 기준으로 캐시의 기본 개념을 설명했습니다. 대부분 시스템은 멀티 레벨로 캐시가 구성돼 있습니다. 다음 그림을 보면서 멀티 레벨 캐시에 대해 알아봅시다. ..
- [Arm프로세서] L1 캐시와 L2 캐시란
-
- [Arm프로세서] 메모리 아키텍처에서 캐시(Cac..
-
Arm Linux Kernel Hacks by AustinKim|2022/05/12 13:38
컴퓨터가 발명된 후 초장기 시점에 컴퓨터는 어떤 모습일까요? 컴퓨터의 크기는 방 하나 정도였습니다. 그 당시에 CPU와 메인 메모리만 존재했습니다. CPU가 어떤 명령어를 실행하거나 데이터를 가져오려면 메..
- [Arm프로세서] 메모리 아키텍처에서 캐시(Cac..
-
- [Arm프로세서] 캐시(Cache)란
-
Arm Linux Kernel Hacks by AustinKim|2022/05/09 16:40
캐시는 CPU 코어가 자주 사용하는 데이터를 저장하는 임시 저장 공간으로 시스템 성능에 지대한 영향을 끼칩니다. 먼저 캐시가 생겨난 배경을 설명하고 캐시를 구성하는 주요 기능을 설명합니다. 캐시란 CPU 캐시의 동작 원리를 다루기 앞서 일반적으로 캐시가 무엇인지 알아 봅시다..
- [Arm프로세서] 캐시(Cache)란
-
- [Arm프로세서] Armv8: 시스템 레지스터에 접근할 수 있는 명령어
-
Arm Linux Kernel Hacks by AustinKim|2022/05/07 16:34
이전 포스트에서 Armv8 아키텍처에서 정의된 레지스터에 대해 알아봤습니다. 레지스터마다 각자 주어진 기능이 있지만 결국 Arm 코어가 사용하는 변수라는 점은 같습니다. 레지스터의 용법을 파악하면 다음과 같은 의문이 생길 수 있습니다. "레지스터의 값을 어떻게 읽거나 ..
- [Arm프로세서] Armv8: 시스템 레지스터에 접근할 수 있는 명령어
-
- [Arm프로세서] Armv8: SPSR_ELx - SPSR(Saved Program Status..
-
Arm Linux Kernel Hacks by AustinKim|2022/05/02 09:19
SPSR_ELx SPSR 레지스터는 Saved Program Status Register의 약자로 PSTATE 정보를 백업하는 용도로 사용됩니다. 따라서 SPSR 레지스터의 비트 맵은 PSTATE와 같습니다. 그렇다면 PSTATE는 SPSR 레지스터로 언제 백업될까요? "바로 익셉션이 유발될 ..
- [Arm프로세서] Armv8: SPSR_ELx - SPSR(Saved Program Status..
-
- [Arm프로세서] Armv8: 범용(General Purpos..
-
Arm Linux Kernel Hacks by AustinKim|2022/04/26 06:05
Armv8 아키텍처의 레지스터 Armv7에서 Armv8로 넘어 오면서 Armv7의 구조가 많이 변경됐습니다. CPU 아키텍처의 최신 기법을 Armv8 아키텍처에 적용하면서 아키텍처의 구조를 많이 개선했으므로 Armv7 대비 20..
- [Arm프로세서] Armv8: 범용(General Purpos..
-
- [Arm프로세서] Armv7: CPSR(Current Program..
-
Arm Linux Kernel Hacks by AustinKim|2022/04/21 05:33
Armv7에서는 프로세서의 상태 정보를 저장하는 CPSR, SPSR 레지스터를 제공합니다. 먼저 CPSR 레지스터를 설명하고 CPSR 레지스터를 백업하는 용도로 설계된 SPSR 레지스터에 대해서 알아봅시다. CPS..
- [Arm프로세서] Armv7: CPSR(Current Program..
-
- [Arm프로세서] 레지스터를 배우기 어려운 이유
-
Arm Linux Kernel Hacks by AustinKim|2022/02/28 08:44
CPU 아키텍처를 배울 때 가장 먼저 레지스터를 접합니다. CPU를 설정하거나 CPU의 속성 정보를 레지스터가 담고 있기 때문입니다. Arm 아키텍처에서 정의된 레지스터를 설명하기 전에 레지스터를 소개합니다. 레지스터를 배우기 어려운 이유 CPU 아키텍처를 처음 배울 때 가장..
- [Arm프로세서] 레지스터를 배우기 어려운 이유