본문 바로가기

Lobo's study room/c lang.

컴퓨터와 비트

#computer

전자소자를 사용해서 만들어진 전자계산기.

이전에는 톱니바퀴를 사용해서 만들어짐!

 

전자의 속도는 빛의 속도와 같다.

 

기계적 계산기에서 전자소자를 사용함으로써 획기적인 기술의 변화가 나타나게 되었다.

 

최초로 개발된 전자소자는 진공관!(vacuum tube)은 에디슨에 의해 발명되었다.

 

진공관->트랜지스터->직접회로(Integrated Circuit)

 

최초의 컴퓨터 애니악 ENIAC은 진공관(약 18000개 사용)을 사용해서 만들었다.

 

트랜지스터를 올리는 정도에 따라.. very large scale / super very large scale....

 

트랜지스터가 나옴에따라 획기적인 기술의 변화가 나타남.

 

심지어 슈퍼 컴퓨터까지 가능...

 

#이미테이션 게임

영화 중 이미테이션 게임!

배경 2차 대전. 독일의 암호 애니그마의 암호를 해독한 영국의 수학자 앨런 튜닝(ALAN TURING)

조합이 너무 많아 사람의 손으로 풀어낼수없자 해독할 수 있는 계산기를 만들었다.

계산기의 이름은 영화에서는 학창시절  앨런튜닝이 좋아했지만 죽은 사람의 이름을 딴 '크리스토퍼'(동성애자)

하지만 실제 계산기의 이름은 콜로서스(신의 이름)

동성애자로서 보수적인 영국 사회 분위기에 의해 화학적 거세를 받고 자살했다고 한다.

 

1년에 한번 튜링 어워드를 줌!

 

#컴퓨터

사용자가 입력한 자료를 처리. 가공해서 사용자에게 의미있는 정보를 알려주는 장치를 컴퓨터라 한다.

자료는 명령과 실제 Data로 구성됨.

 

#컴퓨터 내부의 주요 장치

-컴퓨터가 이해할 수 있는 명령과 데이터는 무엇인가?

오늘날 쓰는 대부분의 컴퓨터는 디지털 컴퓨터!

 

디지털 컴퓨터에서 데이터를 어떻게 표현할 것인가?

 

이진수 사용.

 

#비트

비트(bit)는 Binary digit의 줄임말.(이진한자리숫자)

0과 1로 구성됨.

즉, 비트는 0과 1로 구성되는 이진한자리 숫자.

ex)1011은 4비트 : 이진한자리숫자가 4개 모여있으므로..

 

2비트의 경우 정보를 표현할 수 있는 개수는 4개가 된다.

00 01 10 11

 

3비트의 경우 정보를 표현할 수 있는 개수는 8개가 된다.

000 010 100 001 011 110 101 111

 

즉 비트의 자릿수가 1개씩 늘어날때마다 정보표현의 개수는 2배가 된다!

 

2의 8 승 = 256

2의 10승 = 1024

2의 16승 = 65536

2의 32승 = 약 42억

 

10진 한자리수를 표현하려면 총 10가지 .

3비트 8가지로 부족  4비트 16개로 / 10개는 사용 나머지 6개는 리저브.(예약)

 

알파벳대문자 표현하려면 총 26가지.

5비트면 32가지 / 26가지 사용 6개 리저브.

 

알파벳 대소문자 표현하려면  총 52가지.

6비트 필요.

 

알파벳 대소문자 + 숫자 10개까지 6비트로 표현 가능.

 

특수문자, escape... 7비트 정도 필요.

 

즉, 비트는 정보표현의 개수와 관련이 있다.

 

비트는 속도와는 상관이 없다.

따라서 16비트 컴퓨터든 32비트 컴퓨터든 속도는 비슷.. 다만 하드웨어 성능의 발전에 따른 속도향상일뿐.

 

4개의 비트를 묶어서 1니블(nibble) = 정보 표현의 개수 16개

8개의 비트를 묶어서 1바이트(byte) = 정보 표현의 개수 256개

 

1바이트가 있다면? 

1)ASC 코드에 의해서 영어 한문자

2)Byte machine

 

#바이트 머신

컴퓨터에서 메모리를 관리할 때에는 각각의 숫자 즉 주소값을 부여해서 메모리 관리

주소값의 사이즈는? 바이트

즉, 컴퓨터에서 메모리를 관리할때 바이트 단위로 주소를 붙여서 메모리를 관리하는데 이를 '바이트 머신'이라 한다!

 

포인터는 주소값을 저장하는 변수.

 

#마크원

터키라는 사람이 만듬. 

바이너리 디짓을 줄여서 비트라는 용어를 만들어냄.

 

 

 

'Lobo's study room > c lang.' 카테고리의 다른 글

ASC II 코드와 UNI-code  (0) 2022.04.11
부동소수점과 정규화  (0) 2022.04.11
부호 절대치 표현과 보수  (0) 2022.04.10
Queue, Circular Queue, Linked list  (0) 2022.02.14
C lang. 개발 환경 세팅  (0) 2022.01.14