CS/OS
컴퓨터의 요소 - CPU
KDGdev
2023. 1. 26. 16:13
CPU
산술논리연산장치, 제어장치, 레지스터로 구성되어 있는 컴퓨터 장치입니다.
- 제어 장치
- 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어합니다.
- 레지스터
- CPU 안에 있는 매우 빠른 임시기억장치입니다. 다음에 수행할 명령어 주소 저장하는 프로그램 카운터(PC)나 현재 실행 중인 명령어 저장하는 명령어 레지스터(IR), 메모리 주소 레지스터(MAR), 메모리 버퍼 레지스터(MBR) 등이 있습니다
- 프로그램 카운터(PC)
- 다음에 수행할 명령어의 주소를 저장
- 메모리 주소 레지스터(MAR)
- CPU가 사용하려고 하는 명령어의 주소를 저장
- 메모리 버퍼 레지스터(MBR)
- 주기억장치에서 읽어온 명령어 임시 저장(주기억장치와 중앙처리장치 사이의 속도를 맞추기 위 한 완충제 역할)
- 명령어 레지스터(IR)
- 수행할 명령어를 저장
- 명령어 해독기
- 명령어 레지스터에 있는 명령어의 연산코드를 전달받아 해독한 뒤, 수행할 연산을 결정하여 연산장치에 전달
- 누산기
- 논리 연산의 중간결과를 저장
- 프로그램 카운터(PC)
- CPU 안에 있는 매우 빠른 임시기억장치입니다. 다음에 수행할 명령어 주소 저장하는 프로그램 카운터(PC)나 현재 실행 중인 명령어 저장하는 명령어 레지스터(IR), 메모리 주소 레지스터(MAR), 메모리 버퍼 레지스터(MBR) 등이 있습니다
- 산술논리연산장치
- 덧셈, 뺄셈 같은 논리 연산을 계산하는 디지털 회로입니다.
운영체제의 커널이 프로그램을 메모리에 올려 프로세스를 만들면 CPU가 이를 처리하는 방식으로 프로그램이 실행됩니다.
CPU의 연산 처리 과정
- 인출 싸이클
- 제어장치가 프로그램 카운터(PC) 안에 있는 주소를 메모리 주소 레지스터(MAR)로 전송 후, 주소에 해당되는 명령어를 메모리에서 가져와 메모리 버퍼 레지스터(MBR)에 저장
- 프로그램 카운터는 다음 실행할 명령어 주소를 바꿈
- 메모리 버퍼 레지스터에 저장된 내용을 명령어 레지스터에 전달
- 실행 싸이클
- 명령어는 명령어 해독기로 이동
- 데이터 이동, 처리, 저장, 프로그램 제어와 같은 명령어의 종류를 해석해 수행할 연산을 결정해서 연산장치에 전달
- 연산 결과로 얻은 데이터를 누산기에 저장
- 연산이 전부 완료되면 데이터를 주기억장치에 저장