Tính năng các dòng lõi xử lý ARM được mô tả trong hình 3.2.
Hình 3.2. Tính năng các dòng lõi xử lý ARM. Trong đó:
ARM 32-Bit ISA (Instruction Set Architecture): cấu trúc tập lệnh ARM 32 bit.
Thumb 16-Bit ISA: cấu trúc tập lệnh Thumb 16 bit được thiết lập bằng cách phân tích tập lệnh ARM 32 bit và chuyển hóa tốt nhất phù hợp với tập lệnh 16 bit, làm giảm kích thước mã.
Thumb: đặc tính Thumb để cải thiện mật độ biên dịch mã, bộ xử lý thực hiện tập lệnh 16 bit. Ở chế độ này có một số toán hạng đi kèm sẽ ẩn đi và giới hạn một số khả năng so với chế độ tập lệnh ARM đầy đủ. Trong Thumb, các mã
Thumb-2 Mixed ISA Thumb
NVIC VFPv2 Jazelle Jazelle TrustZone TrustZone SIMD NEON SIMD Classic ARM Processors SC100 ARM7TDMI ARM968 ARM946 Application Cortex Processors ARM11RP ARM176JZ ARM1156T22 ARM1136J Cortex-A9 Cortex-A8 Cortex-A5 Cortex-R4 Embedded Cortex Processors SC300 Cortex-M3 Cortex-M4 Cortex-M0 Cortex-M1 SC000
ARMv4T ARMv5TJ ARMv6 ARMv7A/R ARMv7M/ME ARMv6M ARM 32-Bit ISA
Thumb 16-Bit ISA ARM926 VFPv2 VFPv2 Jazelle Thumb Thumb NVIC WIC WIC
41
sẽ nhỏ hơn và ít chức năng cho cải thiện mật độ mã tổng thể. Trong trường hợp bộ nhớ hoặc bus truyền dữ liệu bị hạn chế dưới 32 bit, mã Thumb cho phép tăng hiệu suất thành mã ARM 32 bit để tăng khả năng xử lý trên băng thông lớn hơn.
Thumb-2: được đưa ra để bổ sung cho các giới hạn tập lệnh 16 bit Thumb với việc cung cấp thêm tập lệnh 32 bit mở rộng. Mục tiêu của Thumb- 2 là đạt được mật độ mã như Thumb với hiệu suất tương đương như tập lệnh ARM 32 bit.
Thumb-2 Mixed ISA: kết hợp tập lệnh 16 bit và 32 bit mà có thể không cần chế độ chuyển mạch. Kết hợp tập lệnh 16 bit và 32 bit ngay tại thời điểm đang thực hiện lệnh và chỉ trong một lệnh đơn (không gây giảm hiệu suất thực thi).
VFPv2 (Vector Floating Point): là bộ thực hiện phép tính dấu chấm động của kiến trúc ARM. VFPv2 có 16 thanh ghi, hoạt động với một chu kỳ đơn, khả năng tính toán và xử lý rất nhanh, độ trễ thấp, có độ chính xác cao.
VFPv3 là phiên bản nâng cấp của VFPv2, VFPv3 có độ chính xác cao hơn với 32 thanh ghi và một số tập lệnh được mở rộng.
NVIC (Nested Vectored Interrupt Controller): Bộ điều khiển vector ngắt lồng nhau có khả năng xử lý ngắt rất linh hoạt và nhanh chóng và cho phép rút ngắn thời gian trì hoãn đáp ứng ngắt (hệ thống đáp ứng ngắt nhanh hơn) với nhiều mức ưu tiên khác nhau.
Jazella: là công nghệ hỗ trợ trình thông dịch mã Java, cho phép lõi ARM thực thi mã Java trong cấu trúc phần cứng như trạng thái thực thi thứ ba cùng với các chế độ ARM và Thumb hiện hành, làm tăng tốc khả năng thực thi.
WIC (Wake-up Interrupt Controller): Bộ điều khiển đánh thức khi có ngắt, giúp cho các hoạt động tiêu tốn ít năng lượng hơn.
42
TrustZone: Khối tăng tính bảo mật, đảm bảo các đoạn mã độc hại không làm ảnh hưởng đến hệ thống.
SIMD (Single Instruction Multiple Data): Khối tập lệnh đơn đa dữ liệu, khối này cho phép tập lệnh hoạt động tại cùng thời điểm trên các mục dữ liệu khác nhau, làm tăng khả năng xử lý dữ liệu và đặc biệt hiệu quả đối với các dữ liệu dạng âm thanh và hình ảnh.
NEON: Công nghệ NEON mục đích là tăng hiệu suất xử lý cho các định dạng đa phương tiện, công nghệ này được phát triển mở rộng từ công nghệ SIMD, có khả năng làm tăng các thuật toán xử lý tín hiệu như là mã hóa và giải mã các định dạng âm thanh, hình ảnh; đồ họa hai chiều, ba chiều; trò chơi; tổng hợp xử lý giọng nói, hình ảnh trong thoại với hiệu suất xử lý cao.