유이챈러스 채널

CPU는 싱글코어 성능이 멀티코어 성능보다 훨씬 중요하다는 건 아래에 설명했음. 그런데 왜 자꾸 멀티코어 수를 늘릴까? 그건 싱글코어 성능을 올리는게 매우 어렵기 때문임. 흔히 제곱근의 법칙이라고 하는데 칩의 실리콘 면적을 2배 늘이면 성능은 루트 2배 즉 1.4 배 늘어 난나고 함.  즉 싱글코어 성능을 2배 올리려면 실리콘 면적은 2배가 아니라 4배 이상 필요함. 그리고 실리콘 면적이 2배 늘어나면 생산비는 2배가 아니라 4배가 늘어남. 왜냐면 면적이 늘어난 만큼 불량 소자가 들어갈 확률이 높아져 불량률이 급격히 높아져서 수율이 크게 떨어지기 때문임. 그러니 종합적으로 보면 성능을 2배 높이려면 면적이 4배, 생산원가는 16배가 늘어나게 됨. 그러니 16배라는 생산원가 증가로 싱글코어 성능을 올리면 2배 밖에 안되지만  쿼드코어로 만들면 싱글토어 성능은 같지만 멀티코어 성능이 4배가 될 수 있어서 이득이 되는 것임.

 

또 성능을 올리는 방법이 클럭을 올리는 건데 이건 과거에는 반도체 공정이 미세화 되어 클럭을 높여서 성능을 올리기가 쉬웠지만 이제는 클럭 자체를 높일 수는 있는데 그러게 하면 전력소모와 발열을 감당할 수 없어서 일부러 클럭을 낮춰서 사용하고 있음. 클럭을 2배 높이면 (메모리 등이 따라 준다면)  대충 성능은 2배가 되지만 전력소모와 발열은 4배가 되어서 전력소모 대비 성능비가 떨어져 불리해짐. 이건 현재 IC 설계제조 기술인 CMOS FET의 특성이라 방법이 없음. 그래서 클럭을 높이는 것도 한계가 있음. 되도록 낮은 클럭으로 성능을 높일 필요가 있음.

 

빅코어와 리틀코어의 차이는 여러가지가 있지만 그중에서 중요한게 out-of-order 수행임. 보통 리틀코어들은 명령어를 순서대도 하나씩 수행하지만 빅코어들은 명령어 순서를 재배치해서 한꺼번에 여러 명령어를 수행할 수 있게 함. 즉 클럭당 수행명령어수 IPC를 올릴 수 있음.  예측수행이나 분기예측 등 복잡한 기술과 결합하면 성능을  크게 올릴 수 있음. 그대신 회로가 엄청 복잡해지고 코어도 거대해지고 전력도 많이 들고 당연히 원가도 비싸지고 하여간에 문제가 많아짐. 이번에 인텔 칩에 보안 취약점 버그가 있네 어쩌네 하는 것도 이런 명령 수행을 예측하는 코어에서만 생기는 문제.

 

리틀코어들은 보통 그런 복잡한 짓을 하지 않기 땝문에  순서대로 만 in-order 수행하므로 심플하고 크기가 작고 전력소모도 적음. 그러니까 성능(즉 클럭당 수행명령어수 IPC) 빼고는 모든게 좋음. ARM의 A53 코어가 이런 이유로 대성공하였음. 심지어는 빅코어 역할도 고클럭 A53로 할 정도로 성능과 전력소모에서 뛰어남.  

 

중저가 AP가 는 플래그십 AP 에 비해 크기도 1/4 정도 밖에 되지않고 클럭도 낮아서 성능이  반이나 1/4 정도로 떨어지지만 원가나 칩 가격은 1/10~1/20 밖에 안되는 이유임. 또 클락이 낮아 전력 소모도 크게 줄어들면서도 성능은 전력소모가 줄어든거에 비해서는 성능이 크게 줄지않고 유지할 수 있다는 것도 매력임. 보통 스냅드래곤 820 급 AP의 가격이 70 달라 정도인데 이건 보통 플래그십 급 갤럭시 S 급 스마트폰의 생산원가가 불과 200 달러 초중반 정도이니 거의 1/4~ 1/3 이 AP 값으로 나가게 됨.  그러니 AP 값에서 절반 정도만 절약해도 35달러이고 그리고 일반적윽로 소비자가는 부품값의 3-4배 정도이니 부품가에서 35달러 절약하면 최종 소비자 가는 120-140달러가 떨어질 수 있음.

 

요즘 스맛폰 값이 급격히 높아지고 있는데 그러니 자연히 중급 기종들이 인기가 올라가게 될 것임. 특히 올해에는 스냅 드래곤 640 같은 중급 AP가 인기를 얻을 것임. 대부분의 플래그십이자 중급 AP들은 대부분 빅코어 4+ 리틀코어 4 의 옥타코어 구성인데 스냅 640은 빅코어 2 + 리틀코어 6 이라는 다소 특이한 구성을 가지고 있음.