컴퓨터에서 활용되는 디지털 논리회로

38
컴컴컴컴컴 컴컴컴컴 컴컴컴 컴컴컴컴 IT CookBook, 컴컴컴 컴컴컴 컴컴 2.0

Upload: mortimer-coulon

Post on 01-Jan-2016

243 views

Category:

Documents


8 download

DESCRIPTION

4. 컴퓨터에서 활용되는 디지털 논리회로. IT CookBook, 컴퓨터 구조와 원리 2.0. 학습목표. 조합 논리회로와 순차 논리회로의 개념을 이해한다 . 다양한 조합 논리회로를 알아본다 . 순차 논리회로의 설계 기법과 그 종류를 알아본다 . 컴퓨터에서 조합 논리회로와 순차 논리회로를 활용하는 방법을 공부한다. 목 차. 조합 논리회로와 순차 논리회로의 개념 조합 논리회로 순차 논리회로. 01 조합 논리회로와 순차 논리회로의 개념. 조합 논리회로 (combinational logic circuit) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 컴퓨터에서 활용되는  디지털 논리회로

컴퓨터에서 활용되는 디지털 논리회로

IT CookBook, 컴퓨터 구조와 원리 2.0

Page 2: 컴퓨터에서 활용되는  디지털 논리회로

2/38

조합 논리회로와 순차 논리회로의 개념을 이해한다 .

다양한 조합 논리회로를 알아본다 .

순차 논리회로의 설계 기법과 그 종류를 알아본다 .

컴퓨터에서 조합 논리회로와 순차 논리회로를 활용하는 방법을 공부한다 .

학습목표

Page 3: 컴퓨터에서 활용되는  디지털 논리회로

3/38

조합 논리회로와 순차 논리회로의 개념

조합 논리회로

순차 논리회로

목 차

Page 4: 컴퓨터에서 활용되는  디지털 논리회로

4/38

01 조합 논리회로와 순차 논리회로의 개념

조합 논리회로 (combinational logic circuit)• 출력신호가 입력신호에 의해서만 결정된다 . • 기본적인 논리회로인 논리곱 (AND), 논리합 (OR), 논리부정 (NOT) 등의

기본적인 논리소자의 조합으로 만들어 지고 플립플롭과 같은 기억소자는 포함하지 않는다 .

n 개의 입력을 받아 m 개의 출력을 내는 조합 논리회로의 블록도• 입력신호가 n 개이므로 2n 개의 입력신호 조합을 만들어 낼 수 있다 .

조합 논리 회로의 종류• 가산기 (Adder), 비교기 (Comparator), 디코더 (Decoder) 와 인코더

(Encoder), 멀티플렉서 (Multiplexer), 디멀티플렉서 (Demultiplexer), 코드변환기 (Code converter) 등이 있다 .

Page 5: 컴퓨터에서 활용되는  디지털 논리회로

5/38

01 조합 논리회로와 순차 논리회로의 개념

순차 논리회로 (sequential logic circuit) 출력신호는 입력신호뿐만 아니라 이전 상태의 논리값에 의해 결정 조합 논리회로와 기억소자로 구성되며 , 기억소자가 궤환을 형성

• 기억소자는 2 진 정보를 저장할 수 있는 장치로 플립플롭을 사용한다 . 순차 논리 회로의 블록도

동기 (Synchronous) 식 순차 논리회로• 클록 펄스가 들어오는 시점에서 상태가 변화하는 회로다 .

비동기 (Asynchronous) 식 순차 논리회로• 클록펄스에 영향을 받지 않고 현재 입력되는 입력 값이 변화하는 순서에 따라

동작하는 논리회로다 .

Page 6: 컴퓨터에서 활용되는  디지털 논리회로

6/38

02 조합 논리회로

가산기 (Adder)• 두 개 이상의 입력을 이용하여 이들의 합을 출력하는 조합 논리회로다 . • 반가산기 , 전가산기 , 병렬 가산기가 있다 .

반가산기 (Half Adder)• 1 비트씩을 사용하는 두 개의 입력과 두 개의 출력으로 합 (sum) 과 자리

올림 (carry) 이 사용된다 .• 반가산기의 계산 반가산기의 진리표

• 반가산기의 논리회로와 논리기호

Page 7: 컴퓨터에서 활용되는  디지털 논리회로

7/38

02 조합 논리회로

전가산기 (Full Adder)• 두 입력 , 2 진수 A 와 B 그리고 하위비트에서 발생한 자리 올림수를

포함하여 2 진수 3 개를 덧셈 연산하는 조합 논리회로다 .• 전가산기의 8 종류 계산 진리표

• 논리회로와 논리기호

Page 8: 컴퓨터에서 활용되는  디지털 논리회로

8/38

02 조합 논리회로

병렬 가신가• 전가산기를 병렬로 연결하면 여러 비트로 구성된 2 진수의 덧셈 연산을

수행할 수 있다 . • 4 개의 전가산기를 병렬로 연결해서 4 비트의 2 진수 덧셈을 수행하는 병렬

가산기다 . A=A3A2A1A0 와 B=B3B4B2B1B0 의 덧셈을 수행하는 것으로 최하위 비트의 덧셈

결과에서 발생한 자리 올림수는 C1 이 된다 .

그 다음 비트의 덧셈에서 발생하는 자리 올림수는 C2 다 . 상위비트에서의 자리 올림수는 C3 와 C4 가 존재한다 .

Page 9: 컴퓨터에서 활용되는  디지털 논리회로

9/38

02 조합 논리회로

감산기 (Subtractor)• 두 개 이상의 입력에서 하나 입력으로부터 나머지 입력들을 뺄셈해서 그 차를

출력하는 조합 논리회로다 .• 가산기를 응용한 것으로 가산기에서의 합 (sum) 은 감산기에서 차

(difference) 가 되며 , 가산기에서는 올림수 (carry) 가 발생했지만 감산기에서는 빌림수 (borrow) 가 발생한다 .

반감산기 (Half Subtractor)• 1 비트 길이를 갖는 두 개의 입력과 1 비트 길이를 갖는 두 개의 출력으로 차

(D) 와 빌림수 (Br) 가 존재한다 .• 두 입력 간의 뺄셈으로 얻은 결과가 출력에서 차가 되고 , 이 차가 음의 값을

갖는 경우 출력에서 빌림수가 활성화된다 . • 두 개의 입력 변수 A 와 B 에서 4 가지의 뺄셈 계산이 가능하다 .

Page 10: 컴퓨터에서 활용되는  디지털 논리회로

10/38

02 조합 논리회로

반감산기의 진리표

회로도 논리기호

Page 11: 컴퓨터에서 활용되는  디지털 논리회로

11/38

02 조합 논리회로

전감산기 (Full Subtractor)• 반감산기가 단지 두 입력 간의 차이를 구하는 논리회로라면 , 전감산기는 추가적

으로 아랫자리 ( 하위 비트 ) 에서 요구하는 빌림수에 의한 뺄셈까지도 수행한다 . • 전감산기에서 수행되는 8 가지의 뺄셈 계산과 진리표

• 회로도 논리기호

Page 12: 컴퓨터에서 활용되는  디지털 논리회로

12/38

02 조합 논리회로

병렬 가감산기• 디지털 장치에서는 별도로 감산기를 사용하지 않고 , 가산기에 게이트를

추가해 부호 선택신호로 뺄셈 연산을 수행한다 .

• 병렬 가감산기 4 비트의 병렬 가산기 입력 B 에 XOR 게이트를 추가한다 . XOR 게이트에 입력되는 부호 선택 신호의 값이 0 이면 덧셈 연산을 수행한다 . XOR 게이트에 입력되는 부호 선택 신호의 값이 1 이면 뺄셈 연산을 수행한다 .

Page 13: 컴퓨터에서 활용되는  디지털 논리회로

13/38

02 조합 논리회로

비교기 (Comparator)• 두 2 진수의 크기를 비교하는 회로다 .

비교를 통해서 생성되는 결과는 A<B, A>B, A=B, A≠B 의 4 가지가 존재한다 .

• 1 비트 비교기 진리표

1 비트 비교기의 논리회로

Page 14: 컴퓨터에서 활용되는  디지털 논리회로

14/38

02 조합 논리회로

2 비트 비교기• 2 비트 비교기의 진리표

• 2 비트 비교기의 논리회로

Page 15: 컴퓨터에서 활용되는  디지털 논리회로

15/38

02 조합 논리회로

인코더와 디코더 인코딩 (encoding)

• 정보의 형태나 형식을 표준화 , 보안 , 처리속도 향상 , 저장공간 절약 등의 목적으로 다른 형태나 형식으로 변환하는 방식으로 , 부호화라고도 한다 .

• 인코더는 변환장치다 . 디코딩 (decoding)

• 인코딩된 정보를 인코딩되기 전으로 되돌리는 처리 방식을 말한다 . • 복호기 또는 디코더는 복호화를 수행하는 장치나 회로다 .

디코더와 인코더의 관계도

Page 16: 컴퓨터에서 활용되는  디지털 논리회로

16/38

02 조합 논리회로

인코더 (Encoder) 외부에서 들어오는 임의의 신호를 부호화된 신호로 변환하여 컴퓨터

내부로 들여보내는 조합 논리회로• 2n 개의 입력신호로부터 n 개의 출력신호를 만든다 . • 오직 한 비트만이 1, 나머지 2n-1 개의 비트는 0 이 되는 입력 신호가 생성된다 .• 활성화된 값 1 이 몇 번째 위치의 비트인가를 파악해서 2 진 정보로 출력한다 .

8ⅹ3 인코더는 8 비트의 입력 D 중에서 활성화된 값 1 의 위치에 따라서 3 비트의 출력 B 를 얻는 장치다 . • 진리표 8ⅹ3 인코더 논리회로

Page 17: 컴퓨터에서 활용되는  디지털 논리회로

17/38

02 조합 논리회로

디코더 (Decoder) n 비트의 이진 코드를 최대 2n 가지의 정보로 바꿔주는 조합 논리회로

• 디코더는 다수의 입력신호로서 1 개의 출력신호를 얻는 회로다 . • 디코더는 인코더 동작과 반대로 동작하는 회로다 .

3ⅹ8 디코더는 3 비트의 입력 C, B, A 와 8 비트의 출력 Y 로 이루어지며 , 3 개의 입력들의 조합으로 8 종류의 출력 중 하나의 출력이 선택된다 . • 3ⅹ8 디코더의 진리표 논리회로

Page 18: 컴퓨터에서 활용되는  디지털 논리회로

18/38

02 조합 논리회로

멀티플렉서와 디멀티플렉서 멀티플렉서 (Multiplexer)

• 여러 개의 입력 중 하나의 입력만을 출력에 전달해주는 조합 논리 회로다 . • 선택 신호에 의해 여러 개의 입력 중 하나의 입력만이 선택된다 .

디멀티플렉서 (Demultiplexer)• 한꺼번에 들어온 여러 신호 중에서 하나를 골라서 출력하는 장치다 .

멀티플렉서와 디멀티플렉서의 관계

Page 19: 컴퓨터에서 활용되는  디지털 논리회로

19/38

02 조합 논리회로

멀티플렉서• 다중 입력 데이터를 단일 출력하므로 데이터 선택기 (data selector) 라고도 한다 .• N 개의 입력이 있는 경우 log2N 개 만큼의 선택 신호가 필요하다 .

4 개의 입력이 존재하는 4 x 1 멀티플렉서의 진리표 , 논리회로 , 논리기호• 4 개의 입력 (Input 0 ~ Input 3) 은 선택선 (S0, S1) 에 의해 입력선 중

하나만이 출력으로 전달된다 .

Page 20: 컴퓨터에서 활용되는  디지털 논리회로

20/38

02 조합 논리회로

디멀티플렉서• 멀티플렉서의 역기능을 수행하는 조합 논리 회로• 선택선을 통해 여러 개의 출력선 중 하나의 출력선에만 출력을 전달

1 x 4 디멀티플렉서의 진리표• 두 선택신호의 조합에 의해서 입력신호가 출력될 곳이 결정된다 .

Page 21: 컴퓨터에서 활용되는  디지털 논리회로

21/38

02 조합 논리회로

패리티 검사기 패리티 비트 (parity bit)

• 데이터 전송과정에서 오류 검사를 위해서 추가한 비트다 .• 짝수 패리티 비트 : 데이터에서 1 의 개수를 짝수로 맞추기 위해서 사용하는

비트다 .• 홀수 패리티 비트 : 데이터에서 1 의 개수를 홀수로 맞추기 위해서 사용하는

비트다 .

3 비트의 2 진수에 대한 홀수 패리티 비트와 짝수 패리티 비트 진리표

Page 22: 컴퓨터에서 활용되는  디지털 논리회로

22/38

02 조합 논리회로

짝수와 홀수 패리티 비트 짝수 패리티 발생기

• 짝수 패리티 발생기의 진리표를 통해서 부울 대식을 표현하면 PE=A⊕B⊕C

• 논리회로

홀수 패리티 발생기• 홀수 패리티 발생기의 진리표를 통해서 부울 대식을 표현하면 P0=

• 논리회로

Page 23: 컴퓨터에서 활용되는  디지털 논리회로

23/38

03 순차 논리회로

레지스터 (Register)• 플립플롭 여러 개를 일렬로 배열하고 적당히 연결한다 .• 여러 비트의 2 진수를 일시적으로 저장하거나 저장된 비트를 좌측 또는

우측으로 하나씩 이동할 때 사용한다 . 이동 (shift) 레지스터

• 데이터를 좌우로 이동시키는 레지스터다 . 직렬 입력 , 병렬 출력과 병렬 입력 , 직렬 출력 형태를 포함하여 직렬과 병렬의

입출력 조합을 가지고 있다 . 양방향성 이동 레지스터 , 순환 레지스터도 있다 .

직렬처리와 병렬처리의 특징• 병렬방식 :

모든 비트의 데이터를 한 번에 전송한다 . 하나의 클록 펄스 (Clock Pulse) 시간 동안에 전송되므로 전송속도가 빠르다 . 레지스터의 비트 수만큼 데이터 전송경로를 가지므로 직렬방식에 비하여 복잡하다 .

• 직렬방식 레지스터에 직렬 입력과 직렬 출력을 연결하여 한 번에 한 비트씩 전송한다 .

데이터를 전송할 때 전송 속도가 느리지만 하드웨어의 규모가 간단하다 .

Page 24: 컴퓨터에서 활용되는  디지털 논리회로

24/38

03 순차 논리회로

이동 레지스터의 동작 유형에 따른 종류

Page 25: 컴퓨터에서 활용되는  디지털 논리회로

25/38

03 순차 논리회로

직렬 입력 , 직렬 출력 이동 레지스터• 가장 간단한 종류의 이동 레지스터다 . 단일 선으로 한 번에 한 비트씩

데이터를 받아 들이고 , 저장된 정보를 직렬로 출력한다 .• 클록 펄스는 데이터를 이동시키는 제어 신호로 , 클록 펄스가 이동 레지스터에

입력될 때마다 이동 레지스터에 저장되어 있는 데이터가 출력된다 . 4 비트로 구성된 직렬 입력 , 직렬 출력의

이동 레지스터• 각 플립플롭에 기억된 내용은

왼쪽에서 오른쪽으로 이동한다 .• 4 비트의 직렬 입력 , 직렬 출력의 이동 레지스터의 이동과정과 타이밍도

Page 26: 컴퓨터에서 활용되는  디지털 논리회로

26/38

03 순차 논리회로

직렬 입력 , 병렬 출력 이동 레지스터• 입력 데이터 비트는 직렬로 레지스터 내에 들어가고 , 출력 비트들은

레지스터의 각 단에서 출력되어 병렬 형태가 된다 .• 직렬 출력처럼 한 비트씩 출력되지 않고 모든 비트가 동시에 각각의 플립플롭

출력선을 타고 출력된다 . 4 비트의 직렬 입력 , 병렬 출력 이동 레지스터 구성 , 이동과정 ,

타이밍도

Page 27: 컴퓨터에서 활용되는  디지털 논리회로

27/38

03 순차 논리회로

병렬 입력 , 직렬 출력 이동 레지스터• 각 플립플롭 단에 병렬로 동시에 입력• 첫 플립플롭에서는 하나의 입력만이 존재 , 그 이후의 플립플롭에서는 이전

플립플롭의 출력과 새로운 입력이 존재 • 레지스터는 이 두 종류 입력에 대한 선택적인 판단이 필요한데 , 이때 필요한

조합 논리 회로는 2×1 멀티플렉서다 . 2×1 멀티플렉서

• 선택 단자 S 에 의해서 입력이 결정 . 즉 , S 가 0 이면 입력 I 가 선택되고 Y로 출력되며 , S 가 1 이면 입력 Q 가 선택되고 Y 를 통해서 출력된다 .

• 논리회로 진리표 논리기호

Page 28: 컴퓨터에서 활용되는  디지털 논리회로

28/38

03 순차 논리회로

병렬 입력 , 직렬 출력 이동 레지스터• 각 플립플롭으로 입력되는 4 개의 데이터 입력선 I 와 이동 레지스터 안으로

데이터를 병렬로 들어가게 하기 위한 입력이 있다 . 입력

• 0 이면 새로운 데이터가 레지스터에 입력이 입력되고 클록 펄스에 의해서 마지막 플립플롭에서 한 비트를 출력한다 .

• 1 이면 클록 펄스에 의해 한 비트씩 오른쪽으로 이동된다 . 병렬 입력 , 직렬 출력 이동 레지스터의 회로도와 출력 파형도

Page 29: 컴퓨터에서 활용되는  디지털 논리회로

29/38

03 순차 논리회로

병렬 입력 , 병렬 출력 이동 레지스터 데이터의 병렬 입력과 병렬 출력의 방법을 결합시킨 이동 레지스터

• 데이터 비트들이 동시에 입력되면 클록 펄스에 의해서 바로 병렬 출력이 나타난다 . 4 비트 병렬 입력 , 병렬 출력 이동 레지스터 논리 회로

• 4 비트의 입력 DADBDCDD 가 각 플립플롭에 입력되고 클록 펄스가 들어오면 각 플립플롭은 즉각적으로 QAQBQCQD 를 출력한다 .

• 병렬 입력 , 병렬 출력 이동 레지스터는 다중 비트를 저장하는 기억장치로도 사용이 가능하다 .

Page 30: 컴퓨터에서 활용되는  디지털 논리회로

30/38

03 순차 논리회로

재순환 이동 레지스터 (Recirculating Shift Register)• 출력되는 데이터가 다시 처음으로 입력되는 레지스터다 .

4 비트의 재순환 이동 레지스터• 데이터 제어 단자에 1 이

입력되면 직렬 데이터가 입력되고 , 0 이면 이동 동작을 통해서 재순환 데이터가 입력된다 .

• 입력 데이터 1101 가 입력되어 순환되는 과정을 클록 펄스와 상태 파형으로 나타낸 것이다 .

Page 31: 컴퓨터에서 활용되는  디지털 논리회로

31/38

03 순차 논리회로

양방향 이동 레지스터• 좌측과 우측방향으로 데이터를 이동시킬 수 있다 . • 이동방향을 결정하는 제어입력의 회로는 2×1 멀티플렉서다 . • 1 이면 , 우측으로 데이터가 이동되고 , 0 이면 좌측으로 이동한다 .

2×1 멀티플렉서 논리회로와 논리기호

양방향 이동 레지스터의 논리기호• 이 1 이면 데이터가 SRI 를 통해서

입력되고 오른쪽으로 이동하면서 SRO(serial right out) 에서 출력된다 . 그리고 이 0 이면 데이터는 SLI 에 입력되고 왼쪽으로 이동하면서 SLO(Serial Left Out) 에서 출력된다 .

Page 32: 컴퓨터에서 활용되는  디지털 논리회로

32/38

03 순차 논리회로

양방향 이동 레지스터 4 비트의 양방향 이동 레지스터의 회로

• 4 개의 플립플롭 입력에 2×1 멀티플렉서가 연결되어 있고 , 이것에 의해서 이동방향이 결정된다 .

• 우측으로 이동하는 경우에서는 출력 단자는 OD 가 된다 . 좌측으로 이동하는 하는 경우에는 OA 가 된다 .

• 2 진수의 연산에서 비트의 이동은 2 배수의 덧셈과 나눗셈 연산을 수행한다 . 좌측으로 이동하면 2 를 곱한 결과가 되고 우측으로 이동하면 2 를 나눈 결과와 같다 .

• 양방향 이동 레지스터는 2 진수의 곱셈과 나눗셈 연산기로 사용할 수 있다

Page 33: 컴퓨터에서 활용되는  디지털 논리회로

33/38

03 순차 논리회로

카운터 (counter, 계수기 )• 클록 펄스에 따라 수를 세는 계수능력을 갖는 논리 회로• 컴퓨터가 여러 가지 동작을 수행하는 데에 필요한 타이밍 신호를 제공한다 .

카운터는 동기식과 비동기식으로 분류• 동기식 카운터는 입력 펄스의 입력 시간에 동기 되어 각 플립플롭이 동시에

동작하기 때문에 모든 플립플롭의 단에서 상태변화가 일어난다 . • 비동기식 카운터는 앞단의 출력을 받아서 각 플립플롭이 차례로 동작하기 때문에

첫 단에만 클록 펄스가 필요하다 . 직렬 카운터 또는 리플 (ripple) 카운터라 한다 .

카운터는 비트 수에 따라서 최대 카운트가 결정• 4 비트 카운터의 최대 카운트 범위는 24, 즉 0~15(0000~1111) 이며 , 8

비트 카운터의 최대 카운트 범위는 28 = 0~255(0000 0000~1111 1111)가 된다 .

• 카운트를 시작해서 카운트를 끝낸 후 , 다시 처음 상태로 돌아올 때까지의 상태 수를 카운터 계수 (modulus of a count) 라고 한다 .

• 10 진 카운터는 0~ 9 까지의 10 개의 상태가 존재 카운터 계수는 10 이 된다 .

• 일반화 해서 표현하면 , 카운터에서 구별되는 상태의 수가 m 일 때 mod-ulo- m( 간단히 mod- m; m 진 ) 의 카운터라고 한다 .

Page 34: 컴퓨터에서 활용되는  디지털 논리회로

34/38

03 순차 논리회로

상향 비동기식 카운터 4 비트의 2 진 상향 카운터

• 0 부터 시작해서 클록의 수가 증가하면 15 까지 증가 , 16 개의 상태를 가지므로 mod-16 카운터다 .

• 상태도

논리회로

타이밍도

Page 35: 컴퓨터에서 활용되는  디지털 논리회로

35/38

03 순차 논리회로

하향 비동기식 카운터• 클록 펄스의 수가 증가함에 따라 카운터의 수가 감소하는 카운터다 .

4 비트 하향 비동기식 카운터• 최대값 15 부터 시작해서 클록 펄스의 수가 증가하면서 하나씩 그 값이

감소한다 . 그리고 카운터의 값이 0 이면 되면 다시 15 부터 시작하게 된다 . • 상태도

• 논리회로

• 타이밍도

Page 36: 컴퓨터에서 활용되는  디지털 논리회로

36/38

03 순차 논리회로

3 비트 동기식 2 진 카운터• 8 개의 순차적인 상태 (000, 001, 010, 011, 100, 101, 110, 111) 를

갖는다 . 상태도와 논리회로

타이밍도

Page 37: 컴퓨터에서 활용되는  디지털 논리회로

37/38

03 순차 논리회로

링 카운터 (Ring Counter)• 플립플롭들이 하나의 고리 모양으로 연결이다 .

4 비트 링 카운터의 상태도• 논리 1 의 값이 왼쪽으로 이동하면서 순환이다 .

논리회로와 타이밍도

Page 38: 컴퓨터에서 활용되는  디지털 논리회로

Thank YouIT CookBook, 컴퓨터 구조와 원리 2.0