[컴퓨터 사이언스] 2. 메모리 8bit

문정준's avatar
Jan 30, 2025
[컴퓨터 사이언스] 2. 메모리 8bit
💻
컴퓨터 사이언스 (Computer Science)
컴퓨터를 다루기 위한 기초적인 배경 지식 2. 메모리 8bit
 
A와 B 사이에서 바이트 통신을 진행할 때, 컴퓨터 내의 CPU와 메모리가 관여합니다.
CPU는 값을 더하고, 빼고, 곱하고, 나누는 연산장치이며, 메모리는 값을 저장하는 저장 공간입니다.
 
notion image
 
메모리에는 1바이트의 문자를 저장할 수 있는 공간이 여러 개 존재합니다.
메모리 용량이 8바이트면 총 8개의 문자를 저장할 수 있는 것이죠.
흔히 컴퓨터에서 사용하는 8GB, 16GB의 메모리 용량은 다시 말해, 문자를 저장할 수 있는 공간이
80억 개, 160억 개가 존재한다는 의미입니다.
 
notion image
 
💡
데이터의 용량을 나타낼 때, 1000 (10의 3승) 단위에 맞추어 접두어를 표시합니다.
1000Byte는 1KB(킬로바이트), 1000KB는 1MB(메가바이트)
1000MB는 1GB(기가바이트), 1000GB는 1TB(테라바이트)로 나타냅니다.
 
16GB의 메모리에 문자를 저장할 때, 이를 사람이 직접 전부 관리할 수 없습니다.
어느 공간이 비어있고, 어느 공간이 사용 중인지 전부 확인할 수 없기 때문이죠.
이 역할은 운영체제(Operation System, OS)가 대신 역할을 수행합니다.
 
데이터를 저장할 때, 아무런 대책 없이 무작위로 데이터를 저장하게 되면 나중에 이를 찾을 때 시간이 매우 오래 걸리게 됩니다. 그래서, 메모리에 데이터를 저장할 때에는 인덱스(index)를 추가하여 저장 공간에 Random Access(무작위 접근)를 가능하게 합니다.
 
예를 들어, { a, b, c, d, e, f } 의 데이터를 저장해야 할 때, 인덱스가 없다면 이 데이터들을 저장하고 불러올 때에 시간이 오래 걸릴 것입니다. 어디에 저장되는지 알 수 없기 때문이죠.
메모리에 데이터를 저장할 때에는 { 0, 1, 2, 3, 4, 5 } 와 같이 각 데이터에 대응되는 꼬리표, 즉 인덱스를 표기하여 저장 위치를 표시해야 합니다. 이로 인해 데이터의 탐색 시간을 줄일 수 있고, 더욱 빠른 연산이 가능합니다.
 
CPU에는 레지스터(Register)라는 저장장치가 존재합니다.
레지스터는 CPU 바로 옆에서 연산을 도와주며, 메모리에서 필요한 데이터를 일부 가져와서 연산에 활용합니다.
이때, 레지스터가 1바이트씩 데이터를 불러오면 너무 연산 속도가 느리기에, 레지스터에서는 다수의 바이트를 한 번에 읽어오는데, 이를 버스(bus)라고 합니다.
4바이트(32bit)를 읽으면 32비트 버스, 8바이트(64bit)를 읽으면 64비트 버스라고 하며, 우리가 설치하는 OS의 종류에 따라 나뉘게 됩니다. 32비트 운영체제는 32비트 버스를, 64비트 운영체제는 64비트 버스를 사용하게 되는 것이죠.
레지스터를 흔히 캐시 메모리(Cache Memory)라고 하는데, 캐시의 범위는 상대적이므로 CPU가 레지스터를 이용할 수 없다면 RAM 또한 캐시 메모리가 될 수 있습니다.
 
💡
내용 정리
  1. 메모리는 1바이트 공간저장 공간의 모임이다.
  1. 각 메모리의 저장 공간은 대응되는 인덱스가 존재한다.
  1. CPU에는 레지스터가 존재하며, 64비트 컴퓨터는 8바이트씩 데이터를 읽어온다. 이를 64비트 버스라고 하며, 이때 레지스터의 크기는 8바이트(64비트) 이상이어야 한다.
 
Share article

sxias