✋목차
- Principle of Locality
- Temporal locality
- Spatial locality
- Memory Hierarchy
📕Principle of Locality
- Temporal locality
- locality in time
- 한번 사용했던 것을 다시 사용
- 예를 들면 반복문 안에서 사용되는 instruction
- Spatial locality
- locality in space
- 한번 사용 했던 것 근처를 사용
- 예를 들면 순서대로 instruction에 접근하는 것이나, 배 열등이 있다.
코드를 예를 들어서 설명하면 이해가 쉬울 것이다.
sum=0;
for( i=0; i<n; i++){
sum+=a[i];
return sum;
- Data영역
- array elements ( a [i] )
- spatial locality
- index 근처를 계속 접근.
- spatial locality
- sum
- Temporal locality
- 반복문 내에서 계속 재사용됨.
- Temporal locality
- array elements ( a [i] )
- Instructions 영역
- instruction in sequence
- Spatial lolcality
- Cycle through loop repeatedly
- Temporal locality
- instruction in sequence
📕Locality의 장점
- Locality의 원칙을 이용해서 메모리 계층을 구성했다.
- 메모리 계층은 각기 다른 크기와 속도로 구성된 메모리들로 구성되어 있다.
- 빠를수록 비싸고, 크기가 작다.
- 프로세서와 가까울수록 빠르고, 멀수록 느리다.
- SRAM이 우리가 알고 있는 Cache이다.
📕Memory Hierarchy
- 데이터는 계층화되어있다.
- 프로세서와 가까운 레벨의 데이터는 프로세서와 멀리 떨어진 레벨의 데이터들의 하위 집합이다.
- 가까운 데이터 € 먼 데이터
- 모든 데이터들은 lowest level에 저장되어 있다.
- 프로세서와 멀어질수록 접근하는데 오래 걸린다.
- 메모리 계층은 multiple levels로 구성될 수 있다.
- 데이터의 교환은 두 인접한 레벨에서 발생한다.
- Upper level(close the processor)은 lower level(far processor) 보다 작고 빠르지만, 비싸다
- 예를 들어 low level : Main memory(DRAM) / upper level : Cache(SRAM)
- 두 계층 사이에 있는 정보의 최소 집합을 block 또는 line이라고 부릅니다.
- 만약 processor가 data를 요청했고, 그 데이터가 upper level에 있다면 그때를 hit라고 합니다.
- 만약 요청한 데이터가 upper level에 없을 경우 miss라고 합니다.
- 이럴 경우 lower level에 접근해서 요청한 정보를 추출해야 합니다.
- 관련 용어
- Hit rate (ratio) : hits / accesses
- Miss rate : misses / accesses = 1 -hit rate
- Hit time : time to access the upper level
- Miss penalty : miss가 일어났을 경우, 하위 단계에서 상위 단계로 정보를 끌어올리고, processor까지 전달하는 데 걸리는 시간
📗Memory Hierarchy
📕메모리 계층에서 최근 사용된 4가지 주요 기술
- SRAM(static random access memory) : 프로세서와 가장 가깝다. (cache)
- DRAM(dynamic random access memory) : main memory를 보충하기 위해서 사용됨.
- Flash memory : 비휘발성 메모리 = 전원이 꺼져도 초기화되지 않는다.
- Magnetic disk : 메모리 계층에서 가장 크고 가장 느린 레벨을 보충하는 장치 (Hard disk)
'Computer Science > Computer Architecture' 카테고리의 다른 글
[Computer Architecture] - Associative Cache (1) | 2022.11.28 |
---|---|
[Computer Architecture]- Cache(1) (2) | 2022.11.26 |
[Computer Architecture] - processor(3)-[pipeline, hazard] (0) | 2022.11.19 |
[Computer Architecture] - processor (2) (0) | 2022.11.12 |
[Computer Architecture] - processor (1) (0) | 2022.10.23 |