6.1 RAM의 특징과 종류
RAM의 특징
RAM은 실행할 프로그램의 명령어와 데이터가 저장된다.
RAM은 전원을 공급하지 않으면 RAM에 저장된 명령어와 데이터가 사라진다. 이를 휘발성 저장 장치(Volatile Memory)라 한다.
하드 디스크, SSD 등 보조기억장치를 비휘발성 저장 장치(non-Volatile Memory)라 한다.
일반적으로 보조기억장치인 비휘발성 저장 장치에는 보관할 대상을 저장하고, 휘발성 저장 장치인 RAM은 실행할 대상을 저장한다.
RAM의 용량과 성능
RAM의 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리하다.
RAM의 종류
1. DRAM
DRAM은 Dynamic RAM의 준말이다. DRAM은 저장된 데이터가 동적으로 사라지는 RAM을 의미하는데, 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화 해야 한다. 이런 단점에도 불구하고 우리는 DRAM을 자주 사용하는데, 소비 전력이 비교적 낮고 저렴하고 집적도가 높기 때문이다.
2. SRAM
SRAM은 Static RAM의 준말이다. 시간이 지나면 저장된 내용이 소실되는 DRAM과 다르게 SRAM은 시간이 지나도 저장된 데이터가 사라지지 않는다. 주기적으로 재활성화할 필요가 없기 때문에, SRAM은 DRAM보다 속도가 빠르다.
하지만, SRAM은 DRAM보다 집적도가 낮고, 소비전력도 크며, 가격이 비싸기 때문에, 일반적인 RAM은 DRAM을 사용한다. 하지만 대용량으로 만들 필요가 없고, 속도가 빨라야 하는 저장 장치인 캐쉬 메모리에서 SRAM을 주로 사용된다.
3. SDRAM
SDRAM(Synchronous Dynamic RAM)은 클럭 신호와 동기화된, 발전된 형태의 DRAM이다. SDRAM은 클럭에 맞춰 동작하여 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM이다
4. DDR SDRAM
DDR SDRAM(Double Data Rate SDRAM)은 대역폭(data rate : 데이터를 주고받는 길의 너비)을 넓혀 속도를 빠르게 만든 SDRAM이다. SDRAM(Single Data Rate SDRAM)은 한 클럭당 하나의 데이터를 주고 받지만, DDR SDRAM은 한 클럭당 두 번씩 CPU와 데이터를 주고받는다.
6.2 메모리의 주소 공간
물리 주소와 논리 주소
물리 주소는 메모리 하드웨어가 사용하는 주소이고, 논리 주소는 CPU와 실행 중인 프로그램이 사용하는 주소이다.
논리 주소와 물리 주소 간의 변환은 메모리 관리 장치 (MMU: Memory Management Unit)라는 하드웨어에 의해 수행된다.
베이스 레지스터는 프로그램의 가장 작은 물리 주소, 즉 프로그램의 첫 물리 주소를 저장하는 셈이고, 논리 주소는 프로그램의 시작점으로부터 떨어진 거리인 셈이다.
메모리 보호 기법
다른 프로그램의 영역을 침범할 수 있는 명령어는 위험하기 때문에 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호할 방법이 필요하다. 이는 한계 레지스터(Limit Register)라는 레지스터가 담당한다.
프로그램의 물리 주소 범위는 베이스 레지스터 값 이상 베이스 레지스터 값 + 한계 레지스터 값 미만이다.
만약 CPU가 한계 레지스터보다 높은 논리 주소에 접근하려고 하면 인터럽트(트랩)를 발생시켜 실행을 중단한다.
6.3 캐시 메모리
저장 장치 계층 구조
저장 장치는 일반적으로 아래와 같은 명제를 따른다.
1. CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.
2. 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.
저장 장치 계층 구조(Memory Hierarchy)는 각기 다른 용량과 성능의 저장 장치들을 계층화하여 표현한 구조이다.
캐시 메모리
캐시 메모리는 CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치다.
캐시 메모리는 코어와 가까운 순서대로 계층을 구성하는데, L1 캐시, L2 캐시는 코어 내부에, L3 캐시는 코어 외부에 위치해있다.
캐시 메모리 용량은 L1, L2, L3 순으로 커지고, 속도는 L3, L2, L1순으로 빠르며, 가격은 L3, L2, L1 순으로 비싸다.
참조 지역성 원리
보조기억장치는 전원이 꺼져도 기억할 대상을 저장하고, 메모리는 실행 중인 대상을 저장한다면, 캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 저장한다.
이 때, 자주 사용될 것으로 예측한 데이터가 실제로 들어 맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우 캐시 히트(Cache Hit)라 한다. 예측이 틀려 메모리에서 필요한 데이터를 가져오는 경우를 캐시 미스(Cache Miss)라 한다.
캐시 히트가 되는 비율을 캐시 적중률(Cache Hit Ratio)라 하며 캐시 적중률이 높으면 CPU의 메모리 접근 횟수를 줄일 수 있다.
캐시 메모리는 참조 지역성의 원리(locality of reference, principle of locality)라는 원칙에 따라 메모리로부터 가져올 데이터를 결정한다.
참조 지역성의 원리
1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경량이 있다. (시간 지역성)
2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다. (공간 지역성)
'📚CS > 혼자 공부하는 컴퓨터 구조 + 운영체제' 카테고리의 다른 글
[혼자 공부하는 컴퓨터 구조 + 운영체제] 5장. CPU 성능 향상 기법 (1) | 2024.06.28 |
---|---|
[혼자 공부하는 컴퓨터 구조 + 운영체제] 4장. CPU의 작동 원리 (1) | 2024.06.26 |
[혼자 공부하는 컴퓨터 구조 + 운영체제] 3장. 명령어 (0) | 2024.06.25 |
[혼자 공부하는 컴퓨터 구조 + 운영체제] 2장. 데이터 (0) | 2024.06.24 |
[혼자 공부하는 컴퓨터 구조 + 운영체제] 1장. 컴퓨터 구조 시작하기 (0) | 2024.06.24 |