컴퓨터 구조 | 레지스터와 프로그래밍

Faithful Dev·2025년 1월 24일

컴퓨터 공학

목록 보기
12/81

Instruction Set (명령어 집합)

  • 정의:
    Instruction Set은 CPU가 이해하고 실행할 수 있는 명령어의 집합을 의미한다.
    - CPU 아키텍처에 따라 정의되며, 명령어는 산술, 논리, 제어, 데이터 이동 등을 수행한다.
    - 예: ADD, SUB, LOAD, STORE, JUMP.
  • 구성 요소:
    1. Opcode: 수행할 작업(명령)을 지정한다.
      • 예: ADD (더하기), JUMP (분기).
    2. Operand: 명령이 동작할 데이터 또는 데이터의 주소를 지정한다.
      • 예: ADD R1, R2 (R1과 R2를 더함).
  • 종류:
    1. CISC (Complex Instruction Set Computer): 복잡한 명령어를 포함.
      • 예: x86 아키텍처.
    2. RISC (Reduced Instruction Set Computer): 단순하고 효율적인 명령어 집합.
      • 예: ARM 아키텍처.

Code (코드)

  • 정의:
    코드는 프로그래머가 작성한 명령어의 집합으로, CPU가 실행할 작업을 기술한다.
    - 고수준 언어로 작성된 코드는 컴파일러/어셈블러에 의해 Instruction Set에 맞게 변환된다.
  • 예시:
    • 고수준 언어:
      int result = a + b;
    • 어셈블리어 (Instruction Set으로 변환):
      LOAD R1, a
      LOAD R2, b
      ADD R3, R1, R2
      STORE R3, result

폰 노이만 구조 (Von Neumann Architecture)

  • 정의:
    폰 노이만 구조는 명령어와 데이터를 동일한 메모리에 저장하고, 이를 CPU가 순차적으로 처리하는 컴퓨터 설계 방식이다.
    - 현대 디지털 컴퓨터의 기본 구조이다.
  • 핵심 개념:
    1. 메모리: 명령어와 데이터를 저장한다.
    2. CPU: 명령어를 해석하고 실행한다.
      • 프로그램 카운터: 다음에 실행할 명령어의 주소를 추적.
    3. 단일 버스: 메모리와 CPU 간 데이터와 명령어를 교환.
  • 장점: 설계가 간단하고 유연성이 높다.
  • 단점: 명령어와 데이터를 동일한 경로로 처리해야 하므로 병목현상(Von Neumann Bottleneck)이 발생할 수 있다.

컴퓨터의 CPU 기본 구조

  • 정의:
    CPU는 명령어를 해석하고 실행하는 컴퓨터의 핵심 처리 장치이다.
  • 구성 요소:
    1. 제어 장치 (Control Unit):
      • 명령어를 해석하고 실행 순서를 제어한다.
    2. 산술 논리 연산 장치 (ALU, Arithmetic Logic Unit):
      • 산술 및 논리 연산을 수행한다.
    3. 레지스터:
      • 데이터를 일시적으로 저장하며 CPU가 빠르게 접근할 수 있다.
      • 예: 프로그램 카운터(PC), 명령어 레지스터(IR), 데이터 레지스터.
    4. 캐시 메모리:
      • 자주 사용하는 데이터를 저장하여 속도를 높인다.
    5. 버스:
      • 데이터, 주소, 제어 신호를 전달하는 통로이다.
  • 동작 과정:
    1. Fetch: 명령어를 메모리에서 가져온다.
    2. Decode: 명령어를 해석한다.
    3. Execute: 명령어를 실행한다.

정리

  1. 폰 노이만 구조는 현대 컴퓨터의 기본 설계로, 명령어와 데이터를 메모리에 저장하고 CPU가 이를 처리한다.
  2. Instruction Set은 CPU가 실행할 수 있는 명령어의 집합으로, 폰 노이만 구조에서 실행되는 코드를 정의한다.
  3. 코드는 Instruction Set에 맞게 작성된 명령어들의 집합이며, 폰 노이만 구조와 CPU의 상호작용을 통해 실행된다.
  4. CPU는 폰 노이만 구조를 기반으로 설계되며, Instruction Set을 실행하여 코드를 처리한다.
profile
Turning Vision into Reality.

0개의 댓글