컴퓨터 용량 단위

 

컴퓨터 용량 단위는 2진수를 사용해서 일반 단위하고는 차이가 있습니다. 얼추 비슷하게 이해할 수도 있지만 제대로 이해하려면 이것들을 쪼개서 한번 들여다 봐야 합니다. 1비트부터 보겠습니다.

1Bit (비트)

1비트는 0과 1의 이진수 단위(binary digit)입니다. 이진수는 0001, 1011 이렇게 0과1만으로 수를 표현하는데 0과1의 한자리를 1비트라고 합니다. 예를 들어 1000 은 4비트입니다. 그리고 0과1은 디지털에서는 수를 보는 방식이 조금 다른데 0이 하나, 1이 다른 하나의 개념입니다. 숫자 0은 없다는 zero의 개념이지만 디지털에서는 한쪽 상태를 말합니다. 전구의 예로 설명하는데 0은 전구가 꺼진 상태(off)이고 1은 전구가 켜진 상태(on)로 이 원리로 컴퓨터의 메모리에 이 세상의 모든 데이터를 저장할 수 있습니다.

 

1비트는 가장 작은 컴퓨터 저장 단위입니다. PC소프트웨어에서 비트를 표기할 때는 소문자 b를 많이 쓰는데 0b0000 0101 요런식으로도 씁니다. 근데 bit 단위를 쓰는 일이 흔치 않아서 컴퓨터 언어의 컴파일러에 따라 사용 방식이 조금씩 차이가 있습니다. 이진수는 그냥 이해하는 것도 충분합니다.

 

1Byte(바이트)

1바이트는 비트가 8개 모인 단위입니다. 바이트가 저장할 수 있는 숫자의 범위는 0000 0000 ~ 1111 1111 십진수로는 0부터 255까지 256가지입니다. 일반적으로 컴퓨터의 메모리는 바이트 단위로 조작합니다. 컴퓨터에서는 1Byte, 3000Byte 처럼 표기합니다.

 

1Kilo Byte(킬로바이트)

1킬로바이트는 바이트가 1024개 모인 것 입니다. 일반 단위에서는 킬로는 1000을 의미합니다. 1m가 1000개 모이면 1Km 지요? 1g이 1000개 모이면 1Kg인데 왜 컴퓨터의 단위는 1024개 일까요? 그것은 2진수의 단위 때문입니다. 2의10승은 1024로 1024 Byte = 1 KByte 입니다. 비트로는 1KByte = 1024Byte x 8bit = 8192bit 입니다.

 

파이썬에서 1024를 바이너리로 변환하면 0b100 0000 0000 으로 나오는데 0이 10개입니다. 즉 2진수에서 자리수를 10개 올리면 단위를 바꾸도록 약속한 것 입니다.

이진수 파이썬
파이썬 이진수

 

컴퓨터에서는 1KB, 340KB 처럼 표기합니다. 파일 탐색기의 크기에 나오지요. 이제 10KB의 파일의 용량이 비트로 얼마나 되는지도 알 수 있겠지요? 81,920bit 입니다.

 

TMI: 컴퓨터의 역사에서 KB는 1980년대 시절 PC의 초창기였습니다. 닌텐도에서 1985년에 출시해서  전세계에 히트한 슈퍼마리오 브라더스 1의 용량은 40KB 정도로 지금 PC시대에 비하면 매우 협소한 용량만으로도 게임 산업에 혁명을 일으켰다고 볼 수 있습니다. (물론 그때 컴퓨터 하드웨어와 지금은 천지차이다)

 

1Mega Byte(메가바이트)

킬로바이트와 같은 원리로 1메가바이트는 킬로바이트를 1024개 모아놓은 겁니다. 1MB = 1024KB

 

1MB를 bit로 변환하면 1024 x 1024 x 8 = 8,388,608 bit 입니다.

 

*90년대의 소프트웨어들의 크기가 대략 메가바이트 수준이었고 지금 사용하는 다수의 유틸리티 소프트웨어도 메가단위를 벗어나지 않습니다. 컴퓨터 소프트웨어는 단순히 용량이 크다고 좋은게 아니라 알고리즘, 코드의 최적화가 중요합니다. 메가단위의 소프트웨어로도 막강한 성능을 내는 소프트웨어들이 많습니다.

 

1Giga Byte (기가바이트)

기가바이트는 이제 쉽게 이해되겠지요. 메가바이트 1024개를 모아놓으면 1기가입니다. 1GB = 1024MB

 

*최근 PC장치에서는 메모리를 기가단위로 사용합니다. 파일 같은 경우 고화질 동영상 원본이나 인코딩한 콘텐츠 영상 등이 기가 용량을 사용합니다. PC게임 중에는 수기가에서 수십기가의 용량이 나가는 것들이 꽤 있습니다. 하드 디스크는 테라단위지만 메모리도 중요합니다. 기가단위의 게임을 돌리려면 메모리에 충분한 용량이 필요하겠지요.

 

참고로 필자의 PC에는 16GB 메모리가 달려있는데 인터넷 브라우저 두개 열고 프로그램 조금 쓰면 벌써 8GB가 넘어갑니다. 윈도우11 자체가 좀 메모리 리소스를 많이 먹는 운영체제이긴 합니다. (알고 쓰는 것임)

 

메모리 단위 기가

 

뭐... 이것도 비트로 계산하면 1024 x 1024 x 1024 x 8 = 8,589,934,592 bit 가 되겠네요.(약 85억 비트, 2의30승 x 8)

1 Tera Byte(테라 바이트)

테라바이트는 기가바이트 1024개입니다. 1024GB = 1TB (2의40승)

 

테라 용량은 하드디스크에서 볼 수 있지요. 요즘은 8테라, 4테라같이 대용량 SATA 하드가 인기가 있으니까요.

 

테라를 비트로 표현하면 0이 43개 나옵니다;;; 이걸 무슨 비트라 부르는 건지는 모르겠네요. 암튼 상당히 큰 숫자이다-고 알 수 있습니다. 테라 바이트라는 것은 1바이트를 이진수에서 0이 43개 나오는 개수만큼 저장할 수 있다는 겁니다. 1바이트는 256개의 범위 수를 저장할 수 있고 바이트 두개를 사용하면 16비트로 65536개 범위 숫자도 만들어 낼 수 있습니다. 32비트는 42억개... 이런 식으로 테라바이트란 공간을 채우는 것이 바로 컴퓨터에서 데이터를 저장하는 원리입니다.

 

파이썬 이진수

테라 그 다음은?

페타바이트(PB), 엑사바이트(EB), 제타바이트(ZB), 요타바이트(YB) 해서 2의80승까지 나갑니다. 테라 이상은 아직까지 일반인이 친숙한 단위는 아닌 것 같습니다. 뭐 하드웨어가 발전하면 페타, 엑사 등 더 고용량단위를 사용할 날도 오겠지요.

 

하드 디스크 용량 차이

하드 디스크를 샀는데 막상 PC에 연결한 후 보니 광고의 용량보다 많이 적어서 당황할 수 있습니다. 그 이유는 제조사에서 사용하는 단위는 2의10승(1024) 마다 바뀌는 게 아니라 10의3승(1000)으로 기준을 잡기 때문입니다. 그러니까,

 

1KB = 1000Byte

1MB = 1000KB

1GB = 1000MB

1TB = 1000GB

 

이런 기준에서 1TB는 바이트로 1,000,000,000,000 즉 1조입니다. 그런데 2의 40승은 1,099,511,627,776 으로 제조사 기준이 99,511,627,776 바이트가 작습니다. (약 92GB) 하드디스크 제조사 마다 차이가 있겠지만 1테라에 90GB이라는 것은 꽤 큰 차이기 때문에 우리가 하드를 새로 사서 인식시킬 때 체감적으로 좀 차이가 쎄네- 하고 느낄 수 있는 겁니다. (그리고 이것은 반복된다)

 

1Gb(기가비트)의 용량 SATA 속도

 

 

하드디스크의 전송 인터페이스를 이야기할 때 SATA 1, 2, 3의 규격이 있습니다. 전송속도의 차이인데요. SATA 1은 1.5Gb/s 러 1초에 전송가능한 용량이 1.5기가 비트라는 뜻입니다. 최근 3규격은 6Gb/s로 최대 6기가비트까지 전송할 수 있다는 뜻 입니다. 전송이란 하드 디스크에서 SATA케이블로 메모리나 혹은 다른 저장장치(SSD)등으로 데이터를 보내는 것 입니다. 그런데 이 Gb/s 기가 비트란 전송량이 신경쓰입니다. 1GB는 알겠는데 1Gb는 또 뭔가? 제조사들이 또 일반 유저들에게 쉽게 알려주지 않는거지요.

 

제조사의 1G는 10의9승이니까 1Gb는 1,000,000,000 비트이고 바이트로 만들면 나누기 8을 하여 125,000,000가 됩니다. 이를 2의20승으로 나누면 대략 120MB가 나옵니다. 즉 1Gb/s는 120MB/s입니다. 그렇다면 SATA-3의 속도인 6Gb/s에는 6배인 720MB/s가 됩니다. 하드웨어 제조사 Western Digital(WD)의 공식 웹사이트를 보면 SATA 1은 150MB/s, 2는 300MB/s, 3은 600MB/s이 최대 처리량이고 실제 제품에서는 읽기 속도와 쓰기속도가 조금 더 낮게 나올 수 있다고 설명합니다.

 

필자의 경우 SSD와 SATA HDD를 함께 사용하는데 SSD는 초당 500MB도 전송가능했고 SATA HDD는 190~200MB가 괜찮은 전송량이었습니다.

 

예전에 벤치마크로 비교해놓은 포스트가 있네요

 

SSD 읽기/쓰기 속도 비교 M.2 SSD/ SATA SSD / SATA HDD - Samsung SSD 970 EVO 500GB

 

SSD 읽기/쓰기 속도 비교 M.2 SSD/ SATA SSD / SATA HDD - Samsung SSD 970 EVO 500GB

삼성 SSD 970 M.2(NVMe) EVO 삼성 SSD 970 EVO는 상당히 괜찮은 저장장치에 속합니다. 출시한지는 좀 시간이 흘렀지만 전통의 하드디스크와의 압도적인 속도차이는 그대로지요. 마음 같아서는 모든 하드

digiconfactory.tistory.com

참고링크

위키백과 테라바이트

공유하기

facebook twitter kakaoTalk kakaostory naver band