CS/전자계산기구조론

기억장치 - 캐시 메모리

망재이 2024. 1. 23. 16:17
  • 캐시 메모리의 동작 원리
    캐시 기억장치가 없는 시스템 ☞ 중앙처리장치는 명령어를 실행할 때마다 주기억장치에 직접 접근하여 명령어와 필요한 정보를 얻게됨
    캐시 기억장치가 있는 시스템 ☞ 중앙처리장치가 기억장치를 참조할 때 주기억장치를 먼저 조사하지 않고 캐시 기억장치를 먼저 조사
    - 캐시 기억장치에 접근하여 그 내용을 찾았을 때 적중(hit), 찾지 못했을 경우 실패(miss)라고 함
    - 캐시 기억장치에 중앙처리장치가 요구하는 정보가 없을 경우, 주기억장치로부터 필요한 정보를 획득하여 캐시 기억장치에 전송(블록 단위)하고, 캐시 기억장치는 얻어진 정보를 다시 중앙처리장치로 전송(워드 단위)

  • 주기억장치와 캐시 기억장치 사이에서의 평균 기억장치 접근 시간

Taverage = Hhiratio * Tcache + ( 1 - Hhitratio) * Tmain

cf) 경우에 따라 캐시 실패 시 캐시기억장치 접근시간을 포함하는 경우를 묻기도 함! 그런 경우에는 Tmain + Tcache를 계산해주면 됨

 

더보기

Q. 캐시기억장치 접근시간이 20ns, 주기억장치 접근시간이 150ns, 캐시기억장치 적중률이 80%인 경우에 평균 기억장치 접근시간은? (단, 기억장치는 캐시와 주기억장치로만 구성)
-> 평균 = H(80%) * Tc(20ns) + ( 1 - H(80%) ) * Tm(150ns) = 0.8 * 20ns + 0.2 * 150ns = 16 + 30 = 46ns

 

 

* 적중률 = 적중수 / 전체 메모리 참조 횟수 (적중률이 높을 수록 메모리 성능이 높음)

 

  • 쓰기 정책
    - CPU가 프로그램을 수행하는 동안 결과를 캐시 기억장치에 쓰는 경우가 존재하는데 캐시 기억장치와 주기억장치에 기록하는 시점에 따라 두가지 방식으로 나뉨
    - 즉시 쓰기 방식 (Write-Through) : 모든 쓰기 동작이 캐시뿐만 아니라 주기억장치에서도 동시에 발생하며 주기억장치와 캐시 기억장치의 데이터 일관성을 유지할 수 있으나 기억장치들간 접근이 빈번하게 일어나고 쓰기 시간이 길어지는 문제가 있음
    - 나중 쓰기 방식 (Write-Back) : 새로운 데이터가 캐시에서만 갱신되며 주기억장치는 다른 데이터와 교체될 경우 새로운 데이터를 적용하고 교체시키는 방식으로 주기억장치에 접근하는 동작을 최소화함으로써 성능을 좋지만 캐시 기억장치와 주기억장치 간 데이터 일관성이 유지되지 않을 수 있음

  • 캐시의 종류
    - 직접회로의 기술 발달로 인해 캐시 기억장치를 CPU의 내부에 포함시키는 것이 가능해지고 있는데 이를 온 칩(on-chip) 캐시 기억장치라고 함
    - 캐시 기억장치가 CPU 외부에 위치하면 오프 칩(off-chip) 캐시 기억장치 또는 외부 캐시 기억장치라고 함
    - 계층적 캐시는 온칩 캐시를 1차 캐시(L1)로 사용하고 오프칩 캐시를 2차 캐시(L2)로 설치하는 방식

 

* 메모리 인터리빙 (Memory Interleaving)
- 하나의 사이클 타임에 복수개의 단어를 시분할로 판독할 수 있도록 하여 기억장소에 접근효율을 높이기 위해 만든 방식
- 기억장치 모듈을 여러 개 가진 기억장치
- 각 기억장치 모듈을 독립적으로 액세스 할 수 있게 되므로 기억장치 주소 상에서 연속적으로 배치된 여러 개의 바이트들을 한 번의 액세스로 주기억장치에서 꺼낼 수 있음
- bus를 구성하는 회선의 수가 많을 때는 모든 모듈에 동시에 병렬 접근할 수 있음

 

더보기

Q. 메모리 인터리빙과 관계없는 것은?

1. 데이터의 저장 공간을 확장하기 위한 방법이다.

2. 복수 모듈 기억 장치를 이용한다.

3. 기억장치에 접근을 각 모듈에 번갈아 가면서 하도록 한다.

4. 각 인스트럭션에서 사용하는 데이터의 주소에 관계가 있다.

 

-> 메모리 인터리빙은 저장 공간을 확장하기 위한 방법이 아니라 메모리를 여러 모듈로 나누고 각 모듈에 연속적인 데이터 주소를 부여하여 동시에 접근할 수 있도록 하는 기법이다. 메모리 병렬처리로 메모리 접근 시간을 줄일 수 있다.

 

 

 

 

 

 

 

※ 참고

2024.01.23 - [CS/컴퓨터구조] - 기억장치 - 주기억장치

 

기억장치 - 주기억장치

기억장치 계층 구조 - 상위 계층으로 갈수록 용량은 작아지고 접근 속도와 비트 당 가격은 높아짐 - 하위 계층으로 갈수록 용량은 커지고 속도와 가격은 낮아짐 * 기억장치 속도 순서 : 레지스터

mangs2e.tistory.com

 

728x90