애플의 M1 칩이 틀별한 이유는 뭘까?
최근 컴퓨터를 공부하면서 제가 구매한 맥북 m1칩은 왜이리 특별하고 좋을까 ? 라는 의문을 가지게 되어서
기존의 컴퓨터 구조와는 m1 칩이 어떤점이 특히 눈에 띄게 다른지 제 뇌피셜을 포함하여 정리해보겠습니다.
우선 m1 칩이 기존의 cpu 와 다른 점을 나열하자면 정말 끝이 없을 것 같은데 간략히 짚어보도록 하겠습니다.
일단 첫째 시스템에 칩이 포함된 soc (system on a chip)구조
기존 피시에서 각각의 부품과 칩셋들이 따로 연결되어 유기적으로 연결된 것이 아니라 m1칩은 그자체로 하나의 컴퓨터로 볼 수 있을만큼 모든 기능을 한번에 포함하고 있습니다.
둘째 CPU GPU 등이 나뉜게 아닌 여러 칩들이 한 데 모인 통합형 구조
위의 맥락과 같은 맥락으로써 각 cpu 와 gpu 역할을 하는 부품들이 한데 모여 더 나은 호환성을 보입니다.
셋째 CPU 와 핵심 부품이 전반적인 연산을 하는게 아니라 각 작업에 필요한 각 칩들의 전문화
CPU와 GPU들이 모든 연산을 다 담당했다면 m1 칩은 이미지처리 프로그램, 머신러닝, 비디오파일처리,암호화 등 각 기능에 해당하는 칩이 전용적으로 따로 배정되어 훨씬 연산 속도를 높인다고 합니다.
넷째 통합 메모리로 메모리간 데이터 복사의 불필요
톱합 CPU 와 GPU도 서로 다른 메모리 영역을 쓰기 때문에 같은 데이터를 복사해서 전달해야하지만 Unified Memory Architecture 에서는 그럴 필요가 없어서 데이터의 처리속도가 훨씬 빠릅니다.
다섯째 뛰어난 비순차 실행 능력
명령어를 처리할때 순차적으로 처리하는게 원칙 이지만 애플은 여러 명렁어를 분석한 뒤 의존성이 없는 명령어는 순서에 관계없이 우선처리 해버리는 out of order Execution 기술이 뛰어나다고 합니다.
여섯째 더많은 디코더로 더 많은 명령어를 담을 수 있음
애플은 인텔,AMD에 비해 3배 많은 디코더를 가지는데 이 디코더들은 더 많은 명령어를 병렬로 실행하게 해줍니다. x86 명령어는 길이가 불규칙하지만 애플의 RISC는 고정사이즈를 지니기 때문에 더 많은 명령어를 처리하기 쉽기때문에 더 많은 디코더를 추가하기 쉽습니다. 더 많은 명령어를 처리하면 더 빠르겠죠?
여기까지가 애플 m1 칩이 혁신적인 대략적인 이유였고 이제 왜 이런 혁신이 발생할 수 있었나라는 핵심에 대해 제 뇌피셜을 간략히 써보려고합니다.
아이러니한 독점체제
기존에는 분업을 통한 협업이 기술혁신과 발전에 큰 도움이 되었고 산업의 고도화가 심해지면서 분업화는 더욱 눈에띄는 분야였다고 생각합니다. 하지만 애플은 반대로 움직이고 있습니다. 본인만의 OS를 독자생산하고 하드웨어 또한 그러하며 이제는 intel 에서 빠져나와 본인만의 칩셋을 만들기까지 합니다.
아이러니하게 이런 오직 자신만의 생태계에서 자신들의 하드웨어와 운영체제를 통합하는 유일한 기업이라는 점에서 m1 칩의 폭발적인 효율이 나온 것 같습니다.
기존 인텔과 AMD는 여러 회사에 칩을 제공하는 입장에서 범용적인 칩 생산 그리고 마이크로 소프트사의 운영체제의 호환을 신경쓸 수 밖에 없었고 이 대기업들이 자신들의 기술을 까발린채 협업하며 m1칩과 같은 독자적 생태계를 만들기는 어렵다고 생각합니다.
SOC 체제가 없었는가 과거에는?
칩하나에 시스템이 있었던 노트북들이 과거에 있었습니다만은 m1 칩 처럼 서로 상호효율을 혁신처럼 보여주는 제품은 여태 없었고 이것이 애플이 의도한 바인지는 모르겠습니다. 하지만 고도의 기술력으로 뛰어난 칩셋을 만드는 것도 대단하지만 이렇게 고도화 된 컴퓨터라는 분야에서 독점적 생태계를 그려내고 구축하고 최고의 호환성을 보여주며 오직 자신들의 제품으로 시장을 제패해가는 애플의 비전과 기술이 합쳐서 이런 혁신적인 나왔다고 생각합니다.
'개발공부하며 느낀 인생 공부' 카테고리의 다른 글
메가테라 3주차 강의 필기 노트 (0) | 2022.05.23 |
---|---|
초보 개발자 2주차 공부 느낀점(메가 테라 2주차 주간회고) (0) | 2022.05.21 |
자바로 헬로 월드! 만들기, 자바는 자바스크립트와 다른가? (메가테라 2주차 자바 공부 요약) (0) | 2022.05.16 |
일잘하는 개발자가 되기위한 과정 메가테라 1주차 회고 (0) | 2022.05.14 |
컴퓨터 하드웨어 용어 정리 및 이해 (0) | 2022.05.08 |
댓글