GoWoong의 개발 블로그
close
프로필 배경
프로필 로고

GoWoong의 개발 블로그

  • 분류 전체보기 (143) N
    • 크래프톤 정글 (58) N
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (14)
      • CS (13)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
  • 홈
  • 글쓰기
컴퓨터 시스템 : CSAPP 6장 정리 - 종합: 프로그램 성능에 대한 캐시의 영향

컴퓨터 시스템 : CSAPP 6장 정리 - 종합: 프로그램 성능에 대한 캐시의 영향

6.6 캐시가 프로그램 성능에 미치는 영향 (Putting It Together: The Impact of Caches on Program Performance)지금까지 메모리 계층 구조를 살펴봤다. 이번 절에서는 캐시가 실제 머신에서 프로그램 성능에 어떤 영향을 미치는지를 살펴본다​.메모리 계층 구조는 프로그램 성능에 지대한 영향을 미친다.특히, 프로그램이 메모리 시스템에서 데이터를 읽어 들이는 속도(읽기 처리량, read throughput)가 중요한 성능 지표가 된다.지역성(locality)을 잘 활용하면 프로그램이 훨씬 빠르게 동작할 수 있다.6.6.1 메모리 마운틴 (The Memory Mountain)개념프로그램이 메모리 시스템으로부터 데이터를 읽어들이는 속도를 읽기 처리량(read throu..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms

컴퓨터 시스템 : CSAPP 6장 정리 - 6.5 캐시 친화적 코드 작성

6.5 캐시 친화적인 코드 작성 (Writing Cache-Friendly Code)6.2절에서는 지역성(locality)이라는 개념을 소개했다. 이제 캐시 메모리의 구조를 이해했으므로, 좋은 지역성을 갖춘 프로그램이 무엇인지 더 명확히 설명할 수 있다​.핵심은 다음과 같다:좋은 지역성을 가진 프로그램은 낮은 미스율(miss rate)을 가진다.낮은 미스율을 가진 프로그램은 높은 미스율을 가진 프로그램보다 일반적으로 빠르게 실행된다.따라서, 좋은 프로그래머는 항상 캐시 친화적인(cache-friendly) 코드를 작성해야 한다.기본 접근 방법:일반적인 경우를 빠르게 만든다대부분의 프로그램은 몇몇 핵심 함수(core functions) 안에서 대부분의 시간을 보낸다.그 안에서도 주로 **내부 루프(inne..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
컴퓨터 시스템 : CSAPP 6장 정리 - 6.4 캐시 메모리

컴퓨터 시스템 : CSAPP 6장 정리 - 6.4 캐시 메모리

6.4 Cache Memories초기 컴퓨터 시스템의 메모리 계층은 단순했다:CPU 레지스터메인 메모리디스크 저장장치하지만 CPU와 메인 메모리 사이의 성능 격차가 점점 커지면서, 시스템 설계자들은 CPU 레지스터 파일과 메인 메모리 사이에 작은 고속 L1 캐시를 추가하게 되었다​.L1 캐시: 대개 4 클럭 사이클 안에 접근할 수 있으며, 레지스터에 접근하는 속도와 거의 비슷하다.이후 성능 격차가 더 커지면서 L2 캐시를 L1과 메인 메모리 사이에 추가했고, 이 캐시는 약 10 클럭 사이클 정도로 접근할 수 있다.더 현대 시스템에서는 L3 캐시까지 추가하여, 메인 메모리 접근 전 마지막 캐시 단계로 삼고 있다(약 50 클럭 사이클).이 장에서는 간단히 CPU와 메인 메모리 사이에 단일 L1 캐시가 있는 ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
컴퓨터 시스템 : CSAPP 6장 정리 - 6.3 메모리 계층 구조

컴퓨터 시스템 : CSAPP 6장 정리 - 6.3 메모리 계층 구조

6.3 메모리 계층 구조 (The Memory Hierarchy)6.1절과 6.2절에서 저장 기술과 프로그램의 지역성에 대해 살펴봤다. 중요한 사실은 다음과 같다:저장 기술: 다양한 저장장치는 접근 시간, 비용, 용량이 매우 다르다. 빠른 저장장치는 느리고 싼 저장장치보다 비싸고 용량이 작다. CPU와 메인 메모리 간 속도 차이는 점점 벌어지고 있다.컴퓨터 소프트웨어: 잘 작성된 프로그램은 좋은 지역성을 보인다​.이 두 특성이 서로 보완적으로 작용하여, 현대 시스템은 메모리 계층구조(memory hierarchy)라는 방식을 통해 메모리를 구성한다. 메모리 계층 구조는 빠르고 작은 저장장치가 느리고 큰 저장장치를 캐시(cache)하는 구조로 되어 있다​.계층 구조를 따라 내려갈수록 저장장치는 더 크고, ..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
컴퓨터 시스템 : CSAPP 6장 정리 - 6.2 지역성

컴퓨터 시스템 : CSAPP 6장 정리 - 6.2 지역성

6.2 지역성 (Locality)잘 작성된 컴퓨터 프로그램은 일반적으로 좋은 지역성을 보인다. 즉, 최근에 참조한 데이터 항목 근처에 있는 데이터를 참조하거나, 최근에 참조한 데이터를 다시 참조하는 경향을 가진다. 이 경향을 **지역성 원칙(principle of locality)**이라고 부르며, 하드웨어와 소프트웨어 시스템 설계 및 성능에 지대한 영향을 미친다​.지역성에는 두 가지 주요 형태가 있다:시간적 지역성(Temporal Locality): 한 번 참조된 메모리 위치가 가까운 미래에 다시 참조될 가능성이 높다.공간적 지역성(Spatial Locality): 한 메모리 위치가 참조되면, 그 주변 메모리 위치도 곧 참조될 가능성이 높다.프로그래머는 지역성 원칙을 이해해야 한다. 일반적으로 지역성이..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
컴퓨터 시스템 : CSAPP 6장 정리 - 6.1 저장장치 기술

컴퓨터 시스템 : CSAPP 6장 정리 - 6.1 저장장치 기술

6장 : 메모리 계층 구조지금까지 시스템에 대한 공부는 CPU가 명령어를 실행하고, 메모리 시스템이 명령어와 데이터를 저장하는 간단한 모델에 기반하였다. 이 모델은 어느 정도 유용하지만 실제 현대 시스템의 동작 방식을 정확히 반영하지 않는다.실제로 메모리 시스템은 다양한 용량, 비용, 접근 시간을 가진 저장 장치들이 계층적으로 조직된 형태를 가진다. CPU 레지스터는 가장 자주 사용하는 데이터를 저장하며, CPU 근처의 작은 고속 캐시 메모리는 주 메모리에 저장된 데이터와 명령어의 일부를 임시로 보관하는 역할을 한다. 주 메모리는 느리고 큰 디스크로부터 데이터를 가져온다. 이 디스크들은 다시 다른 컴퓨터에 연결된 디스크나 테이프에 저장된 데이터를 가져온다.메모리 계층이 효과적인 이유는, 잘 작성된 프로그..

  • format_list_bulleted 크래프톤 정글 (컴퓨터 시스템: CSAPP)/6장 메모리 계층구조
  • · 2025. 4. 28.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (143) N
    • 크래프톤 정글 (58) N
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (14)
      • CS (13)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
최근 글
인기 글
최근 댓글
태그
  • #IOT
  • #AWSKRUG
  • #Cloud Practitioner
  • #AWS
  • #AWS Community Day
  • #serverless
  • #AWS 자격증
  • #saa-c03
  • #CLF-C01
  • #aws #iot
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바