RadarURL

소프트웨어
2011.09.17 07:59

캐시 기억 장치의 원리와 동작

조회 수 9400 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 927545
706 소프트웨어 Cache, Cash? file JaeSoo 2011.09.17 7724
» 소프트웨어 캐시 기억 장치의 원리와 동작 file JaeSoo 2011.09.17 9400
704 윈도우즈 FAT 및 NTFS의 기본 클러스터 크기 (GPT 디스크에서 클러스터 크기에 따른 최대 용량) file JaeSoo 2011.09.17 11942
703 경제 건폐율,용적율 찜쪄먹기 file JaeSoo 2011.09.16 8877
702 경제 용적율, 건폐율, 건축면적, 연면적 JaeSoo 2011.09.16 13209
701 데이터베이스 Mysql DB 손상됬을경우 점검 및 복구 명령 JaeSoo 2011.09.16 9398
700 하드웨어 HighPoint RocketRAID 2320 8채널 PCI-E SATA II RAID Controller™ JaeSoo 2011.09.15 9334
699 네트워크 국내 클라우드(Cloud) 서비스 3총사 비교 - N드라이브/유클라우드/다음클라우드 JaeSoo 2011.09.15 11098
698 소프트웨어 DLNA Media Server 종류와 장단점 분석 JaeSoo 2011.09.11 10231
697 네트워크 조립 PC, 컴퓨터 공유 폴더 설정 방법 JaeSoo 2011.09.11 11805
696 경제 TPEG 방송사별 비교 JaeSoo 2011.09.02 10646
695 경제 무인단속 3번 걸리면 자동차보험료 할증 JaeSoo 2011.09.02 8239
694 경제 SKT 다량형 요금제 비교 JaeSoo 2011.08.27 10204
693 웹 프로그래밍 PHP 속도향상 팁 40선 JaeSoo 2011.08.13 9853
692 웹 프로그래밍 빠릿빠릿한 홈페이지 만드는법 JaeSoo 2011.08.13 11281
691 윈도우즈 키보드 리매핑하기(레지스트리 변경) JaeSoo 2011.08.06 13619
690 윈도우즈 한영키를 바꾸고 싶어요! file JaeSoo 2011.08.06 12162
689 윈도우즈 한영변환 키 레지스트리 조정 JaeSoo 2011.08.06 17016
688 윈도우즈 윈도우용 MS-Dos 명령어 정리 [간단설명] JaeSoo 2011.07.21 17011
687 웹 프로그래밍 실시간으로 웹상에서 간단히 폰트 비교하는 사이트 JaeSoo 2011.07.21 14954
Board Pagination Prev 1 ... 84 85 86 87 88 89 90 91 92 93 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너