6.1 RAM의 특징과 종류
- RAM : 실행할 프로그램의 명령어와 데이터 저장
- 전원을 끄면 명령어, 데이터가 모두 날아감
- 비휘발성 저장 장치 : 전원이 꺼져도 저장된 내용이 유지되는 저장 장치
- 하드 디스크, SSD, CD-ROM, USB
- CPU는 보조기억장치에 직접 접근하지 못함
- 비휘발성 ⇒ 보관할 대상 저장
- 휘발성 ⇒ 실행할 대상 저장
- 프로그램이 보조 기억 장치에 있다면 RAM으로 복사 후 실행
- RAM 용량이 크면?
- 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할 수 있음
- ⇒ 많은 프로그램 동시에 실행하는데 유리
- 하지만 용량이 필요 이상으로 커진다면 속도가 비례증가하진 않음
RAM의 종류
- DRAM : 동적(Dynamic) RAM
- 저장된 데이터가 동적으로 변하는 RAM
- 시간이 지나면 져장된 데이터가 점차 사라지는 RAM
- SRAM : 정적(Static) RAM
- 저장된 데이터가 변하지 않는 RAM
- 시간이 지나도 저장된 데이터가 사라지지 않음
- DRAM보다 일반적으로 속도도 더 빠름
- SDRAM : 동기화된(synchronous) DRAM
- 클럭에 맞춰 동작하며 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM
- DDR SDRAM : 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
- 대역폭 : 데이터를 주고받는 길의 너비
6.2 메모리의 주소 공간
물리 주소와 논리 주소
- 물리주소 : 정보가 실제로 저장된 하드웨어 상의 주소
- 메모리가 사용하는 주소
- 논리주소 : 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
- CPU와 실행 중인 프로그램이 사용하는 주소
- CPU와 메모리가 상호작용하려면 논리주소와 물리주소 간의 변환 필요
- 주소 간 변환 ⇒ CPU와 주소 버스 사이에 위치한 메모리 관리 장치(MMU) 하드웨어
- CPU ——논리주소—> MMU(베이스 레지스터) ——물리주소—> 메모
- 베이스 레지스터 : 프로그램의 가장 작은 물리주소 (= 첫 물리 주소) 저장
- 논리주소 : 프로그램의 시작점으로부터 떨어진 거리
메모리 보호 기법
다른 프로그램의 영역을 침범할 수 있는 명령어는 위험하므로 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도로 보호할 방법 필요 ⇒ 한계 레지스터
- 한계 레지스터 : 논리 주소의 최대 크기 저장
- 프로그램의 물리 주소 범위 : 베이스 레지스터 값 ~ 베이스 레지스터 값 + 한계 레지스터 값
- CPU는 메모리 접근 전 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지 항상 검사함
- CPU가 한계 레지스터보다 높은 논리 주소에 접근 시 실행 중
6.3 캐시 메모리
저장 장치 계층 구조
- CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.
- 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.
⇒ 빠른 저장 장치와 용량이 큰 저장 장치는 양립이 어려움
- 컴퓨터가 사용하는 저장 장치들은 ‘CPU에 얼마나 가까운가’를 기준으로 계층적 표현 가능
- ⇒ 저장 장치 계층 구조
- 계층 위로 올라갈수록 CPU와 가깝고 용량은 작지만 빠름
캐시 메모리
- CPU와 메모리 사이에 위치, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반 저장장치
- CPU와 메모리 사이에서 일부 데이터를 미리 가지고 오기위해 탄생
- 캐시 메모리도 CPU와 가까운 순서대로 계층을 구성
- 가장 가까운 캐시 메모리 : L1 , 그 다음 가까운 메모리 : L2,…
참조 지역성 원리
- 캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 저장
- 캐시 히트 : 자주 사용될 것으로 예측한 데이터가 실제로 맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우
- 캐시 미스 : 예측이 틀려 필요한 데이터를 직접 가져와야 하는 경우
⇒ 캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)
- 캐시 메모리는 메모리로부터 가져올 데이터를 결정할 때 ‘참조 지역성의 원리’로 결정
- CPU는 최근 접근했던 메모리 공간에 다시 접근하려하는 경향
- CPU는 최근 접근했던 메모리 공간을 여러번 다시 접근 가능
- ⇒ 시간 지역성
- CPU는 접근한 메모리 공간 근처를 접근하려는 경향
- => 공간 지역성
- CPU는 최근 접근했던 메모리 공간에 다시 접근하려하는 경향
반응형
'Data Engineering > 혼공컴운' 카테고리의 다른 글
혼자 공부하는 컴퓨터구조 + 운영체제 8장 정리 (0) | 2025.02.05 |
---|---|
혼자 공부하는 컴퓨터구조 + 운영체제 7장 정리 (0) | 2025.01.20 |
혼자 공부하는 컴퓨터구조 + 운영체제 5장 정리 (0) | 2025.01.20 |
혼자 공부하는 컴퓨터구조 + 운영체제 4장 정리 (0) | 2025.01.20 |
혼자 공부하는 컴퓨터구조 + 운영체제 1-3장 정리 (1) | 2025.01.20 |