Book/COMPUTER ORGANIZATION AND DESIGN RISC-V

5. Large and Fast: Exploiting Memory Hierarchy(5.1 Introduction)

S0LL 2024. 11. 20. 02:02

용어 정리

 

1. Principle of Locality (지역성의 원리)

Temporal Locality (시간적 지역성)

프로그램에서 접근한 데이터는 가까운 미래에도 다시 접근될 가능성이 높음.

예를 들어, 반복문에서 변수를 계속 사용하는 경우 해당 데이터에 시간적 지역성이 존재

 

Spatial Locality (공간적 지역성)

 프로그램이 특정 메모리 주소를 참조하면, 그와 가까운 주소들도 곧 참조될 가능성이 높음.

예를 들어, 배열을 순차적으로 탐색할 때 데이터가 연속적으로 저장되어 있을 가능성이 높음

 

 

2. Memory Hierarchy (메모리 계층 구조)

컴퓨터 시스템에서 메모리를 여러 계층으로 나누어 설계한 구조.

CPU와 가까운 상위 레벨은 빠르고 비싸며 용량이 적고, CPU에서 먼 하위 레벨은 느리고 저렴하며 용량이 큼

예: 캐시 메모리(SRAM), 메인 메모리(DRAM), 하드 디스크(Flash/디스크).

 

 

3. Hit Rate (히트율)

프로세서가 요청한 데이터가 상위 메모리 계층(예: 캐시)에 존재하는 경우의 비율.

 

 

4. Miss Rate (미스율)

요청한 데이터가 상위 계층에 없는 경우의 비율.

 

 

5. Hit Time (히트 타임)

데이터가 상위 계층에서 발견되었을 때 접근 시간.

 

 

6. Miss Penalty (미스 패널티)

데이터가 상위 계층에서 발견되지 않았을 때, 하위 계층에서 데이터를 가져오고 복사하는 데 소요되는 시간.

 

 

7. Block (or Line)

계층 간에 데이터를 이동할 때 사용하는 최소 단위. 예: 캐시 라인.

 

 

그림 설명 (Figure 5.1)

프로세서에 가까울수록 메모리는 작고 빠르며 비용이 비싸다(SRAM).

프로세서에서 멀수록 메모리는 크고 느리며 비용이 저렴하다(DRAM, Flash).

계층 구조는 사용자가 큰 메모리를 빠르게 사용할 수 있도록 설계되어 있다.

 

 

메모리 계층 구조에서의 데이터 전송

데이터는 항상 두 계층(상위, 하위) 간에 전송된다

데이터가 캐시에 존재하면 히트

없으면 미스이고, 하위 계층(예: 메인 메모리)에서 해당 데이터를 가져온다

가져온 데이터는 블록 단위로 복사된다

 

메모리 계층 구조의 피라미드

상위 레벨로 갈수록 메모리 크기는 작아지고 접근 시간은 빨라진다.

하위 레벨로 갈수록 메모리 크기는 커지고 접근 시간은 느려진다.

CPU와 가장 가까운 레벨(예: 캐시)이 가장 빠르고 작다.

 

 

 

1. Memory hierarchies take advantage of temporal locality.

맞다. 캐시는 시간적 지역성을 활용하여 최근 데이터를 저장하고 재사용을 빠르게 한다.

 

2. On a read, the value returned depends on which blocks are in the cache.

맞다. 캐시에 데이터가 있으면 캐시에서 값을 반환하고, 없으면 하위 계층에서 가져온다

 

3. Most of the cost of the memory hierarchy is at the highest level.

틀렸다. 비용은 상위 레벨(SRAM)이 더 비싸지만, 전체 비용은 크기가 큰 하위 메모리(예: 디스크)에 분산된다

 

4. Most of the capacity of the memory hierarchy is at the lowest level.

맞다. 하위 계층(디스크 또는 플래시 메모리)의 용량이 가장 크다.