본문 바로가기

수업 정리/컴퓨터 구조

#01_컴퓨터 구조/명령어 집합 구조(MIPs)란? + 프로세서의 동작 원리

 

 

컴퓨터 구조(Computer Architecutre)란?

  • 컴퓨터 시스템의 전체적인 구조와 동작 방식으로, 하드웨어의 다양한 측면을 다룬다.

컴퓨터 구조를 배워야 하는 이유?

  • 컴퓨터 구조를 이해하면 하드웨어의 작동 원리를 파악할 수 있고, 하드웨어에 최적화된 코드를 작성할 수 있다.
  • 하드웨어와 소프트웨어 간의 관계를 이해하여, 코드 디버깅 시 용이하다.
  • 운영체제, 드라이버, 네트워크 같은 시스템 수준에서 개발에 필수적인 지식을 이해할 수 있다.

명령어 집합 구조(Instruction Set Architecture)란?

  • 프로세서와 소프트웨어 간의 인터페이스이다.
  • 명령어의 종류, 명령어의 형식, 레지스터 등을 규정한다.
  • MIPs, ARM, x86 family 등이 있으나 해당 블로그에서는 MIPs를 기준으로 한다.

프로세서(CPU)의 구성 요소

  • 제어장치(Control): 명령어를 해석한 뒤, 하드웨어 구성 요소의 동작을 조정제어한다.
  • 레지스터: 작고 빠른 메모리로 데이터를 일시적으로 저장하고 처리하는 구성 요소이다.
  • 산술논리장치(ALU): 산술 및 논리 연산을 수행한다.
  • 프로그램카운터(PC): 현재 실행 중인 명령어의 주소를 가리키는 레지스터(혹은 다음에 실행할 명령어의 주소를 가리킨다.)
  • 캐시 메모리(Cach Memory): 메인 메모리에서 데이터를 미리 읽어 저장하여, 수행 속도를 높인다.
  • 예시) 메모리의 12번지에 있는 명령어를 읽어(fetch)와 수행한 뒤, 결과를 메모리의 15번지에 저장한다.

 

MIPs

  • 어셈블리 언어를 기반으로 하여 기계(0 - 1)에 가까운 낮은 수준의 언어로, 프로그래머는 저수준 작업을 수행할 수 있다.
  • RICS(Reduced Instruction Set Computing) 아키텍처를 기반으로 한다.
  • 네트워크 장비나 임베디드 시스템 등에서 사용된다.

MIPs의 레지스터

  • 32-bit의 레지스터가 32개 있는 형태이다.
  • 레지스터 파일: 레지스터의 값을 읽거나 써서 CPU의 레지스터를 관리함. MIPs의 레지스터 파일은 32개의 32비트 레지스터를 가진다.

MIPs의 명령어 유형

  • 연산 명령어(Arithmetic / Logic Instruction): ALU operations
  • 메모리 접근 명령어(Data transfer instruction): Load / Store instruction
  • 분기 명령어(Branch instruction): Control transfer instruction