토픽 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, 마이크로프로그래밍