태그>arm프로세서(총 123개의 글)
'arm프로세서' 관련 최근글
-
- [Arm프로세서] GIC: PPI(Private Peripheral Interrupt) 인터럽트
-
Arm Linux Kernel Hacks by AustinKim|2022/09/12 21:14
PPI는 Private Peripheral Interrupt 약자입니다. PPI는 Private와 Peripheral Interrupt의 합성어인데, 이를 개인 소유(Private)의 페리페럴 인터럽트로 해석할 수 있습니다. 여기서 언급된 개인 소유는 특정 CPU 코어라고 해석할 수 있습니다. SPI가 여러 CPU 코어에서..
- [Arm프로세서] GIC: PPI(Private Peripheral Interrupt) 인터럽트
-
- [Arm프로세서] GIC: SPI(Shared Peripheral Interrupt) 인터럽트
-
Arm Linux Kernel Hacks by AustinKim|2022/09/12 21:14
SPI는 Shared Peripheral Interrupt의 약자입니다. SPI는 Shared와 Peripheral Interrupt의 합성어인데, 이를 공유된 페리페럴 인터럽트로 해석할 수 있습니다. 여기서 Shared의 의미는 무엇일까요? 여러 I/O 디바이스에서 전달되는 인터럽트는 SPI 통해 여러 CPU 코어에..
- [Arm프로세서] GIC: SPI(Shared Peripheral Interrupt) 인터럽트
-
- [Arm프로세서] GIC: 인터럽트 소스와 타입
-
Arm Linux Kernel Hacks by AustinKim|2022/09/02 11:54
GIC는 4가지 타입의 인터럽트 소스를 처리하며 그 종류는 다음 테이블에서 확인할 수 있습니다. 표 16.2 GIC를 구성하는 인터럽트 소스의 종류 GIC는 4가지 인터럽트 입력을 처리하는데 기능에 따라 다음과 같이 ..
- [Arm프로세서] GIC: 인터럽트 소스와 타입
-
- [Arm프로세서] GIC는 왜 배워야 할까?
-
Arm Linux Kernel Hacks by AustinKim|2022/08/16 10:00
Arm 아키텍처와 관련된 주제로 세미나를 진행하면 참석자들은 다음과 같은 질문을 종종 합니다. ● FIQ는 어떻게 설정할까? ● 시큐어 인터럽트는 어떻게 설정해야 할까? 이런 질문에 대해 답하려면 GIC(Generic Interrupt Controller)를 알아야 합니다. GI..
- [Arm프로세서] GIC는 왜 배워야 할까?
-
- [Arm프로세서] 인터럽트 콘트롤러의 기본 구조
-
Arm Linux Kernel Hacks by AustinKim|2022/08/04 06:39
인터럽트 콘트롤러가 필요한 이유를 알아봤으니 이어서 인터럽트 콘트롤러를 소개합니다. 다음 그림은 인터럽트 콘트롤러의 기본 구조도입니다. 그림 16.1 인터럽트 콘트롤러의 기본 구조 그림에서 가장 왼쪽에 ..
- [Arm프로세서] 인터럽트 콘트롤러의 기본 구조
-
- [Arm프로세서] GIC: 인터럽트 콘트롤러가 필요한 이유
-
Arm Linux Kernel Hacks by AustinKim|2022/08/03 15:28
인터럽트 콘트롤러가 필요한 이유는 무엇일까요? 컴퓨터는 다음과 같이 구성돼 있기 때문입니다. ● CPU ● 메모리 ● I/O 장치 마이크로 프로세서는 CPU와 메모리를 깊이 있게 다룹니다. 그런데 실제 고객이 사용하는 제품은 키보드나 마우스와 같..
- [Arm프로세서] GIC: 인터럽트 콘트롤러가 필요한 이유
-
- [Arm프로세서] 캐시: 캐시와 관련된 시스템 레..
-
Arm Linux Kernel Hacks by AustinKim|2022/07/16 15:08
CLIDR_EL1는 Cache Level ID Register의 약자로 캐시의 타입과 각각 캐시 레벨에서 구현 방식을 설정할 수 있는 레지스터입니다. CLIDR_EL1 레지스터를 통해 최상위 통합 캐시 레벨과 최상위 캐시 일관성..
- [Arm프로세서] 캐시: 캐시와 관련된 시스템 레..
-
- [Arm프로세서] 캐시: 캐시와 관련된 시스템 레..
-
Arm Linux Kernel Hacks by AustinKim|2022/07/16 15:06
CTR_EL0은 Cache Type Register의 약자로 캐시 아키텍처의 정보를 제공하는 레지스터입니다.일반적으로 시스템이 부팅하는 과정에서 CTR_EL0 레지스터를 설정합니다. 다음 그림은 CTR_EL0 레지스터..
- [Arm프로세서] 캐시: 캐시와 관련된 시스템 레..
-
- [Arm프로세서] Cortex 프로세서 별 캐시 스팩
-
Arm Linux Kernel Hacks by AustinKim|2022/06/27 11:29
캐시를 배울 때 가장 먼저 "Armv7 아키텍처와 Armv8 아키텍처 별로 캐시는 서로 다른 방식으로 구현됐을까?"라는 의문이 생길 수 있습니다. 근데 이 질문에 약간 오류가 있습니다. 캐시는 일반적으..
- [Arm프로세서] Cortex 프로세서 별 캐시 스팩
-
- [Arm프로세서] 캐시(Cache): Direct-Mapp..
-
Arm Linux Kernel Hacks by AustinKim|2022/06/12 22:34
Direct-Mapped 캐시는 가장 단순한 캐시 구조입니다. 사실 이전 절에서 다뤘던 캐시의 구조는 모두 Direct-Mapped 입니다. 이번에는 다음 그림을 보면서 Direct-Mapped 캐시의 구조 배워봅시다. 그림 17...
- [Arm프로세서] 캐시(Cache): Direct-Mapp..
-
- [Arm프로세서] 캐시(Cache): Arm 프로세서의 캐시 구조
-
Arm Linux Kernel Hacks by AustinKim|2022/06/12 22:33
CPU의 캐시를 설계하는 방식은 다양합니다. 이 중에 CPU 아키텍처에서 많이 사용되는 캐시 구조는 크게 다음과 같이 분류할 수 있습니다. Direct-Mapped 캐시 Set-Associative 캐시 Fully-Associative 캐시 위에서 소개한 캐시 구조 중에 Arm 프로세서의 캐시는..
- [Arm프로세서] 캐시(Cache): Arm 프로세서의 캐시 구조
-
- [Arm프로세서] 캐시(Cache): 멀티 캐시 정책
-
Arm Linux Kernel Hacks by AustinKim|2022/06/10 10:16
캐시를 L1, L2, L3 캐시와 계층 구조로 설계한다면 다음과 같은 요구 사항을 생각해 볼 필요가 있습니다. 상위와 하위 레벨에 있는 캐시에 데이터를 중복해 저장할 것인가? 중복해 보관하지 않으면 어떤 방..
- [Arm프로세서] 캐시(Cache): 멀티 캐시 정책
-
- [Arm프로세서] 캐시(Cache): 멀티 캐시를 ..
-
Arm Linux Kernel Hacks by AustinKim|2022/06/10 10:15
이어서 Arm 아키텍처 문서에서 발췌한 다이어그램을 보면서 멀티 레벨 캐시의 구조를 알아봅시다. 그림 17.8 기본적인 캐시의 구조(출처: ARM® Cortex®-A Series Version: 1.0, Progr..
- [Arm프로세서] 캐시(Cache): 멀티 캐시를 ..
-
- [Arm프로세서] 캐시의 성능 지표
-
Arm Linux Kernel Hacks by AustinKim|2022/06/07 06:03
이번 포스트에서 다룬 캐시의 동작을 다시 요약하면 다음과 같습니다. “속도가 빠른 캐시를 CPU 근처에 두고 CPU가 자주 사용하는 데이터를 캐시라는 임시 저장 공간에 두면 성능을 키울 수 있다.” 실제 Arm 프로세서의 메모리 아키텍처 다이어그램을 분석하면 멀티 레벨로 캐시..
- [Arm프로세서] 캐시의 성능 지표
-
- [Arm프로세서] 멀티 레벨 캐시
-
Arm Linux Kernel Hacks by AustinKim|2022/06/07 06:02
캐시의 구조와 기본 동작 원리를 숙지하면 "프로세서 내부에 CPU 근처에 캐시가 하나가 있겠구나"라고 여깁니다. 하지만 Arm 프로세서를 비롯한 대부분 프로세서는 멀티 레벨로 캐시를 구성합니다. Arm 아키텍처 문서를 보면 실제 캐시는 L1 캐시로 혹은 L2 캐시로 ..
- [Arm프로세서] 멀티 레벨 캐시