DKU/컴퓨터구조

[컴구] 7-2 디지털 로직 (Digital Logic)

ʕ민지ʔ 2022. 11. 29. 09:37

디지털 회로 구분

디지털 회로의 종류는 2가지로 나누어 진다.

1. 조합 회로 (Combinational circuits)

조합 회로의 output은 오직 현재 회로 input들의 조합에 의해서만 결정된다. 조합회로에 같은 input이 들어온다면 항상 같은 ouput을 낸다는 특징이 있다. AND, OR, NOR, NAND, NOT 게이트들의 조합으로 구성되어 있다.

2. 순차 회로 (Sequential circuits)

순차 회로의 output은 현재 회로 input들과 회로의 상태 (혹은 과거 input들의 배열)에 의해서만 결정된다. 순차 회로는 플립플랍이나 레지스터와 같이 '상태'를 저장할 필요가 있는 메모리 구성요소들에 쓰인다. 또한, output 값이 상태에 영향을 미치기 때문에 같은 input이 들어와도 완전히 다른 output들을 낼 수 있다.

 

대표적인 조합 회로1 - Multiplexer (MUX)

Multiplexer(MUX)는 N개의 input 값들이 들어오면 그 중에서 하나를 정해 1개의 output을 내보낸다. 마치 철도의 선로를 결정하는 스위치와 비슷하다고 볼 수 있다.

이때, 어떤 input이 output으로 결정될 지는 select line의 조합에 의해 결정된다. 따라서, MUX의 input이 N개이면 log₂N개의 selection line이 필요하다. 예를들어 4-input MUX의 경우, log₂4 = 2개의 select line이 필요하다.

 

대표적인 조합 회로2 - Decoder

Decoder는 N비트의 코드를 해독하는 회로 구성요소로, MUX와 반대되는 개념이라고 생각할 수 있다. input 코드의 조합에 따라 적절한 하나의 output 값만 활성화(값이 1이 됨)된다. 아래의 그림은 3개의 input, 8개의 output 값을 갖는 decoder의 예시이다.

 

SR Latch를 이용한 bit 저장

call 버튼을 누르면 불이 켜지고, 이는 유지된다(stay on). cancel 버튼을 누르면 불이 꺼진다.이 개념은 아래와 같이 OR 게이트로 나타낼 수 있다.

SR Latch(래치)는 1비트를 저장하는 회로로, SR은  set-reset을 의미한다. SR 래치에서 각 버튼과 연결된 게이트에서 나온 output이 다른 게이트의 input으로 들어가는 feedback 과정이 있다는 것이 특징이다.

call 버튼이 눌려져 있으면 (S=1, R=0) set 상태로 불이 켜지고 (Q=1), cancel 버튼이 눌리면 (S=0, R=1) reset 상태로 불이 꺼진다 (Q=0), 이와 같은 특징을 가진 SR Latch에서 발생할 수 있는 문제는 S=1, R=1 일 때, Q의 값이 정의되지 않는다는 것이다. 그렇기 때문에 SR Latch는 불안정한 회로이므로 컴퓨터에서는 잘 사용되지 않고, 대신 clock을 사용한다.

 

Clock

clock을 사용하여 clock의 특정 부분에만 반응하여 상태 변화가 일어나게 할 수 있다. 특히, edge-triggered clocking을 사용하면 모든 상태 변화는 clock edge에서만 일어난다. 예를들어, rising edge가 뜨면 상태1(기존)이 logic에 들어가 상태2(new)로 바뀌게 된다. 이렇게 바뀐 상태는 다음 clock edge를 만나기 전까지는 바뀌지 않는다.