상식 문제에도 많이 나오는 것이 비트, 바이트다. 일상생활에서도 인터넷 속도가 몇메가 바이트니 메모리가 몇 기가
바이트니 하는 말들은 일상용어로 사용될 정도다. 그런데 이게 정말 뭔지 아는 사람은 드물다.
위키피디아(wikipedia.org)의 정의에 의하면 비트는
A bit is a binary digit, taking a value of
either 0 or 1. For example, the number 10010111 is 8 bits long, or in most
cases, one modern PC byte. Binary digits are a basic
unit of information storage and communication
in digital computing and digital information
theory.
라고 되어 있다. 정보저장, 통신, 디지털 계산, 디지털 정보 이론의 기본단위이며, 0 또는 1로 구성되는 2진
단위라는 뜻이다. 바이너리(binary) 이말도 한글로 이진이라는 말보다 더 많이 쓰여지는 말이다. 어쨋든 bit는 0과 1의 값만을 가지는
이진수의 특성을 가진다는 것이다.
왜 0, 1 밖에 없는 것이 컴퓨터의 기본단위가 되었을까? 컴퓨터란 기본적으로 전기로 움직이는 기기이다. 결국 이
전기를 이용하여 컴퓨터는 뭔가를 저장해야 하는데 어떻게 저장할까? 전기를 정확하게 볼트(voltage)로 저장할 수 있다면 1볼트, 2볼트
이렇게 해서 10볼트까지 저장하고 이를 10진수로 활용하면 어떨까? 가능한 이야기다. 그러나 이는 전기적으로 매우 어려운 방법이다. 이 구체적인
전기원리까지 알 필요는 없다. 전기를 간단히 저장하여 다시 값을 되찾을 수 있는 방법을 많은 전기기술자들이 연구 했고 결과적으로 전기가 있다,
없다에 해당하는 두가지 상태만을 저장하는 것이 가장 간단하고 효율적이라는 것을 알게 되었다. 즉 저장을 할수 있으되 상태가 두가지 밖에 없으므로
그 두가지 상태를 0, 1로 부르고 이 0,1을 저장하는 한단위 장치 또는 그 논리적 단위를 비트라 부르는 것이다.
저장을 0, 1로 밖에 할수 없다 보니 이진수와 컴퓨터는 뗄래야 뗄수 없는 관계가 되었다. 모든 저장의 단위가
비트이다 보니 계산도 비트가 단위가 되고 되고 컴퓨터는 2진수를 저장하고 계산하는 기계가 된 것이다.
수학의 원리에 의하면 그것이 2진수이든 10진수이든 표현의 문제일뿐 실상은 같은데 그것이 컴퓨터기초를 이해하는데
도데체 왜 중요할까? 그것은 지금부터 이야기할 저장의 문제와 관련이 된다.
저장의 목적은 나중에 필요할때 저장할때의 그상태로 다시 찾기 위함이다. 그렇게 하기 위해서는 저장해두는 장소를
표시하는 방법이 필요한데 컴퓨터에서는 이를 주소(address)라 부른다. 즉 모든 저장소는 자신을 지칭하는 번호가 있어야 하며 그 번호를
이용하여 값은 넣고 빼고 하는 것이다. 여기서 저장을 비트로 하는데 약간의 문제가 생긴다.
비트는 0 또는 1이라는 지극히 작은 단위밖에 저장을 못하는데 각 비트들 마다 주소를 다 주자니 주소의 길이(즉
주소를 지칭하는 숫자의 크기)가 너무 길어지는 것이다. 실생활에서 비교를 하자면 전국의 땅을 모두 제곱미터 단위로 모두 쪼개고 이 모두에다
번지수를 붙인다면 번지수가 얼마나 길어지겠는가? 이래서는 효율적으로 주소를 접근하기가 어려워진다.
그래서 컴퓨터 디자인을 처음한 사람들은 비트를 8개로 묶었다. 이를 바이트(byte)라 부른다. 그러므로 바이트가
나타내는 가장큰 숫자는 이진수로 11111111이며 가장 작은 숫자는
00000000이다. 이 이진수를 10진수로 바꿔보면 11111111=255, 00000000=0 이다. 그러므로
한바이트는 0에서 부터 255까지 숫자를 저장할 수 있다. 이렇게 한바이트를 저장하고 이에 주소를 부여하는 방식은 지금까지도 계속 사용되는
컴퓨터 메모리의 주소를 배정하는 방식이며 앞으로도 오랫동안 바뀌기 힘들 것이다. 너무나 많은 소프트웨어들이 이에 기초하고 있기 때문이다.
이러한 연유로 최초의 컴퓨터라 부를만한 대중화된 컴퓨터는 8비트 컴퓨터로 탄생했으며 몇비트 컴퓨터냐 하는 것은
저장된 메모리에서 데이터를 가져올때 몇 바이트씩 한번에 빼올수 있느냐(또는 몇바이트 단위로 계산을 하느냐)를 기준으로 부르게 되었다. 지금의
펜티엄PC는 대부분 32비트 컴퓨터라 부르는데 값을 저장하고 가져오고 계산하고 할때 기본적으로 4바이트 단위 즉 32비트 단위로 한다는 얘기다.
비트수가 높은 컴퓨터일수록 처리 속도가 빠른 이유가 여기에 있다. 간단하다. 한번에 많은 데이터를 가져오고 처리할 수 있으므로.
출처 : http://www.code99.net/tabid/791/Default.aspx
댓글 없음:
댓글 쓰기