CPU(중앙처리장치)

이동엽·2022년 12월 16일
0

중앙처리장치란?

CPU는 명령어의 해석,연산,비교등의 처리를 제어해서 프로그램 실행과 데이터처리를 하고, 컴퓨터의 모든 시스템을 제어, 처리하는 사람의 뇌 같은 핵심 장치이다.

CPU 구성요소


CPU는 크게 제어장치, 연산장치,레지스터로 이루어져 있으며, 내부 버스로 연결되어 있다.

시스템 버스( ex 내부버스)

CPU를 포함한 각 하드웨어 간의 통로. :

→ 각 하드웨어 장치를 물리적으로 연결한 전선을 의미

종류 :

데이터 버스 : 하드웨어 간에 데이터 전달 통로

주소 버스 : 데이터가 어디에 도착해야 하는지에 대한 정보를 전달 통로

제어 버스 : CPU의 제어 장치가 생성한 제어 신호를 다른 장치로 전달 통로

제어 장치

  • 컴퓨터 시스템의 작동을 통제하고 지시하는 장치
  • Memory device(기억 장치)에서 명령어를 순차적으로 꺼내 해독하고, 명령어 실행에 필요한 제어 신호를 각종 장치에 보낸다.
  • 장치들이 신호들을 받아 다음 수행할 동작을 결정함

연산 장치(ALU)

  • 코드를 실질적으로 실행시키는 장치
  • 명령어 실행을 위해 마이크로 연산을 수행
  • 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보냄

레지스터(Resister)

  • CPU 내에 존재하는 작고 빠른 기억 장치
  • 코드,데이터,결과,주소 등등 임시로 저장한다.
  • 용도에 따라 범용 레지스터,특수 목적 레지스터로 구분된다.

특수 목적 레지스터

MAR (메모리 주소 레지스터) : 읽기와 쓰기 연산을 수행할 주기억장치 주소를 저장
PC (프로그램 카운터) : 다음에 실행될 명령어의 주소를 저장
IR (명령어 레지스터) : 명령어를 호출해서 해독하기 위해 현재 명령어를 임시로 저장
MBR (메모리 버퍼 레지스터) : 주기억장치의 내용을 임시로 저장하는 역할
AC (누산기) : 산술 논리 장치의 연산 결과를 임시로 저장
PSR (프로그램 상태 레지스터) : CPU의 현재 상태 정보를 저장

CPU 작동 과정

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

CPU 연산

연산 순서는 Fetch ->Decode -> Execute -> Writeback 이다.

  • Fetch(인출) : 메모리상의 PC가 가리키는 명령어를 CPU로 인출하여 적재
  • Decode(해석) : 명령어의 해석. -> 명령어의 종류와 타겟 등을 판단
  • Execute(실행) : 해석된 명령어에 따라 데이터에 대한 연산 수행
  • Writeback(쓰기) : 명령어대로 처리 완료된 데이터를 메모미에 기록

참고

https://hongcoding.tistory.com/139?category=981717#recentEntries

https://gyoogle.dev/blog/computer-science/computer-architecture/%EC%A4%91%EC%95%99%EC%B2%98%EB%A6%AC%EC%9E%A5%EC%B9%98%20%EC%9E%91%EB%8F%99%20%EC%9B%90%EB%A6%AC.html

profile
씨앗

0개의 댓글