컴퓨터 데이터 단위

컴퓨터는 전기 신호의 꺼짐(0)과 켜짐(1)만을 인식할 수 있으므로, 데이터를 표현할 때 2진법(Binary)을 사용합니다.
이 0과 1의 조합이 모여 더 큰 데이터를 이루며, 이를 효율적으로 다루기 위해 여러 크기의 단위로 구분합니다.

컴퓨터에서 데이터를 다룰 때 사용하는 기본 단위는 비트, 바이트, 워드입니다.
이러한 데이터 단위는 용량을 측정하는 개념을 넘어, 프로그래밍과 시스템 동작에도 직접적인 영향을 줍니다.
예를 들어, 변수의 크기와 포인터의 메모리 크기, CPU의 연산 효율, 메모리 주소 범위는 모두 이 단위들에 의해 결정됩니다.

비트

비트(Bit)는 컴퓨터가 데이터를 처리할 때 사용하는 가장 작은 단위로, 0 또는 1 두 가지 상태만 저장할 수 있습니다.

1비트는 0 또는 1, 총 2개($2^1$)의 정보를 표현할 수 있습니다.
2비트는 4개($2^2$), 3비트는 8개($2^3$), N비트는($2^N$)개의 정보를 표현할 수 있습니다.

비트는 단독으로는 작은 정보를 나타내기 때문에, 일반적으로 여러 비트를 묶어 더 큰 단위로 사용합니다.

바이트

바이트(Byte)는 8개의 비트가 모여 이루어진 데이터 단위입니다.
문자, 정수, 파일 크기, 메모리 용량 등 컴퓨터에서 다루는 기본 단위로 사용됩니다.

1바이트로 표현할 수 있는 정보의 수는 $2^8 = 256$가지로, $0 ~ 255$ 입니다.

1950 ~ 60년대 초창기 컴퓨터에서는 바이트 크기가 고정되지 않았습니다.
어떤 시스템은 6비트, 7비트, 9비트를 1바이트로 사용하기도 했습니다.

초창기 컴퓨터와 다르게 8비트가 표준으로 자리잡은 이유는 다음과 같습니다.

  1. 아스키(ASCII)문자 표현과의 호환성
    • 아스키는 7비트로 문자를 표현하지만, 패리티 비트나 확장 문자를 표현합니다.
  2. 2의 거듭제곱 구조로 하드웨어 설계가 단순하고 효율적
    • 메모리와 레지스터 설계시 최적화가 좋았습니다.
  3. 당시 CPU와 메모리 기술의 한계 및 비용 효율성
    • 8비트 레지스터 기반 CPU가 널리 사용되면서 표준으로 자리잡았습니다.

국제 표준(ISO, IEC)에서도 1바이트를 8비트로 정의하면서, 현대 대부분의 컴퓨터에서 이를 사용하고 있습니다.

워드

워드(Word)는 CPU가 한 번에 처리할 수 있는 데이터의 크기를 의미합니다.
CPU는 프로그램을 워드 단위로 읽고, 계산하고, 메모리와 주고받습니다.

CPU가 16비트 연산을 지원하면, 1워드는 16비트입니다.
32비트 CPU에서는 1워드가 32비트, 64비트 CPU에서는 1워드가 64비트입니다.

현대 컴퓨터의 워드 크기는 보통 32비트 또는 64비트이며, 이 값은 운영체제와 프로그램, 그리고 포인터 크기에 큰 영향을 미칩니다.

특히, 포인터 변수의 크기(메모리 주소를 저장하는 변수)는 CPU 아키텍처와 워드 크기에 따라 달라집니다.
하지만, 컴파일러 설정으로 크기를 조정할 수도 있습니다.

워드는 상황에 따라 더 작은 단위나 더 큰 단위로 확장됩니다.

  • 하프 워드(Half Word): 워드의 절반 크기
    • 16비트 CPU에서 8비트, 32비트 CPU에서 16비트
  • 더블 워드(Double Word): 워드의 두 배 크기
    • 32비트 CPU에서 64비트
  • 쿼드 워드(Quad Word): 워드의 4배 크기
    • 일부 아키텍처에서 사용

ComputerScience 카테고리 내 다른 글 보러가기

댓글남기기