벤치리뷰·뉴스·정보/아키텍처·정보분석

[분석정보] 수수께끼가 많은 K10 아키텍처의 방향성

tware 2006. 2. 2. 21:21

 

향후 2 ~ 3 세대에 걸쳐 CPU 코어 수를 배로

 

 

AMD의 혁신 우선 순위 목록


 AMD의 차세대 CPU 아키텍처 "K9"는 취소되고 "K10"도 처음 예상보다 뒤로 늦어졌다. CPU 코어의 향상되는 내용은 AM​​D가 2005년 11월 Analyst Day에서 보인, 2008년까지 혁신 우선 순위 목록 (개발 중요도 목록)에도 나오지 않는 상황이다. 따라서 AMD의 CPU 코어 아키텍처의 동향은 이해하기 어렵다. 그만큼 아직 K10이 흔들리고 있을지도 모른다.

 현재 CPU 업계의 기술 트렌드는 몇 가지 중요한 점이있다.

 가장 논란이 되고 있는 것은, 멀티 스레드 성능을 중시하는가, 단일 스레드 성능을 중시 하는가? 멀티 스레드 성능을 중시한다면, 코어별로 복잡하지 않고 다이 (반도체 본체) 면적을 작게해 소비 전력을 줄인 것이 좋다. 코어를 더 복잡하거나 고주파하면 다이 및 소비 전력이 커져, 멀티코어 화의 속도가 둔화되지만, 싱글 스레드 성능은 오른다. AMD는 어떤 전략을 취하려 하는지?

 우선, AMD는 CPU의 싱글 코어 성능 향상이 둔화된 것은 명확하게 인정하고 있다. Dirk Meyer (더크 메이어) 씨 (President & COO, Microprocessor ​​Solutions Sector)가 지난해 6월 "VIA Technology Forum (VTF)"의 기조 연설에서 사용한 슬라이드에서는 AMD는 K9 이후는 동작 주파수도 올려 CPU 코어 성능을 올리려 했던 흔적이있다. 하지만 지금은 AMD는 2003년 이전에 생각했던 페이스로 싱글 코어 / 싱글 스레드 성능은 올릴 생각이 없다.

 

VTF에 사용된 슬라이드

 

 한편, 멀티 코어 화에 대해서는 AMD는 지난 2년 몇 차례의 컨퍼런스에서 비전을 보여주고 있다.

 "멀티 코어는 2,4,8,16 (코어)까지를 짐작할 수있다. 업계는 65nm 공정을 시작하고 있으며, 45nm 및 32nm 기술에 대해서도 목표가 서있다. 따라서 적어도 2 ~ 3 (공정) 기술 세대에 걸쳐 프로세서 코어를 배로 늘리게 되는 것도 쉽게 예측할 수 있다 "고 Meyer 씨는 VTF로 말하고 있었다. 즉, 3 세대에 걸쳐 코어를 수축 & 배가해 나감으로써 기술상으로 16 코어까지 쉽게 증가하는 눈대중이 있다고 말하고 있는 것이다. AMD도 비중이 멀티 코어화에 있는 것은 틀림이 없다. 이 부분만 보면 AMD가 CPU 코어의 성능 향상은 정지시키고, 코어수의 증가와 코어 이외의 부분의 확장에만 주력하고 있는 것으로 보인다.

 

 

멀티 스레드와 싱글 스레드의 균형

 

 

스레드 병렬성의 유효함

 


 그러나 자세히 보면 그렇지 않다는 것을 알 수있다. 먼저 어디까지 스레드 병렬성을 사용할 수 있는지에 대해서는 AMD는 항상 의문을 제기하고 있다. AMD가 2004년 11월의 Analyst Day에서 당시의 CTO였던 Fred Weber (프레드 웨버) 씨가 사용, VTF 에서는 Meyer 씨도 보여준 슬라이드를 보자.

 PC는 1개의 볼을 1개 방망이로 치는 피칭 방식, 서버 및 워크 스테이션은 여러 라인을 동시에 갈아엎는 경운기 방식, HPC (High Performance Computing)은 다수의 개미가 동시에 작동 콜로니 방식이라고 비유했다. 즉, 현재 설치된 기반 소프트웨어에서, PC는 주로 1개의 코어에서 서버 및 워크 스테이션은 2 ~ 8 코어 정도에서만 혜택을 받을 수 있다고 설명하고 있다. 참고로 AMD는 특정 코드를 가속화하는 이기종 멀티 코어의 구상도 가지고 있지만, 여기에서는 단순화해 멀티 코어로 생각한다.

 포인트는 언제가 되면 PC 수준에서도 TLP가 (쓰레드 수준 병렬화) 더 효과가 있게 될지이지만, AMD는 이에 대해 신중한 견해를 하고 있다. 2005년 6월의 Analyst Day에서 AMD의 Chuck Moore 씨 (Senior AMD Fellow)가 멀티 스레딩 된 병렬 응용 프로그램을 "컴퓨터 과학의 성배 (꽤 보기 힘든 탐구의 목표)"라고 평가했다.

 여기가 병목인 것은 누구의 눈에도 분명하고, 어떻게 하면 병렬 응용프로그램을 쉽게 개발할 수 있게 될지가 멀티 코어 CPU에서의 TLP의 실효율 향상의 큰 열쇠가 된다. 가장 큰 문제는 아직 대답의 목표조차 서 있지 않은것. 여기에서 낙관적인 비전을 보여주지 않는 부분에 AMD의 자세가 잘 나타나 있다. 이것은 멀티 스레드에 낙관적인 전망을 말하는 간부가 많은 Intel과 대조적이다 (그러나 Intel은 그렇게 말하면서도 CPU 코어의 성능 향상은 계속).

 그리고 6월의 Analyst Day에서 AMD는 "고객은 장기적으로 싱글 스레드 성능의 향상에도 가치 발견을 계속 할 것"이라고 지적했다. 적절한 속도로의 전환을 이해하는 것이 중요 하다고 결론, 시장마다 서로 다른 CPU 코어 설계를 이용해 가는 것이라고 설명하고있다. 즉, 멀티코어화를 촉진하지만 고성능 코어의 개발도 계속하고 다른 종류의 코어를 병행해 제공 할 수도 있는 것이다.

 

 

 

 

 

 

병렬화에 대한 AMD의 견해

 

 멀티 스레딩에 대한 AMD의 이 자세는 과거 2년과 거의 일치하고 있다. 이러한 AMD의 발언을 보면, 현재 개발중인 K10은 싱글 코어 / 싱글 스레드 성능에 대해서도 상당한 향상을 목표로 하는 것은 우선 틀림이 없다. 즉, 공정 미세화로 증가 트랜지스터는 코어 수를 늘리는데 사용뿐 아니라 코어를 더 크게 하는 방향으로 사용하는 것이다.

 


K10 아키텍처에 무엇이 들어 있지 않은가?

 현재 K10 아키텍처에 무엇이 포함되어 있는지는 명확하지 않다. 그러나 K10 무엇이 사용되지 않는지 만큼은 어느 정도 알고있다. 그것은 잠시 AMD의 설계자였던 Andy Glew 씨의 Web상의 이력 덕분이다. Glew 씨는 이전 K10를 위해 제안했지만, AMD 거부되어 버린 기술을 나열하고 있었다. Glew 씨가 제안한 것은 매우 뾰족한 아키텍처다.

 제안은 CPU 멀티 스레드 & 멀티 클러스터 구성하고 마이크로 아키텍처의 모든 레벨에서 멀티 레벨화, 더욱 다양한 멀티 스레딩 기술을 구현하는 것이었던 것 같다. 예를 들어, 스케줄러나 인스트럭션 윈도우, 스토어 버퍼, 레지스터 파일, 분기 예측 등을 멀티 레벨로 한다. 여기에 더해서, 투기 멀티 스레딩 (SpMT : Speculative Multithreading), 비 명시적 멀티 스레딩 (IMT : Implicit Multithreading), 스킵어헤드 멀티 스레딩 (SkMT : Skipahead Multithreading) 같은 기법을 들여온다.

 Glew 씨 뿐만 아니라 전 Intel의 아키텍트 (P6, Willamette)였던 Robert P. Colwell 씨는 동료였던 Glew 씨에 대해 "아이디어의 원천"이라고 표현하고 있다. 이 제안 목록을 보면 그 이유를 잘 알 수있다. Glew 씨에 대해 언급하는 것은 Colwell 씨가 최근 발간한 저서 'The Pentium Chronicles : The People, Passion, and Politics Behind Intel 's Landmark Chips "(2005/12, Wiley-IEEE Computer Society Press) 안에서. 5 명으로 구성된 P6 (Pentium Pro) 아키텍트 팀은 Colwell 씨가 Senior Engineer, Glew 씨가 Junio​​r Engineer로 아이디어를 내놓은 담당자 였다고 한다.

 Glew 씨의 제안에 익숙하지 않은 기술도 있지만, Intel과 기타 CPU 연구자의 논문 등에서 유사한 것으로 보이는 기술도 있다. 예를 들어, 투기 멀티 스레딩 및 자동 스레드 생성은 Intel이 수년 전부터 활발히 제창 연구자가 논문도 내고있다. 투기 멀티 스레딩은 단일 스레드 프로그램을 멀티 스레드로 분해하여 투기적으로 실행하여 병렬화 하자는 접근이다. 스케줄링의 2 계층의 아이디어는 Intel이 연구하고 있는 "Power AwaReness thRough selective dynamically Optimized Traces (PARROT) "아키텍처에서도 언급되고 있다. PARROT 예는 재 예약을 통해 더욱 명령어 수준 병렬화를 높이는 방법이다.

 요점은, 아직 상용 프로세서에는 도입되지 않고, 연구 수준에서 알려진 신기술을 팍팍 넣은 CPU 아키텍처를 제안한 셈이다. 이것은 그야말로 Intel의 P6 / NetBurst 팀 출신 다운 제안으로 보인다.

 

 

K10를 위한 시뮬레이션 툴

 AMD는 이러한 기술을 K10으로 도입하지 않는다고 볼 수 있지만, 그 이유는 모른다. 가능성으로 생각하기 쉬운것은 AMD가 거기까지 급진적 접근은 바라지 않는 것이다. 스케쥴링이나 멀티 스레딩을 어느정도 이상으로 복잡해지는 것은 이득이 아니라고 생각했을지도 모른다.

 코어가 비대화 되면 멀티코어화의 페이스가 떨어지고 코어의 복잡화 되면 개발 기간이 길어지고 고클럭화도 어려워진다. 이렇게 생각하면 AMD가 K10에 과도한 아이디어를 포함시키는 것을 피하는 것은 납득할 수있다. 아마도 검증도 어느 정도 수행 다이 크기와 전력 사이의 균형도 고려했을 것이다.

 실제로 Glew 씨는 투기 멀티 스레딩의 시뮬레이션에 대해서도 언급했다. 또한 Glew 씨는 AMD 재적시 시뮬레이터 체계의 정의에 협력한 것 같다. 이것은 인스트럭션과 마이크로 인스트럭션 세트의 의미론을 마이크로 아키텍처의 디테일에서 명확하게 구분하는 방법론 이라고 되어​​ 있었다.

 최신 CPU는 아키텍처를 검증하기 위한 시뮬레이터가 매우 중요하다. The Pentium Chronicles에 따르면, Intel의 P6 개발시에는 먼저 도구를 만드는 곳부터 개발을 시작했다. P6는 Colwell 씨 등이 "DFA (Data Flow Analyzer) '라고 부르는 도구를 개발하고 데이터 흐름을 시뮬레이션하여 병렬성을 검증하고 개발을 성공시켰다. 덧붙여서, AMD도 10년 정도 전에 AMD의 아키텍트, 당시 이사였던 Mike Johnson 씨 (저서 "슈퍼 스칼라 프로세서"에서도 유명)가 방일했을 때 시뮬레이터 도구를 공개한 바 있다.

 Glew 씨는 AMD 시대의 경력 속에서 Intel의 "Willy"시뮬레이터를 초과하는 기법에 대해서도 언급하고 있다. The Pentium Chronicles에 따르면 Willy는 Intel의 Willamette (Pentium 4) 팀의 Mike Haretel 씨가 개발한 시뮬레이터로 Willamette 개발 도구로 사용되었다고한다. 즉, K10 개발 요점이 되는 시뮬레이터 기반 기술에 Glew 씨는 경험을 반영한 것으로 보인다.

 그러면 급진적인 아키텍처는 채용하지 않은 K10은 어떤 접근 방식을 취하는 것이다. 싱글 코어 성능 향상을 바란다면 나름대로 상당한 확장을 행하는 것이다. 적어도 CPU 코어의 확장을 소폭으로 멈춘 K7 → K8 보다 큰 단계가 될 것이다.

 

2006년 2월 2일 기사 입니다.

 

 

[분석정보] K8 이후 크게 바뀐 AMD의 CPU 개발주기

 

 

[정보분석] 암달의 법칙(Amdahl's law)을 둘러싼 Intel과 AMD의 싸움

 

 

[정보분석](암달의 법칙) 2010년대 100 코어 CPU 시대를 향해서 달리는 CPU 제조사

 

 

[아키텍처] 전력 효율성에 초점을 둔 인텔 연구개발 (PARROT)

 

 

[분석정보] 심플 코어로 향하는 차세대 CPU 아키텍처

 

 

[아키텍처] 폴락의 법칙에 찢어지고 취소된 테자스(Tejas)

 

 

[분석정보] NVIDIA의 ARM 코어 Denver 등이 Hot Chips에서 발표

 

 

[분석정보] 드디어 베일을 벗은 Transmeta의 비밀 병기 Efficeon

 

 

[분석정보] Bulldozer가 후퇴한 AMD의 로드맵의 의미