CS: CPU란?

M·2023년 8월 21일

TIL

목록 보기
34/42

CPU?


"중앙처리 장치이다."
"인간으로 치면 두뇌에 해당한다."라는 글은 수백번을 봤다.
그래서 나름대로 정리하기로 했다.

CPU의 구조


크게 보면 3가지 구조로 이루어져 있다.
1. Arithmetic Logic Unit
2. Control Unit
3. Memory Unit

Arithmetic Logic Unit


ALU(산술논리 연산장치)란 비교와 파단 그리고 연산을 담당한다.

Control Unit


CU(제어부)란 명령어의 해석과 올바른 실행을 위하여 CPU를 내부적으로 제어한다.

제어부

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

내부버스

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

Assembly Language


  • “기계어”를 모스부호처럼 하드웨어적으로 CPU가 알아볼 수 있게 변환한게 “어셈블리어”아더,
  • “어셈플리어”를 사람이 알아볼 수 있게 소프트웨어적으로 변환한게 “프로그래밍 언어”이다.
  • 기계어(저장공간) > 어셈플리어(CPU) > 프로그래밍 언어(사람)

CPU의 동작


  1. 명령어 인출
    • CU가 이번에 수행할 명령어 정보를 가져온다.
  2. 명령어 해독
    • 명령어 정보를 성공적으로 인출했으면 명령어를 해독한다.
    • 보통 opcode라고 하는 명령어 코드를 인출하고 opcode의 성격에 맞게 레지스터들을 대기한다.
  3. 실행
    • 해독된 명령어를 수행하는 한다. 예를 들어, 이것이 산술/논리 관련된 연산이라고 하면 ALU가 주체가 되어 실행된다.
  4. 반영
    • 이 명령어의 수행 결과를 반영함으로써 명령어 수행의 한 사이클이 끝이 난다.

Memory Unit


메모리 유닛은 크게 2개로 또 나뉜다.
1. 레지스터
2. 캐시 메모리(L1)

Register 정리


https://velog.io/@marshmellos/CS-Register%EC%9D%98-%EC%A2%85%EB%A5%98

Cash Memory 정리


https://velog.io/@marshmellos/Memory%EB%9E%80

CPU의 성능


클럭

  • CPU 내부에서 일정한 주파수를 가지는 신호로, 이 신호로 모든 명령어가 동작하게 된다.
  • 1Hz(헤르츠)면 1초에 한 번의 주기. 1기가 헤르츠라고 하면 1초에 1기가만큼(1024메가), 즉 10억 번 정도인 셈이다.
    • 예를 들어 4.5GHz라는 것은 초당 45억 번의 명령어를 처리할 수 있다는 뜻 이다.
  • 따라서 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있기에 더 좋은 성능의 중앙 처리 장치라고 할 수 있다.

코어

  • 코어는 중앙처리 장치 역할을 하는 블록을 뜻한다.
  • 즉, 멀티 코어들은 싱글 코어에 비해서 마치 여러 개의 CPU가 작동하듯 많은 연산을 빠르게 병렬 처리할 수 있다.
  • 물론 컴퓨터의 전체적인 성능은 CPU 만으로 결정되지는 않는다. (메모리도 중요)
profile
자바스크립트부터 공부하는 사람

0개의 댓글