107
멀멀멀멀멀멀멀멀 멀멀멀 omputer System Architecture 컴컴컴컴컴 컴컴컴컴컴 Computer System Architecture 멀멀멀멀멀멀멀멀 멀 멀멀 [email protected] 컴 2 컴 컴컴컴 컴컴컴컴

컴퓨터구조 Computer System Architecture 멀티미디어공학과 김 해영 hykim @tu.ac.kr

Embed Size (px)

DESCRIPTION

제 2 장 디지털 논리회로. 컴퓨터구조 Computer System Architecture 멀티미디어공학과 김 해영 hykim @tu.ac.kr. 제 2 장 디지털 논리회로. 구성. 논리 게이트( gate) 부울 대수( Boolean Algebra) 조합 논리 회로 순차 논리 회로. 논리 게이트. 논리회로는 서로 다른 두 가지 값 (0,1)을 다루는 회로 동작 특성 : 부울 대수로 표현 디지털 컴퓨터에서 이진 정보 : ADC(Analog to Digital Conversion) - PowerPoint PPT Presentation

Citation preview

Page 1: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

컴퓨터구조컴퓨터구조Computer System Architecture

멀티미디어공학과 김 해영[email protected]

제 2 장 디지털 논리회로

Page 2: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

제 2 장 디지털 논리회로

논리 게이트 (gate) 부울 대수 (Boolean Algebra) 조합 논리 회로 순차 논리 회로

구성

Page 3: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

논리회로는 서로 다른 두 가지 값 (0,1) 을 다루는 회로 동작 특성 : 부울 대수로 표현

디지털 컴퓨터에서 이진 정보 : ADC(Analog to Digital Conversion)

Physical Quantity Signal Binary Information

예 : V, A, F, 거리 Discrete Value

0 : 0.5V

1 : 3V~5V

논리 게이트

Page 4: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

게이트 이진 정보를 처리하는 가장 기초적인 논리회로 소자 각 게이트의 동작 : 부울 대수 / 함수 게이트의 입출력 관계 : 진리표 (Truth table)

George Boole 출생 : 영국의 링컨에서 출생 사고법칙에 대한 고찰 (Investigation of the Laws of Thought) 이라는

제목으로 책을 만들었는데 , 여기에서 형식논리와 오늘날 부울 대수라 알려진 집합의 대수인 새로운 대수학을 확립 .

부울 대수는 전기 스위치 회로이론 등과 같은 수많은 분야에 응용되고 있다 .1859 년에 부울은 < 미분방정식론 , Treatise on Differential Equations>, 1860 년에는 < 차분법론 , the Calculus of finite differenes> 을 발표

논리 게이트

Page 5: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

표 2-1 Digital Logic Gates AND, OR, INVERTER, BUFFER, NAND, NOR, XOR, XNOR

논리 게이트

F = A·B

AND gate

FA

B

OR gate

F = A + B

A F

F = A’

NOT gate

A

BF

A

BF

A

BF

A

BF

A

BF

A F

NAND gate NOR gate Buffer gate

F = (A·B)’ F = (A + B)’ F = A

XOR gate XNOR gateF = A B F = A B

Page 6: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

기본 게이트 ( Gate )

NOT 게이트 ( 인버터 ) 1 입력 1 출력 보수표시

기호 논리함수 진리표

x F F = NOT x

= x

x F

0 1

1 0

Page 7: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

AND 게이트 2 이상의 입력 1 출력 모든 입력이 참일 때만 참 값 출력

기호 논리함수 진리표

xF

F = x AND y

= x • y

= x y

x y F

0 0 0

0 1 0

1 0 0

1 1 1

y

전기회로의 직렬 연결

기본 게이트 ( Gate )

Page 8: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

OR 게이트 2 이상의 입력 1 출력 입력 중 어느 하나라도 참이면 참 값 출력

기호 논리함수 진리표

xF F = x OR y

= x + y

x y F

0 0 0

0 1 1

1 0 1

1 1 1

y

전기회로의 병렬 연결

기본 게이트 ( Gate )

Page 9: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

버퍼 게이트 ( Buffer ) 1 입력 1 출력 입력이 참일 때만 참 값 출력

기호 논리함수 진리표

x F F = x

x F

0 0

1 1

기본 게이트 ( Gate )

Page 10: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

NAND 게이트 2 이상의 입력 1 출력 모든 입력이 참일 때만 거짓 값 출력

기호 논리함수 진리표

xF F = x NAND y

= x • y

x y F

0 0 1

0 1 1

1 0 1

1 1 0

y

기본 게이트 ( Gate )

Page 11: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

NOR 게이트 2 이상의 입력 1 출력 모든 입력이 거짓일 때만 참 값 출력

기호 논리함수 진리표

xF F = x NOR y

= x + y

x y F

0 0 1

0 1 0

1 0 0

1 1 0

y

기본 게이트 ( Gate )

Page 12: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

XOR 게이트 ( Exclusive-OR Gate ) 2 이상의 입력 1 출력 두 입력 값이 서로 다를 때만 참 값 출력

기호 논리함수 진리표

xF

F = x XOR y

= x y + x y

= x + y

x y F

0 0 0

0 1 1

1 0 1

1 1 0

y

기본 게이트 ( Gate )

Page 13: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

XNOR 게이트 2 이상의 입력 1 출력 두 입력이 같은 경우에 만 참 값 출력

기호 논리함수 진리표

xF

x y F

0 0 1

0 1 0

1 0 0

1 1 1

yF = x XNOR y

= x y + x y

= x • y

기본 게이트 ( Gate )

Page 14: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

[ 문제 2-1] 두개의 입력 (two input) 을 가지는 게이트에서 입력 신호 A, B 의 조합에 따른 출력 타이밍도 (timing diagram) 를 그려라 .

논리 게이트

A

B0 0 1 01

0 1 1 0 0

0

1AND : AB

0

1OR : A+B

0

1NOT : A'

Page 15: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

[ 문제 2-1] 두개의 입력 (two input) 을 가지는 게이트에서 입력 신호 A, B 의 조합에 따른 출력 타이밍도 (timing diagram) 를 그려라 .

A

B0 0 1 01

0 1 1 0 0

0

1AND : AB

0

1OR : A+B

0

1NOT : A'

논리 게이트

Page 16: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

NAND와 NOR 게이트 : 표준 논리 게이트 모든 부울 함수 : NAND와 NOR 게이트로서 쉽게 구현

NOT 게이트

AND 게이트 OR 게이트

유니버설 게이트

A A A A

A

BAB

A

B

AB

A

BA+B

A

B

A+B

Fig. 2-2

Page 17: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

NAND 와 NOR 게이트 : 둘 이상의 게이트 출력을 선 (Wire) 으로 연결하면 AND/OR 논리를 수행 Wired-logic

개방 콜렉터형 NAND 게이트

Wired-Logic

A

B

C

D

F=(AB)'(CD)'=(AB+CD)'

R

vcc

ECL NOR 게이트

A

B

C

D

F=(A+B)'+(C+D)' =[(A+B)(C+D)]'

Fig. 2-3

Page 18: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

부울 대수 (Boolean Algebra) 이진 변수 (binary variable) + 논리 동작 (logic operation) 을 취급하는

대수 (A, B, x, y 등 ) (AND, OR, NOT…)

부울 대수의 사용 목적 : 디지털 회로의 설계와 해석을 용이하게 하기 위해 변수사이의 진리표 관계를 대수 형식으로 표현

부울 대수를 이용하면

① 변수 사이의 진리표 관계를 대수형식으로 표시하기가 용이

② 논리도의 입출력 관계를 대수형식으로 표시하기가 용이

③ 동일 기능을 가진 더 간단한 회로 ( 논리식의 간소화 ) 를 설계하는 것이 용이

부울 대수 (boolean Algebra)

Page 19: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

정의 2 진 변수와 논리 동작을 다루는 대수 2 진 연산자 +(OR), •(AND) 와 단항 연산자인 NOT 로 구성된다 .

기본 부울 대수 연산 진리표

x y x + y

0 0 0

0 1 1

1 0 1

1 1 1

x y x • y

0 0 0

0 1 0

1 0 0

1 1 1

x x

0 1

1 0

부울 대수 (boolean Algebra)

Page 20: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

Truth Table : Fig. 2-5 Relationship between

a function and variable

A B C F

0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 01 0 1 11 1 0 01 1 1 1

Logic Diagram : Fig. 2-5 대수적 표현 논리도

(Logic Diagram)(gates 로 표현 )

2n Combination

Variable n = 3

부울 대수 (boolean Algebra)

B

A

C

F

부울함수 (Boolean Function) : variable + operation

F(A,B,C) = A’B + C

Page 21: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

부울대수 법칙 : Table. 2-5 참조

- Operation with 0 and 1: x + 0 = x , x + 1 = 1 , x • 1 = x , x • 0 = 0

- Idempotent Law: x + x =x , x • x = x

- Complementary Law: x + x' = 1 , x • x' = 0

- Commutative Law: x + y = y + x , x • y = y • x

- Associative Law: x + (y + z) = (x + y) + z , x • ( y • z) = (x • y) • z

- Distributive Law: x • ( y+ x) = (x • y) + (x • z) , x + (y • z) = (x + y) • (x + z)

- DeMorgan's Law: (x + y)' = x' • y’ , (x • y )’ = x’ + y’

n 개의 변수로 확장한 일반식

(x1 + x2 + x3 + … xn)' = x1' • x2' • x3' • … xn’

(x1 • x2 • x3 • … xn) ' = x1' + x2' + x3' + … xn’

p57~p60 참조

부울 대수 (boolean Algebra)

Page 22: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

부울 대수 법칙 : Table. 2-5 참조p57~p60 참조

항등원의 존재 x • 1 = x x + 0 = x

교환 법칙 x • y = y • x x + y = y + x

분배 법칙 x + y z = ( x + y ) • ( x + z ) x ( y + z ) = x y + x z

역의 존재 x • x = 0 x + x = 1

한계법칙 x • 0 = 0 x + 1 = 1

대합성 x = x

멱등 법칙 x • x = x x + x = x

결합 법칙 x ( y z ) = ( x y ) z x + ( y + z ) = ( x + y ) + z

드모르강 법칙 x y = x + y x + y = x y

흡수법칙 x ( x + y ) = x x + x y = x

x + y = x y

인접법칙 x + x y = x + y x + x y = x + y

부울 대수 (boolean Algebra)

Page 23: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

드모르강의 정리 DeMorgan's Law: (x + y)' = x' • y’ , (x • y )’ = x’ + y’

연산자와 변수로 구성된 임의의 함수가 있을 때 이 함수의 전체 부정은

연산자 +는 · 로 , · 는 +로 바꾸고 ( + ↔ ·) 함수에 포함된 변수는 긍정은

부정으로 부정은 긍정으로 (A' ↔ A) 으로 바꾸어 각각의 변수에 대한

부정을 취하는 것과 결과가 같음을 나타내는 법칙으로 NAND 와 NOR 를

취급하는데 유용

드모르강 정리

graphic symbols for NOR gate

(a) OR-invert (b) invert-OR

(x+y+z)’xyz

xyz

x’ y’z’=

Page 24: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

graphic symbols for NAND gate

(a) NAND-invert (b) invert-NAND

xyz

xyz

(x’+y’+z’)(xyz)’ =

[ 표 2-5] 의 부울대수 기본관계식의 적용 예

A

B

CF

F=AB'C+AB'C'+A'C

Fig. 2-6

Page 25: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

[ 표 2-5] 의 부울대수 기본관계식의 적용 예

F=AB'C+AB'C'+A'C =AB'(C+C')+A'C =AB'+A'C

[ 표 2-5] 의 1-5 와 2-2 에 의해

A

B

C

F

Fig. 2-7

간소화된 함수식에 의한 회로로서 다섯 개의 게이트들 만을이용하여 그림 2-6 과 동일한 결과

F=AB'+A'C

Page 26: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

수식의 보수

어떤 함수 F 의 보수는 F' 이며 , 드모르강 정리를 이용하여 얻을 수 있다 . 드모르강 정리는 부울 함수식에서 모든 OR 연산은 AND 로 , 모든 AND 연산은 OR 로 바꾸어 주고 , 함수 내의 각 변수를 보수화 하면 된다 .

F = AC + C'D + B'D' 의 보수는 F'= (A'+C')(C+D')(B+D) 이 된다 .

수식의 보수

Page 27: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

부울 함수

부울함수 (Boolean Function) : 디지털회로를 설계하고 해석하기 위해 변수 사이의 진리표 관계를 대수 형식으로 표현

variable + operation(AND, OR, NOT) + 괄호 + 등호 예

위 부울함수의 입출력 관계 진리표

n 개의 2 진 변수 2n 개의 조합

F1 은 A=1, B=1, C=0 일 때만 출력 F1 = 1

마찬가지로 함수 F2, F3, F4 도 같은 방법 적용

F1 = ABC'

F2 = A + B'C

F3 = AB'C+AB'C'+A'C

F4 = AB' + A'C

Page 28: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

부울 함수

부울 함수 F1 , F2 , F3 , F4 에 대한 진리표

A B C F1 F2 F3 F4

0 0 0 0 0 0 0

0 0 1 0 1 1 10 1 0 0 0 0 0

0 1 1 0 0 1 1

1 0 0 0 1 1 11 0 1 0 1 1 11 1 0 1 1 0 01 1 1 0 1 0 0

F1 = ABC', F2=A+B'C, F3 = AB'C+AB'C'+A'C, F4 = AB'+A'C 에 대한 진리표

진리표에서 F3 과 F4 는 동일한 함수값 ,

같은 부울 함수에 대해 서로 다른 대수적 표현이 가능하다는 것을 의미 ,이 두 함수는 같다고 말한다 . 함수 F4 는 함수 F3 을 간소화 한 것이다 .

Tab. 2-6

Page 29: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

부울 함수

부울 함수 논리도 (Logic Diagram)

(d) F4 = AB'+A'C

AB

C

F1

(a) F1 = ABC'

C

B

AF2

(b) F2=A+B'C

A

B

CF3

(c) F3 = AB'C+AB'C'+A'C

A

B

C

F4

※ 함수 F4 가 함수 F3 보다 더 경제적

Page 30: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

최소항 (Minterm) 과 최대항 (Maxterm) 최소항 (Minterm) : n variables product ( x=1, x’=0) 최대항 (Maxterm) : n variables sum (x=0, x’=1)

부울 함수의 표준형 (standard form)

AB AB AB

A B

A B 2 variables example

x y Minterm Maxterm0 0 x'y' m0 x + y M0

0 1 x'y m1 x + y' M1

1 0 x y' m2 x'+ y M2

1 1 x y m3 x'+ y' M3

m0 + m1 + m2 + m3 M0 M1 M2 M3

Page 31: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

3 variables example

변수 최소항 최대항 함수

x y z 항 표시 항 표시 F1 F2

0 0 0 x y z m0 x + y + z M0 1 0

0 0 1 x y z m1 x + y + z M1 0 1

0 1 0 x y z m2 x + y + z M2 0 1

0 1 1 x y z m3 x + y + z M3 1 0

1 0 0 x y z m4 x + y + z M4 0 1

1 0 1 x y z m5 x + y + z M5 0 1

1 1 0 x y z m6 x + y + z M6 1 0

1 1 1 x y z m7 x + y + z M7 0 1

부울 함수의 표준형 (standard form)

Page 32: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

함수의 표현 예제

곱 ( 최소항 ) 의 합형 : 출력값이 1 이 되는 항의 합

합 ( 최대항 ) 의 곱형 : 출력값이 0 이 되는 항의 곱

곱의 합형의 보수

F2 = ( x + y + z ) • ( x + y + z ) • ( x + y + z )

= M0 + M3 + M6

= ∏ (0, 3, 6)

F1 = x y z + x y z + x y z

= m0 + m3 + m6

= ∑ (0, 3, 6)

F1 = x y z + x y z + x y z

= ( x y z ) • ( x y z ) • ( x y z )

= ( x + y + z ) • ( x + y + z ) • ( x + y + z )

= M0 + M3 + M6 = F2

Page 33: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

최소항의 합 진리표에서 출력값이 1 이 되는 최소항을 구하고 이들 최소항들에 대해 모두 OR 연산 을 취함

F1 = x'y'z + xy'z' + xy'z + xyz' = m1 + m4 + m5 + m6 = ∑(1, 4, 5, 6)

= M0 · M2 · M3 · M7 = ∏(0, 2, 3, 7)(Complement = M0 M2 M3 M7 )

최소항의 합 (sum of product)

X Y Z F1 F2

0 0 0 0 10 0 1 1 00 1 0 0 10 1 1 0 11 0 0 1 01 0 1 1 01 1 0 1 01 1 1 0 1

부울 함수는 주어진 진리표를 보고 대수적으로 표시

Page 34: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

최대항의 곱 (product of sum)

최대항의 곱 진리표에서 출력값이 0 이 되는 최대항을 구하고 이들 최대항들에 대해 모두 AND 연산 을 취함

F2 = (x+y+z')·(x'+y+z)·(x'+y+z')·(x'+y'+z) = M1 · M4 · M5 · M6

= ∏(1,4, 5, 6)

부울 함수는 주어진 진리표를 보고 대수적으로 표시

X Y Z F1 F2

0 0 0 0 10 0 1 1 00 1 0 0 10 1 1 0 11 0 0 1 01 0 1 1 01 1 0 1 01 1 1 0 1

Page 35: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

(1) 정리와 가설을 이용한 간소화 방법

부울함수의 간소화

식에 포함된 문자와 항들의 개수를 줄여 간단한 형태로 유도하는 절차 논리 게이트를 이용한 설계가 간단하여 구현시 가격 , 유지보수에 유리

F = AB' + B = B + A B' = (B + A)(B + B') = (B + A)·1 = B + A = A + B

Tab. 2-5

1-7 적용

1-12 적용

1-5 적용

1-7 적용2-3 적용

A

B

F = AB' + B

A

BF = A + B

간소화

Page 36: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

(2) Map 을 이용한 간소화 방법 2 variables 3 variables 4 variables

0 1

2 3A

B B

0 1 3 2

4 5 7 6A

C A

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

B

C

D

5 variables

0 1 3 2 6 7 5 4

8 9 11 10 14 15 13 12

24 25 27 26 30 31 29 28

16 17 19 18 22 23 21 20A

B

C

D EE

부울함수의 간소화

논리적으로 인접한 항이 포함되도록 2, 4, 8, 16 개 그룹으로 묶으면 그만큼 지워지는 변수가 많아지므로 가능한 한 많은 수의 항을 묶는다 . 간소화된 항들은 최소항의 합형이나 최대항의 곱형으로 표현

( 참고설명 참조 )

Page 37: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

(2) Map 을 이용한 간소화 방법 2 variables

부울함수의 간소화

논리적으로 인접한 항이 포함되도록 2, 4, 8, 16 개 그룹으로 묶으면 그만큼 지워지는 변수가 많아지므로 가능한 한 많은 수의 항을 묶어야 하며 , 간소화된 항들은 최소항의 합형이나 최대항의 곱형으로 표현

AB

0 1

0

1

ABC

00 01

0

1

11 10

ABCD

00 01

00

01

11 10

11

10

A'B' A'B

AB' AB

A'B'C'

AB'C'

A'B'C

AB'C

A'BC

ABC

A'BC'

ABC'

A'B'C'D'

A'BC'D'

ABC'D'

AB'C'D'

A'B'C'D

A'BC'D'

ABC'D

AB'C'D

A'B'CD

A'BCD

ABCD

AB'CD

A'B'CD'

A'BCD'

ABCD'

AB'CD'

3 variables

4 variables

Page 38: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

인접 영역

인접 영역의 수 = 2n (1, 2, 4, 8, ….) The squares at the extreme ends of the

same horizontal row are to be considered adjacent

The same applies to the top and bottom squares of a column

The four corner squares of a map must be considered to be adjacent

Groups of combined adjacent squares may share one or more squares with one or more group

0 1 3 2

4 5 7 6

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

0 1 3 2

4 5 7 6

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

0 1 3 2

4 5 7 6

부울함수의 간소화

Page 39: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

[ 예제 ] F= x + y’z

(1) 진리표

x y z F Minterm

0 0 0 0 m0

0 0 1 1 m1

0 1 0 0 m2

0 1 1 0 m3

1 0 0 1 m4

1 0 1 1 m5

1 1 0 1 m6

1 1 1 1 m7

(2) )7,6,5,4,1(),,( zyxF

(3) 인접 영역을 묶는다

z

x

y

0 1 3 2

4 5 7 6

F= x + y’z

부울함수의 간소화

1

11 1 1

Page 40: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

[ 예제 ]

F=AC’ + BC

)7,6,4,3(),,( CBAF

[ 예제 ]

F=C’ + AB’

)6,5,4,2,0(),,( CBAF

B

0 1 3 2

4 5 7 6A

C B

0 1 3 2

4 5 7 6A

C

A

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

B

C

D

[ 예제 ]

F=C’ + AB’

)10,9,8,6,2,1,0(),,,( DCBAF

A

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

B

C

D

Product-of-Sums Simplification

F=B’D’ + B’C’ + A’C’D

F’=AB + CD + BD’(square marked 0’s)

(F’)’=(A’ + B’)(C’ + D’)(B’ + D)

)10,9,8,5,2,1,0(),,,( DCBAF

Sum of product

Product of Sum

부울함수의 간소화

Page 41: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

NAND Implementation Sum of Product : F=B’D’ + B’C’ + A’C’D

NOR Implementation Product of Sum : F=(A’ + B’)(C’ + D’)(B’ + D)

무관 조건 (Don’t care conditions) F(A,B,C)=(0, 2, 6), d(A,B,C)= (1, 3, 5) F=A’ + BC’= (0, 1, 2, 3, 6)

B’D’

C’

A’D

A’B’C’D’

D’

A

B

0 1 3 2

4 5 7 6

C

X

X

X1 11

NAND/NOR 게이트로의 구현

Page 42: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

카르노 맵 ( karnaugh Map )

진리표를 그림 모양으로 나타내어 부울 함수의 최소화에 사용 두 개의 변수 중 , 하나의 비트만이 서로 다를 때 논리적으로

인접 두 최소항에서 하나의 문자만 다를 때 그 문자를 제외한 논리곱

형성 A + A’ = 1 인 관계 이용 최소항 (Minterm) 과 최대항 (Maxterm) 을 이용 예 )

A B + A B = B

A

B0 1

0 0 0

1 1 1

Page 43: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

카르노 맵 ( karnaugh Map )

2 변수 카르노 맵 최대 4 개의 최소항으로 구성 부울 함수의 각 최소항 부분만 1 을 기입하고 , 나머지는 0 으로 채움

0 1

0 m0 m1

1 m2 m3

0 1

0 x y x y

1 x y x y

y y

x x y x y

x x y x y

Page 44: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

2 변수 카르노 맵의 예제

F = x y + x y + x y

x y F

0 0 0

0 1 1

1 0 1

1 1 1

y

x0 1

0 0 1

1 1 1

진리표

F = x + y

카노르 맵

카르노 맵 ( karnaugh Map )

Page 45: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

3 변수 카르노 맵

최대 8 개의 최소항으로 구성 서로 인접한 것을 묶을 수 있도록 배치 최소항의 순서는 그레이 코드값에 따라 배치

y z

xy z y z y z y z

x m0 m1 m3 m2

x m4 m5 m7 m6

y z

x 00 01 11 10

0 x y z x y z x y z x y z

1 x y z x y z x y z x y z

카르노 맵 ( karnaugh Map )

인접한 변수가 서로 다른 값을 가짐

Page 46: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

3 변수 카르노 맵의 예제

F ( x, y, z ) = m ( 0, 2, 3, 4, 6 )

진리표

F = z + x y

x y z F

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 0

y z

x 00 01 11 10

0 1 0 1 1

1 1 0 0 1

카노르 맵

카르노 맵 ( karnaugh Map )

Page 47: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

3 변수 논리회로 구현

z

x

y

F

카르노 맵 ( karnaugh Map )

F = z + x y

Page 48: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

4 변수 카르노 맵 최대 16 개의 최소항으로 구성 최소항의 순서는 그레이 코드값에 따라 배치

y z

wxy z y z y z y z

w x m0 m1 m3 m2

w x m4 m5 m7 m6

w x m12 m13 m15 m14

w x m8 m9 m11 m10

y z

w x 00 01 11 10

00 w x y z w x y z w x y z w x y z

01 w x y z w x y z w x y z w x y z

11 w x y z w x y z w x y z w x y z

10 w x y z w x y z w x y z w x y z

카르노 맵 ( karnaugh Map )

Page 49: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

4 변수 카르노 맵의 예제 최대항을 이용한 맵

0 을 묶어 값을 취한 후 각 문자의 보수를 취함

F ( w, x, y, z ) = M ( 1, 2, 4, 6, 9, 12, 14, 15 )

F = ( x + z ) ( x + y + z ) ( w + y + z ) ( w + x + y )

y z

w x 00 01 11 10

00 1 0 1 0

01 0 1 1 0

11 0 1 0 0

10 1 0 1 1

F = x z + x y z + w y z + w x y

카르노 맵 ( karnaugh Map )

Page 50: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

1) F ( w, x, y, z ) = m ( 0, 1, 2, 8, 10, 11, 14, 15 )

2) F ( w, x, y, z ) = m ( 1, 4, 6, 7, 8, 9, 10, 11, 15 )

3) F ( w, x, y, z ) = M ( 3, 4, 6, 7, 11, 12, 13, 14, 15 )

카르노 맵을 이용한 간소화 연습

Page 51: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

y z

w x 00 01 11 10

00 1 1 0 1

01 0 0 0 0

11 0 0 1 1

10 1 0 1 1

F = w x y + x z + w y

1) F ( w, x, y, z ) = m ( 0, 1, 2, 8, 10, 11, 14, 15 )

카르노 맵을 이용한 간소화 연습

Page 52: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

y z

w x 00 01 11 10

00 1

01 1 1 1

11 1

10 1 1 1 1

F = x y z + w x z + x y z + w x

2) F ( w, x, y, z ) = m ( 1, 4, 6, 7, 8, 9, 10, 11, 15 )

카르노 맵을 이용한 간소화 연습

Page 53: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

y z

w x 00 01 11 10

00 0

01 0 0 0

11 0 0 0 0

10 0

F = w x + y z + x z

F = ( w + x ) ( y + z ) ( x + z )

3) F ( w, x, y, z ) = M ( 3, 4, 6, 7, 11, 12, 13, 14, 15 )

카르노 맵을 이용한 간소화 연습

Page 54: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

무관 조건 ( Don’t Care Condition, 리던던시 )

입력 변수들의 조합이 함수 출력에 영향을 미치지 않는 경우 함수 간단화에 사용 예 ) BCD코드에서 4 자리인 1010, 1100, 1101, 1110, 1111 등은

발생하지 않는다는 조건 하에서 동작 . 결과적으로 출력과 무관한 논리회로가 구성됨 .

무관조건이 있는 논리함수 표현

F ( w, x, y, z ) = m ( 1, 3, 5, 7 ) + d ( 0, 4 )

Page 55: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

무관 조건이 포함된 함수의 간소화

y z

w x 00 01 11 10

00 1 d d

01 1

11 d 1

10 1 d d 1

y z

w x 00 01 11 10

00 1 d 0 d

01 0 0 1 0

11 0 d 1 0

10 1 d d 1

F ( w, x, y, z ) = m ( 0, 7, 8, 10, 15 ) + d ( 1, 2, 9, 11, 13 )

F ( w, x, y, z ) = x y z + x z F ( w, x, y, z ) = ( x + y ) ( x + z ) ( x + z )

곱의 합형 합의 곱형

Page 56: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

논리회로의 구분

조합회로

현재의 출력이 이전의 입력 조합에 관계없음 현재의 입력 조합에 의해서만 출력 결정 논리 게이트 만으로 구성 가산 , 감산 등의 연산 회로에 사용종류 : 반가산기 , 전가산기 , 디코더 , 엔코더 , 멀티플렉서

순차회로

논리 게이트 외에 F/F 와 같은 메모리 장치요소 사용메모리 요소의 상태와 입력 조합에 의해 출력 결정즉 , 현재의 입력뿐 아니라 과거의 입력도 출력에 영향을 줌 . 회로의 동작 : 내부상태와 시간순차 (Time Sequence) 에 의해

결정종류 : 카운터 회로 , 계수기 , 정보 기억 소자

Page 57: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

조합 논리 회로 (Combinational Circuits) 입력과 출력을 가진 논리 게이트 (logic gates) 의 집합으로 출력은 현재의

입력값에 의해 결정 Fig. 2-12 조합회로 블록도

해석 (Analysis) Logic circuits diagram Boolean function or Truth table

설계 (Design)(Analysis 의 반대 )

1. 주어진 문제를 분석2. 입출력 변수의 개수를 결정 / 입출력 변수에 기호 할당3. 입출력 변수에 대한 진리표 작성 (Truth table)4. 출력을 간소화된 부울 함수로 표현 (Map 과 Boolean 대수 이용 )

5. 논리 회로를 작성 (Logic circuit diagram)

i0i1

in

f0f1

fm. .

.

. . .Combinational

Circuits(Logic Gates)

Experience

조합 논리 회로 (Combinational Circuit)

Page 58: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

조합 논리 회로 (Combinational Circuits)

i0i1

in

f0f1

fm. .

.

. . .Combinational

Circuits(Logic Gates)

조합 논리 회로 (Combinational Circuit)

【문제 2.6】위의 그림과 비교하면서 다음 문제를 생각해 봅시다 . 아래 그림에서 몇 개의 입력 조합이 나타나는가 ? 또 몇 개의 출력이 나오는가 ?

A

B

C F1

E

D

F2

Fig. 2-13

Page 59: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

조합 회로의 해석은 주어진 논리 회로도로부터 부울 함수나 진리표 를 구하고 논리 회로의 동작을 해석

해석 과정

조합 논리 회로 해석 예

(1) 논리 회로도에서 해석을 위해 필요한 입 · 출력 변수명을 결정한다 .

(2) n 개의 입력 변수에 대한 2n 개의 입력조합과 출력변수 에 대한 진리표를 작성하거나 각 게이트의 출력 부울 함수를 구한다 .

(3) 최종 출력 부울 함수를 구한 후 간소화한다 .

(4) 출력 부울 함수와 진리표를 통해 논리 회로의 동작을 해석한다 .

(1) 논리 회로도에서 해석을 위해 필요한 입 · 출력 변수명을 결정한다 .

(2) n 개의 입력 변수에 대한 2n 개의 입력조합과 출력변수 에 대한 진리표를 작성하거나 각 게이트의 출력 부울 함수를 구한다 .

(3) 최종 출력 부울 함수를 구한 후 간소화한다 .

(4) 출력 부울 함수와 진리표를 통해 논리 회로의 동작을 해석한다 .

Page 60: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

그림 2-14 와 같은 조합 회로를 해석 3 개의 입력변수와 1 개의 출력변수

조합 논리 회로 해석 예

AB

CF

T1

T2

T3

(1) 입력변수 : A, B, C 출력변수 : F 해석을 위한 임시변수 : T1, T2, T3 을 결정(2) 입력변수에 대한 진리표를 작성 혹은 각 게이트의 출력을 구한다 . T1 = AB', T2 = AB'C, T3 = A'B(3) 최종 출력 부울 함수를 구한다 . F = T1 + T2 + T3 = AB' + AB'C + A'B F = AB' + A'B

Fig. 2-14

간소화

Page 61: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

조합 논리 회로의 해석 예제

1) 입력 변수와 출력 변수 선정

F

xyz

T1

T2

T3

Page 62: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

2) 입력 변수 진리표 작성

x y z T1 T2 T3 F

0 0 0 0 0 0 0

0 0 1 0 0 0 0

0 1 0 0 1 0 1

0 1 1 0 1 0 1

1 0 0 0 0 0 0

1 0 1 0 0 0 0

1 1 0 0 0 1 1

1 1 1 1 0 0 1

조합 논리 회로의 해석 예제

Page 63: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

3) 각 게이트 출력 구함

4) 진리표에 의한 부울 함수 구함

T1 = x y z

T2 = x y

T3 = x y z

F = T1 + T2 + T3 = x y z + x y + x y z

조합 논리 회로의 해석 예제

Page 64: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

5) 부울 함수식을 간소화 한다 .

F = x y z + x y z + x y

= x y ( z + z ) + x y

= y ( x + x )

= y

조합 논리 회로의 해석 예제

맞지않음 수정요함

Page 65: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

무관 조건이 있는 조합 논리 회로의 해석 예제

1) 입력 변수와 출력 변수 선정

d

b

w

y

z

T4

T5x

aT3

c

T1

T2

Page 66: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

무관 조건이 있는 조합 논리 회로의 해석 예제

2) 입력 변수에 의한 입력 진리표 작성입력 변수가 4 개 이므로 16 가지 입력 조합 .

3) 각 게이트의 출력을 구한다

T1 = y + z

T2 = y • z = y z + y z

T3 = T1 x = ( y + z ) x = x y + x z

T4 = T1 x = ( y + z ) x = x y + x z

T5 = x y z

Page 67: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

무관 조건이 있는 조합 논리 회로의 해석 예제

4) 진리표 a, b, c, d 의 각각의 함수 값을 구하고 , 간소화 한다 .

a = w + T3 = w + T1 x

= w + ( y + z ) x

= w + x y + x zb = T4 + T5

= x T4 + x y z = x ( y + z ) + x y z

= x y + x z + x y z

c = T2 = y z + y z

d = z

Page 68: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

글로 표현된 문제로부터 시작하여 부울 함수나 진리표 이용해 논리 회로의 동작을 계획하고 논리 회로도를 완성하는 과정

설계 과정

조합 논리 회로 설계

(1) 설계에 관한 문제를 보고 분석한다 .

(2) 주어진 문제에서 입력과 출력변수의 개수를 구하고 각각의 기호를 붙인다 .

(3) (2) 항의 내용에 따른 진리표를 얻는다 .

(4) (3) 항의 진리표에서 각 출력 변수에 대한 간소화된 부울 함수를 얻는다 .

(5) 논리 회로도를 그린다 .

(1) 설계에 관한 문제를 보고 분석한다 .

(2) 주어진 문제에서 입력과 출력변수의 개수를 구하고 각각의 기호를 붙인다 .

(3) (2) 항의 내용에 따른 진리표를 얻는다 .

(4) (3) 항의 진리표에서 각 출력 변수에 대한 간소화된 부울 함수를 얻는다 .

(5) 논리 회로도를 그린다 .

Page 69: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

설계 과정

1) 주어진 문제를 분석한다 . 2) 논리 회로의 입 . 출력 변수와 변수 명을 결정 3) 진리표를 작성한 후 부울 함수를 구한다 4) 부울 함수를 간소화 한다 5) 간소화된 부울 함수로 부터 논리 회로 설계

설계 시 유의사항

게이트 입력의 최소화 게이트 수의 최소화 논리회로의 전파 지연시간 최소화 상호 연결 수 최소화

조합 논리 회로 설계

Page 70: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

가산기 ( Adder)

1비트의 두 2 진수를 더하는 조합 논리 회로 반가산기 : 2 입력 (A, B) 과 2 출력 ( 합 : S, 자리올림 : C)

전가산기 : 3 입력 (Carry considered)(A, B, C0) 과 2 출력 ( 합 : S, 자리올림 : C1) 진리표

조합 논리 회로 설계 예

반가산기 (Half Adder : HA)

전가산기 (Full Adder : FA)

A

B

SC

반가산기

A

B

SC1

C0 하위비트캐리

전가산기

A B S C

0 0 0 0

0 1 1 01 0 1 0

1 1 0 1

A B C0 S C1

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

반가산기

전가산기

Page 71: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

반 가산기

1 비트의 두개 2 진수를 더하는 논리회로

2 입력 2 출력 2 입력 : 피 연산수 (x) 와 연산수 (y) 2 출력 : 합 ( S : Sum) 과 올림수 ( C : Carry )

설계 순서1) 문제 분석

x

y+

SC : 합

올림수

: 연산수

: 피 연산수

Page 72: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

반 가산기

2) 입 출력 변수와 변수명 정의 피연산 입력 변수 : x 연산 입력 변수 : y 합 출력변수 : S 올림수 출력변수 : C

3) 반 가산기의 진리표 작성

x y C S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Page 73: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

반 가산기

4) 진리표로부터 출력 함수 S, C 최소화

5) 구해진 출력 함수로 회로 설계

S = x y + x y

= x + y

C = x y

xS

y

C

맵으로 간소화 시키면 ???

Page 74: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

ABC0 00 01

0

1

11 10

1

1

1

1

ABC0 00 01

0

1

11 10

1

1

1 1

설계 예 : 전가산기 (Full Adder) 를 설계하시오 . 1. 문제 분석 2. 입출력 변수의 개수를 결정 / 변수를 할당 3 입력 (A, B, C0), 2 출력 (S: sum, C1: carry)

3. 진리표 작성 4. 맵을 이용한 간소화

C1 = AB’C0 + A’BC0 + AB

=C0(AB’ + A’B) + AB

= C0 (A B) + AB

5. 논리 회로도

S=AB’C0’ + A’B’C0 + ABC0 + A’BC0’ = C0’(AB’ + A’B) + C0(A’B’ + AB)

= C0’(A B) + C0(A B)’

= a’b + ab’ (let a= C0, b=AB)

= A B C0

(AB)’=(AB’+A’B)’=(A’+B)(A+B’)=A’A+A’B’+AB+BB’=A’B’+AB

조합 논리 회로 설계 예

A B C0 S C1

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

A

B S

C1

C0FA

SA

B

C0C1

Page 75: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

감산기 ( Subtractor)

1비트의 두 2 진수를 감산하는 조합 논리 회로 반감산기 : 2 입력 (X, Y) 과 2 출력 ( 차 : D, 자리빌림 : B)

전감산기 : 3 입력 (Borrow considered)(X, Y, B0) 과 2 출력 ( 차 : D, 자리빌림 : B1) 진리표

조합 논리 회로 설계 예

반감산기 (Half Subtractor : HS)

전감가산기 (Full Subtractor : FS)

X

Y

DB

반감산기

X

Y

DB1

B0 상위비트빌림

전감산기

X Y D B

0 0 0 0

0 1 1 11 0 1 0

1 1 0 0

X Y B0 D B1

0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 0 11 0 0 1 01 0 1 0 01 1 0 0 01 1 1 1 1

반감산기

전감산기

Page 76: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

디코더 (Decoder) n비트의 2 진 입력을 받아 2n 개의 출력 중 하나를 활성화 활용 : 메모리 칩 선택 신호 , 명령어 해독과 제어 장치 등에 사용 : n 개의 n×2n 디코더 입력과 2n 개의 출력 2 × 4 디코더를 설계

1. 입출력 변수의 개수를 결정 / 변수를 할당 2 입력 (A, B), 4 출력 (D0, D1, D2, D3) 2. 진리표를 작성 3. 논리회로 작성

조합 논리 회로 설계 예

A B D0 D1 D2 D3

0 0 1 0 0 0

0 1 0 1 0 01 0 0 0 1 0

1 1 0 0 0 1

D3

A

BD2

D1

D0

Fig. 2-21

2×4 디코더

37

Page 77: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

인에이블 입력을 가진 3x8 디코더 회로동작 제어를 위해 인에이블 (enable) 입력 사용 예 : 그림 [2-22] enable input = 0, 모든 출력 0 enable input = 1, 정상 동작

조합 논리 회로 설계 예

Fig. 2-22

인에이블 입력을 가지는 3×8 디코더

A

B

D0

Enable

C D1

D2

D3

D4

D5

D6

D7

3X8디코더Input Output

Enable블록도

38

Page 78: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

디코더 (Decoder) 를 이용한 조합 논리 회로 설계 n 개의 입력변수들에 대한 2n개의 최소항 표현 이를 이용하여 임의의 조합 논리 회로 설계시 디코더를 사용 즉 , 모든 부울함수는 최소항의 합형으로 표현 가능 디코더 최소항 표현 , 합 OR 게이트 이용 n 개의 입력과 m 개의 출력을 가지는 임의의 조합 회로를 설계하려면 n × 2n 디코더와 m 개의 OR 게이트로 구현 가능

예 : 전가산기를 디코더로 설계 ( 입력변수 3 개 , 출력변수 2 개 )

조합 논리 회로 설계 예

Fig. 2-23

S(A,B,C0) = ∑(1, 2, 4, 7)

C1(A,B,C0) = ∑(3, 5, 6, 7)

S(A,B,C0) = ∑(1, 2, 4, 7)

C1(A,B,C0) = ∑(3, 5, 6, 7)

3X8디코더

A

B

C0 20

S

C1

01234567

21

22

39

Page 79: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

인코더(Encoder)

디코더의 반대 기능을 수행, OR 게이트로 구성 2n개의 입력과 n개의 출력 8진× 2진 인코더 설계

1. 입출력 변수의 개수를 결정/변수를 할당 8 입력 (D0, D1, D2, D3, D4, D5, D6, D7), 3 출력(A,B,C) 2. 진리표를 작성

3. 진리표로부터 출력 부울 함수를 구하면 A = D4 + D5 + D6 + D7

B = D2 + D3 + D6 + D7

C = D1 + D3 + D5 + D7

4. 논리회로 작성

조합 논리 회로 설계 예

D0 D1 D2 D3 D4 D5 D6 D7 A B C

1 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 00 0 0 1 0 0 0 0 0 1 10 0 0 0 1 0 0 0 1 0 00 0 0 0 0 1 0 0 1 0 10 0 0 0 0 0 1 0 1 1 00 0 0 0 0 0 0 1 1 1 1

40

Page 80: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

2. 회로에서 인코더의 입력은 단지 하나의 입력만이 1 이 된다고 가정

이 회로에서 입력은 8 개이므로 28=256 가지의 입력 조합이 나타남 . 이들 중 단지 8 개만이 의미 있는 입력이므로 다른 입력들은 전부 무관조건이 됨 .

조합 논리 회로 설계 예

D0A = D4+D5+D6+D7

D3

D2

D1

D4

D5

D6

D7

B = D2+D3+D6+D7

C = D1+D3+D5+D7

Fig. 2-24

1. 입력 D0 은 어떤 OR 게이트에도 연결되지 않았는데 이 경우에

2 진 출력은 모두 0 이 되어야 하기 때문

8 진 -2 진 인코더

Page 81: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

멀티플렉서(Multiplexer) 여러 개의 입력선 중의 한 선으로부터 정보를 받아들여 단일의 출력선으로 정보를 출력하는 조합 논리 회로 특정 입력선의 선택은 선택선(Select line)에 의해 제어 2n개의 입력과 1개의 출력, n개의 선택선 4× 1 멀티플렉서 설계

1. 입출력 변수의 개수를 결정/변수를 할당 4 입력 (I0, I1, I2, I3), 1 출력(Y), 2 선택선(S0, S1) 2. 함수표(진리표)를 작성

OR게이트의 역할: 선택된 입력과 출력을 연결시켜 주는 통로

조합 논리 회로 설계 예

S0 S1 Y0 0 I00 1 I11 0 I21 1 I3

3. 논리회로 작성

Fig. 2-25(a)

S 1

Y

S 0

I 3

I 2

I 1

I 0

Page 82: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

4 개의 2×1 멀티플렉서 (Multiplexer) Enable input = 0 , 정상 동작 선택선 S 와 인에이블 입력선 E 는 공통으로 인가

조합 논리 회로 설계 예

Fig. 2-25(a)S

0

1E

A02X1MUX

B0

Y0

S

0

1E

A12X1MUX

B1

Y1

S

0

1E

A22X1MUX

B2

Y2

S

0

1E

A32X1MUX

B3

Y3

ES

E S Y i

1 X 0

0 0 Ai

0 1 Bi

(a) 블록도

(b) 함수표

Page 83: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

디멀티플렉서 (DeMultiplexer) 멀티플렉서의 역기능을 수행 하나의 입력선과 2n 개의 출력선 , n 개의 선택선으로 구성 1×4 디멀티플렉서

조합 논리 회로 설계 예

Fig. 2-27

(c) 블록도

(b) 함수표

S0S1

I

Y0

Y1

Y2

Y3

(a) 회로도

S0 S1 Y0 0 Y0

0 1 Y1

1 0 Y2

1 1 Y3

1X4DEMUX

I

S1

선택

입력 출력

0

2

1

3S0

Page 84: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

코드 변환 회로 (2 진 / 그레이 코드 변환기 ) 그레이 코드 : 서로 이웃한 수끼리 1비트만 다르게 구성된 코드 3비트의 2 진수를 그레이 코드로 변환하는 회로 설계

1. 입출력 변수의 개수를 결정 / 변수를 할당 3 입력 (a, b, c), 3 출력 (x, y, z) 2. 진리표를 작성 ( 변환과정 다음 P)

조합 논리 회로 설계 예

3. 맵을 이용한 간소화 : 출력 부울 함수 유도

Fig. 2-28(a)

a b c x y z0 0 0 0 0 00 0 1 0 0 10 1 0 0 1 10 1 1 0 1 01 0 0 1 1 01 0 1 1 1 11 1 0 1 0 11 1 1 1 0 0

abc

00 01

0

1

11 10

1 1 1 1

abc

00 01

0

1

11 10

1 1

1 1

abc

00 01

0

1

11 10

1

1

1

1

x = a y = a'b + ab' z = b'c + bc'

4. 논리 회로 작성

a b

x y z

c

( )그레이코드

(2 )진수

45

Page 85: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

2진수/그레이 코드 변환 과정

그레이 코드 /2진수 변환 과정

조합 논리 회로 해석 예

① 2 진수의 최상위 비트는 그레이 코드의 최상위 비트가 된다 .

② 최상위 비트부터 한 비트씩 오른쪽으로 진행하면서 이웃하는 2 개의 2 진수에 대한 XOR 연산을 수행하면 그 결과가 그레이 코드가 된다 .

③ 마지막 코드가 얻어질 때까지 ②번을 반복한다 .

① 2 진수의 최상위 비트는 그레이 코드의 최상위 비트가 된다 .

② 최상위 비트부터 한 비트씩 오른쪽으로 진행하면서 이웃하는 2 개의 2 진수에 대한 XOR 연산을 수행하면 그 결과가 그레이 코드가 된다 .

③ 마지막 코드가 얻어질 때까지 ②번을 반복한다 .

① 그레이 코드의 최상위 비트는 2 진수의 최상위 비트가 된다 .

② 최상위 비트와 두 번째 비트를 XOR 연산하면 결과가 2진수가 된다 .

③ 두 번째 2 진수 비트와 세 번째 그레이 코드의 비트를 XOR 연산하면 결과가 2 진수가 된다 .

④ 마지막 코드가 얻어질 때까지 ③번을 반복한다 .

간소화와 논리회로 작성 fig.2-28

① 그레이 코드의 최상위 비트는 2 진수의 최상위 비트가 된다 .

② 최상위 비트와 두 번째 비트를 XOR 연산하면 결과가 2진수가 된다 .

③ 두 번째 2 진수 비트와 세 번째 그레이 코드의 비트를 XOR 연산하면 결과가 2 진수가 된다 .

④ 마지막 코드가 얻어질 때까지 ③번을 반복한다 .

간소화와 논리회로 작성 fig.2-28

Page 86: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

코드 변환 회로 ( BCD / 2421 ) 2421 코드 : 각 자리수의 가중치를 21 , 22, 21 , 20 로 한 코드 BCD 코드와 2421 는 4비트의 2 진수의 16 가지의 비트 조합이 가능하지만 16 개중 10

개만을 사용하므로 6 개는 무관 조건이 됨 1. 입출력 변수의 개수를 결정 / 변수를 할당 4 입력 (w, x, y ,z), 4 출력 (a, b, c, d) 2. 진리표를 작성

조합 논리 회로 설계 예

3. 맵을 이용한 간소화 : 출력 부울 함수 유도

Fig. 2-30

w x y z a b c d0 0 0 0 0 0 0 00 0 0 1 0 0 0 10 0 1 0 0 0 1 00 0 1 1 0 0 1 10 1 0 0 0 1 0 00 1 0 1 1 0 1 10 1 1 0 1 1 0 00 1 1 1 1 1 0 11 0 0 0 1 1 1 01 0 0 1 1 1 1 1

4. 논리 회로 작성45

P.99

Page 87: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

ROM 을 이용한 조합 회로 설계 2.3.4 에서 디코더를 이용한 조합회로 설계 ROM = 디코더 + OR

디코더의 출력들과 OR 게이트의 입력들을 서로 연결 ROM 을 프로그래밍 n 개의 입력선과 m 개의 출력선으로 구성 2n 개의 워드 (word) 와 워드당 m 비트로 구성

조합 논리 회로 설계 예

n개의 입력과 m개의 출력을 가지는 조합회로를 ROM을 이용하여 구현 2n x m ROM이 필요 예

Fig. 2-34

ROM 블록도

MAR(DECODER)

A1

A2

A3

An

2 x mROM

n

MBR

A B F1 F2

0 0 0 00 1 1 11 0 1 01 1 1 1

F1(A, B) = ∑(1, 2, 3)

F2(A, B) = ∑(1, 3)

Page 88: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

ROM 을 이용한 조합 회로 설계 구현 : 2 개 (n) 의 입력과 2 개의 출력 (m) 을 가지는 ROM 필요 ROM 의 크기 4 x 2 2n x m

조합 논리 회로 설계 예

Fig. 2-35

4 x 2 ROM 으로 조합 회로 구현

A B F1 F2

0 0 0 00 1 1 11 0 1 01 1 1 1

F1(A, B) = ∑(1, 2, 3)

F2(A, B) = ∑(1, 3)

2 X 4DECODER

A1

A2

0

321

F1 F2

Page 89: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

순차 논리 회로 조합 논리 회로 + 메모리 요소 (플립플롭 )

출력 : 입력변수의 값과 현재상태 [Q(t)] 의 값에 의해 결정

순차 논리 회로 (Sequential logic circuit)

Fig. 2-36

순차회로 블록도

조합회로입력

출력

메모리요소[ : Q(t)]현재상태Clock

Combinational Circuit = Gate Sequential Circuit = Gate + F/F

동기식 (synchronous) : 입력신호 타이밍이 클럭 발생기에서 규칙적으로 발생

비동기식 (asynchronous) : 입력신호들이 변화하는 순서에 좌우됨

50

메모리 요소 : 플립플롭 (f/f) 한 비트의 이진 정보를 저장할 수 있는 이진 셀 (cell) 정상 출력 Q(t) 과 보수 출력 Q’(t)

Page 90: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

기본 플립 플롭 회로 2 개의 NAND 게이트 혹은 NOR 게이트로 구성 SR 래치 (latch)

플립 플롭 (Flip flop)

Fig. 2-38

R(reset)

S(set)Q

Q'

1

0

1

0

R(reset)

S(set)

Q

Q'

1

0

1

0

S R Q(t) Q'(t)1 0 0 11 1 0 1 (after S=1, R=0)0 1 1 01 1 1 0 (after S=0, R=1)0 0 1 1 ( )불능 상태

S R Q(t) Q'(t)1 0 1 00 0 1 0 (after S=1, R=0)0 1 0 10 0 0 1 (after S=0, R=1)1 1 0 0 ( )불능 상태

50

Page 91: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

SR(Set/Reset) 플립플롭

S R0 00 11 01 1 ? Indeterminate

Q(t+1) Q(t) no change 0 clear to 0 1 set to 1

플립 플롭 (Flip flop)

Q

Q'

R

S

CP( )클럭 펄스

논리도

Fig. 2-39

Q S R Q(t+1)0 0 0 00 0 1 00 1 0 10 1 1 불능1 0 0 11 0 1 01 1 0 11 1 1 불능

특성표

QSR

00 01

0

1

11 10

1

X

X

1

1

Q(t+1) = S + R' QSR = 0

특성 방정식

S R

Q'Q

CP

기호 S 와 R 이 동시에 1 이 될 수 없음

Page 92: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

JK(Jack/King) 플립플롭

D(Data) 플립플롭

RS 플립플롭의 변형으로 R=S=1인 경우 , RS f/f 은 불능이 되므로S와R이 동시에 1이 되지 않도록 회로적으로 보장한 것

D 01

Q(t+1) 0 clear to 0 1 set to 1

J K0 00 11 01 1 Q(t)' Complement

Q(t+1) Q(t) no change 0 clear to 0 1 set to 1

플립 플롭 (Flip flop)

D

Q' Q

CP

QD

0 1

0

1

1

1

Q(t+1) = D

K J

Q' Q

CP

QJ K

00 01

0

1

11 10

1

1 1

1

Q(t+1) = J Q' + K' Q

Fig. 2-40

Fig. 2-41

Page 93: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

T(Toggle, 반전 ) 플립플롭 : JK f/f 을 한개의 입력으로 한 것

T01

Q(t+1) Q(t) no change Q'(t) Complement

플립 플롭 (Flip flop)

T

Q' Q

CP

QT

0 1

0

1 1

Q(t+1) = TQ' + T' Q

11

1

Q

Q'

T

CP

논리도

기호 특성 방정식

특성표

Fig. 2-42

Page 94: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

주 -종 플립플롭 CP = 0 : 주 (master) 플립플롭 비활성화 CP = 1 : 종 (slave) 플립플롭 비활성화

주 -종 (Master-Slave) 플립 플롭

주 -종 플립플롭

주 -종 플립플롭에서의 시차 관계

SlaveMaster

S

R

S

R

S

R

CP

Q

Q'

Y

Y'

Fig. 2-43

CP

S

Y

Q

1. S=1, R=0 인 경우 , CP 가 0 에서 1 로 변하는 동안 주 f/f 는 세트되고 종 f/f 는 CP=0 이므로 아무런 영향이 없음

2. CP=0 가 1 에서 0 으로 바뀌면 주 f/f 의 정보가 종 f/f 에 전송되며 외부 출력이 Q=1 이 됨

3.주종 f/f 의 특성은 CP 가 0 에서 1 로 바뀌는 순간에 외부 출력 Q 가 변화함

55

Page 95: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

p109~ p112 의 특성표를 보고 여기표 (Excitation Table)

현재 상태와 다음 상태를 알 때 플립플롭의 입력 조건 정의한 표 현재 상태 (Present State) 와 다음 상태 (Next State) 로 표현

Q(t) Q(t+1) S R 0 0 0 X 0 1 1 0 1 0 0 1 1 1 X 1

SR F/F

Q(t) Q(t+1) D 0 0 0 0 1 1 1 0 0 1 1 1

D F/F

Q(t) Q(t+1) J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0

J K F/F

Q(t) Q(t+1) T 0 0 0 0 1 1 1 0 1 1 1 0

T F/F

플립 플롭의 여기표

Page 96: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

레벨 트리거 플립플롭 (Level -Triggered F/F) 상태 변화 : Clock Pulse 가 1 인 상태를 유지하는 동안의 입력신호

변화가 출력에 반영

예제

(a) 출력 파형 ( 초기상태 = low)

S R

Q'Q

CP

(b) 블록도

Fig. 2-45

플립 플롭의 트리거링 (triggering)

CP

R

S

Q

Page 97: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

CP

R

S

Q( )상승

Q( )하강

상승 에지 하강 에지

(a) 클록 펄스의 에지 (b) 출력 파형 ( 초기상태 = low)

S R

Q'Q

CP

S R

Q'Q

CP

(c) 상승 에지 플립플롭 블록도 (d) 하강 에지 플립플롭 블록도

Fig. 2-46

플립 플롭의 트리거링 (triggering)

에지 트리거 플립플롭 (Level -Triggered F/F) 상태 변화 : Clock Pulse 의 에지 ( 상승에지와 하강에지 ) 동안에만

입력신호 변화가 출력에 반영

Page 98: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

순차 논리 회로의 해석 논리도로 부터 상태표 혹은 상태도를 도출

Clocked synchronous sequential circuit

플립플롭 입력식 ( ) Boolean expression for F/F input 입력식

DA = Ax + B’x, DB = A’x

출력식 y = Ax’ + B’x’

Combinational Circuit

Flip-Flops

Input Output

Clock

x

순차 논리 회로의 해석

Clock

1

1 DA

C

A

A'

DB

C

B

B'

A

A'

B

B'

y

x

clockClock

A

A’

B

B’

y

DA

DB

Fig. 2-47

60

Page 99: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

상태표 (State Table) Present state, input, next state, output 표현

상태도 (State Diagram)

상태도의 그래픽 표현 (Graphical representation )

원 ( 상태 : state), 직선 ( 상태의 전이 ), I/O(input/output)

Present State Input Next State Output

A B x DA DB A B y0 0 0 0 0 0 0 10 0 1 1 1 1 1 00 1 0 0 0 0 0 00 1 1 0 1 0 1 01 0 0 0 0 0 0 11 0 1 1 0 1 0 01 1 0 0 0 0 0 11 1 1 1 0 1 0 0

Input Equ.

Input Equ. = Next State

순차 논리 회로의 해석

00

1101

100/1

1/0

0/0

1/0

0/1

1/0

0/1

1/0

Fig.2-47 의 회로에 입력값을 넣어서 작성

Page 100: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

순차 논리 회로 설계 과정

순차 논리 회로의 설계

① 설계 사양으로부터 상태표와 상태도를 구한다 .

② 사용할 플립플롭의 종류를 선택하고 플립플롭의 수를 결정한다 .

③ 플립플롭의 입력과 출력 각각에 문자 기호를 붙인다 .

④ 상태표를 확장하여 여기표와 출력표를 구한다 .

⑤ 맵을 이용하여 간소화된 플립플롭의 입력함수와 조합 회로 부분의 출력함수를 구한다 .

⑥ 논리도를 그린다 .

① 설계 사양으로부터 상태표와 상태도를 구한다 .

② 사용할 플립플롭의 종류를 선택하고 플립플롭의 수를 결정한다 .

③ 플립플롭의 입력과 출력 각각에 문자 기호를 붙인다 .

④ 상태표를 확장하여 여기표와 출력표를 구한다 .

⑤ 맵을 이용하여 간소화된 플립플롭의 입력함수와 조합 회로 부분의 출력함수를 구한다 .

⑥ 논리도를 그린다 .

Page 101: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

설계 예 : 이진 카운터 설계 2비트 이진 카운터를 설계 , JK 플립플롭 사용 단 상태의 변화는 외부입력 x=1 일 때 이진 상태 00,01,10,11,00,… 를

반복

1. 상태도 작성

2. 상태표 / 여기표 작성00

01

10

11

x=0 x=0

x=1

x=1

x=1 x=1

x=0 x=0

0/00

1/01Present State Input

A B x A B J A KA J B KB

0 0 0 0 0 0 x 0 x0 0 1 0 1 0 x 1 x0 1 0 0 1 0 x x 00 1 1 1 0 1 x x 11 0 0 1 0 x 0 0 x1 0 1 1 1 x 0 1 x1 1 0 1 1 x 0 x 01 1 1 0 0 x 1 x 1

Next State F/F Input( )여기표

Next State =Output

Q(t) Q(t+1) J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0

J K F/F

순차 논리 회로의 설계

JK 특성표

Page 102: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

3. 맵을 이용한 간소화

ABx

00 01

0

1

11 10

X X

1

X X

ABx

00 01

0

1

11 10

X X X

1

X

ABx

00 01

0

1

11 10

1

1

X

X

X

X

ABx

00 01

0

1

11 10

X

X

X

X

1

1

4. 논리 회로 작성

JA = Bx

KA = Bx

KB = x

JB = x

J

Q' Q

K J

Q' Q

K

CP

x

A B

A A B B

순차 논리 회로의 설계

Fig. 2-52

2비트 이진 카운터 논리도

Page 103: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

동기식 카운터 , 비동기식 카운터 ( 리플 카운터 ) 비동기식 예제

(a) 타이밍 차트

(b) 10 진 카운터 회로

Fig. 2-53

카운터의 설계

0

0

0

0 0 0 0

0 0

00

0 0 0 0 0 0

0 0

1 1 1 1 1

1 1 1 1

1 1 1 1

1 1

0 00

0

0

0

CP

Q1

Q2

Q3

Q4

0

0

1

1

Q J

K

Q J

K

Q J

K

Q J

K

1

1

1

1

1

1

1

1

Q1Q2Q3Q4

CP

Clear

65

Page 104: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

동기식 예제 (3비트 이진 카운터 ) 하나의 공통 클럭이 모든 플립플롭의 클럭에 연결되며 이 공통 클럭에

의해 모든 플립플롭이 동시에 동작하는 카운터 n 비트의 2 진 카운터는 n 개의 플립플롭으로 구성되며 0 에서 2n-1

까지 셀 수가 있음

상태도 (b) 상태도와 여기표

카운터의 설계

000

100

010 110

001

101011

111

플립플롭 입력A B C A* B* C* TA TB TC

0 0 0 0 0 1 0 0 10 0 1 0 1 0 0 1 10 1 0 0 1 1 0 0 10 1 1 1 0 0 1 1 11 0 0 1 0 1 0 0 11 0 1 0 1 0 0 1 11 1 0 1 1 1 0 0 11 1 1 0 0 0 1 1 1

현재상태 다음상태상태표 여기표

1. 상태도 작성 2. 상태표와 여기표 작성

Page 105: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

동기식 예제 (3비트 이진 카운터 )

카운터의 설계

ABC

00 01

0

1

11 10

1

1

ABC

00 01

0

1

11 10

1

1

1

1

ABC

00 01

0

1

11 10

1

1

1

1

1

1

1

1

TA = BC TB = C TC = 1

3. 맵을 이용한 간소화

T

Q' Q

CP

A B

T

Q' Q

T

Q' Q

C

( )카운터펄스

1

A B C

4. 논리 회로 작성

Fig. 2-56

Page 106: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

레지스터 2 진 정보를 저장하는 기억소자 여러 개의 플립플롭으로 구성 n비트 레지스터 : n 개의 플립플롭으로 구성 기능 : 저장 , 시프트 (Shift), 회전 등

레지스터

4비트 레지스터

D

Q

D

Q

D

Q

I4 I3 I2

A4 A3 A2 A1

D

Q

I1

CP

Fig. 2-57

Page 107: 컴퓨터구조 Computer System Architecture 멀티미디어공학과  김 해영 hykim @tu.ac.kr

멀티미디어공학과 김해영Computer System Architecture

시프트 레지스터 오른쪽 , 왼쪽으로 이진 정보를 시프트 n비트 시프트 레지스터 : n 개의 플립플롭 + 제어 게이트

입출력 방식

시프트 레지스터

오른쪽 시프트 레지스터의 블록도

Fig. 2-58

REGISTER AShift- right

Serial inputSerial output

Parallel outputs

직렬 입력 - 직렬 출력직렬 입력 - 병렬 출력병렬 입력 - 직렬 출력병렬 입력 - 병렬 출력

직렬 입력 - 직렬 출력직렬 입력 - 병렬 출력병렬 입력 - 직렬 출력병렬 입력 - 병렬 출력