Tuesday, September 18, 2012

Chip A6 trên iPhone 5 là do Apple tự phát triển trên nền ARMv7

Đã 5 ngày trôi qua kể từ khi Apple chính thức giới thiệu chiếc iPhone thế hệ kế tiếp của mình, có lẽ đó cũng là khoảng thời gian đủ để chúng ta nắm rõ đặc điểm phần cứng của nó như màn hình 4", 1136x640 điểm ảnh, CPU Apple A6, nhưng có một chi tiết mà công ty đã không tiết lộ đó là dung lượng RAM. Theo Anandtech iPhone 5 được tích hợp hai khe chứa hai chip DRAM LPDDR2 512MB hoạt động với xung nhịp 1066 MHz, cho băng thông của bộ nhớ đạt mức 8528 MB/giây, cao hơn 33% so với iPhone 4s (6400 MB/giây) nhưng vẫn thấp hơn The New iPad (12800 MB/giây) - đây là điều không quá khó hiểu khi RAM trên iPad mới phải đảm nhiệm thêm màn hình với độ phân giải rất cao.

Bên cạnh việc khẳng định RAM của iPhone 5 có dung lượng 1 GB, nguồn tin cũng phát hiện ra rằng BXL A6 thực chất là chip SoC đầu tiên được Apple tuỳ biến lại dựa trên kiến trúc ARMv7. Để cho dễ hiểu thì chúng ta có thể giải thích như sau:

sonlazio said:
Các con chip xử lý trên di động của ARM hiện nay Samsung Exynos 42xx, Qualcomm SnapDragon S3, nVidia Tegra 2, TI OMAP4... đều sử dụng một nhân xử lý mà chúng ta được biết đến với tên gọi Cortex A9, A15... Các nhân xử lý này lại dựa trên một vi kiến trúc gốc là ARMv7. Khi ARM đưa ra ARMv7 thì có 2 trường hợp xảy ra:
ARM tự phát triển một bản tham chiếu (preference) trên nền ARMv7 và thương mại hóa với các tên gọi như Cortex A9/A15... và bán cho các nhà sản xuất thiết bị khác. Các nhân Cortex đã được kiểm nghiệm rất kỹ để tránh lỗi mà mang tính ổn định cao nên một số nhà sản xuất áp dụng trực tiếp nó lên các con chip của họ như Apple A5, nVidia Tegra 3, Qualcomm S4 hay Samsung Exynos 42xx mà không tùy biến gì nhiều về CPU mà chỉ bổ sung thêm các thành phần liên quan như GPU (PowerVR, Adreno)... và đóng gói lại. Cách làm này là phương thức rất an toàn, tiết kiệm chi phí nhưng lại giới hạn khả năng sáng tạo và không tạo được sự khác biệt nhiều trừ GPU.
Trường hợp 2, một số nhà sản xuất lại không thích cách ARM thiết kế, họ không sử dụng các nhân Cortex mà tự mình phát triển các vi kiến trúc khác biệt dựa trên ARMv7 như Qualcomm Krait hay mới đây là Apple với chip A6. Tuy không thể khẳng định cách nào là tốt hơn nhưng chắc chắn cách 2 sẽ yêu cầu đầu tư nhiều chất xám hơn và cũng đòi hỏi nhiều chi phí nghiên cứu hơn rất nhiều. Ưu điểm của cách này là nhà sản xuất có thể biến đổi con chip phù hợp với nhu cầu mà không bị phụ thuộc vào ARM. Ví dụ Apple có thể cân bằng giữa hiệu năng xử lý, kích cỡ đế chip, khả năng tiêu thụ năng lượng.... hơn là sử dụng các con chip Cortex đại trà vốn được tạo ra cho càng nhiều máy nhất có thể.
Có một số lo ngại về tính tương thích giữa các con chip Cortex và các con chip tự phát triển (Krait, A6) nhưng thực tế thì chúng ta cũng không cần lo lắng nhiều. Dù là hiện thực theo cách nào thì ARM cũng đêu phải cho phép các hãng khác sử dụng những công nghệ của họ, qua đó gián tiếp kiểm soát quá trình phát triển để bảo đảm tính tương thích tốt nhất. Hơn thế nữa, khi đã đóng phí giấy phép sử dụng ARMv7 thì ARM sẽ cung cấp cho các công ty instruction set để phát triển.

Để hiểu rõ hơn về instruction set, bạn có thể tham khảo wikipedia. Ví dụ dễ thấy nhất trên máy tính là instruction set x64, Intel hiện thực nó theo vi kiến trúc Core (đã tới thế hệ 3 với Ivy Brigde) còn AMD lại là Bobcat hay Bulldozer... Bạn có thấy các ứng dụng chỉ tương thích với Intel mà không tương thích với AMD hay ngược lại không? Rất hiếm phải không nào.

Trên Android có tình trạng phân mảnh ứng dụng, có ứng dụng chạy trên Tegra 3 nhưng không chạy trên SnapDragon S4... là do GPU chứ không phải CPU. Nếu để ý thì các bạn có thể thấy các ứng dụng này phần lớn là game và được tối ưu hóa riêng cho một GPU nào đó. Thực ra điều này không phải không giải quyết được nhưng nó sẽ gây tốn thời gian cho nhà phát triển và họ cũng được một số hãng tài trợ nhằm làm nổi bật chip của mình, điển hình như nVidia TegraZone hay Qualcomm GameCommand... Apple trước giờ chỉ sử dụng GPU PowerVR của Imagination nên cũng không bị vướng mắc vấn đề này.
Tìm hiểu về instruction set: http://en.wikipedia.org/wiki/Instruction_set
Kiến trúc ARM: http://en.wikipedia.org/wiki/ARM_architecture
Các dòng chip xử lý sử dụng nhân Cortex A9: http://en.wikipedia.org/wiki/ARM_Cortex-A9_MPCore
Cũng liên quan đến CPU Apple A6, mới đây một kết quả bị lộ từ chương trình GeekBenchs đã tiến hành benchmark và thấy iPhone 5 đạt số điểm trung bình là 1601, cao hơn gấp đôi so với iPhone 4s (629) và iPad mới (766). Kết quả này đúng với lời giới thiệu chip A6 sẽ có tốc độ xử lí nhanh gấp đôi so với chip A5 cũng như bất kỳ vi xử lí nào trên các thiết bị iOS trước đó, bởi nó đã được tăng xung nhịp lên 1GHz và RAM cũng tăng lên gấp đôi (1GB).

Ngoài ra, do chip A6 SoC được tuỳ biến dựa trên vi kiến trúc ARMv7 như đã nói ở trên, nên mặc dù được trang bị BXL hai nhân chỉ 1GHz, iPhone 5 vẫn đạt số điểm benchmark cao hơn cả một số thiết bị Android lõi tứ 1,2-1,5GHz như Samsung Galaxy S3 (1560 điểm), HTC One X (1085). Kết quả này có lẽ là khá đáng tin nhưng chúng ta vẫn chờ kiểm chứng chính thức khi máy được bán ra.


Theo Anandtech

No comments:

Post a Comment