메모리 컨트롤을 하기 위해 가장 먼저 알아야 하는 것이 바로 정보의 단위, 정보의 가장 최소 단위는 bit.
bit는 Binary digit의 약자다. 즉, 2진수라는 이야기다. 2진수는 0과 1 둘 중 하나로 구성된다. 보통 소프트웨어 엔지니어는 2진수의 0과 1을 이야기할 때 0이면 False, 1이면 True로 이해하고, 하드웨어 엔지니어는 0을 Low level, GND, 1을 High level 또는 3.3V, 1.8V, 5.0V 등 보드 동작전압 레벨로 이해하는 경우가 많은 것 같다.
Byte는 8개의 bit로 구성된다.
8개의 bit가 모여서 1Byte가 되고, 1Byte는 0부터 255까지 총 256개의 숫자를 표현할 수 있다. 그럼 1Byte가 왜 8bit일까? 이건 역사적인 이야기도 함께 다뤄야 하는데 간단히 설명하면 256개의 숫자로 영어 소문자, 대문자를 모두 표현할 수 있고 남는 공간에 특수문자 등을 표현할 수 있기 때문이다. 그리고 현대의 거의 대부분(사실 모든) CPU가 8bit를 1byte로 삼고 있기 때문이다. 1Byte를 왜 8bit로 삼았는지는.. 패스. 아무튼 1Byte는 28 = 256이다.
1 Kbyte는 1024Byte다. 응? kilo면.. 10의 3승 아닌가? 10의 3승이면 1000인데...? 컴퓨터가 자료를 처리하는 최소 단위는 bit로 bit는 0과 1로 구성된다. 즉, 2가지 숫자로 모든 데이터를 표현하는 2진수를 사용한다. 그렇기 때문에 2의 제곱을 사용하게 되었고 2의 승수 중 1000과 가장 가까운 숫자인 1024(210)을 1 Kbyte로 정의하게 되었다. 음 설명이 어렵다. 잘 이해했으면 좋겠다. 아무튼 1 Kbyte는 1024Byte다. Kbyte에 대한 설명은 아래 링크를 참고하기 바란다.
https://ko.wikipedia.org/wiki/%ED%82%AC%EB%A1%9C%EB%B0%94%EC%9D%B4%ED%8A%B8
여기까지 이해했다면, 다음부터는 간단하다. MByte는 220, GByte는 220, TByte는 230이다. 1024배씩 커진다고 생각하면 된다.
아! word를 깜빡했다.
word는 설명이 간단하니까 위키백과 링크로 대체하겠다. 간단히 설명하자면 CPU가 데이터를 처리하는 단위다. 우리가 CPU나 운영체제를 이야기할 때 "32bit짜리 CPU다.", "윈도우가 64bit짜리다"라고 이야기한다. 여기서 말하는 32bit, 64bit가 word다. 즉, CPU가 32bit면(주로 ARM) wordsms 4byte가 된다.
- 끝 -
'개발 관련 지식 및 Tool 사용방법' 카테고리의 다른 글
cache(캐시)란? MCU cache? (0) | 2022.09.20 |
---|---|
엑셀 파일 비교, 엑셀 시트 비교, excel spreadsheet compare (1) | 2022.09.19 |
이클립스 기반 IDE workspace 목록삭제하기, Eclipse workspace 목록삭제 (0) | 2022.08.20 |
티스토리에 수학공식 입력하기, MathJax (0) | 2022.08.07 |
FlatBuffers, Flatbuffers 듀토리얼? 플랫버퍼? 플랫버퍼 사용법 - 1 (2) | 2022.06.09 |