컴퓨터 구조 - 반가산기, 전가산기

박근수·2024년 1월 20일
0

컴퓨터 구조

목록 보기
2/11

이진수의 덧셈 (가산기)

간단한 논리연산을 가지고 계산기를 만들 수 있다.

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 0, 하지만 다음 자릿수를 1 더해야함 (carry 라고함)

    1 + 1 = 10

carry (가산기)

  • 0 + 0 = 0, carry 는 0
  • 0 + 1 = 1, carry 는 0
  • 1 + 0 = 1, carry 는 0
  • 1 + 1 = 0, carry 는 1
  • carry bit는 둘 다 1일때만 1이고 나머지는 0으로 동작하는 논리 Gate
  • sum bit는 둘 중 하나만 1일 때 1이고 나머지는 0으로 동작하는 논리 Gate

  • sum bit와 같은 결과를 내기 위해서는 위와 같은 A와 B가 있다면, OR Output과 NAND Output 결과물을 가지고 AND Output을 통해 sum bit와 같은 결과는 낼 수 있다.

XOR 게이트

OR와 NAND 게이트에서 AND 게이트를 연결할 경우, XOR 게이트와 동일한 값을 만들 수 있음

반가산기 (half adder)

두 bit를 덧셈하는 가산기를 의미

  • 전가산기 : 두 bit의, carry까지 계산할 수 있는 가산기를 의미

각각 하나의 bit인 A와 B를 더해서, 합 S와 자리 올림(Carry) C를 출력하는 조합논리회로

전가산기 (full adder)

반가산기를 조합해서 전가산기 만들기
전가산기는 A bit, B bit, carry bit값을 입력 받아서, sum과 carry값을 출력

  • 전가산기(full adder) 8개를 연결해서 조합하면 8비트 전가산기(8 bits full adder)가 된다.
  • 총 8자리로 2진수가 표현할 수 있는 숫자는 2의 8승으로 256까지 덧셈이 가능하다.
  • 8비트 전가산기 2개를 연결해서 조합하면 16비트 전가산기(16 bits full adder)가 된다.
  • 여기서 2진수가 표현할 수 있는 숫자는 2의 16승으로 65536까지 덧셈이 가능하다.
  • 전체적으로 뎃셈을 사용해서 곱셈이 가능하고, 덧셈의 회로를 바꾸어 뺄셈이 가능하다. 이처럼 계산하는 산술연산이 다 가능하다.

Oscillator

Not Gate

  • input이 0이면 output은 1이다.
  • 반대로 input이 1이면 output은 0이다.
  • output값이 0과 1을 반복하는 회로
  • CPU 전체에 일정하게 명령을 실행할 수 있도록 전원을 주었다가 일정 시간 지난 후 다시 전원을 주면서 반복.
  • 전원을 받을 때마다 CPU가 모든 동작을 실행
  • 일종의 클럭(Clock)이라고 하며 클럭을 만들 수 있다.

클럭 (Clock)

  • 0으로 잠깐 있다가 1로 잠깐 올라가는 0과 1로 한 번씩 왔다갔다하는 시간이 일정하고 이것을 바로 1 cycle(주기)라고 한다.
  • 주기: 한 사이클에 필요한 시간
  • frequency(단위-hertz): 주기 / 1(cycle/sec)

EX)

1 cycle이 걸리는 시간이 0.05초라면 1초에 결과적으로 20 cycle이 필요하며, 20 cycle을 20hertz(Hz)라고 하며 frequency라고 한다.

profile
개발블로그

0개의 댓글