본문 바로가기

카테고리 없음

CPU 코어와 스레드 개념 하이퍼스레딩 까지 정리

안녕하세요 반갑습니다 고급지식 쉽게 되는 거지 건입니다 반갑습니다 오늘 주제는 코아스 레드입니다 컴퓨터에서 가장 중요한 부품인 CPU를 구매하실 때 뭐 2코어 4스레드 니모 4코어 8스레드 님 아니 보셨을텐데 코어가 뭐고 새드가 뭔지 그 얘네들 관련된 이야기들은 한번 해보려고 해요 코가 무엇이냐 코어는 CPU 웹프로젝트를 말합니다 컴퓨터에서 일을 하는 가장 빠른 발라야하는 부품이 뭐가 한게 있다는 거 즉 싱글 거는 한 명이 컴퓨터 하면서 일을 하고 있다는 거죠 한 명만 일하고 있으니 동시에 2개의 일을 못 해요

 

 

한 번에 하나씩 게임만 할 수 있어요 하지만 싱글 코어 CPU라도 그림판 음악 인터넷을 동시에 할 수 있습니다 아니 뭐 한 명이 하나에 만 할 수 있는데 위에 것들을 어떻게 동시에 가능합니까 하실 텐데 사실 슬로우 모션으로 보시면은 음악 큐 그림판이 요청한 작업 시작 완료 음악을 듣고 있네 작업 시작 완료 인터넷 서핑을 하고 있었네 인터넷 시작 완료 한 번에 하나의 작업 둘만 진행을 작업하는 프로그램 천안에 다짐하죠

 

빠른 속도로 싶기도 하고 있기 때문에 사람들은 알아차릴 수가 없었던 거죠 오케이 싱글코어가 한 명이 일을 하든 애인 건 알겠다 그럼 싱글코어에서 뭐 듀얼코어 쿼드코어 옥탑방 버스가 많이 하시는 분도 계시던데 역사를 알기 위해 1980년 돌아가 볼게요 예전에 컴퓨터는 내가 원하는 프로그램이 정상적으로 동작 하기에 싱글코어 하면은 충분했어요 계산할 때 그리 많지 않았던 거죠

 

이때쯤 빌게이츠가 시대의 명언을 하나 남깁니다 개인용 컴퓨터는 640kb 메모리면 충분했습니다 640kb 트렌드 충분하다는 얘기죠 언니 뭐 CPU 얘기하다가 갑자기 메모리 얘기를 하냐 멋있잖아요 설득력이 있잖아요 좀 느리다 싶으면 10회 큰아들 올려버리면 돼요 CPU를 채찍질 내서 야 너 빨리 계산해 봐 하는 거죠

 

그때는 CPU한테 빨리 계산하라고 하면은 뭐 또 그걸 해냈어요 1960년대 무허가 한 명은 반도체 성능은 1.5 년마다 두 배로 상태를 것이다라고 예언한 무얼 법칙이 정확히 맞아 들어가고 있었던 거죠 실제로도 80년부터 1990년도까지 CPU의 계단 속도는 법칙과 비슷한 발전율 보여왔습니다

 

하지만 무어의 법칙은 2004년 이후 멈춘듯 하였는데요 바로 CPU라는 예외조항이 등장해 버린 것이 과연 2004년에 무슨 일이 발생했던 걸까요 1980년대부터 빨리 계산을 하기 위해서 CPU에서 하나의 콜 기록적으로 성능을 높여 왔지만 판교에 다 다르니까 CPU가 이제 반항하기 시작했던 거지 빨리 계산을 할 수는 있지만 그 계산 좀 뿜어내는 열을 잡지 못해서 CPU가 타버린 겁니다

 

그래서 인텔은 2004년도에 발표를 합니다 태풍은 이미지보다 영상으로 보여 줬을 때 훨씬 더 효과적이기 때문에 시작했고 매출도 40% 가량 올랐다 굉장히 만족하고 있습니다 여러분도 한번 시작해 보세요 저는 지금 여러분에게 저도 불과 몇 개월 전까지만 해도 며칠 만에 직장인의 월급을 벌어들이고 여행을 하고 있어 통장의 잔고는 힘들어라 사랑하는 시간을 밤에 이야기로만 생각했습니다

 

그래프를 보시면은 2005년부터 멀티코어 CPU가 등장하기 시작합니다 늘어나면서 더 이상 싱글쓰레드 퍼포먼스 성능 파워가 더 이상 드러나지 않게 된 거죠 패널을 좋게 하는 거보다는 2개 이상의 코어가 조화롭게 잘 동작하는가 초점을 맞추기 시작한겁니다

 

멀티코어를 왜 진작에 생각을 못 했냐 하실 수 있지만 다시 한계점들을 분명 했어요 싱글코어로 시키면 잘 해왔으니까요 빌게이츠도 640k 메모리를 결혼한게 이렇게 빨리 기술이 발전되면 생각을 못 했던 것도 있죠 프로그램 레코드가 싱글코어 했을 때 제일 잘 동작하게 설계되어 있었으니까 멀티코어로 바꾸기 힘들었던 이유도 있었던 거죠

 

 

 

이전 프로그램들은 오히려 두 놈이 생기면은 하나의 1분배 하는데 시간이 오래 걸려서 컴퓨터가 느려서 딴 거지 아니 그 2.0 메가헤르츠 가는 속도를 가지네 두놈을 했으면은 가정용 내가 이렇게 속도를 내야지 CPU가 두 개 들어가는데 뭐 2.4 2.5 되면은 폰이 아깝잖아요

 

 

또는 오히려 한 놈이 계산할 때 보다 두놈의 스트림 경우도 밝을 됐었던 거죠 아니 CPU는 컴퓨터에서 가장 빠른 앤데 금영에 CPU가 일은 네가 해 일은 내가 할게 야 너 너무 일이 많아 보이는데 내가 좀 도와줄게 좋아 약가계산 했던 애이라는 값이 좀 지금 바뀐 거 같은데 너 뭘로 알고 있어이 자체가 손이 어떤 거죠 그냥 문자 빨리 쪽에 왔었는데 소통을 해야 했던 거지 그건 싱글코어 가열 때문에 더 이상 화를 참지 못하고 흔들리는 모습을 보이자 사람들 위와 같은이 멀티코어의 문제들에 대해서 연구를 타기 시작합니다

 

연구의 목표지점을 간단해요 사용자들이 내 컴퓨터 안에 무슨 뭐 싱글코어 니 멀티쿼리 관심이 없어요 하지만 내가 어떤 것을 계산해 달라고 부탁했지 이때까지 목표를 잡고 인텔은 2004년도에 싱글코어 연결 손절하고 2005년도 양산 CPU 인텔 펜티엄 D 프로세서의 그리고 조금 더 친숙하게 생긴 애슬론 62 * 2 맨체스터 제품이 나오게 된 거죠 오케이 그럼 멀티코어는 뭐지 가면 왔다 4코어 8스레드라고 하는데 코어는 CPU 아내에게 사는 독립적인 코어가 있다는 것이고 8스레드 이건 무엇이냐 프로그램을 입장에서는 CPU에서 쓰레드가 뭔지 알지 보다 스레드를 이용하여 프로그램을 먼저 해 봤을 거예요

 

자바 프로그래밍 언어를 코딩을 하면서 스레드를 만든다는 것은 각각 모듈의 역할을 나누어서 일도 스레드의이는 어떤 것을 만드는 일을 하고 스레드 피는 만들어진 것을 소비하라 이렇게 동시에 자기 역할을 수행 지키기 위해서 1번 스레드는 그림판을 열고 이번 스레드는 뭐 음악을 재생 해라 이렇게 두 개가 멀티태스킹을 하기 위해 스레드를 만든 거죠 그러면 생각이 듭니다 CPU 스레드가 여덟 개 있다고 뭐지 은행 프로그래밍할때 원할 때 언제든지 10개도 100개는 만들 수 있는데 내가 아는 스레드랑 다른스레드인가 정답 CPU가 말하는 스레드는 기술의 이름이고 프로그래머들이 아는 그 스레드는 소프트웨어의 쓰레드입니다

 

제가 2005년도에 싱글코어 이제 멀티코어 방식으로 전원이 되기 시작했다라고 설명을 드렸는데 기본 간단한 아니잖아요 그죠 하기가 힘들면 두 개가 같이 한다 그거 아주 자연스러운 생각인데 때는 2002년도 돌아갑니다 월드컵이 열리고 있어요 밖에 막 시끄럽고 마크 연도에 인텔에서 기술 하나를 발표합니다

 

 

바로 하이퍼스레딩이란 기술인데요 싱글코어 하나의 물리적인 코에 자신의 왼손 오른손 왼손은거든요 오른손은 무슨 앱을 하는 이용고객은 왼손은 그림판 오른손은 웹서핑 하나의 코어를 두 개 쓰레드란 은혜로 용도를 나누어서 마치 물리적인 두 개 코가 있는 것처럼 2002년부터 거들먹 되고 있었던 거죠 2005년도에 멀티 코가 나오기 전 부터요 CPU 측에서는 이거는 극비 사항이라서 마치 밖에서 볼 때는 진짜 두 개 코가 일을 하고 있는 것처럼 보여 야해요 예를 들어 CPU를 만드는 인텔 회사와 윈도우를 만드는 마이크로소프트 장난이 아니잖아요

 

마이크로소프트 좋다고 소개해 됐어요 그러면 코가 한 개 있고 쓰레드가 두 개 있다고 광고하는 CPU를 구매하고 윈도우에서 컨트롤알트딜리트 들러서 CPU 사용률을 보시면은 두 개 CPU 사용률이 보여 주는 거지 마이크로소프트 윈도우조차도 하이퍼스레드 기술로 두 개로 나누었을 때 두 개 콜 사용하고 있는 것처럼 갖고 있었던 거죠

 

이제 바로 인텔의 ht 하이퍼스레딩 and sent 드립니다 2002년도에 개발된 하이퍼스레드 기술을 적용하여 하나의 코를 내부적으로 두 개 쓰레기 좀 나눠서 일을 따로따로 하니 속도는 더 좋았던 거죠 너무 자연스럽게 하나요 분명히 일을 하면은 한명이라는 보다 더 빠른 것이 코어를 늘리면 꽤 큰 작업이 될 거 같고 일단 코어 내부적으로 쓰레드란 일을 만들어서 작업들을 병행처리 하고 있었던 거죠

 

그래서 하나 에코의 HTS 적용이 되어서 두 개 코어처럼 보이는 CPU를 일 코인슬라이드 CPU라고 합니다 물리적인 코어는 한 개 밖으로 보이는 코는 두 개 스레드는 두 개 몸은 하나 작업하는 32개 이거 어차피 싱글코어 하나의 작업 방해하지 못하니까요

 

 

그래서 이처럼 2004년도에 CPU를 보면은 코어는 한 개고 두 개 쓸 데가 있다라고 하는 거 볼 수 있죠 그리고 2005년도가 되었고 멀티코어의 시대가 되었어요 코에 수가 늘어났는데 세대수는 여기에 두 개예요 한 컷 한 개에 새들이 가져갔어요 하이퍼스레딩 적용이안됨 모양이죠 마치 지금 막 위대한 발전이 있어서 코에 술 드렸으니 일단 짝퉁 코어 쓰레드 넌 빠져 있어 임마 너 그러지 마 제발 정신 없으니까 너까지 그러지 마라 하면서 일단 리코더로 늘어났고 가까이 코아가 하는 의도를 가지고 있는 것을 볼 수 있나요 그리고 2007년도에 코어가네 개 달린 쿼드코어가 나왔고 아직 닭 스레드는 갖고 와 다 하나씩 있는 걸로 보여요 정신이 없어 걸로 보여요

 

그리고 드디어 2008년 스튜디오를 벗어나고 하이퍼스레드 기술이 적용된 여러분이 그렇게 하시는 i7 시리가 등장을 합니다 CPU 코어수 저는 4개이고 가까이 코어가 두 개를 가지고 있어서 마치 8개 코어가 있는 것처럼 보여 줍니다 얘를 한번 그래 보면은 한 개 CPU의 4개 물적인 코어가 있고 각 코어는 하이퍼스레딩 기술 센터 기술을 이용하여 자신의 방으로 갈라서 두 개 코어가 있는 것처럼 딱 밖으로 보여주게 되죠

 

시계 프로그램을 돌린다고 하면은 징글 폰 한 개 다르게 되죠 멀티코어의 경우에는 베개 성을 가지고 있기 때문에 80은 충분해 보여요 문제는 만약에 82 드는 무거운 프로그램이 아주 아주 오래전에 만들어졌고 싱글코어 체크가 되어 있다면 그 요즘 만든 프로그램이지만 만들어지는 과정에서 멀티고 추석 다 잘 안되어 있다면 아무리 멀티코어 CPU 컴퓨팅파워 고백이라도 그것을 다 온전히 뽑아내지 못할 가능성이 아직 남아 있다는 거지요

 

물론 멀티코어 추락하는 메모리 읽기 쓰기 매트릭스 계산 벤치마크는 월드컵 모든 수는 없겠죠 그래서 코어수가 많다고 항상 무조건 빠른 것이 아니라 그 대상 프로그램이 멀티코어의 친절하게 코딩 최적화되어 있는지에 따라 다 코어나 팔콘 비슷하게 동작할 여지가 남아 있는 거죠 그래서 간다리 정리를 해보자면 코어는 물리적인 CPU 프로세서이고 스레드는 하이퍼스레딩 SMT 기술을 이용하여 실제로는 하나에코 하지만 두 개 코처럼 보여지는 논리적인 CPU라고 생각하시면 됩니다

 

물론 이렇게 보이긴 하지만 하이퍼센싱 기술로 속도도 말이 증가한 건 사실이죠 그러면 오늘은 코아스 레드에 대해서 알아보았습니다