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

Slides:



Advertisements
Similar presentations
R Study. 3.3 NA 의 처리 결측치가 데이터에 포함되어 있을 경우 연 산결과가 다음과 같이 NA 로 바뀌어버리므 로 주의가 필요 Ex) >NA&TRUE - [1]NA >NA+1- [1]NA >sum(c(1,2,3,NA)) – [1]NA.
Advertisements

한상욱, 이성진 (shanehahn, 고급 내장형 시스템 Lab3: Compression-Aware FTL 서울대학교 컴퓨터공학부 임베디드 시스템 연구실.
1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Progress Sang-bok, Heo.
제 2장 컴퓨터 구조.
Neospring 모의크라우드펀딩 기업 작성 양식 참가 기업명 참가 기업로고.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
세명통통 사용자 매뉴얼 [표준 매뉴얼] 세명통통 사용자 매뉴얼.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
AWR DB 보고서 분석.
Chap. 12 Memory Organization
3장. 컴퓨터의 기억장치 학번 : 이름 : 김현화.
7장 : 캐시와 메모리.
임베디드 하드웨어 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
1. 스케줄링 개요 [그림 6-16] 프로세스의 반환, 대기, 반응 시간
연습문제풀이/도움말.
6장. 기 억 장 치 Lecture #6.
컴퓨터시스템구조론 Stallings 저 / 김종현 역 제9판
Chapter 02 시스템 구조(System Structure)
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Chapter 7. Pentium Processor
Chap. 12 Memory Organization
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
3주 컴퓨터구조.
4장. 컴퓨터 구조에 대한 두 번째 이야기 작성자: 윤성우.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
Computer System Architecture
BLACK OUT 신개념 연합동아리 블랙아웃에서 1기를 모집합니다!
Chapter 4 The Von Neumann Model.
제4장 종합원가계산.
제4장 종합원가계산.
부동산개발론 부지 확보 및 분석 손 진 수
Chap. 12 Memory Organization
제 4 장 가상 메모리 관리 4.1 개요 가상 메모리는 하나의 프로세스 전체가 한 번에 주기억 장치 내에 존재하지 않고 일부만 있어도 수행하게 하는 방법을 제공함. 가상 메모리를 사용하면 사용자는 실제 주소 공간의 크기에 구애 받지 않고 보다 큰 가상 주소 공간상에서 프로그래밍을.
Cache Manager Yonghyun Kim Microsoft MVP Dev 5 team leader, ESTsoft
Genetic Programmed Soccer Softbot
성균관대학교 전자전기컴퓨터공학과 오영환, 박효진
기억장치 관리(Memory Management)
운영체제 (Operating Systems) (Memory Management Strategies)
제 10장 운영체제.
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
분산 파일 시스템의 구조 GFS 와 CEPH SW공학센터 융합SW공학팀 장원석 책임 연구원
고등학생을 위한 성교육 4단원: 나는 이성친구에게 피임 Policy를 제안한다
제8장 회계방법의 선택 ◆ 목차 1. 재무제표 바로 읽기 2. 재무제표가 다르게 표시되는 이유 3. 매출원가의 산정
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
하드웨어 vs 소프트 웨어 볼 수 있다. 만질 수 있다. 볼 수 없다. 만질 수 없다. 키보드, 마우스 ? 하드웨어
Chapter 12 Memory Organization
Lecture #6 제5장 기억장치 (1).
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
체크포인트 가정 내 일어나는 사고에 대해 알아보고 사고예방을 위해 주의한다. | 예방법 장소별 사고 – 방과 거실 1 2 높은 곳 에 물건 두지 않기! 날카로운 모서리는 천으로 씌우기!
청소년 흡연예방 교육자료3. 한국금연운동협의회 교육부장 이 영 자.
기술 진화와 진보.
4. Flip-Flops : S-R, D, J-K, T 컴퓨터 구조 실습 안내서.
제9장 가상 메모리 관리.
기억장치 관리(Memory Management)
운영체제 학번 : 이름 : 이원석 반 : 2B.
8.가상기억장치의 구성과 관리 2학년 C반 김완응.
우리 같이 야구 봐요!!! 언제? 어디에서? 2011년 08월 09일 잠실야구장.
성전기공식(안) 식 순 1. 기공미사 2. 기 공 식 3. 축 하 연 천주교 수원교구 퇴촌성당.
1. 가상 메모리의 개념 프로그램에 의해 빈 프레임은 부재된 페이지를 수용하기 위해 사용. 페이지 대치 과정.
데이터 베이스의 내부 구조.
“알콜중독자 대상 심리안정 프로그램”.
시민이 체감하는 편리한 건축인허가 절차 개선 추진.
I/O Management and Disk Scheduling
Microprocessor Design and Application 마이크로 프로세서 설계 및 응용 2017 Spring
임베디드 하드웨어 Lecture #6.
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
가상 기억장치 (Virtual Memory)
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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