Presentation is loading. Please wait.

Presentation is loading. Please wait.

5장. 캐시 기억장치 다루는 내용 컴퓨터 본체에서 기억장치 위치 살펴보기 컴퓨터 기억장치의 계층적 구조 캐시 기억장치 원리

Similar presentations


Presentation on theme: "5장. 캐시 기억장치 다루는 내용 컴퓨터 본체에서 기억장치 위치 살펴보기 컴퓨터 기억장치의 계층적 구조 캐시 기억장치 원리"— Presentation transcript:

1 5장. 캐시 기억장치 다루는 내용 컴퓨터 본체에서 기억장치 위치 살펴보기 컴퓨터 기억장치의 계층적 구조 캐시 기억장치 원리
캐시 기억장치의 설계 다중 프로세서를 사용하는 시스템에서의 캐시 기억장치

2 Section 01 컴퓨터 본체에서 기억장치 위치 살펴보기
[그림 5-1] 메인보드에서의 메모리 위치

3 Section 02 컴퓨터 기억장치의 계층적 구조
기억장치의 용량, 접근 속도, 가격의 상관관계 데이터의 읽고, 쓰기 속도를 향상시키기 위해서는 고가이지만 고속의 기억장치가 필요 데이터를 많이 저장하기 위해서 기억장치는 대용량이 필요하나 적정 비용을 위해 저가의 기억장치 필요 저가의 기억장치를 사용하면 기억장치의 접근속도는 그만큼 감소하게 된다. 적절한 상호 조정이 필요하며, 이를 위해서 기억장치 계층 구조가 이용됨

4 기억장치의 계층 구조 [그림 5-2] 기억장치의 계층 구조

5 명령어나 오퍼랜드를 주기억장치로부터 가져와 저장하고 있다가 고속으로 중앙처리장치에 제공
Section 03 캐시 기억장치 원리 빠른 접근 시간을 제공하는 기억장치 명령어나 오퍼랜드를 주기억장치로부터 가져와 저장하고 있다가 고속으로 중앙처리장치에 제공 [그림 5-4] 캐시 기억장치

6 캐시 기억장치가 있는 시스템에서는 중앙처리 장치가 기억장치를 참조할 필요가 있을 경우 캐시 기억장치를 먼저 조사
캐시 기억장치의 동작 원리 캐시 기억장치가 있는 시스템에서는 중앙처리 장치가 기억장치를 참조할 필요가 있을 경우 캐시 기억장치를 먼저 조사 캐시 기억장치에 접근하여 그 내용을 찾았을 때 적중(hit) : 빠르게 제공 가능 캐시 기억장치에서 찾지 못하였을 경우 실패(miss) : 기억장치에서 가져와야 함. 느림.

7 캐시 기억장치의 동작 원리 CPU가 1000번지 워드를 필요로 하는 경우 CPU가 1002번지의 워드를 필요로 하는 경우
[그림 5-6] 캐시 기억장치의 동작 원리 1 [그림 5-7] 캐시 기억장치의 동작 원리 2

8 참조의 지역성 주어진 시간 동안 중앙처리장치의 기억장치 참조는 제한된 영역에서만 이루어지는 현상 짧은 시간 동안 중앙처리장치가 접근하는 범위는 지역적으로 제한되는 것을 의미

9 캐시 기억장치의 동작 순서 [그림 5-9] 캐시 기억장치의 동작 순서

10 Taverage = Hhit_ratio × Tcache + (1-Hhit_ratio) × Tmain
주기억장치와 캐시 기억장치 사이에서의 평균 기억장치 접근 시간 Taverage = Hhit_ratio × Tcache + (1-Hhit_ratio) × Tmain Taverage = 평균 기억장치 접근시간 Tmain = 주기억장치 접근시간 Tcache = 캐시 기억장치 접근시간 Hhit_ratio = 적중률 적중률이 높으면 평균 기억장치 접근 시간은 캐시 액세스 시간에 접근

11 Section 04 캐시 기억장치의 설계 캐시 기억장치를 설계함에 있어 공통적인 목표 캐시 기억장치를 설계할 때 고려 사항
적중 시 캐시 기억장치로부터 데이터를 읽어오는 시간을 짧게 실패 시 주기억장치로부터 캐시로 데이터를 읽는 시간을 최소화 주기억장치와 캐시 사이에 데이터의 일관성을 유지 캐시 기억장치를 설계할 때 고려 사항 캐시 기억장치의 크기(Size) 인출방식(fetch algorithm) 사상함수(Mapping function) 교체 알고리즘(Replacement algorithm) 쓰기 정책(write policy) 블록 크기(Block size) 캐시 기억장치의 수(Number of caches)

12 캐시의 크기와 인출 방식 캐시 기억장치의 크기 인출방식 용량이 크면 적중률은 높지만, 비용 또한 증가
적절한 용량과 비용 결정 필요 용량이 크면 주변 회로가 더 복잡해져 액세스 시간이 더 길어진다. 인출방식 요구 인출(demand fetch) 방식 현재 필요한 정보만 주기억장치로부터 인출해 오는 방식 선인출(prefetch) 방식 현재 필요 정보와 앞으로 필요할 예측 정보도 미리 인출 지역성이 높은 경우에 효과적이지만 그렇지 못한 경우 효율이 저하

13 사상(mapping)함수 주기억장치와 캐시 사이에서 정보를 옮기는 것 직접사상(direct mapping)
연관사상(associative mapping) 집합 연관사상(set-associative mapping) [그림 5-10] 사상함수

14 주기억장치의 블록이 적재 될 수 있는 라인이 하나 밖에 없음 캐시의 적중 여부는 그 블록이 적재 될 수 있는 라인만 검사 특징
직접사상(Direct mapping) 주기억장치의 블록이 특정 라인에만 적재 주기억장치의 블록이 적재 될 수 있는 라인이 하나 밖에 없음 캐시의 적중 여부는 그 블록이 적재 될 수 있는 라인만 검사 특징 간단하고 비용이 저렴한 장점 프로그램이 동일한 라인에 적재되는 두 블록들을 반복적으로 액세스하는 경우 캐시 실패율이 매우 높아진다.

15 직접 사상의 동작 중앙 처리장치가 10001번지 워드를 필요 하는 경우 [그림 5-13] 직접 사상 3

16 처음의 2-bits(10)는 태그를 표시하고, 다음 3-bits(001)는 캐시 기억장치의 주소를 표시.
직접 사상의 동작 처음의 2-bits(10)는 태그를 표시하고, 다음 3-bits(001)는 캐시 기억장치의 주소를 표시. 캐시 기억장치에서 001번지 획득, 태그가 00으로 불일치 주기억장치로부터 워드 획득 캐시 기억장치의 해당 주소에 데이터와 태그 저장

17 직접 사상의 동작 CPU 00010번지 워드를 필요하는 경우 [그림 5-14] 직접 사상 4

18 처음의 2-bits(00)는 태그를 표시하고, 다음 3-bits(010)는 캐시 기억장치의 주소를 표시
직접 사상의 동작 처음의 2-bits(00)는 태그를 표시하고, 다음 3-bits(010)는 캐시 기억장치의 주소를 표시 캐시 기억장치에서 워드 획득 캐시 기억장치에서 010번지 획득, 태그가 00으로 일치

19 연관사상(Associative mapping)
주기억장치의 블록이 캐시의 어느 라인에든 적재될 수 있어 직접사상에서 발생하는 단점을 보완 적중 검사가 모든 라인에 대해서 이루어져야 하므로 검사 시간이 길어진다. 캐시 슬롯의 태그를 병렬로 검사하기 위해서는 매우 복잡하고 비용이 높은 회로가 필요하다.

20 연관사상의 동작 [그림 5-15] 연관 사상의 동작

21 집합 연관사상 (Set-associative mapping)
직접사상과 연관사상 방식을 조합한 방식 하나의 주소 영역이 서로 다른 태그를 갖는 여러 개의 집합으로 이루어지는 방식 [그림 5-16] 두 개의 집합을 갖는 집합 연관 캐시 기억장치의 구조

22 같은 주소 번지 000 번지에 서로 다른 태그 00, 01로 구분되는 두 개의 데이터가 동시에 저장
집합 연관사상 집합 1과 집합 2, 두 개의 집합으로 구분 같은 주소 번지 000 번지에 서로 다른 태그 00, 01로 구분되는 두 개의 데이터가 동시에 저장 동일한 주소를 가지고 다른 태그 번호를 갖는 번지에 접근하는 경우 직접사상의 경우 실패 집합 연관사상 방식의 경우 적중

23 두 개의 집합을 갖는 집합 연관 캐시 기억장치의 동작
[그림 5-17] 두 개의 집합을 갖는 집합 연관 캐시 기억장치의 동작

24 연관사상 및 집합 연관사상 방식의 경우 교체 알고리즘이 필요하게 된다.
캐시가 가득 차 있는 상태에서 캐시의 일부를 제거하고 주기억장치로부터 새로운 데이터를 가져와야 하는 경우 캐시의 내용을 제거하는 방식 직접사상 방식 주기억장치의 데이터가 캐시의 같은 주소에 저장 교체 알고리즘을 사용할 필요가 없다. 연관사상 및 집합 연관사상 방식의 경우 교체 알고리즘이 필요하게 된다.

25 교체 알고리즘 교체 알고리즘 종류 내용 최소 최근 사용 (LRU : Least Recently Used) 알고리즘
현재까지 알려진 교체 알고리즘 중에서 가장 효과적인 교체 알고리즘으로 이 방식은 캐시 기억장치 내에서 사용되지 않은 채로 가장 오래 있었던 블록을 교체하는 방식이다. 최소 사용 빈도 (LFU : Least Frequently Used) 알고리즘 캐시 기억장치에 적재된 후 가장 적게 사용된 블록을 교체하는 방식이다. 선입력 선출력 (FIFO: First In First Out) 알고리즘 캐시 기억장치에 적재된 지 가장 오래된 블록을 교체하는 방식이다. 랜덤 (Random) 캐시 기억장치에서 임의의 블록을 선택하여 교체하는 방식이다. [표 5-2] 교체 알고리즘 종류

26 즉시 쓰기(Write-though) 방식
쓰기 정책(Write Policy) 캐시와 주기억장치에 기록하는 시점 즉시 쓰기(Write-though) 방식 쓰기 동작이 캐시와 주기억장치에서 동시에 발생 주기억장치와 캐시 기억장치가 항상 동일한 내용을 기록 기억장치들 간 접근이 빈번하고 쓰기 시간이 길어진다. 나중 쓰기(Write-back) 방식 새로운 데이터가 캐시에서만 갱신 캐시에서 데이터 변경이 있다면 교체 전 먼저 주기억장치에 갱신 주기억장치와 캐시의 데이터가 서로 일치하지 않는 경우도 발생 쓰는 시간이 짧은 장점

27 계층적 캐시(Hierarchical Cache)
캐시의 수 계층적 캐시(Hierarchical Cache) 온-칩 (On-chip) 캐시를 1차 캐시(L1)로 사용 하고 칩 외부에 더 큰 용량의 오프-칩 (Off-Chip) 캐시를 2차 캐시(L2)로 설치 [그림 5-19] 계층적 캐시

28 Section 05 다중 프로세서를 사용하는 시스템에서의 캐시 기억장치
[그림 5-22] 다중 프로세서 시스템에서의 캐시 기억장치

29 즉시 쓰기 정책에서의 데이터의 불일치 상태 [그림 5-23] 즉시 쓰기 정책에서의 데이터 불일치

30 나중 쓰기 정책에서의 데이터의 불일치 상태 [그림 5-24] 나중 쓰기 정책에서의 데이터 불일치

31 공유 변수는 캐시 기억장치에 저장하지 않는 방법
캐시 기억장치의 데이터 일관성 유지 방법 공유 캐시 기억장치를 사용하는 방법 다수의 프로세서가 하나의 캐시 기억장치를 공유 캐시의 데이터들이 항상 일관성 있게 유지되는 장점 동시에 캐시 기억장치에 접근하면 프로세서들간의 충돌이 발생 공유 변수는 캐시 기억장치에 저장하지 않는 방법 수정 가능한 데이터는 캐시 기억장치에 저장하지 않는 방법 캐시에 저장 가능 여부를 사용자가 선언 하는 단점 버스 감시 시스템을 사용하는 방법 일관성 유지를 위해 감시 장비를 시스템 버스상에 추가로 설치 모든 데이터 들은 캐시 기억장치에 저장이 가능, 캐시가 데이터를 수정했다면 그 정보를 다른 캐시와 주기억장치에 알려주게 된다. 시스템 버스에 통신 량이 증가하는 단점이 있다

32


Download ppt "5장. 캐시 기억장치 다루는 내용 컴퓨터 본체에서 기억장치 위치 살펴보기 컴퓨터 기억장치의 계층적 구조 캐시 기억장치 원리"

Similar presentations


Ads by Google