컴퓨터 및 소프트웨어 공부하기 - 전자계산기의 구조 #1

Explanation

이번 주말은 항상 부족하게 생각했던 컴퓨터 및 소프트웨어에 관련한 공부를 해보려고 합니다.
그런데 또 너무 막연히 하면 더 어려울 것 같아서 유튜브에서 정보처리기사 강의를 들으면서 공부하고 그 내용을 정리해 보려합니다.

참고 유튜브 : https://www.youtube.com/watch?v=xE5K3Tlo6iM

어디까지나 개인적인 메모라 별로 유익하지는 않을 거 같아요..

논리회로

1. 기본적 논리함수

1-1. 논리곱(AND)
A AND B 또는 A * B

0 0 = 0, 1 0 = 0, 0 1 = 0, 1 1 = 1

1-2. 논리합(OR)
A OR B 또는 A + B

0 0 = 0, 1 0 = 1, 0 1 = 1, 1 1 = 1

1-3. 부정
NOT A 또는 A`

0 = 1, 1 = 0

2. 불 대수의 기본 공식

2-1. 교환법칙

A + B = B + A
A * B = B * A

2-2. 결합법칙

A + (B + C) = (A + B) + C
A * (B * C) = (A * B) * C

2-3. 분배법칙

A * (B + C) = A * B + A * C
A + (B * C) = (A + B) * (A + C)

2-4. 역등법칙(중요)

A + A = A
A * A = A

2-5. 보수법칙(중요)

A + A` = 1
A * A` = 0

2-6. 항등법칙

A + 0 = A
A + 1 = 1(중요)
A * 0 = 0
A * 1 = 1

2-7. 콘센서스

A * B + B * C + C * A` = A * B + C * A`

2-8. 드모르간의 법칙

(A + B)` = A` * B`
(A * B)` = A` + B`

3. 논리식의 간소화

A + A * B = A(1 + B) = A * 1 = A
A + A * B` = A(1 + B`) = A * 1 = A
A + (A` & B) = (A + A`) * (A + B) = 1 * (A + B) = A + B
A * (A + B) = A * A + A * B = A + A * B = A * (1 + B) = A * 1 = A
A * (A` + B) = A * A` + A * B = 0 + A * B = A * B
A * (A` + A * B) = A * A` + A * A * B = 0 + A * B = A * B
Y = A * B + A* B` + A` * B 
	= A * (B + B`) + A` * B = A(1) + A` * B = (A + A`) * (A + B) = 1 * (A + B) = A + B
Y = A + A * B + A * C = A(1 + B + C) = A(1) = A

4. 논리게이트

4-1. AND, 4-2. OR, 4-3. NOT, 4-4. BUFFER,
4-5. XOR(= A` * B + A * B`)

0 0 = 0, 0 1 = 1, 1 0 = 1, 1 1 = 0

4-6. XNOR

0 0 = 1, 0 1, 0, 1 0 = 0, 1 1 = 1

5. 조합논리회로

5-1. 반가산기
2진수 1 + 1 = 0 올림수 1. 이렇게 가산한 합과 올림수를 구하는 회로
합 = XOR = A * B` + A` * B
올림수 = AND = A * B

5-2. 전가산기
반가산기의 회로에 뒷자리에서 발생한 올림수를 처리할 수 있도록 한 회로

5-3. 병렬가산기
2진수 A, B에 대한 댓셈을 N개의 전자가산기로 구현한 실질적 가산기

5-4. 디코더(해독기)
n Bit 입력단자로 들어온 2진 신호를 최대 '2의 N승 개의 출력'단자 중 하나를 선택하는 회로
AND 게이트의 집합으로 구성

5-5. 인코더
디코더의 반대동작
2의 N승개의 입력단자에 대해 N개의 출력단자로 코드화 출력하는 회로

5-6. 멀티플렉서
N개의 입력 데이터에서 입력선을 선택하여 단일 채널로 송신하는 것 (여러개의 입력이 하나로)

5-7. 디멀티플렉서
멀티플렉서의 반대동작
1개의 입력선으로 들어오는 정보를 2의 N승개의 출력선 중 하나에 출력

6. 순서논리회로

정의 : 외부로부터 입력과 현재 상태에 따라 출력이 결정되는 회로
종류 : 플립플롭, 카운터, 레지스터, RAM, CPU 등..

6-1. 플립플롭 (한국어로 표현하면 팔딱팔딱?)
전원이 공급되고 있는 한, 상태의 변화를 위한 신호가 발생할 떄까지 현 상태를 유지
1비트를 기억하는 메모리
어느 한 상태에서 다른 상태로 동작하기 위해서는 외부의 영향이 작용되어야 한다

진법과 보수

1. 정보의 표현 단위

Bit - 2진값
Nibble - 4bit
Byte - 8bit 문자표현의 최소
Word - 명려처리 단위
	Half Word : 2byte
	Full Word : 4byte
	Double Word : 8byte
Field : 파일 구성의 최소
Record
	논리 Recode
	물리 Recode = block
File
Database

2. 진수 변환

2진수 - 8진수는 3bit
2진수 - 16진수는 4bit

예.
2진법 - 111010011.10111
8진법 - 111 010 011 . 101 110 = 723.56

2진법 - 111010011.01111
16진법 - 1 1101 0011 . 1011 1000 = 1D3.B8

3. 보수의 개념

456의 9의 보수는 543 / 10의 보수는 544

예.
	2진수 101의 1의 보수는 010 (101 + 010 = 111)
	2의 보수는 1의 보수 +1이기 때문에 011

2의 보수 = 1의 보수 + 1