“ 당신이 6개월 이상 한 번도 보지 않은 코드는 다른 사람이 다시 만드는 게 훨씬 더 나을 수 있다. ”
정보처리기능사
정보처리기능사 필기 시험은 대한상공회의소에서 주관하는 국가기술자격증 시험으로, 전산 개론, 데이터베이스, 운영체제, 네트워크, 프로그래밍 언어 등의 IT 분야에 대한 기본 지식을 문제로 출제됩니다.
01. 컴퓨터의 특징
대용량성 | 많은 양의 데이터를 처리 및 보관 |
범용성 | 컴퓨터를 여러 가지 용도로 사용 |
호환성 | 하나의 하드웨어나 소프트웨어를 컴퓨터의 기종에 관계없이 여러 컴퓨터에서 사용 가능 |
정확성 | 사용자의 요구 기능을 충족시키는 정도 |
신뢰성 | 주어진 환경에서 고장 없이 담당 기능을 원활하게 수행하는 정도 |
02. 중앙처리장치(CPU)
중앙처리장치는 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치로, 제어장치, 연산장치, 레지스터로 구성된다.
1. 제어장치
- 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치이다.
- 제어장치는 프로그램 카운터(PC), 명령어 레지스터(IR), 부호기(제어신호 발생기), 명령어 해독기, 번지해독기 등으로 구성되어 있다.
- 명령어의 실행은 인출(Fetch) 단계, 간접(Indirect) 단계, 실행(Execute) 단계, 인터럽트(Interrupt) 단계를 거친다.
인출(Fetch) 단계
주기억장치로부터 명령어를 읽어 들여 해석하는 단계
제어장치의 명령 실행 순서
- 프로그램 카운터에 저장된 주소(값)를 번지 레지스터에 옮긴다.
- 명령어를 주기억장치로부터 인출한다.
- 프로그램 카운터를 증가시킨다.
- 명령 코드를 명령 레지스터로 옮긴다.
- 명령 레지스터의 내용을 해독하여 실행한다.
2. 연산장치
- 제어장치의 명령에 따라 실제로 연산을 수행하는 장치이다.
- 연산장치는 가산기, 감산기, 누산기(AC, Accumulator), 보수기, 데이터 레지스터, 오버플로우 검출기, 시프트 레지스터 등으로 구성되어 있다.
연산 수행을 나타내는 단위
- LIOS : 초당 1개의 연산 수행
- KIPS : 초당 1,000개의 연산 수행
- MIPS : 초당 1,000,000개의 연산 수행
3. 마이크로프로세서
제어장치, 연산장치, 레지스터가 하나의 대규모 집적회로 칩(IC)에 내장된 장치로, 개인용 컴퓨터(PC)에서 중앙처리장치로 사용되며, 클럭 주파수와 내부 버스의 폭으로 성능을 평가한다.
- 마이크로프로세서는 설계 방식에 따라 RISC와 CISC로 구분된다.
- RISC 방식은 명령어의 종류가 적어 전력 소비가 적고, 속도가 빠르지만 복잡한 연산을 수행하기 위해 명령어들을 반복 · 조합해서 사용해야 하므로 레지스터를 많이 필요로 하고, 프로그램도 복잡하다.
- CISC 방식은 명령어의 종류가 많아 전력 소비가 많고 명령어 설계가 어려워 고가이지만 레지스터를 적게 사용하므로 프로그램이 간단하다.
RISC와 CISC의 차이점
구분 | RISC | CISC |
명령어 | 적음 | 많음 |
명령어의 길이 | 고정 | 가변 |
실행 사이클 | 단일 | 다중 |
주소 지정 | 간단 | 복잡 |
레지스터 | 많음 | 적음 |
전력 소모 | 적음 | 많음 |
처리 속도 | 빠름 | 느림 |
프로그래밍 | 복잡함 | 간단함 |
용도 | 서버, 워크스테이션 | 개인용 컴퓨터(PC) |
03. 레지스터
- CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 기억장소이다.
- 연산에 사용되는 데이터 및 연산의 중간 결과를 레지스터에 저장하는 이유는 연산 속도를 향상시키기 위해서다.
- 레지스터는 메모리 중에서 속도가 가장 빠르다.
- 레지스터에 새로운 데이터가 전송되면 기존에 있던 내용은 지워지고 새로운 내용만 기억된다.
프로그램 카운터, 프로그램 계수기(PC; Program Counter) |
다음번에 실행할 명령어의 번지를 기억하는 레지스터 |
명령 레지스터(IR; Instruction Register) | 실행중인 명령의 내용을 기억하는 레지스터 |
상태 레지스터(Status Register) | CPU에서 명령이 실행되는 순서를 제어하거나 특정 프로그램에 관련된 컴퓨터 시스템의 상태를 나타내고 유지하기 위한 제어 워드로서 실행중인 CPU의 상황을 PSW라고 함 |
PSW(Program Status Word Register) | 오버플로, 언더플로, 자리올림, 인터럽트, 등의 PSW를 저장하고 있는 레지스터 |
플래그 레지스터(Flag Register) | 제어장치와 연산장치의 실행 순서를 제어하기 위해 사용되는 레지스터 |
메모리 주소 레지스터(MAR; Memory Address Register) | 기억장치를 출입하는 데이터의 번지를 기억하는 레지스터 |
메모리 버퍼 레지스터(MAR; Memory Address Register) | 1. 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터 2. 입 · 출력장치의 동작 속도와 전자계산기 내부의 동작 속도를 맞추는 데 사용되는 레지스터 3. 버퍼 레지스터라고도 함 |
인덱스 레지스터(Index Register) | 주소의 변경, 서브루틴 연결 및 프로그램에서의 반복 연산의 횟수를 세는 레지스터 |
데이터 레지스터(Data Register) | 연산에 사용될 데이터를 기억하는 레지스터 |
시프트 레지스터(Shift Register) | 클럭 펄스(Clook Pulse)에 의해 기억되는 내용을 왼쪽 또는 오른쪽으로 1Bit씩 자리를 이동시키는 레지스터 |
04. 기본적인 논리함수
1. AND
- 입력 정보의 값이 모두 1일 때만 결과가 1이 된다.
- 입력되는 값이 A, B라면 A AND B 또는 A·B로 표현 한다.
2. OR
- 입력 정보의 값 중 1개라도 1이면 결과가 1이 된다.
- 입력되는 값이 A, B라면 A OR B또는 A+B로 표현 한다.
3. NOT
- 입력되는 정보의 반대 값이 출력되며 입력되는 값이 항상 1개이다.
- 입력되는 값이 A라면, NOT A 또는 A` 또는 Ā 로 표현한다.
05. 불 대수의 기본 공식
- 멱등법칙
- A + A = A
- A · A = A
- 보수법칙
- A + Ā = A
- A · Ā = 0
- 항등법칙
- A + 0 = A
- A + 1 = 1
- A · 0 = 0
- A · 1 = A
- 드모르강 법칙
- 교환법칙
- A + B = B + A
- A · B = B · A
- 결합법칙
- A + (B + C) = (A + B) + C
- A · (B · C) = (A · B) · C
- 분배법칙
- A·(B + C) = A·B + A·C
- A + B·C = (A + B)·(A + C)
06. 논리식의 간소화
불 대수의 기본 공식을 이용해 간소화한다.
- 합의 곱 표현을 곱의 합 표현으로 변환한다.
- 공통 인수를 뽑아 묶는다.
- 멱등법칙, 보수법칙, 항등법칙 등의 기본 공식 형태로 유도하여 줄여 나간다.
ex) 다음 불 함수를 간략화하시오.
- A + A·B = A·(1 + B) = A·1 = A
- A(A+B) = A·A + A·B = A + A·B = A·(1 + B) = A·1 = A
- A + Ā·B = (A + Ā)(A + B) = 1·(A + B) = A + B
- A (Ā + B) = A·Ā + A·B = 0 + A·B = A·B
07. 논리 게이트
AND 와 OR 회로
08. 논리회로의 이해
ex) 다음 논리회로를 논리식으로 표현하시오.
각각의 논리 게이트를 분리하여 논리식으로 표현한 후 1개의 논리식으로 합쳐 나갑니다.
그러므로 위의 논리회로는 아래와 같은 XOR 회로로 간략하게 표현할 수 있습니다.
ex) A = 1, B = 0 입력 시 출력 X의 값은?
이런 문제는 위 그림과 같이 입력되는 값을 게이트 순서대로 대입한 후 출력을 구해서 계산해도 되고, 다음과 같이 게이트별로 분리해서 계산해도 됩니다.
∴ X = 0
09. 반가산기(HA; Half Adder)
- 반가산기는 1Bit짜리 2진수 2개를 덧셈한 합(S)과 자리올림 수(C)를 구하는 회로이다.
진리표
A | B | S | C |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
논리식
논리회로
10. 전가산기(FA; Full Adder)
- 전가산기는 뒷자리에서 올라온 자리올림수(Ci )를 포함하여 1 Bit 크기의 2진수 3자리를 더하여 합(Si )과 자리올림수(Ci+1)를 구하는 회로이다.
- 전가산기는 2개의 반가산기(HA)와 1개의 OR 게이트로 구성된다.
- 전가산기는 3개의 입력선과 2개의 출력선을 갖는다.