Preview
- 메모리 역할과 특징
- 메모리 계층 구조
- 메모리 구성 요소
- 메모리 접근 과정
- 메모리 유형
- 캐시 메모리 구조
- 캐시 작동 방식
- 캐시 데이터 전송 단위
- 캐시 성능 관리
본 게시물은 기술노트알렉, 「코딩 자율학습 컴퓨터 구조와 운영체제」, 길벗출판사, 2025 를 학습하고 작성되었습니다.
메모리 역할과 특징
- CPU와 프로그램 실행 지원: CPU가 처리할 데이터 빠르게 제공해 시스템 성능 최적화
- 중간 저장소 역할: 연산 과정에서 중간 결과를 저장해 처리 속도 향상
- 멀티태스킹 지원: 여러 프로그램 동시 실행할 수 있도록 독립적 메모리 공간 할당
메모리 계층 구조
- 레지스터: CPU 내부에 위치한 초고속 메모리, CPU가 직접 연산에 사용하는 데이터와 명령어 저장
- 캐시 메모리: CPU와 주 기억 장치 사이에 위치, CPU가 자주 사용하는 데이터와 명령어 임시 저장
- 주 기억 장치: 시스템 주요 작업 공간, 실행 중인 프로그램과 데이터 저장
- 보조 기억 장치: 데이터 영구 저장
- CPU에 가까울수록 속도 빠르고, 용량 작고, 비용 높음
메모리 구성 요소
- 메모리 셀(memory cell): 데이터 저장하는 기본 단위, 1비트 데이터 저장
트랜지스터(transistor): 전류의 흐름 제어해 메모리 셀 상태를 0 또는 1로 설정
커패시터(capacitor): 전하 저장하는 소자 - 주소 디코더: 메모리 셀에 접근 시 필요한 주소 해석하는 회로
행 주소 스트로브(RAS, Row Address Strobe): 메모리의 특정 행 선택하는 신호
열 주소 스트로브(CAS, Column Address Strobe): 선택된 행 내 특정 열 선택하는 신호 - 데이터 버스: CPU와 메모리 간 데이터 전송 통로
- 제어 회로: 메모리 읽기/쓰기 작업 제어, 리프레시 주기 관리
제어 단자: 메모리 셀이 읽을지 쓸지 작업 종류 지정
선택 단자: 읽거나 쓰는 작업 실행할 메모리 셀 선택
감지 단자: 메모리 셀에서 데이터 읽어옴
입력 단자: 데이터 입력 받아 메모리 셀에 저장 - 감지 증폭기: 메모리 셀 데이터 읽을 때 신호 감지하고 증폭
- 클럭 회로: 주기적으로 클럭 신호 발생시켜 메모리와 전체 시스템 동작 동기화
메모리 접근 과정
- 명령 전송: CPU가 메모리 컨트롤러에 어떤 주소에 접근해 데이터 읽을지 쓸지 전달
- 주소 지정: 메모리 컨트롤러가 요청되 데이터 주소 기반으로 특정 메모리 셀 선택
- 데이터 전송: 읽기 작업이면 선택된 메모리 셀에서 데이터 가져와 CPU로 전송하고, 쓰기 작업이면 CPU에서 데이터 받아 메모리에 저장
메모리 유형
저장 방식에 따른 분류
- 휘발성 메모리: 전원 공급되는 동안만 데이터 유지, 데이터 임시 저장에 사용
| DRAM(Dynamic RAM) | SRAM(Static RAM) |
| 동적 메모리, 주기적으로 데이터 리프레시 | 정적 메모리, 전원 공급되는 동안 데이터 유지 |
| 커패시터 사용해 데이터 저장 | 플립플롭 사용해 데이터 저장 |
| 대용량 데이터 | 비교적 소규모 데이터 |
| 비교적 저렴한 비용 | 비싼 가격 |
| 적은 소비 전력 | 큰 소비 전력 |
| 느린 속도 | 속도 빠름 |
| 주 기억 장치 | 캐시 메모리 |
- 비휘발성 메모리: 전원 꺼져도 데이터 유지하는 메모리, ROM(Read-Only Memory)
사용 목적에 따른 유형
- 시스템 메모리: 운영체제와 프로그램 실행하는 데 사용
- 캐시 메모리: CPU에서 자주 사용하는 데이터 임시 저장
- 비디오 메모리: GPU에서 사용, 화면에 출력하는 그래픽 데이터 저장하고 처리
- 버퍼 메모리: 장치 간 데이터 전송 속도 차이 조정하는 임시 저장소
- 가상 메모리: 물리 메모리(RAM) 부족 시 보조 기억 장치 일부를 사용
- 영구 저장소: 전원 꺼져도 데이터 영구 저장
캐시 메모리
캐시 구조
| L1 캐시(Level 1) | L2 캐시(Level 2) | L3 캐시(Level 3) |
| CPU 내부에 위치 | CPU 내부 또는 외부에 위치 | CPU 외부에 위치, 여러 CPU가 공유 |
| 매우 빠른 속도 | 보통 속도 | 느린 속도 |
| 작은 용량(수십 KB) | 보통 용량(수백 KB~수 MB) | 큰 용량(수 MB~수십 MB) |
캐시 작동 방식
- 캐시 히트(cache hit): CPU가 찾고 있는 데이터가 캐시에 존재
- 캐시 미스(cache miss): CPU가 찾고 있는 데이터가 캐시에 없음, 메인 메모리나 상위 메모리에서 데이터 로드
- 히트율(hit ratio): 전체 데이터 요청 중 캐시에서 데이터 성공적으로 찾은 비율, 높을수록 CPU 대기 시간 감소하고 성능 향상
캐시의 데이터 전송 단위
- 워드(word): CPU에서 한번에 처리하는 데이터 크기
- 블록(block): 캐시와 RAM 간 데이터 전송 단위
캐시 성능 관리
지역성
- 지역성: CPU가 메모리 특정 부분을 집중적으로 사용하는 경향성 나타냄
- 공간 지역성(spatial locality): 특정 데이터 접근하면 인접한 데이터도 접근할 가능성 높음
- 시간 지역성(temporal locality): 최근 접근한 데이터 다시 접근할 가능성 높음
교체 정책
- 교체 정책: 캐시 가득 찼을 때 새로운 데이터 저장 위해 기존 데이터 삭제하는 방법 결정하는 규칙
- LRU(Least Recently Used): 가장 오래 사용하지 않은 데이터 삭제
- FIFO(First-In, First-Out): 가장 먼저 들어온 데이터 삭제
- LFU(Least Frequently Used): 가장 적게 사용한 데이터 삭제
- ARC(Adaptive Replacement Cache): LRU + LFU. 자주 사용하는 데이터와 최근에 사용한 데이터 동적으로 관리
- Random: 무작위 선정
쓰기 정책
- 쓰기 정책: CPU에서 데이터를 캐시에 저장 시 RAM과 동기화하는 방법
- Write-Back: 데이터를 캐시에만 저장, RAM에는 나중에 저장
- Write-Around: 데이터를 RAM에만 저장
- Write-Through: 데이터를 캐시와 RAM에 동시 저장
캐시 주소 매핑
- 캐시 주소 매핑: 어떤 데이터를 캐시에 저장할지 결정하는 방식
- 직접 매핑: RAM을 일정 크기 블록으로 나눠 캐시의 특정 위치에 할당
- 완전 연관 매핑: RAM 블록을 캐시에 저장 시 태그도 함께 저장
- 집합 연관 매핑: 캐시를 여러 집합으로 나누고, 각 집합에서 완전 연관 매핑 사용
'코딩자율학습단 > 컴퓨터구조와 운영체제' 카테고리의 다른 글
| [컴구&OS] 5장. 보조 기억 장치 (0) | 2025.07.10 |
|---|---|
| [컴구&OS] 3장. CPU (0) | 2025.07.06 |
| [컴구&OS] 2장. 데이터와 명령어 (0) | 2025.07.01 |
| [컴구&OS] 1장. 컴퓨터 구조와 운영체제 개요 (0) | 2025.06.30 |