-
[OS] CPU 작동원리CS/OS 2021. 8. 6. 17:13
📝CPU 작동원리
💻 CPU의 구조
✔ CPU는 중앙 처리 장치로 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하고 처리하는 가장 핵심적인 컴퓨터의 제어 장치이다.
🔧 연산 장치
- 산술 연산과 논리 연산을 수행한다.
- 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 레지스터로 보낸다.
🔧 제어 장치
- 명령어를 순서대로 실행할 수 있도록 제어한다.
- 주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행헤 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보낸다.
🔧 레지스터
- 고속 기억장치이다.
- 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장한다.
🙋♀️ 특수 목적 레지스터에 대해 알아보자!
- PC: 다음에 실행할 명령어의 주소를 저장한다.
- MAR: 다음에 실행할 명령어가 접근하는 레지스터의 주소를 지정한다.
- MBR: 레지스터에 저장될 혹은 레지스터로부터 읽은 데이터를 임시 저장한다.
- IR: 현재 실행하는 명령어를 저장한다.
- ALU: 산술 연산과 논리 연산을 수행한다.
🔧 CPU 명령어 세트 (CPU가 실행할 명령어의 집합)
- 연산 코드(실행할 연산) + 피연산자(필요한 데이터 OR 저장 위치)
💻 CPU 동작 과정
- 주기억장치(RAM)는 입력장치에서 입력받은 데이터 또는 보조기억장치(HDD, SSD)에 저장된 프로그램을 읽어온다.
- CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억장치에 저장한다.
- 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보낸다.
- 제어장치는 1~3 과정에서 명령어가 순서대로 실행되도록 각 장치를 제어한다.
💻 명령어 사이클
🔧 Fetch Cycle(명령어를 주기억장치에서 CPU명령 레지스터로 가져와 해독하는 단계)
- PC에 있는 명령어 주소를 MAR로 가져온 후 PC + 1
- MAR에 저장된 주소에 해당하는 값은 메모리에서 가져와 MBR에 저장
- Opcode를 가져왔다면 IR에서 Decode
- ALU에서 연산 수행. 연산 결과는 MBR을 거쳐 메모리로 다시 저장
REFERENCE
'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