고성능 ARM의 IPC가 고성능x86을 능가하게 된 이유가 아마도... > CPU, 메인보드, 램 게시판

본문 바로가기


CPU, 메인보드, 램 게시판

Home>CPU, 메인보드, 램 게시판

CPU | 고성능 ARM의 IPC가 고성능x86을 능가하게 된 이유가 아마도...

페이지 정보

작성자 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일18-06-14 11:02 조회942회 댓글10건

본문

대충 뇌피셜 풀어보자면...

 

1. 의외로 RISC쪽의 장점 중 하나인 많은 숫자의 범용레지스터(ARM64기준 31개로 x64의 두 배)와 명시적 로드/스토어 명령어 구조가 역할을 한 게 아닌가 싶은 게...   

  - 로드/스토어와 연산명령이 뒤섞인 x64의 경우 설령 디코더에서 uOP로 분리해서 처리된다고 해도 메모리로드/스토어 와 연산의 타이밍을 스케줄 하는 것을 스케줄러가 모두 부담해야 합니다. 거꾸로 이야기하자면 컴파일최적화 단계에서 명령어 수준의 순서조정이 안됩니다.  명령어가 하나로 뭉쳐 있으니까요.

 - 하지만 ARM의 경우는 컴파일최적화 단계에서 로드스토어 명령과 연산명령의 타이밍을 조정하여 pre-로드 할 수 있고(로드 명령을 연산명령에 대해 4사이클 앞에 배치하면 로드 레이턴시를 숨길 수 있음) 결국 x86에서의 스케줄러쪽의 부담을 컴파일러최적화가 덜어주게 됩니다.  즉 그만큼 효율적으로 스케줄링이 이뤄질 수 있다는 것이죠.

 - ARM64가 가지고 있는 대량의 범용레지스터 덕분에 컴파일러최적화 단계에서의 유연성도 높아집니다. 저장해 놓을 수 있는 레지스터가 많기에 컴파일러 최적화에서 미리 레지스터에 데이터를 올려놓기 쉬워져서 그만큼 더 깊은 최적화가 가능해지죠.  x86의 범용레지스터는 x86_64로 오면서 16개로 늘어났지만 여전히 숫적으로는 불리합니다.

 

 

 

2. 마이크로아키텍처 측면에서 ARM64가 가지고 가는 잇점은 다음과 같습니다.

- ARM64로 이전하면서 기존의 지저분한 명령어셋을 단절시켜 버립니다. 그에 의해  명령어들이 단순화 되고 컴파일러 최적화에 맞게 현대화 되면서 컴파일러쪽의 최적화 효율이 증가하고, 더불어 디코더의 복잡성도 감소해 버립니다.
- 현용 고성능 ARM64는 하이퍼스레딩이 없는 경우가 많습니다. 그만큼 아키텍처 전반에 대한 설계가 단순해지고 리소스가 절약되면서 단일코어 실행시의 IPC를 올리기 위한 추가 리소스 투입이 가능해 집니다.  하이퍼스레딩 부재에 의한 멀티스레딩 스루풋 열세는 리틀코어의 추가로 땜빵이 됩니다.
- 명령어 자체가 단순하다 보니 디코더에서의 산출물을 저장하는 uOP캐시를 도입할 필요성이 줄어듭니다.  x86에서는 명령어가 개판이라는 점으로 인해 디코딩 후 산출물인 uOP들이 아깝게 되고  그걸 따로 저장하면서까지 재활용하려고 들게 되었지만  ARM64에서는 그게 그정도로 아까운 결과물이 아닐 수도 있습니다.  즉 uOP캐시를 적용하지 않을 경우 그만큼 리소스를 절약할 수 있습니다.
- 위에서 절약된 리소스를 최대한 실행능력 향상에 투입한다면?  당연히 동일 리소스 대비 IPC는 유의미하게 올라가겠죠...  



....정도가 딱 현재 생각나는 뇌피셜 입니다...

 

사실상 30여년전의 CISC vs RISC논쟁이 2000년대 중반 마지막 고성능데탑용 RISC인 PPC의 몰락과 Core의 흥기로 인해 관짝에 들어가게 된 것이 최근 ARM64의 급격한 성능향상으로 인해 다시  관짝문을 깨고 튀어나오는 셈.....

 

 

작성일 제목 조회수 추천 / 비추천
14:41:16 글파가 12LP에서 백엔드 개선만 한 것 자체는 큰 문제가 아닙니다. [4] 379 0 / 0
14:10:26 인텔 공정 관련해서 흘러나오는 이야기가... [4] 446 0 / 0
12:25:34 글파 12lp의 정체가... 그것이 실제로 일어난 듯.... [6] 421 0 / 0
00:18:09 레이븐릿지 라인업의 가격 떡락은 좀 생각해 봐야 하는 게... [9] 810 2 / 0
2018-06-22 입구글 글파로 전락한 것과는 별도로... GF의 14nm 배선층 개선. [2] 481 0 / 0
[ - http://hwbattle.com/bbs/board.php?bo_table=cpumbram&wr_id=117933 ]
좋아요 2 비추천 0

댓글목록

젠슨황님의 댓글

젠슨황 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일
profile image

확실히 x86대비 ARM이 가볍다보니 성능 끌어올리기도 좋은가봐요.
SDM 1000 시리즈를 기대해 봐야겠군요. GPU 면에서도 Adreno가 잉헬내장보다 면적대 성능은 수십배 높을 텐데, 그걸 전성비 약간 희생하고 조금 더 때려박으면... ㄷㄷ

ARMCC님의 댓글

ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일
no profile image

일단 추측은.....

ARM32에서 나름 지저분했던 명령어들을  ARM64로 오면서 완전 신상 명령으로 갈아치우게 되었고 그 덕분에 전반적인 효율이 알게모르게 올라간 게 아닌가 싶습니다....

RuBisCO님의 댓글

RuBisCO 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일
profile image

하이퍼쓰레기는 그렇게까지 큰 비중은 아닌게 애시당초 하이퍼쓰레기 같은 SMT 자체가 적은 투입으로 최대한의 효율을 만들어내는 것이고 프론트엔드 부분에서 수% 내외의 자원투입으로 해결 가능한거라서요.

ARMCC님의 댓글

ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일
no profile image

요지는  HT나  디코더등 각 요소의 각각을 보면 5%, 10% 하는 식으로 작아보이지만...... 이걸 다 취합해 보니까 15%, 20%, 하는 식으로 유의미한 수준까지의 리소스 차이를 만들어 낼 수 있다는 이야기입니다...  뭐 현재로서는 가장 큰 부분은  오히려 SIMD-벡터 부분의 규모인 듯 하지만서도....

베가님의 댓글

베가 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일
no profile image

싱글 성능 목표가 낮은 점도 있을 겁니다. ARM이 IPC는 AMD64를 잡아도, 싱글 성능은 아직 못 잡았습니다.
CPU 코어 설계 목표는 싱글 성능, 전성비, 가성비 등입니다. IPC 자체는 목표가 아니고, 단지 목표를 달성하는 효율적인 방법으로 알려졌을 뿐입니다. 하지만 "싱글 성능 = IPC * 클럭" 인데, 클럭을 올리면 IPC가 내려가는 경우가 많습니다. (예, 펜티움4, 불도저) 그러니, IPC를 어느 정도 희생해도 클럭이 더 오르면 싱글 성능은 올라갑니다. 예를 들어, 인텔 코어는 계속 파이프라인이 길어지는데, IPC 떨어지는 걸 자원 투입으로 메워서라도 클럭을 올리기 위해서일 겁니다. 애플도 계속 파이프라인이 길어지는데, 인텔과 비슷한 까닭일 겁니다.
즉, ARM은 싱글 성능 목표가 낮으니, 클럭에 덜 신경 써도 되고, IPC에 무게를 더 줄 수 있을 겁니다. 하지만 코어 등은 목표가 높아서, IPC를 희생해서라도 클럭을 높여야 할 겁니다.

p.s. A76 효율이 엄청난데, 짧은 파이프라인 덕이 클 겁니다. 실제 ARM에서도 효율의 원인 가운데 명령어가 머무는 시간을 줄인 걸 꼽습니다. 하지만 파이프라인이 짧으면 클럭이 쉽게 안 오르니, 싱글 성능 (= IPC * 클럭) 이 얼마나 나올지 의심스럽습니다. (공정은 몰라도) 아직 2.5GHz도 못 찍는 듯 한데, 2.5 정도는 28nm SD801도 나왔습니다.

ARMCC님의 댓글

ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일
no profile image

파이프라인 논의에서 흔히 빠지는 함정은...  처리해야 할 job의 양이 변동될 수도 있다는 점을 고려하지 않는다는 부분일 겁니다...

예를 들어 100이라는 잡을 처리할 때....  그것을 5단계로 나눠서 각 단계마다 20의 잡을  1/5의 시간에 처리할 것인가...    10단계로 나눠서 단계마다 10의 잡을 1/10의 시간에 처리할 것이가 하는 트레이드오프를 고려해야 하지만....

애초에 잡이 100에서 80으로 줄어든 상황이면  10단계로 나눠서 10씩 처리하던 게  8단계로 나눠서 10씩 처리하는 것으로 바뀌기 때문에  사실상 클럭에 대한 영향은 없어지는 거죠....

베가님의 댓글

베가 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일
no profile image

같은 AMD64에서도 인텔은 계속 파이프라인 단계를 늘려 왔습니다. 떨어지는 IPC는 자원을 더 넣어서 막았지요.
ARM도 마찬가지로 (A76 말고는) 파이프라인 단계를 쭈욱 늘렸습니다. 그래서 단계를 오히려 줄인 A76 클럭이 잘 올라갈지 의심스러운 겁니다.

사실 IPC(Instructions Per Clock)라는 말은 정확하지 않습니다. 벤치 프로그램이 측정하는 건 "작업 / 시간" 이지, "명령어 갯수 / 시간" 이 아닙니다. 그러니 PPC  라 불러야 맞을 겁니다.
IPC 비교가 별 의미가 없는 게, 명령어 하나로 더 많은 일을 할 수 있는 CISC(AMD64)가 RISC(ARM)보다 같은 IPC에서 실제 PPC가 더 나옵니다.

ARMCC님의 댓글

ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일
no profile image

IPC 비교가 별 의미가 없는 게, 명령어 하나로 더 많은 일을 할 수 있는 CISC(AMD64)가 RISC(ARM)보다 같은 IPC에서 실제 PPC가 더 나옵니다.
==> 그래서 요즈음은 IPC를 보려면 디코더에서 동시 디코딩 되는  uOP 갯수 내지는 디스패치되는 명령어폭 같은 것을 같이 따져봐야 하죠.
그리고  메모리 오퍼랜드 명령어와는 상반되게 RISC쪽에서는 흔해빠진 3오퍼랜드 명령어, 심지어 4오퍼랜드 명령어 같은 부분은 x86이 여전히 제대로 손대지도 못하고 있는 부분이라는 점은 고려해야 할 겁니다...

베가님의 댓글

베가 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일
no profile image

그래서 제 말이, PPC가 맞는 말이고 IPC라고 부르면 (대부분) 잘못이라는 겁니다. 3D마크점수 / 클럭 등은 PPC지요.

uOP 갯수도 비교에는 적당하지 않습니다. CPU마다 각 uOP이 할 수 있는 작업이 다릅니다. 이렇게 CPU ISA / uA마다 특징이 다르니, 결국 비교에 쓸 수 있는 건 PPC 입니다.

댓글을 다시려면 로그인이 필요합니다. 로그인 하러가기

CPU, 메인보드, 램 게시판 목록

전제 8,465건 1 페이지
CPU, 메인보드, 램 게시판 목록
번호 제목 글쓴이 날짜 조회
공지 CPU AMD 레이븐릿지 - Ryzen 5 2400G, Ryzen 3 2200G 사용자 가이드 댓글12 조회수 1000건 이상 인기글 배틀뉴스 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-14 5096
공지 메인보드 ※ 마더보드 제조사별 Spectre & Meltdown 대응 바이오스 업데이트 현황 댓글18 조회수 1000건 이상 인기글 배틀뉴스 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-18 4029
8463 메모리 그래도 하루 꼬박 소모해서 램타 조금은 쪼였네요. 댓글1 새글 앤떱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 23:08 17
8462 메인보드 x370 타이치에는 skew 설정 항목이 없는건가요 댓글2 새글 갈비만두 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 21:54 57
8461 메인보드 돌아 왔구나? 댓글5 새글 달빛같은 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 16:20 337
8460 CPU 글파가 12LP에서 백엔드 개선만 한 것 자체는 큰 문제가 아닙니다. 댓글4 새글 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 14:41 379
8459 CPU 인텔 공정 관련해서 흘러나오는 이야기가... 댓글4 새글 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 14:10 446
8458 CPU 크7 0702 바이오스 CPU 오버와 PE 소감 새글 앤떱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13:46 110
8457 CPU 인텔 8400 으로 2600이랑 교환 하면 이득인가요? 댓글11 새글 성북구죽돌이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13:22 346
8456 메모리 크7 0702 바이오스 메모리 오버 결론 댓글10 새글 앤떱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12:42 183
8455 CPU 인텔이 일구어낸 대륙의 창조경제 댓글13 새글인기글 RuBisCO 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12:35 598
8454 CPU 글파 12lp의 정체가... 그것이 실제로 일어난 듯.... 댓글6 새글 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12:25 421
8453 CPU sensemi skew값은 건드려볼수록 신기하네요 @_@!! 댓글7 새글 YearrinG 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11:57 187
8452 메모리 살짝 더 보기 좋아진 램타.. 새글 앤떱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11:29 108
8451 메모리 crosshair vii 0702 바이오스 램오버 후기 댓글6 새글 앤떱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10:59 124
8450 ASUS 크로스헤어7 램오버 포텐이 올라갔습니다. 댓글9 새글 옵티머스플라이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09:50 229
8449 ASUS 크헤7 새BIOS 나왔습니다(ver.0702) 댓글10 새글 옵티머스플라이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09:06 251
8448 CPU 레이븐릿지 라인업의 가격 떡락은 좀 생각해 봐야 하는 게... 댓글9 새글인기글 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 00:18 810
8447 CPU 입구글 글파로 전락한 것과는 별도로... GF의 14nm 배선층 개선. 댓글2 새글관련링크 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 481
8446 오버클럭 오프셋을 포기했더니 새로운 지향점이 생겼네요... ㅇ>-< 댓글3 새글 YearrinG 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 253
8445 CPU 레이븐릿지는 계속 떡락중... 댓글19 새글인기글 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 939
8444 CPU 혹시 크롬쓰면서 CPU 점유율 70~90% 이상 올라간적 있으신가요? 댓글22 새글 용이만세 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 334
8443 메인보드 크헤6와 크헤7 외형 비교 / 레이스맥스와 프리즘 외형 비교. 댓글6 새글 로아나프라 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 351
8442 CPU 멀티코어 가성비는 어느제품이 젤 좋을까요? 댓글3 새글 카탈리나 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 345
8441 CPU 이번주는 다시 설정을 PE3로 하고 살아야겠습니다. 댓글4 새글관련링크 앤떱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 173
8440 메모리 크헤6->크헤7 D.O.C.P.가 안들어가네요. 댓글3 새글 로아나프라 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 161
8439 CPU [루머] 방금 들어온 글파 12LP관련 VLSI2018 소식.... 댓글4 새글인기글 ARMCC 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 809
8438 메모리 라이젠용 램... B다이 아니면 바꿔도 크게 의미 없겠죠? 댓글15 새글 prokon 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 433
8437 메인보드 데스크탑용 라이젠이 들어간 노트북 GL702ZC 구매시 주의사항 댓글8 새글 철매2 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 378
8436 메모리 라이젠에서 메모리도 수냉하면 램클럭 더 오를까요? 댓글14 새글 퍼스널웍스 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-22 390
게시물 검색

접속자집계
오늘
11,326
어제
11,614
최대
24,782
전체
8,088,327
사이트소개 개인정보취급방침 서비스이용약관 문의 & 제휴 메뉴 및 포인트 Update 하배 인스타그램
Copyright © www.hwbattle.com All rights reserved.
상단으로
모바일 버전으로 보기