Trong một loạt trao đổi trên Twitter, Shac Ron, một kĩ sư kernel từng làm cho Apple, đã chia sẻ rằng chip Apple M1 có được như ngày hôm nay là nhờ sự chuẩn bị kĩ càng của Apple từ gần 10 năm trước, cũng như nhờ vào sự hợp tác chặt chẽ giữa Apple và ARM.
Mọi chuyện bắt đầu khi có người tweet rằng “Thứ làm cho M1 tốt chẳng liên quan gì tới ARM. Bộ nhớ cache đó thật ấn tượng”. Shac Ron không đồng ý, và cho biết Apple chính là người đã đặt hàng ARM thiết kế kiến trúc ARM64 từ tận năm 2010.
Và nếu bạn chưa biết thì Apple cũng từng dùng chip ARM từ tận năm 1990, khi đó ARM còn thuộc sở hữu của một công ty tên là Acorn Computers. Apple là khách hàng lớn đầu tiên của Arcon khi đưa chip ARM lên chiếc PDA Newton. Ban đầu chữ ARM có nghĩa là “Acorn RISC Machine”, nhưng năm 1990 Acorn đã đổi tên công ty thành “Advanced RISC Machines Ltd” nên sẵn tiện họ đổi luôn tên của kiến trúc bộ xử lý do mình thiết kế. Theo Steve Furber, người đã góp phần tạo ra ARM, thì việc đổi tên này còn là để làm hài lòng Apple vì khi đó Apple không muốn liên quan tối tên của đối thủ cũ (chính là Acorn). Năm 1998, khi lên sàn chứng khoán, ARM đổi tên thành “ARM Holdings”. Đã từng có thời Apple nắm 43% cổ phần tại ARM, sau đó bán đi.
Quay trở lại với ARM64, con chip đầu tiên sử dụng kiến trúc 64-bit này là Apple A7, ra mắt năm 2013. Thời điểm Apple A7 ra mắt là một cú hit lớn trong ngành di động vì khi đó mọi đối thủ khác trong mảng chip mobile như Samsung, Qualcomm vẫn chưa ra mắt SoC 64-bit nào cả, tất cả chip di động vẫn là 32-bit. Bản thân Android cũng chưa hỗ trợ cho 64-bit, và Qualcomm từng thừa nhận họ bị bất ngờ về nước đi này. Thậm chí khi Apple giới thiệu A7 thì ARM còn chưa kịp hoàn thiện thiết kế nhân CPU Cortex 64-bit của chính mình, thứ họ dùng để bán cho Samsung, Qualcomm.
Ron nói thêm định hướng của Apple với chip ARM khi đó là nhiều nhân và xung nhịp thấp, rồi từ từ tăng lên sau. Apple A7 có 2 nhân chạy ở 1,3GHz, giờ thì chip A14 có 6 nhân chạy ở mức 2,99GHz, 4 nhân GPU và 16 nhân Neural Engine. Trong khi đó chip M1 thì có 8 nhân CPU 3,2GHz, 8 nhân GPU và 16 nhân Neural Engine.
Ngoài ra, Apple còn tin rằng cách thực thi tập lệnh theo dạng Out-of-Order (OoO) là cái nên dùng vì nó giúp CPU tận dụng tốt hơn các chu kỳ tính toán. Cách truyền thống đó là lệnh nào đi vào trước thì CPU sẽ thực thi trước, còn Out-of-Order thì quyết định thực thi lệnh dựa vào dữ liệu đầu vào cũng như các đơn vị xử lý còn trống. Giải pháp OoO giúp giảm thời gian mà CPU ở không. Khi mà số bóng bán dẫn ngày càng tăng lên (chip M1 có 16 tỉ bóng) thì điều này mang lại lợi ích rất lớn. Ngày nay đa số CPU đều dùng OoO.
Cũng không thể không kể đến việc Apple tùy biến lại kiến trúc ARM64 để hỗ trợ một số tập lệnh mà chỉ Apple mới có, các chip khác dùng ARM64 thì không. Việc này cho phép Apple tối ưu con chip cho đúng thiết bị của mình, thay vì phải hỗ trợ cùng lúc nhiều nhà sản xuất, nhiều nền tảng khác nhau, nên nó đạt được hiệu năng và mức độ tiết kiệm điện cao.
Mọi chuyện bắt đầu khi có người tweet rằng “Thứ làm cho M1 tốt chẳng liên quan gì tới ARM. Bộ nhớ cache đó thật ấn tượng”. Shac Ron không đồng ý, và cho biết Apple chính là người đã đặt hàng ARM thiết kế kiến trúc ARM64 từ tận năm 2010.
Và nếu bạn chưa biết thì Apple cũng từng dùng chip ARM từ tận năm 1990, khi đó ARM còn thuộc sở hữu của một công ty tên là Acorn Computers. Apple là khách hàng lớn đầu tiên của Arcon khi đưa chip ARM lên chiếc PDA Newton. Ban đầu chữ ARM có nghĩa là “Acorn RISC Machine”, nhưng năm 1990 Acorn đã đổi tên công ty thành “Advanced RISC Machines Ltd” nên sẵn tiện họ đổi luôn tên của kiến trúc bộ xử lý do mình thiết kế. Theo Steve Furber, người đã góp phần tạo ra ARM, thì việc đổi tên này còn là để làm hài lòng Apple vì khi đó Apple không muốn liên quan tối tên của đối thủ cũ (chính là Acorn). Năm 1998, khi lên sàn chứng khoán, ARM đổi tên thành “ARM Holdings”. Đã từng có thời Apple nắm 43% cổ phần tại ARM, sau đó bán đi.
Quay trở lại với ARM64, con chip đầu tiên sử dụng kiến trúc 64-bit này là Apple A7, ra mắt năm 2013. Thời điểm Apple A7 ra mắt là một cú hit lớn trong ngành di động vì khi đó mọi đối thủ khác trong mảng chip mobile như Samsung, Qualcomm vẫn chưa ra mắt SoC 64-bit nào cả, tất cả chip di động vẫn là 32-bit. Bản thân Android cũng chưa hỗ trợ cho 64-bit, và Qualcomm từng thừa nhận họ bị bất ngờ về nước đi này. Thậm chí khi Apple giới thiệu A7 thì ARM còn chưa kịp hoàn thiện thiết kế nhân CPU Cortex 64-bit của chính mình, thứ họ dùng để bán cho Samsung, Qualcomm.
Ron nói thêm định hướng của Apple với chip ARM khi đó là nhiều nhân và xung nhịp thấp, rồi từ từ tăng lên sau. Apple A7 có 2 nhân chạy ở 1,3GHz, giờ thì chip A14 có 6 nhân chạy ở mức 2,99GHz, 4 nhân GPU và 16 nhân Neural Engine. Trong khi đó chip M1 thì có 8 nhân CPU 3,2GHz, 8 nhân GPU và 16 nhân Neural Engine.
Ngoài ra, Apple còn tin rằng cách thực thi tập lệnh theo dạng Out-of-Order (OoO) là cái nên dùng vì nó giúp CPU tận dụng tốt hơn các chu kỳ tính toán. Cách truyền thống đó là lệnh nào đi vào trước thì CPU sẽ thực thi trước, còn Out-of-Order thì quyết định thực thi lệnh dựa vào dữ liệu đầu vào cũng như các đơn vị xử lý còn trống. Giải pháp OoO giúp giảm thời gian mà CPU ở không. Khi mà số bóng bán dẫn ngày càng tăng lên (chip M1 có 16 tỉ bóng) thì điều này mang lại lợi ích rất lớn. Ngày nay đa số CPU đều dùng OoO.
Cũng không thể không kể đến việc Apple tùy biến lại kiến trúc ARM64 để hỗ trợ một số tập lệnh mà chỉ Apple mới có, các chip khác dùng ARM64 thì không. Việc này cho phép Apple tối ưu con chip cho đúng thiết bị của mình, thay vì phải hỗ trợ cùng lúc nhiều nhà sản xuất, nhiều nền tảng khác nhau, nên nó đạt được hiệu năng và mức độ tiết kiệm điện cao.