ARM vs X86- Lựa chọn tối ưu cho các thiết bị IoTs

Máy tính công nghiệp Advantech hoạt động bền bỉ 24/7/365

ARM vs X86- Lựa chọn tối ưu cho các thiết bị IoTs

Hệ điều hành Android hỗ trợ các vi xử lý ARM, Intel và MIPS. Nền tảng phổ biến và thành công nhất chính là ARM. Kiến trúc Intel được biết đến nhờ ưu thế vượt trội trong thị trường máy tính để bàn và server, tuy nhiên, ở phân khúc di động, Intel lại không đạt được kỳ vọng. MIPS thì có lịch sử phát triển lâu dài, có nhiều thành công trong mảng thiết bị nhúng 32 và 64-bit, mặc dù vậy, hiện tại MIPS là thiết kế CPU Android ít phổ biến nhất.

ARM đang là người chiến thắng và Intel đang là đối thủ cạnh tranh đáng gờm trong phân khúc di động. Vậy đâu là điểm khác biệt giữa kiến trúc vi xử lý ARM và Intel? Tại sao ARM lại trở nên phổ biến đến vậy? Và thực sự ta có cần quan tâm xem CPU của điện thoại hay máy tính bảng của mình là loại gì?

CPU
Bộ vi xử lý trung tâm CPU được coi là bộ não của các thiết bị. Công việc của CPU là thực thi các chuỗi lệnh điều khiển các thành phần khác như màn hình, input, chip kết nối mạng. Thiết bị di động hiện đại thường rất phức tạp và các CPUs phải đảm đương việc xử lý hàng nghìn lệnh trong cùng một thời điểm. Tốc độ và hiệu năng của CPU là các tiêu chí cần quan tâm, chúng quyết định mức độ trải nghiệm của người dùng, trong khi lại ảnh hưởng rất lớn đến thời lượng pin. Một thiết bị di động hoàn hảo phải có được hai yếu tố: Hiệu suất cao và hao tổn điện năng ở mức thấp.

Đây chính là lý do ta cần phải lựa chọn CPU. Ở tầng cao nhất, khác biệt đầu tiên giữa một ARM CPU là RISC (Reduced Instruction Set Computing) và một Intel CPU là CISC (Complex Instruction Set Computing). Để đơn giản, tập lệnh RISC nhỏ hơn, và linh hoạt trong khi CISC thì nặng và phức tạp. Mỗi lệnh RISC được dịch ra một tác vụ mà CPU có thể thực hiện được ngay, còn lệnh CISC sau khi được truyền đạt, CPU sẽ phải thực hiện 3 hay 4 lệnh nhỏ hơn nữa.

Các CPU hiện đại sử dụng khái niệm microcode, một bộ chỉ lệnh bên trong CPU, những tác vụ mà CPU có thể xử lý. Ở CISC, một lập lệnh phải được dịch ra các microcode operations nhỏ hơn bằng nhiều bước phức tạp. Ở vi xử lý RISC, microcode operations lại rất gần với với instruction set operations, sự gần gũi này khiến cho RISC có hiệu năng cao và mức độ tiêu hao điện năng ít hơn ở CISC.

Khác biệt lớn nhất là ARM được thiết kế để tiêu hao ít điện năng. Trong khi Intel lại tập chung tạo ra các bộ CPU có sức mạnh xử lý cao. Intel là tập đoàn dẫn đầu trong ngành công nghiệp sản xuất chíp máy bàn và server. Khi thiết kế CPUs cho các thiết bị di động, Intel sử dụng các kiến trúc câu lệnh CISC (ISA) y như trên máy bàn, chỉ giảm thiểu kích cỡ bóng bán dẫn cho phù hợp hơn với các thiết bị di dộng.

Một bộ vi xử lý core i7 thông thường tỏa ra khoảng 45W nhiệt. Trong khi vi xử lý điện thoại thông minh SoC(bao gồm cả GPU) nền tảng ARM chỉ tỏa ra tối đa 3W nhiệt, khoảng 15 lần ít hơn so với Intel i7. Intel có chiến lược phát triển một số dòng chip cho nhu cầu di động như dòng Atom. Tuy nhiên, với cùng một loại tản nhiệt CPU với kiến trúc chip ARM, chip Atom yêu cầu phải được xây dựng trên nền tảng bóng bán dẫn 22nm tối tân nhất, trong khi chip ARM chỉ yêu cầu công nghệ sản xuất bóng bán dẫn thấp hơn, ví dụ ở Qualcomm Snapdragon 805 là 28nm có giá thành sản xuất thấp hơn.

64-bit
Khi đề cập đến điện toán 64-bit, lại có một số khác biệt giữa ARM và Intel. Sự thực là Intel không thiết kế phiên bản 64-bit cho tập chỉ lệnh x86. Các tập lệnh này được thiết kế bởi AMD. Intel muốn hướng đến điện toán 64-bit, nhưng biết rằng nếu lấy kiến trúc 32-bit x86 và tạo ra phiên bản 64-bit thì sẽ không hiệu quả. Vì thế họ bắt đầu dự án với bộ vi xử lý 64-bit tên là IA64. Cùng thời gian đó, AMD đã đi trước một bước và mở rộng thiết kế x86 để tích hợp thêm bộ định vị và thanh ghi 64-bit. Kiến trúc mở rộng đó, được biết đến là AMD64, sau đó rất thành công và trở thành chuẩn chung 64-bit cho vi xử lý x86.

Dự án IA64 đến thời điểm hiện tại đã gần như chấm dứt. Cuối cùng Intel đã áp dụng kiến trúc AMD64 vào các sản phẩm của mình, sử dụng tập lệnh điều khiển thiết kể bởi AMD (với một số tùy chỉnh).

Đối với ARM, câu truyện lại hoàn toàn khác. Nhận thấy nhu cầu điện toán 64-bit trên các thiết bị di động, ARM công bố kiến trúc ARMv8 64-bit vào năm 2011. Đây là kết quả của vài năm làm việc trên các thế hệ ARM ISA tiếp theo. Để tạo ra các thế hệ 64-bit dựa trên các khái niệm và tập lệnh cũ, kiến trúc ARMv8 sử dụng AArch32 và Aarch64. Về hiệu năng xử lý tích hợp ARMv8-A Aarch64, một dùng để chạy mã 32-bit và một chạy mã 64-bit. Điểm tuyệt vời của thiết kế ARM này là có thể hoán đổi giữa hai chế độ một cách nhanh chóng ngay trong quá trình xử lý tác vụ. Cho phép bộ vi xử lý mới tương thích hoàn toàn với các thế hệ ứng dụng cũ.

Điện toán không đồng nhất
Kiến trúc heterogeneous trên vi xử lý ARM
Kiến trúc ARM big.LITTLE là một cải tiến lớn mà Intel gần như không thể sao chép. Trong một big.LITTLE, các nhân trong CPU không cần phải cùng loại. Thông thường, một vi xử lý Intel 2 nhân hay 4 nhân có 2 hay 4 nhân cùng loại. Ví dụ, một vi xử lý dual-core Atom có hai nhân x86-64 giống hệt nhau, cả hai có hiệu xuất và tiêu tốn điện năng như nhau. Nhưng với big.LITTLE ARM đưa ra khái niệm điện toán không đồng nhất cho các thiết bị di động. Nghĩa là các nhân có thể khác biệt với nhau. Khi thiết bị di động ở trạng thái tiêu tốn điện năng thấp, các nhân tiêu hao năng lượng thấp có thể được sử dụng, nhưng khi gặp một tác vụ nặng, các nhân hiệu suất cao sẽ được sử dụng.

ARM là tiên phong trong lĩnh vực xử lý di động với hơn 50 tỷ chip đã được xuất xưởng cho thị trường thiết bị di động và thiết bị nhúng. Đối với hđh Android, kiến trúc ARM là tiêu chuẩn mặc định. Mặc dù Android sử dụng Java là ngôn ngữ lập trình, nó cũng cho phép các lập trình viên để lấy mã nguồn C hoặc C ++ và tạo ra các ứng dụng. Những ứng dụng này luôn được biên soạn cho các bộ vi xử lý ARM, và thường không phải cho Intel hay MIPS. Để tương thích với ứng dụng, Intel và MIPS cần phải sử dụng phần mềm dịch mã đặc biệt để chuyển đổi. Điều này tác động lên quá trình thực hiện tác vụ. Tại thời điểm này, MIPS và Intel khẳng định về khả năng tương thích 90% với tất cả các ứng dụng có sẵn (gần 100% khi kiểm tra với 150 ứng dụng tiêu biểu trên Android). Con số đó cho thấy hạn chế của các chip Intel trong thị trường các ứng dụng di động.

Tóm lại
Thiết kế bộ vi xử lý là một công việc cực kỳ phức tạp. ARM, Intel và MIPS đều nỗ lực để mang lại những công nghệ CPU tốt nhất cho các thiết bị di động. Với việc tập trung vào các bộ xử lý 64-bit ít tiêu thụ điện năng, khả năng tính toán với các nhân không đồng nhất… ARM rõ ràng sẽ duy trì vị thế đứng đầu của mình trong thị trường các thiết bị nhúng trong thời kỳ bùng nổ các thiết bị Internet of Things!

Share this:

Post a Comment