티스토리 뷰

정보처리기사 2과목 전자계산기 구조 개념 정리 포스팅 중 마지막 포스팅으로 컴퓨터 기억장치들에 대해 정리해보겠습니다. 컴퓨터에서 기억장치는 없어서는 안 되는 가장 중요한 기관이라고 해도 손색이 없을 정도입니다.

 

컴퓨터가 명령을 수행할 때 대부분 기억장치를 통해 명령어가 저장되고 출력되며 중간값들은 임시로 저장되었다가 출력되는 작업을 반복하여 완수합니다. CPU와 명령어에 대해서는 이전 포스팅들을 통해 공부하였으므로, 마지막으로 모든 작업에 필수적인 장치인 기억장치에 대해 공부하도록 하겠습니다.

 

1. 기억장치의 일반적 특성

기억장치들이 공통적으로 가지고 있는 특성들에 대해 알아보겠습니다. 다양한 종류의 기억장치들이 가진 공통적 특성을 이해함으로써 기억장치란 무엇인가에 대해 개념을 잡아보기 위해서입니다.

기억 용량은 기억 장치를 말할 때 가장 먼저 확인하게되는 사항입니다. 기억 장치의 용량은 전문가가 아니라도 컴퓨터를 사용하는 누구나 가장 중요하게 생각하는 부분입니다. 그러나 기억 장치의 용량이 무조건 크다고 좋은 것은 아닙니다.

 

기억 장치의 용량은 사용 목적에 따라 성능/경비의 비율이 적은 것이 가장 이상적인 형태입니다. 즉 빠른 처리를 요하는 기억장치는 무조건 용량만 크다고 우리가 원하는 처리 속도를 구현할 수는 없습니다. 따라서 목적에 따라 최적의 용량을 가진 기억장치를 사용하는 것이 바람직합니다.


기억 장치의 용량 다음으로 기억 장치의 특성은 Access TimeCycle Time 개념을 통해 설명할 수 있습니다. Access Time이란 기억 장치에 읽기 요청이 발생한 시간에서 요구한 정보를 꺼내 사용될 때까지의 시간을 의미합니다. Access Time은 쓰인 특정 단위의 정보를 읽어내는 데 걸리는 시간으로써, 이 시간이 짧을수록 기억 장치의 성능이 높다는 것을 뜻합니다. 이때 정보의 단위는 Word(워드)를 사용합니다.  Access Time을 구하는 간단한 공식을 확인하면 쉽게 이해할 수 있습니다.

Access TIme = Seek Time + Latency Time(Search Time) + Transmission Time

기억 장치별 Access Time이 빠른 순서를 써보면, 가장 빠른것은 CPU 레지스터이고 그다음은 순서대로 Cache, RAM, ROM, 자기 코어, 자기 디스크, 자기 테이프입니다. CPU 레지스터에 대한 포스팅에서도 CPU 레지스터는 명령어를 처리하며 중간값들을 빠르게 저장하고 출력하는 기능을 반복적으로 수행한다고 설명하였습니다.

 

컴퓨터의 모든 제어 기능을 담당하는 CPU 기능 수행을 돕기위해 중앙처리장치의 레지스터는 가장 빠른 접근 속도를 갖고 있습니다. Cycle Time은 Access Time 보다 항상 크거나 같습니다. Cycle Time이란 기억장치에 읽기 신호를 보낸 후 또다시 읽기 신호를 보낼 수 있을 때까지의 시간을 뜻하므로 언제나 Access Time 보다 크거나 같은 것이라고 이해하면 간단합니다.

다음으로 기억 장치는 일반적으로 대역폭 또는 전송률(Bandwidth)라는 특성이 중요합니다. 대역폭이란 간단히 말해 기억 장치의 처리 속도를 나타내는 단위라고 보시면 됩니다. 즉 기억 장치로 들어오고 나가는데 1초 동안 전송되는 최대한의 정보량을 말해주는 특성입니다.

 

또한 대역폭은 기억 장치의 하드웨어적인 특성으로 인해 주기억장치가 제공할 수 있는 정보 전달 능력의 최대 한계점을 의미합니다. 이러한 대역폭은 기억 장치의 워드의 길이와 반비례 관계를 갖습니다. 기억 장치의 워드의 길이가 작을수록 대역폭이 좋다는 특징을 보입니다. 

2. ROM(Read Only Memory)과 RAM(Random Access Memory)

메모리에 대해 이야기 할 때 빠질 수 없는 것이 바로 ROM과 RAM입니다. 이름도 비슷하여 두 개념을 구분하는 문제가 시험에서도 자주 다뤄지고 있습니다. ROM은 Read Only Memory로써 말 그대로 기억된 내용을 읽는 것만 가능한 기억 장치입니다.

기억 저장된 내용을 읽어내는 것만 가능하고 쓰는 것은 불가능합니다.

이러한 ROM은 실제로 주기억장치로 사용되기보다는 입·출력 시스템이나 자가 진단 프로그램과 같이 변경할 가능성이 높지 않은 시스템 소프트웨어에 사용됩니다. 또한 ROM은 컴퓨터의 전원이 꺼져도 기억된 내용이 지워지지 않는 비휘발성 메모리라는 특징을 갖고 있습니다.

 

ROM의 종류로는 Mask ROM, PROM(Programmable ROM), EPROM(Erasable PROM), EAROM(Erasable Alterable ROM), EEPROM(Electronic EPROM)가 있습니다. 복잡해 보이지만 결국 ROM이 변경 가능성에 따라 구분되는 것들입니다.

Mask ROM은 공장에서 제조하면서 프로그램된 ROM으로 사용자가 변경할 수 없습니다. PROM은 특수 장치를 사용하여 비어있는 ROM에 사용자가 딱 한 번만 내용을 기입할 수 있고, 그 후에는 읽기만 가능한 장치입니다. EPROM은 PROM을 자외선을 사용해 내용을 지울 수도 있고 다시 기록도 할 수 있는 장치입니다. 여러 번 지우거나 기록하는 작업을 할 수 있는 ROM입니다.

EAROM은 말그대로 전기적인 원리로 내용의 일부분을 변경할 수 있는 ROM입니다. EEPROM은 EPROM 앞에 Electronic이 붙은 형태로 전기적인 원리로 내용을 지우거나 다시 기록하는 작업을 반복할 수 있는 ROM을 말합니다.

 

이와 대응하는 개념인 RAMRandom Access Memory로 다른 표현으로는 RWM(Read Write Memory)라고도 합니다.

즉 ROM과는 달리 얼마든지 읽고 다시 쓸 수 있는 기억장치입니다. 보통 주기억장치에는 ROM이 아닌 RAM이 사용되며, RAM에는 현재 실행 중인 프로그램이나 데이터가 저장되어 있습니다. 이러한 RAM은 컴퓨터의 전원이 꺼지면 기억된 내용이 사라지는 휘발성(volatile) 기억 장치입니다. 

RAM의 종류는 크게 동적 램(DRAM)과 정적 램(SRAM)으로 구분할 수 있습니다.

동적 램은 전원이 공급되고있는공급되고 있는 상태에서도 일정 시간이 지나면 전하가 방전되어 주기적인 재충전이 필요한 장치이고, 정적 램은 이와 반대로 전원이 공급되고 있는 동안에는 기억된 내용이 재충전할 필요 없이 유지되는 기억 장치입니다.

구별되는 특징을 가진 동적 램과 정적 램은 서로 다른 기능을 담당하고 있습니다.

동적 램은 정적 램에 비해 전력 소모가 적고 접근 속도가 느리다는 특징으로 인해 보통 주기억장치에 사용되고 있습니다. 

반면 정적 램은 플립플롭의 형태로 구성되어 있으며, 전력 소모가 많은 대신 접근 속도가 빠르다는 특징을 가지고 있어 보통 캐시 메모리에 사용됩니다. 캐시 메모리(Cache Memory)는 CPU의 속도와 기억장치의 속도 차이를 줄이기 위해 사용되는 고속 Buffer Memory로써, 주기억장치와 CPU 사이에 위치합니다.

 

캐시 메모리는 정보 처리의 속도가 CPU의 레지스터와 맞먹을 정도로 메모리 중에서 가장 빠른 소자입니다. 캐시 메모리를 사용하면 데이터를 불러올 때마다 기억 장치까지 접근하지 않아도 되므로 기억 장치에 접근하는 횟수가 줄어들게되므로 컴퓨터의 처리 속도가 향상되는 효과가 있습니다.

캐시 메모리에 접근할 때 원하는 정보나 명령어가 캐시 메모리에 존재하고 있을 경우 적중(Hit)되었다는 표현을 쓰며, 존재하지 않을 경우 실패했다고 표현합니다. 이를 통해 캐시 메모리의 적중률을 구할 수 있습니다. 

 

캐시 메모리 적중률 = 적중 횟수 / 총 접근 횟수

캐시 메모리 주기억장치와 CPU 사이에 위치하여 컴퓨터의 처리 속도를 높여 준다고 하였습니다. 이 때 주기억장치로부터 캐시 메모리를 전송하는 방법을 의미하는 용어로 매핑 프로세스(Mapping Process)가 있습니다.

매핑 프로세스의 종류로는 직접 매핑(Direct Mapping), 어소시에이티브 매핑(Associative Mapping), 세트-어소시에이티브 매핑(Set-Associative Mapping)이 있습니다.

캐시 메모리에 변경 사항이 발생한 경우 변경 사항을 주기억장치에도 반영하기 위한 방법을 결정하는 것을 일컫는 용어를 쓰기 정책이라고 부릅니다. 쓰기 정책에 따라 캐시 메모리의 수정된 내용을 주기억장치에 반영하는 시기와 방법이 달라집니다.

 

쓰기 정책은 크게 Write-Through, Write-Back, Write-Once가 있습니다. Write-Through는 말그대로 캐시에 쓰는 작업이 이루어질 때 동시에 주기억장치의 내용도 갱신하는 방식입니다. 동시에 수정이 반영되기 때문에 쓰는 작업에 걸리는 시간이 길다는 특징이 있습니다.

반면 Write-Back 방식은 캐시에 수정 작업이 이루어지는 동안에는 캐시의 내용만이 수정되고 캐시의 내용이 제거될 때 비로소 주기억장치에 복제되어 수정된 내용이 반영되게 됩니다. 마지막으로 Write-Once 방식은 말 그대로 캐시에 쓰기 작업이 발생할 때 딱 한 번만 기록한 뒤, 이후에는 모든 기록들을 무시하는 정책입니다.

3. 보조기억장치

데이터의 저장 기능을 수행하는 기억 장치 중 주기억장치와 구분되는 보조기억장치가 있습니다.

보조기억장치는 주기억장치에 비해 속도가 느리지만 저장 용량이 크다는 특징을 가지고 있습니다.

또한 컴퓨터 장치의 전원이 차단되어도 내용이 그대로 유지되는 비휘발성 기억장치입니다.

CPU와는 직접적인 자료 교환이 불가능하며, 주기억장치에 데이터를 저장할 경우에는 DMA 방식을 이용하여 저장합니다. 

보조기억장치의 종류로는 자기 테이프와 자기 디스크(Magnetic Disk)가 있습니다.

자기 테이프는 가격이 저렴한 대용량 저장 매체이며 컴퓨터 백업용으로 주로 사용되고 있습니다.

트랙별로 1비트를 저장하므로 동시에 9비트까지 읽거나 쓸 수 있습니다.

자기 테이프는 순차 처리만 할 수 있는 순차 접근 저장 매체(Sequential Access Storage Device)입니다.

자기 디스크는 속도가 느린 자기 테이프와 반대로 용량이 크면서 접근 속도도 빠른 보조기억장치입니다.

또한 데이터의 순차, 비순차 처리가 모두 가능한 직접 접근 저장 매체(Direct Access Storage Device)입니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday