컴퓨터 구조 - 3. 폰 노이만 구조

JeongSH·2024년 9월 25일

컴퓨터 구조

목록 보기
3/11

구성요소

  • 연산 장치(Arithmetic Logic Unit, ALU, Data Path): 산술 연산(덧셈, 뺄셈 등)과 논리 연산(AND, OR 등)을 수행하는 장치. 프로그램이 명령하는 수학적 계산을 담당.
  • 제어 장치(Control Unit): 컴퓨터 내에서 명령어의 순서를 제어하고, 메모리와 연산 장치, 입출력 장치 간의 데이터를 주고받는 흐름을 관리. 명령어를 해석하고 적절한 동작을 실행하도록 지시.
  • 메모리(Memory): 데이터와 명령어를 저장하는 공간. RAM(Random Access Memory)은 주로 이 기능을 수행하며, 프로그램 실행에 필요한 정보가 저장.
  • 입력 장치(Input Unit): 사용자나 외부 환경에서 데이터를 받아들이는 장치입니다. 키보드, 마우스, 스캐너 등.
  • 출력 장치(Output Unit): 컴퓨터가 처리한 결과를 사용자
    나 외부로 전달하는 장치입니다. 모니터, 프린터, 스피커 등이 출력 장치.

Instruction이란?

  • Instruction : CPU가 이해하고 실행할 수 있는 컴퓨터의 기본적인 언어로, 하드웨어를 제어하는 데 사용.
  • Instruction Set: CPU가 실행할 수 있는 명령어들의 집합으로, 소프트웨어와 하드웨어 간의 인터페이스 역할을 함.
  • ISA(Instruction Set Architecture): CPU가 처리할 수 있는 명령어 세트, 메모리 구조, 레지스터 수와 역할 등을 정의한 컴퓨터 아키텍처의 규격으로, 소프트웨어와 하드웨어 간의 계약 역할을 함. (예: x86, ARM, MIPS)

실행 흐름

  1. 명령어 인출 (Instruction Fetch):
    프로그램 카운터(Program Counter, PC)가 메모리로부터 다음에 실행할 명령어의 주소를 가리킴.
    PC에 저장된 주소에 따라 명령어가 메모리에서 제어 장치(Control Unit)로 전달.
  2. 명령어 해석 (Instruction Interpret):
    제어 장치는 가져온 명령어를 해석하고, 해당 명령어에 따른 동작을 실행하도록 제어 신호를 생성.
  3. 레지스터 읽기 (Register Access):
    명령어에 따라 레지스터 파일(Register File)에서 관련된 값을 조회.
    예를 들어, 명령어에 R2와 R3의 값을 더하는 연산이 포함된 경우, 해당 레지스터에서 값을 읽어와 데이터 경로(Data Path)로 전달.
  4. 연산 수행 (Execute):
    데이터 경로에서는 산술 논리 연산 장치(ALU)를 통해 명령어가 요구하는 연산(예: 덧셈)을 수행.
  5. 결과 저장 (Write Back):
    연산 결과는 다시 레지스터 파일의 지정된 레지스터(R1 등)에 저장.
  6. 프로그램 카운터 업데이트 (PC Update):
    명령어가 실행된 후, 프로그램 카운터(PC)는 다음 명령어를 가리키도록 +1 또는 다른 방식으로 업데이트. (PC는 실행 중에도 바뀔 수 있음 => 조건문으로 인한 점프)

0개의 댓글