CPU의 스펙중에 코어가 머리속에서 확실하게 자리잡지 않아 정리해본다.
▲ 다나와 CPU 정보
코어
- CPU칩셋에 물리적으로 존재하는 코어 유닛 갯수이다. 명령어를 가져와 계산하고 해석하는 반도체 유닛이 n개 있다는 것을 뜻한다.
- 쉽게 설명하자면 주방에 요리사 숫자가 n명 이라는 것과 동일하다.
쓰레드
- 논리적인 부분으로 접근해야한다. 한 코어에는 하나의 쓰레드를 가지고 작업한다. 기술의 발달로 현재는 하나의 코어가 두개의 쓰레드를 가지고 작업을 한다.
- 쓰레드는 요리할 수 있는 프라이팬에 비유할 수 있다. 프라이팬이 m개 있다는것
- 이 것을 응용하면 요리사(코어)n명이 프라이팬(쓰레드)를 m개 가지고 요리한다는 것을 의미한다.
하이퍼 스레딩(HT)
- 물리적인(코어) 장치에 논리적인(스레드) 장치를 두개 할당하여 성능을 높이기 위한 기술이다.
- 운영 체제는 코어 하나당 스레드 두개로 인식을 하게 된다. 1코어 2스레드, 2코어 4스레드, 3코어 6스레드, 4코어 8스레드 가 된다.
클럭
- 쿨럭쿨럭!! 이 아니고 클럭이다.
- 클럭은 높을수록 일처리 속도가 빠르다는 것을 말한다.
- 단위는 GHz 이다.
즉 요약해보면 HT를 지원하는 듀얼코어는 4개의 스레드가 있다.
이말인 즉슨..
2명의 요리사가 4개의 팬을가지고 4명의 손님에게 대접을 할 수 있다는 것이다.
코어 개수가 계속해서 늘어나는 이유는?
- 식당에 손님은 많이오고 일손은 부족한데, 요리사를 늘리지 않는다는 것은 더 많은 손님을 받을 수 없다는 것이다. 즉 현대에 우리는 여러 프로그램을 이용하여 삶의 질을 높이기 위한 작업을 하게 된다. 카카오톡, 스카이프, 크롬, 음악, 에프터이팩트, 프리미어, 포토샾 등등.. 이 많은 작업을 한번에 하는 우리 현대인들을 위해 코어들은 계속해서 증가하는 이유이다.
- 코어가 올라갈수록 전력소모가 심하고 발열이 높아지기 진다. 이를위하여 "CPU 컨트롤러" 가 존재한다.
그렇다면 프로그래밍에서의 스레드와 CPU에서 말하는 스레드는 같은 것인가?
(https://kldp.org/node/154708 나와같은 질문을 한 사람이있다.)
- 프로세스는 단순히 실행하기위한 껍데이 일뿐이고 실질적인 작업은 스레드가 한다. 한 운영제체에서 여러 프로세스를 실행하는 것을 멀티테스킹이라 하고, 한 프로세스에서 여러 스레드를 작업시키는 것은 멀티스레딩이라고 한다.
- 프로세스에는 한 스레드가 할당이 되는데, 메모리가 허용하는 한 소프트웨어적으로 는 한없이 쓰레드를 생성할 수 있다.
- 그러므로 같은 의미이다. 프로그래밍에서 말하는 스레드는 메모리상에서 추가적으로 구상한 단위를 가지고 작업을 하는 것이다.
'훈, IT 공부 > 컴퓨터기초' 카테고리의 다른 글
[자료구조] 자료구조란 무엇인가!? 간단히 짚고만 가자 (0) | 2018.03.08 |
---|---|
1의보수 2의보수에 대한 정리 (20) | 2018.02.08 |
댓글