[컴퓨터 구조] 6. 메모리와 캐시 메모리
[컴퓨터 구조] 6. 메모리와 캐시 메모리
Chapter6 메모리와 캐시 메모리
6-1 RAM의 특징과 종류
RAM의 특징
- 휘발성 저장 장치 : 전원을 끄면 저장된 내용이 사라지는 저장 장치, 실행할 대상 저장
- ex) RAM
- 비휘발성 저장 장치 : 전원이 꺼져도 저장된 내용이 유지되는 저장 장치, 보관할 대상 저장
- ex) 하드 디스크, SSD, CD-ROM, USB
RAM의 용량과 성능
- RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는데 유리
- RAM 용량이 무지막지하게 크다고 프로그램 실행 속도가 그에 비례하여 빨라지는 것은 아님
RAM의 종류
- DRAM(Dynamic RAM) : 시간이 지나면 저장된 데이터가 점차 사라지는 RAM
- 일반적으로 사용
- SRAM(Static RAM) : 저장된 데이터가 변하지 않는 RAM
- 일반적으로 DRAM보다 속도가 빠름
- SDRAM : 클럭 신호와 동기화된 발전된 형태의 DRAM
- DDR SDRAM : 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
- 대역폭 : 데이터를 주고받는 길의 너비
- SDRAM에 비해 DDR SDRAM은 두배의 대역폭으로 한 클럭당 두번씩 CPU와 데이터를 주고받을 수 있음
- DDR2 SDRAM은DDR SDRAM보다 대역폭이 두 배 넓은 SDRAM
6-2 메모리의 주소 공간
물리 주소와 논리 주소
- 물리 주소 : 정보가 실제로 저장된 하드웨어상의 주소
- 논리 주소 : 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
- ex) ‘10번지’라는 주소는 메모장에서도, 게임에도, 인터넷 브라우저에도 논리 주소로써 존재 가능
- CPU와 메모리가 상호작용하려면 논리 주소와 물리 주소간의 변환이 필요 → 메모리 관리 장치
- 메모리 관리 장치(MMU) : 논리 주소와 물리 주소간의 변환 담당
- 베이스 레지스터 : 프로그램의 가장 작은 물리 주소, 프로그램의 첫 물리 주소를 저장하는 셈
- 논리 주소 : 프로그램의 시작점으로부터 떨어진 거리
메모리 보호 기법
- 프로그램의 논리 주소 영역을 벗어나는 명령어들이 들어올 수도
- 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호할 방법 필요
- 한계 레지스터 : 실행 중인 프로그램의 논리 주소의 최대 크기를 저장
- 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지 검사
6-3 캐시 메모리
저장 장치 계층 구조
- CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.
- 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.
- 저장 장치 계층 구조 : 각기 다른 용량과 성능의 저장 장치들을 계층화하여 표현한 구조
캐시 메모리
- 캐시 메모리 : CPU와 메모리 사이에 위치하고 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
- CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생
- 캐시 메모리까지 반영한 저장 장치 계층 구조
- L1 캐시가 코어와 가장 가까운 캐시, 그다음 가까운 캐시가 L2 캐시, 그 다음이 L3 캐시
- 멀티 코어 프로세서에서 일반적인 L1-L2-L3 캐시
참조 지역성 원리
- 캐시 히트 : 캐시 메모리 내 데이터가 CPU에서 활용될 경우
- 캐시 미스 : 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우
- 캐시 적중률
- 우리가 사용하는 컴퓨터의 캐시 적중률은 대략 85% ~ 95%
- 참조 지역성의 원리
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있음
- ex) 변수에 값을 저장하고 다시 접근하여 저장된 값을 사용하는 행위
- 시간 지역성 : 최근에 접근했던 메모리 공간에 다시 접근하려는 경향
- CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있음
- 프로그램은 보통 관련 데이터들끼리 한데 모여있음
- 프로그램 내에서도 관련 있는 데이터들은 모여서 저장
- 공간 지역성 : 접근한 메모리 공간 근처를 접근하려는 경향
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있음
혼자 공부하는 컴퓨터구조 + 운영체제를 통해 진행한 스터디를 정리한 내용입니다.
문제가 될시에는 수정 혹은 삭제하겠습니다.
This post is licensed under CC BY 4.0 by the author.