Vào năm 2020, Apple đã thực hiện chuyển đổi từ bộ xử lý Intel và bắt đầu phát hành máy Mac chạy bằng chip tùy chỉnh của riêng mình. Do sự thay đổi, Apple cần tìm một phương pháp để mô phỏng các chương trình dựa trên x64 trên silicon mới. Apple đã tìm ra một cách – một cách rất “cổ xưa”.
Apple đã tiết lộ bộ xử lý tùy chỉnh đầu tiên của mình, Apple M1, trong một sự kiện vào tháng 11 năm 2020. Con chip này đã nhận được nhiều lời khen ngợi vì có thể mang trong mình sức mạnh trong một kích thước kích thiết kế nhỏ. M1 của Apple khiến mọi người tự hỏi liệu SoC có phải là tương lai của máy tính hay không.
Do chuyển sang kiến trúc ARM, Apple đã phải tìm ra cách cho phép máy Mac M1 sử dụng các chương trình được thiết kế dành cho máy Mac dựa trên Intel.
Apple đã sử dụng phương pháp đơn giản nhưng hiệu quả nhất: mô phỏng kiến trúc x64 trong chính Apple M1. Phương pháp mô phỏng được gọi là “Rosetta 2”, được đặt theo tên của Rosetta Stone.
Mọi người đã rất ngạc nhiên về hiệu quả của Rosetta 2. Dougall Johnson, một nhà nghiên cứu bảo mật người Úc, tin rằng ông đã biết tại sao lại như vậy.
Có một phần mở rộng không được tiết lộ bên trong Rosetta 2 hợp lý hóa quá trình lưu trữ chẵn lẻ và điều chỉnh các cờ trong một ứng dụng. Theo Johnson, điều này cho phép mô phỏng chính xác và “linh hoạt” hơn. Phần tuyệt vời nhất là nguồn gốc của tiện ích mở rộng – nó được đưa vào bộ xử lý thứ hai của Intel, Intel 8080, từ năm 1974.
Bộ vi xử lý 8 bit cổ xưa đã xử lý các điều chỉnh và bộ lưu trữ chẵn lẻ này rất cụ thể và tính năng này đã tiếp tục tìm đường vào các bộ xử lý Intel ngày nay. Nếu bạn có Core i9-13900K mới, thì sẽ có mối tương quan trực tiếp (mặc dù nhỏ) với các bộ xử lý cung cấp năng lượng cho một số máy tính cách đây gần 50 năm.
Các bit 26 và 27 trong thanh ghi cờ của ARM được dành riêng cho quá trình này, mặc dù hai bit này chỉ được gán cho hành động này khi Rosetta 2 hoạt động. Rosetta 2 không kích hoạt trừ khi nó phát hiện ra một chương trình được tạo cho máy Mac dựa trên Intel, gán lại hai bit và cho phép Rosetta 2 hoạt động với tốc độ nhanh thông thường.
Thật thú vị khi xem các phương pháp mà Apple đã triển khai để cho phép mọi người tiếp tục sử dụng các chương trình được thiết kế cho các máy Mac dựa trên Intel cũ hơn. Ý tưởng về toàn bộ kiến trúc định tuyến lại hai bit để xử lý các hoạt động giống như cách mà một bộ xử lý được phát hành dưới thời chính quyền Nixon thực sự rất hấp dẫn.