본문 바로가기

컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

단축키

Prev이전 문서

Next다음 문서

수정 삭제

단축키

Prev이전 문서

Next다음 문서

수정 삭제
Extra Form

01_o.png

 

Arm의 고성능 CPU 코어 두번째, Cortex-A77

 

Arm은 지난주의 컴퓨텍스 타이페이에서 2020년 스마트폰의 CPU가 될 Cortex-A77을 발표했습니다. 싱글스레드 성능을 높인 고성능 코어입니다. 

 

Arm 명령어 세트 아키텍처의 CPU 코어는 Arm이 직접 설계한 Cortex-A 시리즈 외에도, 퀄컴/애플/삼성이 독자적으로 개발한 코어가 있습니다. 이들 회사들은 Arm보다 더 높은 성능의 코어를 만들어 차별화를 꾀했으며, Arm은 자사 아키텍처의 보급을 위해 고성능 CPU 코어를 만들지 않았습니다.

 

02_o.png

 

Cortex-A76의 확장

 

03_o.png

 

Cortex-A76에서 같은 클럭이 전력 효율을 유지하면서 성능을 높인 Cortex-A77

 

하지만 2018년 Cortex-A76에서 그 전략이 바뀌었습니다. Cortex-A76은 고성능 Arm 코어 아키텍처로, Cortex-A75에서 성능이 대폭 높아졌습니다. Cortex-A77은 그 노선을 계승해 성능을 더욱 높였습니다. Cortex-A77은 7~6nm 공정에서 Arm의 고성능 코어가 됩니다. 

 

이런 전략은 서버용 CPU 브랜드인 Neoverse와도 연계됩니다. Arm은 작년까지 서버용 고성능 CPU 코어를 직접 개발하지 않았으며, 이는 다른 회사에게 맡겼습니다. 하지만 지금은 서버용 기능을 갖춘 CPU를 Neoverse라는 이름으로 출시하며, 첫 제품인 N1은 Cortex-A76 기반입니다. A77도 Neoverse 시스템으로 출시되리라 보입니다.

 

 

싱글스레드 성능 향상에 초점

 

Cortex-A77는 Arm CPU 코어의 약점이었던 싱글 스레드 성능을 크게 늘렸습니다. 작년에 발표한 Cortex-A76에서 IPC (Instruction-per-Clock)가 20% 이상 향상됐습니다.

 

04_o.png

 

같은 7nm 공정에 같은 클럭일 경우의 싱글 스레드 성능은 20% 올랐다고 Arm은 설명합니다. 그것도 다이 크기가 겨우 17% 커졌을 뿐인데 말입니다.

 

05_o.png

 

Cortex-A76이 그 전의 Cortex-A75보다 싱글 스레드 성능이 35% 올랐으니, 2년 사이에 Arm의 CPU IP 성능이 극적으로 오른 것입니다.

 

이런 성능 비교는 마케팅적인 메세지가 강합니다. Cortex-A77는 전력을 희생해서 성능을 높이는 게 아니라, 코어의 면적과 전력 사용량을 최소화하면서 효율을 높이는 게 목적입니다. 

 

Cortex-A77 아키텍처의 가장 큰 특징은 6매크로 오퍼레이션/사이클로의 확장입니다. Cortex-A15부터 Cortex-A75까지 7년 동안 고성능 CPU는 명령어 디코딩 대역을 3명령/사이클로 유지했습니다. Cortex-A76은 4명령 디코드/사이클로 확장해 명령어 병렬 처리를 높였습니다.

 

Cortex-A77은 이를 더 확장해 프론트 엔드에서 명령 대역을 6MOPs/사이클로 50% 늘렸습니다. 즉 Arm CPU의 명령 대역은 1년 사이에 3명령/사이클에서 4명령/사이클, 다시 6명령/사이클로 급격히 늘었습니다. 더 많은 명령을 스케줄러에 보내면 명령 병렬 실행 비중이 높아지며, 클럭 당 처리 성능인 IPC도 향상됩니다.

 

그러나 명령 대역폭을 늘리면 소비 전력도 늘어납니다. 명령 디코더가 전력을 소비하고, 명령 인출 단위를 늘리면 잘못된 분기 예측 시 낭비되는 전력도 크기 때문입니다. 그래서 Arm은 내부 명령어 캐시인 매크로 OP 캐시를 도입했습니다. 

 

 

64비트 내부 표현으로 변환하는 Cortex-A77 아키텍처

 

Cortex-A77도 명령 디코딩 대역은 Cortex-A76와 같은 4명령/사이클입니다. 그러나 디코더에 의해 변환된 내부 명령은 전용 L0 명령 캐시에 저장되며, L0 명령 캐시의 명령 발행 대역은 6명령/사이클입니다. 즉, 캐시에 적중됐다면 6명령/사이클의 아키텍처입니다. 

 

Arm은 명령 디코딩 로직 규모가 비교적 크고 전력 사모량도 많습니다. 물론 가변형 접두사를 지닌 x86과 비교하면 훨씬 가볍지만 그래도 명령 디코딩에서 전력을 쓴다는 건 변함이 없습니다. 따라서 명령 디코더의 수를 확실히 정해두는 게 전력과 효율에서 유리합니다. 

 

06_o.png

 

Cortex-A77 아키텍처

 

07_o.png

 

풍부해진 Cortex-A77 아키텍처

 

Arm의 고성능 CPU 마이크로 아키텍처에서 Arm의 CPU 명령어는 간단한 내부 명령 마이크로 오퍼레이션(uOP : Micro-Operation)로 변환해 실행합니다. 명령 스케줄러에서 uOP가 실행 엔진에 발행되나, 명령 디코더는 일부 uOP가 융합된 형태로 디코딩됩니다. 이 퓨전 uOP는 Macro-OP라고 부르기도 합니다. Cortex-A77에 구현된 이 MOP를 캐시하는 L0 명령 캐시를 MOP Cache라고 부릅니다. 

 

현재 아키텍처는 Arm 32비트 명령 A32, T32 모두 64비트로 변환해서 처리합니다. 모두 A64에 해당되는 64비트 계열 내부 명령으로 표현됩니다. Cortex-A76/77 세대 CPU에서 소프트웨어 측은 64비트가 주류를 이룬다고 판단, 하드웨어를 단순화하기 위해 64비트 변환한 것으로 보입니다. 인텔도 한때 16비트를 32비트 내부 명령으로 변환하는 접근 방식을 취했습니다.

 

08_o.png

 

다만 MOP 캐시 아키텍처를 설명하는 Arm 슬라이드는 프론트 엔드 부분이 좀 이상합니다. 원래대로라면 디코더 아래에 있어야 할 MOP 캐시가 프론트엔드에 포함됩니다.

 

09_o.png

 

그리고 MOP 캐시를 포함한 프론트엔드에서 디코더 파이프라인에 6명령어/클럭으로 발송됩니다. MOP 캐시에서 불러온다면 L1 명령 캐시부터의 명령 디코더는 4명령/사이클이어야 합니다. 명령 대역폭이 늘었음을 강조하기 위해서라 보입니다. 

 

 

MOP 캐시로 명령 대역을 확장하는 분위기

 

Cortex-A77은 MOP 캐시를 써서 6MOPs/사이클로 명령 대역 디코더를 늘렸습니다. 이는 Arm의 독창적인 기술이 아니라 인텔이나 AMD도 쓰는 방법입니다. 인텔은 스카이레이크 아키텍처의 명령 디코더가 5웨이지만 uOP 캐시를 둬서 최대 6 uOPs/사이클의 명령을 판독합니다. AMD 젠 아키텍처는 4웨이 명령 디코더를 지녔으나 OP 캐시로 최대 8 MOPs/사이클의 명령어를 읽어냅니다. 내부 명령어 캐시를 사용해 명령 대역폭을 늘리는 건 현재의 CPU 아키텍처에서 일반적인 방법입니다.

 

Arm은 L0의 MOP 캐시의 적중률이 85% 이상이라 많은 워크로드에서 성능 향상이 있다고 설명합니다. Cortex-A76의 설계 단계에서 이미 다음번에 L0 MOP 캐시를 포함시킬 예정이었고, Cortex-A76의 Technical Reference Manual은 L0 Macro-OP 캐시 이벤트 정의를 포함시켰습니다.

 

10_o.png

 

Cortex-A77는 MOP 캐시의 도입해 명령어 대역을 강화시켜 다른 부분까지 성능이 올랐습니다. 프론트 엔드에선 분기 예측 읽기를 64바이트/사이클로 확장하고 이전 분기까지 예측하도록 했습니다. MOP 캐시도 분기 예측 유닛과 맞춰 6MOP/사이클로 확장했습니다. 분기 예측 유닛도 강화돼 BTB(Branch Target Buffer)는 Cortex-A76의 6K에서 8K 엔트리로 확장됐습니다. 3레벨이었던 BTB는 2레벨이 됐습니다.

 

레지스터 리네이밍/파견/커밋 엔진은 uOP 파견이 최대 10 uOP/사이클리 됐습니다. Cortex-A76는 8 uOP/사이클이었습니다. 또 내부에서 제어할 수 있는 명령 윈도우가 128개에서 160개로 늘었습니다. 더 많은 MOP를 처리할 수 있도록 확장됐지만 인텔 서니 코브는 352개니 x86에 비하면 적은 편입니다.

 

 

실행 파이프는 ALU가 4개, 분기는 2개의 구성

 

11_o.png


실행 유닛은 ALU와 분기 유닛이 1개씩 추가됐습니다. 분기 유닛은 총 2개로 각각 전용 이슈 포트를 지녀 2분기/사이클이 가능해졌습니다. ALU는 간단한 명령의 ALU가 추가돼 복잡한 명령을 처리하는 ALU 1개에 간단한 명령을 처리하는 ALU 2개가 됩니다. 또 ALU와 명령 포트를 공유하는 AES 암호화 엔진도 있습니다.

 

12_o.png

 

로드/스토어 유닛은 Cortex-A76에 스토어 데이터 파이프가 추가됐습니다. Cortex-A76의 AGU(주소 생성 유닛 : Address Generator Unit)와 스토어 파이프는 같은 명령 발행 포트를 공유합니다.

 

13_o.png

 

Cortex-A77는 인텔처럼 AGU와 스토어 파이프의 명령 포트가 분리됐습니다. 이론적으로는 주소 생성과 저장, 데이터 관리가 함께 이루어지기에 효율적이나, 로드/스토어의 경우 내부에서 제어할 수 있는 로드/스토어의 수나 대역폭을 프리페치하는 작업이 중요합니다. 

 

14_o.png

 

Arm이 설계한 CPU 코어 중 최고 성능 


컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

  1. 구글 최신 뉴스

    날짜2024.12.12 카테고리뉴스 읽음1388
    read more
  2. 아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ

    날짜2025.05.20 카테고리일반 읽음237
    read more
  3. 🚨(뉴비필독) 전체공지 & 포인트안내

    날짜2024.11.04 카테고리 읽음25860
    read more
  4. URL만 붙여넣으면 끝! 임베드 기능

    날짜2025.01.21 카테고리 읽음20435
    read more
  5. Intel 12세대 i3-12100YouTube 10비트 HDR 8K60 AV1 비디오를 원활하게 재생가능?

    날짜2024.11.10 조회수4540
    Read More
  6. 블루투스 헤드셋 질문좀~

    날짜2021.01.31 조회수50
    Read More
  7. e4000이랑 560s랑 음질차이

    날짜2021.01.28 조회수71
    Read More
  8. 未检测到我的手机MTP。

    날짜2019.12.24 조회수29
    Read More
  9. amd 라이젠 1700 > 인텔 i5 12400f cpu 변경후 드라이브 오류

    날짜2022.06.14 조회수1122
    Read More
  10. 윈도우 11 에러 중에 이런 종류가 있나요?

    날짜2022.06.14 조회수1085
    Read More
  11. 마소계정에 정품인증

    날짜2022.06.14 조회수420
    Read More
  12. 4k나 1080p 동영상 보면 렉이 걸리는데...

    날짜2022.06.14 조회수482
    Read More
  13. 제가쓰던 놋북 윈도우가 리테일이래요 그러니까 fpp 윈도우라는거 맞죠??

    날짜2022.06.14 조회수401
    Read More
  14. 윈도우 10 왜 버벅일까요..?

    날짜2022.06.14 조회수348
    Read More
  15. 오피스 정품 판매 맞을까요?

    날짜2022.06.14 조회수170
    Read More
  16. 윈도우11 더 많은 옵션 항상사용하는 방법

    날짜2022.06.09 조회수264
    Read More
  17. 윈도우 11 22H2 RTM 빌드 확정됨

    날짜2022.05.30 조회수224
    Read More
  18. 해킹 대회에서 윈도우 11의 취약점 6개가 발견됨

    날짜2022.05.30 조회수237
    Read More
  19. ProtonMail, 통합 브랜드로 다양한 서비스를 제공

    날짜2022.05.30 조회수186
    Read More
  20. 가상머신에 윈도우95 설치하기

    날짜2022.04.22 조회수631
    Read More
  21. 구글 크롬 100 버전 공개

    날짜2022.04.04 조회수840
    Read More
  22. 윈도우 11+다이렉트스토리지, 게임 로딩 시 CPU 부하가 최대 40% 감소

    날짜2022.04.04 조회수709
    Read More
  23. 애플, 위조된 법적 증명에 속아 사용자 데이터를 제공?

    날짜2022.04.04 조회수640
    Read More
  24. 윈도우 탐색기 대체 대안 프로그램 8가지

    날짜2022.04.04 조회수906
    Read More
  25. 인터넷은 어떻게 작동되는지 알아보자

    날짜2022.04.02 조회수676
    Read More
  26. 크롬 취약점 발견 Chrome 업데이트 빨리 해야

    날짜2022.03.30 조회수765
    Read More
  27. GPU-Z, 인텔 아크 알케미스트 그래픽 지원

    날짜2022.03.26 조회수148
    Read More
  28. 아프리카 TV가 트위치보다 데이터를 훨씬 많이 쓰는군요

    날짜2022.03.26 조회수225
    Read More
  29. 애플, 미국 애리조나 주에서 월렛에 신분증 기능 제공

    날짜2022.03.26 조회수152
    Read More
  30. macOS 12.3에서 외장 모니터 연결 문제, 게임 패드 연결 문제

    날짜2022.03.26 조회수165
    Read More
  31. 비트코인 오브 아메리카, ATM에서 도지코인을 취급

    날짜2022.03.26 조회수153
    Read More
  32. 1990년대 중후반에 나온 PowerVR PC GPU의 소스 코드 공개

    날짜2022.03.26 조회수159
    Read More
  33. NVIDIA, 삼성, MS를 해킹한 Lapsus$. 알고보니 10대 소년이 주범?

    날짜2022.03.26 조회수160
    Read More
  34. 통신사 직원 수십억원 갖고 잠적

    날짜2022.03.26 조회수365
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 355 Next
/ 355