Learning
토픽 10 / 111·CPU (Central Processing Unit)

마이크로연산 (Micro-operation)

마이크로연산 (Micro-operation)

하나의 기계어 명령어를 실행하기 위해 CPU 내부에서 수행되는 기본적인 원자적 연산 단위로, 레지스터 전송 수준(RTL)에서 정의됨

목적: 명령어의 세부 동작 정의, 제어 유닛 설계, 마이크로프로그래밍 기초

특징: 원자적 연산, 한 클럭 내 수행, 레지스터 전송 언어(RTL)로 표현, 병렬 수행 가능

마이크로연산 유형

  • 전송 마이크로연산: 레지스터 간 데이터 이동 (예: R1 ← R2)
  • 산술 마이크로연산: 덧셈, 뺄셈, 증가, 감소 (예: R1 ← R1 + R2)
  • 논리 마이크로연산: AND, OR, XOR, NOT (예: R1 ← R1 ∧ R2)
  • 시프트 마이크로연산: 논리/산술/회전 시프트 (예: R1 ← shl R1)

레지스터 전송 언어(RTL): 마이크로연산 표기법, 화살표(←)로 전송 표현

명령어 사이클 예시(ADD R1, R2)

  • T0: MAR ← PC (PC를 MAR로)
  • T1: MBR ← M[MAR], PC ← PC+1 (메모리에서 명령어 인출)
  • T2: IR ← MBR (IR에 명령어 저장)
  • T3: R1 ← R1 + R2 (실제 덧셈 실행)

제어 유닛 구현

  • 하드와이어드(Hardwired): 조합 논리 회로, 빠름, 수정 어려움, RISC
  • 마이크로프로그램(Microprogrammed): 마이크로명령어 ROM, 유연, 느림, CISC

장점: 명령어 세부 동작 명확화, 제어 유닛 체계적 설계

단점: 복잡한 명령어는 많은 마이크로연산 필요

적용사례: CPU 제어 유닛 설계, 마이크로프로그래밍, 시뮬레이터

비교: 하드와이어드(빠름/고정) vs 마이크로프로그램(유연/느림)

연관: 명령어 사이클, 제어 유닛, RTL, CISC, 마이크로프로그래밍