프로그래밍

[컴퓨터 구조] 논리 연산과 불 대수

판다의 삶 2020. 5. 13. 13:11
728x90

1. 논리 연산
: 산술 연산(수치를 이용한 가감승제)을 제외한 문자나 숫자에 대한 여러 가지 연산.
데이터를 숫자로 취급하지 않으며 비트 또는 바이트 단위로 취급.

2. 논리 연산의 종류
논리합, 논리곱, 논리부정, 분기, 비교, 시프트, 변환 등
분기 : 명령의 순서를 변경하는 것. 무조건 분기와 조건 분기 존재.
비교 : 조건에 따라 두 개의 데이터를 비교하여 그 대소를 판단하는 것.
시프트 : 각종 연산을 위해서 기억된 데이터 비트들을 왼쪽이나 오른쪽으로 차례대로 이동하는 연산.
변환 : 2진수와 10진수의 상호 변환이나 코드를 바꾸는 것.

 

3. 불 대수
대수(代數)
: 대수학 (개개의 숫자 대신에 숫자를 대표하는 일반적인 문자를 사용하여 수의 관계, 성질, 계산 법칙 따위를 연구하는 학문).

불 대수
: 조지 불에 의해 창시된 논리 수학. 명제의 참과 거짓을 판단하는 논리 연산을 다루는 대수.
논리 회로 설계에 이용되어 컴퓨터 동작의 기초가 됨.
논리의 참 또는 거짓 값을 갖는 논리 변수들의 상관관계를 논리곱, 논리합, 논리부정 등의 논리 연산을 이용하여 논리식으로 표현.
※ 논리식을 간단하게 할 수 있는 법칙과 정리들을 제공하므로 이들을 이용하여 정확하고 간결하게 논리 회로 설계 가능.

불 대수의 기본 연산
논리곱 : 주어진 복수 명제 모두가 참이어야 결과가 참이 되는 연산
논리합 : 주어진 복수 명제에 적어도 1개 이상의 참이 있으면 결과가 참이 되는 연산
논리부정: 주어진 명제의 참과 거짓을 부정하는 연산.

불 대수의 법칙과 정리

불 대수 법칙과 정리표

※ 산술 연산에서 +와 *연산의 우선순위는 다르지만,
논리 연산에서 +와 ·연산의 우선순위는 같으므로 분배법칙이 성립한다.

 

4. 논리 게이트
: 하나 이상의 논리 값을 입력받아 논리 연산을 수행하여 하나의 결과를 출력하는 전자 회로

 

AND 게이트 : 두 개 이상의 입력이 모두 1일 때 출력이 1인 게이트. 논리곱 회로
OR 게이트 : 두 개 이상의 입력 중 하나 이상 입력이 1일 때 출력이 1인 게이트. 논리합 회로
XOR 게이트 : 입력이 서로 다를 때 출력이 1인 게이트. 배타적 논리합 회로
NOT 게이트 : 입력이 0이면 출력이 1, 입력이 1이면 출력이 0인 게이트. 논리부정 회로
NAND 게이트 : NOT + AND 게이트로 AND 게이트의 반대가 출력.
NOR 게이트 : NOT + OR 게이트로 OR 게이트의 반대가 출력.
NXOR 게이트 : NOT + XOR 게이트로 XOR 게이트의 반대가 출력.

5. 논리 연산 회로
: 입력되는 데이터에 대해 논리 연산을 실행하도록 하는 회로.

 

누산기
: 연산의 중간 결과를 임시로 저장하는 레지스터. 플립플롭으로 구성


누산기를 사용한 논리 연산 회로
연산될 두 개의 데이터 중 하나를 피연산자 데이터로 레지스터에 기억시킨 후 논리 연산을 지시하는 명령에 따라 연산시킴.
연산 결과를 그 레지스터에 기억되게 함으로써 논리 연산 회로 설계 가능.

728x90