본문 바로가기
컴퓨터 지식창고

컴퓨터 메모리의 동작원리와 과정

by 재미보장 2021. 12. 11.

일반적으로 메모리라고 하면 기억이라는 개념이다. 컴퓨터에서 말하는 메모리는 기억소자 즉 반도체를 의미한다. 반도체는 특성상 전류를 흐르게도 하고 흐르지 않게도 하는 특징이 있다. 이를 이용해서 임시적인 내용들을 기억하게 만드는 것이다. 이번포스팅에서는 컴퓨터 메모리의 동작원리에 대하여 자세히 알아보겠다.

메모리의 동작의 기본 개념

컴퓨터는 이진 1과 0으로 값을 저장하기 때문에 기억 소자는 상태가 ON인지 OFF인지 수준으로 기억을 하게 되는 것이다. 반도체 기억장치의 기본 요소는 기억 소자(memory cell)이다. 모든 반도체 기억 소자들이 갖는 공통적인 성질이 있다. 두 개의 안정된 상태를 갖는다.

 

1과 0이다. 상태를 세트할 수 있도록 쓰여질 수 있다. 상태를 감지할 수 있도록 읽혀질 수 있다. 쓰는 동작인 경우는 기억 소자의 상태를 1또는 0으로 만들어 준다는 의미이고 읽기 동작이라는 것은 그 소자가 갖는 현재 상태가 어떠한 상태인지를 알아오는 개념이다.

메모리의 동작원리 : 쓰기와 읽기

기억장소라는 개념에서 확장하면 저장 장소라는 개념의 하드디스크, CD/DVD, USB저장장치와 같은 보조 기억장치까지를 의미한다. 메모리가 이런 저장장치와의 차이는 휘발성이라는 특징이다. 시스템이 활성화 된 상태에서 그 값을 기억하고 있다가 다시 시스템의 shutdown과 함께 지워지게 된다. 그리고 저장/읽기 속도 면에서 현저하게 차이가 난다. CPU와 가장 가까이 있는 레지스터 메모리, 캐시 메모리, 주기억 장치, 보조기억 장치는 각각 아래와 같이 그 특성이 차이가 있다.

 

동작 메모리는 정보에 대해서 1 또는 0으로 저장이 되는데, 이 정보를 유지하기 위해서는 전기적으로 연속으로 재충전이 되어야 한다. 이를 메모리 리프래시라하고 메모리 타이밍이라고 한다. 메모리는 정보를 저장(write)하거나 저장된 정보를 읽기(read) 위하여 바둑판과 같이 열(raw, 가로 줄)과 행(column, 세로 줄)으로 구성된 matrix(행렬) 구조의 주소(address)를 가지고 있다.

 

이를 두고 CAS(Column Address Strobe)와 RAS(Row Address Strobe)라 부르는데 프로세서가 메모리에 있는 정보를 읽거나 메모리에 정보를 기록할 때는 먼저 가로줄에 신호(RAS)를 보내고 나서 세로줄에 신호(CAS)를 보내어 주소를 확인한다. 어떤 주소에 데이터가 들어 있는지 아니면 비어 있는 지는 CAS가 담당하며 CAS 신호가 없어지면 그 주소에 다시 새로운 정보를 저장한다.

메모리 동작 과정 : 구체적으로

메모리의 동작 과정은 다음과 같다

1) CPU가 메인보드 칩셋에 데이터를 요청하면 메인보드 칩셋은 그 데이터가 있는 곳의 행(row, 가로줄) 주소를 메모리로 보낸다. 이것을 하는데는 각각 1 사이클(Hz)이 걸린다.

2) 행 주소가 메모리의 행 주소 버퍼로 들어오면 센스 앰프(sense amp)가 그 행에 들어있는 모든 셀을 읽어낸다. 이렇게 행 부분을 읽는 신호는 RAS(row address strobe, 행 주소 스트로브)라고 부르고, 읽는데 걸리는 시간은 RAS-to-CAS delay(RAS와 CAS 사이의 지연 시간)라고 한다. 이 과정은 2∼3 사이클이 걸린다.

3) 행 주소만으로는 필요한 데이터가 어디 있는지 알 수 없으니 이번에는 열(세로 줄) 주소를 받는다. 그러면 CAS(column address strobe, 열 주소 스트로브) 신호가 일어나 정확한 열을 찾아낸다. 이 때 걸리는 시간을 CAS latency(CAS 지연 시간)라고 한다. 이것을 하는데도 역시 2∼3 사이클이 걸린다.

4) 정확한 행과 열을 찾았으니 필요한 데이터를 찾은 셈이다. 메모리 셀에 있는 내용이 출력 버퍼(output buffer)로 옮겨진다. 이것을 하는데는 1 사이클이 걸린다.

5) 마지막으로 메인보드 칩셋이 출력 버퍼의 내용을 읽고 CPU로 전달한다. 이 때 각각 1 사이클씩 모두 2 사이클이 걸린다.

메모리의 속도와 메모리 엑세스 시간

메모리의 속도는 메모리가 CPU와 데이터를 주고 받는 시간을 말한다. 이를 엑세스라 부르며 단위는 ns(nano-secode) – 10억분의 1초로써 메모리 속도의 기준이 된다. 리프레시 시간 메모리는 일정 시간마다 재충전을 해줘야 하는데, 그렇지 않으면 정보는 사라지게 된다. 이 일정기간을 리프레시 시간이라고 한다. 이는 메모리에서 한번 읽고 나서 다시 읽을 수 있는 사이 시간을 말한다.

 

메모리 액세스 시간은 데이터를 읽어오라는 명령을 받고 데이터를 읽기 시작하기까지의 시간을 말한다. CPU에서 명령어를 처리할 때 명령어가 갖는 주소인 CAS,RAS 데이터를 보낸다. 그러면 CPU에 그 주소에 해당하는 값을 가져 오게 되는데 걸리는 시간이 엑세스 시간이다.

 

사이클 시간 사이클 시간은 메모리 작업이 완료와 동시에 대기 신호를 내놓은 후 다음 신호를 받을 준비가 되었다는 신호를 주기까지의 시간이다. 사이클 시간 = 메모리 엑세스 시간 + 리프레시 시간

 

연관정보 : 명령어 처리방식 설명

 

명령어 처리방식 RISC와 CISC의 기본개념과 비교

컴퓨터의 명령어 처리 방식에는 RISC와 CISC RISC(Reduced Instruction Set Computer)는 컴퓨터 내부적으로 사용하는 명령어 세트를 단순화 시켜서 처리하는 형태의 구조이다. 단순한 명령을 조합해서 하나의

gguljaem.tistory.com

 

댓글