CS 및 필요 지식

컴퓨터의 원리

hyecozy 2022. 8. 2. 18:34

컴퓨터란 명령을 하나씩 순서대로 수행하는 기계
어떤 명령을 어떤 순서로 할 것인지 설정한 게 프로그램
ㄴ이것을 적는 방법에 따라 언어가 달라짐

컴퓨터는 기본적으로 1, 0만 앎
근데 그림, 음악, 문자 등... 어떻게 그런 다양한 컨텐츠를 표현할 수 있을까?
답은 정해져있음. 1, 0으로 표현 가능!


모든 숫자는 이진수로 표현 가능하며 문자 또한 숫자로 표현이 가능.

 

아스키 코드 - 1byte(8bit = 2^8 = 256)로 문자를 표현

0에서 255개의 문자를 표현 가능

그러나 아스키코드의 한계는 세상의 다양한 언어를 표현할 수 없었음. 오로지 영어...

 

이때 한국어나 한자 등 다른 언어를 표현하기 위해 나온 것이 유니코드.

1~3byte, 일반적으로는 2byte로 표현 가능한 코드.

- 이미지
이미지는 각 픽셀의 색깔의 나열
색을 숫자로 어떻게 표현하는가가 관건.

R, G, B 각각 1byte씩 해서 0~255씩 설정하여 색을 표현할 수 있다. (ex. 255-255-255는 흰색)

거기에 추가로 A라는 요소도 있는데 이것은 투명도를 뜻함.

총 4byte로 컴퓨터는 하나의 색을 표현한다.

-소리
파장, 진폭을 숫자로 나타냄


-하드웨어

하드웨어가 돌아가는 원리는 요리에 비유할 수 있다

요리할 때 필요한 것을 생각해 보자

* 요리하는 사람 -> CPU

* 요리하는 방법이 적힌 레시피 -> 프로그램

* 재료를 구할 수 있는 마트 -> HDD (하드 디스크)

* 마트에 가기 위한 교통수단 -> 버스(실제 컴퓨터에서도 버스라고 함)

* 요리재료를 담아둔 냉장고 -> 메모리

* 요리하려고 딱 꺼내놓은 재료들 -> 캐시 (우리가 데이터를 갖다 쓸 때 보통 쓰던 데이터를 계속 쓰는 경우가 많으니까! 용량은 4K)

* 요리할 때 필요한 것들을 준비하는 보조자 or 도마 -> 레지스터 (실제 연산이 들어갈 때 값을 준비시켜놓는 것이 레지스터

암튼 전반적인 보조를 해주는 애)

하드웨어는 대강 이런 그림으로 돌아가며, 프로그램 입장에서는 재료를 위해 HDD...마트까지 가는 것보다 메모리에서 읽는 것이 빠르고, 그것보다는 캐시에 있는 데이터를 읽는 것이 효율적임


+컴퓨터 성능 3GHZ 의 의미 : 초당 3 * 1024 * 1024 * 1024의 연산을 할 수 있다는 뜻