Skip to content
Home » 멀티 코어 | Cpu 코어와 스레드(Ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니 모든 답변

멀티 코어 | Cpu 코어와 스레드(Ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니 모든 답변

당신은 주제를 찾고 있습니까 “멀티 코어 – CPU 코어와 스레드(ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니“? 다음 카테고리의 웹사이트 hu.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://hu.taphoamini.com/photos. 바로 아래에서 답을 찾을 수 있습니다. 작성자 코딩하는거니 이(가) 작성한 기사에는 조회수 278,617회 및 좋아요 4,362개 개의 좋아요가 있습니다.

멀티 코어 또는 멀티 코어 프로세서(multi-core processor) CPU는 두 개 이상의 독립 코어를 단일 집적 회로로 이루어진 하나의 패키지로 통합한 것이다. 칩 레벨 멀티프로세서(CMP)라고도 한다.

멀티 코어 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 CPU 코어와 스레드(ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니 – 멀티 코어 주제에 대한 세부정보를 참조하세요

이번 고지식 열네 번째 영상에서는 CPU를 구매할 때 제일 중요한 코어와 스레드에 대해서 얘기 합니다. 코어와 스레드가 각각 정확히 무엇인지, 싱글 코어에서 멀티 코어로 발전할 수 밖에 없었던 시대적 배경 등에 대하여 쉽게 얘기합니다.
10분만 투자하시면 평생 코어와 스레드에 대해 이해하실 수 있습니다.
(어떤 분이 댓글로 자꾸 Intel 사진만 쓴다고 해서 이번 화는 AMD 사진만 주로 썼습니다…ㅎㅎ 설명은 인텔 중심으로 여전히 가네요…..,,,.,)
고지식 영상은 일반인들에게 어려울 수 있는 주제들을 이해하기 쉽고 재밌게 설명해주는 시리즈입니다. 궁금하신 게 있으시면 댓글로 남겨주시면 다음 [高지식] 영상에서 다룰 수 있도록 하겠습니다.
———————————————————
다른 고지식 시리즈도 시청해보세요! https://tinyurl.com/yxbnlb9e
거니 인스타그램 (근황/미리보기) https://tinyurl.com/yyrfqq5l
페이스북 페이지 https://tinyurl.com/y8t5a5au
——————————————————
#CPU #코어 #스레드

멀티 코어 주제에 대한 자세한 내용은 여기를 참조하세요.

멀티코어 프로세서 – 나무위키

모든 코어/스레드가 하나의 메모리 공간을 공유하는 모델이다. 하나의 코어가 메모리에 쓰기 작업을 하려고 하면 먼저 해당 메모리 공간이 쓰기 가능한지( …

+ 여기에 자세히 보기

Source: namu.wiki

Date Published: 1/9/2021

View: 6108

멀티코어 ? 쉽게 이해하자 – 네이버 블로그

멀티코어 ? 쉽게 이해하자 ! 멀티 코어(multi-core) : CPU는 …

+ 여기에 자세히 보기

Source: m.blog.naver.com

Date Published: 3/21/2021

View: 4958

멀티 코어 프로세서란? – 끄적끄적 동커벨

전에 포스팅한 멀티 프로세싱과 헷갈릴 수 있는 용어입니다ㅎㅎ 용어 중간에 ‘코어’만 들어갔을뿐 그게 그거 같죠… 차이를 알아보겠습니다.

+ 여기에 보기

Source: donghoson.tistory.com

Date Published: 5/18/2022

View: 2277

[1. 멀티스레드 프로그래밍 소개] 03. 멀티코어 하드웨어 소개

그러나 멀티코어 CPU가 아니라면 아무 의미가 없다. 멀티스레드를 쓰면 빨라진다. 그럼 싱글코어 컴퓨터에서 속도가 1시간 걸리는 것을 듀얼코어 …

+ 여기에 자세히 보기

Source: popcorntree.tistory.com

Date Published: 1/24/2021

View: 6502

주제와 관련된 이미지 멀티 코어

주제와 관련된 더 많은 사진을 참조하십시오 CPU 코어와 스레드(ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

CPU 코어와 스레드(ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 - [高지식] 거니
CPU 코어와 스레드(ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니

주제에 대한 기사 평가 멀티 코어

  • Author: 코딩하는거니
  • Views: 조회수 278,617회
  • Likes: 좋아요 4,362개
  • Date Published: 2019. 1. 2.
  • Video Url link: https://www.youtube.com/watch?v=_dhLLWJNhwY

위키백과, 우리 모두의 백과사전

싱글 다이 및 멀티 코어의 개념도: CPU 코어와 L1 캐시가 2 개 있으므로 L2 캐시는 2 개의 코어와 공유된다.

멀티 코어 또는 멀티 코어 프로세서(multi-core processor) CPU는 두 개 이상의 독립 코어를 단일 집적 회로로 이루어진 하나의 패키지로 통합한 것이다. 칩 레벨 멀티프로세서(CMP)라고도 한다.

듀얼 코어(dual-core) 프로세서는 두 개의 코어를 포함하고 있으며, 트리플 코어(triple-core) 프로세서는 세 개의 코어를 포함하고 있고, 쿼드 코어(quad-core)는 네 개의 코어를 포함하고 있고, 헥사 코어(hexa-core) 프로세서는 여섯 개의 코어를 포함하고 있다. 옥타 코어(octa-core) 프로세서는 여덟 개의 코어를 포함하고 있다. 데카코어(deca-core) 프로세서는 열 개의 코어를 포함하고 있다. 도데카 코어(dodeca-core) 프로세서는 열두 개의 코어를 포함하고 있다.

멀티 코어 마이크로프로세서는 멀티프로세서 기능을 단일 물리 패키지에 추가하였다. 하나의 다이에 모든 코어를 가진 프로세서를 모놀리식 프로세서(Monolithic Processor)라고 부른다. 멀티 코어 장치 안의 코어는 하나로 연결된 캐시를 최고 수준의 장치 캐시 수준에서 공유할 수 있으며(이를테면 인텔 코어 2의 2차 캐시), 두 개의 캐시(이를테면 AMD 듀얼 코어 프로세서)를 가질 수도 있다. 각 코어는 슈퍼스칼라 실행, 파이프라인 처리, 멀티스레딩과 같은 최적화를 독립적으로 수행한다. 코어의 개수에 따라, 그 개수만큼의 스레드를 동시에 처리할 때 효율적으로 동작한다. 상업적으로 가장 중요한 멀티 코어 프로세서들은 컴퓨터(주로 인텔, AMD)와 게임기(플레이스테이션 3의 셀 프로세서)에서 사용된다. 문맥상 “멀티”(multi)는 보통 상대적으로 작은 수의 코어를 뜻한다. 그러나 이 기술은 네트워크 프로세서, 디지털 신호 처리장치, 그래픽 처리 장치와 같은 임베디드 프로세서 등의 다른 기술 분야에도 널리 쓰인다.

멀티 코어 프로세서 [ 편집 ]

멀티 코어 프로세서(multi-core processor), 전력요청과 비효율적인 하드웨어 증대를 줄일 수 있는 또 하나의 방법은 멀티코어 프로세서를 이용하는 것이다. 멀티코어 프로세서는 2개 이상의 프로세서를 포함한 집적회로이다. 과거에 칩 생산자는 몇 메가헤르츠에서 기가헤르츠까지 주파수를 늘리는 방식으로 프로세서의 속도를 증가시켰다. 그러나 이런 전략은 높은 기가헤르츠 칩에 수냉각이 필요할 정도로 열과 전력 소모 모두를 증대시켰다. 멀티 코어 프로세서는 2개 이상의 느린 프로세서를 하나의 칩에 결합한다. 이 기술은 파워가 증가되고, 열 손실이 감소한 2개의 프로세싱 엔진이 프로세싱 코어가 하나인 자원이 부족한 칩보다 더 빠르게 작업을 수행할 수 있도록 해준다.

현재 인텔이나 AMD 같은 회사는 멀티 코어 마이크로프로세서를 생산하며 쿼드 코어 프로세서를 출시하였다. 도쿄기술 협회는 일본에서 가장 큰 슈퍼컴퓨터를 구축하려고 듀얼 코어 프로세서를 이용하였다. 이 기관이 단일 코어 프로세서를 이용했다면 현재 시설의 2배 규모인 데이터 센터가 필요하고 거의 2배에 달하는 열을 발생했을 것이다. 듀얼 코어는 단일 코어를 구현하는데 필요한 서버 수의 절반으로도 구현할 수 있으며, 관리할 시스템 수도 적어 유지·보수비용이 적게 든다.[1]

개요 [ 편집 ]

이 기술은 여러 개의 CPU 코어를 하나의 다이에 집적하는 경우, 프로세스 규칙을 바꾸지 않으면 장착된 CPU 코어의 수에 비례하여 다이가 커지게 된다. 면적이 늘면 급수적으로 제조 불량률도 늘어나는 경우가 있기에 제조 측면에서는 불편한 점이 있다.

병렬 연산에 맞는 프로그래밍이 필요하므로 소프트웨어의 개발이 어려워지긴 하지만, 운영체제나 미들웨어 등이 병렬 처리를 지원하면 소프트웨어 개발이 쉬워지는 경우가 있다. 멀티 프로세서와 호환되는 프로세서의 멀티 코어 개발은 비교적 간단하다.

개인용 컴퓨터는 소비 전력, 발열, 소음이 높아지는 제약, 클럭 주파수가 높아지지만 그에 따른 효과는 크지 않은 이유 등에 따라, 멀티 코어 기술을 사용하게 된다. 멀티 코어는 소비 전력과 발열을 낮추는 것을 목적으로, 코어마다 동작 전압이나 클럭 속도를 임의로 제어하며 유휴(idle) 상태를 포함한 동작 상태를 제어하는 제품도 있다.

멀티 코어와 비슷한 기술로 동시 멀티스레딩(SMT)이 있다.(이를테면 인텔의 하이퍼스레딩에서 사용하는 기술이다.) 이것은 하나의 CPU를 외부로부터 2개처럼 보이게 한다는 점에서는 같지만, 실제로 존재하는 코어는 싱글 코어라는 점에서 멀티 코어 기술과 근본적으로 다르다.

용어 [ 편집 ]

주로 쓰이는 용어는 다음과 같다..

다이 : 실리콘, 회로판 위에 반도체 회로를 만들어서 사각형으로 잘라낸 것이다. 반도체 산업에서 공정이 끝난 회로판이나 다이의 생산까지가 메인스트림 공정이며, 테스트와 패키지 봉입이 다운스트림 공정이 된다. 반도체를 생산하는 대기업에서 자체 생산을 하는 경우가 있지만, 다운스트림 공정은 하청 생산하는 경우가 많다.

: 실리콘, 회로판 위에 반도체 회로를 만들어서 사각형으로 잘라낸 것이다. 반도체 산업에서 공정이 끝난 회로판이나 다이의 생산까지가 메인스트림 공정이며, 테스트와 패키지 봉입이 다운스트림 공정이 된다. 반도체를 생산하는 대기업에서 자체 생산을 하는 경우가 있지만, 다운스트림 공정은 하청 생산하는 경우가 많다. 코어 : 멀티 코어 CPU의 코어는 CPU 다이 위에 구성된 CPU 회로의 핵심 부분에서 캐시 메모리를 제외하는 반도체 회로 부분이다. 그러나 공유가 아닌 코어 전용의 캐시 메모리는 코어에 포함된 것이 많다. 대부분 CPU 다이는 코어, 캐시 메모리 등의 접속부로 구성된다.

: 멀티 코어 CPU의 코어는 CPU 다이 위에 구성된 CPU 회로의 핵심 부분에서 캐시 메모리를 제외하는 반도체 회로 부분이다. 그러나 공유가 아닌 코어 전용의 캐시 메모리는 코어에 포함된 것이 많다. 대부분 CPU 다이는 코어, 캐시 메모리 등의 접속부로 구성된다. 서브 스트레이트 (실리콘 웨이퍼)

(실리콘 웨이퍼) 칩: 반도체 부품을 뜻하지만, 다이를 가리키는 경우도 있다. 또, 표면 실장 기술(SMT)의 수동 부품을 가리키기도 한다.

같이 보기 [ 편집 ]

각주 [ 편집 ]

↑ Laudon, Kenneth C, Jane P. 《Management Information Systems 12/E: Managing the Digital Firm, CHAPTER 5, 215P》. Pearson Education Asia. ISBN-10 : 027375453X / ISBN-13 : 9780273754534.

멀티코어 ? 쉽게 이해하자 !

멀티 코어 프로세서

전력 오쳥과 비효율적인 하드웨어 증대를 줄일 수 있는 또 하나의 방법은 멀티코어 프로세서를 이용하는 것입니다.

멀티코어 프로세서는 2개 이상의 프로세서를 포함한 집적회로입니다.

과거에 칩 생산자는 몇 메가헤르츠에서 기가헤르츠까지 주파수를 늘리는 방식으로

프로세서의 속도를 증가시켰습니다.

그러나 이런 전략은 높은 기가헤르츠 칩에 수냉각이 필요할 정도로 열과 전력 소모 모두를 증대시켰습니다.

멀티코어 프로세서는 2개 이상의 느린 프로세서를 하나의 칩에 결합합니다.

이 기술은 파워가 증가되고 열 손실이 감소한 2개의 프로세싱 엔진이 프로세싱 코어가 하나인 자원이 부족한 칩보다 더 빠르게 작업을 수행할 수 있습니다.

병렬 연산에 맞는 프로그래밍이 필요하므로 소프트웨어의 개발이 어려워지긴 하지만,

운영체제나 미들웨어 등이 병렬 처리를 지원하면 소프트웨어 개발이 쉬워지는 경우가 있습니다.

멀티 프로세서와 호환되는 프로세서의 멀티코어 개발은 비교적 간단합니다.

멀티코어와 비슷한 기술로 동시 멀티스레딩이 있는데

이는 하나의 CPU를 외부로부터 2개처럼 보이게 한다는 점에서는 같지만, 실제로 존재하는 코어는

싱글 코어라는 점에서 멀티코어기술과 근본적으로 다릅니다.

@네이버 위키백과

멀티 코어 프로세서란?

728×90

반응형

전에 포스팅한 멀티 프로세싱과 헷갈릴 수 있는 용어입니다ㅎㅎ

용어 중간에 ‘코어’만 들어갔을뿐 그게 그거 같죠…

차이를 알아보겠습니다.

멀티 코어 프로세서는 여러 개의 작업을 보다 효율적으로 한 번에 처리하기 위해 2개 이상의 프로세서가 붙어있는 집적회로를 말합니다.

그러니깐 ‘회로’를 의미합니다. 그래서 우리가 흔히 말하는 듀얼코어 프로세서가 싱글코어 프로세서보다 보다 강력한 성능을 가집니다.

프로세서가 1개에서 2개로 늘어났으니깐 성능향상도 2배일까요?

그렇지 않습니다. 약 1.5배 정도 성능향상이 있다고 합니다.

그렇다면 멀티 프로세싱은 뭐였죠?

멀티 프로세싱은 복수개의 프로세서들이 협력하여 작업을 처리하는 방식을 의미합니다. 그러니깐 ‘처리방식’을 의미합니다.

포인트를 아시겠나요? 멀티 코어 프로세서는 ‘회로’이고, 멀티 프로세싱은 ‘처리방식’ 입니다.

그렇다고해서 멀티 코어 프로세서의 처리방식이 멀티 프로세싱이고, 멀티 프로세싱의 회로가 멀티 코어 프로세서가 되는 걸까요?

엄밀히 말해서 그렇지 않습니다.

왜냐하면 멀티 코어 프로세서(예를 들면 듀얼코어)라고 해서 멀티 프로세싱 방식으로만 처리하는 건 아니기 때문입니다.

아래 그림은 멀티 코어 프로세서들을 의미합니다.

싱글코어 CPU 4개, 듀얼코어 CPU 2개, 쿼드코어 CPU 1개입니다. 이해가 가시죠?

다음은 듀얼코어에서의 처리방식을 나타낸 것인데요. 듀얼코어가 멀티 코어 프로세서에 해당되는데, 이런 멀티 코어 프로세서가 멀티 프로세싱 방식으로만 처리하지 않음을 나타내줍니다.

왼쪽은 멀티 코어 프로세서(듀얼코어 CPU 2개)가 멀티 프로세싱 방식으로 일을 수행하고, 오른쪽은 멀티 코어 프로세서(듀얼코어 CPU 2개)가 멀티 프로세싱 방식이 아닌 독립적인 방식으로 처리하는 경우를 나타냅니다.

이제 멀티 코어 프로세서와 멀티 프로세싱의 차이점 아시겠죠?ㅎㅎㅎ

728×90

반응형

[1. 멀티스레드 프로그래밍 소개] 03. 멀티코어 하드웨어 소개

*이 글의 내용은 한국산업기술대학교 게임공학부 정내훈 교수님의 수업을 듣고 정리한 내용입니다.

1. 멀티스레드의 사용 목적

멀티코어 CPU에서의 프로그램 성능 향상 (O)

멀티 CPU 컴퓨터에서의 프로그램 성능 향상 (O)

분산 컴퓨터에서의 프로그램 성능 향상 (X)

싱글코어(CPU) 컴퓨터 환경에서의 프로그램 성능 향상 (X)

프로그램을 모듈화 해서 알아보기 쉽게 하기 위해 (X)

▶ 병렬컴퓨터에서의 프로그램 성능 향상을 위해서만 쓴다.

멀티코어 CPU에서의 프로그램 성능 향상 (O)

멀티스레드를 왜 쓰는가? 하나의 프로그램을 더 빠르게 돌리기 위해서 사용한다. 이틀 걸리는 것을 하루에 끝내도록. 10 FPS 게임을 20 FPS로 올리고 싶을 때. 동접 수가 3천인데 5천으로 올리고 싶을 때. 처리량을 높이기 위해 멀티스레드 프로그래밍을 하는 것이다.

그러나 멀티코어 CPU가 아니라면 아무 의미가 없다. 멀티스레드를 쓰면 빨라진다. 그럼 싱글코어 컴퓨터에서 속도가 1시간 걸리는 것을 듀얼코어에서는 30분으로 줄일 수 있지 않은가? 절대 아니다. 싱글코어에서 아무리 멀티코어 프로그래밍을 하더라도 절대로 빨라지지 않는다. 멀티코어 프로그래밍은 멀티코어를 활용하는 방법이지 프로그램 성능을 높이는 것이 아니다. 멀티코어의 성능을 높이는 것이다. 싱글인데 그렇게 짜면 무조건 느려진다.

좀 더 자세히 이야기를 하자면, 우리가 만든 싱글 프로그램은 쿼드코어에서 4배 이상 절대로 빨라지지 않고, 듀얼코어에서는 2배 이상 빨라지지 않는다. 듀얼코어인데 6배 빨라졌다? 그건 싱글 스레드 프로그램이 엉터리로 짜인 것이다. 잘못 짠 부분이 수정이 되어 빨라진 것이지 멀티스레드 때문에 빨라진 것이 아니다.

멀티 CPU 컴퓨터에서의 프로그램 성능 향상 (O)

멀티CPU는 무엇인가? 컴퓨터 뚜껑을 열고 보면 CPU가 1개가 아니라 2개 4개 꼽힌 것이 있다. 이걸 여러 개 활용해서 성능을 높이고 싶다면 멀티스레드를 쓰면 된다. 멀티코어 CPU랑 멀티 CPU랑 하드웨어 입장에서는 다르지만, 프로그래밍하는 입장에서는 똑같아서 구분이 안 간다. 멀티스레드를 하면 둘 다 커버가 된다. CPU가 여러 개 있고 그 안에 코어가 여러 개. 이런 복잡한 환경에서 어떻게 구현하는가? 신경 안 쓰고 그냥 하던 대로 하면 된다.

분산 컴퓨터에서의 프로그램 성능 향상 (X)

분산 컴퓨터에서의 프로그램 성능 향상? 안된다. 왜? 멀티스레드는 스레드를 만드는 것. 그건 같은 프로세스 안에서 돌아가는 것이다. 다른 컴퓨터에서 돌릴 수 없다. 내가 만든 스레드를 옆에 컴퓨터에서 돌리는 것? 있긴한데 연구용이라 우리가 쓰진 않으므로 없다. 윈도우나 리눅스엔 그런 게 없다는 것이다.

싱글코어(CPU) 컴퓨터 환경에서의 프로그램 성능 향상 (X)

싱글코어 컴퓨터에서 성능을 높이자. 이건 완전 헛소리이다. 가끔가다 빨라졌다는 것은 싱글 스레드 프로그램이 엉터리였다는 것이다. 제 성능을 이미 내고 있지 않았기 때문에 현재 빨라지는 것처럼 보이는 것이다. 그럼 애초에 그 싱글 프로그램을 다시 짜야한다. 그러면 멀티스레드로 짰던 것보다 빠를 것이다. 왜? 멀티스레드에서만 성능 향상이 있는 게 멀티스레드 프로그래밍이기 때문이다.

프로그램을 모듈화해서 알아보기 쉽게 하기 위해 (X)

메인 루프에서 하나만 호출해서 돌리는 것이 지저분하다고 느껴질 수 있다. 물리엔진 스레드, 사운드 스레드, 랜더링 스레드, 나누어서 돌리는 게 훨씬 깔끔하고 독립적이어서 디버깅도 쉽고 좀 더 고차원적인 개념 아닌가? 절대 아니다. 이런 짓 하지 마라. 이런 것을 보고 겉멋이라고 부른다. 절대로 그러지 마라. 멀티코어 프로그래밍은 성능 향상을 위해 쓰는 것이지 이게 아니다. 모듈화 되고 독립적이고 알기 쉽게 되는 것 맞다. 그러나, 멀티스레드 프로그램을 해서 페널티 위험성을 고려했을 때 얻는 것보다 잃는 것이 훨씬 더 많다. 그러니 절대로 성능 이외의 다른 이유로 사용하지 마라. 작은 프로그램은 한 눈에 볼 수 있어서 괜찮을지라도, 커뮤니케이션이 많아지면 성능이 확 떨어지거나 확 죽어버리거나 하게 된다.

결론적으로, 병렬컴퓨터에서의 프로그램 성능 향상을 위해서만 쓴다. 멀티코어가 되었든 멀티 cpu가 되었든 거기서 성능 향상을 하기 위해 쓰는 게 멀티스레드이다. 최근 쓰는 것은 다 병렬 컴퓨터니까 프로그램 성능 향상의 이유만 생각하면 된다.

2. 멀티코어 CPU

한 개 이상의 코어로 구성된 CPU를 뜻한다. 우리가 쓰고 있는 컴퓨터 i3, i5, i7 갤럭시 S8, iPhone X, PlayStation 4

현재 멀티코어가 아닌 CPU가 존재하는가?

제주도에 있는 넥슨 컴퓨터 박물관에 가보면 싱글코어 CPU로 돌아가는 컴퓨터를 구경할 수 있지만 돈 주고 살 수는 없다. 그리고 느리다. 윈도우 10도 안 돌아간다.

그리고 게임기 플스, Xbox, 닌텐도 ds, 스위치 다 멀티코어이다. 다 멀티코어. 아닌 컴퓨터가 없다. 작정을 하고 찾아보면 있긴 하지만 어떤 게 있나? 키보드가 있다. 키보드 안에 cpu가 들어있지만 성능이 필요가 없고 그걸 프로그래밍하지 않으므로 신경 쓰지 않는다.

3. Intel과 ARM에서 멀티코어 프로세서를 만드는 이유

CPU의 성능을 올려야 한다. 안 그러면 아무도 안 산다

클럭 속도를 높일 수 없다 발열 문제 (물리법칙)

클럭 속도 말고 CPU의 속도를 올리는 것은? 한계에 부딪혔다. (아키텍처 개선 : 캐시, 파이프라인, 예측 분기, 동적 수행 등)

남은 방법 멀티코어

CPU의 성능을 올려야 한다.

왜 굳이 싱글코어 CPU를 팔지 않고 멀티코어를 파는지 궁금할 수 있다.

왜 싱글코어를 팔지 않는가? 반값으로 팔면 그래도 살 사람이 있지 않을까? 인텔도 그렇고 최하 듀얼코어 이런 것도 보기 힘든데 왜 쿼드코어만 주구장창 파는가? 왜? CPU의 성능을 올려야 하기 때문이다.

Intel과 ARM은 CPU를 팔아서 먹고사는 회사이다. 망하는 방법은 사람들이 CPU를 안 사면 망한다. 사람들이 컴퓨터가 필요해서 사는 시대는 이미 지났다. 요즘엔 컴퓨터가 없는 집이 없다. 요즘엔 느려서, 고장 나서 그래서 CPU를 사는 것이다. 둘 중에 느려서 사는 경우가 더 많다. 그런데 사려고 봤는데 새로 나온 CPU가 지금 쓰는 CPU보다 느리면 사람들은 업그레이드를 하지 않는다. 그래픽카드를 바꾸지 CPU를 바꾸지 않는다. 왜? CPU를 바꾸려면 본체를 통째로 바꾸어야 하니까. 그래서 CPU의 성능을 계속 올리지 않으면 회사가 망한다. 그래서 멀티코어 CPU를 만드는 것이다.

싱글코어는 아무도 안 산다. 지금 CPU보다 느린데 아무리 싸도 더 느린 것으로 바꿀 사람은 없다. 새로 살 때나 고려하겠지만, 그러나 그런 경우에도 싸게 팔게 되면 마진이 안 남는다. 일부러 안 만드는 것도 있다.

클럭 속도를 높일 수 없다

근데 싱글코어를 그냥 더 빠른 싱글코어로 만들면 되지 않냐, 왜 멀티코어만 성능을 올리냐 궁금할 수 있다. 싱글코어는 가장 빠른 게 클럭 속도를 높이는 것이다. 2 GHz CPU보다 4 GHz CPU가 더 빠르다. 근데 그게 안된다. 클럭 속도를 더 이상 높일 수 없다. 교수님은 2002년도에 NC에 취직해서 첫 월급을 타고 최신 사양 컴퓨터를 맞추었다고 한다. 스타크래프트를 하려고. 그때 최신 사양 컴퓨터 Pentium 4는 클럭 속도가 2.4GHz 였다고 한다. 3 GHz까지 맞출 수 있었지만 돈이 많이 들어 2.4로 하셨다고. 지금 우리 컴퓨터가 3 GHz정도 된다. 20년이 흘렀지만 그때 왜 지금은 거의 클럭 속도가 비슷하다. 높일 수가 없다. 4 GHz로 높이면 컴퓨터가 타버린다. 이것은 물리법칙이다. 애당초 우리 우주가 그렇게 설계되어있다.

클럭 속도를 높이려면 열을 잡아야 하고 그럼 액체질소를 실시간으로 들이부어야 한다. 그래야지 5GHz를 넘을 수 있고 4 GHz정도 한다 하더라도 배보다 배꼽이 더 큰 냉각장치를 써야 한다.

클럭 속도 말고 CPU의 속도를 올리는 것은?

클럭속도를 못 높인다면 다른 방법은? 파이프라인을 새로 만들고 동적 수행을 하고… 등등 싹 다 쓰면 빨라지지 않느냐. 빨라진다. 그런데 그것도 이미 한계에 부딪혔다. 경제 시간에 한계효용의 법칙을 배웠을 것이다. 어떠 ㄴ물건의 가치가 있을 때 투자를 하면 할수록 가치가 올라가지만, 어떤 수준 이상으로는 오르지 않는다. 1천 원과 2천 원은 차이가 안 나는데 1천 원가 1만 원은 차이가 난다. 비쌀수록 처음에는 점점 맛있다가 나중에는 별 차이가 없어진다. 10만 원과 20만 원은 2배 차이가 나지만 맛 차이가 2배가 나는 것이 아니다. CPU도 마찬가지이다. Intel과 AMD는 이미 온갖 것 다 집어넣고 대학생 논문이 새로 나오면 달려들어 구현하고 하면서 갈 때까지 갔다. 지금 CPU에서 캐시를 높인다고 하더라도 2% 정도 빨라진다. 파이프라인을 쪼개면? 이미 쪼갤 만큼 쪼갰고 그 이상 쪼개면 오히려 느려진다. 예측 분기 이미 하고 있고 동적 수행 이미 하고 있다.

남은 방법

그래서 남은 것은 멀티코어밖에 없다. 그래서 AMD에서 16 코어를 내보내고 그러는 것이다. 그래서 Intel도 12 코어 10 코어 만들어서 팔고 있다. 왜 이렇게 하는가? 싱글로는 더 이상 안되니까 코어 개수로 싸우는 것이다. 코어의 개수가 늘어나지 않는 경우 성능의 개선이 별로 없다. 그러니까 작년에 Intel에서 팔던 cpu랑 올해 파는 cpu, 같은 코어 개수를 사면 성능 변화가 거의 없다. Intel에서는 10% 20% 개선된다고 홍보하지만, 그건 그렇게 밴치 마크된 프로그램의 이야기다. 우리가 쓰는 건 그렇지 않다.

4. 멀티코어 프로세서

Dual Core – 2 CPU

어쩔 수 없이 멀티코어 코어 개수를 높여 성능을 올려야 한다. 멀티코어 CPU는 어떻게 생겼나? 이렇게 생겼다. CPU0은 듀얼코어 CPU이다. 코어는 ALU, REGISTER, CU(제어 유닛) 그리고 캐시로 이루어져 있다. 어? 이거 다 CPU이다. CPU를 만들려면 ALU, CU, REGISTER 이 3개가 있어야 한다. 인텔에서 CPU 하나 만들어서 복사 붙여 넣기 하면 듀얼코어가 되고 그걸 또 복붙 하면 쿼드코어, 옥타코어가 되는 것이다. 진짜로 이렇게 한다. 하나하나 반도체 회로 설계하고 절대 그렇지 않다. 진짜 컨트롤 C, 컨트롤 V 한다. 개발비가 공짜다. 그냥 찍어내기만 하면 된다. AMD도 마찬가지이다.

CPU0, CPU1은 멀티 CPU이다. 똑같은 CPU를 꽂아서 사용하니 ID만 0, 1 붙는 것이다. 멀티코어 CPU를 두 개 꽂은 것이다. 이게 Quad Core – 1 CPU 밑에 있는 그림과 무엇이 다를까?

Quad Core – 1CPU

쿼드코어 CPU를 꽂은 것이다. 듀얼코어 CPU 2개, 쿼드코어 CPU 1개, 차이는 없다. 작정하고 달려들면 차이는 알 수 있다. 메인보드에서 CPU가 몇 개 꽂혀있는지 확인하는 것. 근데 그거 말고 프로그램으로는 구분이 안된다. 억지로 한다 하면 L3 캐시를 공유하니 느려지고… 하는 등의 것을 속도를 측정하면 짐작할 수 있겠지만 그것 말고 프로그래밍엔 아무 의미 없다. 4배까지 성능을 올릴 수 있다는 것은 같다.

왜 이렇게 늦게 나왔는가? 프로그래머가 싫어하기 때문 프로그램을 다시 작성하지 않으면 성능 향상 “0” 전혀 다른 알고리즘을 사용해야 한다. 디버깅이 어렵다 옛날부터 있었다. 과학기술 계산용 :기상예측, QCD(원자핵 사이의 강력 계산), 유체역학(비행기, 잠수함 계산), N-body problem(은하계끼리 충돌했을 때 계산) 수출 금지 품목 무지 비쌌다 CRAY X-MP(1982), Cpmpaq Proliant 1500(1995)

멀티코어는 2005년 정도 나왔다. 2000년대 초반 정도. 근데 인텔은 cpu를 1930년대부터 만들었으면서 왜 늦게 나왔냐? 프로그래머가 정말 싫어하기 때문이다. 프로그램을 다시 짜는 게 매우 어렵고, 디버깅도 어렵고, 배운 알고리즘도 못쓴다. 그래서 인텔이 70년대에도 만들 수 있었지만 안 팔려서 안 만들었다. 근데 지금은? 어쩔 수 없어서. 벼랑 끝에 몰려서. 더 빠른 cpu를 팔지 않으면 망하고, 클럭 속도는 못 올리고. AMD는 Intel에 지지 않기 위해 8 코어 16 코어를 내놓고.

그래서 이렇게 늦게 나왔다. 스타 1은 싱글 스레드 프로그램이다. 듀얼코어에서 돌린다고 2배 이상 빨라지지 않는다. 유닛을 많이 만들면 그래서 버벅거린다. 싱글 스레드 프로그램이기 때문에 듀얼코어에서도 똑같이 버벅거린다. 코어를 하나밖에 못쓰기 때문이다.

지금에서야 프로그래머들이 어쩔 수 없이 쓰지만, 멀티스레드 또는 멀티코어 컴퓨터는 옛날부터 있었다. 일반인들은 안 쓰는 특수한 용도에. 기상예측 슈퍼컴퓨터, QCD 원자핵 사이의 강력 계산, 유체역학 비행기와 잠수함 계산, N-Body problem 은하계끼리의 충돌 계산 이런 거. 그런데 이건 특수 컴퓨터, 슈퍼컴퓨터로 불리는 것들이라 무척 비쌌다. 몇 억, 10억 넘어간다. 우리나라에 80년대엔 1대뿐이었다.

우리나라는 CRAY X-MP는 돈 없어서 못 사고 87년도에 그다음 버전을 샀었다. Cpmpaq Proliant 1500 이건 리니지 1이 처음 서비스될 때 그땐 싼 컴퓨터에서 멀티 cpu로 서버 만들자 해서 이걸 사서 했었다. Intel cpu가 펜티엄 2개인가 3을 4개 꽂은 컴퓨터였다. 코어가 4개. 20년 전 리니지의 클라이언트 소스코드는 싱글코어였다. 멀티코어는 손톱만큼도 없었다고. (교수님께서 직접 보셨다고 하셨다) 그런데 서버는 처음부터 멀티코어로 돌아갔다고.

현재 4 Core (Quad Core)가 대세 2017년부터 코어 개수 급속 증가 인텔 제온 : 22 Core Processor

올해(2019) 초에 56 코어짜리 제온 cpu가 나왔다. 가격은 cpu 1개에 5천만 원 정도. 30 코어는 천만 원 정도 한다. 22 코어는 5백만 원 정도.

이런 흉악한 물건도 있었다. 세계에서 제일 빨랐던 중국 슈퍼컴퓨터에서도 사용되었었으나 미국이 수출 금지를 시켰었다. 최하 3천만 원이었고, 멀티스레드 프로그래밍을 해야 하는데 다른 방식으로 따로 했어야 했다. 윈도에서 지원 안 함. 언리얼에서 지원 안 함. 우리가 쓸 일은 없고 어디에 쓰나? 슈퍼컴퓨터 만들 때 쓴다. 작년까지만 해도 지구 상에서 제일 빠른 컴퓨터가 중국에 있던 톈허 2에서 이것을 썼었다. 그런데 미국의 트럼프가 수출 금지를 시켰었다. 그러자 중국에서 자체 개발한 cpu를 사용해서 컴퓨터를 만들었고, 절대 속도는 빠른데 그 컴퓨터에서만 빠르게 돌아가도록 특수 제작된 프로그램만 빠르지 제대로 된 슈퍼컴퓨터 칩을 사용하지 않았으니 사람들은 진짜 빠를 거라 믿지 않는다. AMD는 32까지, Intel은 72까지 코어를 올렸다.

게임 콘솔

https://www.reddit.com/r/gaming/duplicates/1g7gze/fixed_microsoft_xbox_one_vs_sony_playstation_4_vs/

pc 말고 게임기는 어떻게 생겼을까? 게임기도 멀티코어다. 오히려 데스크톱보다 코어가 많았다.

최신이라고 해봤자 컴퓨터는 4개인데 게임기는 왜 8 코어씩 쓰나? 이유는 클럭 속도가 컴퓨터의 반토막이다. 데스크톱 pc보다 속도가 반밖에 안된다. 그러니 성능이 pc보다 반밖에 안된다. 성능 격차 메꾸는 방법은 코어를 2배 올리는 것. 그러니까 쿼드코어랑 성능이 많이 비슷해졌다. 그래도 데스크톱보다 빠르진 않다. 근데 왜 클럭 속도가 이 모양이냐? 이유는 열 때문에. 3기가 클럭 넣어도 잘 돌아간다. 근데 그러면 게임기에 fan을 달아야 한다. 어쩔 수 없이 클럭 속도를 낮췄고 성능이 안 나와서 코어를 높인 것이다. 콘솔 회사에서 일하려면 멀티코어를 열심히 공부해야 한다. 코어를 다 활용하지 않으면 성능이 안 나오기 때문이다.

수업을 듣다 궁금했던 점이 생겼었다. 메인 스레드 이외엔 스레드를 Create 해야만 늘어난다고 배웠는데, 만들 때 듀얼코어를 대상으로 만들면 쿼드코어에서는 2배 이상의 성능이 안나는 건가? 근데 그러면 또 코어 개수에 맞춰서 다시 프로그래밍해야 하는 건가? 22 코어 56 코어 나올 때마다? 하는 질문이었다

교수님께 질문했더니 간단하게 그래서 loop를 돌려서 Create 한다고 대답해 주셨다 ^^..

또 궁금했던 것은 프로세스 밑에 스레드가 있고 그 스레드가 여러 개 있을 수 있다면,, 그럼 프로세스당 최소 하나의 스레드가 있는 건데 쿼드코어여도 몇십 개의 프로세스가 돌아갈 수 있는 게 빠르게 번갈아가면서 실행이 되어서 가능하다 하셨는데.. 그럼 스레드는 중간에 종료될 수 없으니까 한 스레드가 끝나야 다른 프로세스의 스레드가 돌아가게 순서가 되는 건지…??

이것도 교수님께 질문했더니 아니다. 스레드는 중간에 종료될 수 있고, 강제로 종료되는 것이 안 되는 것. 그리고 프로세스가 시분할로 돌아가면서 실행되듯 스레드도 시분할로 운영되어서 중간에 다른 스레드가 실행될 수 있는 것. 그래서 코드 상 선언 한 스레드 개수와 코어의 개수는 일치하지 않아도 상관이 없게 되는 것이다.라고 대답해 주셨다

키워드에 대한 정보 멀티 코어

다음은 Bing에서 멀티 코어 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 CPU 코어와 스레드(ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니

  • CPU
  • 코어
  • 스레드
  • 코어 스레드
  • 하이퍼스레드
  • 하이퍼스레딩
  • 인텔 CPU
  • AMD CPU
  • 코어스레드
  • CPU코어스레드
  • CPU코어 스레드
  • 코어와 스레드
  • CPU 역사
  • 역사
  • 인텔 하이퍼스레딩
  • 인텔
  • AMD
  • 씨피유
  • 인텔 씨피유
  • 씨피유 역사
  • 씨피유 코어
  • 씨피유 스레드
  • 코어 특징
  • 스레드 특징
  • 코어 설명
  • 스레드 설명
  • 코어 스레드 설명
  • 거니
  • 알고리즘 투게더
  • 알고투게더
  • Gunny
  • 자료구조
  • 코딩
  • 알고리즘
  • C언어
  • 자바

CPU #코어와 #스레드(ft.하이퍼스레딩) #가장 #쉬운 #설명 #듣고 #가시죠 #- #[高지식] #거니


YouTube에서 멀티 코어 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 CPU 코어와 스레드(ft.하이퍼스레딩) 가장 쉬운 설명 듣고 가시죠 – [高지식] 거니 | 멀티 코어, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  도매위탁사이트 | 쿠팡 위탁판매에 필수 도매사이트 46곳 모음-!!(Feat. 사이트 링크 공유) 상위 115개 답변

Leave a Reply

Your email address will not be published. Required fields are marked *