Computer Architecture 14

ch5.exercise

5.3번 문제들: 캐시 전체 비트 수 계산 및 성능 비교 문제 설명: 32KiB, 64KiB 캐시에 대해 태그, 유효 비트, 데이터 비트 총합을 계산하고, 블록 크기 변화에 따른 효과를 살펴본다. • 1 KiB = 1024바이트 • 32 KiB = 32 * 1024 = 32768 바이트 • 64 KiB = 64 * 1024 = 65536 바이트 • 워드(Word) = 4바이트 5.3.1 (32KiB 캐시, 2-word 블록) 조건: • 총 데이터 용량: 32KiB = 32768바이트 • 블록 크기: 2워드/블록, 1워드=4바이트 ⇒ 블록 크기 = 2 *4바이트 =8바이트 • 블록 수 = 총 용량 / 블록 크기 = 32768바이트 /8바이트 =4096블록 어드레스 비트 분해(32비트 주소): • 오프셋(O..

CH5. Self-Study

1. 연관성과 Three Cs 모델 직접 매핑 캐시(Direct-Mapped Cache): 히트와 미스 • 다음 접근 주소들: 18, 20, 22, 24, 26. • 히트/미스 분석: • 18 (이진수: 10010): 히트 — 캐시 인덱스 2에 존재. • 20 (이진수: 10100): 미스 — 캐시 인덱스 4에 저장됨. • 22 (이진수: 10110): 히트 — 캐시 인덱스 6에 존재. • 24 (이진수: 11000): 미스 — 캐시 인덱스 0에 저장됨. • 26 (이진수: 11010): 미스 — 블록 18과 충돌 미스 발생, 인덱스 2에서 교체됨. 결과: • 히트: 18, 22. • 미스: 20, 24, 26.  연관도가 미스에 미치는 영향  • 2-way 세트 연관 캐시를 사용한다면, 블록 26에서 ..

5.11 Parallelism and Memory Hierarchy:Redundant Arrays of Inexpensive Disks

1. RAID란 무엇인가? RAID (Redundant Array of Inexpensive Disks)는 여러 개의 작은 디스크를 병렬로 사용하여 성능과 신뢰성을 모두 향상시키는 기술이다. • 초기 목적: • 디스크 I/O 성능 개선. • 대형 디스크를 대체할 수 있는 저렴한 디스크 활용. • 현대적 초점: • 주된 목표는 데이터 신뢰성과 내구성.  2. RAID의 주요 목표 (1) 성능 개선  • 데이터를 여러 디스크에 나누어 저장(Striping)하여 읽기/쓰기 속도를 증가. • 병렬 데이터 액세스를 통해 대역폭 확장. (2) 신뢰성 개선  • 디스크 고장에도 데이터를 잃지 않기 위해 중복성(Redundancy) 도입. • 중복 데이터를 이용하여 복구 가능성 제공.  3. RAID의 기본 레벨 RA..

5.10 Parallelism an Memory Hierarchy:Cache Coherence

1. Cache Coherence란 무엇인가? 캐시 일관성(Cache Coherence) 문제는 다중 프로세서 시스템에서 발생한다. • 문제:여러 프로세서가 공유 메모리를 캐싱할 때, 동일한 메모리 위치에 대해 다른 값을 관찰할 수 있다. • 예: CPU A와 CPU B가 각각 자신의 캐시에서 동일한 메모리 위치를 읽고, 한 프로세서가 값을 변경했지만 다른 프로세서가 이를 반영하지 못하는 상황. • Cache Coherence 정의: • “메모리 시스템은 최근에 기록된 값만 반환해야 한다.” • 하지만 Coherence는 “어떤 값을 반환할 수 있는가?“라는 질문에 답하고, Consistency는 “언제 값을 반환하는가?“를 다룬다.  2. Coherence의 세 가지 속성 캐시 일관성을 유지하려면 다음..

5.9 Using a Finite-State Machine to Control a Simple cache

1. Simple Cache 설계 캐시의 주요 특성:  • 구조: Direct-Mapped Cache. • 쓰기 정책: Write-Back 및 Write-Allocate. • 블록 크기: 4워드 (16 바이트 = 128비트). • 캐시 크기: 16KiB, 총 1024블록. • 주소 크기: 32-bit. • 추가 필드: • Valid Bit: 블록의 유효 여부. • Dirty Bit: 블록이 수정되었는지 여부. 주소 필드 계산:  • Cache Index: 10-bit. •  1024블록, 각 블록을 식별하는 인덱스. • Block Offset: 4-bit. • 16Bytes. 블록 내부 데이터를 구분. • Tag: 32-10-4 = 18-bit. 프로세서와 캐시 간 신호:  • 1-bit Read/Wri..

5.8 A common Framework for Memory Hierarchy

1. Memory Hierarchy와 공통 질문 메모리 계층 구조 설계에서 블록 배치 및 검색 방식은 중요한 설계 요소이다. 이를 이해하기 위해 네 가지 질문을 다룬다: 1. Where can a block be placed? (블록 배치) 2. How is a block found? (블록 검색) 3. Which block should be replaced? (블록 교체) 4. What happens on a write? (쓰기 정책)  2. Question 1: Where can a block be placed? 블록 배치 방식:  • Direct Mapped: • 캐시의 특정 한 위치에만 배치 가능. • 블록 번호 캐시 블록 개수 사용. • Set-Associative: • 여러 개의 위치에 배치 ..

5.7 Virtual Memory

1. Virtual Memory의 개념 **Virtual Memory (가상 메모리)**는 **주 메모리(Main Memory)**가 **보조 저장장치(Secondary Storage)**를 위한 캐시 역할을 하도록 설계된 기술이다. • 가상 메모리를 통해 프로그램은 물리 메모리 크기에 구애받지 않고 실행 가능하다. • 메모리 관리를 단순화하며, 여러 프로그램이 동시에 메모리를 공유할 수 있도록 한다.  2. Virtual Memory의 주요 동기  1. 메모리 공유: • 여러 프로그램이 동일한 물리 메모리를 안전하고 효율적으로 공유. • 프로그램이 메모리를 읽고 쓰더라도, 다른 프로그램의 데이터에 영향을 미치지 않도록 보호.  2. 메모리 용량 확장: • 프로그램 크기가 주 메모리 크기를 초과하더라도 ..

5.5 Dependable Memory Hierachy

1. 메모리 계층의 신뢰성 (Dependability) 신뢰성이 높은 메모리 계층 구조는 데이터 유실 없이 지속적으로 작동해야 한다. • 빠르고 신뢰할 수 있는 메모리 계층을 설계하려면 **중복성(Redundancy)**을 활용하는 것이 핵심이다.  2. Defining Failure (실패 정의) 시스템은 두 가지 상태를 가진다: 1. Service Accomplishment:서비스가 정상적으로 제공됨. 2. Service Interruption:서비스가 사양(specification)과 다르게 작동하거나 중단됨. Failure and Restoration (실패와 복구):  • Failure: 시스템이 정상에서 비정상으로 전환되는 상태. • 영구적(permanent): 쉽게 진단 가능. • 간헐적(i..

5.4 Measuring and Improving Cache Performance

1. Cache 성능 측정과 향상 기술 캐시 성능을 측정하고 분석하는 방법에는 여러 가지가 있다. 이 섹션에서는 두 가지 주요 기술을 설명한다.1. Miss Rate 감소:캐시 미스율을 줄여 두 개의 서로 다른 메모리 블록이 동일한 캐시 위치를 차지하지 않도록 하는 기술이다.2. Miss Penalty 감소:다단계 캐싱(multilevel caching)을 사용해 미스 패널티를 줄이는 기술이다.이 기술은 1990년대 고가(10만 달러 이상) 컴퓨터에서 처음 도입되었으며, 현재는 모바일 기기에서도 사용된다.  2. CPU Time의 구성 CPU 시간이란 프로그램 실행에 필요한 CPU 실행 시간과 메모리 대기 시간의 합이다. 이를 계산하는 공식은 다음과 같다:CPU time = (CPU execution c..

5.3 The Basics of Caches

1. Cache (캐시):컴퓨터에서 프로세서와 메인 메모리 사이에 위치하여 데이터 접근 속도를 향상시키는 작고 빠른 임시 저장소이다.캐시는 데이터를 저장하고, 필요한 데이터를 메모리에서 가져오지 않고 빠르게 읽을 수 있도록 한다.캐시는 지역성(Locality) 원리를 기반으로 작동한다.  2. Direct-Mapped Cache (직접 매핑 캐시):캐시 구조 중 하나로, 각 메모리 주소가 캐시의 특정 위치에 고정적으로 매핑되는 방식이다.한 번에 특정 메모리 블록만 특정 캐시 슬롯에 저장될 수 있다.  3. Tag (태그):캐시에 저장된 데이터가 메모리의 어떤 블록에서 왔는지 식별하기 위한 추가 정보이다.메모리 주소의 일부가 태그로 사용된다.  4. Valid Bit (유효 비트):캐시 블록이 유효한 데이..