2016. 8. 11. 14:51ㆍ자격증 공부/정보처리기사
[1]논리회로
1. 기본 정리(다이어그램으로 이해)
분배: A+B*C = (A+B)(A+C)
흡수: A+A*B=A, A(A+B)=A
드모르간의 정리: !(A+B)=!A*!B, !(A*B)=!A+!B(+가 *로 바뀌면서 !가 분배됨)
2. 논리 게이트
방울 모양: !(NOT)의 의미
플러그 모양: AND(둘 다 꼽아야 작동하니까)
샤프 끝 모양: eXclusive OR(같을 때는 0/ 다를 때는 1)
3. 논리 회로 종류
1) 반가산기(Half Adder) = 플러그(C) + 진동기(S)
2) 전가산기(3개의 2진수 더하기) = 2*반가산기 + OR
3) 디코더(해독기)
N개의 입력 > 2의 N승의 출력
4개의 AND(플러그)로 만들어짐(전력 많이 먹음)
4. 플립플롭: 1비트 기억 소자(1>0 OR 0>1로 바뀌며 기능도 바뀜)
1) RS - 4NAND(4꼭지)
S R |
Q(t) |
Q(t+1) |
|
0 0 |
0 1 |
0 1 |
변화 X |
0 1 |
0 1 |
0 0 |
0으로(RESET) |
1 0 |
0 1 |
1 1 |
1로(SET) |
1 1 |
불허 |
불허 |
불허 |
2) JK - 2AND(2플러그)
(위 표에서 1,1 부분만 '반전'으로)
3) 주종 - 2AND + NOT
* 카운터: 시간 펄스 수 카운트, 회로 동작 제어
*레지스터: 연산 Data 대기방
[2]자료표현 및 연산
1. 수의 표현 방법
1) 양음 표현
양수: 맨 앞 Bit가 0
음수: 맨 앞 Bit가 1
2) 음수 구하기
1의 보수 > 반전
2의 보수 > 1의 보수 +1
3) BCD 코드(10진수>2진수)
ex) 111 > 0001 | 0001 | 0001
*Excess-3: BCD 코드에 10진수 3을 더한 것
[3] 명령어 및 프로세서
1. 기본
1) 구조: 연산자(Operation) + 연산 대상(Operand)
2) 연산자의 기능 4(FICT)
ㄱ) Functional(함수 연산)
ㄴ) I/O(입출력)
ㄷ) Control(제어)
ㄹ) Transfer(전달)
*CPU의 4기능(연산, 전달, 제어, '기억')과 비슷
3) 명령어 종류(처리, 전송, 제어)
ㄱ) Data 처리
a. 산술: (4칙: ADD, SUB, MUL, DIV), INC/DEC
b. 논리: AND/OR, COMPLIMENT(1의 보수), CLEAR(모두 0으로 리셋)
c. 시프트: 산술/논리 Shift, ROTATE(문자 위치 이동)
(비트/자료 이동)
ㄴ) Data 전송
PUSH/POP: 스택에 Data 입출력
INPUT/OUTPUT
ㄷ) Data 제어
JUMP/SKIP
SMA/SZA
SZA/ISZ
4) 부 프로그램 vs. 매크로
call 문으로 호출 vs. 본문에 삽입
*Recursion: 자기 자신 호출, stack에 올려 실행
2. 명령어 형식
1) 0-주소: Operand(주소 부분)이 없음, 스택 구조에서 사용(SI)
2) 1-주소: 주소 1개, 누산기(Accumulator) 구조에서 사용(AI)
*레지스터와 메모리는 두 개의 주소 가짐
3. 주소 지정 방식
1) 속도 비교
Immediate > Direct > Relative > Indirect
참조 횟수 0번 1번 1번 2번
참조 방식 NO(Data 포함) 주소값으로 +PC로 주소값의 주소값으로
4. 프로세서 종류
1) CISC(Complex Instruction Set Computer) vs RISC(Reduced-)
|
CISC |
RISC |
명령어 길이 |
16~64 |
32 고정 |
개수 |
100 이상 |
100 미만 |
참조 연산 |
메모리 |
레지스터 |
2) CPU 구성 3
ㄱ) 연산 장치(ALU:Arithmetic&Logic Unit): 가산기, 누산기, 플립플롭, 보수기
ㄴ) 제어 장치(CU:Control Unit): 명령어 해독 > 제어 신호 전달
ㄷ) 메모리: 자료 보관
*Bus: 정보 교환에 이용, 결선 수 줄이는 최선의 방법
*버스 경합 축소법 3: 고속화, 다중 버스 사용, 캐시 사용
5. 레지스터: CPU 안 임시 기억 장치로서 기억된 정보에 신속하게 접근
1) 종류
ㄱ) PC(P Counter): 명령어 주소값 기억, 수행 순서 나타냄
ㄴ) MAR(Memory Address R): 접근 장소 주소값 기억
ㄷ) MBR(Memory Buffer R): 주기억 장치에 Data 기억
ㄹ) IR(Instruction R): 현재 수행 중 명령어 기억
*DR-ACC: 연산에 사용되는 Data, 결과 임시 기억
*Flag R(=PSWR:Status Word): 매 순간 P 수행 상태 나타냄
[4]입출력(I/O)
1. I/O 시스템 구조
주기억장치 - I/O 제어기 - 인터페이스 - I/O 장치 제어기 - I/O 장치
2. I/O 제어 방식
1) Polling(SW에 의한): 시시때때로 FLAG 상태 검사 -> 비효율적
2) 인터럽트: 인터럽트 받았을 때만 -> 효율적
3) DMA 제어기(Direct Memory Access): 주기억과 DMA 사이에서 작동
ㄱ) 특징: CPU 경유 X, Cycle Steal 이용(버스 하이잭)
ㄴ) 절차: 버스 사용 요구 -> 허가 -> Data 전송 -> 인터럽트
ㄷ) 방식: 하나 입출력할 때마다 '단어 계수기 값' 감소. 0이 되면 완료 보고 인터럽트 발생
3. 채널(입출력 전용 프로세서)
1) Selector: 1채널 1입출력 장치 > 고속 전송
2) Byte Multiplexer: 1채널 여러 장치 > 시분할 공유
3) Block Multiplexer
[5] 인터럽트 및 병렬 컴퓨터 구조
1. 인터럽트의 기본
1) 동작 순서
인터럽트 요청 > 현 상태 보존 > (원인) 판별 > 취급(=조치) > (원 상태) 복귀
*Vector 인터럽트 방식
장치마다 고유 인터럽트 요청 회선 > 장치 판별 필요 없음
HW 신호에 의해 특정 번지의 서브 루틴 수행
2) 우선 순위(Priority): 높은 순
정전(Power Fail)
기계 고장(Machine Check)
외부 신호: 타이머, 조작원, I/O 요청
-----외부------
Program: 불법 연산자, 보호 공간 접근, 0으로 나누기, overflow(=내부 인터럽트, Trap)
SVC(SuperVisor Call): 제어 P 호출
3) 우선 순위 부여 방식
ㄱ) SW에 의한(Polling): 경제성, 융통성 高(SW니까) | 반응속도 低
ㄴ) HW에 의한(Daisy Chain:직렬 연결) vise versa:
요청 체인(신호 최초 받은 놈)/Priority 체인(높은 놈만 장치 번호 보냄)으로 나눠짐
2. 병렬 컴퓨터 구조
1) 병렬 처리기
|
파이프라인(SISD) |
배열 |
다중 |
|
분할된 하나의 처리기 |
여러 처리기 |
여러 처리기 |
|
서로 다른 종류 데이터 |
동일 종류 연산 |
작업 분할해 분배 |
|
길거리 훈수꾼들 |
공장 컨베이어 벨트 |
|
2) 연결 구조
ㄱ) 공유 BUS형: 추가는 쉽지만 처리 속도가 공유 버스에 제한 받음
ㄴ) 크로스바 스위치형: 와플 모양, 병렬성 발군
ㄷ) 다단계 상호(오메가 스위치): 축구 토너먼트?
[6]시스템의 개요
1. 1) 기본 요소 5
I/O, Process, Control, Feedback
2) 특성 4(목적, 자동, 제어, 종합)
2. 시스템 개발 생명 주기
1) SDLC(System Develop. Life Cycle)
조사 > 분석 > 설계 > 구현 > 테스트 > 유지보수
[7] 코드 설계
1. 1) 코드 기능 3(식별, 분류, 배열)
구별
2) 설계 시 유의사항: 공통, 일관 | 체계, 식별, 간결 | 확장
3) 설계 순서
코드화 항목 > 목적 > 대상 > 범위 > 사용 기간 > 항목 특성 분석 > 방식 결정 > 문서화
2. 코드 종류
1) Sequence(순차): 간단하지만 중간에 추가 곤란 ex) 사원 번호
2) Block(구분): ex) 총무부 - 인사과 - 코드
3) Decimal(십진): 좌>우 분류, 기계 처리 불편 ex) 공학100 - 전산10 - 1,2,3
4) Group Classification(분류식): 대>중>소분류, 추가 용이, 기계 처리 Good! ex) 대학교>소속 대학>학과>
5) Significant Digit(표의 숫자): 길다는 단점 ex) 26-20-25(신체 사이즈)
<-> Mnemonic(연상) ex) 17-TV 17인치 TV
3. 코드 오류 종류
1) 사본(Transcription): 1자리 틀림
2) 전위(Transposition): 2자리 틀림 ex) 아기 바뀜
3) Double Trans-: 2*2자리 틀림, 전위의 2배
4) 생략/첨가: 1자리 아예 없음/있음
*체크 디지트
1 3 3 4 6 | 1(검사 자리)
1) 맘대로 가중치 곱하여 더함
2) Modular 10으로 나눠 나머지 구함
3) (10 - 나머지)를 검사 자리와 비교
4) 일치 > "정상"
'자격증 공부 > 정보처리기사' 카테고리의 다른 글
16년 3회차 정보처리기사 필기 합격! (0) | 2016.08.21 |
---|---|
핵심 정리(시스템 분석) (0) | 2016.08.21 |
핵심 정리(정보통신) (0) | 2016.08.12 |
핵심 정리(운영체제) (1) | 2016.08.12 |
핵심 정리(데이터베이스) (0) | 2016.08.11 |