Candidates should be able to:
• show understanding of the difference between: primary, secondary and off-line storage and provide examples of each, such as: primary: Read Only Memory (ROM) and Random Access Memory (RAM) secondary: hard disk drive (HDD) and Solid State Drive (SSD); off-line: Digital Versatile Disc (DVD), Compact Disc (CD), Blu-ray disc, USB flash memory and removable HDD
• describe the principles of operation of a range of types of storage device and media including magnetic, optical and solid state
• describe how these principles are applied to currently available storage solutions, such as SSDs, HDDs, USB flash memory, DVDs, CDs and Blu-ray discs
• calculate the storage requirement of a file
컴퓨터에서 사용되는 기억장치에 대해 알아보자.
여기서 배우는 내용 중 가장 중요한 것은 기억장치의 계층 구조와, 기억장치에서 데이터의 흐름이며 이 내용은 반드시 완전히 소화해야 한다.
이외에도 HDD등 저장장치의 원리도 이 글에서 다루었는데, 물론 이런 내용도 잘 이해할 수 있다면 좋겠지만, 이 내용을 받아들이느라 너무 힘을 들일 필요는 없다. 장치의 원리는 가볍게 읽어봐도 좋다.
1. 기억장치의 계층 구조
기억장치는 데이터, 프로그램, 연산의 중간 결과 등을 일시적 또는 영구적으로 저장하는 장치이다.
기억장치는 접근 속도, 용량, 용도 등에 따라 레지스터, 캐시, 주기억장치, 보조기억장치로 나뉜다.
- 레지스터: CPU 내부에 존재하는 기억장치이다. 접근 시간(Access time)이 CPU의 처리 속도와 비슷하다.
- 캐시 메모리: CPU가 주기억장치에 접근할 때 속도 차이를 줄이기 위해 사용된다. 실행 중인 프로그램의 명령어와 데이터를 저장한다.
- 주기억장치: CPU가 직접 데이터를 읽고 쓸 수 있는 기억장치이다.
- 보조기억장치: 주기억장치에 비해 접근 시간은 느리지만 용량이 크다. 접근 시간은 주기억장치보다 약 1,000배 정도 느리다.
접근 시간이 짧을수록 기억장치의 가격은 높아진다. 따라서 용량이 작지만 속도가 빠른 장치는 CPU에 직접 연결되어서 쓰이며, 용량은 크지만 속도가 느린 장치는 보조기억장치로 쓰인다.
메모리 계층 구조에서 위로 올라갈수록 접근 속도가 빠른 대신 용량이 작고 비싸다.
다음 그림은 기억장치에서 데이터의 흐름을 나타낸 것이다.
CPU는 보조기억장치에 직접 접근할 수 없으므로 보조기억장치에 저장된 프로그램을 실행하려면 프로그램과 데이터를 주기억장치로 옮겨야 한다. CPU가 주기억장치에서 프로그램과 데이터를 처음 가져올 때는 캐시 메모리로 가져온다.
예를 들어 워드프로세서 프로그램을 실행한다고 하자.
주기억장치는 보조기억장치에 저장된 워드프로세서 프로그램을 읽어들인다. 사용자가 문서 작업을 시작하면 CPU는 필요한 프로그램과 데이터를 주기억장치에서 가져와 작업을 한다.
이때, 자주 사용하는 프로그램과 데이터는 캐시 메모리로 가져온다. 그래야 접근 시간을 단축할 수 있기 때문이다.
2. 주기억장치
주기억장치는 CPU와 직접 데이터를 주고받을 수 있도록 내부 버스로 연결되어 있다.
초기에는 자기 코어가 주기억장치로 많이 사용되었지만 요즘에는 반도체 기억장치를 주로 사용한다.
대표적인 반도체 기억장치로는 램(RAM)과 롬(ROM)이 있다.
RAM | ROM |
Volatile – when we switch it off the contents are erased. | Non-Volatile – when we switch it off the contents are un-affected. |
Generally stores the information required for the Operating System, Data and Programs currently being used. | Holds the Data to operate the Computer, the Bootstrap. |
In Embedded Devices (like a washing machine) stores the Data for processing. | In Embedded Devices, the operational data is called the Firmware. |
Much smaller than RAM. |
램(RAM, Random Access Memory)
램은 전원 공급이 중단되면 저장된 정보가 모두 지워지는 휘발성 메모리이다.
램은 정보의 저장 위치에 관계없이 일정한 시간 내에 읽거나 쓸 수 있는 임의 접근(Random access) 기억장치이다.
램은 제조 기술에 따라 DRAM(Dynamic RAM)과 SRAM(Static RAM)으로 구분된다.
- DRAM
DRAM은 트랜지스터 내의 축전지에 충전된 전하를 이용해 정보를 저장한다.
축전지에 충전된 전하의 존재 유무를 0과 1로 구분한다. 축전지의 전하는 시간이 지나면 방전되기 때문에 주기적으로 충전(refresh)을 해야 한다.
가격이 저렴하고, 전력 소모가 적으며, 속도가 빠르고 집적도가 높다는 장점이 있다.
따라서 대용량 메모리로 적합하여 주기억장치로 사용된다.
- SRAM
SRAM은 flip-flop(1비트의 정보를 저장하는 전자회로로서 0 또는 1의 값을 가짐) 기억소자로 구성되며 전원이 공급되는 동안 정보가 계속 유지되므로 DRAM처럼 주기적으로 충전하지 않아도 된다.
SRAM은 DRAM에 비해 회로가 복잡하고 전력 소모가 많고 비싸다는 단점이 있지만
DRAM보다 속도가 빨라서 캐시 메모리에 주로 사용된다.
롬(ROM, Read Only Memory)
롬은 저장된 프로그램과 데이터를 읽기만 하는 기억장치로, 전원이 공급되지 않아도 데이터를 영구적으로 보존할 수 있는 비휘발성 메모리이다.
시스템 동작 중 변하지 않는 프로그램이나 데이터를 저장하는 데 주로 사용된다.
그리고 부팅을 할 때 시스템을 점검하고 주변장치를 초기화하는 데 쓰인다.
롬은 주로 입출력 시스템의 정보를 저장하는 BIOS(Basic Input Output System, 컴퓨터를 켰을 때 맨 처음 컴퓨터의 제어를 맡아 가장 기본적인 기능을 처리하는 프로그램이다)에 많이 쓰인다.
롬이 부팅에 어떻게 이용되는지는 1.3.6 Operating Systems에서 보다 자세히 다룰 것이다.
롬은 정보의 기록 횟수와 저장 방식에 따라 마스크롬(Mask ROM), PROM(Programmable ROM), EPROM(Erasable PROM), EEPROM(Electrically Erasable PROM)으로 나뉜다.
- Mask ROM: 공장에서 롬을 제작할 때 미리 정보를 기록해서 생산한다. 저장된 정보를 변경할 수 없다.
- PROM: 제조 과정에서 정보를 저장하지 않고, 사용가자 PROM Writer라는 장치를 이용해 정보를 한 번만 쓸 수 있다.
- EPROM: 사용자가 자외선을 이용해 저장된 정보를 지우고 새로운 정보를 기록할 수 있다.
- EEPROM: 전기적인 펄스를 이용해 저장된 정보를 지울 수 있다. EPROM 처럼 여러 번 쓸 수 있으며, EPROM과는 달리 부분적으로 데이터를 지울 수도 있다.
3 캐시 메모리
CPU의 발전으로 인해 주기억장치의 속도는 CPU의 속도를 따라갈 수 없게 되었다. 따라서 주기억장치로부터 프로그램이나 데이터를 가져오려면 많은 시간이 걸린다. 캐시 메모리는 CPU와 주기억장치 사이에서 이러한 성능 저하를 막아준다. 참고로 초기 캐시 메모리는 CPU와 주기억장치 사이에 독립적인 칩으로 존재했지만, 요즘에는 CPU 집적도가 높아지면서 CPU에 내장된 형태로 많이 나온다. 그래도 CPU와 주기억장치 '사이에서' 속도 차이를 보완한다는 캐시 메모리의 기능은 변함이 없다.
캐시 메모리는 주기억장치의 내용 중 일부만 저장한다. CPU는 주기억장치로부터 프로그램이나 데이터를 가져올 때 우선적으로 원하는 정보가 캐시 메모리에 있는지 검사한다. 만약 캐시 메모리에 있다면(이런 상황을 cache hit라고 한다) 거기에서 읽어오고, 캐시 메모리에 없다면(이런 상황을 cache miss라고 한다) 주기억장치에서 캐시 메모리로 저장한 후 읽어온다.
4 보조기억장치
주기억장치는 가격이 비싸고 용량이 제한적이다. 따라서 이를 보완하기 위해 접근 속도는 느리지만 가격이 저렴하고 용량이 큰 보조기억장치를 함께 사용한다. 말그대로 주기억장치를 '보조'하는 역할을 하는 장치이다.
보조기억장치는 CPU와 직접 데이터를 주고받을 수는 없지만 많은 프로그램과 데이터를 영구적으로 저장할 수 있다.
보조기억장치는 저장된 정보의 접근방식에 따라 순차 접근 기억장치(SASD, Sequential Access Storage Device)와 직접 접근 기억장치(DASD, Direct Access Storage Device)로 나뉜다.
- SASD: 저장된 정보를 순차적으로 읽거나 쓴다. 따라서 접근 시간이 길다. 대표적으로는 자기 테이프(Magnetic Tape)가 순차 접근 기억장치에 해당된다.
- DASD: 정보의 저장 위치에 관계없이 임의의 주소에 직접 접근 하여 정보를 읽고 쓸 수 있다. 대표적으로는 자기디스크(Magnetic Disk), 광디스크(CD-ROM, DVD), 플래시메모리 등이 직접 접근 기억장치에 해당된다.
자기테이프
자기디스크
자기디스크는 자성체(자기장에서 자화 - 자석의 성질을 갖게됨 - 하는 물질을 자성체라고 한다) 를 코팅한 원형의 플라스틱판 또는 금속판에 정보를 저장하는 기억장치이다. 자기테이프와 달리 순차 접근과 직접 접근이 가능하다.
위의 그림처럼 얇은 플라스틱판에 작은 용량의 정보를 저장하는 자기디스크를 플로피디스크(floppy disk)라고 하며, 오른쪽 그림처럼 금속판에 대용량의 정보를 저장하는 자기디스크를 하드디스크(hard disk)라고 한다.
아마 이 글을 읽을 사람들 중에는 플로피디스크를 태어나 한 번도 보지 못한 사람이 있을지도 모르겠다.
수능 국어 기출 문제를 풀어본 사람이라면 하드디스크의 작동 원리에 대해 어느정도 알고 있을 것이다.
내용이 기억나지 않는다면 다음 사이트를 참고바기 바란다. 특히 첫번째 사이트에서 매우 친절하게 설명을 해준다.
https://mamu2830.blogspot.com/2019/10/blog-post_14.html
광디스크(Optical Disk)
광디스크는 레이저광선을 이용해 원반 표면에 문서, 음성, 그림 등의 정보를 디지털 부호로 변환하여 기록하고 재생하는 기억장치이다. 레이저 기술의 발달과 함께 1980년대 초에 실용화되었다. 광디스크는 정보를 신속하게 읽을 수 있으며 대량의 정보를 저장하고 보존할 수 있다.
CD, DVD, Blu-ray등이 여기에 해당한다.
Blu-ray Disk는 적색 레이저는 사용하는 CD나 DVD와 달리 청색 레이저를 사용한다. 그래서 이름이 블루레이다.
Blu-ray는 High Definition 비디오를 저장할 수 있도록 만들어진 저장장치이다. 적색 레이저보다 파장이 짧은 청색 레이저를 사용하므로 DVD에 비해 더 많은 데이터를 저장할 수 있어 디지털 방송에 적합하다.
단층 사용 시 일반 영화는 13시간, HDTV 영상은 2시간 분량에 해당하는 25GB의 데이터 저장 능력이 있다.
복층 사용 시에는 두 배에 해당하는 50GB의 데이터를 저장할 수 있다.
앞서 말했듯이, 광디스크는 레이저 광선을 이용해 데이터를 기록하며, 데이터를 읽을 때에는 레이저 광선을 원반에 쏘아 알루미늄 원반에 기록된 데이터의 반사를 이용해 데이터를 재생한다.
플래시메모리(Flash Memory)
플래시메모리는 전력 소비가 적고 전원이 공급되지 않아도 저장된 정보가 보존되는 비휘발성 메모리이다.
플래시메모리는 USB, SD 메모리 카드 등에 쓰인다.
전기적인 처리로 저장된 정보를 지우는 것은 EEPROM과 유사하지만 한 번에 1바이트를 지우는 EEPROM과 달리 플래시 메모리는 블록 단위로 내용을 지운다.
플래시메모리는 저장 용량이 큰 데이터 저장형(NAND)과 처리 속도가 빠른 코드 저장용(NOR)로 구분된다.
NAND Flash의 작동 원리: https://yeonidoggi.tistory.com/38
NOR Flash 에 대한 간단한 정보: https://www.samsungsemiconstory.com/408
NOR Flash의 작동 원리: http://recipes.egloos.com/5276602
'Computer Science > IGCSE Computer Science' 카테고리의 다른 글
1.3.2 Computer architecture and the fetch-execute cycle 컴퓨터 구조와 명령어 사이클 (0) | 2020.04.02 |
---|---|
1.2.3 Internet principles of operation 인터넷의 작동 원리 (0) | 2020.03.25 |
1.2.2 Security aspects 컴퓨터 보안 (0) | 2020.03.25 |
1.5 Ethics 컴퓨터 윤리 (1) | 2020.03.18 |
1.1.3 Data storage 데이터는 컴퓨터에 어떻게 저장되는가 (0) | 2020.03.15 |