1. RAM의 특징과 종류
1) RAM의 특징
- RAM
- 실행할 프로그램의 명령어와 데이터가 저장됨
- 휘발성 장치로 전원을 종료하면 RAM에 저장된 명령어와 데이터가 삭제됨
- 전원이 꺼져도 저장된 내용이 유지되는 장치는 비휘발성 장치로 ROM이나 보조기억장치가 해당
- 비휘발성 저장 장치에는 보관할 대상을 저장
- 휘발성 저장 장치에는 실행할 대상을 저장
- CPU가 실행하려는 프로그램이 보조기억장치에 있다면 이를 RAM으로 복사하여 저장한 뒤 실행
- 전원이 꺼져도 저장된 내용이 유지되는 장치는 비휘발성 장치로 ROM이나 보조기억장치가 해당
2) RAM의 용량과 성능
- RAM 용량이 적다면, 보조기억장치에 있는 실행하려는 프로그램을 RAM으로 복사하기까지 걸리는 시간이 길어짐


- RAM의 용량이 크다면 많은 프로그램을 동시에 실행하는 데에 유리
- RAM 용량이 커지면 프로그램 실행 속도가 어느 정도 증가하다 일정 수준 이상부터는 비례하지 않음
3) RAM의 종류
- DRAM(Dynamic RAM)
- 시간이 지나면 저장된 데이터가 사라지는 RAM
- DRAM을 사용할 때는 데이터의 소멸을 막기 위해 일정 주기로 데이터를 다시 저장해야함
- 소비 전력이 비교적 낮고, 저렴하고, 집적도가 높기 때문에 대용량 설계가 용이하여 가장 많이 사용됨
- 시간이 지나면 저장된 데이터가 사라지는 RAM
- SRAM(Static RAM)
- 시간이 지나면 점차 저장된 내용이 소실되는 DRAM과 달리 시간이 지나도 저장된 데이터가 사라지지 않음
- 주기적으로 데이터를 저장할 필요 X
- 일반적으로 SRAM은 DRAM보다 속도가 빠름
- DRAM보다 집적도가 낮고, 소비전력도 크고, 가격도 더 비싸서 캐시 메모리에 사용됨
- SDRAM(Synchronous Dynamic RAM)
- 클럭 신호와 동기화된 DRAM
- DRAM의 발전된 형태
- 클럭 타이밍에 맞춰 CPU와 정보를 주고받을 수 있음
- 클럭 신호와 동기화된 DRAM
- DDR SDRAM(Double Data Rate SDRAM)
- 최근에 가장 흔히 사용되는 RAM
- 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
- SDRAM보다 대역폭이 2배 넓음
- 전송속도가 SDRAM보다 두 배 가량 빠름

2. 메모리의 주소 공간
1) 물리 주소와 논리 주소
- 물리 주소(physical address)
- 정보가 실제로 저장된 메모리 하드웨어 상의 주소
- 메모리가 사용
- 논리 주소(logical address)
- 실행 중인 프로그램에게 부여된 0번지부터 시작된는 주소
- CPU와 실행 중인 프로그램이 사용
- 프로그램의 물리 주소는 알 필요가 없음
- 새로운 프로그램이 언제든지 적재되고, 실행되지 않는 프로그램은 메모리에서 사라지기 때문
- 새로운 프로그램이 언제든지 적재되고, 실행되지 않는 프로그램은 메모리에서 사라지기 때문
- CPU가 메모리와 상호작용하기 위해서는 논리 주소와 물리 주소 간의 변환이 이루어져야함
- CPU와 메모리는 서로 이해 불가능한 주소 체계를 사용하기 때문
- 논리 주소와 물리 주소 간의 변환은 CPU와 주소 버스 사이에 위치한 메모리 관리 장치에 의해 수행
- 메모리 관리 장치(MMU: Memory Management Unit)
- 논리 주소에 베이스 레지스터 값 더하여 물리 주소로 변환
- 논리 주소에 베이스 레지스터 값 더하여 물리 주소로 변환
- 베이스 레지스터
- 프로그램의 가장 작은 물리 주소
- 프로그램의 첫 물리 주소를 저장
- 논리 주소는 프로그램의 시작점으로부터 떨어진 거리
3) 메모리 보호 기법
- 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 검사함으로써 메모리 내의 프로그램을 보호
- 한계 레지스터(limit register)
- 실행 중인 프로그램 논리 주소의 최대 크기를 저장
- 프로그램의 물리 주소 범위
- 베이스 레지스터 값 이상
- 베이스 레지스터 값 + 한계 레지스터 값 미만
- CPU가 접근하려는 논리 주소는 한계 레지스터가 저장한 값보다 클 수 없음
- 프로그램의 범위에 벗어난 메모리 공간에 접근하는 것이기 때문
- 만약 한계 레지스터보다 높은 논리 주소에 접근하려고 하면 인터럽트를 발생시켜 실행을 중단함
- 실행 중인 프로그램의 독립적인 실행 공간을 확보하고, 하나의 프로그램이 다른 프로그램을 침범하지 못하게 보호함
3. 캐시 메모리
1) 저장 장치 계층 구조
- 저장 장치
- CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느림
- 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비쌈
- CPU와 얼마나 가까운가를 계층적으로 표현한 것이 저장 장치 계층 구조(memory hierarchy)
- 저장 장치 계층 구조는 각기 다른 용량과 성능의 저장 장치들을 계층화하여 표현한 구조
- 위로 올라갈 수록 CPU와 가깝고 용량은 작지만 빠른 저장 장치
2) 캐시 메모리
- 캐시 메모리(cache memory)
- CPU와 메모리 사이에 위치
- 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
- CPU 연산 속도와 메모리 접근 속도의 차이를 줄여줌
- 캐시 메모리에 CPU가 필요로 하는 데이터가 있다면 필요한 데이터로의 접근 시간을 줄일 수 있음
- 굳이 보조 저장 장치에 접근할 필요가 없기 때문
캐시 메모리를 반영한 저장 장치 계층 구조
- 굳이 보조 저장 장치에 접근할 필요가 없기 때문
- 캐시 메모리는 CPU(=코어)와 가까운 순서대로 계층을 구성

- L1 캐시
- 코어와 가장 가까운 캐시 메모리
- L2 캐시
- L1 캐시 다음으로 코어와 가까운 캐시 메모리
- L3 캐시
- L2 캐시 다음으로 코어와 가까운 캐시 메모리
- 일반적으로 L1 캐시와 L2 캐시는 CPU 내부에, L3 캐시는 외부에 위치
- 캐시 메모리 용량
- L1 < L2 < L3
- 속도
- L3 < L2 < L1
- 가격
- L3 < L2 < L1
- 데이터 검색
- L1 -> L2 -> L3
3) 참조 지역성 원리
- 캐시 메모리는 CPU가 사용할 법한 데이터를 예측하여 저장
- 데이터는 참조 지역성의 원리에 따라 메모리로부터 가져올 데이터를 결정
- 이때 자주 사용될 것으로 예측한 데이터가 실제로 CPU에서 활용될 경우 캐시 히트(cache hit)라고 함
- 반대의 경우, 캐시 미스(cache miss)

- 캐시 적중률(cache hit ratio)
- 캐시가 히트되는 비율
- 캐시 히트 횟수/(캐시 히트 횟수 + 캐시 미스 횟수)
- 참조 지역성의 원리(locality of reference)
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향 -> 시간 지역성(temporal locality)
- CPU는 최근에 접근했던 메모리 공간을 여러 번 다시 접근할 수 있음
- CPU는 접근한 메모리 공간 근처를 접근하려는 경향 -> 공간 지역성(spatial locality)
- 같은 프로그램은 메모리 내에 모여서 저장됨
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향 -> 시간 지역성(temporal locality)
'컴퓨터 구조 &운영체제 > 컴퓨터구조 + 운영체제' 카테고리의 다른 글
운영체제 (0) | 2024.02.15 |
---|---|
입출력장치 (0) | 2024.02.13 |
CPU 성능 향상 기법 (1) | 2024.02.06 |
CPU의 작동 원리 (0) | 2024.02.05 |
명령어 (0) | 2024.02.02 |