RadarURL
Skip to content
조회 수 8480 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

(1) 기본 원리
 
 

 

■ 지역성의 원리(principle of the locality)
 
 
 - 명령어 또는 데이터를 수행하기 위하여 CPU가 주기억장치를 접근할 때는 프로그램 루프, 서브루틴, 테이블 또는 배열 구   조의 데이터등으로 인하여 인접한 위치에 있는 명령어나 데이터들에 집중되는 경향이 있는데, 이와 같은 특성을 지역성   의 원리라고 한다.
- CPU보다 느린 주기억장치 접근 속도를 높이기 위하여 지역성의 원리를 고려하여 중앙 처리 장치와 주 기억 장치 사이에   작고 빠른 기억 장치를 설치하고 이곳으로 반복적으로 참조될 프로그램 및 데이터의 불록을 옮겨 놓은 후 이곳에서 호출   하여 실행시킴으로써 기억 장치 접근 시간을 단축할 수 있도록 만든 것이 캐시 기억 장치이다. 
            
  com_5_5_1.gif
 [그림]  캐시와 주 기억 장치
 
 
           (2) 기본 동작
 
 
            - 동작 순서
 
 
           ① 중앙 처리 장치가 주 기억 장치로부터 한 워드를 읽으려고 할 때는 먼저 그 워드가 캐시에 있는 지를 검사한다.
 
 
           ② 만약에 있으면 그 워드가 중앙 처리 장치로 전달되고 그렇지 않으면 그 워드가 포함된 한 불록이
 
 
           주 기억 장치로부터 캐시로 읽혀지고 동시에 중앙 처리 장치로 전달된다.
 
 
            - 적중(Hit)
 
 
           중앙 처리 장치가 주 기억 장치를 참조할 때 캐시에서 참조하고자 하는 워드를 찾을 경우
 
 
            - 실패(Miss)
 
 
           원하는 워드를 캐시에서 못 찾을 경우
 
 
            - 적중률(hit ratio)
 
 
           적중률   = (적중의 수) / (주 기억 장치 접근의 총수) = (적중의 수) / (적중의 수 + 실패의 수)
 
 
           보통 0.9 이상의 값을 가지고 있다.
 
 
 
 
     5-5-2  캐시 설계상의 주요 요소들 
 
 


  캐시의 크기
  불록의 크기
  사상 함수


  교체 알고리즘

  기록 동작

1 k ∼ 128 k 워드
4 ∼ 8 워드
직접 사상(direct mapping)
연관 사상(associative mapping)
집합 연관 사상(set associative mapping)
최소 최근 사용(LRU)
선입 선출(FIFO)
최소 사용 빈도(LFU)
랜덤(random)
동시 기록(write through)
후 기록(write back)
단일 기록(write once)


               

 

 

 

 

 

 

 

 

 

 

 

  [표]  캐시 설계상의 주요 요소들
 
 
           (1) 캐시의 크기
 
 
            연구 결과에 의하면 1 k ∼ 128 k 워드가 최적
 
 
           (2) 사상 함수(mapping function)
 
 
            주 기억 장치의 주소를 캐시 기억 장치 내의 적당한 워드로 사상(mapping)하는 방법
 
 
            ① 직접 사상(direct mapping)
 
 
            - 구현하기 가장 간단한 방법
 
 
            - 주 기억 장치의 각 불록은 그 불록에 대해서 정해진 캐시 인덱스에만 저장          
 
 
            - 캐시 기억 장치에 2k개의 워드가 있고 주 기억 장치에 2n개의 워드가 있다면 기억 장치 주소는 n 비트로서
             (n-k) 비트의 태그 필드와 k 비트의 인덱스 필드로 구성            
 
 
            - k 비트의 인덱스 필드가 캐시의 주소로 되고, 캐시의 각 워드도 태그와 데이터로 구성된다.

 
com_5_5_2.gif   
 [그림]  RAM을 사용한 캐시 기억 장치 구성도

             
 
 
 - 주소 버스에 실린 주소 중 태그 필드와 캐시에서 읽은 워드의 태그 필드를 비교하여 같으면 적중(Hit),그렇지 않으면  실패  (Miss)이다.실패일 때는 원하는 워드가 주 기억 장치에서 읽혀져서 새로운 태그를 가지고 캐시에 저장된다.
- 만약 같은 인덱스를 가지고 있지만 태그가 다른 두개 이상의 워드가 반복하여 접근되면 적중률이 상당히 떨어지는 단점
 
 
 
            ② 연관 사상(associative mapping)
 
 
 - 주 기억 장치의 불록이 캐시의 어느 인덱스에도 저장될 수 있는 사상방법
- 주 기억 장치의 주소와 데이터가 캐시에 저장되므로 캐시 워드의 크기는 주기억 장치의 주소 비트 수와 워드당 데이터 비트 수    의  합이 된다.
   연관 사상은 가장 빠르고 가장 융통성 있는 캐시 구조
- 캐시 기억 장치가 연관 기억 장치로 구성되어 있으며, 기억장치의 특정 번지 내용을 참조하고자 한다면 인자 레지스터에   는 주소를 저장하고 키 레지스터는 주소 부분만 비교하도록 하면 된다.


com_5_5_3.gif   
 [그림] 연관 사상


 
 
            ③ 집합 연관 사상(set-associative mapping)
 
 
 - 직접 사상과 연관 사상을 조합
- 인덱스는 같고 태그가 다른 두 개 이상의 워드들을 집합으로 하여 연관 기억 장치에 넣어 놓고 직접 사상과 유사하게 각   워드를 주 기억 장치의 인덱스에 의해서 참조
- 캐시를 구성하는 연관 기억 장치의 각 워드는 태그와 데이터를 가지고 있으며, 캐시의 각 주소는 주 기억 장치 주소의   인덱스에 의해서 선택되고, 캐시 내의 어느 주소가 선택되면 그 주소에 있는 많은 태그들이 한꺼번에 검색된다.


com_5_5_4.gif   
 [그림] 집합 연관 사상 캐시 구성

                     
 
 
           (3) 교체 알고리즘
 
 
 - 캐시 실패(Miss)가 발생하여 원하는 워드를 포함하는 불록을 캐시로 불러 올 때 비어 있는 블록이 없을 경우 교체 대상의 캐시   블록을 선택하는 알고리즘
- 연관 사상 또는 집합 연관 사상 방법에서 적용
 
                   
 
 
 ① 최소 최근 사용(least recently used ; LRU)
  - 캐시 내에서 사용되지 않은 채로 가장 오래 있었던 불록을 교체
② 선입 선출(first-in first-out ; FIFO)
  - 캐시 내에서 가장 오래된 불록을 교체
  - 구현이 용이하지만 특정 상황에서는 불록이 너무 자주 교체되는 단점
③ 최소 사용 빈도(least frequently used ; LFU)
  - 가장 적게 사용된 불록을 교체
④ 랜덤 알고리즘
  - 임의(random)로 선택된 불록을 교체
 
 
 
                  
 
 
           (4) 기록 동작(write policy)
 
 
             - 변경된 캐시의 내용을 주기억장치의 같은 불록에 언제 갱신할 것인가?
 
 
 ① 동시 기록(write through)
- 프로세서가 캐시 불록의 내용을 변경할 때 주 기억 장치에 있는 대응 불록의 내용도 같이 변경
- 데이터의 일관성을 쉽게 보장할 수 있는 장점
- 기억 장치 접근 횟수가 많아짐
② 후 기록(write back)
- 갱신은 캐시에서만 하고, 1 비트의 태그를 이용하여 갱신된 불록을 표시하고, 표시된 불록은 새 불록으로 교체되기   전에 주 기억 장치로 복사
- 주 기억 장치에 대한 기록 동작을 최소화
- 주 기억 장치의 일부분이 무효(invalid)상태에 있으므로 입출력 모듈에 의한 접근은 반드시 캐시를 통해야 한다.

 

 http://nengjung.kit.ac.kr/~yskim/lecture/com_5_5.html

에서 더 보세요
 
 
 

 

출처 : http://k.daum.net/qna/view.html?qid=45BzC

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
199 "이 컨트롤을 활성화하고,사용하려면 클릭하십시오."를 없애는 법 JaeSoo 2007.11.30 16756
198 "사용할 수 있는 활성 믹서 장치가 없습니다." 메시지가 뜨며 소리가 들리지 않을 때 JaeSoo 2010.03.10 20541
197 "서버 저장소 공간이 부족하여 이 명령을 처리할 수 없습니다.","풀이 비었으므로, 서버가 시스템의 비페이징 풀에서 할당하지 못했습니다.","서버가 지난 60초 동안 작업 항목을 <n>번 할당할 수 없었습니다." JaeSoo 2011.07.12 13109
196 'Intel High Definition Audio (인텔 디스플레이 오디오)'를 지원하는 AD2700-ITX 메인보드에서 '알 수 없는 장치' 오류 해결방법 JaeSoo 2012.11.09 18884
195 '안전하게 제공된 콘텐츠만 보시겠습니까?' 보안 경고창 없애기 JaeSoo 2013.03.01 24581
194 '윈도우 7' 에서 폴더 여는 시간이 오래 걸린다면? JAESOO 2016.02.13 848
193 32bit 윈도우에서 나타나는 메모리 부족 문제 해결방법 JAESOO 2013.07.03 11495
192 32bit 환경에서 4Gb 이상의 메모리 사용하기 [readyfor4gb] JaeSoo 2013.09.05 4464
191 32비트 운영체제에서 4GB 이상의 램 사용을 위한 램디스크 설치와 활용 JaeSoo 2011.10.04 11290
190 4GB 제한의 진실, 32비트 Windows (XP, Vista, 7)클라이언트 JAESOO 2013.07.03 26351
189 AsusSetup 에러 AppData\Local\Temp iniis lost 에러 JAESOO 2015.01.26 1027
188 Blaster 웜 바이러스와 Sasser 웜바이러스 퇴치법 JaeSoo 2004.09.24 6146
187 Boot CD 를 USB 에서 간편하게 부팅하기 JaeSoo 2009.02.17 5998
186 C 드라이브 루트의 fswlog.txt 파일.. JaeSoo 2006.02.19 19662
185 C:windowsPCHealthErrorRep 폴더관련 JaeSoo 2011.11.14 6141
184 Cache, Cash? JaeSoo 2011.09.17 6681
183 Chkdsk.exe에서 사용할 수 있는 새로운 /C 및 /I 스위치에 대한 설명 JAESOO 2014.05.08 2843
182 DEP(데이터 실행 방지(DEP,Data Execution Prevention) 해제 방법 JaeSoo 2009.12.05 7233
181 DLNA Media Server 종류와 장단점 분석 JaeSoo 2011.09.11 11128
180 DOS 명령어와 일괄 프로그램 : 간단한 배치파일 만들기 JaeSoo 2013.08.27 5111
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10

PageViews   Today : 6365 Yesterday : 5037 Total : 21962417  /  Counter Status   Today : 6153 Yesterday : 4602 Total : 1188876

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소