로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 PC, 카메라, 스피커 등 IT 미니기기와 음향기기에 관해 교류하는 게시판입니다.

텐에스맥스씁니다

미니 [퍼옴] Apple M1칩은 왜 그렇게 빠를까? #GeekNews

-----

Apple M1칩은 왜 그렇게 빠를까?

 

- M1은 한개의 CPU가 아니라, 대형 실리콘 패키지에 여러개의 칩들을 넣은 전체 시스템. CPU는 그중의 하나 일뿐
ㅤ→ CPU,GPU,메모리,IO콘트롤러 등을 묶은 SoC(System on a Chip)


- 범용 코어를 많이 넣는 대신, 특정 작업에 특화된 칩들을 넣음
ㅤ→ CPU : OS와 앱들을 실행
ㅤ→ GPU : 그래픽 작업을 수행. 앱의 UI, 2D/3D 게임등
ㅤ→ ISP(Image Processing Unit) : 이미지 프로세싱 속도 증가
ㅤ→ DSP(Digital Signal Processor) : CPU보다 더 수학집약적인 기능을 수행. 음악파일 압축 해제와 같은
ㅤ→ NPU(Neural Processing Unit) : 머신러닝, 음성인식, 카메라 처리등을 가속
ㅤ→ Video Encoder/Decoder : 저전력으로 비디오 파일/포맷 처리
ㅤ→ Secure Enclave - 암호화, 인증, 보안
ㅤ→ UMA(Unified Memory Architecture) : CPU,GPU 및 다른 코어들이 빠르게 정보 교환
ㅤ이런 칩들이 이미지/비디오 편집 및 큰 비디오 인코딩에서 성능이 뛰어난 이유 임

- Unified Memory Architecture(UMA)는 뭐가 특별한거야 ?
ㅤ→ 이 전의 CPU/GPU 통합 칩들은 느렸음
ㅤㅤㅤ둘은 서로 다른 메모리 영역을 서로 다른 방식으로 사용.
ㅤㅤㅤ게다가 GPU는 발열이 심하니까 큰 쿨링팬이 있는 거대한 카드들이 고성능을 보임
ㅤㅤㅤ하지만 이러면 서로간에 많은 데이터를 복사해야 하다보니 PCIe 같은 버스가 필요해짐

ㅤ→ Unified Memory 는 CPU/GPU를 위해 따로 할당하지 않음 그냥 같이 씀.
ㅤㅤㅤShared Memory 와 다르게 CPU와 GPU가 동시에 접근이 가능하며, 위치 정보 교환만으로 접근해서 복사가 필요없어짐

- 이 SoC 방식이 좋으면 다른 제조사들은 왜 안하지 ?
ㅤ→ 하고 있음. AMD가 CPU/GPU를 같은 실리콘 다이에 올린 APU형태를 만들기 시작
ㅤ→ 하지만 실제로 하기는 어려움. 왜나면 SoC 는 전체 컴퓨터를 하나의 칩에 올리는 것이기 때문에 HP나 델 같은컴퓨터 제조사에 더 어울림
ㅤ→ 인텔과 AMD의 비즈니스 모델은 사람들이 PC마더보드에 꼽는 범용 CPU기반인데,
ㅤㅤ 새로운 SoC 시장은 서로 다른 벤더의 피지컬 제품들을 가져와서 조립하는게 아니라, IP(Intellectual Property)를 조립하는 것
ㅤ→ 과연 인텔,AMD,Nvidia 가 Dell 이나 HP에 IP를 라이센스 줄 수 있을까 ?
ㅤ→ 물론 인텔과 AMD가 완성된 SoC를 판매할수 있지만, CPU제조사/PC제조업체/MS 간에 이해의 충돌(뭘 넣어야 할지 등)이 발생 가능
ㅤ→ 하지만 애플에겐 간단한 이슈. 그들은 자신이 모든걸 만듬. "They control the whole widget"

- CPU를 빠르게 만드는 가장 근본적인 도전
ㅤ→ M1의 빠른 범용 CPU 코어인 Firestrom 은 진짜로 빠름. 이게 기존 AMD/Intel 등과 비교했을때 느렸던 기존 ARM과의 차이
ㅤ→ Firestorm은 대부분의 인텔/AMD Ryzen 코어를 속도면에서 다 이기는데, 상식으로는 일어나지 않을 일.
ㅤ→ 빠른 CPU를 만드는 전략은 뭔가 ?
ㅤㅤㅤ1. 순차적으로 더 빠르게 명령을 실행
ㅤㅤㅤ2. 여러개의 명령을 병렬로 실행

ㅤㅤ80년대엔 쉬웠음. 그냥 클럭주파수를 높이면 명령이 빨리 실행됨.
ㅤㅤ컴퓨터는 클럭 사이클당 뭔가를 하는데, 이 "뭔가"는 아주 작아서, 명령 하나가 몇개의 클럭 사이클이 필요하기도 함
ㅤㅤ하지만, 현대에 와서는 클럭 주파수를 높이는 데에는 한계가 있음.
ㅤㅤ"무어 법칙의 끝"
ㅤㅤ따라서, 이젠 최대한 많은 명령을 병렬로 실행하는 것이 중요

- Multi-core or Out-of-Order processors?
ㅤ→ 병렬실행엔 두가지 접근 방법이 있다
ㅤㅤㅤ1. 더 많은 CPU코어를 넣는 것 (개발자 관점에서는 쓰레드를 더 추가하는 것 )
ㅤㅤㅤㅤㅤ이론적으로는, 프로세서의 코어는 여러개의 쓰레드를 실행할 수 있음(소프트웨어 쓰레드)
ㅤㅤㅤㅤㅤ이건 쓰레드간에 전환하며 실행하는 거라, I/O 나 네트웍에서 뭔가를 대기하는 상황에서나 사용
ㅤㅤㅤㅤㅤ하드웨어 쓰레드는 속도가 빨라지지만, 개발자가 이를 활용하기 위한 코드를 작성해야함.
ㅤㅤㅤㅤㅤ서버/클라우드에서는 이 모델이 적합.
ㅤㅤㅤㅤㅤ그래서 Ampere 같은 회사가 128코어를 가지는 Altra Max 같은 클라우드용 ARM CPU를 만드는 것.

ㅤㅤㅤㅤㅤ애플은 이것의 정확히 반대임. 애플은 싱글 사용자를 위한 기기를 만드는 회사
ㅤㅤㅤㅤㅤ데스크탑 소프트웨어들은 대부분 많은 코어를 활용하도록 만들어지지 않음.
ㅤㅤㅤㅤㅤ게임은 8코어에서는 성능 향상이 되겠지만, 128 코어는 낭비일뿐.
ㅤㅤㅤㅤㅤ그래서, 더 적은수의 강력한 코어를 필요로 하게 됨


ㅤㅤㅤ2. 비순차 실행 (Out-of-Order Execution, OoO )은 더 많은 명령을 병렬로 실행하지만 다중쓰레드 처럼 명시해서 사용할 필요가 없음
ㅤㅤㅤㅤㅤ개발자 관점에선 그냥 각 코어들이 빠르게 동작하는 것처럼 보임

ㅤㅤㅤㅤㅤ특정 위치의 메모리 장소에서 데이터를 가져오는 것은 느림
ㅤㅤㅤㅤㅤ하지만, 1바이트를 가져오나 128바이트를 가져오나 Delay 차이는 없음
ㅤㅤㅤㅤㅤ데이터는 데이터버스를 통해서 이동하는데, 이 버스가 넓으면 동시에 여러 바이트를 읽어올수 있음

ㅤㅤㅤㅤㅤCPU는 실행할때 여러 덩어리의 명령어들을 한번에 실행하게 되는데, 이 명령어들은 순차적으로 실행하게 작성되어 있음
ㅤㅤㅤㅤㅤ최신 마이크로프로세서들은 Out-Of-Order 실행을 함.
ㅤㅤㅤㅤㅤ즉 여러개의 명령어들을 분석해서, 서로간에 의존성이 있는지를 알아냄.

ㅤㅤㅤㅤㅤㅤㅤㅤ01: mul r1, r2, r3 // r1 ← r2 × r3
ㅤㅤㅤㅤㅤㅤㅤㅤ02: add r4, r1, 5 // r4 ← r1 + 5
ㅤㅤㅤㅤㅤㅤㅤㅤ03: add r6, r2, 1 // r6 ← r2 + 1

ㅤㅤㅤㅤㅤ위 명령에서 1과2는 의존성이 있지만, 3번은 앞과 전혀 상관이 없음.
ㅤㅤㅤㅤㅤ이러면 Out-of-Order 프로세서들은 의존성이 없는 3번 명령을 병렬로 실행할수 있음.
ㅤㅤㅤㅤㅤ실제로는 CPU가 한두개가 아닌 수백개의 명령어들간에 의존성을 파악할 수 있음.

ㅤㅤㅤㅤㅤCPU는 명령어를 노드 그래프로 연결하고 그걸 분석해서 병렬로 수행할수 있는 명령과, 실행전에 결과를 기다려야 하는 위치를 알아낼수 있음.

ㅤㅤㅤㅤㅤM1의 Firestrom 코어가 엄청난 속도를 내는 이유는 아주 뛰어난 Out-of-Order 실행을 하기 때문.
ㅤㅤㅤㅤㅤIntel/AMD 를 포함한 주류시장의 다른 누구보다도 뛰어날 것 같음.

- 왜 AMD 와 Intel 의 Out-of-Order 실행은 M1보다 느릴까 ?
ㅤ→ 앞에서 얘기한건 실제로는 ROB(Reorder Buffer) 라고 하며 일반적인 기계어 코드 명령이 아님(CPU가 실행하기 위해 메모리에서 가져오는)
ㅤㅤ이 명령어들은 CPU Instruction Set Architecture(ISA)라고 하며, 우리가 x86, ARM, PowerPC 라고 부르는 것들임.
ㅤ→ CPU는 내부에서 프로그래머가 모르는 완전히 다른 명령어 세트인 micro-operations (마이크로 명령어, micro-ops or μops)로 실행되며, ROB는 이 micro-ops 로 가득 차 있음
ㅤ→ ARM/x86 명령어는 공개 API, micro-ops 는 비공개 API라고 생각하면 됨.
ㅤ→ CISC 는 명령어가 크고 복잡하기 때문에 micro-ops를 꼭 써야하지만, RISC는 쓸지말지 선택할 수 있음.
ㅤㅤ(예를 들어, 작은 ARM CPU들은 micro-ops를 안써도 됨. 그렇다고 OoO를 못하는건 아님)

ㅤ→ 이게 왜 중요할까 ? "빠른 속도는 ROB를 얼마나 빨리,많이 채울수 있는지"가 중요
ㅤ→ 더 빠르게 채울수록, 더 많은 명령어를 병렬로 실행할수 있는 기회가 많아져서 성능이 향상
ㅤ→ 기계어 코드들은 디코더에 의해서 micro-ops 로 분할이 됨.

ㅤ→ 인텔/AMD 코어는 4개의 디코더가 있는데,
ㅤㅤ애플은 '미친' 8개의 디코더가 있고, ROB가 3배 더 커서 기본적으로 3배더 많은 명령어들을 담을 수 있음

- 그럼 왜 인텔과 AMD는 더 많은 명령어 디코더를 안 넣어 ?
ㅤ→ 여기서 RISC의 반격이 시작됨. M1 Firestrom 코어에 ARM RISC가 있다는게 중요.
ㅤ→ x86 명령어의 길이는 1~15바이트이고, RISC는 고정 사이즈
ㅤ→ 모든 명령어의 길이가 같으면 그냥 8개의 다른 디코더에다 잘라서 던지면 그만임
ㅤ→ 하지만, x86은 한 명령어의 다음 명령어가 언제 시작하는지를 모르기때문에 실제로 각 명령어를 분석하는 수 밖에 없음

ㅤ→ 인텔과 AMD는 이 문제를 brute-force 하게 처리하는 방법은 모든 명령어의 시작마다 디코딩 하는것
ㅤㅤ즉, 잘못된 추측이나 실수를 계속 버려야 한다는 것.
ㅤㅤ그래서 더 많은 디코더를 추가하기가 어렵지만, 애플은 아주 쉬움

ㅤ→ 이게 기본적으로 동일한 클럭 주파수에서 AMD/Intel CPU보다 두 배 많은 명령을 처리할수 있게 하는 것
ㅤ→ 현실에선 x86은 복잡한 CISC는 잘 안쓰고 RISC 처럼 짧은 명령을 주로 쓰기는 하지만, 저 15바이트짜리 명령어를 처리는 해야하기 때문에 복잡성은 있음.

- 근데 AMD의 Zen3 코어가 아직 더 빠르자나 ?
ㅤ→ 벤치마크에서 Zen3 가 Firestorm 보다 빠르긴 한데, Zen3는 5Ghz고 파이어스톰은 3.2Ghz
ㅤ→ 애플이 클럭주파수를 높이지 않는건 칩이 뜨거워 지기 때문.
ㅤ→ 기본적으로 Zen3 보다 Firestorm 코어가 우수함
ㅤ→ Zen3는 더 많은 전력을 소비하고 열을 내면서 게임에 사용할수 있지만, "애플은 그걸 하지 않기로 한 것임"
ㅤ→ 애플이 더 높은 성능을 원한다면 더 많은 코어를 추가할 것. 이를 통해 더 높은 성능을 더 적은 전력으로 낼수 있음

- 미래
ㅤ→ AMD/Intel 이 두가지 부분에서 자신들을 코너에 몰아 넣은 것
ㅤㅤ1. 이기종 컴퓨팅 및 SoC 설계를 밀어줄 비즈니스 모델이 없음
ㅤㅤ2. 복잡한 x86 CISC 명령어들이 레거시가 되어 OoO 성능을 개선하기 어렵게 만듬
ㅤ→ 물론 게임 오버는 아님. 더 클럭을 올리고 냉각을 더 하고, 더 많은 코어를 사용하고..
ㅤ→ 인텔은 더 안 좋음. 이미 코어속도에서 Firestorm에 밀리는데다가 SoC에 넣은 GPU가 후짐.
ㅤ→ 많은 코어는 당연히 서버에 좋지만, 아마존과 Ampere가 128코어로 공격하고 있음. 인텔/AMD는 양쪽을 다 싸워야 하는 상황

ㅤ→ 다행스럽게도 AMD/Intel 과 달리 Apple은 칩을 시장에 판매하지 않음
ㅤ→ 당장은 안그렇겠지만, PC사용자들은 천천히 애플로 이동하게 될 것이고, 애플은 PC마켓에서 더 많은 비중을 차지 하게 될 것

 

 

원문:  https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2?gi=sd

번역출처: GeekNews https://news.hada.io/topic?id=3315

댓글
15
그래유
best 1등 그래유
2020.12.06. 14:54

다른 부분은 제가 자세히는 모르지만,

'PC사용자들이 천천히 애플로 이동하게 될 것이고, 애플은 PC마켓에서 더 많은 비중을 차지하게 될것' 

이 부분은 동의하기 힘드네요 

[그래유]님의 댓글을 신고합니다. 취소 신고
스퀴니
스퀴니 그래유 님께
2020.12.06. 14:57

그런 말이 안나오던 해가 없었던..기억이 있습니다.

[스퀴니]님의 댓글을 신고합니다. 취소 신고
RISCVCC
RISCVCC 그래유 님께
2020.12.06. 15:02

틀린 말도 아닌게 인텔칩을 쓰고 윈도우가 돌아가면서 맥 HW자체의 점유율은 꽤 유의미하게 늘기는 했죠.  물론 OS관점에서는 오히려 윈도우의 지배권에 일조를 한 셈이 되었지만...

[RISCVCC]님의 댓글을 신고합니다. 취소 신고
그래유
best 그래유 RISCVCC 님께
2020.12.06. 15:08

그만큼 많은 사람들이 윈도우가 더 편리하고 필요하다고 생각하는게 아닐지.. 

맥 HW의 점유율은 약간은 늘 수도 있겠지만, 확실한 메이저가 되기에는 가격부터해서 여러 제약사항이 너무 많아보입니다.

 

[그래유]님의 댓글을 신고합니다. 취소 신고
RISCVCC
RISCVCC 그래유 님께
2020.12.06. 15:17

편한 수준을 넘어 윈도우는 생활환경 그 자체이지만 맥OS는 불완전하고 비싼 대안일 뿐이니까요.

[RISCVCC]님의 댓글을 신고합니다. 취소 신고
RISCVCC
3등 RISCVCC
2020.12.06. 14:58

잘못된 내용도 있고...  설명이 모자라는 내용도 있고....  전반적인 맥락은 그럭저럭 괜찮은 내용 같습니다.   

[RISCVCC]님의 댓글을 신고합니다. 취소 신고
라테린
라테린
2020.12.06. 15:00

윈도우에 ARM이 대세가 돼면됐지

맥 시장이 커질리는 없다고 봅니다

[라테린]님의 댓글을 신고합니다. 취소 신고
스퀴니
best 스퀴니
2020.12.06. 15:00

기술이 뛰어나다가.. 항상 그 시장을 잡아먹는다를 의미하지는 않았죠

 

유명한게 

 

베타맥스 vs VHS..

[스퀴니]님의 댓글을 신고합니다. 취소 신고
RISCVCC
RISCVCC 스퀴니 님께
2020.12.06. 15:04

이바닥 최고의 유명사례가 바로 그 x86 vs 나머지...  

가장 열악한 명령어 (심지어 같은 CISC진영이었던 모토롤라보다도 열악했다는....) 가 가장 큰 패권을 차지...

[RISCVCC]님의 댓글을 신고합니다. 취소 신고
스퀴니
스퀴니 RISCVCC 님께
2020.12.06. 15:05

아무리 좋다해도 제조사, 소비자가 쉽게 사용하지 못하면 그건 묻히죠. 즉 GEEK해진다는 의미..

[스퀴니]님의 댓글을 신고합니다. 취소 신고
RISCVCC
RISCVCC 스퀴니 님께
2020.12.06. 15:20

정확하게 90년대 RISC진영에서 똑같이 겪었던 일입니다....비싸고 SW는 적고  OS는 자작 UNIX일색...   

성능 좀 좋다고 털어놓고 갈만한 상황이 전혀 못되는 그런...

[RISCVCC]님의 댓글을 신고합니다. 취소 신고
데밋
데밋
2020.12.06. 15:07

읽어보니 약간 당연한 소리네요. 범용성을 포기하면 다른걸 얻을 수 있는거죠

[데밋]님의 댓글을 신고합니다. 취소 신고
바보중
2020.12.06. 15:20

제가 알고있는 내용과 다른것들이 있지만 암튼 cpu는 지금껏 경험하지 못한 충격을 업계에 주고 있죠

 

다만 주체가 애플이라는게 강점이면서 동시에 약점....

[바보중]님의 댓글을 신고합니다. 취소 신고
프란파파오
프란파파오
2020.12.06. 15:25

They control the whole widget ㅋㅋ

[프란파파오]님의 댓글을 신고합니다. 취소 신고
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 사이트 이용 수칙 230228 수정 file admin 18.08.04 114236 13
핫글 미니 삼성 공홈에서 액세서리 떨이하네요 [4] file MrGom™ 24.05.20 1408 12
핫글 미니 황회장님 픽셀 쓰시는 군요 [6] file 애갤삼아 24.05.20 1163 11
핫글 미니 갤럭시 워치7 충전 속도 15W [17] file BarryWhite 24.05.20 1017 7
91716 미니 3.0들어 초절전앱으로 전환을 많이 하네요. [5] file 이시우배찌 20.12.06 460 0
91715 미니 oneui 3.0 먹고나서는 CSC때 공초 못막나요? [8] aleji 20.12.06 415 0
91714 미니 불ㅡ편합니다 [1] file [성공]함께크는성장 20.12.06 344 1
91713 미니 노트북 서멀 재도포 실패했습니다 [18] 띠링 20.12.06 626 0
91712 미니 스마트폰 카메라 성능 중요한 분들께 질문 하나만요 [23] file choijm0715 20.12.06 628 1
91711 미니 선생님들의 고견 부탁드립니다(퍼스널컴퓨터 견적관련 건) [6] file 몽구스 20.12.06 222 1
91710 미니 OneUI 3.0 트레일러 나올때까지 숨 참습니다 file 빅스비맨 20.12.06 376 2
91709 미니 삼성 갤럭시 북 플렉스2 5G, 전작과 달라진 점 3가지(?) [34] file AlieNaTiZ 20.12.06 1364 9
91708 미니 0.6um가 한계치라고 언급했는데요 3억화소까지는 갈꺼같습니다 [8] 갤러리별 20.12.06 515 1
91707 미니 굿락은 이시대 최고의 물건입니다. [6] file 감비아산도나츠 20.12.06 908 2
91706 미니 ARM 맥북에 윈도우가 지원될 거라고 보시나요?? [8] 딸기따알기 20.12.06 613 0
91705 미니 빛사수가 GF 안쳐낸 게 신의한수... [7] RISCVCC 20.12.06 692 0
91704 미니 삼성 홈화면 위젯 사이즈를 통일성있게 맞출 수 있는 방법이 있을까요? [3] file 노크온 20.12.06 823 0
91703 미니 놋트라 가죽케이스 사십시오 [19] file 소심 20.12.06 536 5
91702 미니 적진 정탐중입니다 [26] file LG산흑우 20.12.06 1231 0
91701 미니 사람의 눈은 간사합니다 방구석민폐인생 20.12.06 279 2
91700 미니 엣지패널 기기 컬러에 맞는 핸들색에 맞춰주는거 참 좋았는데 말이죠 [3] file 감비아산도나츠 20.12.06 310 0
91699 미니 갤럭시 NX2 나오면 좋겠습니다 [2] file 선라이즈 20.12.06 418 1
미니 [퍼옴] Apple M1칩은 왜 그렇게 빠를까? #GeekNews [15] 텐에스맥스씁니다 20.12.06 1159 8
91697 미니 인텔이 가성비 싸움으로 몰고 가봐야... [6] RISCVCC 20.12.06 419 3
91696 미니 아이폰11 1달 간단사용기 [1] HQteam 20.12.06 445 1
91695 미니 TV 플렉스 준비중입니다 [14] LG산흑우 20.12.06 368 0
91694 미니 2021년형 갤럭시 북의 이름은 [4] file Darai 20.12.06 754 1
91693 미니 그옛날 갤럭시 S4 Zoom의 재림일까요 LG산흑우 20.12.06 340 1
91692 미니 600MP [7] 스퀴니 20.12.06 503 3

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

게시판 타이틀 하단에 출력 됩니다.

일반 게시판, 리스트 게시판, 갤러리 게시판에만 해당

2. 글 목록

기본 게시판, 일반 게시판, 썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

기본 10명 (11명 일 경우, XXXXX 외 1명으로 표시)

5. 댓글 설정

일정 수 이상의 추천을 받은 댓글에 표시를 합니다.

6. 글 쓰기 화면 설정

글 쓰기 폼에 미리 입력해 놓을 문구를 설정합니다.

서버에 요청 중입니다. 잠시만 기다려 주십시오...