ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 강의 과제) CPU란 무엇인가?
    TIL-sparta 2024. 7. 8. 18:57

     

    학습 키워드: CPU

     

    중앙 처리 장치 (CPU, Central Processing Unit)

    1) What is it?:

    Figure 1. CPU의 구성

     

     CPU는 컴퓨터의 두뇌 역할을 하는 핵심 부품으로, 다음과 같은 여러가지 부속 장치들이 모여 하나의 CPU를 구성한다. 

     

    1. 제어 장치 (Control Unit): 주 기억장치에 저장된 명령어를 순서대로 실행하고 해독하며, 컴퓨터 시스템의 각 장치들에 전기신호를 보내 high-level instruction의 실행을 제어하는 역할을 한다. 앱이나 프로그램을 직접 제어하지는 않는다.
    2. 산술 논리 장치 (Arithmetic/Logic Unit, ALU): 산술 연산(+, -, *, /)이나 비교 연산 등을 처리하는 작업을 한다. 
    3. 기억 장치 (Memory Unit): CPU와 RAM 사이의 데이터 흐름을 관리하거나, cache 메모리 내 중요 작업을 관리하는 등 메모리 사용에 관한 주요 기능들을 담당한다.
    4. 캐시 메모리 (Cache Memory): CPU의 동작에는 메모리의 속도가 상당히 중요한데, 캐시 메모리는 CPU가 가장 빠르게 접근할 수 있는 영역으로, 주 메모리에서 자주 사용하는 메모리 공간을 미리 불러와 저장해두고, CPU는 RAM을 직접 access하는 대신 cache 메모리에서 정보를 불러오게 된다.
    5. 레지스터 (Registers): 연산에 필요한 데이터나 연산 결과를 저장하는 범용 레지스터와, 다른 특별한 용도로 사용되는 특수 목적 레지스터로 나뉜다. 특수 목적 레지스터는 여러가지가 존재하는데, 읽기 및 쓰기를 위한 주 기억장치의 주소를 저장하는 메모리 주소 레지스터 (Memory Address Register, MAR), 현재 실행중인 명령어가 저장되는 명령어 레지스터 (Instruction Register, IR), 주 기억장치에서 읽어온, 혹은 저장할 데이터를 임시로 보관하는 메모리 버퍼 레지스터 (Memory Buffer Register, MBR), 그리고 연산 결과를 임시로 저장하는 누산기 (Accumulator, AC) 등이 있다.
    6. 클럭 (Clock): 주기적으로 전기 신호를 보내 모든 작업이 동기적으로 처리되도록 하는 역할을 한다. 측정 단위는 Hz이며, 1 Hz는 1초에 1번, 1 GHz (기가 헤르츠)면 1초에 약 10억번 정도의 명령을 처리할 수 있다는 뜻이 된다. 
    7. 버스 (Buses): 컴퓨팅 부품 사이의 데이터 전달을 담당하는 부품이다. 버스의 너비 (Width)는 버스가 몇 개의 비트(bits)를 병렬적으로 전송할 수 있는지를 나타낸다.

     

     

    2) How does it work?:

     앞서 말했듯이 CPU는 CU에 의해 제어되며, clock의 신호에 따라 동기적으로 작업을 수행한다. 좀 더 세부적으로 보면 다음과 같은 동작 순서를 가진다.

    1. 명령어 인출 (Fetch): CU가 이번에 수행할 명령어를 주 메모리에서 가져온다.
    2. 명령어 해독 (Decode): decoder가 기계어(0,1 로 이루어진 binary instruction)를 CPU의 각 부품이 알아들을 수 있는 어셈블리어 (Assembly Language)로 변환하고, 또 이를 사람이 알아볼 수 있는 High level instruction으로 변환하는 작업을 한다.
    3. 명령어 수행 (Execution): 해독된 명령을 수행하는 과정으로, 만약 산술 연산이라면 ALU가 주체가 되어 처리하게 된다.

     

    3) Process:

     - 프로그램을 실행해주는 주체. CPU가 최대한의 성능을 발휘하기 위해선 프로세스 배정이 잘 이루어져야 한다(오버헤드와 기아 현상은 낮게, 사용률은 높게).

     - 그냥 CPU의 프로세스 자원 분배가 효율적이어야 한다는 뜻이다.

     - New, Ready, Waiting, Running, Termintated, Suspended 의 여섯 가지 상태가 있다.

     

     

    4) Thread:

     - 작업을 실행해주는 주체. 프로세스의 일부이며, 하나의 프로세스에서 여러개의 쓰레드를 다룬다. Running, Ready, Block 의 세 가지 상태가 있다.

     

     

    5) Scheduling:

     - Multiprogramming system: 두 개 이상의 프로그램이 동작할 수 있는 운영 체제를 의미하는데, 이게 불가능했던 과거에는 CPU의 사용이 효율적이지 못했다고 한다. Scheduling은 바로 이 multiprogramming이 가능하게 만들어주는 역할을 한다.

     - Scheduling 동작: 스케쥴러가 프로세스의 상태 변경에 관여하는 것을 스케쥴링이라고 한다.

     - Scheduling의 단위: 스케쥴링의 단위는 I/O, CPU burst 의 cycle로 구성된다. I/O는 입 출력동안 대기하는 시간, CPU burst는 실제로 CPU가 연산에 사용되는 시간을 의미한다.

     - Scheduling 알고리즘 평가 기준: CPU 이용률, 처리량, 총 처리 시간, 대기 시간, 응답 시간

     - Scheduling 종류: 크게는 preemptive scheduling 과 non-preemptive scheduling 로 나뉘고, preemptive 스케쥴링의 경우 priority scheduling, round robin, multi-level queue 등이 있다고 한다.

     

     

     

    --

     

    REFERENCES:

     

     

    What is a Central Processing Unit (CPU)? | IBM

    The central processing unit (CPU) is the invisible manager inside the computer where data input is transformed into information output.

    www.ibm.com

     > IBM, "What is a Central Processing Unit (CPU)?", accessed: 2024-07-08

     

    [TIL] 스파르타) CS 강의 수강 (CPU와 메모리)

    [김태선 튜터] Computer Science 핵심쏙쏙 | NotionCPU와 메모리teamsparta.notion.site1-1 CPU와 메모리, 1-2 CPU와 메모리 심화 --  앞선 강의들과는 다르게 정보가 정말 꽉꽉 들어차있어서 한 번에 여러 회차를

    donkim0122.tistory.com

     > 이전 TIL (작성일 24-04-27)

    728x90
Designed by Tistory.