내일배움캠프 Node.js 스탠다드 반 - 8

김선우·2024년 11월 10일
post-thumbnail

CPU(Central Processing Unit)

개념

  • 중앙 처리 장치.
    • 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치.(컴퓨터의 대뇌)
      => 프로그램의 명령어를 해석하여 데이터를 연산/처리를 하고 그렇게 돌아가도록 제어해주는 부분 혹은 그 기능을 내장한 칩.

구성 요소

  • 프로세서 레지스터 : 처리할 명령어를 저장하는 역할.
  • 산술논리 연산장치(ALU) : 비교, 판단, 연산을 담당.
  • 제어부와 내부 버스 : 명령어의 해석과 올바른 실행을 위해 CPU를 내부적으로 제어.

프로세서 레지스터

  • 프로세서에 위치한 고속 메모리로 극히 소량의 데이터나 처리 중인 중간 결과와도 같은 프로세서가 바로 사용할 수 있는 데이터를 담고있는 영역.
  • 컴퓨터 구조에 따라 크기와 종류가 다양.
  • 범용 레지스터와 특수목적 레지스터로 구분됨.
    • 범용 레지스터 : 연산에 필요한 데이터나 연산 결과를 임시로 저장.
    • 특수목적 레지스터 : 특별한 용도로 사용하는 레지스터.

산술논리 연산장치(ALU)

  • 덧셈, 뺄셈과 같은 산술연산과 논리 연산을 계산하는 디지털 회로.

제어부와 내부 버스

제어부

  • 주 기억 장치에 저장되어 있는 명령어를 순서대로 호출해 해독하고, 제어신호를 발생시켜 컴퓨터의 각 장치를 동작하도록 하는 장치.

내부버스

  • 기억, 연산, 제어 기능을 실현하기 위한 CPU와 주 기억 장치, 입출력 장치,외부 기억 장치, 주변 장치, 통신 처리 장치 등의 제어부 사이를 연결하는 버스.

동작 과정

  1. 주기억장치가 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.
  2. CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어데이터를 읽어와 처리하고 결과를 다시 주기억 장치에 저장한다.
  3. 주기억장치처리 결과를 보조기억장치에 저장하거나 출력장치로 보내서 출력시킨다.
  4. CPU 내의 제어장치가 1~3번 과정에서 명령어가 순서대로 실행되도록 각 장치들을 제어한다.

구조

하버드 구조


명령어 메모리 = 프로그램에서 사용할 명령어를 모아둔 메모리.
명령어 메모리 -> 제어장치 : 명령어 대한 정보를 보내줌.
데이터 메모리 = 명령어들로 사용될 메모리.

  • 메모리가 두개이므로 역할이 나눠져 있고 속도가 빠르다.
  • 구성이 많으므로 비싸고 복잡한 구성으로 고장이 날 확률이 높다.

폰노이만 구조


보조기억장치에서 데이터들이 CPU에서 연산되기 위해서 하나의 메모리에 올라간다.
제어장치는 산술논리장치에 데이터가 메모리 어디에 위치한지 알려주는 역할을 한다.

  • 프로그램 메모리와 데이터 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있다.
    => 병목현상 발생.

개선된 구조

  • 하버드 구조 + 폰노이만 구조
    • CPU의 캐시 메모리 형상에 관여
    • CPU 내부 - 하버드
      • CPU 내부에 캐시를 둬서 RAM과 CPU 간의 속도 차이를 줄이려고 노력.
    • CPU 외부 - 폰노이만
      • 메모리 하나에 하나의 버스를 가지는 구조이기 때문에 병목현상이 아직까지는 존재.

0개의 댓글