CPU는 어떻게 작동할까?

전미혜·2023년 2월 28일
0

CPU는 트랜지스터라고 하는 반도체로 만들어져 있다.

트랜지스터

트랜지스터는 어떻게 작동할까?

전자가 한 개 적은 원소를 첨가한 반도체 P(positive)형 반도체와
전자가 한 개 많은 원소를 첨가한 반도체 N(negative)형 반도체를 접합해
PNP반도체 또는 NPN반도체를 만들수 있다.

이 반도체에 전압의 세기와 방향을 어떻게 주느냐의 따라
전류를 흐르게 할 수도, 흐르지 않게 할 수도 있다.
이런 방식으로 스위치 역할을 해주는 반도체를 트랜지스터라고한다.

트랜지스터를 이용하면 Logic Gate라고 불리는 논리회로를 만들 수 있다.

논리회로(logic Gate)

컴퓨터는 1과 0으로 이루어진 디지털 신호를 인식하는데
전류가 통하면 1, 통하지 않으면 0이 된다.
1과 0은 참과 거짓으로 표현하기도 한다.

1. AND 게이트

두 개의 트랜지스터가 모두 참일때 결과 값도 참이 되는 논리게이트를
AND 게이트라고 하고 이런 모양으로 추상화해서 사용한다.

2. OR 게이트

두 개의 트랜지스터중 하나라도 참일 때 결과 값도 참이 되는 논리게이트를 OR게이트 라고 하고 이런 모양으로 추상화해서 사용한다.

3. NOT 게이트

입출력 값을 서로 바꿔주는 논리게이트를 NOT게이트 라고 하고 이런 모양으로 추상화해서 사용한다.

4. XOR 게이트

OR게이트와 같지만 모든 입력이 참일 때 출력은 거짓이 되는 차이가 있다.
아래와 같이 추상화해서 사용한다.




이러한 논리회로를 이용하여 더하기게이트를 만들어보자

1과 0을 사용하는 컴퓨터는 2진수로 계산을 하게 된다.

1100+1010

출력 값은 올림수 두 가지로 나눌 수 있다.
두 개의 출력값이 생겼을때 회로를 어떻게 구성해야 할까?
먼저 입 출력 값을 논리표로 만들면 아래와 같다.

에 해당하는 값은 S
올림수는 C이다.

이렇게 만들어진 표를 회로로 구축해보자.
의 논리표를 보면 입력된 값에서 둘 중 하나만 참이면 참이고,
입력값 두개가 참일때 거짓이 되는 게이트는 XOR게이트와 같다.

올림수의 논리표는 입력 값이 모두 참일 때 참이 되는 AND게이트와 같다.

위와 같은 회로로 입력 값을 XOR게이트에 연결하여 합의 값을 도출하고
올림수는 AND게이트를 연결하여 계산하면 된다.

실제로 모든 수를 계산하는 데에는 훨씬 더 복잡하지만
이런 식으로 트랜지스터를 이용해서 논리회로를 구축한다는 것을 알수 있다.

ALU( 산술 논리 장치)

CPU에는 ALU라는 산술 논리 장치가 있다.
산술은 +와 -와 같은 산수를 계산하고
논리장치는 AND나 OR같은 논리를 연산하는 역할을 한다.



이러한 구조로 CPU는 Mosfet이라는 트랜지스터가 모여 논리게이트를 이루고 연산을 수행하고 있다.

profile
내 개발 인생의 Bootstrapping

0개의 댓글