Với chip ARM hiện có mặt khắp nơi trong các laptop hiệu suất cao và edge server, việc hỏi liệu những thiết bị mới này có đáng để mua hay không là điều hợp lý. Đã đến lúc hiểu rõ sự khác biệt về mặt kỹ thuật giữa bộ xử lý ARM và những phiên bản tiền nhiệm x86-64 trước đây.
x86-64 có nghĩa là gì?
Bộ xử lý Intel được tìm thấy trong desktop và laptop đôi khi được gọi là bộ xử lý “x86”. Kiến trúc 64-bit mà tất cả các máy tính hiện đại sử dụng ngày nay hiện nằm trên mô hình x86, hiện được gọi là “x86-64”.
Tất cả điều này nghe có vẻ hơi khó hiểu nhưng nó giúp giải thích tại sao có hai thư mục Program Files khác nhau trên Windows.
Tất cả các ứng dụng 32 bit sẽ nằm trong thư mục x86 và các ứng dụng 64 bit sẽ nằm trong thư mục khác. Đây là quy ước kể từ khi Microsoft phát hành phiên bản Windows XP 64-bit vào năm 2001.
Để đơn giản hóa mọi thứ một chút, chúng ta sẽ gọi “x86-64” là “x86” vì có đủ điểm tương đồng giữa chip 32 bit và 64 bit để nhóm chúng lại với nhau.
Nhãn “x86” xuất phát từ ông tổ của ngành xử lý hiện đại, một bộ vi xử lý do Intel tạo ra có tên là 8086. Con chip 16-bit này hoạt động theo một tập lệnh vẫn được các bộ xử lý hiện đại ngày nay sử dụng phần lớn để thực hiện những tác vụ tính toán nâng cao.
Mọi thứ từ trình soạn thảo văn bản đến phần mềm kết xuất video nâng cao vẫn có khả năng hoạt động theo kiến trúc ra đời từ năm 1978!
Kể từ khi phát hành bộ vi xử lý 8086, Intel tiếp tục sử dụng quy ước đặt tên cho các model trong tương lai như 80286 và 80386 cho đến khi phá vỡ truyền thống bằng cách phát hành dòng Pentium. Tuy nhiên, chúng ta vẫn bày tỏ lòng kính trọng đối với những con chip cũ đó bằng cách phân loại tất cả các bộ xử lý tiếp theo sử dụng tập lệnh của nó là “x86”.
Ngay cả những bộ xử lý 64-bit hiện đại hơn mà AMD phát hành lần đầu tiên trong dòng Opteron vào những năm 2000 cũng được đặt tên tương tự, vì phần lớn các bộ xử lý 64-bit trong hệ thống desktop và máy chủ vẫn tiếp tục là trụ cột hiện nay.
Các tập lệnh
Tất cả chức năng của bộ xử lý đều dựa trên cái được gọi là tập lệnh. Đây là một tập hợp các thao tác thô sơ được gắn cứng mà một con chip có thể thực hiện. Mỗi lệnh yêu cầu chip thực hiện những việc như phép toán cơ bản và di chuyển dữ liệu xung quanh. Ở cuối mỗi đoạn code trong mọi chương trình bạn chạy trên máy của mình là một lớp giao tiếp với bộ xử lý. Lớp này cũng sử dụng code riêng của nó được gọi là hợp ngữ, dịch một bước sâu hơn xuống các hướng dẫn cơ bản thường được gọi là mã máy hoặc ngôn ngữ máy.
Đây là nơi chúng ta nhận ra sự khác biệt cốt lõi giữa chip ARM và x86.
Chip x86 sử dụng CISC (Complex Instruction Set Computing), trong khi chip ARM sử dụng RISC (Reduced Instruction Set Computing). Trong khi các chip CISC cố gắng đặt nhiều “công việc” hơn vào một lệnh trong khi hy sinh chu kỳ xung nhịp để hoàn thành nhiệm vụ này, thì các chip RISC có một tập lệnh nhỏ hơn nhiều để chia mọi thứ thành các bước đơn giản hơn, có thể được thực thi trong một chu kỳ xung nhịp duy nhất.
CISC so với RISC
Nếu chip CISC cần nhân hai số, nó có thể chạy một lệnh duy nhất: MULT 2, 3
. Lệnh đơn này sẽ bao gồm việc load các số từ bộ nhớ, nhân chúng với nhau và lưu kết quả vào đúng vị trí bộ nhớ. Một chip RISC thực hiện hoạt động tương tự sẽ cần nhiều bước hơn. Đầu tiên, lệnh LOAD để di chuyển các số từ đơn vị đăng ký sang đơn vị thực thi. Sau đó, một lệnh PROD để nhân các số. Cuối cùng, lệnh STOR để đặt kết quả vào register chính xác.
Mặc dù chip CISC có vẻ hiệu quả hơn vì các lệnh của nó có vẻ đơn giản nhưng hãy ghi nhớ một số điểm khác biệt quan trọng:
- Đầu tiên, chip CISC thực thi các lệnh trong nhiều chu kỳ xung nhịp, trong khi mỗi lệnh trong chip RISC được thực thi trong một chu kỳ xung nhịp. Do đó, lệnh MULT giả định có thể chạy trong cùng số chu kỳ với tập hợp các lệnh RISC thực hiện cùng một tác vụ.
- Thứ hai, tất cả các lệnh và logic của CISC cần được lưu trữ trong bóng bán dẫn. Chip RISC có thể sử dụng ít bóng bán dẫn hơn vì chúng cần lưu trữ ít lệnh hơn.
- Thứ ba, số lượng bóng bán dẫn mà RISC yêu cầu thấp hơn cho phép sử dụng điện năng ít hơn.
Có một số lợi thế đối với CISC. Đầu tiên, máy tính không cần thực hiện nhiều thao tác để chuyển đổi từ ngôn ngữ lập trình cấp độ con người như C sang ngôn ngữ hợp ngữ cấp độ bộ xử lý. Trên thực tế, lệnh MULT nêu trên rất giống với lệnh C foo = foo * bar
.
Các chip RISC yêu cầu trình biên dịch thực hiện nhiều công việc hơn để chuyển mã sang hợp ngữ. Chip CISC cũng có thể thực hiện các hoạt động của chúng trực tiếp trên bộ nhớ hệ thống trong khi chip RISC phải lấy dữ liệu từ bộ nhớ vào thanh ghi bộ xử lý trước khi làm việc với nó.
Trong cuộc cạnh tranh về hiệu suất đối đầu giữa hai hãng, đối với người tiêu dùng, không có tùy chọn chiến thắng rõ ràng. Tuy nhiên, RISC còn có thêm một con át chủ bài nữa để thực sự giành được lợi thế trước CISC.
Tiêu thụ năng lượng
Giữa CISC và RISC, hoàn toàn không có sự cạnh tranh nào về việc sử dụng năng lượng. RISC chắc chắn sẽ giành được lợi thế ở đây. Tập lệnh rút gọn giúp giảm diện tích tấm bán dẫn, làm cho chip nhỏ hơn và do đó ít ngốn điện hơn.
Những con chip nhỏ với ít thành phần vi mô hơn cũng có ít điện trở hơn để xử lý và không cần nhiều công suất để chạy. Nghiên cứu điển hình tốt nhất cho điều này là công nghệ đã được chứng minh của điện thoại thông minh, một thiết bị “máy tính nhẹ” mang lại hiệu suất cực lớn dù có kích thước tương đối nhỏ nhưng đôi khi vẫn có thể tồn tại trong hơn 24 giờ với một cục pin tương đối nhỏ.
Nói như vậy, điều này không có nghĩa là tất cả các máy tính sẽ bắt đầu sử dụng chip ARM để giảm mức tiêu thụ điện năng. Trong thị trường desktop, nơi hệ thống thường phụ thuộc vào kết nối trực tiếp với ổ cắm trên tường thay vì pin, hiệu quả sử dụng năng lượng không phải là ưu tiên lớn như vậy. Chip CISC vẫn hoạt động đáng kinh ngạc trong những tình huống này và thực sự không có dấu hiệu nào cho thấy điều này sẽ sớm thay đổi.
Nên mua hệ thống ARM hay x86?
Với việc Microsoft cũng phát hành Windows 11 cho kiến trúc ARM và việc Apple chuyển máy Mac sang sử dụng chip ARM, bạn cũng có thể muốn mua một chiếc PC ARM. Tuy nhiên, nó chia mọi thứ thành một câu hỏi rất đơn giản: Bạn có đang cố gắng tận dụng từng chút hiệu suất trên mỗi watt-giờ năng lượng do pin cung cấp không hay có xu hướng đẩy càng nhiều hiệu suất thô thông qua thiết bị và gây tổn hại đến tuổi thọ pin?
Câu trả lời tùy thuộc vào mỗi trường hợp sử dụng. Cuối cùng, chỉ cần đảm bảo rằng bạn không quên mang theo cáp sạc bên mình!