[컴퓨터 구조] 캐시 메모리(Cache Memory)(1)

2022. 6. 12. 21:08· 전공/컴퓨터 구조

사용목적

 

CPU와 주기억 장치의 속도 차이로 인한 CPU 대기 시간을 최소화 시키기 위하여 CPU와 주기억자치 사이에 설치하는 고속 반도체 기억장치

 

특징

 

-주기억장치(DRAM)보다 액세스 속도가 더 높은 칩 (SRAM)사용

-가격 및 제한된 공간 때문에 용량이 적다

캐시 기억장치

-캐시 적중(cache hit): CPU가 원하는 데이터가 캐시에 있는 상태.

-캐시 미스(cache miss) : CPU가 원하는 데이터가 캐시에 없는 상태, 이경우 주기억장치로부터 데이터를 읽어온다

-적중률(hit ratio) : 캐시에 적중되는 정도 (H)

-캐시의 미스율(miss ratio) : (1 - H)

-평균 기억장치 액세스 시간(Ta)

 >Ta = H × Tc + (1 - H) × Tm

 

(단, Tc는 캐시 액세스 시간, Tm은 주기억장치 액세스 시간)

캐시 적중률과 평균 기억장치 액세스 시간의 관계

-캐시의 적중률이 높아질수록 평균 기억장치 액세스시간은 캐시 액세스 시간에 접근
-캐시 적중률은 프로그램과 데이터의 지역성(locality)에 따라 달라짐

 

지역성

 

-시간적 지역성(temporal locality) : 최근에 액세스된 프로그램이나 데이터가 가까운 미래에 다시 액세스 될 가능성이 높다

-공간적 지역성(spatial locality) : 기억장치내에 인접하여 저장되어 있는 데이터들이 연속적으로 액세스 될 가능성이 높다

-순차적 지역성(sequential locality) : 분기(branch)가 발생하지 않는 한, 명령어들은 기억장치에 저장된 순서대로 인출되어 실행된다.

 

캐시의 크기 / 인출방식

 

1.캐시의 크기(용량)

-용량이 커질수록 적중률이 높아지지만, 비용이 증가

-용량이 커질수록 주소 해독 및 정보 인출을 위한 주변 회로가 더 복잡해 지기 때문에 액세스 시간이 다소 더 길어진다

 

2.인출 방식

-요구 인출(demand fetch) 방식 

필요한 정보만 인출해 오는 방법

-선인출(prefetch) 방식 

필요한 정보 외에 앞으로 필요할 것으로 예측되는 정보도 미리 인출

지역성이 높은 경우에 효과가 크다.

 

주기억장치와 캐시의 조직

-블록(block) : 주기억장치로부터 동시에 인출되는 정보들의 그룹

주기억장치 용량 = 2n 단어, 블록 = K 단어
→블록의 수 = 2n/K 개

-라인(line) : 캐시에서 각 블록이 저장되는 장소

-태그(tag) : 라인에 적재된 블록을 구분해주는 정보

 

사상방식 : 각 주기억 장치 블록이 어느 캐시 라인에 적재될 것인 지를 결정해 주는 방식으로서, 캐시내부 조직을 결정

 

-직접 사상(direct mapping) : 각 주기억장치의 블록이 지정된 하나의 캐시 라인으로만 적재됨 주기억장치 주소 형식

주기억 장치 주소 형식

■ 태그 필드(t 비트) : 태그 번호(라인에 적재되어 있는 블록의 번호)

■ 라인 번호(l 비트) : 캐시의 m = 2l 개의 라인들 중의 하나를 지정

■ 단어 필드(w 비트) : 각 블록 내 2w 개 단어들 중의 하나를 구분

주기억장치의 블록 j 가 적재될 수 있는 캐시 라인의 번호 i : i = j mod m

(단, j : 주기억장치 블록 번호, m : 캐시 라인의 전체 수)

[장점]

하드웨어가 간단하고, 구현 비용이 적게 든다

[단점]

각 주기억장치 블록이 적재될 수 있는 캐시 라인이 한 개 뿐이기 때문에, 그 라인을 공유하는 다른 볼록이 적재되는 경우에는 overwrite되거나 swap-out 됨

주기억장치 용량 = 128( 27) 바이트
주기억장치 주소 = 7 비트 (바이트 단위 주소 지정)
블록 크기 = 4 바이트
→ 주기억장치는 128/4 = 32 개의 블록들로 구성
캐시 용량 = 32 바이트
캐시 라인 크기 = 4 바이트 (블록 크기와 동일)
전체 캐시 라인의 수, m = 32/4 = 8 개

-완전-연관 사상(fully-associative mapping) : 주기억장치 블록이 캐시의 어떤 라인으로든 적재 가능

(태그필드=주기억장치 블록번호)

기억장치 주소 형식

[장점]

새로운 블록이 캐시로 적재될 때 라인의 선택이 매우 자유롭다

지역성이 높다면, 적중률이 매우 높아진다

[단점]

캐시 라인들의 태그들을 병렬로 검사하기 위하여 가격이 높은 연관 기억장치(associative memory) 및 복잡한 주변 회로가 필요

 

 

 

-세트-연관 사상(set-associative mapping)

 

:직접 사상과 완전-연관 사상의 조합

:주기억장치 블록 그룹이 하나의 캐시 세트를 공유하며, 그 세트에는 두 개 이상의 라인들이 적재될 수 있음

:캐시는 v 개의 세트(set)들로 나누어지며, 각 세트들은 k 개의 라인들로 구성 ( k-way 세트-연관 사상 이라고 부름)

:주기억장치 블록이 적재될 수 있는 캐시 세트의 번호 i : i = j mod v

단, i : 캐시 세트의 번호

      j : 주기억장치 블록 번호

     v : 캐시 세트들의 수

 

기억장치 주소형식

 

저작자표시 (새창열림)

'전공 > 컴퓨터 구조' 카테고리의 다른 글

[컴퓨터 구조] 플래시 메모리와 SSD  (0) 2022.06.13
[컴퓨터 구조] RAID(R3dundatn Array of Inexpensive Disk)  (0) 2022.06.13
[컴퓨터 구조] 하드 디스크  (0) 2022.06.13
[컴퓨터 구조] DDR SDRAM  (0) 2022.06.12
[컴퓨터 구조] 캐시 메모리(Chache Memory)(2)  (0) 2022.06.12
'전공/컴퓨터 구조' 카테고리의 다른 글
  • [컴퓨터 구조] RAID(R3dundatn Array of Inexpensive Disk)
  • [컴퓨터 구조] 하드 디스크
  • [컴퓨터 구조] DDR SDRAM
  • [컴퓨터 구조] 캐시 메모리(Chache Memory)(2)
po3nyo
po3nyo
po3nyo
공부기록장
po3nyo
전체
오늘
어제
  • 분류 전체보기 (208)
    • Programming (13)
      • HTML (0)
      • JavaScript (1)
      • CSS (1)
      • PHP (1)
      • Java (2)
      • Database (7)
      • Python (1)
      • C (0)
    • Web Hacking (28)
      • Web (14)
      • DVWA (12)
      • Bee-Box (0)
    • Reverse Engineernig (11)
      • study (11)
      • lena (0)
    • System Hacking (0)
    • Forensics (0)
    • Cryptography (0)
    • Wargame (58)
      • root-me.org (19)
      • webhacking.kr (0)
      • los.rubiya.kr (0)
      • TryHackMe (0)
      • HackerFactory.co.kr (0)
      • dreamhack.io (0)
      • picoctf.org (27)
      • Hackme.org (11)
      • CTF (1)
    • OS (6)
      • Windows (1)
      • LINUX (5)
    • Algorithm (22)
      • BOJ (22)
      • 기타 (0)
    • Tools (14)
    • Etc (7)
    • 알쓸신잡 (5)
    • 전공 (40)
      • 운영체제 (11)
      • 정보통신 (13)
      • 소프트웨어공학 (9)
      • 컴퓨터 구조 (7)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • 웹해킹
  • 정보보호
  • rootmeorg
  • 침투
  • ceate
  • 알쓸신잡
  • 정보보안
  • order by절
  • dvwa실습
  • wirteup
  • writeup
  • sql 조건문
  • sql 분법
  • php
  • rootme
  • 레코드 제한
  • 모의해킹
  • mus1c
  • Hackmechallenge
  • 정보통신
  • OWASP
  • SQL
  • picoCTF
  • html
  • Infosec
  • sql 데이터타입
  • dvwa
  • 취약점
  • Python
  • Hackme.org

최근 댓글

최근 글

🔒 · Designed By 정상우.v4.2.2
po3nyo
[컴퓨터 구조] 캐시 메모리(Cache Memory)(1)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.