정보처리기능사 필기 기출문제 해설 [10-10-03]일 시행 1번 ~ 30번
빨간 글자 = 정답(밑줄)
파란 글자 = 중요 문제, 많이 출제돼요
초록 글자 = 문제 풀이 팁
회색 글자 = 답만 암기, 중요하지 않아요
[1과목 : 전자 계산기 일반]
1. 다음이 설명하고 있는 데이터 입출력 방식은?
- 데이터의 입출력 전송이 CPU를 통하지 않고, 입출력장치와 기억장치 간에 직접 데이터를 주고받는다. - CPU와 주변 장치 간의 속도 차를 줄일 수 있다. |
가. DCA
나. DMA
다. Multiplexer
라. Channel
'CPU를 통하지 않고 직접 데이터를 주고 받는다' 핵심 문장으로 직접(Direct) 기억장치(Memory) 접근(Access)입니다.
<DMA(Direct Memory Access)>
- 입. 출력 장치가 직접 주기억장치에 접근하여 데이터를 주고 받는 방식으로 입출력이 CPU를 거치지 않고 수행이 됩니다.
- CPU는 DMA 제어기에게 입.출력 동작을 개시하는 지시후 더 이상 간섭하지 않고 다른 프로그램을 할당하여 수행하게 됩니다.
- 입출력 자료 전송시 CPU를 거치지 않기에 CPU의 부담이 없어 보다 빠른 데이터 전송이 가능해집니다.
- 사이클 스틸(Cycle Steal) 방식을 이용하여 데이터를 전송하며 종료시 인터럽트 신호를 발생시켜 CPU에게 알립니다
<DCA>
- [Document Content Architecture]로 서로 다른 기종의 컴퓨터 간에 텍스트 문서를 교환할 수 있게하는 파일 형식의 규정이 있습니다.
- [Driver Control Area]로 드라이버 제어 영역이란 뜻도 있습니다.
※DCA는 크게 2가지 의미가 있습니다.
<MUX(Multiplexer) = 다중화기, 멀티플렉서>
- 하나의 통신 회선에 여러 대의 단말기가 동시에 접속하여 사용할 수 있도록 하는 장치를 말합니다
- 입력 회선의 수와 출력 회선의 수는 같습니다.
- 여러 대의 단말기 속도의 합이 다중화된 하나의 통신 회선 속도와 같습니다.
- 통신 회선을 공유함으로써 전송 효율을 높이고, 통신 회선의 경비를 줄일 수 있습니다.
- 주파수 분할 다중화기(FDM), 시분할 다중화기(TDM) = 동기식(STDM) or 비동기식(ASTDM) 이 있습니다.
<채널(Channel)>
- CPU를 대신하여 주기억 장치와 입출력 장치 사이에서 입출력을 제어하는 처리장치로 입출력전용 프로세서라 합니다.
- CPU와 독립적으로 동작하여 입출력을 완료하여 실제 CPU의 부담을 줄여줌으로 시스템의 속도를 향상시켜 줍니다.
- 채널 종류
- 셀렉터채널(Selector) : 고속의 입출력 장치 제어를 하며 1개의 입출력 장치와의 사이에서 데이터를 주고 받을 수 있는 채널로 멀티플렉서(다중, 복수)와는 반대되는 개념입니다.
- 멀티플렉서채널(Multiplexer) : 저속의 입출력장치 제어를 하며 컴퓨터와 복수의 주변 장치에서 동시에 데이터를 주고 받을 수 있는 채널입니다.
- 블록 멀티플렉서 채널(Block Multiplexer) : 셀렉터와 멀티플렉서의 혼합된 기능
※DCA는 중요하지 않아요 그 외의 내용을 기억해 두시면 좋아요
2. 컴퓨터 시스템의 중앙처리장치를 구성하는 하나의 회로로써 산술 및 논리 연산을 수행하는 장치는?
가. Arithmetic Logic Unit
나. Memory Unit
다. I/O Unit
라. Associative Memory Unit
산술(Arithmetic) 논리(Logic) 장치(Unit)입니다. 약자로는 ALU라 합니다.
<연산장치(ALU : Arithmetic Logic Unit)>
- 산술 연산, 논리 연산, 관계 연산 및 시프트(Shift)를 수행하는 중앙처리장치(CPU) 내부의 회로 장치로 제어장치의 명령에 따라 실제로 연산을 수행하는 장치입니다.
- 가산기(덧셈), 누산기(덧셈), 감산기(뺄셈), 보수기, 데이터 레지스터, 상태 레지스터 등이 있습니다
<기억장치(Memory Unit) = 저장장치 : Computer data storage)>
- 컴퓨터에서 데이터를 일시적으로 또는 영구히 보존하는 장치들입니다.주기억 장치(ROM, RAM) , 보조기억장치(HDD,SSD,ODD, 등), 기타기억장치(Cache memory, Virtual Memory)가 있습니다.
<I/O Unit = 입력장치 / 출력장치>
↘<입력장치(Input Device)>
- 사용자가 원하는 문자, 기호, 그림, 소리 등의 데이터 또는 명령(프로그램)을 컴퓨터 내부의 메모리에 전달하는 장치입니다.
- 키보드, 마우스, 스캐너(사진,그림 입력), 디지타이저/태블릿, 카메라(사진 입력), 마이크(소리 입력), 등이 있습니다.
↘ <출력장치(Output Unit)>
- 컴퓨터에서 처리한 결과를 기계로부터 인간이 알 수 있도록 문자, 소리, 그림 등과 같이 다양한 형태로 표현해 주는 장치입니다. 영상 출력장치(Monitor – CRT,LCD,PDP 등) , 인쇄장치(프린터,플로터, 등), 음향장치(스피커, 등)가 있습니다.
<연관(연상) 메모리(Associative Memory)>
- 주소를 참조하여 데이터를 읽어오는 방식이 아닌 저장된 내용을 일부를 이용하여 기억장치에 접근하여 데이터를 읽어오는 기억장치입니다.
- 정보 검색이 신속하하 구현이 복잡한 단점이 있고 캐시 메모리나 가상 메모리 관리기법에서 사용하는 매핑 테이블에 사용됩니다.
※각각의 보기들도 시험에 문제로 출제가되니 보기 내용들도 잘 기억해 두세요
3. 제어논리장치(CLU)와 산술논리연산 장치(ALU)의 실행순서를 제어하기 위해 사용되는 레지스터는?
가. 누산기(accumulator)
나. 프로그램 상태 워드(program Status World)
다. 명령 레지스터(instruction register)
라. 플래그 레지스터(flag register)
플래그(Flag : 깃발)를 흔들어 신호를 주고 받으며 순서를 제어 하는 모습을 상상해 보시면 이해가 될 수 있어요
프로그램상태워드(PSW)와 플래그 레시즈터는 동일하게 볼수 있지만 이 문제에서는 연산에 주로 관련된 PSW보다는 제어에 중점이된 플래그레지스터를 정답으로 봅니다.
<플래그 레지스터(Flag Register) ≒ 상태 레지스터; Status Register, PSWR ; Program Status Word Register)>
- 시스템 내부의 순간 순간의 상태가 기록된 정보를 PSW라고 하며 이를 기억하여 오버플로, 언더플로, 자리올림, 계산 상태, 인터럽트 등의 정보를 저장하고 있는 레지스터 입니다.
<누산기(Accumulator) = AC , ACC>
- 산술 연산과 논리 연산 동작을 수행한 후 결과를 축적하는 레지스터입니다.
- 산술 연산 또는 논리 연산의 결과를 일시적으로 기억하는 장치입니다.
- 대표적인 연산 장치로 1주소 명령어를 처리합니다.
<명령 레지스터(IR : Instruction Register)>
- 현재 실행중인 명령어의 내용을 기억하는 레지스터로 명령만 기억합니다.
※플래그레지스터와 상태레지스터에 관한 문제중 조금 어렵게 출제됐습니다. 답만 암기하셔도 괜찮아요 저 두가지를 구별 짓기엔 기능사보다는 산업기사/기사에서 출제되가 될법한 내용이 됩니다.
4. 번지(address)로 지정된 저장위치(storage location)의 내용이 실제 번지가 되는 주소지정번지는?
가. 간접지정 방식
나. 완전지정방식
다. 절대지정방식
라. 상대지정방식
명령어의 번지값을 가지고 기억 장치의 지정된 위치로 가면 실제 데이터가 있는 주소값을 알게되어 다시 기억 장치를 참조하는것은 '간접지정'입니다.
<간접주소(Indirect Address)>
- 명령어의 주소부(Operand)의 값이 실제 데이터의 주소를 가진 번지 주소를 가지고 있는 방식으로 최소 2회 이상 기억 장치를 접근해야 목표 데이터를 접근할 수 있습니다. 속도는 느리지만 긴 주소를 표현할때 적합합니다.
<완전주소> : 데이터나 주소를 구별하지 않고 기억된 장소에 직접 매핑(사상) 시킬 수 있는 완전한 주소
<절대 번지(Absolute Address)>
- 개개의 컴퓨터에 갖추어진 특유의 방식으로 그 기억 장치 안의 장소에 할당된 주소로 미리 번지가 고정적으로 매겨져 있는 것으로 절대 번지라 합니다. (0,1,2,3... 16진수 나오면 무조건 절대 번지라 암기하셔도 됩니다.)
<상대 주소(Relative Address) : 상대 번지>
- 유효 주소를 계산하기 위해 특정 레지스터 내용에 명령어 주소값을 더하는 방식 (명령어의 주소 + Program Counter(PC) 를 계산하여 유효 주소를 계산)
※완전 주소는 저런게 있나 하고 넘어가셔도 됩니다. 중요하지 않아요 다른 내용들을 기억해 두세요
5. JK플립플롭(flip flop)에서 보수가 출력되기 위한 J, K의 입력상태는?
가. J=1, K=0
나. J=0, K=1
다. J=1, K=1
라. J=0, K=0
JK와 RS는 아래의 내용을 이해하시면 너무 쉬운 문제입니다.
RS, JK 플립플롭
플립플롭 | j | k | 결과 |
s | r | ||
입력 | 0 | 0 | 변화 없음 |
1 | 0 | Set = 1 로 | |
0 | 1 | Reset = 0 으로 | |
1 | 1 | JK = 반전(토글) RS = 오류 |
※ 1 = 하다 0 = 하지 않는다
RS 플립플롭의 S = Set , R = Reset
J = S , R = K 와 같습니다.
6. 2진수 (10001010)을 2의 보수로 옳게 표현한 것은?
가. 01110101
나. 01110110
다. 10001011
라. 10000110
2진수 → 1의 보수로 변경시 NOT연산(Complement)을 하면 됩니다.
10001010(2진수) → 01110101(1의보수)
1의 보수 → 2의 보수로 변경시 +1만 하면 됩니다.
01110101 + 1 = 01110110이 됩니다.
※어렵지 않아요 차근차근 처리 방식을 이해하시면 틀릴수 없는 쉬운 문제입니다.
7. 하나의 명령어를 중앙 처리 장치에서 처리하는데 포함된 일련의 동작들을 총칭하여 명령어 주기(Instruction Cycle)라 하는데 명령어 주기에 속하지 않는 것은?
가. Branch Cycle
나. Fetch Cycle
다. Indirect Cycle
라. Interrupt cycle
Branch Cycle에 대한 정보가 없네요. 시험문제를 위해 만들어진 내용 같네요
<메이저 스테이트(Major State = Major Cycle = Machine Cycle)>
- 현재 CPU가 무엇을 하고 있는가를 나타내는 상태입니다.
- 인출(Fetch), 간접(Indirect), 실행(Execute), 인터럽트(Interrupt) 4가지 상태가 있습니다.
↘<인출 단계(Fetch Cycle)>
- 명령어를 주기억장치로부터 중앙처리장치의 명령 레지스터(IR)로 가져와 해독하는 단계로 해석된 명령어의 모드 비트에 따라 직접 주소와 간접 주소를 판단합니다.
↘ <간접 단계(Indirect Cycle)>
- 인출(Fetch) 단계에서 해석된 명령이 간접주소인 경우 수행되며 간접주소의 경우 유효주소를 계산하기 위해 다시 간접 단계(Indect Cycle)을 수행후 명령어에 따라 실행하게 됩니다.
↘ <인터럽트 단계(Interrupt Cycle)>
- 인터럽트 발생 시 복귀주소를 프로그램카운터(PC)에 저장후 제어순서를 인터럽트 처리 프로그램의 첫 번째 명령으로 옮기는 단계로 인터럽트를 마무리하면 다시 명령어를 가져오는 인출(Fetch)단계로 바뀌게 됩니다.
↘ <실행 단계(Execute)>
- 인출 및 간접 단계에서 가져온 명령어를 실행하는 단계로 실행도중 인터럽트 발생시 인터럽트(Interrupt Cycle)처리 단계로 넘어가게 됩니다.
※시험에서는 Fetch Cycle이 가장 많이 시험에 출제됩니다. 영어이름과 한글이름 모두 기억해 두세요
8. 주기억장치, 제어장치, 연산장치 사이에서 정보가 이동 되는 경로이다. 빈 부분에 알맞은 장치는?
가. ① 제어장치 ②주기억장치 ③연산장치
나. ① 주기억장치 ②연산장치 ③제어장치
다. ① 주기억장치 ②제어장치 ③연산장치
라. ① 제어장치 ②연산장치 ③주기억장치
제어신호를 ③ 에서 ① 으로 보내고 있습니다. 따라서 ③이 제어 장치 입니다.
또한 중앙 처리 장치는 크게 '제어장치' 와 '연산장치'로 나누게 됩니다. ③이 제어 장치이므로 ②이 '연산장치'라는 것을 유추 할 수 있습니다.
정확히는 데이터를 입력 받아 결과값을 보내주고 있습니다. 입력받은 데이터를 처리하여 보내주는 장치는 '산술 논리 연산 장치' 입니다.
결과값을 출력하기 위해서 중앙 처리장치와 통신하는 장치는 '주기억장치'가 됩니다
<제어장치(Control Unit : CU)>
- 컴퓨터의 모든 장치들의 동작을 지시하고 제어하는 장치로 CPU(중앙처리장치)를 구성하는 장치입니다.
- 대표적으로 PC, IR, MAR, MBR, 등이 있습니다.
<연산장치(ALU : Arithmetic Logic Unit)>
- 산술 연산, 논리 연산, 관계 연산 및 시프트(Shift)를 수행하는 중앙처리장치(CPU) 내부의 회로 장치로 제어장치의 명령에 따라 실제로 연산을 수행하는 장치입니다.
- 가산기(덧셈), 누산기(덧셈), 감산기(뺄셈), 보수기, 데이터 레지스터, 상태 레지스터 등이 있습니다.
<RAM(Random Access Memory)>
- 주기억장치는 CPU가 직접 접근하여 데이터를 처리할 수 있는 기억장치로, 현재 수행되는 프로그램과 데이터를 저장하고 있습니다. (내부 기억장치라고도 합니다.)
- 일반적으로 ‘주기억장치’ 또는 ‘메모리’라 함은 RAM을 의미합니다.
- RAM은 각 위치를 주소로 표시하며 자료가 있는 주소에 새로운 자료가 들어가면 기존의 데이터는 삭제되고 새로운 데이터가 저장됩니다.
- 전원이 꺼지면 내용이 모두 사라지는 휘발성 메모리입니다.
※<주기억 장치(Main Memory)> - 이 문제에서는 RAM을 의미하고 있으므로 RAM에 관한 설명을 하겠습니다.
일반적으로 주기억장치 = RAM을 의미하며 이중 DRAM을 말합니다.
9. 연산을 자료의 성격에 따라 나눌 때, 논리적 연산에 해당하지 않는 것은?
가. ROTATE
나. AND
다. MULTIPLY
라. COMPLEMENT
MUL(Multiply)는 산술 연산으로 곱셈입니다.
이외의 ROTATE, AND, COMPLEMENT는 논리 연산입니다.
<ROTATE>
- SHIFT로 밀려나가는 비트의 값을 반대편 값으로 입력하는 연산으로 문자 위치를 변환시 사용합니다. (단항 연산자입니다.)
<AND 게이트>
- 논리 곱, 교집합, 직렬 연결로 이해하시면 됩니다. 특정 비트를 Clear(0으로 만드는)하는 MASK 연산에 사용됩니다.
- AND의 경우 입력 값이 모두 다 1(True : 참)일 때 결과 값이 1의 결과 값이 출력되는 게이트입니다.
- 입력에 2개의 값이 필요하며 출력은 1개의 값이 출력됩니다. 이러한 것을 이항 연산(항이 두 개)이라 합니다.
- 반가산기에서는 자리올림(Carry)값을 나타냅니다.
<진리표>
AND Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
<NOT = Complement = 인버터(Inverter)>
- 입력되는 값을 반전합니다. 토글(2가지 상태로 반복적으로 되풀이 하는 것.) 기능, Complement 연산이라고도 하며 값의 부정이라합니다
<진리표>
NOT Gate | |
입력 A | 출력 B |
0 | 1 |
1 | 0 |
※MUL은 산술 곱이고 AND는 논리 곱입니다.
10. 진리표가 다음 표와 같이 되는 논리 회로는?
입력 A | 입력 B | 출력 F |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
가. AND 게이트
나. OR 게이트
다. NOR 게이트
라. NAND 게이트
진리표를 봤을때 이해가 안된다면 NOT회로를 생각하시면 됩니다.
출력 F의 모든 값에 NOT회로를 처리하면 입력A(1), 입력B(1)일 경우만 출력F(1)이 출력 되는 것을 보고 AND회로인것을 알수 있습니다.
결과에 NOT을 했으니 NAND가 됩니다.
<NAND>
- NAND, NOR, XNOR 의 경우 결과값에 NOT 회로를 붙여 값의 반전만 하면 되므로 NAND만 설명후 넘어가도록 하겠습니다.
- NAND : NOT AND로 AND 연산후 결과 값에 NOT회로 처리하면 됩니다.
<게이트 그림>
<진리표>
NAND Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
<AND 게이트>
- 논리 곱, 교집합, 직렬 연결로 이해하시면 됩니다. 특정 비트를 Clear(0으로 만드는)하는 MASK 연산에 사용됩니다.
- AND의 경우 입력 값이 모두 다 1(True : 참)일 때 결과 값이 1의 결과 값이 출력되는 게이트입니다.
- 입력에 2개의 값이 필요하며 출력은 1개의 값이 출력됩니다. 이러한 것을 이항 연산(항이 두 개)이라 합니다.
- 반가산기에서는 자리올림(Carry)값을 나타냅니다.
<진리표>
AND Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
<OR 게이트>
- 논리 합, 합집합, 병렬 연결로 이해하시면 됩니다. 특적 bit를 1(Set = 1로 만드는)Selective-Set 연산에 주로 사용됩니다.
- OR의 경우 입력 값이 모두 0(False = 거짓)일 경우에만 0이 출력 되며 이외에는 1로 출력 됩니다.
- 입력 값이 2개이며 출력이 1개이므로 이항 연산이라 합니다.
<진리표>
OR Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
<NOR>
- OR회로의 값에 NOT 회로를 붙여 값을 반전만 하면 됩니다.
<게이트 그림>
<진리표>
NORGate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 0 |
※논리회로는 항상 모두 기억하고 있어야 해요
11. A·(AB+C)를 간략화 하면?
가. A
나. B
다. C
라. A·(B+C)
A(A * B + C)
= AAB + AC (분배 법칙)
=AB + AC
=A(B + C) (A로 묶음)
단순하고 쉽게 풀 수 있는 문제 입니다.
※A * A = A 입니다.
※그림을 보고 이해 하시면 쉽습니다. 어렵지 않은 문제입니다.
12. 채널은 어떤 장치에서 명령을 받는가?
가. 기억장치
나. 출력장치
다. 입력장치
라. 제어장치
컴퓨터의 모든 장치는 '제어 장치'의 명령으로 시작됩니다.
<채널(Channel)>
- CPU를 대신하여 주기억 장치와 입출력 장치 사이에서 입출력을 제어하는 처리장치로 입출력전용 프로세서라 합니다.
- CPU와 독립적으로 동작하여 입출력을 완료하여 실제 CPU의 부담을 줄여줌으로 시스템의 속도를 향상시켜 줍니다.
↘<채널 종류>
- 셀렉터채널(Selector) : 고속의 입출력 장치 제어를 하며 1개의 입출력 장치와의 사이에서 데이터를 주고 받을 수 있는 채널로 멀티플렉서(다중, 복수)와는 반대되는 개념입니다.
- 멀티플렉서채널(Multiplexer) : 저속의 입출력장치 제어를 하며 컴퓨터와 복수의 주변 장치에서 동시에 데이터를 주고 받을 수 있는 채널입니다.
- 블록 멀티플렉서 채널(Block Multiplexer) : 셀렉터와 멀티플렉서의 혼합된 기능
<기억장치(Memory Unit) = 저장장치 : Computer data storage)>
- 컴퓨터에서 데이터를 일시적으로 또는 영구히 보존하는 장치들입니다.주기억 장치(ROM, RAM) , 보조기억장치(HDD,SSD,ODD, 등), 기타기억장치(Cache memory, Virtual Memory)가 있습니다.
<출력장치(Output Unit)>
- 컴퓨터에서 처리한 결과를 기계로부터 인간이 알 수 있도록 문자, 소리, 그림 등과 같이 다양한 형태로 표현해 주는 장치입니다. 영상 출력장치(Monitor – CRT,LCD,PDP 등) , 인쇄장치(프린터,플로터, 등), 음향장치(스피커, 등)가 있습니다.
<입력장치(Input Device)>
- 사용자가 원하는 문자, 기호, 그림, 소리 등의 데이터 또는 명령(프로그램)을 컴퓨터 내부의 메모리에 전달하는 장치입니다.
- 키보드, 마우스, 스캐너(사진,그림 입력), 디지타이저/태블릿, 카메라(사진 입력), 마이크(소리 입력), 등이 있습니다.
※각각의 용어들을 잘 기억해 두세요 시험에 자주 출제되는 내용들입니다.
13. 여러 개의 입력정보 (2^n) 중에서 하나를 선택하여 한 곳으로 출력시키는 조합 논리 회로는?
가. 반가산기
나. 멀티플렉서
다. 디멀티플렉서
라. 인코더
여러개를 한곳으로는 멀티플렉서(MUX)이고 반대는 디멀티플렉서 입니다.
<MUX(Multiplexer) = 다중화기, 멀티플렉서>
- 하나의 통신 회선에 여러 대의 단말기가 동시에 접속하여 사용할 수 있도록 하는 장치를 말합니다
- 입력 회선의 수와 출력 회선의 수는 같습니다.
- 여러 대의 단말기 속도의 합이 다중화된 하나의 통신 회선 속도와 같습니다.
- 통신 회선을 공유함으로써 전송 효율을 높이고, 통신 회선의 경비를 줄일 수 있습니다.주파수 분할 다중화기(FDM), 시분할 다중화기(TDM) = 동기식(STDM) or 비동기식(ASTDM) 이 있습니다.
<반가산기>
- 1개의 XOR(합계 : Sum) 회로와 1개의 AND(자리올림 : Carry) 회로로 구성되어 있으며 2개의 입력값과 2개의 출력값을 갖고 갖고 있습니다.
- S의 겨우 SUM으로 합계를 나타내는 값이며 C의 경우 Carry로 자리 올림값을 나타냅니다.
- 2개의 입력과 결과가 S,C 2개라면 반가산기라고 암기해도 됩니다
- 반가산기의 경우 시험에서 너무나도 많이 출제되는 부분입니다 꼭 암기하시길 바랍니다.
<부호기(Encoder)>
- 2^n 개의 신호를 입력받아 n개의 신호로 출력하는 장치로 특정 값을 여러 자리인 2진수로 변환합니다.
- 특정 장치로부터 보내오는 신호를 여러 개의 2진 신호로 바꾸어 변환시켜 줍니다.(반대는 디코더 입니다.)
- 해독된 명령에 따라 각 장치로 보낼 제어신호를 생성합니다.
※부호기와 헷갈릴 수 있으니 조심해야합니다. MUX는 여러선(2^n)을 하나로 인코더는 2^n개의 선을 n개로 입니다.
14. 연산자의 기능과 거리가 먼 것은?
가. 주소 지정 기능
나. 제어기능
다. 함수연산 기능
라. 입출력 기능
연산자는 명령어의 OP-Code부로 실제 명령이 있는 곳입니다.
주소지정은 이 명령어의 Mod부분에서 담당합니다.
아래의 구조를 보시고 명령어의 각 부분이 무엇을 하는지 알고 계시면 문제를 쉽게 풀 수 있습니다.
<명령어의 구조>
명령어는 기본적으로 3가지 구조로 이루어 져 있습니다.
명령어 구조 | OP-code (명령부,연산자) | Mod(주소지정) | Operand(주소부) |
OP-code : 실제 명령이 있는 곳으로 입출력, 주소 지정, 제어 , 연산, 등의 기능을 가지고 있습니다.
MOD : 주소 지정부분으로 직접 주소지정, 간접주소 지정 등 주소 지정에 관련된 정보를 가지고 있습니다.(보통 명령어 형식에서는 생략하여 이야기 합니다.)
Operand : 연산에 사용되는 데이터 혹은 데이터의 주소 등을 저장하고 있습니다
15. 다음과 같은 논리회로에서 A=1, B=1, C=0 일 때, X로 출력되는 값은?
가. 0
나. 1
다. 10
라. 11
A,B 는 AND 회로로 입력되어 모두 1이므로 1을 출력합니다.
출력된 1과 C의 0이 OR회로로 입력되며 OR의 경우 하나라도 1인 경우 1이 출력되기에 X의 결과값이 1이 됩니다.
<AND 게이트>
- 논리 곱, 교집합, 직렬 연결로 이해하시면 됩니다. 특정 비트를 Clear(0으로 만드는)하는 MASK 연산에 사용됩니다.
- AND의 경우 입력 값이 모두 다 1(True : 참)일 때 결과 값이 1의 결과 값이 출력되는 게이트입니다.
- 입력에 2개의 값이 필요하며 출력은 1개의 값이 출력됩니다. 이러한 것을 이항 연산(항이 두 개)이라 합니다.
- 반가산기에서는 자리올림(Carry)값을 나타냅니다.
<진리표>
AND Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
<OR 게이트>
- 논리 합, 합집합, 병렬 연결로 이해하시면 됩니다. 특적 bit를 1(Set = 1로 만드는)Selective-Set 연산에 주로 사용됩니다.
- OR의 경우 입력 값이 모두 0(False = 거짓)일 경우에만 0이 출력 되며 이외에는 1로 출력 됩니다.
- 입력 값이 2개이며 출력이 1개이므로 이항 연산이라 합니다.
<진리표>
OR Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
※논리 게이트 암기는 기본입니다. 이후 선을 따라 게이트를 찾아가 처리하면 결과값은 쉽게 찾을 수 있어요
16. 프로그램들이 기억장치 내의 임의의 장소에 적재될 수 있도록 조정하는 작업을 재배치(relocation)라 하는데 이 기능을 수행하는 재배치 로더(loader)의 역할이 아닌 것은?
가. 기억장소 할당
나. 목적 프로그램의 기호적 호출 연결
다. 원시 프로그램을 읽어서 명령어를 해석
라. 기계어 명령들을 기억장치에 적재
프로그램을 읽어 해석하는 번역(Compile)에 관련된 일은 '언어 번역기'가 합니다.
<로더(Loader)>
- 컴퓨터 내부로 정보를 들여오거나, 로드 모듈을 디스크 등의 보조기억장치로부터 주기억장치에 적재하는 시스템 소프트웨어 입니다.
- 할당(Allocation), 연결(Linking), 재배치(Relocation), 적재(Loading) 과 같이 4가지 기능이 있습니다.
↘<로더 기능>
- 할당 : 실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨 놓을 공간을 확보
- 연결 : 부 프로그램 호출 시 그 부프로그램이 할당된 기억장소의 시작주소를 호출한 부분에 등록하여 연결하는 것
- 재배치 : 디스크 등의 보조기억장치에 저장된 프로그램이 사용하는 각 주소들을 할당된 기억장소의 실제 주소로 배치
- 적재 : 실행 프로그램을 할당된 기억공간에 실제로 옮기는 것
<언어 번역 프로그램>
- 사용자가 고급언어(인간에 가까운 언어)로 작성한 원시 프로그램을 기계어 형태의 목적 프로그램으로 변환 시키는 것으로 컴파일러, 인터프리터, 어셈블러가 있습니다.
<컴파일러(Compiler)>
- - 대표적 언어 번역 프로그램으로 페이지 단위로 번역후 실행합니다.
- - 페이지 단위인 만큼 번역 속도는 느리나 실행속도가 빠르고 목적 프로그램을 생성합니다.
- - 대표적인 언어로 FORTRAN, COBOL, C, ALGOL, 등이 있습니다.
<인터프리터(Interpreter)>
- 대표적 언언 번역 프로그램으로 한번에 한줄씩 읽어 들여서 실행합니다.
- 한줄 단위 번역이므로 번역 속도가 빠르지만 전체적인 샐행 속도는 느려집니다.
- 줄단위 번역이라 오류를 쉽게 발견할 수 있으며 대표적으로 ‘BASIC , LISP , SNOBOL , APL ’등이 이습니다.
<어셈블러(Assembler)>
- 저급 언어인 어셈블리어로 작성된 프로그램을 기계어로 번역하는 프로그램입니다.
※로더와 언어 번역기를 잘 기억해 두세요 다른 자격증 시험에도 자주 출제 됩니다.
17. 연산장치에서 연산결과에 대한 부호를 저장하는 것은?
가. 가산기
나. 기억 레지스터
다. 상태 레지스터
터 라. 보수기
연산의 결과를 기억하는 것이 아닌 '부호'를 저장하는 것으로 '상태 레지스터'가 하는 일 입니다.
<플래그 레지스터(Flag Register) ≒ 상태 레지스터; Status Register, PSWR ; Program Status Word Register)>
- 시스템 내부의 순간 순간의 상태가 기록된 정보를 PSW라고 하며 이를 기억하여 오버플로, 언더플로, 자리올림, 계산 상태, 인터럽트 등의 정보를 저장하고 있는 레지스터 입니다.
<가산기(Adder)>
- 2개 이상의 수를 입력받아 그 수를 합하여 출력하는 논리회로로 덧셈기라고도 합니다.
- 반가산기와 전가산기가 있습니다.
<기억 레지스터(Storage Register)>
- 기억 장치와 컴퓨터의 다른 장치들 사이에서 데이터를 주고 받을 때 데이터를 일시적으로 기억해주는 레지스터로 보통하나의 단어 또는 문자를 기억시킬 수 있는 기억 장치를 말합니다.
<보수기(Complementer)>
- 입력받은 데이터 값의 보수를 출력해줍니다.
- 구해진 보수를 가산기를 이용하여 가산하여 감산 처리를 할 수 있습니다.
- 2진수의 경우 1의 보수나 2의 보수를 구하여 그 보수를 숫자에 가산하면 뺄셈 결과를 얻을 수 있습니다.
※기억 레지스터는 중요하지 않아요.
보수로 가산하여 뺄셈처리하는 내용은 시험에 출제가 되지 않아 넘어갈께요 기회가 있다면 계산하는 방법을 보여드릴께요
18. EBCDIC코드의 존(Zone) 코드는 몇 비트로 구성되어 있는가?
가. 3
나. 4
다. 5
라. 6
EBCDIC코드는 8bit 문자 코드로 Digit Bit = 4bit + Zone Bit = 4bit 구조 입니다.
BCD코드 : 6bit 문자코드로 대소문자를 구별하지 못합니다. (64가지 문자 표현 가능합니다.)
ASCII 코드 : 미국 표준국에서 개발되어 7bit 문자 체제로 인터넷에서 주로 사용됩니다. ( 128가지 문자 표현)
EBCDIC : 확장된 BCD 코드로 대형 컴퓨터에서 사용합니다. (256가지 문자 표현)
코드 | Zone bit | Digit bit | 크기 | 특징 |
BCD | 2 bit | 모두 4 bit (따라서 Digit bit를 묻는 문제는 출제되지 않습니다. ) |
6 bit | 대소문자 구분 X |
ASCII | 3 bit | 7 bit | 미국에서 만든 표준 코드 | |
EBCDIC | 4 bit | 8 bit | 과학 수치 계산 |
ASCII(아스키)를 기준으로 위로는 -1 아래로는 +1 로 기억하셔도 됩니다. 아스키는 획수가 7획이 나옵니다. 7bit 암기법입니다
※BCD, ASCII, EBCDIC 코드의 간단한 특징은 기억해 두세요
다른 자격증 시험에는 특히나 ASCII(아스키)가 자주 출제됩니다.
19. 입력장치로만 나열된 것은?
가. 키보드, OCR, OMR, 라인프린터
나. 키보드, OCR, OMR, 플로터
다. 키보드, 라인프린터, OMR, 플로터
라. 키보드, OCR, OMR, MICR
지금은 거의 사용하지 않는 입력장치들도 있기에 이런게 있구나 하고 넘어가셔도 됩니다.
수비게 풀기 위해서는 '프린터'와 '플로터'는 대표적인 출력장치입니다. 해당 보기를 모두 지우면 쉽게 정답을 알 수 있어요
OCR = 광학식 문자 판독기로 문서에 새겨진 문자를 빛을 이용하여 판독하는 장치를 말합니다.
OMR = 광학식 기호 판독장치로 빛을 이용해 마크 시트 따위의 용지에 연필이네 펜 등으로 표시한 부분에 빛을 비추어 판독하고 전기 신호로 바꾸어 주는 역할을 합니다.(컴퓨터용 사인펜으로 용지에 마킹하여 시험 응시할때가 이 OMR장치와 관련있습니다.)
MICR = 자기 잉크 문자 판독 장치로 자기 잉크로 문자, 부호, 표시를 판독하는 것으로 은행에서 수표 검사에서 사용됩니다.
라인프린터 = 1행씩 연속적으로 인쇄하는 방식의 프린터입니다.
<플로터(Plotter) ≒ X-Y 플로터>
- X축과 Y축으로 이동하며 용지의 크기와 상관없이 고해상도로 출력이 가능한 그래픽 출력장치로 주로 대형(설계도면, 광고물, 현수막)출력물에 주로 사용됩니다.
- 과거의 플로터는 용지와 펜의 상대위치를 X 방향과 Y방향으로 이동시켜 작도하는 장치였습니다. 시험 문제로는 출력장치라고만 암기하셔도 됩니다.
※중요한 내용들이 아니니 짧게만 정리하고 넘어갈께요
20. 8비트 컴퓨터에서 10진수 -13을 부호화 절대치 방식으로 표현한 것은?
가. 10001101
나. 10001110
다. 11111110
라. 01111101
부호화 절대치에서 가장 첫번째 비트의 숫자값이 0이면 양수(+), 1이면 음수(-)입니다. 꼭 꼭 기억하시면 됩니다.
문제에서 8bit로 나타내야 하므로 8자리 2진수로 해당 -13을 표현하면 됩니다.
1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
(-) 음수 | 자리값 64 | 자리값 32 | 자리값 16 | 자리값 8 | 자리값 4 | 자리값 2 | 자리값 1 |
음수인 숫자에서 각 자리값을 더하면 8+4+1 이 되므로 -13(10001101)을 표현했습니다.
※부호값만 잘 기억하시면 일반 2진수로 변경하는 문제와 동일한 난이도 입니다.
[2과목 : 패키지 활용]
21. 스프레드시트 작업에서 반복되거나 복잡한 단계를 수행하는 작업을 일괄적으로 자동화시켜 처리하는 방법에 해당하는 것은?
가. 매크로
나. 정렬
다. 검색
라. 필터
'반복', '자동화', 모두 매크로에 대한 설명이 됩니다.
<매크로(Macro)>
- 반복적이고 복잡한 일련의 작업을 순서대로 기록해 두었다가 필요할 때마다 호출 명령을 통하여 자동으로 처리하는 프로그램입니다.
- 프로그램 작성시 동일한 코드가 반복되는 경우 그 코드를 한번만 작성하여 필요시 호출하여 사용하는 것입니다
<정렬(Sort)>
- 불규칙하게 입력된 데이터 목록을 특정 기준에 따라 재배열하는 기능입니다.
- 오름차순(작은 값부터 큰 값으로 ex) 1 → 2 → 3 , 가 → 나 → 다)으로 정렬이 가능합니다.
- 내림차순(큰 값부터 작은 값으로 ex) 3 → 2 → 1 . 다 → 나 → 가)으로 정렬이 가능합니다.
<필터(Filter)>
- 데이터 목록에서 설정된 조건에 맞는 데이터만 추출하여 화면에 나타내는 기능입니다.
※검색은 단어 뜻 그대로 검색(찾기)이므로 설명에서 제외했습니다.
22. 스프레드시트의 입력된 자료에서 사용자가 원하는 레코드만을 선택하여 표시하는 기능은?
가. 필터
나. 슬라이드
다. 셀
라. 개요
원하는 레코드만 조건에 맞추어 표시하는 기능을 '필터'라 합니다.
<필터(Filter)>
- 데이터 목록에서 설정된 조건에 맞는 데이터만 추출하여 화면에 나타내는 기능입니다.
<슬라이드(Slide)>
- 프레젠테이션을 구성하는 내용의 하나의 화면 단위를 말하며 각 페이지의 기본 단위가 됩니다.
<셀(Cell)>
- 행과 열이 교차되며 만들어진 사각형으로 입력의 기본 단위입니다.
<개요(Outline)>
- 어떠한 목적인지와 주요 내용을 간결하게 추려 쓴 것입니다
23. 도메인에 대한 설명으로 가장 적합한 것은?
가. 릴레이션을 표현하는 기본 단위
나. 튜플들의 관계를 표현하는 범위
다. 튜플들의 구분할 수 있는 범위
라. 표현되는 속성 값의 범위
도메인은 하나의 속성이 취할 수 있는 원자값들의 집합 이라고 합니다. (속성 값의 범위)
<도메인(Domain)>
- 하나의 속성이 취할 수 있는 같은 타입의 원자값 들의 집합입니다.
- 사용 예) 성별, 학년, 등 미리 정해진 것 외에 입력 할 수 없도록 지정해 놓은 것입니다.
※이외의 보기들은 의미가 없는 보기들이므로 넘어갈께요
24. SQL에서 테이블의 price를 기준으로 오름차순 정렬하고자 할 경우 사용되는 명령은?
가. SORT BY price ASC
나. SORT BY price DESC
다. ORDER BY price ASC
라. ORDER BY price DESC
정렬시 ORDER BY절을 쓰며 ASC(오름차순), DESC(내림차순)를 알맞게 사용하면 됩니다.
<SELECT ~ FROM ~ WHERE>
- 검색문으로 조건에 맞는 튜플을 검색합니다.
- 구조 : SELECT [속성명(필드명)] FROM [테이블] WHERE [조건]
- 옵션 – DISTINCT : 중복 없이 검색합니다. (중복된 데이터가 있을 시 한번만 표시합니다.)
- ORDER BY : 검색한 결과를 정렬하여 검색할 수 있습니다.
- ASC : 오름차순 / DESC : 내림차순 으로 정렬
※SORT단어 또한 정렬이지만 SQL에서는 ORDER BY를 사용합니다.
25. SQL에서 테이블 구조에를 정의, 변경, 제거하는 명령을 순서대로 올게 나열한 것은?
가. CREATE, MODIFY, DELETE
나. MAKE, MODIFY, DELETE
다. MAKE, ALTER, DROP
라. CREATE, ALTER, DROP
테이블에 관한 명령은 정의어(DDL)에 대한 말이 됩니다.
<정의어 DDL(Data Definition Language)>
- DB(DataBase)의 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어로 번역한 결과가 데이터 사전(Data-Dictionary)이라는 특별한 파일에 여러 개의 테이블로 저장됩니다.
↘ <Create>
- 테이블, 스키마, 뷰, 도메인, 인덱스 생성
↘ <Alter>
- 테이블 수정
↘ <Drop>
- 테이블, 스키마, 뷰, 도메인, 인덱스 제거
↘↘ <DROP 옵션>
- -Restrict : 제거할 요소를 다른 개체에서 참조 중일 때 삭제를 취소
- -Cascade : 제거할 요소를 다른 개체에서 참조 중일 때 참조하는 모든 개체들 까지 전부 삭제
※DELETE와 같은 DML은 아래의 29번 문항에서 더 자세히 설명하겠습니다.
MAKE나 MODIFY는 암가하실 필요가 없어요
26. 프리젠테이션에서 사용하는 하나의 화면은?
가. 슬라이드
나. 매크로
다. 개체
라. 셀
프레젠테이션에서는 '슬라이드', 스프레드시트에서는 '워크시트' 두가지는 기억해 두세요
<슬라이드(Slide)>
- 프레젠테이션을 구성하는 내용의 하나의 화면 단위를 말하며 각 페이지의 기본 단위가 됩니다.
<매크로(Macro)>
- 반복적이고 복잡한 일련의 작업을 순서대로 기록해 두었다가 필요할 때마다 호출 명령을 통하여 자동으로 처리하는 프로그램입니다.
- 프로그램 작성시 동일한 코드가 반복되는 경우 그 코드를 한번만 작성하여 필요시 호출하여 사용하는 것입니다
<개체(Object)>
- 개별적인 요소로 취급되어 문서에 연걸하거 삽입할 수 있는 그림이나 도표, 소리 등의 개개의 요소를 의미합니다.
<셀(Cell)>
- 행과 열이 교차되며 만들어진 사각형으로 입력의 기본 단위입니다.
27. 데이터베이스관리시스템(DBMS: Databases Management System)의 주요 기능에 속하지 않는 것은?
가. 관리 기능
나. 정의 기능
다. 조작 기능
라. 제어 기능
DBMS의 3가지 기능 정의, 조작, 제어가 있습니다.
<DBMS의 필수 기능>
정의 기능 , 조작 기능 , 제어 기능
- 정의 기능 : 데이터베이스에 저장될 데이터의 타입과 구조에 대한 정의와 데이터를 이용하는 방식을 정의합니다.
- 조작 기능 : 데이터의 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 데이터 접근 수단을 정의합니다.
- 제어 기능 : 데이터의 정확성과 보안성을 유지하기 위한 무결성, 보안 및 권한 검사, 병행 제어 등의 기능을 정의합니다.
※정.조.제 로 암기
28. 관계데이터베이스에서 속성(Attribute)의 수를 의미하는 것은?
가. 카디널리티(Cardinality)
나. 도메인(Domain)
다. 차수(Degree)
라. 릴레이션(Relation)
속성의 수는 디그리(Degree) 차수 라 합니다.
기수(카디널리티 : Cardinality) : 튜플의 수
<도메인(Domain)>
- 하나의 속성이 취할 수 있는 같은 타입의 원자값 들의 집합입니다.
- 사용 예) 성별, 학년, 등 미리 정해진 것 외에 입력 할 수 없도록 지정해 놓은 것입니다.
<테이블(Table) = 릴레이션(Relation)>
- 데이터들을 표로 작성한 것으로 행과 열로 표현됩니다.
- 관계형 데이터베이스에서는 릴레이션이라고도 합니다.
※자주 출제되지는 않지만 보기로는 주로 출제되어 왔으니 정답과 다른 보기들도 눈여겨 봐 두세요
29. SQL 명령어 중 데이터 정의문(DDL)에 해당 하는 것은?
가. UPDATE
나. CREATE
다. SELECT
라. DELETE
CREATE는 정의어 입니다.
위의 25번 문항에서 DDL(정의어)에 대해서 자세히 작성했습니다.
이 문제에서는 DML을 정리할께요
<조작어 DML(Data Manipulation Language)>
- 데이터베이스 사용자가 응용프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어입니다.
- 데이터베이스 사용자와 데이터베이스 관리 시스템간의 인터페이스를 제공합니다.
↘ <SELECT ~ FROM ~ WHERE>
- 검색문으로 조건에 맞는 튜플을 검색합니다.
- 구조 : SELECT [속성명(필드명)] FROM [테이블] WHERE [조건]
- 옵션 – DISTINCT : 중복 없이 검색합니다. (중복된 데이터가 있을 시 한번만 표시합니다.)
↘ ↘ <WHERE 조건의 활용>
- 연산자 : LIKE = 속성 값이 문자 패턴과 일치하는 튜플만 검색 할 수 있습니다.
- ? , * 과 같은 와일드 카드 문자로 검색이 가능합니다.
↘ ↘ <ORDER BY> : 검색한 결과를 정렬하여 검색할 수 있습니다.
- ASC : 오름차순 / DESC : 내림차순 으로 정렬
↘ ↘ < GROUP BY [속성명(필드명)] ~ HAVING [그룹 조건]>
- 특정 필드를 기준으로 그룹화 하여 검색을 할 수 있도록 합니다.
↘ <DELETE FROM ~ WHERE>:
- 조건에 맞는 튜플(레코드)를 삭제시 사용
- 구조 : DELETE FROM [테이블] WHERE[조건]
- 조건은 생략이 가능합니다.
↘ <UPDATE ~ SET ~ WEHRE>
- 조건에 맞는 튜플의 내용을 갱신(변경)시에 사용합니다.
- 구조 : UPDATE [테이블명] SET [속성명 = 데이터] WHERE [조건]
↘ <INSERT INTO ~ VALUE>
- 삽입문으로 튜플을 삽입해야 하며 속성과 데이터는 개수와 형식이 일치해야 합니다.
- 구조 : INSERT INTO [테이블명(속성명1,속성명2,...) VALUES [데이터1, 데이터2...]
30. DBMS에 대한 설명으로 틀린 것은?
가. 데이터 보안성 보장
나. 데이터 공유
다. 데이터 중복성 최대화
라. 데이터 무결성 유지
데이터의 중복은 DBMS의 가장 큰 문제가 될 수 있습니다.
<DBMS(Data Base Magement System)>
- 데이터베이스 형태로 저장된 방대한 양의 각종 정보를 체계적이고 효과적으로 이용할 수 있도록 정리, 보관 하기 위해 만들어진 관리하는 프로그램
- 데이터의 중복을 필할 수 있으며 저장된 자료를 공동으로 이용할 수 있습니다.
- 자료의 일관성, 무결성, 보안을 유지할 수 있으며 표준화할 수 있습니다.
- 자료를 통합하여 관리할 수 있으며 항상 최신데이터로 유지하고 실시간 처리가 가능합니다.
- 전산화 비용이 증가하고 시스템이 복잡합니다.
- 자료의 백업과 회복이 어렵고 접근 과부화가 발생할 수 있습니다.
- 전문가의 부족이 있습니다.
※DBMS의 3가지 주요 기능은 27번 문항에서 보다 자세히 설명해 두었습니다.
'산업인력공단 (큐넷)-자격증 > 정보처리기능사(필기)' 카테고리의 다른 글
[시골개]정보처리기능사 필기 기출 문제 풀이 2011년 02월 13일[1과목,2과목] (2) | 2024.03.05 |
---|---|
[시골개]정보처리기능사 필기 기출 문제 풀이 2010년 10월 03일자 [3,4과목] (0) | 2024.03.04 |
[시골개]정보처리기능사 필기 기출문제 풀이 2010년 07월 11일 [3,4과목] (0) | 2024.03.02 |
[시골개]정보처리기능사 필기 기출 문제 풀이 2010년 07월 11일 [1,2과목] (1) | 2024.02.29 |
[시골개]정보처리기능사필기 2010년 03월 28일 기출문제 해설[3,4과목] (1) | 2024.02.27 |