컴퓨터의 원리, 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