Memory Technology
Access 시간
1) Static RAM (SRAM)
16kb~64kb : 0.5ns - 2.5ns
1mb~4mb : 5ns - 10ns
2) Dynamic RAM (DRAM)
50ns - 70ns
3) Flash storage
5-50 microsecond
4) Magnetic disk
5ms - 20ms
지역성의 원리 (Principle of Locality)
- 주어진 시간에 Program은 memory의 작은 일부분만 접근한다
1) Temporal locality(시간 지역성)
- 최근에 접근된 item들이 다시 접근될 확률이 높다 (loop내 instruction, index variable)
2) Spatial locality(공간 지역성)
- 최근에 접근된 item들의 근처 item들이 접근될 확률이 높다(sequential instruction access , array data)
Memory Hierarchy level
Cache : core 근처에 있는 small, fast memory
Block(line) : copying 단위 (multiple words)
상위 레벨에 accessed data가 존재하면
Hit : access satisfied by upper level (hits / accesses)
없으면
Miss : block copied from lower level (1 - hit ratio = misses / accesses)
Cache Hierarchy
1) Core pipeline
2) L1 I-cache : Fetch / L1 D-cache : Load,Store
3) L2 cache : to L1 I-cache -> fill / to L1 D-cache : Fill , Write-through , Write-back
4) L3 cache
5) External DRAM
Direct Mapped Cache
- 주소에 의해 Location이 결정된다
- only one choice
- (block 주소) modulo (Cache 내 block number)
Tag
=> data와 block address를 저장할 때 이것들이 저장되어 있는지 알게 해주는 high-order bits
Valid
=> 1이면 present , 0 이면 not present
=> default : 0
Address Decomposition
1) Offset : block 크기 의 log2 (m+2)
2) Index : cache 내에 block 수의 log2 (n)
3) Tag : 나머지 부분 (Memort address bit - Offset - Index)
Tag + Index = Block address
Offset = Position inside a block
Total number of bits in a direct-mapped cache
= 2^n * (block size + tag size + valid bit size)
= 2^n * (2^m * 32 + 32 - (n + m + 2) + 1)
'CS(Computer Science) > 컴퓨터구조' 카테고리의 다른 글
11. 메모리 구조 (2) (0) | 2023.06.04 |
---|---|
10. 파이프라인 (3) (0) | 2023.06.04 |
10. 파이프라인 (2) (0) | 2023.06.04 |
10. 파이프라인 (1) (0) | 2023.06.04 |
9. 프로세서 (3) (0) | 2023.06.04 |