전자계산기 구조 정리
· 약 91분
불 대수
- 영국 수학자 불에 의해 개발
- AND : 입력 값이 모두 1일 때 1 출력
- OR : 입력 값이 하나라도 1일 때 1 출력
- NOT : 부정
기본 공식
- 합의 곱을 곱의 합으로 변환
- 분배법칙 예외 : A +(B×C) = (A + B)(B + C)
- 드모르강
- (A + B)` = A`×B`
- (A×B)` = A`+ B`
- 멱등
- A + A = A
- A×A = A
- 보수
- A + A` = 1
- A×A` = 0
- 항등
- A + 0 = A
- A + 1 = 1
- A×0 = 0
- A×1 = A
- 콘센서스
- AB + BC + CA` = AB + CA`
- (A + B)(B + C)(C + A`) = (A + B)(C + A`)
- 복원 : A`` = A
- 기타
- A + A`B = A + B
- A + AB = A
카르노 맵
- 설계된 논리식을 도표로 표현하여 최소화 하는 방법
- Karnaugh map = K-map = 카노맵
AB와 CD의 위치를 바꾸어 계산하는게 쉽다.
00 | 01 | 11 | 10 | |
---|---|---|---|---|
00 | 0 | 1 | 3 | 2 |
01 | 4 | 5 | 7 | 6 |
11 | 12 | 13 | 15 | 14 |
10 | 8 | 9 | 11 | 10 |
논리 게이트
- BUFFER : 입력된 정보를 그대로 출력
- NAND : NOT + AND
- NOR : NOT + OR
- XOR : 입력이 같으면 0, 다르면 1
- X = A⊕B
- X = A`B + AB`
- X = (A + B)(A` + B`)
- XNOR : NOT + XOR
- X = A⊙B
- X = (A⊕B)`
- X = AB + A`B`
조합논리회로
반가산기, 전가산기, 병렬가산기, 반감산기, 전감산기, 디코더, 인코더, 멀티플렉서, 디멀티플렉서, 다수결회로, 비교기 등
반가산기
2진수 두 개를 더한 합과 자리올림수를 구하는 조합논리회로
- 합은 S, 자리올림(캐리)는 C
- C = AB
- S = A`B + AB` = A⊕B
전가산기
1bit 2진수 3자리를 더하여 합과 자리올림수를 구하는 조합논리회로
- 두 개의 반가산기와 한 개의 OR GATE로 구성
- 합은 S, 자리올림(캐리)는 C
- C = (A⊕B)C + AB
- S = (A⊕B)⊕C
- 3 × 8 디코더 1개 + 4 입력 OR 게이트 2개로 구성가능
병렬가산기
n bit로 된 2진수 A, B에 대한 덧셈을 n개의 전가산기를 이용하여 구현한 실질적인 가산기
- 전파지연을 줄이기 위해 Carry Look Ahead 사용
- 전파지연 : ALU Path에서 가장 긴 Delay
반감산기
1bit 2진수 2자리에 대한 감산을 하는 조합논리회로
- 차는 D, 빌려온 수는 B
- B = A`B
- D = A`B + A`B = A⊕B
- 2 × 4 디코더 1개 + 3 입력 OR 게이트 1개로 구성가능
디코더
n bit의 코드화된 정보를 그 코드의 각 bit 조합에 따라 2^n개의 출력으로 번역하는 조합논리회로
- n개의 입력을 2^n개의 출력으로
- 명령어의 명령부나 번지를 해독할 때 사 용
- 주로 AND 게이트로 구성
- 부호화된 데이터에서 정보를 찾아냄
- n × 2^n 디코더의 AND 게이트 수 : 2^n 개
- 5 × 8 디코더 : 8개
인코더
2^n개의 입력선으로 입력된 값을 n개의 출력선으로 코드화해서 출력하는 조합논리회로
- 2^n개의 입력을 n개의 출력으로
- 16개의 입력선일 경우 4개의 출력선 필요 (2^4)
멀티플렉서
2^n개의 입력선 중 1개를 선택하여 그 선에서 입력되는 값을 1개의 출력선으로 출력하는 조합논리회로
- 2^n개의 입력선 중 1개의 선을 선택하기 위해 n개의 선택선 이용
- 16개의 입력선일 경우 4개의 선택선 필요 (2^4)
- 출력선은 하나
디멀티플렉서
1개의 입력선으로 들어오는 데이터를 2^n개의 출력선 중 1개를 선택하여 출력하는 회로
- 2^n개의 출력선 중 1개의 선을 선택하기 위해 n개의 선택선 이용
- 16개의 출력선일 경우 4개의 선택선 필요 (2^4)
- 입력선은 하나
순서논리회로
- 외부의 입력과 현재 상태에 따라 출력이 결정
- 논리 게이트 외에 메모리 요소와 피드백 기능을 포함
- 기억기능 존재
- 출력이 일정한 값을 갖지 않음
- 플리플롭과 논리 게이트로 구성
- 동기식과 비동기식으로 나뉨
- 플리플롭, 카운터, 레지스터, RAM, CPU 등
플리플롭
- 전원이 공급되는한 상태의 변화를 위한 외부신호가 발생할 때까지 현재의 상태를 그대로 유지하는 논리회로
- 레지스터, 카운터, 반도체메모리(RAM)의 기본 구성요소
- 2진수 1bit를 저장 가능
- 두 개의 NAND 또는 두 개의 NOR 게이트를 이용하여 구성
특성표
순서논리회로의 기능을 나타내는 표로 입력선의 값에 따라 현재 상태가 다음 상태로 어떻게 변하여 저장되는지를 나타낸다.
여기표
특성표 대신 순서논리회로의 기능을 표로 나타낸 것, 현재 상태 값을 새로운 값으로 변경시키려면 입력선으로 어떤 값을 입력해야 하는가를 나타낸다. 출력을 이용하여 입력을 알아내는 것.
RS 플립플롭
- Reset-Set FF
- 특성표
S | R | Q |
---|---|---|
0 | 0 | 無 |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 不可 |
- 여기표는 특성표를 떠올리면 구할 수 있다.
D 플립플롭
- RS 플리플롭의 R선에 인버터(NOT 연산자)를 추가하여 S선과 하나로 묶어서 입력선을 하나만 구성한 플립플롭
- 입력값을 그대로 저장하는 기능을 수행
- 특성표
D | Q |
---|---|
0 | 0 |
1 | 1 |
JK 플립플롭
- RS에서 S=1, R=1일 때 동작하지 않는 점을 보완한 플립플롭
- RS 플립플롭의 입력선 S와 R에 AND 게이트 2개를 추가하여 JK 플립플롭의 입력선 J와 K로 사용한다.
- 모든 플립플롭의 기능을 포함한다.
- 플립플롭의 네가지 기능을 모두 갖춘 것을 찾으라는 문제가 나오면 RS가 있으면 RS, JK가 있으면 JK
- 특성표
S | R | Q |
---|---|---|
0 | 0 | 無 |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 보수 |
- 여기표는 특성표를 떠올리면 구할 수 있다.
T 플립플롭
- JK 플립플롭의 두 입력선을 묶어서 한 개의 입력선으로 구성한 플립플롭
- T=1인 경우 현재 상태를 토글한다. 보수가 출력된다.
- 카운터에 이용
T | Q |
---|---|
0 | 無 |
1 | 보수 |