캐시

포스트: 19
Tags

Posts

19 posts

[Arm프로세서] 캐시(Cache): Direct-Mapped 캐시 구조

Guillermo Austin Kim|2022년 6월 12일

Direct-Mapped 캐시는 가장 단순한 캐시 구조입니다. 사실 이전 절에서 다뤘던 캐시의 구조는 모두 Direct-Mapped 입니다. 이번에는 다음 그림을 보면서 Direct-Mapped 캐시의 구조 배워봅시다. 그림 17.9 Direct-Mapped 캐시의 구조 그림 왼쪽 부분은 캐시, 오른쪽 부분은 메인 메모리의 주소 공간을 나타냅니다. 먼저 왼쪽 부분에 있는 캐시를 보면 캐시 라인은 8개이며 각각 라인은 메모리 주소에 바로 매핑됩니다. Direct-Mapped 캐시는 그림과 같이 구조가 간단하므로 하드웨어 관점으로 회로를 간단하게 구성할 수 있습니다. 또한 데이터를 빠르게 검색할 수 있습니다. 그런데 Direct-Mapped 캐시는 캐시 히트 비율이 떨어진다는 단점이 있습니다. 각각

[Arm프로세서] 캐시의 성능 지표

Guillermo Austin Kim|2022년 6월 6일

이번 포스트에서 다룬 캐시의 동작을 다시 요약하면 다음과 같습니다. “속도가 빠른 캐시를 CPU 근처에 두고 CPU가 자주 사용하는 데이터를 캐시라는 임시 저장 공간에 두면 성능을 키울 수 있다.” 실제 Arm 프로세서의 메모리 아키텍처 다이어그램을 분석하면 멀티 레벨로 캐시가 구성됐다는 사실을 알 수 있습니다. 캐시를 레벨로 구성하는 이유를 알려면 먼저 캐시의 성능을 측정하는 지표를 알 필요가 있습니다. 대부분 캐시의 성능 지표로 캐시 미스나 캐시 히트만 떠 올립니다. 캐시의 성능을 측정하는 정량적인 지표는 다음과 같습니다.  평균 접근 시간 = 히트 레이턴시(hit latency) + 미스 비율(where) 미스 비율 = 캐시 미스/(캐시 미스 + 캐시 히트) x 미스 패널티

[Arm프로세서] 캐시의 검색 방법: 캐시 룩업(Cache Lookup)

Guillermo Austin Kim|2022년 5월 18일

캐시를 검색하는 방법을 설명하기 전에 재미있는 상상을 해봅시다. 4G 크기의 메인 메모리를 사용하는 32비트 시스템에서 4G를 모두 처리할 수 있는 캐시가 있다고 가정합시다. 메모리 주소 공간은 범위가 0x~0xffff_fff이고 캐시 데이터를 저장하는 캐시 라인의 사이즈가 128이면 캐시 라인의 갯수는 3천만개가 넘을 것입니다. 계산식은 다음과 같습니다. 225 = 232 / 27 = 0xffff_ffff / 128 그런데 캐시는 SDRAM으로 구현되므로 가격이 비쌉니다. 만약 3천만개의 캐시 라인으로 구성된 컴퓨터의 가격은 매우 비쌀 겁니다. 실제 상용 CPU의 L1 캐시의 사이즈는 고작 32KB이고 L2/L3 캐시는 메가 바이트 사이즈입니다. 그래서 메인 메모리에 접근하려는 주소가 있으면 캐

[ARM] CPU 캐시(Cache)란

Guillermo Austin Kim|2020년 10월 3일

이번 포스트에서는 캐시의 기본 개념에 대해 소개하고 ARM 프로세서에 적용된 캐시의 개념에 대해 설명하겠습니다. CPU 캐시(Cache)란 캐시란 컴퓨터 용어로 캐시는 데이터나 값을 미리 복사해 놓는 임시 장소를 의미합니다. 캐시는 자주 사용되는 데이터를 임시 저장해 데이터에 접근하는 속도를 최적화하기 위해 사용됩니다. 다양한 소프트웨어 분야에서 캐시가 사용되는데 CPU를 설계할 때도 캐시를 사용해 CPU의 실행 속도를 최적화합니다. 그렇다면 CPU에서 캐시는 어떤 방식으로 사용이 될까요? 캐시는 어떤 형태일까요? 의문이 계속 생깁니다. 먼저 CPU에서 사용되는 캐시에 대해 알아봅시다. 사실 처음 CPU를 연구했던 과학자들은 처음부터 캐시를 CPU에 적용한 것은 아니었습니다. 오랫동안 CPU를 설계하는