1. 이 책은 학원 수강을 통해 습득한 내용과 멘토링을 진행하면서 스스로 학습한 내용을 바탕으로 답안 형태로 작성하였고, IT 분야 기술사인 정보관리기술사와 컴퓨터시스템응용기술사 자격을 취득하기 위해 학습하고 있거나 학습하고자 하는 분들을 위해 만들었습니다.
2. 본 교재는 발전 동향, 배경 그리고 유사 기술과의 비교, 다양한 도식화 등 실무 개발자 경험을 토대로 작성한 내용으로 풍부한 경험적인 요소가 내재하여 있는 장점이 있습니다.
Contents
PART 1 CPU(Central Processing Unit)
1. Computer의 5대 구성요소
2. Computer System의 Hardware, Software, Firmware의 구성요소와 발전 방향
3. CPU(Central Processing Unit)
4. Stored Program Computer 개념을 제시한 폰노이만 컴퓨터(Von Neumann Computer) 구조의 특징과 문제점, 해결 방안(Harvard 구조와 비교)
5. 폰노이만(Von Neumann)과 하바드(Havard) 컴퓨터 구조
6. CISC와 RISC 명령어 구조
7. 아래 연산을 CISC와 RISC 명령어 구조로 연산하는 예를 들고 CISC와 RISC에 대해 비교하시오.
8. CPU 명령어 형식의 유형에 대해 설명하고 산술식 Y=A×(B+C)에 대해 0 주소, 1 주소, 2 주소, 3 주소 명령 방식을 아래 명령어를 선택하여 기술하시오(PUSH, POP, MUL, ADD, LOAD, STORE, MOV 명령)
9. 시스템 버스(System Bus)
10. CPI(Clock Per Instruction) 개념을 설명하고 Processor 성능 향상 방안
11. CPU 명령어 사이클(Cycle)과 레지스터(Register)
12. CPU Major State
13. CPU의 Major State를 Flowchart화하여 설명하시오.
14. 명령어 집합 구조(ISA)
15. CPU 주소지정방식의 유형 및 예시
16. 아래 ADD(덧셈) 명령어의 CPU 실행 사이클(Execution Cycle) 동작에 대해 설명하시오.
17. CPU의 명령어 인출 사이클(Fetch Cycle) 동작에 대해 설명하시오(IF: Instruction Fetch).
18. 인터럽트(Interrupt) Cycle이 추가된 명령어 사이클에 대해 설명하시오.
19. ALU(Arithmetic Logic Unit)
20. 제어유니트(Control Unit)의 구성과 구현 방법
21. 고정 배선(Hard wired) 방식과 마이크로 프로그래밍(Micro-Programming) 방식
22. 제어 신호 생성을 위한 수직적(Vertical), 수평적(Horizontal) 마이크로 프로그래밍
23. 컴퓨터 메인보드(Main Board)에서의 North Bridge와 South Bridge
24. Multi-Core 간의 인터페이스 기술 발전과 CPU와 주변장치 간의 인터페이스의 필요성
25. CPU Register의 종류를 나열하고 기능을 설명하시오.
PART 2 Memory
26. 메모리 계층구조(Memory Hierarchy)
27. 메모리 계층구조에서 캐시(Cache) 메모리(Memory)의 주요 개념
28. 메모리 계층구조(Memory Hierarchy)에 대해 기술하고 Cache Memory와 Virtual(가상) Memory와의 비교
29. Cache Flush, Cache Clean, Cache Invalidate
30. 메모리(Memory) 병목(Bottleneck) 현상 최소화 방안
31. MMU(Memory Management Unit)
32. TLB(Translation Look aside Buffer)
33. HBM(High Bandwidth Memory)
34. PIM(Processing In Memory)
35. CAM(Content-Addressable Memory)에 대하여 일반적인 메모리와 비교(기본개념, 액세스 방법 및 활용 분야)
36. CAM(Content-Addressable Memory)에 대하여 예시를 들어 설명하시오.
37. Memory 인터리빙(Interleaving)
38. Flash Memory를 RAM과 EEPROM과 비교
39. PRAM(Phase change memory RAM)
40. RAID 0+1과 RAID 1+0
41. RAID 0, 1, 5, 6, RAID 1+0
42. SRAM과 DRAM을 비교하고 DDR SDRAM의 핵심기술
43. DDR SDRAM(Double Data Rate Synchronous DRAM)의 갱신(Refresh)에 대해 다음을 설명하시오.
(1) DRAM에서 갱신(Refresh)이 필요한 이유
(2) 자동 갱신(Auto Refresh)
(3) 셀프 갱신(Self Refresh)
(4) 저전력 자동 셀프 갱신(LPASR : Low Power Auto Self Refresh)
44. NAND Flash에서 Write(쓰기), Read(읽기), Erase(삭제) 과정을 상세히 설명하시오.
45. Flash ROM의 프로그래밍, Read, Erase 동작을 설명, NOR와 NAND Flash의 차이점
46. FTL(Flash Translation Layer)의 개념 필요성 동작 방법, Mapping 방법
47. Flash Memory 타입(Type)에는 SLC, MLC, TLC, QLC 타입으로 구분할 수 있다. 각각에 대해 설명하고 특징을 비교하시오.
48. FTL(Flash Translation Layer) 구조에 대해 상세하게 설명하시오.
49. FTL(Flash Translation Layer)의 핵심기술인 Wear Leveling, Garbage Collection, Over Provision, NCQ(Native Command Queuing), TRIM 동작에 대해 각각 설명하시오.
50. SSD(Solid State Device)
51. SSD(Solid State Device)와 HDD(Hard Disk Drive)의 차이점
52. CPU 관점에서 주기억장치 Access Time이 400ns이고 Cache Access Time이 50ns일 때 캐쉬의 적중률이 90%라면 평균기억장치 Access Time은 몇 ns인가?
53. 두 계층으로 이루어진 기억장치시스템에서 첫 번째 계층의 기억장치 액세스 시간이 40ns이고 두 번째 계층의 기억장치 액세스 시간은 400ns이다. 아래 2가지 질문에 답하시오.
(1) 첫 번째 계층의 기억장치에 대한 적중률이 90%일 때 평균기억장치 액세스 시간을 구하시오.
(2) 첫 번째 계층의 기억장치에 대한 적중률이 0%부터 20% 간격으로 100%까지 변할 때의 평균기억장치 액세스 시간들을 구하여 그래프를 그리고 결과에 대해 설명하시오. 단, 그래프
의 x축은 적중률 y축은 액세스 시간으로 한다.
54. 아래 3개 문제에 대해 답변하시오.
문1) 컴퓨터시스템에 디스크 캐쉬를 도입함으로써 평균 디스크 액세스 시간이 20ms에서 8.3ms로 감소되었다. 디스크 캐쉬의 적중률(Hit Ratio)이 60%라면 디스크 캐쉬의 Access Time은 얼마인가?
문2) 주기억장치 Access Time이 300ns, 캐쉬(Cache) 액세스 타입이 60ns인 시스템에서 기억장치 Access가 1000번이 수행되었다. 그중의 60%는 읽기동작이고 40%는 쓰기동작이었으며 평균적중률은 80%였다. Cache Write 정책인 Write-through와 Write-Back 방식에서 각각의 평균기억장치 Access Time을 구하시오.
문3) 두 계층의 Cache를 가진 시스템에서 첫 번째 계층의 Cache인 L1의 Access Time은 25ns, 두 번째 계층의 캐쉬인 L2의 Access Time은 80ns이고 주기억장치 Access Time은 250ns이다. L1 적중률이 75%이고 L2의 적중률은 90%일 때 평균기억장치 Access Time을 구하시오.
55. 빅 엔디언(Big Endian)과 리틀 엔디언(Little Endian)
PART 3 병렬 컴퓨터
56. 병렬 컴퓨터의 Flynn의 분류, 활용 사례
57. 병렬 컴퓨터 상호연결망 성능 결정요소와 종류
58. 병렬처리 시스템의 상호연결망(Inter connection Network)에 대해 다음을 설명하시오.
가. 상호연결망의 개념과 종류
나. 토러스(Torus) 구조
59. 병렬 컴퓨터를 위한 SMP, MPP, NUMA
60. 병렬처리(Parallel processing), 그레인(Grain)
61. 명령어 파이프라이닝(Pipelining)
62. Superscalar와 VLIW(Very Long Instruction Word)
63. EPIC(Explicitly Parallel Instruction Computing)
64. 명령어 수준 병렬성(ILP) 차원에서 슈퍼스칼라(Superscalar), VLIW(Very Long Instruction Word), 슈퍼파이프라인(Superpipeline)의 개념과 특징에 대해 설명하시오.
65. 병렬 컴퓨터의 파이프라이닝과 벡터 프로세싱(1교시)
66. 병렬 컴퓨터의 파이프라이닝과 벡터 프로세싱에 대해 비교 분석(2교시)
67. 명령어 파이프라인의 해저드(Hazard) 발생 유형 3가지의 원인, 해결책
68. 4단계 명령어 파이프라이닝(Pipelining)
69. 2단계, 4단계 6단계 명령어 파이프라인, Data 해저드(Hazard)의 발생 원인과 해결 방안
PART 4 Interrupt 및 I/O Interface
70. Interrupt 구동 I/O
71. Interrupt의 처리과정과 종류, Interrupt 중첩(Nesting)
72. Interrupt를 처리하고 있는 프로세서에 또 다른 인터럽트가 발생되었을 때 조건에 따른 처리 방법
73. DMA(Direct Memory Access)
74. Locality(지역성) 원리와 활용 사례
75. 입출력장치 인터페이스의 개념과 필요성, 발전 방향
76. I/O(Input/Output) 전송방식의 필요성과 종류
77. I/O(입출력) 방식인 다중 Interrupt, Daisy chain 방식, SW(Software) Polling 방식
78. RS-232C
79. JTAG(Joint Test Action Group)의 제공 기능
80. 직렬(Serial) 인터페이스인 RS-232C, SPI(Serial Peripheral Interface), I2C(Inter Integrated Circuit), IrDA(Infrared Data Association)에 대해 각각 설명하시오.
81. I2C Interface의 특징과 동작 순서
82. SPI(Serial Peripheral Interface)의 신호구성과 동작 예, 그리고 장단점
83. IEEE 1394와 USB 인터페이스
84. DVI와 HDMI 규격
85. MHL 3.0(Mobile High Definition Link 3.0)
86. SATA(Serial Advanced Technology Attachment)
87. IEEE 1394와 USB
88. USB(Universal Serial Bus) 3.0의 Protocol Stack, 핵심기술, USB2.0과 비교
89. USB3.0의 핵심기술과 USB2.0과 비교
90. USB(Universal Serial Bus) 3.1
91. Thunderbolt 인터페이스(1교시)
92. Thunderbolt 인터페이스 설명(2교시)
93. PCI-Express 인터페이스
94. PCI(Peripheral Component Interface)-Express의 등장 배경, Protocol Stack, PCI와 비교, 복수링크 전송방법에 대해 기술하시오.
95. IO 주소 지정(IO Addressing) 방식
96. 아래는 프린트 IO 제어기 내부 구조의 일부이다. Programmed IO 방식에 대한 설명과 아래 Programmed IO 방식으로 프린터에 문자열 쓰기 Program 예시에 대한 구체적인 동작 과정을 기술하시오.
97. 아래 조건에서 기억장치-사상 I/O(Memory Mapped I/O) 방식으로 프린터에 출력하는 프로그램을 작성하시오.
98. 아래 조건에서 분리형 I/O(Isolated I/O) 방식으로 프린터에 출력하는 프로그램을 작성하시오.
PART 5 신기술
99. 하이퍼바이저(Hypervisor)
100. 가상화(Virtualization), 전(Full)가상화, 반(Para)가상화
101. 가상화에 대한 다음을 설명하시오.
가. 일반적인 운영체제의 프로그램 동작방식
나. 응용프로그램 가상화 동작방식
다. 원격 데스크톱 프로토콜의 종류
102. 마이크로서비스 아키텍처(Micro-service Architecture)
103. Scale-Up/Scale-Out
104. MR(Mixed Reality)
105. MR(Mixed Reality)에 대해 설명하시오.
106. 지능형 CCTV 스마트관제
107. 멀티모달 인터페이스(Multimodal Interface)의 구성요소
108. 정보기술 측면에서 UI(User Interface)와 UI의 시대적 요구 변화 내용
109. 증강현실과 가상현실 비교, 모바일 증강현실을 구현하기 위한 Hardware를 설명하시오.
110. 가상현실(Virtual Reality)은 ICT 및 인프라의 발달로 지속 확산되고 있다. 가상현실의 개념, 확산 요인, 생태계 현황 및 시사점에 대하여 설명하시오.
111. 스마트 더스트(Smart Dust)에 대해 설명하시오.
112. UHDTV(Ultra HDTV)
113. SMART TV의 기술 요소
114. SCM(Storage Class Memory)
115. 인 메모리(In Memory) Computing에 대해 설명하시오.
116. PM-OLED와 AM-OLED
117. UHDTV의 방송시스템 개발 방안(미디어 획득부터 디스플레이까지의 과정)
118. BYOD(Bring Your Own Device)
119. 통합스토리지(Unified Storage)
120. VDI(Virtual Desktop Infrastructure)의 구성과 핵심 기술 요소
121. OSHW(Open Source Hardware)
122. BD(Blu-ray Disc)에 적용된 Contents 보호 기술 3가지
123. 3D 프린터의 제약사항과 해결 방안, 3D 프린터의 활용 분야
124. Wearable 기기의 구현 기술과 Smart Watch Device의 기능
125. Flexible Display 유형과 핵심 기술
126. 무선전력전송(WPT: Wireless Power Transfer) 기술
127. Wearable Device에 적용되는 방수 및 방진의 등급
128. Wearable Device 중 방수 제품의 방수 방법에 대한 적용 기술
129. RFID(Radio Frequency Identification)
130. COS(Chip Operating System)
131. Smart Phone Sensor
132. Simultaneous Multi-Threading
133. UI(User Interface)의 시대적 변화
134. SoC(System On Chip)
135. SIP(System In Package)
136. Touch Screen의 방식 및 동작 원리
137. Barcode와 RFID의 장단점
138. Touch Panel
139. MEMS(Micro Electro Mechanical System)
140. VTL(Virtual Tape Library)
141. BCI(Brain Computer Interface)
142. 디지털 홀로그래픽 디스플레이(Digital Holographic Display)
143. 홀로그래피(Holography), 홀로그램(Hologram)
144. DVFS(Dynamic Voltage and Frequency Scaling)
145. CPU의 동작을 감시하는 워치독 타이머(Watchdog Timer)에 대하여 기술하고 하드웨어 구현 방법을 설명하시오.
146. 아래 System과 같이 메인(Main) CPU에서는 주 프로그램이 운용 중이고 보조 CPU에서는 Watchdog이 운용 중이라고 가정한다. 보조 CPU에서 동작될 수 있는 Watchdog Timer의 동작과정을 기술하시오.
PART 6 논리회로
147. 논리 Gate의 종류
148. MUX(Multiplexer)와 DEMUX에 대해 설명하시오.
149. 밀리머신(Mealy Machine)과 무어머신(Moore Machine)
150. 카노프 맵(Karnaugh Map)
151. 세 변수맵을 이용하여 다음 부울식 간소화
152. 주어진 부울함수에 대해 카노프맵을 사용하여 간소화
153. 논리회로(소자)에서 Setup Time과 Hold Time
154. 논리회로에서 Fan-in, Fan-out 개념
155. Open Collector와 Open Drain
156. 논리회로에서 풀업(Pull-Up)과 풀다운(Pull-Down) 레지스터
157. CMOS와 TTL에 대해 설명하고 비교하시오.
158. CMOS와 TTL의 잡음여유도에 대해 설명하시오.
159. 조합논리회로와 순차논리회로에 대해 설명 및 비교하시오.
160. 논리회로에서 Latch와 Flip-Flop
161. 논리회로에서 래치(Latch)와 플립플롭(Flip-Flop)에 대해 설명하시오.
162. 플립플롭(Flip-Flop)의 4가지 종류에 대해 도식화한 후 설명하시오.
163. RS Flip-Flop에서 R=1, S=1일 때 불확실 또는 부정이 발생하는 원인
164. 3상태 버퍼(Three State Buffer)의 활용 방안
165. 3상태 버퍼를 이용하여 2-to-1 MUX 설계
166. 정적-1 해저드(Hazard)의 발생 예, 설명, 제거하기 위한 방법
167. RS, JK, D, T 플립플롭의 여기표와 특성 방정식
168. 16x4 RAM Chip 두 개를 활용하여 16x8 Bit 회로를 구성
169. 입력변수 X, Y, Z에 대한 조합 논리 회로 설계 (문제 참조)
170. 부울대수(Boolean Algebra)의 규칙을 활용하여 아래의 부울함수를 간략화하고 구현된 회로를 작성하시오.
171. 부울대수(Boolean Algebra)의 규칙을 활용하여 아래의 부울함수를 간략화하시오.
172. F(A, B, C)=Σ(1, 2, 3, 4, 5, 7)에 대하여 NAND Gate를 이용한 Logic Diagram을 도식하시오.
173. 8bit 데이터 버스와 14bit 주소 버스로 구성된 Micro-System 회로 구현
174. Positive Edge Triggered J-K Flip-Flop을 사용하여 상태 순차 000,001,011,100을 반복하는 동기식 Counter를 설계하시오. 단, 3상태 101,110,111이 발생하는 경우에는 다음 상태에서 000이 된다.
175. J-K Flip Flop을 사용하여 아래 3-Bit 2진 Counter를 설계하시오.
176. JK Flip Flop을 사용하여 아래와 같이 주어지는 상태도에 대해 Counter 회로를 설계하시오(미사용 상태인 010, 100상태에 대해서는 Don’t Care 상태로 처리하시오).
177. 8Bit데이터(Data) Bus와 16Bit Address Bus로 구성되는 마이크로컴퓨터 시스템에서 아래와 같은 조건으로 기억장치를 설계하고자 한다. 회로를 설계하시오.
178. Programmable Switch(프로그래머블 스위치)인 PLA, PAL, CPLD, FPGA에 대해 설명하시오.
179. FPGA의 개념, 구성 그리고 CPLD와 비교
180. ASIC(Application Specific Integrated Circuit)의 종류와 설계과정, 설계방법론
181. 하드웨어(Hardware) 설계 방법 중에 하나인 VHDL에 대해 설명하시오.
182. PLL(Phase Locked Loop)
183. Ripple Carry Adder보다 빠른 가산기 3가지
184. Clock Skew
185. Crosstalk 현상의 개념, 원인, 해결책, 사례 그리고 최근 이슈
PART 7 컴퓨팅(Computing)
186. MTBF, MTTF, MTTR, MTFF에 대해 설명하시오.
187. SPEC(Standard Performance Evaluation Cooperative)
188. 암달(Amdahl’s) 법칙(Law)
189. 암달(Amdahl’s) 공식을 활용한 시스템 성능향상도이다. 시스템 속도 향상 가능 부분은 아래와 같을 때 각각의 질문에 답하시오.
1) CPU Clock Speed를 2배로 가속했을 때 성능 향상은?
2) 부동소수연산 가속기를 2배로 했을 때 성능 향상은?
3) 입출력(I/O) 속도를 2배(즉, BUS 구조, 캐쉬, 디스크 등 시스템 아키텍처를 최적화)로 했을 때 성능 향상은?
4) Network 속도를 2배로 증가했을 때 성능 향상은?
190. Grid Computing
191. Wearable Computing의 주요 기술과 해결 과제
192. 자가적응형 컴퓨팅(Self-Adaptive Computing)에 대해 기술하시오.
193. 자율 컴퓨팅(Autonomic Computing)
194. 클라우드 컴퓨팅(Cloud Computing)
195. 엣지 컴퓨팅(Edge Computing)
196. 엣지 컴퓨팅(Edge Computing)의 장단점과 적용 사례 및 보안 취약점
197. 상황인식 컴퓨팅(Context Aware Computing)
198. 양자컴퓨터의 특징과 양자컴퓨터와 기존 컴퓨터 간 비교 설명하시오.
199. 컴퓨터시스템의 성능평가 방법에 대해 설명하시오.
200. CPU 성능측정(CPU Utilization, Throughput, Turnaround Time, Waiting Time, Response Time)
201. CPU의 병행성(Concurrency)과 병렬성(Parallelism)
202. GPGPU(General Purpose computing on Graphics Processing Unit)
203. GPU(Graphic Processing Unit)와 CPU(Central Processing Unit)의 차이점
204. 정보시스템 하드웨어 규모 산정 지침(TTAKKO-10.0292/R2)에 따른 하드웨어 규모 산정 절차
205. TTA 기반으로 정보시스템의 H/W 용량을 산정하고자 한다. 다음에 대하여 설명하시오.
1) H/W 규모 산정 방법에 대한 개념 및 장단점
2) 규모 산정 대상
3) CPU 및 스토리지의 성능 기준치
206. 모바일 및 임베디드(Embedded) 시스템에 주로 이용되고 있는 ARM(Advanced RISC Machine) 프로세서에 대하여 다음 사항을 설명하시오.
가. ARM 프로세서의 특징
나. ARM 하드웨어 임베디드(Embedded) 시스템 아키텍처
다. ARM 소프트웨어 계층 구조
207. TPU(Tensor Processing Unit)
208. AI(인공지능) 반도체