Skip to content

기글하드웨어기글하드웨어

컴퓨터 / 하드웨어 : 컴퓨터와 하드웨어, 주변기기에 관련된 이야기, 소식, 테스트, 정보를 올리는 게시판입니다.

profile
라임베어 https://gigglehd.com/gg/622581
성공한 사람은 포장되어 일반인을 망친다.
조회 수 3195 댓글 11
Extra Form
참고/링크 http://pc.watch.impress.co.jp/docs/colum...36983.html

뉴럴 네트워크를 CPU코어에 내장한 ZEN

AMD는 내년 ( 2017년 ) 1분기를 발매를 예정하고 있는 ZEN 마이크로 아키텍쳐 CPU의 출시에 힘을 가하고 있습니다. 첫번째 탄환이 되는 8코어의 고성능 CPU인 Summit Ridge는 새로운 브랜드인 Ryzen으로 투입됩니다. AMD에 있어서 6년 만의 CPU 마이크로 아키텍처의 대 쇄신입니다. 그리고 싱글 스레드의 성능이 Intel CPU에 대항할 수 있는 코어이며, AMD에 있어서는 오랜만에 강력한 무기가 될 것으로 보입니다.

 

1-11.jpg

2-5.jpg

 

ZEN 마이크로 아키텍처는 Intel도 채용한 내부 명령 ( 마이크로 Ops : Micro-OPs )의 캐쉬인 'OP 캐쉬'등 고성능화와 저전력화에 큰 효과가 있는 기술을 도입했습니다. 또한 Intel과 동일하게 SMT ( Simultaneous Multithreading )을 도입합니다. 살짝 들여다 보면 AMD가 Intel의 아키텍처의 장점을 도입한 것으로 보입니다. 그러나 ZEN은 그 기술을 프롬 스크래치의 클린한 아키텍처를 실현한 이점이 있습니다.

 

3-3.jpg

▲AMD의 ZEN 마이크로 아키텍처의 블록 다이어 그램
PDF판은 여기를 클릭

 

4-3.jpg

▲AMD의 CPU마이크로 아키텍쳐의 변천와 개요
PDF판은 여기를 클릭

 

AMD는 단계적으로 ZEN 마이크로 아키텍처의 세부 사항을 공개하고 있습니다. 최근 AMD가 공개한 마이크로 아키텍처의 큰 특징은 '뉴럴 네트워크 예측 유닛'입니다. AMD는 ZEN의 분기예측 ( Branch Prediction )은 뉴럴 네트워크 형태의 기술이 사용되고 있으며, 실시간으로 분기 패턴을 학습하여 정확도를 향상 시킬 수 있다고 설명하고 있습니다.

 

5-3.jpg

▲ZEN 마이크로 아키텍쳐는 뉴럴 네트워크 분기 예상을 채용

 

6.jpg

▲ZEN 마이크로 아키텍쳐의 신성능

 

현재 CPU는 파이프 라인화 되어 있으며, 프로그램의 연속된 명령을 파이프 라인의 위에서 점점 실행합니다. 문제는 조건 분기로, 조건이 판정된 분기의 명령으로 분기하는지를 결정하는 단계에서 이미 10주기 혹은 그 이상의 명령이 파이프 라인에 흐르고 있습니다. 분기하지 않을 것이라고 예상하고, 분기 명령의 후속 명령을 실행한 경우에는 파이프 라인 위의 명령을 전부 플래시 하여, 분기처의 명령을 끌어들이는 것 부터 시작해야합니다. 그 동안 CPU 파이프 라인 스톨 ( 정지 ) 하여 손실이 발생합니다. 손실은 CPU를 표류하여 성능을 떨어 뜨릴뿐 아니라 불필요한 동작을 통해 소비 전력도 증가하게 됩니다.

 

그래서 조건 분기 명령으로 어느 분기하는 지를 예측하는 것으로, 분기 손실을 줄일 분기 예측이 필요합니다. 분기 방향을 예측하여 예측한 앞의 명령 스트림을 실행하는 '투기 실행 ( Speculative Execution )'을 실시합니다. CPU의 기사에서는 아웃 오브 오더 ( Out-of-Order ) 실행과 투기 실행이 혼동될 수 있지만, 두 기술은 엄연히 다릅니다.

 

분기 예측의 정확도가 높으면, CPU의 파이프 라인은 원활히 작동을 계속할 수 있습니다. 그만큼 성능이 향상되며, 소비 전력은 떨어질 것입니다. 전력 효율이 생명이라고 하는 현재 CPU에 있어서, 분기 예측은 가장 중요한 기술입니다. CPU의 설계에서 각 회사가 가장 격전을 벌이고 있는 부분이 이 분기 예측이라고 해도 좋습니다. x86 CPU의 경우에는 명령 디코드 및 디코딩 된 명령어 캐시도 마찬가지로 중요하며, ZEN에서는 이 두가지 개선에 가장 특징이 있습니다.

 

PlayStation 4(PS4)도 채용한 뉴럴 네트워크 분기 예측

ZEN 마이크로 아키텍처에서는 분기 명령 예측 알고리즘에 "뉴럴 네트워크" 접근 방식을 사용하고 있습니다. 그러나 ZEN의 뉴럴 네트워크 분기 예측은 최근 뉴럴 네트워크 붐에 의하여 구현된 것은 아닙니다. 뉴럴 네트워크 기반의 분기 예측 자체는 새로운 기술이 아니기 때문입니다. 특히나 AMD 에게는...

 

왜냐하면 이미 AMD는 Jaguar계열의 CPU 코어에서 뉴럴 네트워크 기반 ( 퍼셉트론 )의 분기 예측을 채용하고 있기 때문입니다. Jaguar는 Intel의 Atom에 해당하는 전력 CPU코어로 저전력 APU ( Acclerated Processing Unit ) 와 임베디드 게임기에 채용되고 있습니다. 가장 쉽게 접할 수 있는 것을 말하면, Jaguar 코어인 PlayStation 4 ( PS4 )는 뉴럴 네트워크 분기 예측을 사용하고 있습니다.

 

 

7-2.jpg

▲PlayStation 4(PS4)의 APU에 사용된 Jaguar CPU코어의 마이크로 아키텍쳐
PDF판은 여기를 클릭

 

ZEN의 뉴럴 네트워크 분기 예측은 회사의 저전력 CPU 코어에서 가져온 기술이라는 것 입니다. PS4는 ZEN의 분기 예측을 선점하고 있다고 할 수 있습니다. 그러나 AMD의 Bulldozer계열의 CPU 코어의 분기 예측 기술이 모두 공개된 것은 아닙니다. 따라서 Piledriver 세대의 뉴럴 네트워크 분기 예측이 도입될 가능성도 있습니다. ( 이러한 보도도 있습니다. )

 

CPU의 분기 예측 기술에 대해 괴로운 이유는 CPU 메이커가 숨기고 싶어하기 때문입니다. 분기 예측의 일반적인 테이블의 크기등은 밝혔지만 구체적인 알고리즘이 된다면 입을 다물게 됩니다. 분기 예측 알고리즘은 CPU의 마이크로 아키텍처의 차별화의 핵심이며, 타사에 알리고 싶지 않기 때문입니다.

 

Jaguar의 뉴럴 네트워크 분기 전망에 대해서도 학회 등에서 Jaguar의 기술 발표 때 공개되지 않았습니다.그러나 AMD의 'APU 101 : All about AMD Fusion Accelerated Processing Units' 등의 문서는 구석에 Series C와 Series E의 APU에는 뉴럴 네트워크 분기 예측 ( Neural Net logic Branch Predictor )가 포함되거 있다고 기제되어 있습니다. 공식 발표는 하지 않았지만, 살짝 유출된 느낌으로 실로 안타깝습니다.

 

Samsung의 Galaxy S7도 뉴럴 네트워크 분기 예측을 채용

분기 예측에서는 뉴럴 네트워크라고 하더라도 깊은 '콘 보류 셔널 뉴럴 네트워크'를 사용하는 것은 아닙니다. 가장 심플한 '퍼셉트론 ( Perceptron )'을 사용합니다. 1999년에 원형이 되는 아이디어가 논문 발표되어 있으며, 2001년의 논문인 「Dynamic branch prediction with perceptrons」(Daniel A. Jimenez and Calvin Lin, the 7th International Symposium on High Performance Computer Architecture (HPCA-7), January 2001)로 널리 알려지게 되었습니다. 그 후에도 연구와 개선이 진행되고 있으며, 주목을 받고 있는 예측 기법의 한가지 입니다.

 

실제 프로세서에서는 AMD 이외에도 여러 제품에서 뉴럴 네트워크 예측 기술이 채용되고 있습니다. AMD의 저전력 CPU 코어인 Jaguar와 Bobcat, Oracle의 Oracle SPARC T4의 S3코어, 그리고 Samsung의 Exynos M1 Processor입니다. M1은 Samsung의 SoC ( System on a chip )인 Exynos 8890에도 탑재되고 있어, 삼성의 Galaxy S7에 쓰이고 있습니다.

 

덧붙여서 Bobcat과 M1의 메인 설계자는 Brad Burgess씨 ( 현 VP, Chief CPI Architect Samsung Austin R&D Center ( SARC ))입니다. 때문에 분기 예측이 비슷할 수 밖에 없습니다. 또한 Burgess 씨는 이전에 Intel의 취소된 CPU인 Tejas의 설계자기이도 하며, 그전에는 Motorola PowerPC의 설계자였습니다.

 

뉴럴 네트워크 분기 예측은 위에서 써낸 CPU 이외에도 채용되고 있을 가능성이 있습니다. 다만 분기 예측에 대해서는 각 회사들의 비밀 베일에 감싸여 이해하기 어렵습니다. Intel이 협력하고 있는 논문도 여러 나오고 있어 Intel도 열심히 연구하고 있다는 것을 알 수 있습니다.

 

8.jpg

▲뉴럴 네트워크 분기 예측을 탑재한 Samsung의 M1은 이전 AMD의 설계자가 개발

9.jpg

▲뉴럴 네트워크 분기 예측의 개발자인 Daniel A. Jimenez氏(Department of Computer Science and Engineering, Texas A&M University)의 「Championship Branch Prediction 2016」에서 슬라이드(「Multiperspective Perceptron Predictor」)에는 동일한 계열의 아이디어를 채용한 CPU의 일람이 있음

패턴 인식형 기계 학습 문제인 조건 분기 예측

어째서 분기 예측 뉴럴 네트워크 인가? 그것은 원리적으로 궁합이 좋기 때문입니다. 분기 예측 알고리즘은 가장 기본적인 2비트 바이 모델 ( Bitmodel )분기 예측의 경우 아래와 같은 스테이지에서 예측을 실행합니다.

 

・높은 가능성으로 분기하는 「Strongly taken」
・낮은 가능성으로 분기하는 「Weakly taken」
・낮은 가능성으로 분기하지 않는 「Weakly not taken」
・높은 가능성으로 분기하지 않는「Strongly not taken」

 

4값이 스테이스 머신에서 분기가 성립한다면, 분기 예측 가능성이 높은 스테이지로 전이합니다. 이 기본 바이 모델을 보면 뉴럴 네트워크 ( NN )의 가중치 변화에 따라 예측을 적용할 수 있을 것 같은 느낌이 옵니다. 실제 분기 예측 알고리즘에는 보다 다양한 패턴에 대응하는 2단계 맞춤형 분기 예측, 그리고 거기에서 발전한 gshare와 다양한 예측 기술이 발전, 결합되어 있습니다. 바이 모델 만큼 단순하지 않습니다.

 

그러나 분기 예측이라는 것의 근원은 전형적인 기계 학습 문제 ( Machine Learning Problem )라고 볼 수 있습니다. 분기 예측의 목적은 프로그램 스트림에서 조건 분기 명령이 분기하는 패턴을 분석하는 것이 때문입니다. 뉴럴 네트워크 예측의 첫번째 논문인 

「Towards a High Performance Neural Branch Predictor」(Vintan, L. and Iridon,M., IJCNN, 1999)에서도, 분기 예측은 패턴 인식 문제의 하나라고 주장하고 있습니다. 그렇다면 뉴럴 네트워크 형 학습 알고리즘 분기의 패턴을 인식하고 분류 할 수 있으면, 예측 정확성이 더 높아진다는 이야기입니다. 간단히 말하면 뉴럴 네트워크에 의해 사진 속에서 패턴을 추출하고 인식할 수 있다면, 분기 명령의 분기 패턴도 추출하고 예측할 수 있다는 것 입니다.

 

10-6.jpg

▲뉴럴 네트워크 분기 예측 개발자인 Jimenez씨는 분기예측이 머신러닝의 문제라고 지적. 「Perceptrons for Dummies」(Daniel A. Jimenez, Championship Branch Prediction,2004)

하드웨어 리소스가 커지면 예측 정밀도가 오른다

뉴럴 네트워크 예측의 기본적인 아이디어는 1층 퍼셉트론 ( Perceptron )에서 분기 패턴을 학습하는 것 입니다. 가장 기본적인 방법은 분기 기록에서의 입력, 즉 과거 분기의 기록이 각각 온라인에서의 학습 결과의 가중치 ( Weight )로 추론을 합니다. 사실 뉴럴 네트워크 기반의 분기 예측도 지난 10년 이상 동안 발달하고 다양한 논문이 발표되고 있습니다.

 

동시에 뉴럴 네트워크 분기 예측에도 여러 문제점이 지적되고 있습니다. 리소스 ( 자원 )의 증대와 레이턴스 ( 지연 )은 이 접근의 과제에 대해서는 개선의 방법이 얼마든지 제안되어 있습니다. 뉴럴 네트워크이기 때문에 기록에 대한 무게 데이터가 필요하며, 그 만큼 자원을 소비하게 되는 것 입니다. 또한 학습 ( Training )의 기록이 길수록 처리도 오래 걸립니다.

 

16-5.jpg

▲분기 예측은 퍼셉트론 모델에서 실현.「Multiperspective Perceptron Predictor」(Daniel A. Jimenez, Championship Branch Prediction 2016, 2016)

 

무엇보다도 Jimenez씨는 뉴럴 네트워크 분기 예측의 이점은 기록의 길이에 따라 정확도를 높일 수 있다는 것이라고 하고 있습니다. 뉴럴 네트워크는 필요한 자원 기록의 크기에 선형으로 밖에 증가하지 않지만, 기존 방식은 기하 급수적으로 필요한 자원이 증가하기 때문입니다. 따라서 뉴럴 네트워크 분기 예측쪽이 일정 이상의 정밀도 향상에 필요한 자원이 상대적으로 적다고 합니다. 하드웨어 자원의 증가에 따라 일반적인 알고리즘 보다 Gshare나 Bi-Mode보다도 예측 정확도가 오른다고 시뮬레이션 결과 등이 보고되고 있습니다.

 

11-8.jpg

▲퍼셉트론 분기 예측은 하드웨어 규모가 커지면서 기존의 알고리즘보다 예측 정확도가 향상한다.「Perceptron Learning for Predicting the Behavior of Conditional Branches」(Daniel A. Jimenez and Calvin Lin, IJCNN '01. 2001)

 

위의 그래프는 동일한 하드웨어 양의 범위 내에서의 예측 정확도를 비교한 것입니다. 분기 예측 유닛의 하드웨어 규모가 작을 ㄱ경우는 뉴럴 네트워크 기반의 방식이 불필요한 자원을 필요로 할 뿐만 아니라 정밀도 역시 떨어집니다. 그러나 자원의 규모가 커지면 상대적으로 예측 정확도가 상승하는 구도입니다. 이러한 시뮬레이션대로라면, 분기 예측 유닛의 규머가 커지면 뉴럴 네트워크 기반의 방식이 예측 정확도가 올라가게 됩니다.

 

분기 이력 테이블을 길게 한 ZEN 아키텍처

AMD는 ZEN에서 기존의 AMD 고성능 CPU 코어보다 브랜치 히스토리 테이블 ( Branch History Table )의 크기를 두배로 늘렸다고 설명하고 있습니다. 자원이 늘어날수록 뉴럴 네트워크 분기 예측 정확도가 오르기 쉽다면, ZEN은 기존의 분기 예측 알고리즘의 경우 보다 예측 정확도가 향상되는 것을 기대할 수 있습니다. 덧붙여서 이러한 성격을 통하여 볼때 뉴럴 네트워크 분기 예측은 다른 심플한 알고리즘과 함께 사용되는 것으로 보입니다.

12-7.jpg

 

13-5.jpg

▲퍼셉트론의 컨셉트를 분기예측에 적용. 「Perceptrons for Dummies」(Daniel A. Jimenez, Championship Branch Prediction,2004)

 

AMD의 뉴럴 네트워크 분기 예측 구현 세부 사항은 알 수 없습니다. 그러나 일반적인 분기 예측 테이블 외에 퍼셉트콘 가중치를 저장하고 있는 버퍼를 가지고 있는 것은 확실합니다. 이것에 대해서는 AMD의 특허 기술이 있습니다.  "US20150121050 Bandwidth increase in branch prediction unit and level 1 instruction cache"

 

이 특허는 무게 어레이를 포함하는 데이터를 가지는 「Hash Perceptron(HP)」을 설명하고 있습니다. 덧붙여서 특허에서는 HP 자체도 L1와 L2의 2층 구조로 되어있으며, ZEN의 구현이 2단계 뉴럴 네트워크 분기 예측으로 되어 있을 가능성을 보여주고 있습니다. 특허는 L1 HP에 의한 예측은 1층 버블로 되어 있으며, 특허 대로라면 빠른 예측이 가능합니다. L2로 가게된다면 지연시간이 최대 4 버블로 길어지게 됩니다.

 

 

14-3.jpg

 

15-5.jpg

▲ZEN 마이크로 아키텍쳐의 프론트 엔드

 

ZEN 분기 예측 유닛은 기본 Jaguar와 비슷합니다. 분기 된 예측 주소를 유지하는 「Branch Target Buffer(BTB)」는 L1 명령 캐시와 밀접하게 통합되어 있는 것으로 보입니다. BTB는 1항목 당 2분기를 트랙할 수 있습니다. 즉 2개의 분기를 1 사이클로 예측할 수 있습니다. 다만 BTB의 크기는 아직 밝혀지지 않았습니다. 이 밖에도, 간접 분기에 대한 「ITA(Indirect Target Array)」 리턴 스택에 대해서도 32항목의 테이블을 가지고 있습니다.

 

덧붙여서 ZEN은 실행 유닛 군에 분기 유닛을 2개 가지고 있습니다. 2개의 분기 단위 유닛은 SMT ( Simultaneous Multithreading )에서 2 스레드 각각 1개의 분기를 실행하거나 1스레드에서 2개의 분기를 실행 할 수도 있습니다. 후자의 1스레드에서 2개의 분기를 처리하는 경우에는 아마도 먼저 실행된 분기 명령의 예상이 분기 하지 않는 경우 ( not taken )의 경우와 같은 제약이 있을 가능성이 있습니다. ZEN의 경우에는 1스레드에 2개의 분기의 머신이 있기 때문에, 분기를 예상하는 정도가 더욱 더 중요해집니다. 



  • profile
    라임베어      성공한 사람은 포장되어 일반인을 망친다. 2016.12.27 16:04
    허머 ;;;;

    임시저장한다는게 등록을 눌러버렸네요 빨리 마무리할께요.
  • profile
    낄낄 2016.12.27 16:12
    빨리 쓰란 말이에요 메인페이지에 올리게
  • profile
    세라프 2016.12.27 16:14
    갈굼.... 이건 굉장히 귀하네요
  • profile
    Touchless 2016.12.27 16:31
    '학습을 통해 분기예측 정확도를 높인다'라는 뜻인가요.

    생각치 못했던 기술이 들어가 있네요. 오오
  • profile
    니코다이스키 2016.12.27 17:09
    싱글 성능도 잘나오면 좋겠는데... 멀티는 당연8코어니 그렇다 치고
  • ?
    title: 야행성archwave 2016.12.27 17:21
    AMD 가 분기 예측 알고리즘으로 뉴럴 네트워크를 쓰고 있다는 것 말고는 별다를게 없네요.

    AMD 만이 아니라 삼성 등등 여러 회사들이 이미 쓰고 있는 것이고, 정작 중요한 것은 인텔이 쓰는 알고리즘은 어떤 것일까일텐데요.

    인텔도 이미 뉴럴 네트워크 쓰고 있었는지 또는 그보다 더 좋은 알고리즘을 쓰고 있는지 등등 그런 것을 알아야 비교 의미가 있을거 같은데..
  • profile
    라임베어      성공한 사람은 포장되어 일반인을 망친다. 2016.12.27 17:32
    정확히 잘 집어내셨네요.

    하지만 기업 입장에서 보면 구체적인 기술을 설명할 수 없는건 어쩔 수 없는 부분이라고 생각되네요.

    다만 늦게 번역된 부분에서는 젠에서 테이블량을 2배로 증가 시켰다는 하는 부분에서는 다소 기대할만하지 않을까 싶습니다.
  • profile
    TundraMC      자타공인 암드사랑/GET AMD, GET MAD. Dam/컴푸어 카푸어 그냥푸어/니얼굴사... 2016.12.27 17:54
    흠...
    분기예측 성능좀 올라갔으면 하네요...불도르쟈...으으
  • ?
    술약한남자 2016.12.27 19:31
    학습하는 CPU네요.
    이게 또 제규어도 쓰고 있었다니...
  • ?
    yamsengyi 2016.12.28 09:02
    신앙심이 오르고 있습니다+_+...

    근데 이부분도 불도자 IPC 40%에 포함되는걸까요 아니면 새롭게 도입된 부분일까요?
    그래서 예상했던 아이비브릿지급이 아니라 하스웰 급까지 치고올라왔던걸까요?
  • profile
    노력 2016.12.29 02:14
    하드웨어 스케줄링 같은 개념이군요
    소프트웨어 설계도 머리아픈데 하드웨어설계는 정말 다단한거 같습니다

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


  1. 등록된 글이 없습니다.
목록
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 11 Next
/ 11

최근 코멘트 30개
까마귀
02:06
Neons
01:46
메이드아리스
01:41
메이드아리스
01:36
Loliconite
01:29
Loliconite
01:27
Neons
01:23
Loliconite
01:21
낄낄
01:11
Loliconite
01:10
카토메구미
00:59
낄낄
00:55
이유제
00:51
연금술사
00:48
노예MS호
00:47
연금술사
00:39
아스트랄로피테쿠스
00:36
Lynen
00:29
아이들링
00:20
스와마망
00:16
Kylver
00:15
포인트 팡팡!
00:14
슬렌네터
00:14
연금술사
00:14
이게뭘까
00:08
급식단
00:07
급식단
00:06
아스트랄로피테쿠스
00:04
가네샤
00:03
가네샤
00:00

더함
AMD
한미마이크로닉스
MSI 코리아

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소