아침에 GeekNews 들렀다가 재밌는(?) 글이 있어 함께 봤으면 하고 퍼왔습니다.
읽다보면, 소싯적 애플포럼 Casoubon님이 번역해서 소개해주시던 글 생각이 납니다.
-----
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마켓에서 더 많은 비중을 차지 하게 될 것
원문: 출처 참조
번역출처: GeekNews https://news.hada.io/topic?id=3315
/Vollago
/Vollago
맥 점유율이 유의미하게 상승할 수 있는 변환기가아닐지...
/Vollago
하긴 수십년의 시간동안 씨퓨 꽂고 램 꽂고 글카 꽂고...
Firestorm 몇번 오타가 보였습니다
4-500만원짜리 겜용 맥이 나온다면.. 수요는 꽤 있을수도
기본적으로 M1맥북을 사용해서, 게임이 아닌, 일반적인 문서, 웹브라우징, 동영상 디코딩, 인코딩을 하는 작업에서는 M1맥북이 넘사벽이 되지 않을까 하는 우려가 있습니다.
실제로, M1사용자들의 트위터들을 보면, 10% 배터리 남았는데, 성능저하 없이 1시간이 넘게 쓰고 있다라는 글들을 보고 있다보면...
맥을 안쓰는 이유가.
1. 오피스
2. 게임
3. 자체 프로그램
4. 가격
개인사용자는 3번은 상관 없겠지만 이미 점유율이 10%에서 20%를 넘어가고 있는 상황에서(수정* 미국한정입니다), 게임성능이 올라가는 것 만으로도 점유율 상승은 확정적입니다. 그리고, 그 게임을 맥북에어나 맥북에서는 상상도 못하던 것이 이제는 가능하다는 점에서 눈에띄는 가격하락의 효과를 보고있는 것이죠.
기업체에서의 맥사용은 암울합니다만, 신생기업의 경우 맥사용 비중이 큰편이고, 자체 프로그램도 웹중심으로 바뀌면서, 피씨를 사용해야할 이유가 줄어들고 있습니다. 그럼에도, 오피스는 절대적입니다.
그리고 또다른 무시못할 이유중 하나는 피씨 메이커가 만들어내는 것들이 점점 변변치 않다는 겁니다.
결국 가격이 관건일 것 같아요.
그리고 storage 도요... 사실 한 번에 넘어가지는 않았지만, 지금 PC시장이 예전보다는 줄었고, 맥사용자가 예전에 비해 늘기는 했죠. 뭐 아이폰의 영향도 있었지만요.
20% 요?
트렌드포스는 “2021년 글로벌 노트북 컴퓨터 출하량을 전년대비 1.9% 성장률을 예상할 때 애플의 시장실적은 두드러질 것으로 나타났다. 자체 개발한 M1 칩과 내년 맥북 출하량 증가로 애플은 2020년 8%에서 2021년 8.7%로 세계 노트북 시장 점유율을 끌어올릴 것으로 전망된다”고 밝혔다.
네, 미국 점유율인데 전세계로 착각했습니다.
윈도우 진영에 m1칩 파는 것도 아닌데. 윈도우 사용자가 맥의 m1 으로 간다 이건 좀 비약이죠.
결국엔 윈도우 진영도 사다 쓸만한 arm칩셋이 나올거라는 예측이 맞는 거죠.
애플이 m1칩셋을 타제조사에 판다면 모르겠는데 그럴리는 없으니까요.
맥쓰는 일부 유저들은 윈도우 유저들이 돈 없어서 윈도우 쓰는 줄 아는가 봐요 그러니까 이런 결론이 나오죠. ㅋㅋㅋㅋ
2D캐드도 그렇고... 3D쪽은 뭐 ... ㅠ
그럼에도 이런식의 새로운 패러다임으로 다시금 무어의 법칙이 돌아가도록 한 느낌입니다
일단 여태까지는 솔직히 하드웨어가 여러모로 뒷받침되지 못하기도했고...
업종 특성상 SW를 한둘이 아니라 복합적으로 툴들을 쓰다보니 환경적으로 맥은 여러모로 쉽지않으거같습니다.
단순히 한두개 툴만 된다고 해결가능한게 아니라서... 게다 플러그인들지원도 생각하면 뭐 ;;
사실 맥을 전문적인 영역에서 사용가능한 영역이 산업 전체로보면 오히려 일부인걸 생각하면 그러려니 싶구요.
앞으로도 윈도우PC를 여러모로 한참 따돌리는 퍼포먼스가 나와줘야 좀 반응이 있을거같네요.
물론 최고의 시나리오라고 해도 전체 스마트폰 대비 아이폰의 점유율 정도겠지만요.
그리고 속도 면에서 단순 arm 칩셋이 아니라, SoC가 핵심 아닌가요??
다른 나라에서는 일상 사무를 맥으로 보는 사람들이 꽤 많습니다. 느려도 편해서 쓰는 사람이 많았다는 얘깁니다.
맥이 가벼우면서 성능도 월등하게 좋아진다면, "애플은 PC마켓에서 더 많은 비중을 차지 하게 될 것"이라는 예측이 틀리기도 힘들 겁니다.
외국 원 글을 번역해서 가지고 온 것도 알고 썼습니다.
이전 맥북이 성능상 타사 랩탑에 비해 안 좋은 적이 있습니까?
제가 볼 때 그런 적은 딱히 없군요. 그런데
왜 그전에는 싹 다 안 넘어갔을까 월등하지 않아서?
아니죠 윈도우가 아니었기 때문입니다.
이건 지금도 마찬가지 입니다.
사람들이 맥을 구입하지 않는 이유 중에 윈도우가 아니라 한국에서 사용하기 어렵다는 점도 분명 있지만, '감성값' 이라는 이미지도 컸습니다.
"표기성능은 비슷한데 다른 OS 를 쓰는 불편함까지 비싼 돈 주고 사야돼?" 라는 인식이요.
인텔/AMD처럼 전력을 더 공급하면서 쿨링을 제공하면 클럭을 더 끌어올리는게 기술적으로는 가능한거란 건가요?
CISC, RISC의 특성을 애플은 비즈니스 모델에 준해서 잘 파악하고, RISC의 특성을 최대화 했고, 이 최대화 포인트가 PC시장을 위협하고 있다라는 점인 것 같습니다.
아 물론 여러 사업적인 판단으로 결정한거란건 저도 이해하겠는데, 본문에서는 M1에 대해서
ㅤ→ Zen3는 더 많은 전력을 소비하고 열을 내면서 게임에 사용할수 있지만, "애플은 그걸 하지 않기로 한 것임"
라고 할수있지만 그렇게하지 않은게 애플의 선택이라 한 점에 이야기하서 적어본겁니다.
물론 지금성능도 충분히 놀랍지만 그래도 전력과 발열이 필요이상으로 여유로운거 같아서.... 개인적으론 감당가능한수준에서 터보부스트등으로 스윗스팟이상 클럭을 끌어올려 성능을 내는건 충분히 합리적인 방법인거 같은데 이걸 할수있는데 안한건지 아니면 못한건지 궁금한거거든요.
단적으로 맥북 에어와 프로의 갭이 너무 낮죠;;
지금의 13인치 M1 맥북프로는 사용자 반응을 보기 위해 내놓은 느낌이예요.
사용자들은 적은 발열을 택할까 고성능을 택할까.
이 기준으로 리프레시 맥북프로의 미래가 결정될거라 봅니다.
현재 ARM 코어의 핵심적 문제로 ARM에서도 이 이후 아키텍처에서는 매년 드라마틱하게 올라가는 성능에는 제한이 있을것으로 생각하고 있습니다
이전에 ARM의 한계니에 대한 이야기도 많았는데 나온게 M1이니...
인텔/AMD의 터보부스트 같은걸 할 수있는데 안한것이 애플의 선택이라고 되어있는데, 그래서 기술적으로 가능여부가 좀 궁금했습니다.
이거는 System on Package : SOP 가 맞는거 같은데요. SoC 는 단일 칩 안에 구성되어야 하는거라 한계가 있는데 Package 기술의 발달로 SOP 가 각광 받게 되었죠....
risc가 강점만 있었다면 진즉에 risc로 발전해갔겠죠?
비싼게 흠인데
제품 파편화가 없고 단일기종으로 판매량이 많은데다
수많은 어플개발사 입장에서 애플이 갑의 입장이다보니..
애플만이 가능한 전략인데..
싸게 내놔서 일반인도 접근할 수 있도록 해줬으면 좋겠네요.
M1이 차세대 칩이라는거죠
x86이 구세대 칩이고
성능이 너무 압도적이면
프로 작업자들이 성능과 시간때문이라도
안넘어갈수가 없습니다
이미 프로시장은 그런게 크게 좌우되는 시장이고
일반 시장은 스마트폰들이 잠식해서
x86입지는 점점 더 좁아지고 윈도우등도 마찬가지 운명이죠. PC 게이머들 시장이 소수죠
저도 3년 정도 후의 macOS 점유율이 정말 기대됩니다.
개인적으로는 글로벌 기준 20%로 점 찍어봅니다. (...)
이미 일반 사무직에서는 웹의 비약적인 발전으로 OS를 가릴 이유가 없어졌고. (오피스가 관건인데, 우리의 MS가 달라졌어요죠. )
더군다나 iOS 앱의 생태계까지 안고 가게 되었으니.. 미래가 정말 기대됩니다.
만약 x86도 M1처럼 단순하게 엄청 빠르게 memory를 access해서 그 복잡한 bus구조를 거쳐 실제 명령어를 patch해오는 과정을 건너 뛰게 해놓아야 진정한 CPU core속도 비교가 된다고 생각합니다.
비디오카드 업그레이드를 할 수가 없...;;
윈도우 진영도 ARM쪽으로 넘어와야 하는 시기가 다가오지 않았나 싶습니다. 애플이 해서가 아니라, ARM이 주는 장점이 꽤 크다고 봅니다.
엄청난 성능이 아니어도 ARM으로의 변화는 필연적이라고 생각합니다.
그냥 윈도우 써도 되는 상황인데 M1때문에 넘어가고 싶을 정도이니까요.
점유율이 늘면 분명 이런부분이 크게 대두될거라 생각합니다
근데 점유율이 올라가면 점점 돈이 될테니 여러 오점이들이 까발려지겠죠.
게다가 QA에서 마땅히 걸려졌어야 할 단순하면서도 치명적인것들까지 나왔어서..
왠만한 업무용 프로그램은 다 맥에서 돌아가고 (오피스, 어도비 앱들, 프로그래밍툴 등)
이제 게임남았는데 최근에는 유니티나 언리얼을 이용해 개발되는 게임이 많으니
이것도 시간 문제라고 봅니다.
그렇다면 제 입장에선 가볍고 조용하고 빠른 m1들어간 맥을 안쓸 이유가 없네요
그냥 클라우드 게이밍 대응하면 되는지라....
맥쪽이 gpu가 후져서 게임하는 사람들이 별로 없었지만, 이게 바뀌면, 지원하는건 별 문제 없을거에요.
기술의 패러다임도 패션 유행 처럼 돌고 도는 것 같습니다
물론 단점을 기술로 보완해서 말이죠
어쨌든 고인 물은 썩으니 적당한 경쟁으로 인한
변화는 모두에게 좋은 것 같습니다.
본체도 작아지고 여름에 열관리도 쉬워지겠죠
기대하시면 안되요
인텔 AMD에는 기대해도 x86은 안됩니다.
x86은 이미 인텔과 amd 모두 7년 쯤 전부터 가망이 안보인다고 판단하고 있어요.
이미 탈출구를 알아보는 중이죠.
윈도가 32비트 미지원에 dx9, dx10, dx11 미지원하고
32비트 미지원 64비트 프로세서에 dx12만 지원하는 글카가 나와도
지금 cpu, gpu 전력소모량은 반토막 날텐데 말이죠.
그렇다고 인텔이나 AMD가
ㅤ→ ISP(Image Processing Unit) : 이미지 프로세싱 속도 증가
ㅤ→ DSP(Digital Signal Processor) : CPU보다 더 수학집약적인 기능을 수행. 음악파일 압축 해제와 같은
ㅤ→ NPU(Neural Processing Unit) : 머신러닝, 음성인식, 카메라 처리등을 가속
ㅤ→ Video Encoder/Decoder : 저전력으로 비디오 파일/포맷 처리
ㅤ→ Secure Enclave - 암호화, 인증, 보안
를 넣을수도 없어요.
불필요한 비용 증가와 면적 증가만 발생시키죠.
애플은 적어도 OS에서는 사용하겠지만..
인텔, AMD는 이런 기능을 넣어도 사용할 수 있는 곳이 없습니다.
마소가 이미지 프로세싱 API를 만들면 넣을 수 있겠지만..
인텔이나 AMD가 자체 SoC에 ISP를 넣더라도 이미지 프로세싱 API를 활용하는 앱은 또 얼마나 나올까요?
위 글의 결론에도 써있듯이.. 인텔 amd는 결국 대항하기 힘든게 현재 윈도 생태계의 구조입니다.
윈도는 개발자에게 자유(?)를 주고 싶고, cpu 제조사는 전력 소모를 줄이기 위해 레거시를 미지원 해버리고 싶어하며(arm은 못해도 오래된 명령어 제거한 x86 lite 따위는 만들어야죠) 윈도 앱 개발자는 새로운 것을 배우고 싶어하지 않습니다.
cisc는 새로운 연산이 추가되면 명령어를 추가하는 방식입니다.
예를 들어 +와 - 연산만 가능한 CPU가 있었는데, *연산을 하고 싶다고 가정해봅시다.
개발자가 10*10 프로그램을 만들면 RISC는 OS가 10을 10번 더하게 만들고, CISC는 CPU에 * 연산을 추가하는 방식입니다.
컴퓨터는 0과 1로 작동합니다.
+,- 연산만 존재하는 컴퓨터는 0에서 +, 1이면 -연산을 하도록 cpu가 만들어질것입니다.
+-*/ 지원하는 컴퓨터는 00이면+, 01이면-, 10이면 *, 11이면-가 되게 됩니다.
연산이 1024개가 되면 CISC는 10개의 숫자가 있어야 어떤 연산을 할지 정할 수 있고, RISC는 그 1024개의 연산을 +와 -로 구현한다면 1개로 가능할겁니다.
현재 x86은 숫자 계산보다 현재 명령어가 +인지 -인지 *인지 /인지 구분하는데 훨씬 많은 전력을 소비하고 있습니다.
그렇지만 이러한 이유로 x86은 더 이상 새로운 명령어를 추가하기 힙듭니다.
이미 디코더 전력소모량과 발열이 큰데 여기서 뭘 또 늘리겠어요.
x86은 제조공정 개선 외에 성능, 전력소모, 발열 증가시킬 방법을 찾기 힘듭니다.
(그래서 계속 AMD가 7nm 부터 제조공정을 강조하고 있는 것이구요)
그리고 ARM이 왜 RISC가 아니라고 말씀하시는지요?
하지만 이해에 굳이 필요한 문장은 아닌 것 같아서 해당 문장은 제거하겠습니다
CPU 전체를 2개로 나누자며 RISC에 가까운것은 맞지만 같지는 않죠.
비디오 가속도 지금은 그래픽카드에서 처리합니다.
AMD와 엔비디아에서 제공해주고 있죠.
OS에서 해주고 있는 것은 아니구요.(대부분의 디코딩과 일부 인코딩은 OS에서 제공함.)
그리고 AMD는 여전히 하드웨어 가속이 안되는 곳이 많고, 애플은 비디오 관련 장치에서 하드웨어 가속(애플 가속)이 지원 되지 않는 곳을 찾기가 힘듭니다.
GPU에는 넣을 수 있지만 해당 기능들은 윈도가 지원하지 않는 한 SoC에 넣기는 힘든것이 사실입니다.
GPU가 UMA가 안되기 때문에 내장 GPU는 GPU의 위치만 다를 뿐 외장 GPU와 다를것이 전혀 없습니다.
애플 M1과의 차이점이죠.
대부분의 인코더가 HW 가속을 미지원 하고, HW 가속이 되더라도 변환의 오버헤드로서 CPU 전력소모가 꽤 큽니다.
맥에서는 윈도와 맥 동시에 지원하는 앱을 제외하고는 하드웨어 가속 미지원 앱을 찾기가 힘든것과는 반대되죠.
오히려 애플에서 그동안 맥에서 비디오 인코딩/디코딩용으로 탑제하던 T2칩이 쓰이는곳이 훨씬 적죠