Xem bản thử nghiệm

Kiến trúc CPU - Nguyên nhân sâu xa cho thất bại đau đớn của Intel trước ARM

Nguyễn Hải , Theo Trí Thức Trẻ

Sa thải 12.000 nhân viên bộ phận di động, chấp nhận gia công cho đối thủ ARM, những thất bại đó của Intel có gốc rễ từ một vấn đề kỹ thuật mà họ không đảo ngược được.

Vậy là sau một thời gian nỗ lực bám đuổi với hy vọng cạnh tranh được với nền tảng chip ARM trên thị trường chip di động, Intel đang cho thấy ý định rời bỏ cuộc đua của mình. Thỏa thuận hợp tác được ký kết vào hôm qua đang cho thấy rõ nét hơn điều đó. Theo đó Intel sẽ gia công các chip ARM ngay trong nhà máy của mình cho bên thứ ba nào có yêu cầu.

Thỏa thuận này có thể được xem như một sự thừa nhận thất bại của Intel trước ARM. Nhưng tại sao một nhà sản xuất và thiết kế chip đang làm mưa làm gió trên thị trường máy tính PC và máy chủ như Intel lại phải chịu thất bại cay đắng này? Nguyên nhân khá rõ ràng. Sự chuyển dịch của người dùng sang các thiết bị điện toán di động đã làm gia tăng nhu cầu về một bộ xử lý với triết lý ưu tiên tiết kiệm năng lượng của ARM hơn là triết lý ưu tiên hiệu suất cao của Intel.

Trên thực tế, sự khác biệt giữa ARM và Intel về tiêu thụ năng lượng và hiệu suất xử lý nằm ở chính kiến trúc của hai bộ xử lý này. Chính từ sự khác biệt về kiến trúc giữa hai bộ xử lý này đã kéo theo sự khác biệt về số phận của hai người khổng lồ trong ngành công nghiệp thiết kế chip này. Trong khi Intel với nền tảng x86 của mình sử dụng kiến trúc CISC, thì nền tảng ARM đi theo kiến trúc RISC.

Sự khác biệt giữa hai kiến trúc này là gì?

Ngay ở tên gọi, người ta đã thấy sự đối nghịch về triết lý thiết kế của hai kiến trúc này. CISC (viết tắt của Complex Instruction Set Computing ) là kiến trúc mà bộ xử lý phải giải quyết các tập lệnh phức tạp, với mỗi tập lệnh có thể thực hiện nhiều phép toán cùng một lúc. Đối lập với kiến trúc này là RISC (viết tắt của Reduced Instruction Set Computing), với các tập lệnh rút gọn của nền tảng ARM.

Vào thời kỳ đầu của công nghiệp máy tính, mỗi byte bộ nhớ còn quá đắt làm cho bộ nhớ vốn đã chậm lại còn ít, nên một tập lệnh có thể thực hiện được nhiều phép toán và được nén tốt của kiến trúc CISC sẽ giúp cải thiện mật độ thông tin trong một mã lệnh. Điều này sẽ dẫn đến kết quả là kích thước của các chương trình nhỏ hơn. Ngoài ra, một mã lệnh thực hiện được nhiều phép toán sẽ giúp giảm đáng kể số lần phải truy cập vào bộ nhớ chậm chạp. Do vậy sẽ giúp giảm chi phí cho bộ nhớ và tăng tốc độ thực thi.

Tuy nhiên, sau nhiều năm phát triển theo xu hướng này, các tập lệnh của bộ xử lý ngày càng trở nên lớn hơn và phức tạp hơn. Trong khi đó, để CPU có thể thực thi được một tập lệnh phức tạp này, nó cần thực thi 3 đến 4 tập lệnh đơn giản khác. Do vậy, trong trường hợp cần thực thi các tác vụ đơn giản, một tập lệnh phức tạp sẽ không hiệu quả bằng một chuỗi các tập lệnh đơn giản hơn. Ngoài ra, việc CPU cần hàng chục xung nhịp chỉ để thực thi một lệnh duy nhất cũng làm CPU tiêu tốn năng lượng hơn.

Kiến trúc RISC của nền tảng ARM

Đối lập với triết lý của CISC, các CPU kiến trúc RISC theo hướng đơn giản hóa tập lệnh, trong đó thời gian thực thi tất cả các lệnh là như nhau. Ưu điểm của kiến trúc này đó là các CPU sẽ thực thi rất nhanh vì lệnh trong tập lệnh rất đơn giản, nên có thể thực thi đến 1 xung/lệnh. Ngoài ra, do chiều dài tập lệnh là cố định nên các CPU sử dụng kiến trúc này cũng đơn giản hơn, dùng ít transitor hơn so với CPU sử dụng kiến trúc CISC.

Ví dụ bộ vi xử lý RISC-I ra đời năm 1982 chỉ chứa 44.420 transitor so với con số trung bình 100.000 transitor cho một vi xử lý CISC cùng thời.

Mọi CPU hiện đại đều sử dụng đến một khái niệm được gọi là microcode, một tập lệnh bên trong CPU để mô tả các lệnh chi tiết mà CPU cần thực hiện. Chính các phép tính nhỏ hơn này mới là điều CPU thực sự thực thi. Do trong các CPU kiến trúc RISC, các lệnh trong tập lệnh và các lệnh trong microcode rất gần với nhau nên quá trình chuyển đổi diễn ra nhanh hơn, tiêu thụ ít năng lượng hơn khi so với các CPU sử dụng kiến trúc CISC.

Intel không phải không biết đến nhược điểm này và họ cũng nỗ lực cho ra mắt các bộ xử lý Intel Atom với thiết kế nhiệt tương tự như các bộ xử lý nền ARM khác. Tuy nhiên, bộ xử lý Intel Atom làm được điều này nhờ vào việc sản xuất trên quy trình 22 nm, trong khi đó các bộ xử lý nền ARM có mức tiêu thụ năng lượng tương tự vẫn sử dụng quy trình sản xuất cao hơn. Ví dụ, chip Qualcomm Snapdragon 805 sử dụng quy trình 28 nm.


Bảng so sánh tỷ lệ dung lượng pin với thời gian lướt web, cho thấy một phút lướt web sẽ ngốn bao nhiêu điện năng

- thấp hơn là tốt hơn

Bảng so sánh tỷ lệ dung lượng pin với thời gian lướt web, cho thấy một phút lướt web sẽ ngốn bao nhiêu điện năng

- thấp hơn là tốt hơn

Cho dù đạt được mức tiêu thụ năng lượng tương đương, chip Atom vẫn còn một điểm thua kém khác so với các đối thủ ARM, đó là khả năng tích hợp thêm các thành phần khác vào trong chip. Các chip nền ARM, với kiến trúc RISC đơn giản hơn, có thể dễ dàng tích hợp thêm các thành phần khác như modem 4G. Trong khi đó, nếu Intel Atom tích hợp thêm các thành phần này, không chỉ làm gia tăng giá thành, mà còn năng lượng tiêu thụ và mức nhiệt sản sinh ra cũng sẽ tăng thêm đáng kể.

Không những vậy, với vị thế là người đến sau trên thị trường di động, Intel còn phải chịu thiệt thòi vì tính tương thích của các ứng dụng với CPU của mình. Cho dù chạy được đầy đủ các ứng dụng của Android, tuy nhiên với những ứng dụng được viết riêng cho chip nền ARM, chúng phải được biên dịch lại trước khi thực thi. Và cuối cùng điều này lại một lần nữa làm cho Intel Atom thua thiệt trước các CPU nền ARM trong cuộc đua về hiệu quả năng lượng trên các thiết bị di động.

Tổng hợp

Bình luận