컴퓨터 구조 2장. 논리회로의 활용
목 차 스위칭 회로 부울 연산과 부울 대수 논리 게이트 논리 게이트의 구현 논리 연산식의 간단화 조합회로 저장장치 순차뢰로
논리회로란 컴퓨터를 구성하는 기본 회로 2진 회로의 구성체로, AND, OR, NOT을 기본으로 표현함 스위칭 회로로 표현 Yes/No 1/0 On/OFF True/False 스위칭 회로로 표현 정보 표현의 단위
1. 스위칭 회로 스위치로 2진 정보를 표현하거나 논리 연산을 실행 스위치의 연결된 상태 : 1 (x) ◑ 직렬 연결된 두 스위치 AND 논리 연산 ◑ 병렬 연결된 두 스위치 OR 논리 연산
2. 부울연산과 부울대수 부울 연산 (Boolean operator) 예) E = xy + y'z 부울 연산식 진리표 이름이 부여된 2진 변수(x, y, z 등)와 논리 연산자 +, × , '로 구성되는 연산식 예) E = xy + y'z 진리표 모든 입력들의 조합에 대해 연산 결과의 출력 값을 표로 표시
2. 부울연산과 부울대수 예) x, xy, xy', xyz 등은 기본곱 리터럴(literal) 기본곱 (fundamental product 또는 minterm) 리터럴 또는 동일한 리터럴이 반복되지 않는 리터럴들의 곱 예) x, xy, xy', xyz 등은 기본곱 분리 정규형(dnf, disjunctive normal form) 하나 이상의 기본곱들(이들 사이에는 서로 포함되는 경우가 없는경우)의 논리합
2. 부울연산과 부울대수 기본곱의 포함관계 기본곱 (P1)이 기본곱(P2)의 한 부분인 경우, P1 + P2 = P1 이된다. 예) xy + xyz = xy
2. 부울연산과 부울대수 부울 대수 (Boolean algebra) 논리 연산자 +, ×, ' 및 두 개의 성분 0과 1에 대해, 집합 B가 다음 4개의 법칙들을 만족할 때, 집합 B를 부울 대수라 함. 법칙 + X 교환법칙(commutative law) a+b = b+a axb = bxa 분배법칙(distributive law) ax(b+c) = (axb)+(axc) a+(bxc) = (a+b)x(a+c) 항등원법칙(identity law) a+0 = a ax1 = a 보수법칙(complement law) a+a’ = 0 axa’ = a 등역법칙(idempotent law) a + a = a 경계법칙(boundness law) a+ 1 = 1 흡수법칙(absorption law) a +(a x b) = a 연관법칙(associative law) (a + b) + c = a + (b + c) 대합법칙(involution law) (a’)’ = a 드모르강법칙(demorgan’s law) (a + b)’ = a’ x b’
예제1 위의 여섯 개의 법칙[5]~[10]에 대해 제시된 항등식에 쌍대성의 특성을 작용한 항등식을 보여라. 등역 법칙 : a×a=a 경계 법칙 : a×0=0 흡수 법칙 : a×(a+b)=a 연관 법칙 : (a×b)×c=a×(b×c) 드모르강 법칙 : (a×b)'=a'+b'
예제 다음식의 쌍대를 구하라.
2. 부울연산과 부울대수 부울식의 분리 정규형화 또는 식의 간단화 과정 (1) 드모르강 법칙과 대합 법칙이 적용되면 적용, 보수 연산들을 처리 예) (ab')'c = (a'+(b') ')c = (a' + b)c (2) 분배법칙의 적용으로 리터럴의 곱의 합으로 전환하고, 교환법칙, 등역 법칙, 흡수 법칙중 가능한 법칙을 적용 기본곱들의 합 형식인 분리 정규식을 구함. 예) (a' + b)c = a'c + bc
예제2 E=(a(bc)')'(a+b)을 기본곱들의 합으로 표현하라. E =(a'+((bc)')')(a+b) (드모르강의 법칙) 위의 식에 단계 2를 적용해보면, E=(a'+bc)(a+b) =aa'+abc+a'b+bbc (분배 법칙) =abc+a'b+bc (보수 법칙, 등역 법칙) =a'b+bc (흡수 법칙)
예제 [풀이] 부울 대수의 항등성을 이용하여 흡수법칙 x(x+y)=x 를 증명하라 x(x+y) = (x + 0) (x + y) 항등원법칙 = x + 0 · y 분배 법칙 = x + y · 0 교환 법칙 = x + 0 항등원법칙 = x 항등원법칙
3. 논리 게이트 이진 정보에 대한 AND, OR 및 NOT등의 논리 연산을 실행하는 논리 회로 0/1이 입력으로 주어지고, 그 결과는 0/1로 표현 기 호 논리식 진리표 AND NOT BUFFER
3. 논리 게이트 기 호 논리식 진리표 NAND OR
3. 논리 게이트 기 호 논리식 진리표 NOR XOR XNOR
3. 논리 게이트 논리 게이트의 활용 부울 연산식을 이용한 표현 NOR 게이트 구현 : (A + B)’ => A’*B’ AND와 NOT게이트 활용 NAND 게이트 구현 : (A * B)’ => A’ + B’ OR와 NOT 게이트 활용 XOR 게이트 구현 : (A ⊕ B) = A’B + AB’ AND, OR와 NOT 게이트 활용
x’y’의 구현 x’+y’의 구현 x’ ⊕ y’의 구현 x+y+z의 구현
예제3 다음과 같은 3변수 연산을 가장 간단하게 구현하라. v=x'y'z+xy'z'+x'yz'+xyz x y z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1
4. 논리 게이트의 구현 논리회로 구현 기법 TTL ECL(emitter-coupled logic) 양극성 트랜지스터로 구현되며 논리 게이트 구현에 가장 많이 사용 ECL(emitter-coupled logic) 게이트 지연 시간(1-2nsec)이 매우 적어 특성상 고속회로에 사용 MOS(metal oxide semiconductor) TR(transistor) 낮은 속도에서 동작하는 VLSI에 적합 CMOS(complementary metal oxide semiconductor) 잡음에 대한 영향이 적고, 전력 소비가 적고 회로의 밀도가 높음
5. 논리 연산식의 간단화 간단화의 목적 간단화 방법 논리 회로도의 비용 및 구현 공간을 최소화 최소의 연산식 정의 연산식에 있는 변수의 수에 따라 부울 대수의 법칙을 적용한 변형 방법 카르노맵(Karnaugh map) 이용 방법
5. 논리 연산식의 간단화 연산식 변형 카르노맵 연산식의 특성과 부울대수의 법칙 이용 최소의 부울 표현식을 찾을 수 있는 방법 적용 변수들의 모든 가능한 기본곱을 사각형으로 표현하는 그림적 표현 방법 카노맵의 표현 만약 변수가 n개라면 카노맵은 2n 개의 사각형으로 구성 각 인접 사각형은 하나의 변수만이 서로 달라야 한다 출력이 1인 기본곱에 해당하는 사각형은 1로, 나머지는 0으로 표시
5. 논리 연산식의 간단화 카르노맵 표현 방법 2변수 3변수 4변수
5. 논리 연산식의 간단화 부울식을 카노우 맵으로 그려라 표현]
5. 논리 연산식의 간단화 카노맵을 통한 간단화 인접한 두개의 사각형을 묶어서 새로운 더 큰 사각형을 만들면 변수의 수가 하나 줄어든 새로운 기본곱
예제 부울식을 카노우 맵을 사용하여 최소화 하여라 [표현]
5. 논리 연산식의 간단화 논리회로 논리회로구현
5. 논리 연산식의 간단화 세 개의 변수를 가진 부울식을 카노우 맵으로 표현 여덟 개의 칸이 필요 각 칸은 여덟 개의 최소항을 표현 인접하는 두 개의 칸이 합성 가능하면 최소화 맨 왼쪽 칸과 맨 오른쪽 칸은 붙어 있는 것으로 생각 인접된 칸 중에서 최대를 구함 최대 인접된 칸을 취하는 방법이 다양하므로 구한 최소항도 다양
예제4 [그림 2-18]과 같은 카노맵으로 표현되는 연산식 E=xyz+xy'z+xyz'+xy'z'을 최소화하라.
예제 카노우 맵을 사용하여 최소화하여라 1) 2) 3)
예제 최소화된 회로를 구하라
5. 논리 연산식의 간단화 Don't care 항목 카노맵 상에서 d 로 표시 0 과 1 중 어느것으로 처리해도 무관한 항목 카노맵 간략화에 유리한 값으로 치환하여 사용
5. 논리 연산식의 간단화 4변수 카르노맵 16개의 칸으로 나누어진다. 16개의 최소항을 표현
예제5 다음과 같은 카노맵으로 표현되는 연산식을 최소화하라.
예제 카노우 맵을 사용하여 부울식을 최소화 하여라
6. 조합회로(Combinational Circuit) n개의 입력에 대해 2n개의 출력값을 가짐 입력과 출력에 따라 조합회로와 순차회로로 구분 조합회로 입력값에 의해서만 출력값이 결정되는 논리 회로 정보를 저장할 수 없는 단점을 가짐 논리 게이트(AND, OR, NOT)으로 표현 가능 순차회로 출력과 입력에 의해 출력밧이 결정되는 논리 회로 정보를 저장할 수 있는 장점을 가짐 논리 연산에 의해 구해짐.
6. 조합회로(Combinational Circuit) 입력 값에 의해서만 출력이 결정되어지는 논리회로 진리표로부터 논리 회로를 구현하는 방법 ① 진리표에서 출력 값이 1인 모든 경우에 대해 부울 연산식을 표현한다. ② ① 에서 구한 식에 대한 카노맵 구성한다. ③ 최소의 연산식을 얻는다. ④ 이 연산식을 게이트를 이용하여 논리 회로로 구현한다.
6. 조합회로(Combinational Circuit) 가산기(Adder) 2개의 1비트 정보를 산술적으로 더하는 회로 반가산기(half adder)와 전가산기(full adder)로 구분 반가산기 2개의 입력(x,y)와 두개의 출력(합과 올림수) 전가산기 3개의 입력(x,y,올림수)와 두개의 출력(합과 올림수)
6. 조합회로(Combinational Circuit) 1비트 반가산기 S = x'y + xy' C = xy
6. 조합회로(Combinational Circuit) 1비트 전가산기 카노맵을 이용한 C의 최소 표현식 C= xy + xCin + yCin 전체 회로의 효율성을 위해 C = xy + x'yCin + xy'Cin S = x'y'Cin + x'y Cin' + xy'Cin' +xyCin C = x'yCin + xy'Cin + xyCin + xyzCin'
6. 조합회로(Combinational Circuit) 디코더(decoder) n 비트의 입력으로 2n 개의 출력중 하나를 1로 설정하도록 하는 회로 ♣ 2입력 4출력 디코더 (2x4 디코더) active high 출력 디코더에 대한 진리표 => 활성화되는 출력은 1이고 비활성화되는 출력은 0
6. 조합회로(Combinational Circuit) 디코더의 응용 각각 고유의 주소를 갖고 있는 많은 장치 중에서 하나를 선택하는 것 주소는 디코더의 입력이 되고 하나의 출력이 활성화되면 그 주소에 해당하는 하나의 장치를 선택 하나의 디코더로 선택할 수 있는 것보다 더 많은 장치가 있는 경우 동작 입력을 이용하여 디코드 추가적인 디코더를 사용
6. 조합회로(Combinational Circuit) 인코더(incoder) 2n 개의 입력으로 n개의 출력을 설정하는 회로 여러 장치 중 하나가 신호를 보낼 때 그 장치를 나타내는 코드를 만들어 냄
6. 조합회로(Combinational Circuit) 멀티플렉서(Multiplexer) 2n 개의 입력값 중의 하나를 출력으로 연결하는 논리회로 2n 개의 입력 중 하나를 선택하기 위한 별도의 n개의 선택 입력선 ♣ 4x1 멀티플렉서 입력선 x1, x2, x3, x4, 선택선은 s1, s2, 출력선 v
예제6 4×1 멀티플렉서를 2개 사용하여 8×1 멀티플렉서를 구현하라 입력선 8개(I0..I7) 출력선 v 각 멀티플렉서 공통 선택선 S0,S1 멀티플렉서 선택선S2
6. 조합회로(Combinational Circuit) 패리티 검사 회로 전송되는 정보의 오류를 검출하는 방법 전송된 1의 개수에 따라 홀수/짝수 패리티 검사 방법으로 나뉨 짝수 패리티 검사 정보의 비트들 중에서 '1'인 비트의 수가 짝수가 되도록 패리티 비트를 설정
7. 저장 장치 프로그램과 자료를 저장하기 위한 저장 장치 동기방식에 따라 구분 저장원리에 따라 동기형 저장 장치 클록펄스(Ck) 같은 특정신호가 지시하는 시간에만 입력되는 정보를 저장하는 비동기형 저장 장치 시간적 제한없이 언제나 정보를 저장할 수 있는 저장원리에 따라 정적 저장 장치 동적 저장 장치
7. 저장 장치 플립플롭 한 비트의 정보를 저장하는 정적 저장장치
7. 저장 장치 플립플롭 정보가 저장되는 시간적 특성 비동기 플립플롭 클록 플립플롭 특정 값 동작 클록값이 1(또는 0)상태일때만 저장 상승에지 동작 클록값이 0->1로 변하는 순간 저장 하강에지 동작 클록값이 1->0으로 변하는 순간 저장 주종 플립플롭 클록값이 1상태는 주, 0일 때는 종 플립플롭이 동작
7. 저장 장치 플립플롭의 종류 ♣ SR 플립플롭 ♣ D 플립플롭 ♣ JK 플립플롭 ♣ T 플립플롭 R=S'가 되도록 S값을 인버터를 통해 R에 연결 ♣ SR 플립플롭 ♣ JK 플립플롭 ♣ T 플립플롭 J=K=1인 경우에는 이전의 저장 내용을 보수로 저장 ♣ D 플립플롭
예제7 SR 플립플롭을 이용하여 JK 플립를롭을 구현하라. 풀이 R=KQ, S=JQ'으로 연결하여 구현한다. J=K=1인 경우에 JK 플립플롭은 토글 스위치로 동작 풀이 R=KQ, S=JQ'으로 연결하여 구현한다.
예제8 JK 플립를롭을 이용하여 T 플립플롭을 구현하라. T 플립플롭은 JK 플립플롭을 J=K으로 변형
7. 저장장치 레지스터(Register) n비트 레지스터는 n 개의 플립플롭으로 구성 플립플롭은 공통의 클록으로 동작
7. 저장장치 쉬프트 레지스터 각 클록 펄스에 의해 정확히 한 비트씩 이동 직렬 입력값이 첫 번째 플립플롭으로 입력 각 플립플롭의 출력을 자료가 이동할 방향의 다음 플립플롭의 입력에 연결
8. 순차회로(Sequential Circuit) 저장 장치가 포함된 논리회로 순차회로는 입력과 순차 회로내의 상태에 의해 출력과 새로운 상태 결정 회로의 입력과 저장장치에 저장된 값들에 의해 출력이 결정 저장 장치의 새로운 상태도 회로의 입력과 저장 장치의 이전 상태에 의해 결정
8. 순차회로(Sequential Circuit) 비동기 카운터 장점 : 입출력 특성을 이용하여 회로 설계가 쉬움 단점 : 정보의 지연이 발생할 수 있음 동기 카운터 장점 일정한 간격으로 정보를 전송 정보의 지연이 발생하지 않음 단점 상태변화를 처리하는 과정 필요 입출력 특성만을 가지고 다양한 동작을 구현하는 순차회로 설계가 어려움
8. 순차회로(Sequential Circuit) 비동기 카운터 회로
8. 순차회로(Sequential Circuit) 동기 카운터 회로
비동기 카운터의 클럭펄스 동기 카운터의 클럭펄스