CPU(중앙처리장치) 동작 방식

meek·2023년 6월 12일
0

TIL

목록 보기
12/24
post-thumbnail

패스트캠퍼스의 'Javascript 코딩테스트 131개 예제 & CS지식으로 끝내기' 강의를 듣고 정리한 내용입니다.

CPU의 기능에 대해 알아보았다 !

CPU

  • 일반적인 CPU는 기본적으로 3가지 모듈로 구성되며, 서로 내부 버스로 연결되어 있다.
    1. 산술/논리 장치(Arithmetic Logic Unit, ALU)
    2. 제어장치(Control Unit)
      • 각각의 연산을 어떻게 처리할 것인지 CPU와 메모리 사이에서의 제어를 도와주는 장치
    3. 레지스터(Register)
      • CPU가 처리하기 위한 데이터 및 명령어에 대한 정보가 임시적으로 기록되는 메모리 공간
    • 매우 빠르지만 크기가 작음

레지스터(Register)

  • CPU의 기본적인 모듈 중 하나
  • 기본적으로 프로세스는 메인 메모리에 적재된다.
  • 실제 연산은 CPU 내부에서 수행되므로, 데이터를 CPU로 가져와 처리해야 한다.
  1. 데이터를 일시적으로 CPU 내부에 저장할 공간이 레지스터다.
  2. 레지스터는 CPU의 현재 상태(state)를 저장할 공간으로 사용되기도 한다.

산술/논리 연산 장치(ALU)

  • CPU가 실질적으로 연산을 처리할 수 있도록 한다.
  • 산술 연산(+, -, *, / 등) 및 논리 연산(AND, OR, XOR 등)을 수행할 수 있다.
  • 컴퓨터 내에서 매우 빠른 연산 장치다.

제어 장치(Control Unit)

  • 메인 메모리에 적재된 처리해야 할 데이터를 해석하고, 적절한 제어 신호를 생성한다. 👉🏻 연산 장치가 연산을 수행할 수 있도록 도움을 줌
  • ALU에게 연산 수행을 명령할 수 있다.
  • 메인 메모리에 대한 읽기(read)/쓰기(write) 등의 제어 명령을 내린다.

프로그램 수행 절차

프로그램을 실행한 상황

  • 보조 기억 장치(하드 디스크)에 있는 프로그램이 메인 메모리로 적재된다.
  • 메인 메모리로 올라간 프로그램의 코드(code) 영역의 명령어를 읽어 명령을 수행한다.
  • 일반적으로 아래의 명령어 수행 사이클(cycle)을 반복하게 된다.
  1. 명령어 인출(fetch) : 메인 메모리에서 수행할 명령어를 레지스터로 가져온다.
  2. 명령어 해석(decode) : 명령어 정보를 해석한다.
  3. 명령어 실행(execute) : 제어 장치가 명령어 수행을 위한 적절한 제어 신호를 보내 실행하도록 한다.
profile
hello, world!

0개의 댓글