이번에는 일반적으로 메모리라고 부르는 내부 기억장치에 대해 설명드리겠습니다.
기억장치의 데이터를 읽거나 쓰기 동작을 액세스(access)라고 합니다. 기억장치는 제조 공정과 구조에 따라 액세스 방법이 달라지는데 그 유형은 아래와 같습니다.
1. 순차적 액세스(sequential access)
말그대로 처음부터 순차적으로 액세스합니다. 이 방식의 예시로는 자기 테이프(magnetic tape)가 있습니다. 데이터는 레코드(record)라 불리는 단위로 구분되며 각 레코드별로 주소가 할당되어있습니다. 한 쪽으로 감겨있는 자기테이프의 특정 위치에 데이터를 쓰기 위해서는 그 위치까지 재생시켜 통과시켜야합니다. 즉, 특정 위치에 액세스하기 위해서는 시간이 걸립니다.
2. 직접 액세스(direct access)
데이터가 레코드 혹은 블록으로 구분지어져있습니다. 특정 블록 내의 특정 위치에 액세스를 하기위해서는 해당 블록의 처음 위치로 이동한 후 그 위치까지 순차적 액세스를 실행해야합니다. 직접 액세스를 사용하는 장치로는 CD-ROM, DVD등이 있습니다.
3. 임의 액세스(random access)
별도의 읽기/쓰기 회로가 존재합니다. 따라서 어떤 위치로든 바로 액세스할 수 있습니다. 특정 위치까지 이동하는 시간이 필요없고 어느 위치로 액세스하던지 같은 시간이 걸립니다. 반도체 기억장치들이 임의 액세스 방식을 사용합니다.
4. 액세스(associative access)
임의 액세스를 응용한 방식입니다. 다른점은 키(key)와 값(value)이 같이 저장되어있습니다. 임의 액세스가 주소를 통하여 액세스 하는것과 다르게 키를 이용하여 액세스합니다. 즉 액세스 요구에는 주소가 아닌 키의 비트 패턴이 포함되고 이를 데이터의 각 키와 비교하여 일치하는 곳으로 액세스합니다. 중요한 점은 키 값을 하나씩 순차적으로 비교하는 방식이 아닌 동시에 모든 키들과 비교하므로 액세스 시간이 소요되지 않는다는 점입니다.
1. 용량
저장할 수 있는 데이터의 총량(주소 지정단위[1word]의 저장공간의 나열)
2. 접근 속도
접근시간(읽기 쓰기 명령 도착 후 그에 대한 처리가 완료되기까지의 시간)
데이터 전송률(단위 시간동안 읽을 수 있는 비트 수)
3. 기억장치의 대역폭
한번에 전송할 수 있는 비트 수(=전송 단위) 내부기억장치 = 데이터 버스 선의 수, 외부기억장치 = 블록 수
4. 가격
사진처럼 위로 올라갈수록 속도는 빨라지지만, 용량이 작고 가격도 비싸집니다.
컴퓨터 내부에서 현재 CPU가 처리하고 있는 내용을 저장하고 있는 기억장치입니다. 비교적 용량이 크고 처리 속도가 빠릅니다. 주기억장치의 특징은 CPU의 명령에 의해 기억된 장소에 직접 접근하여 읽고 쓸 수 있습니다.
비휘발성 메모리인 ROM은 전원이 끊어져도 기록된 데이터들이 소멸되지 않습니다. 직역한 뜻과 같이 오직 기억된 데이터를 읽기만 가능한 장치입니다. 데이터를 저장한 후 반영구적으로 사용할 수 있습니다. 그래서 시스템에 기억시키고 변화시키면 안되는 BIOS와 같은 주요 데이터는 이 장치에 저장됩니다. 참고로 한 번 쓰게되면 수정이 불가능하다는 제한을 완화하기 위하여 이후 아래와 같은 ROM들이 추가적으로 개발되었습니다.
1. PROM(Programmable ROM)
제조 과정에서는 내용을 비워두며 사용자가 구입후에 필요한 데이터를 쓸 수 있습니다. ROM에 비해서는 융통성이 높지만 결국 한 번만 쓰기 가능하다는 점은 ROM과 같습니다.
2. EPROM(Erasable Programmable ROM)
내용 삭제가 가능합니다. 하지만 삭제를 위해서는 자외선이 필요합니다. 따라서 내용 삭제를 위해서는 메모리를 컴퓨터에서 분리해야합니다. 또한 일부 삭제는 불가능하고 ROM의 전체 내용 삭제만 가능합니다. 삭제하는데 수십분의 오랜 시간이 소요됩니다. 여러 번 삭제가 가능하다는 장점이 있습니다.
3. EEPROM(Electrically Erasable ROM)
EPROM과 다르게 전기적인 신호를 통해 내용을 삭제할 수 있으므로 메모리를 분리할 필요가 없습니다. 한 번에 바이트 단위의 수정이 가능하며 일반적으로 쓰기 횟수는 수만번 정도 가능합니다.
RAM은 ROM과 달리 읽고 쓰기가 가능하며, 응용 프로그램, 운영체제 등을 불러와 CPU가 작업할 수 있도록 하는 기억장치 입니다. 데이터를 읽는 속도와 기록하는 속도가 같고, 프로그램을 로딩하거나 데이터를 임시 저장할 때 사용됩니다. RAM은 휘발성 메모리로 전원이 끊어지면 데이터가 전부 지워집니다. 따라서 실행하고 있는 파일은 항상 보조기억장치에 저장해주어야 합니다.
1. DRAM(Dynamic RAM)
DRAM은 데이터 저장을 위해 커패시터(capacitor)를 사용합니다. 커패시터에 전하가 충전(charge)되어있으면 1, 아니면 0입니다. 커패시터는 시간이 지남에따라 방전되는 성질로 인해 재충전이 필요합니다.
2. SRAM(Static RAM)
SRAM은 데이터 저장을 위해 플립플롭(flip-flop)을 사용합니다. 따라서 데이터가 안정된 상태로 유지될 수 있으므로 재충전이 필요하지 않습니다.
보조기억장치는 물리적인 디스크가 연결되어 있는 기억장치 입니다. 주기억장치보다는 느리지만 컴퓨터의 전원을 끄더라도 저장된 데이터가 사라지지 ㅇ낳고 영구적으로 보관할 수 있는 장치입니다.
물리적인 디스크를 고속으로 회전시켜 데이터를 저장하는 장치입니다. 디스크에 물리적으로 저장하기 때문에 충격에 약하며, 소음이 다소 발생할 수 있습니다. 가장 대중적인 보조기억장치 였으나, 크기가 작고 처리 속도가 향상된 SSD가 나오면서 최근에 많이 소멸되는 상황입니다.
반도체 기반의 정보를 저장하는 기억장치 입니다. SSD는 물리적으로 데이터를 저장하지 않고 전기적으로 데이터를 저장하기 때문에 HDD에 비해서 속도가 원등히 빠르고, 소음도 발생하지 않습니다. 또한, 전력소모가 적고, 경량화, 소형화 할 수 있습니다. 그러나, HDD에 비해서는 아직 가격이 다소 높습니다.