Circuit
Circuit에는 수 없이 많은 종류가 있다.
따라서 Circuit의 목적에 따라서 Circuit을 구분할 필요가 있다. 엘리베이터, 통신장치 따위를 만드는 Circuit과 Computer를 만드는 Circuit은 분명히 그 의도가 다르고 그럼에 따라 표현하는 방식도 다를 수 밖에 없잖은가?
Digital Circuit, 일반적으로 컴퓨터에서 활용되는 그런 Circuit을 Sequential Circuit 또는 Combinational Circuit이라고 한다.
Combinational Circuit
Combinational Circuit은 Boolean 연산을 수행하는 Circuit을 의미한다.
Automata 이론에서, 어떠한 기억장치도 없는 기계를 의마한다. 즉 Memory Cell이 없는 Boolean 연산을 수행하는 Circuit을 의미한다.
Sequential Circuit
Sequential Circuit에 대해서 정의하라고 하면 다음과 같은 정의가 많이 온다.
In digital circuit theory, sequential logic is a type of logic circuit whose output depends not only on the present value of its input signals but on the sequence of past inputs, the input history as well.
요약하자면, 과거 상태의 영향을 받아 다음의 값에도 영향을 주는 Circuit을 의미한다고 한다.
이름이 Sequential Circuit인 이유를 생각해보자면 말 그대로 일련의 과정이 Sequential하게 이루어질 의도를 가지고 만들기 때문이다.
그 회로의 설계 목적을 이루기 위해서 필연적으로 Sequential 한 과정이 있기 때문이다.
예로서
A라는 회로와 B라는 회로가 있고. B라는 회로는 A라는 회로가 작동을 끝맞친 다음에 작동해야 아무런 오류도 없다.
즉 A라는 회로의 결과가 끝나면, B라는 회로의 Memory에 A라는 작업이 끝났음을 알리는 값을 넣어주고.
Clock을 발생시키면, B라는 녀석은 A의 값을 가지고 잘 작동할 것이다.
Sequential Circuit은 또 동기 Sequential Circuit과 비동기 Sequential Circuit으로 구분된다.
동기 Sequential Circuit 같은 경우에는 Clock 신호에 작동하는 것이고, 비동기 Sequential Circuit 같은 경우에는 Clock 신호 없이 A의 작업이 끝나면 바로 작동 하는 것이다.