01. 논리회로의 개념
논리회로는 디지털 회로를 구성하는 가장 기본적인 요소로 논리합(OR), 논리곱(AND), 부정(NOT), 부정논리곱(NAND), 부정논리곱(NOR) 등의 논리연산(Bool Algebra)을 수행하는 회로이다.
논리회로의 동작이나 기능을 기술하는 방식은 논리식, 논리도, 진리표 3가지가 있는데, 표현 방식을 알면 동작 원리를 쉽게 파악할 수 있다.
- 논리식: 논리연산자(AND, OR, NOT)으로 구성된 식이다.
- 논리도: 논리식을 그림으로 표현해 시각적으로 구성된 식이다.
- 진리표: 논리회로에 입력 가능한 모든 경우의 수에 대응하는 츨력값을 정의한 표이다. 게이트의 입력과 출력의 상관관계를 나타낸다.
1) 논리 연산자
논리회로에서 '논리'란 참 또는 거짓을 다룬다는 의미이다.
컴퓨터는 2진수를 사용하기에 0과 1로 참과 거짓을 표현이 가능하다. 이러한 논리연산을 적용하려면 참, 거짓을 피연산자로 사용하는 논리 연산자가 필요하다.
- AND 연산자: 조건이 모두 참이어야 참을 반환한다.
- OR 연산자: 조건 중에서 하나라도 참이면 참을 반환한다.
- NOT 연산자: 조건의 결과가 참이면 거짓을, 거짓이면 참을 반환한다.
- XOR 연산자: 두 조건이 서로 다르면 참을 반환한다.
- NAND 연산자: AND 연산자와 NOT 연산자를 결합한 것으로, AND 연산자의 연산 결과를 부정한다.
- MOR 연산자: OR 연산자와 NOT 연산자를 결합한 것으로, OR 연산자의 연산 결과를 부정한다.
2) 논리 게이트
논리게이트는 컴퓨터를 구성하는 가장 작은 단위의 논리회로이다. 전기 신호에 따라 가장 기본적인 동작을 수행한느 소자이며, 줄여서 게이트라고 부른다.
게이트는 하나 이상의 입력을 받고 하나 이상의 출력 신호를 생성한다. 이러한 게이트가 모여서 회로가 되고, 이러한 회로들이 켜져서 컴퓨터가 된다.
게이트는 불 대수 분야에서 다양한 연산들을 하드웨어에서 실행하는 소자이기도 하다.
(이때, AND, OR, NOT, XOR, NAND, NOR 등 다양한 게이트들이 사용된다.)
대부분의 게이트는 보통 1개 또는 2개의 입력을 처리하며 효율적인 회로 설계를 위해 3개 이상의 입력을 처리하기도 한다.
02. 조합 논리회로
조합 논리회로는 입력 값만으로 출력값이 결정되는 회로이다.
조합 논리회로는 입력 만으로 출력이 결정되기에 정보를 저장할 부품(메모리)이 따로 필요하지 않다.
가산기를 만드는 과정
컴퓨터에서 가장 기본이 되는 연산은 두 수의 덧셈 연산이다.
- 1비트 반가산기 구성
- 2개의 반가산기를 이용한 1비트 전가산기 구성
- 여러 개의 전가산기를 이용한 멀티비트 전가산기 구성
이 과정들을 통해서 덧셈 연산을 하는 가산기를 만들 수 있다.
03. 순서 논리회로
순서 논리회로는 입력값과 회로 내부의 상태가 출력 값을 결정하는 회로이다.
순서 논리회로는 상태를 저장하기 때문에 정보를 저장할 부품(메모리)이 따로 필요하다.
그렇기에 컴퓨터의 회로 중 메모리와 레지스터 등의 기억장치가 들어있는 부품은 모두 순서 논리회로로 구성되었다
플립플롭
플립플롭은 회로 상태를 저장할 때 사용하는 회로이다. 컴퓨터에서 1비트의 정보를 저장하는 회로이며, 입력 신호가 변하기 전까지는 현재의 상태를 유지한다. 그렇기에 메모리 기능을 사용할 수 있다.