본문 바로가기
CS

22.11.11 / CS특강 / CPU

by 노믹 2022. 11. 19.

CPU(Central Processing Unit)란?

컴퓨터에서 뇌의 역할을 한다.

CU(Control Unit), ALU(Arithmetic Logic Unit)(산술/논리 연산 유닛), N개의 Register, 캐시로 구성되어 있다.

싱글코어에서 멀티코어로 바뀌게 된 이유

  1. 싱글코어의 성능(클럭수)가 계속 고도화되며 CPU 자체가 소비하는 전력 소모와 그로인해 발생하는 발열 문제
  2. 코어 하나가 처리할 수 있는 작업 속도의 한계와 발전의 한계

 

CPU 구조

  • CU(Control Unit)
  1. 컴퓨터 프로그램을 구성하고 있는 명령어들을 해독한다.
  2.   결과에 따라 명령어 실행에 필요한 동작들을 수행시키기 위한 신호들을 발생시킨다.
  • ALU(Arithmetic Logic Unit)
  1. 덧셈, 뺄셈 같은 두 숫자의 산술연산과 배타적 논리합, 논리곱, 논리합 같은 논리연산을 계산한다.
  • Register
  1. CPU가 명령어를 처리하기 위해 필요한 여러 데이터를 용도에 맞게 저장하고 있는 도우미
  2. 극히 소량의 데이터 처리 중인 중간 결과와도 같은 프로세서가 바로 사용할 있는 데이터를 담고 있는 영역
  3. 레지스터의 종류
  • Cache Memory L1(CPU 내부에 존재)
  1. 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리
  2. CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킨다.
  3. 참고 블로그
  4. 캐시 일관성(Cache Coherence)

 

CPU와 프로그래머 사이의 통신

기계어(0과1로 이루어진다.) -> 어셈블리어 -> 프로그래밍 언어(C, C++, Java, JavaScript 등 컴파일러)

 

CPU가 명령어 처리하는 과정 (참고 블로그)

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

 

 

'CS' 카테고리의 다른 글

22.11.25 / CS특강 / UDP  (0) 2022.11.29
22.11.25 / CS특강 / OSI 7계층  (0) 2022.11.29
22.11.18 / CS특강 / 동기 비동기  (0) 2022.11.20
22.11.18 / CS특강 / 프로세스 스레드  (0) 2022.11.19
레지스터의 종류  (0) 2022.11.19