컴퓨터의 주요 구성 요소를 설명해주세요.

컴퓨터는 CPU, 메모리, 저장장치, 입출력 장치로 구성됩니다. CPU가 연산과 제어를 담당하고, 메모리와 저장장치는 데이터를 보관하며, 입출력 장치는 외부와 상호작용합니다.


CPU가 명령어를 처리하는 과정을 설명해주세요.

CPU는 명령어를 가져오고(fetch), 해석하고(decode), 실행하고(execute), 필요하면 결과를 저장합니다. 이 기본 사이클이 반복되며 프로그램이 동작합니다.


캐시 메모리가 무엇이고 왜 필요한지 설명해주세요.

캐시는 CPU와 메인 메모리 사이의 속도 차이를 줄이기 위한 고속 메모리입니다. 자주 쓰는 데이터를 가까운 곳에 두어 평균 메모리 접근 시간을 줄이는 것이 목적입니다.


고정 소수점과 부동 소수점의 차이를 설명해주세요.

고정 소수점은 소수점 위치가 고정돼 있어 표현 범위는 좁지만 계산이 단순합니다. 부동 소수점은 지수부와 가수부를 사용해 훨씬 넓은 범위를 표현할 수 있지만, 오차와 정밀도 문제를 주의해야 합니다.


패리티 비트와 해밍 코드가 무엇인지 설명해주세요.

패리티 비트는 오류를 단순히 검출하기 위한 추가 비트이고, 해밍 코드는 오류 위치까지 찾아 일부 오류를 수정할 수 있는 방식입니다. 즉 해밍 코드는 패리티보다 더 강한 오류 제어 기법입니다.


ARM 프로세서가 무엇이고 x86과 어떤 차이가 있는지 설명해주세요.

ARM은 저전력과 단순 명령어 집합에 강점이 있는 아키텍처이고, x86은 상대적으로 복잡한 명령어와 강한 호환성에 강점이 있습니다. 모바일과 임베디드에서는 ARM, PC 서버 생태계에서는 x86이 많이 쓰입니다.


명령어 사이클(Fetch-Decode-Execute)을 설명해주세요.

Fetch는 메모리에서 명령어를 가져오는 단계이고, Decode는 그 명령어가 무엇을 의미하는지 해석하는 단계입니다. Execute는 실제 연산이나 메모리 접근을 수행하는 단계입니다.


RISC와 CISC의 차이를 설명해주세요.

RISC는 단순하고 적은 수의 명령어로 빠른 실행을 지향하고, CISC는 복잡한 명령어를 많이 제공해 한 명령어로 더 많은 일을 하게 합니다. 최근에는 두 계열 모두 내부적으로는 성능 최적화를 위해 비슷한 기법을 많이 사용합니다.


파이프라이닝이 무엇이고 해저드에는 어떤 종류가 있는지 설명해주세요.

파이프라이닝은 여러 명령어를 겹쳐 실행해 처리량을 높이는 기법입니다. 다만 데이터 해저드, 제어 해저드, 구조적 해저드 때문에 성능 저하나 스톨이 발생할 수 있습니다.


메모리 계층 구조와 캐시 적중률이 성능에 미치는 영향을 설명해주세요.

메모리 계층은 레지스터, 캐시, 메인 메모리, 디스크처럼 속도와 용량이 다른 저장장치를 계층적으로 배치한 구조입니다. 캐시 적중률이 높을수록 느린 메모리 접근이 줄어 전체 성능이 크게 좋아집니다.