자격증 정복/컴퓨터시스템기사

컴퓨터시스템기사 필기 05 — 컴퓨터 프로세서 및 명령어 (레지스터·ALU·파이프라인·Flynn분류)

올드 IT직장인 2026. 8. 10. 18:04

컴퓨터시스템기사 필기 05 — 컴퓨터 프로세서 및 명령어 (레지스터·ALU·파이프라인·Flynn분류)

2과목 [2-1] 컴퓨터 프로세서 및 명령어 파트입니다.
레지스터 종류, 파이프라인 공식, Flynn 분류는 매 회차 출제되는 핵심이에요.


CPU 내부 구조

CPU = 제어장치(CU) + 연산장치(ALU) + 레지스터 세트 + 내부 버스

 

제어장치 (CU: Control Unit)

명령어를 해독하고 각 장치에 제어신호를 보내는 역할이에요.

주요 구성요소:
명령어 레지스터(IR)  — 현재 실행 중인 명령어 저장
명령어 해독기       — IR의 명령어를 해독
제어 주소 레지스터(CAR) — 마이크로프로그램 주소 저장
제어 버퍼 레지스터(CBR) — 마이크로 명령어 임시 저장
서브루틴 레지스터(SBR) — 서브루틴 분기 시 CAR 내용 보관

 

연산장치 (ALU: Arithmetic Logic Unit)

주요 구성요소:
누산기(AC: Accumulator)  — 연산 결과 임시 저장
가산기(Adder)           — 덧셈 수행
보수기(Complementer)    — 음수 변환 (2의 보수)
시프트 레지스터         — 비트 좌우 이동
오버플로우 검출기       — 연산 결과 오버플로우 감지
상태 레지스터(SR)       — 연산 결과 상태 플래그 저장

레지스터 ⭐⭐⭐ (최빈출!)

제어 레지스터 6종

레지스터 약어 역할
프로그램 계수기 PC 다음 실행할 명령어 주소 저장
명령어 레지스터 IR 현재 실행 중인 명령어 내용 저장
누산기 AC 연산 결과 임시 저장
기억장치 주소 레지스터 MAR 접근할 주기억장치 주소 저장
기억장치 버퍼 레지스터 MBR 주기억장치와 교환할 데이터 임시 저장
상태 레지스터 SR/PSW CPU 상태 플래그 (부호/제로/캐리/오버플로우)

 

⚠️ 함정:

MAR = 주소 저장 (Memory ADDRESS Register)
MBR = 데이터 저장 (Memory BUFFER Register)
"MBR이 주소를 저장한다" → 오답! MAR이 주소 저장

 

상태 레지스터 플래그

S (Sign)     — 부호 플래그 (MSB 저장)
Z (Zero)     — 연산 결과가 0인지 여부
C (Carry)    — 최상위 비트 자리올림 발생 여부
V (oVerflow) — 오버플로우 발생 시 1
P (Parity)   — 비트 1의 홀짝성
IE           — 인터럽트 허가 플래그

 

기출 문제

Q. 다음에 실행할 명령어의 주소를 저장하는 레지스터는?

A. PC (Program Counter)

 

Q. 주기억장치의 번지를 저장하는 레지스터는?

A. MAR (Memory Address Register)


버스 (Bus)

주소 버스 (Address Bus) — CPU→메모리/I/O 단방향, 주소 전달
데이터 버스 (Data Bus)  — 양방향, 데이터 전달
제어 버스 (Control Bus) — 제어신호 전달

명령어 형식 ⭐⭐

┌──────────┬────────┬────────────┐
│  연산코드  │  모드   │   번지부    │
│ (Op Code)│(Mode) │ (Operand)  │
└──────────┴────────┴────────────┘

 

주소 지정 방식 ⭐⭐

방식 메모리 참조 횟수 설명
즉시(Immediate) 0회 오퍼랜드 자체가 데이터
직접(Direct) 1회 오퍼랜드 = 실제 메모리 주소
간접(Indirect) 2회 오퍼랜드 → 주소 → 실제 데이터
레지스터(Register) 0회 오퍼랜드 = 레지스터 번호
레지스터 간접 1회 레지스터가 주소를 가짐
상대(Relative) 1회 PC + 오프셋
인덱스(Index) 1회 인덱스 레지스터 + 오프셋

 

⚠️ 메모리 참조 횟수:

즉시=0, 직접=1, 간접=2

 

기출 문제

Q. 오퍼랜드 자체가 실제 데이터인 주소 지정 방식은?

A. 즉시 주소 지정(Immediate Addressing) — 메모리 참조 0회

 

Q. 간접 주소 지정 방식의 메모리 참조 횟수는?

A. 2회 (오퍼랜드→주소 참조 1회 + 실제 데이터 참조 1회)


파이프라인 (Pipeline) ⭐⭐⭐

파이프라인 단계

IF (Instruction Fetch)   — 명령어 인출
ID (Instruction Decode)  — 명령어 해독
OF (Operand Fetch)       — 오퍼랜드 인출
EX (Execute)             — 실행
WB (Write Back)          — 결과 저장

 

파이프라인 성능 계산 ⭐⭐⭐

실행 시간: T = k + (N-1)
  k = 파이프라인 단계 수
  N = 명령어 수

속도 향상: S = k×N / (k + N-1)
  N→∞이면 S ≈ k (단계 수만큼 최대 향상)

 

계산 예시:

5단계 파이프라인, 명령어 100개
T = 5 + (100-1) = 104 사이클
S = 5×100 / (5+99) = 500/104 ≈ 4.81배

 

파이프라인 해저드 (Hazard) ⭐⭐

구조적 해저드 (Structural Hazard)
  → 같은 자원(ALU 등)을 여러 명령이 동시 사용
  → 해결: 지연(Stall) 삽입

데이터 해저드 (Data Hazard)
  → 이전 명령 결과를 다음 명령이 바로 사용
  → 해결: 데이터 전달(Forwarding/Bypassing)

제어 해저드 (Control Hazard)
  → 분기 명령 발생 시 다음 명령어 처리 불확실
  → 해결: 분기 예측(Branch Prediction)

 

기출 문제

Q. 5단계 파이프라인으로 8개의 명령어를 처리할 때 총 실행 시간은?

A. T = 5 + (8-1) = 12 사이클

 

Q. 파이프라인에서 분기 명령 발생 시 나타나는 해저드는?

A. 제어 해저드(Control Hazard) — 분기 예측으로 해결


RISC vs CISC ⭐

구분 RISC CISC
명령어 수 적음 많음
명령어 길이 고정 가변
주소 지정 방식 단순 복잡·다양
레지스터 수 많음 적음
파이프라인 적합 불리
제어 방식 하드와이어드 마이크로프로그램
ARM, SPARC x86, x86-64

Flynn 분류 ⭐⭐⭐

분류 명령어 데이터 설명 대표
SISD 1개 1개 순차 처리 일반 PC, 파이프라인
SIMD 1개 여러 개 동일 명령 병렬 배열 프로세서, GPU
MISD 여러 개 1개 거의 사용 안 함
MIMD 여러 개 여러 개 다중 프로세서 멀티코어, 분산처리
         명령어 1개    명령어 여러 개
데이터 1개   SISD         MISD
데이터 여러개  SIMD         MIMD

 

기출 문제

Q. 하나의 명령어로 여러 개의 데이터를 동시에 처리하는 구조는?

A. SIMD — 배열 프로세서, GPU가 대표적

 

Q. 다중 프로세서 시스템은 Flynn 분류상 어디에 해당하는가?

A. MIMD (여러 명령어 + 여러 데이터)


클라우드 컴퓨팅 🆕 (신규 출제기준)

서비스 모델 3가지 ⭐⭐⭐

모델 제공 범위 예시
IaaS 인프라(서버/스토리지/네트워크) AWS EC2, Azure VM
PaaS 플랫폼(OS+런타임+미들웨어) Heroku, Elastic Beanstalk
SaaS 완성된 소프트웨어 Gmail, Office 365
사용자 관리 범위:
IaaS > PaaS > SaaS (오른쪽으로 갈수록 사용자가 관리할 것 줄어듦)

 

가상화 핵심 기술

하이퍼바이저 Type 1 — 하드웨어 위에 직접 설치 (ESXi, Hyper-V)
하이퍼바이저 Type 2 — 호스트 OS 위에 설치 (VirtualBox, VMware Workstation)
컨테이너(Docker)   — OS 커널 공유, 가상머신보다 가벼움

💡 실무에서는?

인프라 아키텍트로 서버 설계할 때 CISC 기반(x86)과 RISC 기반(ARM) 서버를 선택하는 기준이 여기서 나와요. 최근 클라우드 환경에서 AWS Graviton(ARM 기반)이 x86 대비 가격 대비 성능이 좋아서 많이 쓰이는데, 이게 바로 RISC 아키텍처의 파이프라인 효율 덕분이에요. Flynn 분류도 마찬가지로 — GPU 기반 AI 연산이 SIMD 구조라는 걸 알면 왜 딥러닝에 GPU가 쓰이는지 구조적으로 이해할 수 있어요.


핵심 정리

✅ PC=다음 명령어 주소 / IR=현재 명령어
✅ MAR=주소 저장 / MBR=데이터 저장 (혼동 주의!)
✅ 즉시=0회 / 직접=1회 / 간접=2회 메모리 참조
✅ 파이프라인 T=k+(N-1) / S=kN/(k+N-1)
✅ 해저드 3종: 구조적/데이터/제어
✅ RISC=고정길이/레지스터多/파이프라인적합
✅ SISD=일반PC / SIMD=배열프로세서 / MIMD=다중프로세서
✅ IaaS>PaaS>SaaS (사용자 관리 범위 순)

 

다음 편에서는 컴퓨터 기억 및 입출력장치 — 캐시·DMA·인터럽트·채널로 이어갑니다!

 

궁금한 점은 댓글로 남겨주세요!

반응형
개인정보처리방침  |  블로그 소개