메모리의 구조 (Memory Structure)

컴퓨터/프로그래밍 기초

728x90
반응형

 

먼저 보면 좋은 것
더보기

프로그래밍과 메모리

프로그래밍을 한다는 것은 컴퓨터의 하드웨어들을 활용하기 위한 작업 지침서입니다.

그리고 메모리는 이 작업 지침서의 정보를 관리하는 중요한 역할을 합니다.  계산을 하기 위해 CPU는 메모 리위에 올라와 있는 작업 지침서를 보고, 결과를 다시 메모리에 저장합니다. 사용자가 마우스, 키보드로 입력한 정보를 메모리에 저장합니다.  결국 메모리는 프로그램이 실행될 때 모든 정보들을 읽고 쓸 수 있는 공간의 역할을 합니다.

이 때문에 프로그래밍 또는 코딩을 하기위해서 메모리에서 데이터들이 어떻게 저장되고 분류되는지 알 필요가 있습니다.

 

 

메모리의 구조

하드웨어를 활용하기 위한 프로그램 즉 작업 지침서에의 내용을 구분하자면 계산과 처리를 하라는 지침이 있을 것이고, 그 결과를 어떤 형태로 저장을 해야 되는지의 지침이 있을 것입니다. 조금 더 효율로 메모리를 사용하기 위해 이러한 특성에  따른 종류별로 메모리의 구역을 지정하여 분류를 합니다. 

 

크게 위와 같은 구조로 되어있습니다. 나중에 조금더 자세히 알아보도록 하고 이 글에서는 크게 4가지 영역과 특성을 가지고 있어  프로그래머가 만든 프로그램은 메모리에 크게 4가지 영역에서 보관되고 쓰이게 됩니다. 

 

메모리의 공간 = 주소

메모리의 공간은 정보처리의 기초 단위인 1Byte씩으로 구성이 되어 있습니다. 그리고 공간에 어떤데이터가 어느 곳에 있는지 알기 위해서 차례대로 주소를 부여해 놨습니다. 프로그램을 하다 보면 많이 나오게 될 메모리의 주소가 바로 이 얘기입니다. 

여러 방법으로 메모리를 표현을 하는데 예를 들어 100Byte의 크기의 메모리가 있다면 1Byte짜리 100개로 구성이 되어있습니다. 

즉, 100개의 공간이 있다는 것입니다. 그리고 이 100개의 공간에 0과1로 된 컴퓨터의 언어로 다양한 데이터가 저장이 되는 것입니다. 예를 들어 10진수 100을 2진수 01100100으로 표현을 한 후 100개의 공간 중에 한 곳에 01100100 저장하는 것입니다. 만약 아래의 그림처럼 메모리의 6번 주소 1Byte에 10진수 10을 표현할 수도 있고 1번부터 4번 메모리 주소에 즉 4Byte에 10진수 10을 표현할 수도 있습니다. 

 

0번 1번 2번 3번 4번 5번 6번 7번 8번 9번
1Byte 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte
  0000 0000 0000
0000
0000
0000
0110
0100
  0110
0100
     

결국 메모리는 1Byte의 공간으로 이루어진 장소이며, 100Byte의 메모리라면, 100개의 공간이 있는 것 입니다. 어떠한 데이터를 읽고 저장하기 위해서는 메모리 주소 1번부터 4번까지의 공간에 10진수 10을 저장해라 하면 그 공간은 10을 저장한 공간이 되는 것입니다. 

 

요약

  • 메모리에 프로그램이 올라갈때는 그 안의 내용에 따라 분류를 하여 저장한다.
  • 메모리의 최소 단위는 1Byte이며 각각의 공간마다 경로, 즉 주소가 부여되어 있다.
  • 컴퓨터는 메모리에 올라와 있는 데이터를 읽기위해서 메모리의 주소로 접근하여 데이터를 읽는다.
  • 주소로 접근하여 데이터를 읽을 때, 1Byte씩만 읽는 것이 아니라 데이터의 크기와 정의에 따라 읽을 수 있다.

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :