CPU 의 구조와 동작과정

chanyoun·2023년 1월 9일
0

컴퓨터 구조

  • 컴퓨터는 중앙처리장치(CPU), 기억장치(Ram,하드디스크), 입출력 장치로 구성된다.

Word

  • Word란 하나의 기계어 명령어나 연산을 통해 저장된 장치로부터 레지스터에 옮겨 놓을 수 있는 데이터 단위이다.

  • 우리가 흔히 사용하는 32bit 컴퓨터, 64bit 컴퓨터에선 Word가 32bit, 64bit인것이다.

  • 즉 컴퓨터가 데이터를 처리하는 단위가 32bit or 64bit라는 것이다.

CPU란

  • cpu개념
    • CPU는 입력장치로부터 자료를 입력받아 연산후 결과를 출력장치로 보내 과정을 제어하는 핵심장치이다.
  • cpu 구성요소

    • 제어장치, 연산장치, 레지스터, CPU내부 버스로 구성된다.
  • 제어장치란(Control Unit)

    • 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치이다.

    • 명령레지스터에서 읽어들인 명령어를 해석후 해당하는 장치에 신호를보내 실행하도록 지시한다.

  • 연산장치란(ALU)

    • 제어장치로부터 받은 명령에 따라 실제 연산(논리연산)을 수행하는 장치 이다.
  • 레지스터

    • cpu 내부에서 처리할 명령어나 연산의 결과, 주소등을 일시적으로 기억하는 기억장치이다.
  • 내부버스
    - ALU,레지스터간 데이터이동을 위한 데이터,주소 선들, 제어장치로부터 발생되는 제어 신호를 전송하는 선들로 구성된다.

레지스터

  • CPU에서 사용되는 레지스터는 여러 종류가있다.

  • PC(Program Counter) - 다음번에 수행할 메모리의 주소가 들어있다. 현재 A주소의 명령어를 실행하고 있다면 PC값은 A+1이다.

  • MAR(Memory Address Register) - 프로그램 카운터에서 수행할 주소를 받은후 그주소에 있는 데이터를 가져오는 역활을 한다.

  • MBR(Memory Buffer Register) - MAR이 가져온 데이터나 명령들을 일시적으로 저장한다.

  • IR(Instruction Register) - MBR에 저장된 내용중 명령은 IR에 저장된다.

  • Accumulator(누산기) - MBR의 내용중 연산에 사용될 데이터가 이동하여 연산된결과를 일시적으로 저장하는 레지스터이다.(최종결과는 메모리 버퍼 레지스터(MAR)을 통해 메모리로 전송된다)

프로그램 실행 단계

  • 프로그램의 기본실행은 Fetch,Decode,Execution 단계를 거친다.

    명령어동작설명
    fetch메모리로부터 명령어와 데이터를 프로세스로 가져오는 단계이다.
    Decode명령어를 분석해서 처리할 컨트롤 신호를 만드는 단계이다.
    Execute컨트롤 신호에 따라 실제로 연산,처리,메모리읽기 또는 쓰기를 실행하는 단계이다.
  • CPU는 각 클럭마다 Fetch,Decode,Execute를 반복한다.

  • PC에 있는 주소값으로가 명령어를 IR에 저장하고(Fetch)

  • IR에 있는 명령어를 해석한후 (Decode)

  • Accumulator에 연산에 사용할 데이터를 저장한다. (Execute)

  • 위 CPU는 위 과정을 무한반복하는것이다.

  • 혹시나 나중에 또모른다면 아래 영상을 다시보자

  • https://www.youtube.com/watch?v=Z5JC9Ve1sfI

명령어 사이클

  • 명령어 사이클이란 cpu는 프로그램 실행을 위해 주기억장치에서 명령어를 가져오고 해독하는 과정을 반복한다. 이 활동을 명령어 사이클이라 한다.

    1. 처리해야할 데이터는 주기억장치RAM에서 인출되어 레지스터1번으로 전달된다.

    2. 제어장치로 부터 ALU가 어떠한 연산을 해야하는지 제어신호을 받는다.

    3. ALU에서는 레지스터 1번, 레지스터 2번으로 부터 받은 정보와 제어신호로부터 받은 연산을 수행한다.

    4. ALU로부터 나온 연산 결과는 다시 주기억장치 RAM에 저장된다.

Reference

profile
기록은 힘들어

0개의 댓글