1. 메모리란 무엇인가?
- 메모리 또는 기억장치라 불리는 하드웨어는 CPU가 실행할 프로그램을 저장하는 곳이다.
- 메모리는 다음과 같이 분류된다.
▶ 주기억장치 (Main Memory Unit)
- RAM(휘발성)과 ROM(비휘발성)으로 구성된다.
- 일반적으로 '메모리' 라고 말하면 RAM을 지칭하는 것이다.
▶ 보조기억장치 (Auxiliary Memory Unit)
- 하드디스크, USB, CD-ROM 등을 지칭한다.
- ROM과 함께 전원이 차단되어도 데이터를 저장하는 기억장치
▶ 캐시 메모리 (Cache Memory)
- 전원이 차단되면 데이터가 사라진다. (= 휘발성)
- 주 기억장치와 CPU의 사이에 위치한 메모리
- 주 기억장치에서 실행할 프로그램의 일부분을 꺼내와서 CPU의 사용 직전에 보관하는 장소다.
- 자주 사용되는 코드, 데이터, 프로그램 등이 저장된다.
▶ 레지스터(Register)
- 전원이 차단되면 데이터가 사라진다. (= 휘발성)
- CPU의 연산에 사용되는 기억장치
- 기억용량이 가장 작지만 속도는 가장 빠르다.
2. 기억장치의 계층구조
- 기억장치간의 연결 구조를 알아보자.
- 각 기억장치는 연산속도가 다르다.
- 그러므로 Spool, Buffer, Cache를 이용하여 속도차이를 극복한다.
a) 스풀(Spool)
- 보조기억장치에서 주기억장치로 데이터를 적재하는(업로드) 과정에서 발생하는
- 속도 차이를 극복하기 위해서 사용된다.
- 보조기억장치(하드디스크)가 중재한다.
b) 버퍼(Buffer)
- 주기억장치에서 CPU로 데이터를 적재하는(업로드) 과정에서 발생하는
- 속도차이를 극복하기 위해서 사용된다.
- 주기억장치(메모리)가 중재한다.
c) 캐시(Cache)
- 버퍼(buffer)를 체계화하여 독립적으로 구성시킨 장치
d) 레지스터(Register)
- CPU 내부의 고속 기억장치로, CPU 동작 또는 연산에 필요한 내용을 기억한다.
- 캐시 메모리와 주기억장치를 직접 참조할 수 있다.
- 보조기억장치에는 접근이 불가하다.
2. 주기억장치 (Main Memory Unit)
- 주 기억장치는 CPU가 직접 접근할 수 있는 기억장치다.
- 현재 실행 및 수행되는 프로그램과 데이터를 저장하는 공간이다.
- 즉, 작업 책상과 같은 역할을 한다. (현재 작업하는 내용만 책상에 올려둔다.)
- 마더보드(motherboard)에 장착되어 있는 기억장치로, RAM과 ROM을 분류된다.
a) ROM(Read Only Memory)
- 전원이 차단되어도 계속 기억된다. (= 비휘발성)
- BIOS, CMOS, POST등을 저장하는데 사용된다.
a-1) ROM의 종류
▶ Mask ROM
- 제조과정에서 미리 내용을 기억시켜 놓아 사용자가 수정할 수 없는 ROM
- 세탁기, 밥솥, 전자렌지 등에서 사용되는 ROM이다.
▶ P ROM
- 특수한 프로그램을 사용하여 단 한번만 기록할 수 있다.
- 한번 기록한 이후에는 읽기만이 가능한 ROM이다.
▶ EP ROM
- 자외선을 이용하여 기록된 내용을 여러번 수정 및 기록할 수 있는 ROM
▶ EEP ROM
- 컴퓨터의 BIOS ROM을 새 버전으로 업그레이드 할 때 사용된다.
- ROM을 교환하지 않고 사용자 BIOS 업데이트 SW를 이용하여 업그레이드가 가능한 ROM이다.
b) RAM(Random Access Memory)
- 전원이 차단되면 데이터가 사라진다. (= 휘발성)
- 자유롭게 기억된 내용을 읽고 쓸 수 있다.
b-1) RAM의 종류
▶ SRAM (Static RAM, 정적 메모리)
- 접근속도가 빨라서 캐시 메모리에서 사용되는 RAM
- 전원공급만 된다면 계속해서 데이터가 유지되는 메모리
- 전원이 차단되면 모든 데이터는 사라진다.
- 소비 전력이 많다.
▶ DRAM (Dynamic RAM, 동적 메모리)
- 주기억장치에서 사용되는 RAM
- 전원이 공급되더라도 주기적으로 재충전되어야 기억된 내용을 유지한다.
- 재충전이란 말은 배터리를 필요로 한다는 것이다.
- SRAM보다 더 많은 용량을 기억할 수 있다.
- 전원이 차단되면 모든 데이터는 사라진다.
3. 캐시 메모리 (Cache Memory)
a) 캐시 메모리란?
- 주기억장치는 CPU에 데이터를 적재할 때 발생하는 속도차이를 줄이기위해 Buffer를 사용한다.
- 이 Buffer를 독립적으로 구성시킨 장치가 캐시 메모리다.
b) 캐시 메모리를 사용하는 이유
- CPU는 주기억장치에서 적재되어 있는 프로그램 또는 데이터를 가져온다.
- 그러나 CPU가 주기억장치보다 처리속도가 훨씬 빠르기 때문에, CPU는 주기억장치를 기다리게 된다.
- 즉, 기다리는 시간동안 CPU 자원이 낭비되는 것이다.
- 이와 같은 이유로, CPU와 주기억장치 간의 속도차이를 상쇄하기 위해서 캐시 메모리를 사용한다.
c) 캐시 메모리의 역할
- 주기억장치에서 CPU에게 업로드할 데이터의 일부분을 캐시 메모리에 적재한다.
- 또는 자주 사용하는 데이터를 매번 주기억장치에서 가져오지 않도록, 캐시메모리에 저장한다.
- CPU와 주기억장치의 속도차이를 상쇄하기위해 거치는 중간 매개체, 중간 저장소라고 생각하자.
d) 캐시 메모리의 종류
▶ L2 캐시 메모리
- CPU와 주기억장치 사이에 위치한 캐시메모리를 지칭한다.
▶ L1 캐시 메모리
- CPU 내부에 위치하는 캐시 메모리다.
- L2 캐시 메모리보다 훨씬 빠른 속도를 갖는다.
4. 저장용량단위
- 참고하자.
'컴퓨터공학기초 개념 > 컴퓨터구조' 카테고리의 다른 글
25. 입출력 구조 - 시스템 BUS (2) | 2021.08.26 |
---|---|
24. 컴퓨터 구조 - 캐시메모리의 동작원리 (0) | 2021.08.25 |
22. 컴퓨터구조 - 파이프라인과 병렬처리 (0) | 2021.08.19 |
21. 컴퓨터 구조 - 소프트웨어 구조 (0) | 2021.08.17 |
20. 컴퓨터구조 - 프로그램과 프로그래밍 언어 (0) | 2021.08.17 |
댓글