자바생
article thumbnail
728x90

 

1. cpu와 core는 어떤 차이가 있나요?

CPU는 작업을 관리하고 실행하는 컴퓨터 시스템의 component로써 컨트롤러, 캐시 메모리, core로 이루어져있습니다.

코어가 실제로 작업을 처리하는 동안 CPU는 코어를 제어하고 다른 컴퓨터 시스템 컴포넌트의 데이터를 코어에게 전달합니다.

 

즉, core는 CPU의 일부로써, 컴퓨터에서 "실제로" 작업을 처리합니다.

 

2. CPU

CPU는 산술, 논리, 제어 및 입출력 작업을 수행하게 하는 명령을 수행하는 컴퓨터 내부의 전자회로입니다.

즉, CPU는 여러 요청 및 메시지를 사용 가능한 코어 간에 작업을 나누고, 코어는 CPU가 나눈 작업을 처리합니다. 

결국 CPU는 산술, 논리 등과 같은 작업을 하라고 명령을 받는 것이고, 명령을 처리해주는 것은 코어라고 할 수 있습니다.

 

일반적으로 모든 처리 코어 내에서 공유되는 캐시를 포함하고 있습니다.(Layer 2, Layer 3)

 

2.1. Memory Controller, I/O Controller

CPU가 코어 간의 작업을 나누는 것을 호스팅이라고 하는데, CPU는 호스팅 외에도 제어 장치를 통해 컴퓨터 시스템의 다른 구성 요소와 처리 코어 간의 통신을 설정합니다. 그래서 CPU에는 메모리 액세스, 데이터 I/O 용 컨트롤러가 있습니다.

 

초기 CPU에는 컨트롤러가 보완 칩셋에 구현되어 있지만, 최신 CPUdㅔ는 모든 컨트롤러가 내부에 구현되어 있다고 합니다.

 

2.2. 단일 코어? 다중 코어?

CPU는 단일, 다중 코어를 포함할 수 있지만 최신 컴퓨터는 대부분 멀티코어 프로세서로 구성됩니다.

단일 CPU에 n개의 코어를 가지고 있다면 n개의 작업을 "동시에" 실행할 수 있습니다.

하지만 이때 CPU 코어가 "멀티 스레딩"을 사용하는 경우에 동시 실행할 수 있으며, 이때 n은 사용 가능한 총 스레드 수입니다.

 

3. 코어

코어란 위에서 말씀드렸다시피 명령을 수신하고 처리하는 CPU 내부의 "실행 단위"이며,

"제어 장치", "산술, 논리 장치", "메모리" 세 가지 부분으로 나눌 수 있습니다.

3.1. 제어 장치(Control Unit)

컴퓨터 시스템의 다른 component와 코어의 통신을 맡고 있습니다.

산술, 논리 장치 및 메모리 장치 모두와 통신할 수 있습니다.

 

3.2. 산술, 논리 장치(Arithmetic-Logic Unit)

우리가 흔히 아는 사칙 연산(산술), 크다 작다 등 (논리) 연산을 실행합니다.

 

3.3. 메모리

메모리는 "레지스터"와 "캐시"로 구성됩니다.

 

레지스터는 주소, 명령 및 코어 처리를 위한 계산 결과를 "유지"하는데 사용되고,

캐시는 코어가 재사용할 데이터를 보유하는 고속 랜덤 액세스 메모리입니다.

 

4. Multicore vs Multiprocessor

 

4.1. Mutlicore

말 그대로 여러 개의 core를 가지고 있습니다. 다만 "하나의" CPU에 여러 개의 core를 가지고 있습니다.

여러 개의 "프로세서"가 아닌 "코어"이지만, 여러 개의 프로세스"처럼" 작동합니다.

 

멀티 코어 시스템의 단일 프로세서는 많은 명령을 동시에 실행할 수 있고, 시스템의 전체 프로그램 실행 속도를 높일 수 있습니다.

또한, 멀티 프로세서에 비해 복잡한 구성을 가지지 않는다는 장점을 가지고 있습니다.

 

4.2. Multiprocessor

여러 개의 "CPU"로 구성되어 여러 명령을 "동시"에 실행 가능합니다. 

공유 메모리, 분산 메모리 등에 사용할 수 있습니다.

 

동시에 실행이 가능하기 때문에 throughput(처리량)이 증가하며 하나의 CPU에 장애가 발생해도 다른 CPU에 영향을 주지 않기 때문에 안정적입니다. 또한, 병렬 처리가 가능합니다.

 

하지만 여러 프로세서가 서로 통신하기 때문에 "복잡한" 구조를 가집니다.

 


5. REFERENCES

core vs cpu

multicore vs multiprocessor

728x90

'Operating System' 카테고리의 다른 글

파일 시스템  (0) 2022.05.11
데드락(2022.04.03 수정)  (0) 2022.03.27
메모리 관리(2022.04.09 수정)  (0) 2022.01.23
CPU 스케줄링(2022.03.13 수정)  (0) 2022.01.16
프로세스 동기화(2022.03.20 수정)  (0) 2022.01.12
profile

자바생

@자바생

틀린 부분이 있다면 댓글 부탁드립니다~😀

검색 태그