Computer System Architecture

Slides:



Advertisements
Similar presentations
1 8 장 대형 순차회로 문제의 해법 1) 시프트 레지스터 2) 카운터 3)ASM 도를 이용한 설계 4)One Hot encoding 5) 복잡한 예제.
Advertisements

CHAPTER 5 KARNAUGH MAPS( 카노 맵 ) This chapter in the book includes: Objectives Study Guide 5.1Minimum Forms of Switching Functions 5.2Two- and Three-Variable.
디 지 털 공 학디 지 털 공 학 한국폴리텍 V 대학.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
컴퓨터시스템구조 개요 Lecture #1.
Chapter 7. Flip-Flops and Other Multivibrators
3장. 디지털 회로 Lecture #3.
해시 함수.
4장. 조합 논리 회로 Lecture #4.
마이크로프로세서 메모리 및 입출력장치 인터페이스
디지털논리설계 ( ) Introduction to Digital Logic Design
제2장 부울대수와 논리 게이트 내용 2.1 논리신호 2.2 기본 논리함수 : NOT 게이트(INV 게이트)/ AND 게이트/ OR 게이트 2.3 부울대수 : 부울대수의 정의와 사용 / 부울대수의 기본법칙/ 쌍대성/ 드모르강 정리 2.4 만능 게이트 : NAND.
Digital Logic Structures
기본 컴퓨터 프로그래밍 Lecture #6.
디지털 시스템 2010년 1학기 교수: 송상훈 연구실: 율곡관 603-B
7 조합논리회로 IT CookBook, 디지털 논리회로.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
4 컴퓨터에서 활용되는 디지털 논리회로 IT CookBook, 컴퓨터 구조와 원리 2.0.
Sequential logic circuit
순차로직 개요.
32비트 캐리 예측 덧셈기(CLA) RCA(Ripple Carry Adder)
가산기 설계.
5 불 대수 IT CookBook, 디지털 논리회로.
Discrete Math II Howon Kim
신호등 제어기 차량의 흐름에 따라 신호등의 신호를 제어하는 장치 신호등 제어기의 입출력 신호
To Hear will be forget To see will get memory again To do will be know.
공학실험.
4 기본 논리게이트 IT CookBook, 디지털 논리회로.
Computer System Architecture
COMPUTER ARCHITECTIRE
논리회로 설계 기초 (1) Lecture #1.
제3장 부울식의 간략화 내용 3.1 부울식의 대수적 간략화
부울대수(Boolean Algebra)
순차회로 모델링 Sun, Hye-Seung.
디지털논리설계 ( ) Introduction to Digital Logic Design
Ch2-2. VHDL Basic VHDL lexical element VHDL description
3. 게이트레벨 최소화.
1장. 디지털 논리 회로 다루는 내용 논리 게이트 부울 대수 조합 논리회로 순차 논리회로.
하드웨어 구현 - A/D 변환기(A/D converter) - 샘플링 주파수(Sampling frequency)
Chapter 08 제어장치와 마이크로 오퍼레이션.
컴퓨터 구조 2장. 논리회로의 활용.
Flip-Flop 설계.
Unit 1 Number Systems and Conversion (수의 체계와 변환)
Computer System Architecture
Programmable Logic Device
이재상 기본 논리회로와 불의 대수 이재상
Digital System Experiment Lab. Orientation
6장 연산 장치 6.1 개요 6.2 연산장치의 구성요소 6.3 처리기 6.4 기타 연산장치.
3. 게이트레벨 최소화.
Sequence Logic.
Chapter 01. 들어가기.
Chapter 01 디지털기초.
논리회로 설계 및 실험 3주차.
Digital design 5장. 동기식 순차논리.
Chapter 06. 논리식의 간소화.
가산기 설계.
Chapter 12 Memory Organization
Discrete Math II Howon Kim
Chapter 5. 자료의 연산과 논리회로 e-learning Computers.
Chapter 08. 플립플롭.
Introduction to Lab. Instruments
래치(latch) 일반적으로 플립플롭과는 별개의 부류로 분류되는 쌍안정 형태의 저장소자이다.
9장 동기 순서 논리회로 경남정보대_논리회로_김 미 진.
4. Flip-Flops : S-R, D, J-K, T 컴퓨터 구조 실습 안내서.
DEGITAL LOGIC CIRCUIT Term Project – 4 bit ALU.
아날로그 신호와 디지털 신호의 개념을 이해할 수 있다.
Chapter 09. 동기 순서논리회로.
진리 나무 Truth-tree  ∧ ∨ → ↔  =.
논리회로 설계실험 ICE ICE 담당교수 : 김 인 수.
Presentation transcript:

Computer System Architecture 컴퓨터구조 Computer System Architecture 컴퓨터공학과 강성인

제 2 장 디지털 논리회로 논리 게이트(gate) 부울 대수(Boolean Algebra) 조합 논리 회로 순차 논리 회로

논리 게이트 0 : 0.5V 1 : 3V~5V 논리회로는 서로다른 두 가지 값 (0,1)을 다루는 회로 동작 특성 : 부울 대수로 표현 디지털 컴퓨터에서 이진 정보 : ADC(Analog to Digital Conversion) Physical Quantity Signal Binary Information 0 : 0.5V 1 : 3V~5V

논리 게이트 표 2-1 Digital Logic Gates F = A·B F = A + B F = A’ AND gate AND, OR, INVERTER, BUFFER, NAND, NOR, XOR, XNOR F = A·B F = A + B F = A’ AND gate OR gate NOT gate F = (A·B)’ F = (A + B)’ F = A NAND gate NOR gate Buffer gate F = A B F = A B XOR gate XNOR gate

유니버설 게이트 NAND와 NOR 게이트 : 표준 논리 게이트 모든 부울 함수 : NAND와 NOR 게이트로서 쉽게 구현 NOT 게이트 AND 게이트 OR 게이트

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

부울 대수(boolean Algebra) 이진 변수(binary variable) + 논리 동작(logic operation) 을 취급하는 대수 (A, B, x, y 등) (AND, OR, NOT…) 부울대수의 사용 목적 : 디지털 회로의 설계와 해석을 용이 부울대수를 이용하면 ① 변수 사이의 진리표 관계를 대수형식으로 표시하기가 용이 ② 논리도의 입출력 관계를 대수형식으로 표시하기가 용이 ③ 동일 기능을 가진 더 간단한 회로(논리식의 간소화)를 설계하는 것이 용이

부울 대수(boolean Algebra) 부울함수(Boolean Function) : variable + operation F(A,B,C) = A’B + C Truth Table : Fig. 2-5 Logic Diagram : Fig. 2-5 대수적 표현 논리도(Logic Diagram)(gates로 표현) A B C F 1 2n Combination Variable n = 3

부울 대수(boolean Algebra) 부울대수 법칙 : Table. 2-5 참조 - 0,1과의 기본연산: x + 0 = x , x + 1 = 1 , x • 1 = x , x • 0 = 0 - 멱등성 (Idempotent property): x + x =x , x • x = x 상보성(Complementary property): x + x' = 1 , x • x' = 0 흡수성(absorption property): x + x • y = x, x • (x + y) = x - 교환 법칙: x + y = y + x , x • y = y • x - 결합 법칙: x + (y + z) = (x + y) + z , x • ( y • z) = (x • y) • z - 분배 법칙: x • ( y+ x) = (x • y) + (x • z) , x + (y • z) = (x + y) • (x + z) - 드모르강 정리: (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’

드모르강 정리 드모르강의 정리 graphic symbols for NOR gate 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 x y z (x+y+z)’ = x’ y’z’

수식의 보수 graphic symbols for NAND gate = [표 2-5]의 부울대수 기본관계식의 적용 예 (a) NAND-invert (b) invert-NAND x y z x y z (xyz)’ = (x’+y’+z’) [표 2-5]의 부울대수 기본관계식의 적용 예 F=AB'C+AB'C'+A'C

간소화된 함수식에 의한 회로로서 다섯 개의 게이트들만을 이용하여 그림 2-6과 동일한 결과 [표 2-5]의 부울대수 기본관계식의 적용 예 [표 2-5]의 1-5와 2-2에 의해 F=AB'C+AB'C'+A'C =AB'(C+C')+A'C =AB'+A'C F=AB'+A'C 간소화된 함수식에 의한 회로로서 다섯 개의 게이트들만을 이용하여 그림 2-6과 동일한 결과

수식의 보수 어떤 함수 F의 보수는 F'이며, 드모르강 정리를 이용하여 얻을 수 있다. 드모르강 정리는 부울 함수식에서 모든 OR연산은 AND로, 모든 AND 연산은 OR로 바꾸어 주고, 함수 내의 각 변수를 보수화하면 된다. 예를 들어 다음과 같은 부울 함수식의 보수를 만들어 보자. F = AC + C'D + B'D'의 보수는 F'= (A'+C')(C+D')(B+D) 이 된다.

부울 함수 F1 = ABC' F2 = A + B'C F3 = AB'C+AB'C'+A'C F4 = AB' + A'C 부울함수(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

부울 함수 부울 함수 F1 , F2 , F3 , F4 에 대한 진리표 F1 = ABC', F2=A+B'C, F3 = AB'C+AB'C'+A'C, F4 = AB'+A'C에 대한 진리표 진리표에서 F3과 F4는 동일한 함수값, 같은 부울 함수에 대해 서로 다른 대수적 표현이 가능하다는 것을 의미, 이 두 함수는 같다고 말한다. 함수 F4는 함수 F3을 간소화 한 것이다.

부울 함수 부울 함수 논리도(Logic Diagram) (a) F1 = ABC' (b) F2=A+B'C (c) F3 = AB'C+AB'C'+A'C (d) F4 = AB'+A'C 함수 F4가 함수 F3 보다 더 경제적

부울 함수의 표준형(standard form) 최대항(Minterm)과 최소항(Maxterm) 최소항(Minterm) : n variables product ( x=1, x’=0) 최대항(Maxterm) : n variables sum (x=0, x’=1) 2 variables example m0 + m1 + m2 + m3 M0  M1  M2  M3

최소항의 합(sum of product) 최소항의 합 최대항의 곱 부울 함수는 주어진 진리표를 보고 대수적으로 표시 최소항의 합  진리표에서 출력값이 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 )

최대항의 곱(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)

부울함수의 간소화 식에 포함된 문자와 항들의 개수를 줄여 간단한 형태로 유도하는 절차 논리 게이트를 이용한 설계가 간단하여 구현 시 가격, 유지보수에 유리 (1) 정리와 가설을 이용한 간소화 방법 Tab. 2-5 F = AB' + B = B + A B' = (B + A)(B + B') = (B + A)·1 = B + A = A + B 1-7 적용 1-12 적용 1-5 적용 2-3 적용 1-7 적용

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

부울함수의 간소화 F= x + y’z [예제] F= x + y’z 1 1 1 1 1 (1) 진리표 (2) (3) 인접 영역을 묶는다 x y 1 1 1 1 1 z F= x + y’z

부울함수의 간소화 [예제] [예제] F=C’ + AB’ [예제] F=C’ + AB’ F=AC’ + BC B A C [예제] F=C’ + AB’ A B C D [예제] F=C’ + AB’ 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) A B C D Sum of product Product of Sum

NAND/NOR게이트로의 구현 1 1 1 NAND Implementation NOR 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’ B 1 X 1 X A 1 X C

조합 논리 회로(Combinational Circuit) 조합 논리 회로(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) i f i Combinational Circuits (Logic Gates) f 1 . . . . . . 1 i f n m Experience

조합 논리 회로(Combinational Circuit) 조합 논리 회로(Combinational Circuits) i f i Combinational Circuits (Logic Gates) f 1 . . . . . . 1 i f n m 【문제2.6】위의 그림과 비교하면서 다음 문제를 생각해 봅시다. 그림 2-13에서 몇 개의 입력 조합이 나타나는가? 또 몇 개의 출력이 나오는가? Fig. 2-13

조합 논리 회로 해석 예 조합 회로의 해석은 주어진 논리 회로도로부터 부울 함수나 진리표 를 구하고 논리 회로의 동작을 해석 해석 과정 (1)논리 회로도에서 해석을 위해 필요한 입·출력 변수명을 결정한다. (2) n개의 입력 변수에 대한 2n개의 입력조합과 출력 변수에 대한 진리표를 작성하거나 각 게이트의 출력 부울 함수를 구한다. (3) 최종 출력 부울 함수를 구한 후 간소화한다. (4) 출력 부울 함수와 진리표를 통해 논리 회로의 동작을 해석한다.

조합 논리 회로 해석 예 그림 2-14와 같은 조합 회로를 해석 3개의 입력변수와 1개의 출력변수 Fig. 2-14 (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 간소화

조합 논리 회로 설계 예 반가산기(Half Adder : HA) 전가산기(Full Adder : FA) 가산기( Adder) 1비트의 두 2진수를 더하는 조합 논리 회로 반가산기 : 2 입력(A, B)과 2 출력(합 : S, 자리올림 : C) 전가산기 : 3 입력 (Carry considered)(A, B, C0)과 2 출력 (합 : S, 자리올림 : C1) 진리표 반가산기(Half Adder : HA) 전가산기(Full Adder : FA) 반가산기 전가산기

조합 논리 회로 설계 예 설계 예 : 전가산기(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 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=AB) = A  B  C0 5. 논리 회로도 (AB)’=(AB’+A’B)’ =(A’+B)(A+B’) =A’A+A’B’+AB+BB’ =A’B’+AB

조합 논리 회로 설계 예 반감산기(Half Subtractor : HS) 전감산기(Full Subtractor : FS) 1비트의 두 2진수를 감산하는 조합 논리 회로 반감산기 : 2 입력(X, Y)과 2 출력(차 : D, 자리빌림 : B) 전감산기 : 3 입력 (Borrow considered)(X, Y, B0)과 2 출력 (차 : D, 자리빌림 : B1) 진리표 반감산기(Half Subtractor : HS) 전감산기(Full Subtractor : FS) 반감산기 전감산기

조합 논리 회로 설계 예 디코더(Decoder) 2×4 디코더 n비트의 2진 입력을 받아 2n 개의 출력 중 하나를 활성화 활용 : 메모리 칩 선택 신호, 명령어 해독과 제어 장치 등에 사용 n×2n 디코더 : n개의 입력과 2n개의 출력 2 × 4 디코더를 설계 1. 입출력 변수의 개수를 결정/변수를 할당 2 입력 (A, B), 4 출력(D0, D1, D2, D3) 2. 진리표를 작성 3. 맵을 이용한 간소화 4. 논리회로 작성 2×4 디코더

조합 논리 회로 설계 예 디코더(Decoder) 인에이블 입력을 가지는 3×8 디코더 회로동작 제어를 위해 인에이블(enable) 입력 사용 예 : 그림 [2-22] enable input = 0, 모든 출력 0 enable input = 1, 정상 동작 인에이블 입력을 가지는 3×8 디코더 블록도

조합 논리 회로 설계 예 디코더(Decoder)를 이용한 조합 논리 회로 설계 S(A,B,C0) = ∑(1, 2, 4, 7) n개의 입력변수들에 대한 2n개의 최송항 표현 이를 이용하여 임의의 조합 논리 회로 설계시 디코더를 사용 즉, 모든 부울함수는 최소항의 합형으로 표현 가능 디코더  최소항 표현, 합  OR게이트 이용 n개의 입력과 m개의 출력을 가지는 임의의 조합 회로를 설계하려면 n × 2n 디코더와 m개의 OR 게이트로 구현 가능 예 : 전가산기를 디코더로 설계(입력변수 3개, 출력변수 2개) S(A,B,C0) = ∑(1, 2, 4, 7) C1(A,B,C0) = ∑(3, 5, 6, 7)

조합 논리 회로 설계 예 인코더(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은 어떤 OR 게이트에도 연결되지 않았는데 이 경우에 Fig. 2-24 8진-2진 인코더 입력 D0은 어떤 OR 게이트에도 연결되지 않았는데 이 경우에 2진 출력은 모두 0이 되어야 하기 때문이다. 회로에서 인코더의 입력은 단지 하나의 입력만이 1이 된다고 가정. 왜냐하면 이 회로에서 입력은 8개이므로 28=256가지의 입력 조합이 나타난다. 그러나 이들 중 단지 8개만이 의미 있는 입력이므로 다른 입력들은 전부 무관조건이 된다.

조합 논리 회로 설계 예 멀티플렉서(Multiplexer) 3. 논리회로 작성 여러 개의 입력선 중의 한 선으로부터 정보를 받아들여 단일의 출력선 으로 정보를 출력하는 조합 논리 회로 특정 입력선의 선택은 선택선(Select line)에 의해 제어 2n개의 입력과 1개의 출력, n개의 선택선 4× 1 멀티플렉서 설계 1. 입출력 변수의 개수를 결정/변수를 할당 4 입력 (I0, I1, I2, I3), 1 출력(Y), 2 선택선(S0, S1) 2. 함수표(진리표)를 작성 OR게이트의 역할 : 선택된 입력과 출력을 연결시켜 주는 통로 3. 논리회로 작성

조합 논리 회로 설계 예 4개의 2×1 멀티플렉서(Multiplexer) Enable input = 0 , 정상 동작 선택선 S와 인에이블 입력선 E는 공통으로 인가 (b) 함수표 (a) 블록도

조합 논리 회로 설계 예 디멀티플렉서(DeMultiplexer) (b) 함수표 (c) 블록도 (a) 회로도 멀티플렉서의 역기능을 수행 하나의 입력선과 2n개의 출력선, n개의 선택선으로 구성 1×4 디멀티플렉서 (b) 함수표 (a) 회로도 (c) 블록도

조합 논리 회로 설계 예 코드 변환 회로(2진/그레이 코드 변환기) x = a y = a'b + ab' 그레이 코드 : 서로 이웃한 수끼리 1비트만 다르게 구성된 코드 3비트의 2진수를 그레이 코드로 변환하는 회로 설계 1. 입출력 변수의 개수를 결정/변수를 할당 3 입력 (a, b, c), 3 출력(x, y, z) 2. 진리표를 작성 4. 논리 회로 작성 3. 맵을 이용한 간소화 : 출력 부울 함수 유도 x = a y = a'b + ab' z = b'c + bc'

조합 논리 회로 해석 예 2진수/그레이 코드 변환 과정 ① 2진수의 최상위 비트는 그레이 코드의 최상위 비트가 된다. 그레이 코드/2진수 변환 과정 ① 2진수의 최상위 비트는 그레이 코드의 최상위 비트가 된다. ② 최상위 비트부터 한 비트씩 오른쪽으로 진행하면서 이웃하는 2개의 2진수에 대한 XOR 연산을 수행하면 그 결과가 그레이 코드가 된다. ③ 마지막 코드가 얻어질 때까지 ②번을 반복한다. ① 그레이 코드의 최상위 비트는 2진수의 최상위 비트가 된다. ② 최상위 비트와 두 번째 비트를 XOR 연산하면 결과가 2진수가 된다. ③ 두 번째 2진수 비트와 세 번째 그레이 코드의 비트를 XOR 연산하면 결과가 2진수가 된다. ④ 마지막 코드가 얻어질 때까지 ③번을 반복한다.

조합 논리 회로 설계 예 ROM을 이용한 조합 회로 설계 F1(A, B) = ∑(1, 2, 3) 2.3.4에서 디코더를 이용한 조합회로 설계 ROM = 디코더 + OR 디코더의 출력들과 OR게이트의 입력들을 서로 연결  ROM을 프로그래밍 n개의 입력선과 m개의 출력선으로 구성 2n개의 워드(word)와 워드당 m 비트로 구성 ROM 블록도 n개의 입력과 m개의 출력을 가지는 조합회로를 ROM을 이용하여 구현  2n x m ROM이 필요 예 F1(A, B) = ∑(1, 2, 3) F2(A, B) = ∑(1, 3)

조합 논리 회로 설계 예 ROM을 이용한 조합 회로 설계 구현 : 2개의 입력과 2개의 출력을 가지는 ROM 필요 ROM의 크기 4 x 2 F1(A, B) = ∑(1, 2, 3) F2(A, B) = ∑(1, 3) 4 x 2 ROM으로 조합 회로 구현

순차 논리 회로(Sequential logic circuit) Combinational Circuit = Gate Sequential Circuit = Gate + F/F 순차 논리 회로 조합 논리 회로 + 메모리 요소(플립플롭) 출력 : 입력변수의 값과 현재상태[ Q(t)]의 값에 의해 결정 메모리 요소 : 플립플롭(f/f)  한 비트의 이진 정보를 저장할 수 있는 이진 셀(cell)  정상 출력 Q(t)과 보수 출력 Q’(t) 순차회로 블록도 동기식(synchronous) 비동기식(asynchronous)

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

플립 플롭(Flip flop) SR(Set/Reset) 플립플롭 논리도 기호 특성 방정식 특성표

플립 플롭(Flip flop) JK(Jack/King) 플립플롭 D(Data) 플립플롭 “no change” condition이 없다 : Q(t+1)=D 해결방법 : 1) Disable Clock 2) Feedback output into input JK(Jack/King) 플립플롭

플립 플롭(Flip flop) T(Toggle) 플립플롭 특성표 논리도 특성 방정식 기호

주-종(Master-Slave) 플립 플롭 주-종 플립플롭 CP = 0 : 주(master) 플립플롭 비활성화 CP = 1 : 종(slave) 플립플롭 비활성화 주-종 플립플롭 주-종 플립플롭에서의 시차 관계

플립 플롭의 트리거링(triggering) ts th Positive clock transition 에지 트리거 플립플롭(Edge-Triggered F/F) 상태 변화 : Clock Pulse 상승 에지(Rising Edge) : positive-edge transition 하강 에지(Falling Edge) : negative-edge transition 셋-업 시간(Setup time : 20ns) minimum time that D input must remain at constant value before the transition. 홀드 시간(Hold time : 5ns) minimum time that D input must not change after the positive transition. 전파 지연(Propagation delay : max 50ns ) time between the clock input and the response in Q 일반 논리 gate에서는 2-20 ns이며 setup 및 hold time은 F/F에서만 정의되며 일반 논리 gate에서는 정의되지 않음. 주-종(Master-Slave) 플립플롭 2개의 F/F을 사용(Master와 Slave F/F)하며 negative-edge transition 사용 위와 같이 사용하는 이유: Race 현상을 방지

플립 플롭의 트리거링(triggering) Race 현상 조건 - Setup time > Propagation delay 증상 - 0 과 1을 반복하다가 Unstable한 상태가 된다 해결책 - Edge triggered F/F 또는 Master/Slave F/F 사용 예제 (a) 클록 펄스의 에지 (b) 출력 파형(초기상태 = low) (c) 상승 에지 플립플롭 블록도 (d) 하강 에지 플립플롭 블록도

플립 플롭의 트리거링(triggering) 레벨 트리거 플립플롭(Level -Triggered F/F) 상태 변화 : Clock Pulse가 1인 상태를 유지하는 동안의 입력신호 변화가 출력에 반영 예제 (b) 블록도 (a) 출력 파형(초기상태 = low)

플립 플롭의 여기표 여기표(Excitation Table) 현재 상태와 다음 상태를 알 때 플립플롭의 입력 조건 정의한 표 현재 상태(Present State) 와 다음 상태(Next State)로 표현 1 : Set to 1 0 : Complement 1 : Clear to 0 0 : No change Don’t Care

순차 논리 회로의 해석 순차 논리 회로의 해석 Clocked synchronous sequential circuit 논리도로 부터 상태표 혹은 상태도를 도출 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 1 Clock x DA A A’ 1 DB B B’ Clock y

순차 논리 회로의 해석 상태표(State Table) 상태도(State Diagram) Present state, input, next state, output 표현 상태도(State Diagram) 상태도의 그래픽 표현(Graphical representation ) 원(상태: state), 직선(상태의 전이), I/O(input/output) Input Equ. = Next State

순차 논리 회로의 설계 순차 논리 회로 설계 과정 ① 설계 사양으로부터 상태표와 상태도를 구한다. ② 사용할 플립플롭의 종류를 선택하고 플립플롭의 수를 결정한다. ③ 플립플롭의 입력과 출력 각각에 문자 기호를 붙인다. ④ 상태표를 확장하여 여기표와 출력표를 구한다. ⑤ 맵을 이용하여 간소화된 플립플롭의 입력함수와 조합 회로 부분의 출력함수를 구한다. ⑥ 논리도를 그린다.

순차 논리 회로의 설계 설계 예 : 이진 카운터 설계 2비트 이진 카운터를 설계, JK 플립플롭 사용 단 상태의 변화는 외부입력 x=1일 때 이진 상태 00,01,10,11,00,…를 반복 1. 상태도 작성 JK특성표 Next State = Output 2. 상태표/여기표 작성

순차 논리 회로의 설계 JA = Bx KA = Bx JB = x KB = x 3. 맵을 이용한 간소화 4. 논리 회로 작성 2비트 이진 카운터 논리도 JB = x KB = x

카운터의 설계 동기식 카운터, 비동기식 카운터(리플 카운터) 비동기식 예제 (a) 타이밍 차트 (b) 10진 카운터 회로

카운터의 설계 동기식 예제(3비트 이진 카운터) 1. 상태도 작성 2. 상태도 작성 n비트의 2진 카운터는 n개의 플립플롭으로 구성되며 0에서 2n-1까지 카운터 1. 상태도 작성 2. 상태도 작성 상태도 (b) 상태도와 여기표

카운터의 설계 동기식 예제(3비트 이진 카운터) TA = BC TB = C TC = 1 3. 맵을 이용한 간소화 4. 논리 회로 작성

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

시프트 레지스터 시프트 레지스터 입출력 방식 직렬 입력 - 직렬 출력 직렬 입력 - 병렬 출력 병렬 입력 - 직렬 출력 오른쪽, 왼쪽으로 이진 정보를 시프트 n비트 시프트 레지스터 : n개의 플립플롭 + 제어 게이트 입출력 방식 오른쪽 시프트 레지스터의 블록도 직렬 입력 - 직렬 출력 직렬 입력 - 병렬 출력 병렬 입력 - 직렬 출력 병렬 입력 - 병렬 출력