컴퓨터에서 활용되는 디지털 논리회로
DESCRIPTION
4. 컴퓨터에서 활용되는 디지털 논리회로. IT CookBook, 컴퓨터 구조와 원리 2.0. 학습목표. 조합 논리회로와 순차 논리회로의 개념을 이해한다 . 다양한 조합 논리회로를 알아본다 . 순차 논리회로의 설계 기법과 그 종류를 알아본다 . 컴퓨터에서 조합 논리회로와 순차 논리회로를 활용하는 방법을 공부한다. 목 차. 조합 논리회로와 순차 논리회로의 개념 조합 논리회로 순차 논리회로. 01 조합 논리회로와 순차 논리회로의 개념. 조합 논리회로 (combinational logic circuit) - PowerPoint PPT PresentationTRANSCRIPT
컴퓨터에서 활용되는 디지털 논리회로
IT CookBook, 컴퓨터 구조와 원리 2.0
2/38
조합 논리회로와 순차 논리회로의 개념을 이해한다 .
다양한 조합 논리회로를 알아본다 .
순차 논리회로의 설계 기법과 그 종류를 알아본다 .
컴퓨터에서 조합 논리회로와 순차 논리회로를 활용하는 방법을 공부한다 .
학습목표
3/38
조합 논리회로와 순차 논리회로의 개념
조합 논리회로
순차 논리회로
목 차
4/38
01 조합 논리회로와 순차 논리회로의 개념
조합 논리회로 (combinational logic circuit)• 출력신호가 입력신호에 의해서만 결정된다 . • 기본적인 논리회로인 논리곱 (AND), 논리합 (OR), 논리부정 (NOT) 등의
기본적인 논리소자의 조합으로 만들어 지고 플립플롭과 같은 기억소자는 포함하지 않는다 .
n 개의 입력을 받아 m 개의 출력을 내는 조합 논리회로의 블록도• 입력신호가 n 개이므로 2n 개의 입력신호 조합을 만들어 낼 수 있다 .
조합 논리 회로의 종류• 가산기 (Adder), 비교기 (Comparator), 디코더 (Decoder) 와 인코더
(Encoder), 멀티플렉서 (Multiplexer), 디멀티플렉서 (Demultiplexer), 코드변환기 (Code converter) 등이 있다 .
5/38
01 조합 논리회로와 순차 논리회로의 개념
순차 논리회로 (sequential logic circuit) 출력신호는 입력신호뿐만 아니라 이전 상태의 논리값에 의해 결정 조합 논리회로와 기억소자로 구성되며 , 기억소자가 궤환을 형성
• 기억소자는 2 진 정보를 저장할 수 있는 장치로 플립플롭을 사용한다 . 순차 논리 회로의 블록도
동기 (Synchronous) 식 순차 논리회로• 클록 펄스가 들어오는 시점에서 상태가 변화하는 회로다 .
비동기 (Asynchronous) 식 순차 논리회로• 클록펄스에 영향을 받지 않고 현재 입력되는 입력 값이 변화하는 순서에 따라
동작하는 논리회로다 .
6/38
02 조합 논리회로
가산기 (Adder)• 두 개 이상의 입력을 이용하여 이들의 합을 출력하는 조합 논리회로다 . • 반가산기 , 전가산기 , 병렬 가산기가 있다 .
반가산기 (Half Adder)• 1 비트씩을 사용하는 두 개의 입력과 두 개의 출력으로 합 (sum) 과 자리
올림 (carry) 이 사용된다 .• 반가산기의 계산 반가산기의 진리표
• 반가산기의 논리회로와 논리기호
7/38
02 조합 논리회로
전가산기 (Full Adder)• 두 입력 , 2 진수 A 와 B 그리고 하위비트에서 발생한 자리 올림수를
포함하여 2 진수 3 개를 덧셈 연산하는 조합 논리회로다 .• 전가산기의 8 종류 계산 진리표
• 논리회로와 논리기호
8/38
02 조합 논리회로
병렬 가신가• 전가산기를 병렬로 연결하면 여러 비트로 구성된 2 진수의 덧셈 연산을
수행할 수 있다 . • 4 개의 전가산기를 병렬로 연결해서 4 비트의 2 진수 덧셈을 수행하는 병렬
가산기다 . A=A3A2A1A0 와 B=B3B4B2B1B0 의 덧셈을 수행하는 것으로 최하위 비트의 덧셈
결과에서 발생한 자리 올림수는 C1 이 된다 .
그 다음 비트의 덧셈에서 발생하는 자리 올림수는 C2 다 . 상위비트에서의 자리 올림수는 C3 와 C4 가 존재한다 .
9/38
02 조합 논리회로
감산기 (Subtractor)• 두 개 이상의 입력에서 하나 입력으로부터 나머지 입력들을 뺄셈해서 그 차를
출력하는 조합 논리회로다 .• 가산기를 응용한 것으로 가산기에서의 합 (sum) 은 감산기에서 차
(difference) 가 되며 , 가산기에서는 올림수 (carry) 가 발생했지만 감산기에서는 빌림수 (borrow) 가 발생한다 .
반감산기 (Half Subtractor)• 1 비트 길이를 갖는 두 개의 입력과 1 비트 길이를 갖는 두 개의 출력으로 차
(D) 와 빌림수 (Br) 가 존재한다 .• 두 입력 간의 뺄셈으로 얻은 결과가 출력에서 차가 되고 , 이 차가 음의 값을
갖는 경우 출력에서 빌림수가 활성화된다 . • 두 개의 입력 변수 A 와 B 에서 4 가지의 뺄셈 계산이 가능하다 .
10/38
02 조합 논리회로
반감산기의 진리표
회로도 논리기호
11/38
02 조합 논리회로
전감산기 (Full Subtractor)• 반감산기가 단지 두 입력 간의 차이를 구하는 논리회로라면 , 전감산기는 추가적
으로 아랫자리 ( 하위 비트 ) 에서 요구하는 빌림수에 의한 뺄셈까지도 수행한다 . • 전감산기에서 수행되는 8 가지의 뺄셈 계산과 진리표
• 회로도 논리기호
12/38
02 조합 논리회로
병렬 가감산기• 디지털 장치에서는 별도로 감산기를 사용하지 않고 , 가산기에 게이트를
추가해 부호 선택신호로 뺄셈 연산을 수행한다 .
• 병렬 가감산기 4 비트의 병렬 가산기 입력 B 에 XOR 게이트를 추가한다 . XOR 게이트에 입력되는 부호 선택 신호의 값이 0 이면 덧셈 연산을 수행한다 . XOR 게이트에 입력되는 부호 선택 신호의 값이 1 이면 뺄셈 연산을 수행한다 .
13/38
02 조합 논리회로
비교기 (Comparator)• 두 2 진수의 크기를 비교하는 회로다 .
비교를 통해서 생성되는 결과는 A<B, A>B, A=B, A≠B 의 4 가지가 존재한다 .
• 1 비트 비교기 진리표
1 비트 비교기의 논리회로
14/38
02 조합 논리회로
2 비트 비교기• 2 비트 비교기의 진리표
• 2 비트 비교기의 논리회로
15/38
02 조합 논리회로
인코더와 디코더 인코딩 (encoding)
• 정보의 형태나 형식을 표준화 , 보안 , 처리속도 향상 , 저장공간 절약 등의 목적으로 다른 형태나 형식으로 변환하는 방식으로 , 부호화라고도 한다 .
• 인코더는 변환장치다 . 디코딩 (decoding)
• 인코딩된 정보를 인코딩되기 전으로 되돌리는 처리 방식을 말한다 . • 복호기 또는 디코더는 복호화를 수행하는 장치나 회로다 .
디코더와 인코더의 관계도
16/38
02 조합 논리회로
인코더 (Encoder) 외부에서 들어오는 임의의 신호를 부호화된 신호로 변환하여 컴퓨터
내부로 들여보내는 조합 논리회로• 2n 개의 입력신호로부터 n 개의 출력신호를 만든다 . • 오직 한 비트만이 1, 나머지 2n-1 개의 비트는 0 이 되는 입력 신호가 생성된다 .• 활성화된 값 1 이 몇 번째 위치의 비트인가를 파악해서 2 진 정보로 출력한다 .
8ⅹ3 인코더는 8 비트의 입력 D 중에서 활성화된 값 1 의 위치에 따라서 3 비트의 출력 B 를 얻는 장치다 . • 진리표 8ⅹ3 인코더 논리회로
17/38
02 조합 논리회로
디코더 (Decoder) n 비트의 이진 코드를 최대 2n 가지의 정보로 바꿔주는 조합 논리회로
• 디코더는 다수의 입력신호로서 1 개의 출력신호를 얻는 회로다 . • 디코더는 인코더 동작과 반대로 동작하는 회로다 .
3ⅹ8 디코더는 3 비트의 입력 C, B, A 와 8 비트의 출력 Y 로 이루어지며 , 3 개의 입력들의 조합으로 8 종류의 출력 중 하나의 출력이 선택된다 . • 3ⅹ8 디코더의 진리표 논리회로
18/38
02 조합 논리회로
멀티플렉서와 디멀티플렉서 멀티플렉서 (Multiplexer)
• 여러 개의 입력 중 하나의 입력만을 출력에 전달해주는 조합 논리 회로다 . • 선택 신호에 의해 여러 개의 입력 중 하나의 입력만이 선택된다 .
디멀티플렉서 (Demultiplexer)• 한꺼번에 들어온 여러 신호 중에서 하나를 골라서 출력하는 장치다 .
멀티플렉서와 디멀티플렉서의 관계
19/38
02 조합 논리회로
멀티플렉서• 다중 입력 데이터를 단일 출력하므로 데이터 선택기 (data selector) 라고도 한다 .• N 개의 입력이 있는 경우 log2N 개 만큼의 선택 신호가 필요하다 .
4 개의 입력이 존재하는 4 x 1 멀티플렉서의 진리표 , 논리회로 , 논리기호• 4 개의 입력 (Input 0 ~ Input 3) 은 선택선 (S0, S1) 에 의해 입력선 중
하나만이 출력으로 전달된다 .
20/38
02 조합 논리회로
디멀티플렉서• 멀티플렉서의 역기능을 수행하는 조합 논리 회로• 선택선을 통해 여러 개의 출력선 중 하나의 출력선에만 출력을 전달
1 x 4 디멀티플렉서의 진리표• 두 선택신호의 조합에 의해서 입력신호가 출력될 곳이 결정된다 .
21/38
02 조합 논리회로
패리티 검사기 패리티 비트 (parity bit)
• 데이터 전송과정에서 오류 검사를 위해서 추가한 비트다 .• 짝수 패리티 비트 : 데이터에서 1 의 개수를 짝수로 맞추기 위해서 사용하는
비트다 .• 홀수 패리티 비트 : 데이터에서 1 의 개수를 홀수로 맞추기 위해서 사용하는
비트다 .
3 비트의 2 진수에 대한 홀수 패리티 비트와 짝수 패리티 비트 진리표
22/38
02 조합 논리회로
짝수와 홀수 패리티 비트 짝수 패리티 발생기
• 짝수 패리티 발생기의 진리표를 통해서 부울 대식을 표현하면 PE=A⊕B⊕C
• 논리회로
홀수 패리티 발생기• 홀수 패리티 발생기의 진리표를 통해서 부울 대식을 표현하면 P0=
• 논리회로
23/38
03 순차 논리회로
레지스터 (Register)• 플립플롭 여러 개를 일렬로 배열하고 적당히 연결한다 .• 여러 비트의 2 진수를 일시적으로 저장하거나 저장된 비트를 좌측 또는
우측으로 하나씩 이동할 때 사용한다 . 이동 (shift) 레지스터
• 데이터를 좌우로 이동시키는 레지스터다 . 직렬 입력 , 병렬 출력과 병렬 입력 , 직렬 출력 형태를 포함하여 직렬과 병렬의
입출력 조합을 가지고 있다 . 양방향성 이동 레지스터 , 순환 레지스터도 있다 .
직렬처리와 병렬처리의 특징• 병렬방식 :
모든 비트의 데이터를 한 번에 전송한다 . 하나의 클록 펄스 (Clock Pulse) 시간 동안에 전송되므로 전송속도가 빠르다 . 레지스터의 비트 수만큼 데이터 전송경로를 가지므로 직렬방식에 비하여 복잡하다 .
• 직렬방식 레지스터에 직렬 입력과 직렬 출력을 연결하여 한 번에 한 비트씩 전송한다 .
데이터를 전송할 때 전송 속도가 느리지만 하드웨어의 규모가 간단하다 .
24/38
03 순차 논리회로
이동 레지스터의 동작 유형에 따른 종류
25/38
03 순차 논리회로
직렬 입력 , 직렬 출력 이동 레지스터• 가장 간단한 종류의 이동 레지스터다 . 단일 선으로 한 번에 한 비트씩
데이터를 받아 들이고 , 저장된 정보를 직렬로 출력한다 .• 클록 펄스는 데이터를 이동시키는 제어 신호로 , 클록 펄스가 이동 레지스터에
입력될 때마다 이동 레지스터에 저장되어 있는 데이터가 출력된다 . 4 비트로 구성된 직렬 입력 , 직렬 출력의
이동 레지스터• 각 플립플롭에 기억된 내용은
왼쪽에서 오른쪽으로 이동한다 .• 4 비트의 직렬 입력 , 직렬 출력의 이동 레지스터의 이동과정과 타이밍도
26/38
03 순차 논리회로
직렬 입력 , 병렬 출력 이동 레지스터• 입력 데이터 비트는 직렬로 레지스터 내에 들어가고 , 출력 비트들은
레지스터의 각 단에서 출력되어 병렬 형태가 된다 .• 직렬 출력처럼 한 비트씩 출력되지 않고 모든 비트가 동시에 각각의 플립플롭
출력선을 타고 출력된다 . 4 비트의 직렬 입력 , 병렬 출력 이동 레지스터 구성 , 이동과정 ,
타이밍도
27/38
03 순차 논리회로
병렬 입력 , 직렬 출력 이동 레지스터• 각 플립플롭 단에 병렬로 동시에 입력• 첫 플립플롭에서는 하나의 입력만이 존재 , 그 이후의 플립플롭에서는 이전
플립플롭의 출력과 새로운 입력이 존재 • 레지스터는 이 두 종류 입력에 대한 선택적인 판단이 필요한데 , 이때 필요한
조합 논리 회로는 2×1 멀티플렉서다 . 2×1 멀티플렉서
• 선택 단자 S 에 의해서 입력이 결정 . 즉 , S 가 0 이면 입력 I 가 선택되고 Y로 출력되며 , S 가 1 이면 입력 Q 가 선택되고 Y 를 통해서 출력된다 .
• 논리회로 진리표 논리기호
28/38
03 순차 논리회로
병렬 입력 , 직렬 출력 이동 레지스터• 각 플립플롭으로 입력되는 4 개의 데이터 입력선 I 와 이동 레지스터 안으로
데이터를 병렬로 들어가게 하기 위한 입력이 있다 . 입력
• 0 이면 새로운 데이터가 레지스터에 입력이 입력되고 클록 펄스에 의해서 마지막 플립플롭에서 한 비트를 출력한다 .
• 1 이면 클록 펄스에 의해 한 비트씩 오른쪽으로 이동된다 . 병렬 입력 , 직렬 출력 이동 레지스터의 회로도와 출력 파형도
29/38
03 순차 논리회로
병렬 입력 , 병렬 출력 이동 레지스터 데이터의 병렬 입력과 병렬 출력의 방법을 결합시킨 이동 레지스터
• 데이터 비트들이 동시에 입력되면 클록 펄스에 의해서 바로 병렬 출력이 나타난다 . 4 비트 병렬 입력 , 병렬 출력 이동 레지스터 논리 회로
• 4 비트의 입력 DADBDCDD 가 각 플립플롭에 입력되고 클록 펄스가 들어오면 각 플립플롭은 즉각적으로 QAQBQCQD 를 출력한다 .
• 병렬 입력 , 병렬 출력 이동 레지스터는 다중 비트를 저장하는 기억장치로도 사용이 가능하다 .
30/38
03 순차 논리회로
재순환 이동 레지스터 (Recirculating Shift Register)• 출력되는 데이터가 다시 처음으로 입력되는 레지스터다 .
4 비트의 재순환 이동 레지스터• 데이터 제어 단자에 1 이
입력되면 직렬 데이터가 입력되고 , 0 이면 이동 동작을 통해서 재순환 데이터가 입력된다 .
• 입력 데이터 1101 가 입력되어 순환되는 과정을 클록 펄스와 상태 파형으로 나타낸 것이다 .
31/38
03 순차 논리회로
양방향 이동 레지스터• 좌측과 우측방향으로 데이터를 이동시킬 수 있다 . • 이동방향을 결정하는 제어입력의 회로는 2×1 멀티플렉서다 . • 1 이면 , 우측으로 데이터가 이동되고 , 0 이면 좌측으로 이동한다 .
2×1 멀티플렉서 논리회로와 논리기호
양방향 이동 레지스터의 논리기호• 이 1 이면 데이터가 SRI 를 통해서
입력되고 오른쪽으로 이동하면서 SRO(serial right out) 에서 출력된다 . 그리고 이 0 이면 데이터는 SLI 에 입력되고 왼쪽으로 이동하면서 SLO(Serial Left Out) 에서 출력된다 .
32/38
03 순차 논리회로
양방향 이동 레지스터 4 비트의 양방향 이동 레지스터의 회로
• 4 개의 플립플롭 입력에 2×1 멀티플렉서가 연결되어 있고 , 이것에 의해서 이동방향이 결정된다 .
• 우측으로 이동하는 경우에서는 출력 단자는 OD 가 된다 . 좌측으로 이동하는 하는 경우에는 OA 가 된다 .
• 2 진수의 연산에서 비트의 이동은 2 배수의 덧셈과 나눗셈 연산을 수행한다 . 좌측으로 이동하면 2 를 곱한 결과가 되고 우측으로 이동하면 2 를 나눈 결과와 같다 .
• 양방향 이동 레지스터는 2 진수의 곱셈과 나눗셈 연산기로 사용할 수 있다
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 진 ) 의 카운터라고 한다 .
34/38
03 순차 논리회로
상향 비동기식 카운터 4 비트의 2 진 상향 카운터
• 0 부터 시작해서 클록의 수가 증가하면 15 까지 증가 , 16 개의 상태를 가지므로 mod-16 카운터다 .
• 상태도
논리회로
타이밍도
35/38
03 순차 논리회로
하향 비동기식 카운터• 클록 펄스의 수가 증가함에 따라 카운터의 수가 감소하는 카운터다 .
4 비트 하향 비동기식 카운터• 최대값 15 부터 시작해서 클록 펄스의 수가 증가하면서 하나씩 그 값이
감소한다 . 그리고 카운터의 값이 0 이면 되면 다시 15 부터 시작하게 된다 . • 상태도
• 논리회로
• 타이밍도
36/38
03 순차 논리회로
3 비트 동기식 2 진 카운터• 8 개의 순차적인 상태 (000, 001, 010, 011, 100, 101, 110, 111) 를
갖는다 . 상태도와 논리회로
타이밍도
37/38
03 순차 논리회로
링 카운터 (Ring Counter)• 플립플롭들이 하나의 고리 모양으로 연결이다 .
4 비트 링 카운터의 상태도• 논리 1 의 값이 왼쪽으로 이동하면서 순환이다 .
논리회로와 타이밍도
Thank YouIT CookBook, 컴퓨터 구조와 원리 2.0