컴퓨터의 원리, Computer Principle
컴퓨터란 무엇인가
컴퓨터는 결국 명령을 하나씩 순서대로 수행하는 기계
여기서 각 의미를 찬찬히 뜯어보자.
명령 : ADD, SUB 등 사칙연산 (컴퓨터는 기본적으로 계산기임), JMP (명령어 수행 위치를 뛰어넘는 명령어), LOAD, WRITE 등
하나씩 : 하나의 코어는 하나씩 명령을 수행한다.
순서대로 : 프로그래밍 된 순서대로
수행하는 : 연산하는
결국 프로그램은 어떤 명령을 어떤 순서대로 수행할지 기술해놓은 것이라고 할 수 있다.
컴퓨터는 0과 1로 이루어져있다
컴퓨터는 기본적으로 계산기이고 0과 1밖에는 모른다.
그렇다면 문학, 그림, 음악, 소리 등 우리 삶에 존재하는 것들은 어떻게 컴퓨터에게 인식될 수 있을까?
놀랍게도 위의 것들은 모두 숫자로 표현이 가능하다.
코드화가 된다면 모두 숫자로 표현 가능하다!
ACS2코드, 유니코드
이미지(RGB)
소리
참고) ACS2 코드
256개 문자의 코드
1byte = 8bit
8bit 로 표현할 수 있는 수의 개수는 2^8 개 (=256개)
따라서 0-255 까지 256개
아스키 코드는 따라서 1byte 문자 코드라고 볼 수 있다.
개수가 256개로 한정되어있기 때문에 영문자밖에 표현이 안된다.
참고) 그래서 아스키코드를 보완하고자 등장한 것이 바로 UNICODE
보통 2byte로 표현, 1-3byte 까지도 표현
표현할 수 있는 문자의 개수가 훨씬 많아졌기에 한자, 한글 등도 다양하게 표현가능할 수 있게 되었다.
참고) RGB
이미지는 특정 크기로 존재한다. 예를 들어 1080p * 720p 라면, 1080개의 픽셀과 720개의 픽셀로 이루어져있다는 것을 의미힌다.
1픽셀은 R(레드), G(그린), B(블루)의 묶음으로 존재한다.
각각의 R, G, B는 0-255까지의 숫자로 그 정도가 표시될 수 있다.
RGB(255, 255, 255) = 흰색
RGB(0, 0, 0) = 검정색
R, G, B 뒤에 A까지 붙여 투명도를 표시하기도 한다.
요리하는 과정에 빗대어 본 컴퓨터의 원리
요리하는 과정으로 컴퓨터의 원리를 알 수 있다. 차근차근 살펴보자
먼저, 요리하는 사람인 나, 셰프가 존재한다. 컴퓨터에서 셰프는 곧 CPU가 된다.
요리를 하기 위해서는 해야할 것들이 적힌 레시피가 필요하다. 이것이 바로 명령어의 집합인 프로그램이다.
요리를 위해선 우선 재료를 마트에서 가져와야 한다. 마트는 멀기 때문에 버스를 타야한다. 이 마트가 곧 하드디스크 HDD가 된다.
실제로 하드디스크와 연결관 선을 BUS 라고 한다.
하드디스크를 읽는 과정은 시간이 많이 소요된다.
재료를 장봐오면, 우선 냉장고에 담아둘 것이다. 이 냉장고가 바로 메모리가 된다.
레시피에 맞춰 요리를 진행한다. 마늘과 고기를 다지라는 부분을 보고 냉장고에서 마늘과 고기를 가져와 조리대위에 둔다. 이것이 바로 캐시이다.
보통은 마늘과 고기, 그리고 그 주변의 것들을 덩어리째 가져온다. 보통 연산 과정에서 비슷한 곳에 있는 것들은 같이 자주 쓰이기 때문이다.
캐시는 보통 4kbyte 이다.
마늘을 다지기 전에 도마위에 올려둔다. 이때 도마가 바로 레지스터가 된다. 연산할 값을 딱 준비해두는 곳이다.
여기까지 되면, 셰프인 나는 그냥 요리만 하면 된다. 즉 CPU는 레지스터만을 바라보며, 레지스터에 의해 준비되는 대로만 연산하면 된다.
Last updated