[Chapter 16] 컴퓨터 구조에 대한 네 번째 이야기

·2022년 11월 3일

※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년
Chapter16(p.503 ~ 526)를 읽고 정리한 내용입니다.

01 메모리 계층

메인 메모리

메인 메모리가 반드시 램이어야 할 이유는 없으나 거의 모든 컴퓨터가 메인 메모리로 램을 사용함

레지스터

CPU안에 내장되어 연산을 위한 저장소를 제공

캐쉬

원래는 CPU에 근접해 있는 메모리였으나 CPU 안에 들어있다.
캐쉬 프렌드리 코드 : 캐쉬의 도움을 많이 받을 수 있도록 구현한 코드
캐쉬 힛 : 캐쉬에 찾는 데이터가 있는 경우
캐쉬 미스 : 캐쉬에 찾는 데이터가 없는 경우
캐쉬 교체 정책 중 LRU(Least-Recently Used) : 가장 오래 전에 참조된 블록을 밀어 냄

하드디스크와 이외의 저장 장치들(SD 카드, CD-ROM 등)

하드디스크 : 크고 작은 파일들을 저장하기 위한 용도

메모리 계층 구조

CPU와 가까이에 있을수록 빠르고, 멀리 있을수록 속도가 느림

02 로컬리티

템퍼럴 로컬리티(Temporal Locality)

프로그램 실행 시 한번 접근이 이뤄진 주소의 메모리 영역은 자주 접근하게 된다는 프로그램 특성을 표현할 때 사용하는 말

스페이셜 로컬리티(Spatial Locality)

프로그램 실행 시 접근하는 메모리 영역은 이미 접근이 이루어진 영역의 근처일 확률이 높다는
프로그램의 성격을 표현할 때 사용하는 말

03 MMU(Memory Management Unit)

가상 메모리와 실제 물리 메모리 사이에서 주소의 변환을 담당하는 것은 소프트웨어가 아니라
MMU라는 하드웨어 블록이다.
이는 아주 빈번히 일어나는 연산이기 때문에 하드웨어로 구성해야 영향을 미치지 않는다.
즉, 가상 메모리의 구현은 MMU라는 하드웨어 블록의 도움을 받는다.

0개의 댓글