본문 바로가기
카테고리 없음

순차 논리 회로에 대해 알아보자.

by 인터플래시 2018. 8. 19.

순차 논리 회로는 플립플롭과 게이트를 서로 연결한 회로이다. 따라서 단지 AND, NOR 등의 게이트만으로 구성한 논리를 출력하는 회로를 조합 논리 회로라 하고, 플립플롭을 포함하여 출력결과를 다시 입력 데이터로 피트백하여 이전의 정보를 기억한 후 새로운 논리 데이터를 출력하는 회로를 순차 논리 회로 또는 순서 논리 회로라고 한다.

조합 논리 회로는 현재의 입력 변화에 의서해만 다음 상태의 출력을 결정하지만, 순차 회로는 현재의 입력뿐만 아니라 이전 상태의 입력 신호와 조합 회로의 현재 입력에 의해서 출력이 결정되는 회로이다. 이와 같이 순차 논리 회로는 조합 논리 회로와 기억 기능을 갖는 플립플롭이나 레지스터 장치로 구성한다.

순차 논리 회로는 신호의 타이밍에 따라 크게 두 가지 형태로 구분할 수 있고, 각 시간의 매 순간마다 들어오는 클락 펄스에 의해 일률적으로 동작 및 제어하는 동기 순차 논리 회로와 시간에 관계없이 입력 순서에 의해 결정되고 클락 펄스가 필요 없으며 어떠한 시각에도 변화 가능한 비동기 순차 논리 회로가 있다. 비동기 순차 회로에 작용되는 타이밍 요소는 시간 지연 장치로서 신호가 각 소자(cell)에 전달되는 데는 어느 정도의 지연시간이 필요하기 때문이다.

 

플립플롭이란 순차 논리 회로의 가장 간단한 형태는 플립플롭으로 이것은 1비트를 메모리 할 수 있는 기억소자이다. 플립플롭의 동작은 무기한으로 논리 1 또는 논리 0 중에서 오랜 시간 동안 어느 한쪽 상태를 유지할 수 있다. 그러므로 컴퓨터 내부에서 2진수 0또는 1의 한개 비트를 기억하는 2진 소자이며 계수기, 레지스터, 제어논리 및 다른 기능으로 많이 이용하고 있다. 출력이 Q와 다른 하나는 Q' 으로 표시하며 항상 보수관계인 쌍안정 상태를 갖는다.

 

RS플립플롭이란 입력 변수 R과 S로 정의되는 두 가지 입력선을 갖는 플립플롭을 RS 플립플롭이라 하고, 일종의 비동기식 순차 논리 회로에 속한다고 할 수 있다.

 

클락SR플립플롭이란 디지털 컴퓨터의 동작은 클락 신호가 발생하였을 때 변화가 일어나도록 클락 신호에 동기한다.

 

JK플립플롭은 SR 플립플롭의 S와 R이 모두 1인 경우 불안정 상태가 되는 것을 개량하여 현재의 상태가 반대가 되도록 Q를 논리적으로 바꾸는 결과를 만들도록 한 것이다.

 

D플립플롭은 입력한 내용과 동일한 상태가 되도록 하여 데이터의 일시적인 보관이나 디지털 신호의 전송되는 시간을 늦추어 주는 지연 목적에 사용한다.

 

T플립플롭은 JK 플립플롭을 변형시켜 1과 0이 번갈아 바뀌는 토글 신호를 만드는 회로이다. 즉 JK 플립플롭에서 J와 K가 동시에 입력되면 현재 상태의 반대가 되는 성질을 이용하여 J와 K를 하나로 합친 것이다.

 

마스터-슬레이브 플립플롭은 두 개의 플립플롭으로 구성되는데 하나는 주인 역할을 하고 다른 하나는 종 역할을 하면서 경쟁을 하지 않기 때문에 주종 플립플롭이라고도 한다.

 

순차 논리 회로의 설계는 설계 사양의 기술에서 시작해서 논리도나 이를 얻을 수 있는 함수를 얻는 것으로 끝난다. 조합 논리 회로는 완전히 진리표로 표시하는 반면에, 순차 회로는 사양에 대한 상대표를 필요로 한다. 순차 회로의 첫 단계는 상태표나 상태도 또는 상태 방정식을 얻는 것이다. 플립플롭의 개수는 2=m이 되는 정수 n이며 식으로는 n=[lpg2 m]으로 표시한다.

 

순차 회로의 설계 과정은 다음과 같다.

1. 회로의 작동을 예상한다.

2. 회로에 관해 주어진 논리 정보로부터 상태표를 작성한다.

3. 만일 순차 논리 회로가 상태 수에 무관한 입력-출력 관계에 의해 특성 지을  수 있다면 상태 축소 방법에 의해 상태의 수를 줄인다.

4. 상태표가 문자를 갖고 있으면 각 상태에 2진 값을 할당한다.

5. 플립플롭의 수를 결정한다.

6. 사용할 플립플롭의 형태를 선택한다.

7. 상태표에서 상태변화표와 출력표를 유도한다.

8. 카르노 맵과 같은 간소화 방법을 사용하여 회로 출력함수와 플립플롭의 입력 함수를 그린다.

9. 논리도를 그린다.

 

레지스터는 0이나 1의 2진 정보를 일시적으로 기억하는 2진 소자들의 집합을 말한다. CPU 내의 기억 장치로서 주기억 장치에 비해 접근 시간이 빠르다. 예로는 누산기, 프로그램 계수기, 인덱스 레지스터, 명령 레지스터 등이 있다.

병렬 레지스터는 데이터를 저장하는데 이용하고, 동시에 읽고 쓰기가 가능한 1비트 기억소자들로 구성되어 있으며 F/F의 연결계수에 해당하는 n-bit를 기억할 수 있는 회로이다.

 

시프트 레지스터는 데이터를 전송하거나 받아들일 때 1비트씩 좌, 우측으로 이동시켜 처리한다. 6비트의 데이터 101101이 시프트 레지스터에 저장되어 있으면 데이터의 입력은 제일 좌측 플립플롭에서만 이루어지며, 클락 신호가 발생될 때마다 데이터는 1자리씩 우측으로 옮겨지게 되고, 제일 우측 비트는 밖으로 밀려나와서 전송된다.

시프트 레지스터는 직렬 입출력 장치의 인터페이스로 사용하고, 또한 산술 논리 연산 장치 내에서 논리 시프트, 로테이트 기능을 수행하는데 이용한다. 이 경우에는 병렬 레지스터 회로와 함께 구성하는 것이 유용하다.

 

카운터는 동기식과 비동기식이 있으며, 동기식은 카운터를 구성하는 모든 플립플롭의 클락펄스 단자를 하나로 연결하여 클락펄스가 모든 플립플롭에 동시에 인가되는 구조이며, 비동기식은 카운트를 구성하는 플립플롭의 클락펄스 단자가 하나로 연결되어 있지 않은 구조이다.

 

타이밍 시그널과 카운터는 CPU는 처리 장치와 제어 장치로 나누어지며, 제어 장치는 처리 장치의 동작을 제어하는 타이밍 시그널을 생성한다. 제어 장치에서 전송하는 다양한 타이밍 시그널은 카운터와 레지스터에서 적절히 조합하여 만들게 되는데, 레지스터간 직렬 전송시 클락펄스는 클락펄스 단자에 직접 인가되기 않고 레지스터 비트 수만큼의 타이밍 시그널과 AND 게이트에 입력되어 그 출력이 클락펄스 단자에 인가된다.

 

RAM은 데이터나 정보에 대한 R/W가 빈번한 경우 사용하는 temporary memory이며, buffer의 기능을 가지고 있다. 따라서 일반 사용자의 경우 PC에서 128MB, 256MB, 512MB 등으로 메모리를 증설하여 많이 사용한다.

즉 램의 용량이 클수록 작업환경에서 한번에 load할 수 있는 데이터 사이즈가 크기 때문에 특히 컬러작업, 이미지 작업시 작업 속도의 향상을 꾀할 수 있다. 또한 램은 휘발성 메모리로 전원이 끊어지면 데이터가 소멸하는 특징을 가지고 있다. 

    

댓글