[컴퓨터 기초] 디지털 회로와 덧셈

Robert.Yang·2023년 2월 20일
1

컴퓨터 기초

목록 보기
8/28
post-thumbnail

이 강좌는 널널한 개발자님의 강의를 기반으로 작성한 글입니다.

디지털 회로와 덧셈

디지털 회로

디지털 회로를 우리가 왜 배울까? 뭐 면접에도 나오기도 하고 각 종 시험에서 나오기도 하지만 근본적인 이유는 바로 CPU를 제작하기 위해서이다. 여기서 의문이 드는게 그럼 CPU는 왜 우리가 만들어야 할까? 이미 대기업에서 만들어진 CPU를 잘 사용하면 된다. 하지만 이것이 어떻게 만들어지고 동작이 되는지는 알고 쓰면 더 좋기 때문이며 그게 근간하는 내용이 디지털 회로이다. 아래의 그림은 각 연산 gate들의 진리표이므로 잘 숙지해둬야 한다.

그러면 원래 CPU는 뭐하는 것인가? 간단히 애기하면 '전자계산기'라고 한다. 여기서 '전자'라는 말이 중요한데 왜 전자를 사용할까? 빛이나 물을 이용할 수는 없을까? 물론 이용이 가능하지만 전자를 사용하는 이유는 빠르기 때문이다. 그럼 어떤 계산기일까? 바로 산수연산에 대한 계산기이다.

즉, CPU를 만들고 싶다고 하면 산수 계산기를 만들면 되고 산수의 기본이 되는 +기능부터 만들면 된다.

여기서 잠깐, 위의 표에서 input으로 들어가는 a,b는 하나하나가 1bit라고 할 수 있다.

컴퓨터가 덧셈하는 방법

  • 2진수 1 + 1은 2진수 10(2) 이다.
  • A가 1, B가 1이면 XOR 연 산결과 S는 0이다.
  • 동시에 A가 1, B가 1이면 AND 연산결과 C는 1이다. 이 1은 자리 올림(Carry)이다.
  • 두 수를 더할 수 있으면 CPU를 만들 수 있다.

위의 그림은 반가산기로 덧셈을 해주는 기계이다. 그것을 논리회로로 표현한 것이다. 하지만 이것은 1bit한정이며 예를들어 8bit끼리 덧셈을 할려고 하면 자리올림또한 생각을 해줘야 함으로 반가산기로는 부족하다. 그래서 나온 회로가 전가산기다. 전가산기는 아래와 같다.

전가산기를 병렬로 이어서 다양한 bit의 계산이 가능하다.

수제 CPU

홈브류 cpu

profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글