순차 논리
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
순차 논리는 이전 입력과 현재 입력을 모두 고려하여 출력을 결정하는 디지털 논리 회로의 한 유형이다. 순차 회로는 입력, 상태, 출력, 상태 천이 함수, 출력 함수로 구성되며, 출력 함수에 따라 밀리형과 무어형으로 나뉜다. RS 래치와 같은 기본적인 순차 회로부터 동기식 및 비동기식 순차 논리 회로까지 다양한 종류가 있으며, 플립플롭과 래치를 포함한 다양한 메모리 소자를 사용한다. 동기식 순차 회로는 클럭 신호에 의해 동기화되어 설계가 단순하지만, 비동기식 회로보다 속도가 느릴 수 있다. 비동기식 순차 회로는 클럭 없이 입력 변화에 즉각 반응하지만, 설계가 더 어렵고 경쟁 상태와 같은 문제가 발생할 수 있다. 순차 회로는 CPU와 같은 복잡한 시스템을 포함하여 레지스터 및 카운터와 같은 다양한 응용 분야에 사용된다.
더 읽어볼만한 페이지
| 순차 논리 | |
|---|---|
| 회로 유형 | |
| 종류 | 디지털 회로 |
| 특성 | 상태를 가짐 |
| 구성 요소 | 플립플롭 |
| 응용 분야 | 컴퓨터 메모리 상태 기계 |
| 개요 | |
| 설명 | 이전 입력에 따라 현재 출력이 결정되는 논리 회로 |
| 상태 유지 | 피드백을 통해 상태 유지 |
| 클록 신호 | 대부분의 경우 클록 신호에 동기화되어 작동 |
| 종류 | |
| 동기식 순차 회로 | 클록 신호에 동기화되어 상태 변화 |
| 비동기식 순차 회로 | 클록 신호 없이 상태 변화 |
| 설계 | |
| 상태도/상태표 | 회로의 동작을 표현하는 데 사용 |
| 상태 할당 | 각 상태에 2진 코드를 할당 |
| 플립플롭 선택 | 회로의 요구 사항에 따라 플립플롭 종류 선택 (예: D 플립플롭, JK 플립플롭) |
| 논리 게이트 설계 | 선택된 플립플롭과 상태 할당을 기반으로 논리 게이트 회로 설계 |
| 장점 | |
| 메모리 기능 | 이전 상태를 기억하여 복잡한 동작 구현 가능 |
| 유연성 | 다양한 응용 분야에 적용 가능 |
| 단점 | |
| 복잡성 | 조합 논리 회로보다 설계 및 구현이 복잡함 |
| 타이밍 문제 | 비동기식 회로의 경우 타이밍 문제가 발생할 수 있음 |
| 응용 | |
| 컴퓨터 | 중앙 처리 장치 (CPU), 메모리 장치 등 |
| 디지털 시스템 | 컨트롤러, 통신 시스템 등 |
| 기타 | 자동 판매기, 엘리베이터 제어 시스템 등 |
2. 순차 논리 회로의 형식적 표현
순차 회로는 조합 회로와 달리 내부 상태를 가지며, 입력과 내부 상태에 따라 출력이 결정된다. 이러한 순차 회로는 오토마톤, 상태 기계, 순서 기계와 같이, 외부 입력, 내부 상태 유지, 상태 천이, 외부 출력 기능을 구현하는 방법 중 하나이다.
순차 회로는 다음과 같이 형식적으로 표현할 수 있다.
- ''X'': 입력 집합 (input set)
- ''Q'': 상태 집합 (state set)
- ''Z'': 출력 집합 (output set)
- ''δ'': ''X'' × ''Q'' → ''Q'' 상태 천이 함수 (state transition function)
- ''ω'': 출력 함수 (output function)
순차 회로는 (''X'', ''Q'', ''Z'', ''δ'', ''ω'')의 조합으로 정의된다. 출력 함수 ''ω''의 형태에 따라 밀리형(Mealy type)과 무어형(Moore type) 두 가지 형식으로 나뉜다.
- 밀리형 (Mealy type): ''ω'': ''X'' × ''Q'' → ''Z''
- 무어형 (Moore type): ''ω'': ''Q'' → ''Z''
무어형은 내부 상태에만 출력이 의존하지만, 밀리형과 무어형은 본질적인 차이가 없으며 서로 변환 가능하다. 순차 회로의 동작은 상태 천이 표나 상태 천이도로 나타낼 수 있다.
2. 1. RS 래치 예시
가장 단순한 순차 회로 중 하나는 RS 래치 (Reset/Set Latch)이다. RS 래치는 두 개의 입력 R, S에 대해 하나의 출력 Z(기호도에서 Q 출력)를 가진다. R이 1이면 출력은 0, S가 1이면 출력은 1이 된다 (단, 두 입력이 동시에 1이 되는 것은 금지). RS 래치의 동작은 다음과 같이 표현할 수 있다.
- ''X'': R, S (R, S는 0 또는 1. 단, 동시에 1이 되는 것은 금지)
- ''Q'': Q₀ 또는 Q₁ (단, Q₀=0, Q₁=1)
- ''Z'': 0 또는 1
- ''δ'': 상태 전이표 또는 상태 전이도 참조
- ''ω'': 1 × ''Q'' → ''Z'' (Q를 그대로 출력)
RS 래치의 상태 전이표는 다음과 같다. (R, S)=(1, 1)인 상태는 금지되므로 표에서 "-" (부정)으로 표시한다.
| 입력 RS | ||||
|---|---|---|---|---|
| 상태 Q | 00 | 01 | 10 | 11 |
| Q₀ (=0) | Q₀ | Q₁ | Q₀ | - |
| Q₁ (=1) | Q₁ | Q₁ | Q₀ | - |
오늘날 거의 모든 순차 논리는 '클럭 방식' 또는 '동기식' 논리이다. 동기식 회로에서 '클럭'(클럭 생성기)은 회로 내의 모든 메모리 소자에 배포되는 '클럭 신호'라고 하는 일련의 반복적인 펄스를 생성한다. 동기식 논리의 기본 메모리 소자는 플립플롭이다. 각 플립플롭의 출력은 클럭 펄스에 의해 트리거될 때만 변경되므로 회로 전체의 논리 신호에 대한 변경 사항은 모두 클럭에 의해 동기화되어 정기적인 간격으로 동시에 시작된다.
다음은 밀리형 및 무어형 상태 전이도의 예시이다.
밀리형에서 절점은 내부 상태, '○○/●'은 입력 조건이 ○○일 때 출력이 ●로 변하는 것을 의미하며, 화살표는 조건이 성립했을 때 전이 방향을 나타낸다. 즉, ''X''=(R, S), ''Z''=0 또는 1을 그림에서는 RS/Z로 표현하고, 각각에 1 또는 0이 들어간다.
무어형에서 절점은 내부 상태와 외부 출력을 함께 '○/○'(내부 상태/외부 출력)로 표기하며, 화살표는 입력 조건 ○○가 성립했을 때 전이 방향을 나타낸다. RS 래치에서는 내부 상태 Q와 출력 Z가 같으므로, Q₀/0, Q₁/1 절점만 존재하고 Q₁/0, Q₀/1 절점은 없다.
3. 동기식 순차 논리 회로
어느 시점에서든 회로의 모든 저장 소자(플립플롭)의 출력, 즉 포함된 이진 데이터를 회로의 '상태'라고 한다. 동기식 회로의 상태는 클럭 펄스에서만 변경된다. 각 사이클에서 다음 상태는 클럭 펄스가 발생할 때의 현재 상태와 입력 신호 값에 의해 결정된다.
동기식 논리의 주요 장점은 단순성이다. 데이터에 대한 연산을 수행하는 논리 게이트는 입력의 변경에 응답하는 데 유한한 시간이 필요하다. 이를 '전파 지연'이라고 한다. 클럭 펄스 사이의 간격은 모든 논리 게이트가 변경에 응답하고 다음 클럭 펄스가 발생하기 전에 출력이 안정적인 논리 값으로 "안정화"될 수 있을 만큼 충분히 길어야 한다. 이 조건이 충족되는 한 회로는 안정적이고 신뢰할 수 있다. 이것은 동기식 회로의 최대 작동 속도를 결정한다.
동기식 논리에는 두 가지 주요 단점이 있다.
순차 회로는 내부에서 기억되어 있는 상태(내부 상태)와 입력 신호의 상태에 따라 다음 출력 상태가 결정된다. 즉, 과거의 입력 신호 변화가 동일하더라도 어떤 시점의 내부 상태가 다르면 다른 출력 상태가 된다.
순차 회로의 내부 상태는 플립플롭이나 래치로 구성되며, 클럭 펄스의 타이밍(상승 또는 하강)에 따라 상태가 확정되는 동기식 순차 회로와, 입력 신호의 타이밍에 의존하여 상태가 확정되는 비동기식 순차 회로로 크게 나뉜다. 동기식 순차 회로에서는 클럭 펄스마다 출력이 확정되므로 클럭 펄스의 주기보다 짧은 신호 처리 출력을 할 수 없지만, 내부의 과도적인 지연의 영향을 배제할 수 있다.
동기식 순차 회로는 클럭 펄스 전용 입력 단자를 가지며, 클럭 펄스가 변화한 시점(에지)의 입력 및 내부 상태에 대해 출력 상태가 변화한다.
RS 래치와 RS 플립플롭의 동작 차이를 보면, 양쪽에 같은 R, S 신호를 입력했을 때의 각 출력 Qa, Qb이다. 래치에서는 R, S 신호가 변화한 시점에서 Qa가 변화하지만, 플립플롭에서는 클럭 펄스의 상승 시점의 R, S 신호의 상태에 따라 Qb가 변화한다. (단, 초기 상태는 Qa, Qb 모두 1로 한다)
또한, 여러 순차 회로를 사용하여 소정의 기능을 갖는 순차 회로를 생성하는 경우, 개별적인 동기식 순차 회로를 사용하더라도 동기식 순차 회로가 되지 않을 수 있다. 예를 들어, 리플 카운터(비동기식 카운터)는 (동기식인) 플립플롭만 사용하여 구성할 수 있지만 동기식 순차 회로는 아니다. 접속되는 플립플롭이 공통된 클럭 펄스를 입력한 구성이 아니라 전단 회로의 출력이 다음 단의 클럭 펄스로 사용되기 때문이다.
4. 비동기식 순차 논리 회로
비동기 순차 논리 회로는 클럭 신호에 의해 동기화되지 않고, 입력의 변화에 직접적으로 반응하여 출력이 변하는 회로이다. 이러한 비동기 논리는 회로가 입력을 처리하기 위해 클럭 신호를 기다릴 필요가 없기 때문에 동기 논리보다 빠를 수 있다는 장점이 있다. 장치의 속도는 사용된 논리 게이트의 전파 지연에 의해서만 제한된다.
하지만 비동기 논리는 설계하기가 더 어렵고, 동기식 설계에서는 발생하지 않는 문제에 직면한다. 가장 큰 문제는 디지털 메모리 소자가 입력 신호가 도착하는 순서에 민감하다는 것이다. 두 신호가 거의 동시에 플립플롭 또는 래치에 도착하면, 회로가 어떤 상태로 들어갈지는 어떤 신호가 먼저 게이트에 도달하는지에 따라 달라질 수 있다. 따라서 회로는 논리 게이트의 작은 전파 지연 차이에 따라 잘못된 상태로 들어갈 수 있는데, 이를 경쟁 상태라고 한다. 동기 회로에서는 메모리 소자의 출력이 각 클럭 펄스에서만 변경되기 때문에 이러한 문제가 심각하지 않다.
비동기 순차 회로는 일반적으로 마이크로프로세서와 디지털 신호 처리 회로의 일부와 같이 속도가 중요한 부분, 또는 동기식 시스템의 몇몇 중요한 부분에서만 사용된다. 비동기 논리의 설계는 동기 논리와 다른 수학적 모델과 기술을 사용하며, 활발히 연구가 진행되는 분야이다.
동기식 순차 회로는 클럭 펄스 전용 입력 단자를 가지며, 클럭 펄스가 변화한 시점(에지)의 입력 및 내부 상태에 대해 출력 상태가 변화한다. 반면, 비동기식 순차 회로는 입력 상태가 변화한 시점의 입력 및 내부 상태에 대해 출력 상태가 변화한다.
위 그림에서는 RS 래치와 RS 플립플롭의 동작 차이를 보여준다. 래치에서는 R, S 신호가 변화한 시점에서 Qa가 변화하지만, 플립플롭에서는 클럭 펄스의 상승 시점의 R, S 신호의 상태에 따라 Qb가 변화한다.
여러 순차 회로를 사용하여 특정 기능을 갖는 순차 회로를 만들 때, 개별적인 동기식 순차 회로를 사용하더라도 동기식 순차 회로가 되지 않을 수 있다. 예를 들어, 위 그림은 리플 카운터(비동기식 카운터)이며, (동기식인) 플립플롭만 사용하여 구성할 수 있지만 동기식 순차 회로는 아니다. 이는 접속되는 플립플롭이 공통된 클럭 펄스를 입력받는 구성이 아니라, 전단 회로의 출력이 다음 단의 클럭 펄스로 사용되기 때문이다.
5. 순차 논리 회로의 예시
플립플롭과 래치는 1비트의 두 가지 상태(0 또는 1)를 기억하는 최소 순차 회로이다. 이러한 회로로, RS 플립플롭/RS 래치, D 플립플롭/D 래치, JK 플립플롭, T 플립플롭이 있다. 아래 표에 회로 기호와 상태 전이 표를 나타낸다.
{| class="wikitable" style="text-align:center;"
|+ 기본 순차 회로
|-
! 회로 유형 !! 플립플롭 !! 래치 !! 상태 전이 표
|-
| RS || --|]] || --|]] ||
| 입력 RS | ||||
|---|---|---|---|---|
| 상태 Q | 00 | 01 | 10 | 11 |
| Q0 (=0) | Q0 | Q1 | Q0 | - |
| Q1 (=1) | Q1 | Q1 | Q0 | - |
플립플롭은 클럭 펄스의 에지에서만 유효
|-
| D || --|]] || --|]] ||
| 입력 D | ||
|---|---|---|
| 상태 Q | 0 | 1 |
| Q0 (=0) | Q0 | Q1 |
| Q1 (=1) | Q0 | Q1 |
플립플롭은 클럭 펄스의 에지에서만 유효
래치는 E (Enable) 단자가 1일 때 유효
|-
| JK || --|]] || - ||
| 입력 JK | ||||
|---|---|---|---|---|
| 상태 Q | 00 | 01 | 10 | 11 |
| Q0 (=0) | Q0 | Q0 | Q1 | Q1 |
| Q1 (=1) | Q1 | Q0 | Q1 | Q0 |
클럭 펄스의 에지에서만 유효
|-
| T || --|]] || - ||
| 입력 T,CK | ||
|---|---|---|
| 상태 Q | 0,↑ | 1,↑ |
| Q0 (=0) | Q0 | Q1 |
| Q1 (=1) | Q1 | Q0 |
T=1이고 클럭 펄스의 상승 에지에서만 상태가 반전된다
|}
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com