논리식의 간략화

Download Report

Transcript 논리식의 간략화

디지털 논리
IT CookBook, 컴퓨터 구조와 원리 2.0
학습목표
 2진 정보를 처리하는 논리 게이트의 종류와 특성을
공부한다.
 논리식을 표현하고 공식화하는 부울 대수를 이해한다.
 최적의 디지털 회로 설계를 가능하게 하는 논리식의
간략화를 이해한다.
 기억장치를 구성하는 플립플롭에 대해서 이해한다.
목차
 논리 게이트
 부울 대수
 논리식의 간략화
 플립플롭
01 논리 게이트
 ‘0’과 1’ 만 사용하는 이진 정보는 게이트(gate)라고 하는 논리회로에서 처리
 AND 게이트
• 논리곱 연산을 수행하는 논리소자다.
• 모든 입력이 1인 경우에만 1을 출력한다.
• 나머지의 경우에는 0을 출력한다.
 논리식 표현 : X = A · B
 기호 :
진리표(True Map) :
01 논리 게이트
 OR게이트
• 논리합 연산 수행, 다수의 입력 중 최소한 하나 이상의 입력이 1일 경우 1을
출력한다.
 논리식 표현 : X= A+B
 기호
진리표
 NOT게이트
• 한 개의 입력과 한 개의 출력을 갖는 게이트로 논리 부정을 나타낸다. 그래서
입력 값에 대하여 출력 값이 반대가 되도록 한다.
• 논리식 표현 : X= 𝐴 = 𝐴′
• 기호
진리표
01 논리 게이트
 XOR 게이트(Exclusive OR, 배타적 OR)
• 여러 개의 입력 중에서 1의 개수가 홀수로 입력되면 1을 출력한다.
• 입력이 2개인 경우에 두 입력 중 하나만 1로 입력되면 1을 출력하고, 둘
모두가 1이거나 0이면 0을 출력한다.
 논리식 표현 : 𝑋 = 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵=A⊕B
 기호
진리표
 NAND 게이트
• AND 게이트와 NOT 게이트가 결합하여 AND 게이트의 출력과 반대로 출력
• 모든 입력이 1인 경우에만 출력이 0. 그리고 나머지의 경우는 1을 출력
 논리식 표현 : 𝑋 = 𝐴 ∙ 𝐵
 기호
진리표
01 논리 게이트
 NOR 게이트
• 논리합 연산을 수행하는 OR 게이트의 출력에 NOT 게이트를 연결한 개념이다.
• OR 게이트 출력에 반대로 출력, 다수의 입력 중 최소한 하나 이상의 입력이
1을 갖는 경우 출력은 0이 된다.
 논리식 표현 : 𝑋 = 𝐴 + 𝐵
 기호
진리표
 XNOR 게이트
• Exclusive NOR 또는 배타적 NOR
• XOR 게이트와 NOT 게이트의 결합형태로 XOR 게이트와 반대의 값을 출력
 논리식 표현 : 𝑋 = 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵 = 𝐴⊕𝐵
 기호
진리표
01 논리 게이트
 범용 논리 게이트
• NAND 게이트와 NOR 게이트는 디지털 시스템에서 사용되는 모든 논리
게이트를 구성한다. 그래서 유니버셜 게이트(Universal Gate) 또는 범용
게이트라고 한다.
 AND 게이트의 구성
 OR 게이트의 구성
 NOT 게이트의 구성
02 부울 대수
• 논리 회로 설계 시, 부울 대수를 이용하면 논리 회로를 정확하고 간결하게
표현할 수 있다.
• 부울 대수는 변수들의 진리표 관계를 대수식으로 표현하기에 용이하며
동일한 성능을 갖는 더 간단한 회로를 만들 때 사용한다.
 부울 대수의 기본 법칙
 교환법칙(Commutative Law)
• 입력들의 순서가 변경되더라도 논리 연산의 결과는 동일하게 출력한다.
A·B = B·A, A + B = B + A
 결합법칙(Associative Law)
• 세 입력이 동일한 논리 연산을 수행할 때, 입력의 순서가 바뀌어 연산이
수행되어도 결과는 동일하다.
A·(B·C) = (A·B)·C, (A+B)+C = A+(B+C)
02 부울 대수
 부울 대수의 기본 법칙
 분배법칙(Distributive Law)
• 세 입력 A, B, C가 있을 때, 두 입력 B, C를 OR 연산을 수행하고 그 결과를
나머지 입력 A와 AND 연산을 수행하는 논리 연산은 B와 C를 AND 연산하고
그 결과들이 다시 OR 연산을 수행하는 것과 결과가 동일하다.
A·(B+C) = A·B + A·C
 다중 부정
• 논리 부정이 여러 번 수행되는 것이 다중 부정이다.
02 부울 대수
 드모르강(De Morgan)의 법칙
• 여러 논리 변수의 논리합 전체를 부정(NOR)하면 그것은 원래의 논리 변수를
각각 부정한 것을 논리 곱한 것과 같다.
• 여러 논리 변수의 논리곱 전체를 부정(NAND)하면 그것은 원래의 논리
변수를 각각 부정한 것을 논리 합한 것과 같다
 드모르강의 정리의 일반화
• n개의 입력 X를 갖는 드모르강의 일반식이다.
02 부울 대수
 부울 대수의 기본정리
02 부울 대수
 부울 대수의 표준형
 최소항(minterm)
• 변수들이 AND로 결합된 것
• 변수의 값이 참(TRUE)인 ‘1’인 경우는 정상형태인 A, B, C의 형태를 사용하고
변수 값이 거짓(FALSE)인 ‘0’인 경우는 보수형태인 𝐴, 𝐵 𝐶 의 형태를 사용
• 표준 곱의 항이라고 한다.
 최대항(maxterm)
• 변수들이 OR로 연결된 것
• 변수의 값이 참(TRUE)인 ‘1’인 경우는 보수형태인 𝐴, 𝐵 𝐶 의 형태를 사용하고
변수 값이 거짓(FALSE)인 ‘0’인 경우는 정상형태인 A, B, C 의 형태를 사용
• 표준 합의 항이라고 한다.
02 부울 대수
 2.4 부울 대수의 표준형
 표준 곱의 항과 표준 합의 항에서 표준의 의미는 부울 대수가 모든
변수를 포함하고 있다는 것을 뜻함
02 부울 대수
 곱의 합(SOP, Sum of Product) 표현
• 1 단계는 곱의 항(AND 항)으로 구성한다.
• 2 단계는 합의 항(OR 항)으로 만들어진 논리식으로 구성한다. 최소항의 합이
라고도 한다.
예) 변수가 3개인 진리표 : 임의의 출력 X와 최소항 그리고 기호 m
• 논리식의 표현에서 출력 X가 1이 되는 논리식들의 합이 일반 논리식이다.
02 부울 대수
 합의 곱(POS, Product Of Sum) 표현
• 1 단계는 합의 항(OR 항)으로 구성되고, 2 단계는 곱의 항AND 항)으로 만들어
진 논리식으로 최대항으로 구성된다. 그래서 최대항의 곱이라고도 한다.
예) 3변수 진리표 : 임의의 출력 X와 최대항 그리고 별도의 기호 M을 표시
• 합의 곱 표현에서는 곱의 합과 반대로 출력이 0이 되는 최대항을 가지고 일반
논리식으로 표현한다.
03 논리식의 간략화
 카르노 도표(Karnaugh Map)
• 조직적인 도표를 사용하여 부울 대수를 최적으로 간략화 할 수 있다. 카르노
도표는 부울 대수식을 간소화 하기 위한 가장 체계적이고, 간단한 방법이다.
• 최적의 간략화에 근거한 디지털 회로설계만이 게이트 수의 최소화할 수
있다. 이에 따라 디지털 회로는 회로의 경제성, 소비전력의 효율성, 회로의
신뢰성, 제품의 소형화가 가능해진다.
• 변수 2개, 변수 3개, 변수 4개, 변수 5개로 이루어진 입력변수에 적용할 수
있고 그 이상의 변수가 존재하는 경우에는 다른 방법을 사용한다.
• 변수가 2개인 카르노 도표,
• 출력이 0인 경우에는 빈칸으로
표시하지 않고 1인 경우에만
표시하면,
03 논리식의 간략화
• 변수가 3개인 카르노 도표의 표현,
• 카르노 도표를 가장 간단한 형태로 표현한다.
• 출력이 0인 경우에는 빈칸으로 표시하지 않고 1인 경우에만 표시한다.
03 논리식의 간략화
• 변수가 4개인 카르노 도표의 표현
• 카르노 도표를 가장 간단한 형태로 표현한다.
• 출력이 0인 경우에는 빈칸으로 표시하지 않고 1인 경우에만 표시,
03 논리식의 간략화
 부울 대수식을 이용한 카르노 도표의 작성
• 카르노 도표를 작성할 때, 진리표에 근거하여 작성한다.
• 변수가 4개인 표준형의 부울 대수식에 대한 카르노 도표의 작성,
 카르노 도표에서 행과 열의 이웃관계
• 이웃과의 그룹화는 부울 대수를 간략화하는
방법을 제시한다.
• 카르노 도표는 평면 형태로 보여지나
이웃 관계는 상하좌우 모두를 포함하므로
실제로는 원통 형태나 구(球) 형태다.
03 논리식의 간략화
 카르노 도표를 이용하여 간략화하는 과정을 단계별 정리
 1단계 : 주어진 부울식이나 진리표에 근거하여 카르노 도표를 작성한다.
 2단계 : 그룹화를 수행한다.
•
•
•
•
카르노 도표에서 1로 표시된 이웃들을 1, 2, 4, 8, 16 개씩 그룹화 한다.
가능하면 큰 개수로 그룹화하는 것이 간략화의 효과가 크다.
각각 다른 그룹에 여러 번 중복하여 그룹화 할 수 있다.
그룹화할 이웃이 없는 경우 단독으로 그룹화되고 이것은 간략화 되지는
않는다.
 3단계 : 각 그룹을 간략화 한다.
 4단계 : 각의 간략화된 부울식들 끼리 OR 연산을 한다.
03 논리식의 간략화
 카르노 도표의 그룹화
 2개항의 그룹화
 4개항의 그룹화
03 논리식의 간략화
 여덟 개 항의 그룹화
 중복 그룹화
03 논리식의 간략화
 무관 조건
• 출력에 관여하지 않는 입력이 존재할 수 있다. 이렇게 출력에 관여하지 않는
입력변수를 무관 조건(Don’t Care)이라 한다.
• 무관 조건은 이웃 영역을 그룹화할 때 가장 간단한 표현을 얻기 위해 임의로
채워질 수 있다. 간략화 과정에서 그룹화 할 수도 있고 그룹화 하지 않을 수도
있다
• 무관조건을 활용해서 그룹화하는 방법이다.
• 무관조건은 카르노 도표에서 x로 표기한다.
04 플립플롭
 플립플롭
 1비트의 정보를 기억할 수 있는 회로로 컴퓨터의 주기억장치 RAM이나
캐시 메모리, 레지스터를 구성하는 기본 회로
 전원이 있을 때만 기억이 유지되며 전원이 차단되면 정보는 사라지는
휘발성 기억소자
 래치(Latch)
• 수동적 또는 전자적 조작으로 상태를 바꾸지 않는 한 그 상태를 유지해 주는
장치 또는 회로를 말한다.
• 주어진 상태를 보관 유지할 수 있도록 NAND 게이트 또는 NOR게이트를
이용하여 회로를 구성한다.
• 논리 회로로 구성되었기 때문에 논리회로에 준하는 빠른 동작속도를 얻을 수
있고 플립플롭으로 활용한다.
04 플립플롭
 NOR 게이트를 이용한 R-S 래치
• 두 개의 NOR 게이트를 이용하여 R-S 래치를 구성한다.
• 두 입력으로 R(reset)과 S(set) 단자가 존재한다.
 R 입력이 존재하는 NOR의 출력으로 Q가 있고, S 입력이 존재하는 NOR 게이트의
출력으로 𝑄가 존재
 Q와 S는 NOT 관계 또는 1의 보수 관계다.
 NOR 게이트를 이용한 래치 회로의 진리표
• 출력 Q와 𝑄 는 항상 보수의 상태가 되어야
하지만, S=1, R=1인 경우는 모두 0을
출력되어 위배된다. 이를 불능이라 한다.
03 논리식의 간략화
 NAND 게이트를 이용한 R-S 래치
 기본적인 동작은 NOR 게이트를 이용한 S-R 래치와 동일
• NOR게이트를 이용한 것과의 차이는 S와 R의 입력이 S와 𝑆의 형태로
인가 된다.
• 진리표
03 논리식의 간략화
 R-S 플립플롭
• 래치에 입력 게이트를 추가하여 플립플롭이 클럭 펄스가 발생하는 동안에만
동작하도록 만든 논리회로다.
• 입력을 위한 두 개의 AND 게이트와 NOR 게이트를 사용한 R-S 래치로
구성한다.
 R-S 플립플롭의 회로도와 논리기호
 R-S 플립플롭의 진리표와 상태도
03 논리식의 간략화
 D 플립플롭
• 입력 단자 R과 S에 동시에 1이 입력되는 것을 회로적으로 차단한다.
• 입력신호 D가 클럭펄스에 의해서 변화 없이 그대로 출력에 전달되는 특성을
가지고 있어, 데이터(Data)를 전달하는 것과 지연(Delay)을 의미하는 D 플립
플롭이라고 한다.
 D 플립플롭의 회로도와 논리기호
 진리표와 상태도
03 논리식의 간략화
 J-K 플립플롭
• R-S 플립플롭에서 S=1, R=1인 경우 불능 상태가 되는 것을 해결한
논리회로다.
• J는 S(set)에, K는 R(reset)에 대응하는 입력으로 J와 K의 입력이 동시에 1이
입력되면 플립플롭의 출력은 이전 출력의 보수 상태로 변화하게 된다.
 J-K 플립플롭의 회로도와 논리기호
 진리표와 상태도
03 논리식의 간략화
 T 플립플롭
• J-K 플립플롭의 J와 K 입력을 묶어서 하나의 입력신호 T로 동작시키는
플립플롭이다.
• 입력이 0이 되면 이전상태(Q)의 값이 그대로 출력되고 입력이 1이 되면
이전상태(Q)의 보수 값이 출력되게 되는 플립플롭이다.
 T플립플롭의 회로도와 논리기호
 진리표와 회로도
IT CookBook, 컴퓨터 구조와 원리 2.0