라이젠 이후 드디어 인텔의 아성을 뒤엎는다 라면서 사람들이 기대를 많이 했습니다. 그리고 가성비 가성비 하면서 싱글코어는 살짝 밀리지만 멀티코어 성능이 좋다 라면서 말씀하시는 분들이 많더군요.
특히 그가격에 8코어에 16쓰레드니 120만원 넘어가는 인텔보다 좋다는 평가죠. AMD의 라이젠은 일종의 혜자CPU라는건데^^ 전 반은 인정하고 반은 인정하지 않는다고 보는거죠.
그 가성비의 아이러니에 대해서 짚겠습니다. 위에서 말했듯이 코어가 많으면 무조건 좋다? 이런식으로 생각하시는 분들이 많은데.... 컴퓨터의 작동원리는 기계처럼 엔진이 크고 기름을 더 많이 파워를 더 집어넣으면 비례적으로 성능이 올라가는게 아닙니다.
먼제 코어와 쓰레드의 차이점은 아시는지요. 모르시는 분들을 위해 설명드리자면 코어는 말그대로 CPU 코어 숫자 입니다. 원래는 CPU라고 하면 1개의 코어를 지칭하는거였습니다만 (사실 모든 동물은 머리가 1개죠 여러개일 이유가 없으니까요;;;) 점점 반도체 공정개선이 어려워지면서 마케팅 이유와 함께 듀얼코어 쿼드코어 하면서 늘어났죠. 그런데 성능은 듀얼코어라고 싱글코어보다 2배의 성능이 나오는게 아닙니다. 그런데도 제조사나 컴퓨터회사들은 물건을 잘팔기위해 마치 2배인거처럼 포장을 해왔죠. 뭐 여기까지는 어지간한 컴맹이 아니라면 아실테고..
쓰레드로 가서 설명을 드리자면 대략 CPU코어가 처리할수있는 명령서 라고 보시면 됩니다.(어디까지나 초보용 설명입니다.) 듀얼코어에 4개 쓰레드라면 2개의 CPU코어가 동시에 4가지 명령을 처리한다는거죠.
그런데 여기서 함정은 이 동시에 라는거죠. 엄밀히 말하면 컴퓨터는 동시에 쓰레드 처리를 못합니다.^^ 즉 멀티테스킹이란거는 실지로는 멀티테스킹이라는게 존재하는게 아니라 그렇게 보이게 처리를 한다는겁니다. 어떻게요? 쓰레드를 빠른속도로 순차적으로 처리해서 1->2->3->4-->1->2->3->4 의 순으로 처리하면 됩니다.
마치 분신술의 원리와 같죠^^ 무진장 빠르게 움직이면 잔상이 분신을 만들수있다^^;; 라는 허무맹랑한 이론이지만 컴퓨터는 이게 됩니다!!!!! ㅋㅋㅋ 증거라면 그게 되기때문에 옛날에 싱글코어 펜티엄 쓰던 시절에도 한쪽에 MP3 틀어놓고 워드작업하고 다운받고 할수있는거죠. 대신 그 사이사이 간격이 좁아서 가능합니다.
이 쓰레드를 처리하기위해 컴퓨터는 순번과 주소를 매기는데.. 그걸 오버헤드라고 부르는 섹션에 할당합니다. 그리고 이걸 얼마나 효율적으로 처리하느냐에따라 성능이 달라지죠. 그걸 최적화 또는 안정화 라고 부를수 있겠죠. 문제는 쓰레드들이 1개일때든 16개일때든 한정된 컴퓨터 메모리를 가지고 자리싸움을 하게된다는거죠. 그러니 8코어면 뭐합니까? 따라서 메모리 병목현상등때문에 무거운 프로그램을 돌려도 실질적으로 컴퓨터가 활용되는 부분은 얼마 안되는거죠
따라서 압축이나 데이터전송 렌더링등 무겁지만 명령어 자체는 심플하고 반복적이라면 컴퓨터는 멀티코어를 이용해 최대한 자원을 활용하여 (프로그램이 받쳐준다는 하에) 순차적으로 잘 처리할수있습니다.
그런데 게임처럼 불규칙하고 렌덤한 연산이 발생하는 경우는 일단 기본기가 얼마나 탄탄하냐에 따라 갈리지요. 그리고 모든 게임을 모든 버전에 모든 환경에 최적화 한다는건 불가능합니다.. 그러니 멀티코어든 뭐든 많다고 중요한게 아니라 그때그때 자원을 얼마나 잘 끌어다 쓰느냐가 갈리는거죠. 이용하지 못하면 무용지물이죠. 그래서 싱글코어 성능 - 사실상 지금은 같은 캐시메모리 양이라고 칠때 - 클럭속도 높은쪽이 유리하다는겁니다.
보시다 시피 i3 i5 i7의 구분점은 멀티코어나 쓰레드 구분이니... 같은 클럭을 비교하면 어떤게 가성비인지 아시겠죠? 또한 거기에 라이젠을 끼면 어떤 부분을 비교해 봐야하는지도요.