본문 바로가기

[하드웨어 뜯어보기] CPU #13 - 명령어 집합 구조(ISA), 언어를 이해하는 두뇌

📑 목차

    CPU가 이해하는 언어, 세상을 움직이는 코드의 문법

    핵심요약
    명령어 집합 구조(ISA, Instruction Set Architecture)는 CPU가 이해하고 실행할 수 있는 ‘언어의 규칙’입니다.
    즉, 하드웨어가 소프트웨어의 말을 알아듣게 해주는 통역자이자 문법 체계입니다.
    같은 “명령”이라도 CPU마다 말이 다르기 때문에, ISA는 “두뇌의 언어 체계”라 할 수 있습니다.

     

    ISA
    ISA


    1. 개념 설명 - “CPU도 언어를 배운다”

    사람이 한국어·영어·일본어를 구분하듯, CPU도 자신이 이해할 수 있는 언어를 갖고 있습니다.
    그 언어의 이름이 바로 ISA(Instruction Set Architecture)입니다.

    ISA는 단순한 명령어 목록이 아니라,

    “어떤 형식의 명령을, 어떤 레지스터에, 어떤 방식으로 실행할 것인가”를 정의하는 CPU의 문법, 어휘, 발음 규칙입니다.

    즉, ISA는 소프트웨어와 하드웨어 사이의 약속된 인터페이스입니다.
    프로그래머는 이 규칙에 따라 기계어를 작성하고, CPU는 그 언어로만 사고하고 행동합니다.

    핵심 문장: ISA는 “CPU가 이해하는 언어이자, 하드웨어와 소프트웨어의 공통 문법”이다.


    2. ISA의 구조 - CPU의 언어 문법서

    ISA는 대체로 아래 3가지 요소로 구성됩니다.

    1) 명령어 형식 (Instruction Format)

    명령어가 몇 비트로 구성되는지, 어떤 필드에 어떤 정보가 들어가는지를 정의합니다.
    예를 들어, 명령어는 보통 다음과 같은 형태를 가집니다:

    [Opcode][Source Register][Destination Register][Immediate Value] 
    • Opcode: 연산 종류 (ADD, MOV, JUMP 등)
    • Register: 명령에 사용될 레지스터
    • Immediate Value: 즉시 사용되는 상수 값

    2) 주소 지정 방식 (Addressing Mode)

    CPU가 데이터를 어디서 가져올지를 정의합니다.
    예를 들어, 직접 주소, 간접 주소, 즉시 값, 레지스터 참조 등 다양한 모드가 존재합니다.

    3) 명령어 집합 (Instruction Set)

    CPU가 수행할 수 있는 모든 명령의 목록입니다.
    대표적으로 산술(ADD, SUB), 논리(AND, OR), 제어(JMP, CALL), 메모리(MOV, LOAD) 명령이 있습니다.

    핵심 문장: ISA는 명령어 형식·주소 지정 방식·명령어 집합 세 요소로 구성된 CPU의 언어 체계다.


    3. 사람의 뇌로 비유하기 - “언어를 배우는 두뇌”

    사람이 새로운 언어를 배우면, 사고방식도 바뀝니다.
    CPU도 마찬가지입니다.
    어떤 ISA를 사용하는가에 따라 CPU의 사고 구조가 완전히 달라집니다.

    예를 들어,

    • x86: 복잡하지만 유연한 문법을 가진 언어 (다양한 표현 가능)
    • ARM: 간결하고 규칙적인 문법 (짧고 효율적인 문장)
    • RISC-V: 오픈소스 언어로, 누구나 확장 가능한 문법 (학습 가능한 언어 모델)

    이처럼 ISA는 단순한 기술 명세가 아니라, CPU의 사고방식과 철학을 결정짓는 언어적 정체성입니다.

    핵심 문장: ISA는 CPU의 언어이자, 사고방식을 규정하는 두뇌의 문법이다.


    4. 기술 발전 과정 - CISC에서 RISC, 그리고 RISC-V까지

    - 1세대: CISC (Complex Instruction Set Computer)

    초기의 CPU(x86, 8086 등)는 사람이 작성하기 쉽도록 복잡한 명령어 집합(CISC)을 채택했습니다.
    한 명령으로 여러 연산을 처리할 수 있었지만,
    명령 해석이 복잡해지고 파이프라인 효율이 떨어지는 단점이 있었습니다.

    예: MUL [BX+04H] → 메모리 접근 + 곱셈 + 저장을 한 번에 수행

    - 2세대: RISC (Reduced Instruction Set Computer)

    1980년대 IBM 801, MIPS, SPARC 등은 “단순하지만 빠른 명령어 구조”를 제안했습니다.
    명령어를 단순화하고 고정 길이로 설계하여, 파이프라인 효율을 극대화했습니다.
    이 철학이 현대 ARM 아키텍처로 이어집니다.

    예: LOAD R1, A → MUL R2, R1, R3 → STORE R2, A (단순하지만 병렬성 높음)

    - 3세대: RISC-V (Open ISA의 등장)

    최근에는 RISC-V가 새로운 흐름을 만들고 있습니다.
    이는 누구나 사용할 수 있는 오픈소스 명령어 집합 구조로,
    AI 칩, IoT, 로봇 등 다양한 하드웨어에서 커스터마이징이 가능합니다.

    핵심 문장: CISC는 표현력을, RISC는 효율을, RISC-V는 개방성을 추구한다.


    5. 오늘날의 활용 - 스마트폰, 서버, AI 칩의 언어

    분야 대표 ISA 특징
    PC / 서버 x86-64 (Intel, AMD) 복잡한 명령어, 호환성 중시
    모바일 ARMv9 (Cortex-X, Apple M 시리즈) 고효율, 저전력 중심
    AI / 임베디드 RISC-V 오픈소스, 맞춤형 명령 확장 가능
    • 스마트폰의 Cortex-X4는 ARMv9 기반으로, 전력 효율과 성능을 균형 있게 유지합니다.
    • Apple M3는 ARM ISA를 자체 확장한 구조로, macOS와 하드웨어를 긴밀하게 통합했습니다.
    • AI 전용 칩(예: Tenstorrent, SiFive)은 RISC-V 기반으로 명령어를 직접 설계하여
      특정 연산(예: 행렬곱, 벡터처리)을 최적화합니다.

    핵심 문장: 오늘날 CPU의 다양성은 곧 ISA의 다양성이다 - 세상은 여러 언어로 계산된다.


    6. 요약

    구분 내용
    정의 CPU가 이해하고 실행하는 명령어 언어 체계
    구성 요소 명령어 형식, 주소 지정 방식, 명령어 집합
    대표 구분 CISC, RISC, RISC-V
    역할 소프트웨어와 하드웨어의 인터페이스
    비유 CPU의 언어, 사고의 문법

    요약 문장 : ISA는 “CPU의 언어 체계”로, 하드웨어의 사고방식을 결정짓는 설계 언어다.


    7. 다음 편 예고

    다음 편에서는 “같은 언어를 쓰더라도, 어떻게 설계하느냐에 따라 두뇌의 성격이 달라진다”는 주제를 다룹니다.
    ISA가 언어라면, 마이크로아키텍처는 그 언어를 구현한 두뇌의 설계도입니다.

     

    다음 글 : [컴퓨터 과학] - [하드웨어 뜯어보기] CPU #14 - 마이크로아키텍처(Microarchitecture), 두뇌의 내부 설계도

     

    [하드웨어 뜯어보기] CPU #14 - 마이크로아키텍처(Microarchitecture), 두뇌의 내부 설계도

    같은 언어라도, 설계에 따라 성격이 달라지는 두뇌의 구조핵심요약마이크로아키텍처(Microarchitecture)는 CPU가 동일한 명령어 집합(ISA)을 실제로 구현하는 내부 설계 방식입니다.즉, ISA가 ‘언어’

    snappytory.com