본문 바로가기

프로그래밍/C Lang

C언어 강좌 :: 04. 메모리

이번 강좌에서는...


  • 데이터가 실제로 저장되는 메모리의 구조에 대해 알아봅시다.
  • 데이터는 어떻게 저장되는지 알아봅시다.
  • 데이터 저장 단위인 비트bit와 바이트byte를 알아봅시다.




기억공간, 메모리


메모(memory)란 컴퓨터를 구성하는 부품 중 하나이며 데이터의 기억을 담당합니다. 메모리는 실제로 아래와 같이 생겼습니다.

(아래 사진의 메모리는 삼성 메모리입니당 )




메모리는 1 혹은 0의 정보를 저장할 수 있는 (cell)이라는 공간이 무수히 많습니다. 이 공간에 데이터를 저장할 수 있기 때문에 memory라는 이름이 붙게 된 것입니다.




메모리의 구조


메모리 내부에는 1 혹은 0의 정보를 저장 할 수 있는 셀(cell)이라는 구조가 무수히 존재합니다. 메모리의 내부 구조를 그림으로 간단히 표현해보자면 아래와 같습니다.

작은 박스 하나하나가 셀입니다. 이 셀에는 1 혹은 0의 정보, 즉 2진수 정보(binary data)가 저장될 수 있습니다. 이러한 구조의 특성을 이용하여 컴퓨터는 특정 데이터를 이진수 형태로 메모리에 저장하여 기억하게 됩니다.




비트와 바이트


비트란 셀을 셀 때 사용되는 단위입니다. 예를 들어 5개의 셀은 5비트라고 불러야 합니다.

비트는 매우 작은 단위이기 때문에 컴퓨터는 데이터를 비트단위로 다루지 않습니다. 컴퓨터는 효율성을 위해 8비트씩 묶어 바이트단위로 데이터를 처리합니다. 8비트는 1바이트와 같습니다.




비트패턴


모든 데이터들은 고유한 비트패턴(bit pattern)을 갖게 됩니다. 예를 들어 20이라는 숫자를 메모리에 저장하려면 먼저 20이라는 숫자를 이진법으로 표현해야 합니다. 20을 이진법으로 표현하면 10100입니다. 이 데이터를 메모리에 저장하면 다음과 같을 것입니다.

20이라는 수는 이진수로 변환되어 10100이 되고 10100이라는 비트패턴을 갖게 됩니다.




모든 정보들은 이진수다!


컴퓨터 세계에서 다루어지는 모든 데이터들은 전부 이진수로 표현됩니다. 우리가 듣는 mp3 파일부터 jpg 확장자를 갖는 그림 파일까지 말이죠. 음악파일같은 경우에는 음성 데이터를 표현하기 위한 주파수 정보가 이진 데이터 형태로 표현되어 있을 것이고 사진파일같은 경우에는 각각의 픽셀의 색상값 정보가 이진 데이터 형태로 표현되어 있을 것입니다.( 물론 정보의 크기를 효율적으로 관리하기 위해 압축되어 있습니다 )



그렇다면 컴퓨터는 다양한 데이터들을 어떤 방법으로 구별할까요? 이 질문에 대한 답을 얻기 위해서는 다음 강의에서 배울 자료형을 이해해야 합니다. 모든 데이터에는 자료형이 부여되는데, 컴퓨터는 데이터의 자료형을 보고 어떤 방식으로 데이터를 해석할 것인지 정합니다.