ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] CPU 작동원리
    CS/OS 2021. 8. 6. 17:13

    📝CPU 작동원리


    💻 CPU의 구조

    ✔ CPU는 중앙 처리 장치컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하고 처리하는 가장 핵심적인 컴퓨터의 제어 장치이다.

     

    🔧 연산 장치

    • 산술 연산과 논리 연산을 수행한다.
    • 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 레지스터로 보낸다.

     

     

    🔧 제어 장치

    • 명령어를 순서대로 실행할 수 있도록 제어한다.
    • 주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행헤 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보낸다.

     

     

    🔧 레지스터

    • 고속 기억장치이다.
    • 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장한다.

    🙋‍♀️ 특수 목적 레지스터에 대해 알아보자!

    • PC: 다음에 실행할 명령어의 주소를 저장한다.
    • MAR: 다음에 실행할 명령어가 접근하는 레지스터의 주소를 지정한다.
    • MBR: 레지스터에 저장될 혹은 레지스터로부터 읽은 데이터를 임시 저장한다.
    • IR: 현재 실행하는 명령어를 저장한다.
    • ALU: 산술 연산과 논리 연산을 수행한다.

     

     

    🔧 CPU 명령어 세트 (CPU가 실행할 명령어의 집합)

    • 연산 코드(실행할 연산) + 피연산자(필요한 데이터 OR 저장 위치)

     

     

     

    💻 CPU 동작 과정

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

     

     

     

    💻 명령어 사이클

     

    🔧 Fetch Cycle(명령어를 주기억장치에서 CPU명령 레지스터로 가져와 해독하는 단계)

    1. PC에 있는 명령어 주소를 MAR로 가져온 후 PC + 1
    2. MAR에 저장된 주소에 해당하는 값은 메모리에서 가져와 MBR에 저장
    3. Opcode를 가져왔다면 IR에서 Decode
    4. ALU에서 연산 수행. 연산 결과는 MBR을 거쳐 메모리로 다시 저장

     

     

     

     

     

     

    REFERENCE

    https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Computer%20Architecture/%EC%A4%91%EC%95%99%EC%B2%98%EB%A6%AC%EC%9E%A5%EC%B9%98(CPU)%20%EC%9E%91%EB%8F%99%20%EC%9B%90%EB%A6%AC.md 

    'CS > OS' 카테고리의 다른 글

    [OS] 컴퓨터 구조  (0) 2021.08.06
    [OS] 캐시 메모리  (0) 2021.08.06
    [OS]Process VS Thread  (0) 2021.07.10
    OS - 은행원 알고리즘  (0) 2021.02.20
    OS - CPU스케줄링  (0) 2021.02.16

    댓글

Designed by Tistory.