CPU(Central Processing Unit)란?
컴퓨터에서 뇌의 역할을 한다.
CU(Control Unit), ALU(Arithmetic Logic Unit)(산술/논리 연산 유닛), N개의 Register, 캐시로 구성되어 있다.
싱글코어에서 멀티코어로 바뀌게 된 이유
- 싱글코어의 성능(클럭수)가 계속 고도화되며 CPU 자체가 소비하는 전력 소모와 그로인해 발생하는 발열 문제
- 코어 하나가 처리할 수 있는 작업 속도의 한계와 발전의 한계
CPU 구조
- CU(Control Unit)
- 컴퓨터 프로그램을 구성하고 있는 명령어들을 해독한다.
- 그 결과에 따라 명령어 실행에 필요한 동작들을 수행시키기 위한 신호들을 발생시킨다.
- ALU(Arithmetic Logic Unit)
- 덧셈, 뺄셈 같은 두 숫자의 산술연산과 배타적 논리합, 논리곱, 논리합 같은 논리연산을 계산한다.
- Register
- CPU가 명령어를 처리하기 위해 필요한 여러 데이터를 용도에 맞게 저장하고 있는 도우미
- 극히 소량의 데이터나 처리 중인 중간 결과와도 같은 프로세서가 바로 사용할 수 있는 데이터를 담고 있는 영역
- 레지스터의 종류
- Cache Memory L1(CPU 내부에 존재)
- 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리
- CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킨다.
- 참고 블로그
- 캐시 일관성(Cache Coherence)
CPU와 프로그래머 사이의 통신
기계어(0과1로 이루어진다.) -> 어셈블리어 -> 프로그래밍 언어(C, C++, Java, JavaScript 등 컴파일러)
CPU가 명령어 처리하는 과정 (참고 블로그)
- Fetch(인출) : 메모리상의 프로그램 카운터가 가리키는 명령어를 CPU로 인출하여 적재한다.
- Decode(해석) : 명령어의 해석. 이 단계에서 명령어의 종류와 타겟 등을 판단한다.
- Execute(실행) : 해석된 명령어에 따라 데이터에 대한 연산을 수행한다.
- Writeback(쓰기) : 명령어대로 처리 완료된 데이터를 메모리에 기록한다.
'CS' 카테고리의 다른 글
22.11.25 / CS특강 / UDP (0) | 2022.11.29 |
---|---|
22.11.25 / CS특강 / OSI 7계층 (0) | 2022.11.29 |
22.11.18 / CS특강 / 동기 비동기 (0) | 2022.11.20 |
22.11.18 / CS특강 / 프로세스 스레드 (0) | 2022.11.19 |
레지스터의 종류 (0) | 2022.11.19 |