AMD 칩 설계의 핵심인 컨트롤 패브릭
AMD는 새로운 CPU 라이젠에서 칩의 각 유닛을 연결하는 인터커넥트 패브릭에 인피니티 패브릭을 채택했습니다. 인피니티 패브릭에는 데이터 전송을 수행하는 Infinity Scalable Data Fabric(SDF)와 제어 신호를 전달하는 Infinity Scalable Control Fabric(SCF)의 두가지가 있습니다. 데이터 전송인 인피니티 SDF가 혈관이라면 컨트롤을 맡은 인피니티 SCF는 신경에 해당합니다.
데이터 구조와 비교하면 눈에 띄지 않아도 AMD의 칩 설계에서 매우 중요한 것이 제어를 맡은 인피니티 SCF입니다. 인피니티 SCF는 전원 관리, 클럭 공급, 테스트 및 초기화, 보안 등 다양한 제어를 위한 신호를 전달합니다. 현재 AMD의 CPU와 GPU는 다수의 센서를 탑재하지만 이러한 각종 센서의 연결도 SCF가 수행합니다. AMD의 Mark Papermaster(SVP & CTO. AMD)는 다음과 같이 설명합니다.
"SCF는 클럭 공급 및 전원 관리 초기화 및 테스트, 보안 등 다양한 제어에 관한 통신을 공통합니다 .AMD가 개발하는 CPU, APU, GPU의 모든 제품에 걸쳐 같은 방법과 표준화한 절차로 각 IP 장치를 연동합니다. 라이젠은 칩 전체에 수천개의 센서를 탑재하는데 이러한 센서를 연결하는 것도 인피니티 패브릭 덕분에 쉬워졌습니다.
이것이 2011년의 AMD 프로세서 개발과 크게 다른 점입니다. 2011년에 우리는 각 SoC마다 각각의 독특한 버스를 개발했습니다. 예를 들어 Onion(APU에서 CPU와 GPU의 상호 연결)나 Garlic(APU에서 GPU와 메모리 컨트롤러의 상호 연결)입니다. 이 버스는 독특한 방법론이며 자체적인 제어를 수행하기에 IP를 확장하기가 매우 어려웠습니다."
인피니티 패브릭의 개념
제어 신호를 전달하는 Infinity Scalable Control Fabric(SCF)
기존 AMD는 칩마다 다른 방법으로 제어 시스템을 설계했습니다. 인피니티 패브릭을 도입하면서 2017년 이후 하나의 방법으로 일관된 설계가 가능해졌습니다.
AMD는 지금까지 APU에서 Onion, Onion + Garlic, Chive(Xbox One 버스)처럼 다른 패브릭을 만들어 왔습니다. SoC마다 다르기 설계에 그만큼 공이 들어갑니다. 그러나 인피니티 패브릭에서 제어 방법과 프로토콜을 IP 사이나 다른 칩끼리 공통화했습니다. 이를 통해 공통된 메소드 및 프로토콜, 더욱 일반화된 컨트롤 블럭 설계로 제어 네트워크의 구축이 쉬워졌습니다.
"제어 구조는 SoC에서 IP군을 모두 연결힙니다. 모든 IP에 같은 컨트롤 블럭이 포함됩니다. CPU 코어와 GPU 코어뿐만 아니라 멀티미디어, 디스플레이 컨트롤러, 비디오 컨트롤러, 메모리, I/O 등 모든 IP가 대상입니다. 각 IP에 클럭 공급, 전원 관리, 테스트 및 초기화, 보안까지 모두 공통된 제어 방식과 동일한 방법을 제공합니다. 그 결과 복잡한 SoC 설계가 쉬워지고 설계 시간도 줄어들며 엔지니어링의 노력도 덜 들어갑니다."
젠의 클럭 공급 네트워크
많은 요소를 통합하는 인피니티 패브릭
라이젠에 방대한 센서를 탑재할 수 있었던 이유. 인피니티 패브릭
라이진에 장착 된 센서는 수천개에 달합니다. 4개 CPU 코어의 집합체인 코어 컴플렉스(CCX)에 1300 개 이상의 크리티컬 패스 모니터, 48개의 전원 공급 장치 모니터, 20줄의 다이오드, 9개의 루프 탐지기를 탑재했습니다. 라이젠 7은 2개의 CCX를 탑재하면서 CPU 코어에만 2700개 이상의 센서를 탑재한 셈입니다.
젠 아키텍처의 CCX 센서
방대한 센서를 탑재한 라이젠
젠의 CCX 레이아웃
이러한 센서들을 제어하기 위한 상호 연결을 인피니티 패브릭의 SCF가 담당합니다. 반대로 말하면 인피니티 패브릭이 없으면 라이젠에 이만큼의 센서를 탑재하기란 어려웠다고 합니다.
"예를 들어 SCF가 없는 상황에서 라이젠을 설계했다고 해봅시다. 저는 엔지니어에게 '수천개의 센서를 넣고 이를 마이크로 컨트롤러에 연결해라'라고 요구하게 됩니다. 엔지니어는 '그걸 서로 연결하고 제어하려면 센서를 위한 메쉬 네트워크를 설계해야 하고, 센서 하나하나의 테스트와 센서 네트워크 전체 테스트의 구조도 설계해야 한다'며 놀랄 것입니다. 그리고 이게 2011년의 AMD였습니다. 2011년에 위리가 했던 방식으로 설계한다면 독특한 사이드 밴드가 수천개의 센서를 가로지르며 신호를 관리해야 합니다. 매우 복잡하고 힘든 작업이죠.
반면 인피니티 패브릭이 신중하게 설계된 버스 전원 관리, 보안, 테스트 및 초기화 등 모든 신호를 전달합니다. 지금대로 독특한 사이드 밴드 신호가 필요하지 않습니다. 따라서 수천개의 센서를 넣어도 SoC를 쉽게 설계할 수 있습니다. 인피니티 패브릭이 없으면 이만큼 많은 센서를 탑재하기 어려울 것입니다. 즉 인피니티 패브릭에 의해 효율적으로 센서를 연결할 수 있게 됐으며 더 많은 센서를 칩에 배치할 수 있게 됐습니다. 결과적으로 더 세밀하게 칩을 제어 할 수 있게 됐습니다. 라이젠의 치밀한 전력 제어와 클럭 부스트는 인피니티 패브릭에 의해 실현된 것입니다."
센서 기술 덕분에 클럭 향상이 가능
PS5 세대의 커스텀 APU 디자인도 쉬워짐
인피니티 패브릭에서 SCF의 사용은 AMD의 칩 설계에 매우 중요했습니다. AMD의 제한된 개발 예산 범위에서 CPU, APU, GPU를 함께 설계하기가 매우 어려워졌기 때문입니다. AMD는 여러 다이를 원활하게 내놓기 위해서 설계 효율을 높이고 개발 비용을 억제 할 필요가 있었습니다.
"왜 인피니티 패브릭에 의한 제어가 필요할까요? 그것은 개발 효율성을 높이기 위해서입니다. 인피니티 패브릭을 쓰면 새로운 칩을 시장에 출시하는데 걸리는 시간과 노력이 줄어들게 됩니다.
솔직히 말씀드리면 우리의 개발 예산은 경쟁자와 비교했을 때 상당히 적습니다. 사실 2011년의 AMD보다도 훨씬 적습니다. 그래서 주변에선 AMD에 의문을 가지고 있습니다. 'AMD가 여러 SoC를 개발한다니 믿을 수 없다. 그만큼 투자하진 못한다'라고 생각하는 것이죠.
실제로 2011년의 방법대로 여러 SoC를 동시에 개발하기란 어렵습니다. 그래서 2012년에 우리는 새로운 패브릭을 만들기로 결정했습니다. 그리고 지금 AMD는 2017년부터 인피니티 패브릭을 이용한 새로운 SoC 제품군을 내놓고 있습니다. 인피니티 패브릭으로 높은 개발 효율성과 더 나은 품질을 제공하기에 SoC의 개발도 쉬워집니다."
AMD의 개발 예산이 줄어들면서 28nm 공정 이후의 CPU 제품을 설계하기 힘들어졌습니다. 그러나 이번의 라이젠이 CPU와 APU를 모두 제공할 수 있게 됐습니다. 그 배경에는 인피니티 패브릭에 의한 설계 비용 절감이 있습니다.
인피니티 SCF의 도입은 또한 SoC의 커스텀 설계에도 효율적입니다. AMD는 PS4나 Xbox One의 APU처럼 칩의 커스텀 설계 서비스도 제공하고 있습니다. PS4와 Xbox One은 AMD의 APU와는 다른 커스텀 버스를 도입했습니다. 디자인이 그만큼 복잡해진건 당연합니다. 그러나 앞으로 PS5와 스콜피오를 비롯한 차세대 콘솔 APU에서 새로운 AMD APU를 쓴다면, 그 SoC는 인피니티 패브릭을 사용해 커스터마이징해서 설계 효율이 높아질 것입니다.
"앞으로 커스텀 SoC 고객에게 다른 수의 CPU 나 다른 규모의 GPU의 조합이나 다른 IP 블럭의 통합, 혹은 다른 회사의 IP를 탑재해도 인피니티 패브릭으로 더 쉽게 구현할 수 있게 됩니다. 이것이 인피니티 패브릭의 장점입니다."
다른 회사의 IP 통합에 대한 자세한 내용은 알 수 없으나, AMD의 제어 구조가 명확히 규정됐다면 다른 회사의 패브릭에 맞춘 IP 통합도 비교적 쉬울 것으로 예상됩니다.
인피니티 패브릭이 앞으로 AMD 모든 제품의 기반이 될 것
인피니티 패브릭에 의한 다이의 오버헤드는 허용 범위 안
라이젠 이후 AMD의 칩은 핵심인 마이크로 컨트롤러, 각 센서와 제어 블럭이 SCF로 연결됩니다. 특히 전원 관리 마이크로 컨트롤러에 의한 제어가 매우 복잡합니다. 그러나 마이크로 컨트롤러 자체가 인피니티 패브릭에 의해 크게 달라지진 않았습니다.
"원래 전원 관리 로드맵에서는 특정 시점에 요구하는 제어에 최적화된 마이크로 컨트롤러를 탑재하기로 했었습니다. 인피니티 패브릭을 채용한 후에도 마이크로 컨트롤러 자신과 전원 관리 알고리즘의 확장은 원래의 로드맵에서 바꾸지 않았습니다. 인피니티 패브릭에서 달라진 건 센서와 마이크로 컨트롤러를 연결하는 방법입니다. 각 IP에 걸쳐 일관된 전원 관리 서브 유닛을 분산 배치하고 그것을 일반화한 버스를 통해 연결합니다."
전원 관리 기능은 당초 예정대로 구현한 것이며 제어하는 마이크로 컨트롤러도 계획대로입니다. 인피니티 패브릭에 의해 전원 관리 기능 자체가 확장된 것은 아닙니다. 덧붙여서 이번 라이젠은 온다이 MIM 캐패시터를 사용한 고급 전력 제어가 구현됐습니다.
고도로 설계된 버스는 다이 면적의 증가와 대기 시간의 증대를 초래합니다. 인피니티 패브릭을 사용한 부작용은 어떨까요. 오버헤드는 있지만 허용 범위 안이라고 설명합니다.
"원래 엔지니어들은 인피니티 패브릭 때문에 오버 헤드가 커지는 건 아닌가 걱정했습니다. 실제로 어느 정도의 오버 헤드가 있는 건 사실입니다. 허나 허용 범위 안에 들어갑니다. 영역 뿐만 아니라 대기 시간에서도 오버헤드가 발생할 수 있었습니다. 인터페이스와 버스 때문에 대기 시간이 늘어나는 경우가 많습니다. 그러나 인피니티 패브릭의 경우 대기 시간이 늘어나진 않고 오히려 줄었습니다. 디자인을 매우 잘 했기 때문이죠."
AMD는 2012년부터 5년 동안 패브릭을 개선했습니다. 라이젠에선 젠 CPU 코어 마이크로 아키텍처를 주목하고 있으나 그 기반이 되는 인피니티 패브릭 역시 중요한 혁신입니다. 인피니티 패브릭에선 광대역으로 확장 가능한 데이터 구조가 중요해 보이지만, 사실은 컨트롤 패브릭이야말로 칩 디자인의 핵심입니다.
AMD CPU, APU, GPU에 모두 쓰일 인피니티 패브릭
라이젠(서밋 릿지)의 SoC 구성. 인피니티 패브릭이 유닛 사이를 연결합니다.