Guillermo Austin Kim
Posts
998 posts[Arm프로세서] 캐시: 캐시와 관련된 시스템 레지스터 - CTR_EL0
CTR_EL0은 Cache Type Register의 약자로 캐시 아키텍처의 정보를 제공하는 레지스터입니다.일반적으로 시스템이 부팅하는 과정에서 CTR_EL0 레지스터를 설정합니다. 다음 그림은 CTR_EL0 레지스터의 비트 맵입니다. 그림 17.12 CTR_EL0 레지스터의 비트 맵 CTR_EL0 레지스터를 구성하는 비트 맵을 살펴보겠습니다. IminLine, bits [3:0] 인스트럭션 캐시 라인 사이즈를 나타내는 비트로 2n 워드 단위로 저장됩니다. L1Ip, bits [15:14] 레벨 1 인스트럭션(Instruction) 캐시 정책을 설정하는 비트 필드입니다. 비트 필드 값에 따른 레벨 1 인스트럭션 정책은 다음과 같습니다. b01: ASID-tagged Virtual Inde
[Trusted-Firmware] EL3: SMC 핸들러 엔트리 코드 리뷰
블로그에 방문하시는 분께서 트러스트 존을 어떤 방식으로 구현하는지 궁금하다는 질문을 주셨는데요.댓글을 작성하다보니 길어져서 아예 새롭게 포스팅합니다. Trusted Firmware 소개 트러스트 존과 관련된 코드가 실제 어떤 방식으로 구현됐는지 확인하려면 오픈 소스로 진행되는 Trusted Firmware 소스를 분석하면 됩니다. 링크는 다음과 같습니다. 깃허브에 가면 bl1, bl2, bl31, bl32과 같은 디렉토리가 보이는데요. 각 디렉터리의 의미는 아래 링크에서 확인할 수 있습니다. Boot Loader stage 1 (BL1) AP Trusted ROM* Boot Loader stage 2 (BL2) Trusted Boot Firmware* Boot Loader stage 3-1 (BL3
[후기] '2022 한국 컴퓨터 종합 학술대회 (KCC2022)' - 'ftrace를 이용해 리눅스 커널 정복하기'
7.1(금) 오전 10시에 'ftrace를 이용해 리눅스 커널 정복하기' 주제로 발표했다.발표를 하면서 느꼈던 점과 사진을 몇 가지 남긴다. 세미나 관심도 생각보다 엄청난 인원이 세미나에 참석했다. 대략 100명은 넘게 참석했던 것으로 예상한다.발표를 시작한지 오분 정도 지났을 때 자리가 부족해 뒤에 서서 듣는 학생들이 보였다. 그 동안 수 많은 세미나를 진행했지만 가장 감동적인 순간이었다. 저 멀리 어둠 속에 서서 발표를 듣는 참석자들의 실루엣은 앞으로 잊지 못할 기억으로 남을 것이다. 발표를 듣다가 다른 발표장을 떠나는 경우가 많은데 2시간 동안 이어진 발표 시간 동안거의 대부분 참석자들이 자리를 지켰다. 사진 1: 발표 1시간 전에 발표 장소에 도착해 자료를 리뷰했다. 사진 2:
[Arm프로세서] Cortex 프로세서 별 캐시 스팩
캐시를 배울 때 가장 먼저 "Armv7 아키텍처와 Armv8 아키텍처 별로 캐시는 서로 다른 방식으로 구현됐을까?"라는 의문이 생길 수 있습니다. 근데 이 질문에 약간 오류가 있습니다. 캐시는 일반적으로 프로세서마다 약간 다른 방식으로 구현돼 있기 때문입니다. 그래서 "Armv7 아키텍처와 Armv8 아키텍처 기반의 Arm 프로세서 제품군에서 캐시는 서로 다른 방식으로 구현됐을까?"라고 질문을 할 수 있습니다. Armv7, Armv8 기반의 프로세서 들간의 Arm Lv1/Lv2 캐시를 구성하는 방식은 거의 유사합니다. 다음 그림을 같이 보겠습니다. 그림 17.11 프로세서 별 메모리 아키텍처(출처: cortex_a72_mpcore_trm_100095_0003_06_en.pdf, DDI0438I_cor
[Arm프로세서] 캐시(Cache): Set-associative 캐시 구조
Set-associative 캐시는 하나의 Set(집합)가 여러 개의 캐시 엔트리로 구성된 캐시 구조입니다. Set-associative란 용어에서 Set은 수학에서 정의된 집합으로 비유할 수 있는데, 하나의 Set가 여러 개의 캐시 엔트리로 구성된 구조입니다. 다음 그림을 보면서 Set-associative 캐시의 구조를 배워 봅시다. 그림 17.10 Set-associative 캐시의 구조 그림의 가장 윗 부분에는 주소가 보이는데, 주소를 세 부분으로 나눠져 있습니다. ① 로 표기된 부분은 주소의 인덱스 값으로 캐시 라인에 접근하는 동작을 나타냅니다. 그런데 캐시 라인은 4Way로 구성돼 있으므로 1개의 Set는 4개의 캐시 라인으로 구성돼 있다는 사실을 알 수 있습니다. 그림에서



