Tổng quan về vi xử lý ARM Cortex M3, M4, M7, M9

Arm cortex M

Vi xử lý ARM Cortex M3, M4, M7 là dòng vi xử lý sử dụng kiến trúc ARM cấu hình cho các ứng dụng vi điều khiển với chi phí tiết kiệm nhưng vẫn rất mạnh mẽ.

Kiến trúc ARM là một kiến trúc dạng RISC cho các vi xử lý, được cấu hình cho các môi trường khác nhau. Arm Holdings phát triển kiến ​​trúc và cấp phép cho các công ty khác. Các công ty này sẽ thiết kế các sản phẩm của riêng họ bao gồm các SoC (System on Chip) và các module hệ thống SoM (System on Module) kết hợp với các ngoại vi và bộ nhớ.Ví dụ STMicrocontroller với dòng STM32 chúng ta sử dụng trong Series Học Lập Trình STM32

via GIPHY

ARM Cortex là gì?

Vi xử lý lõi ARM Cortex dựa trên 3 cấu hình của kiến trúc ARMv7

  • Cấu hình A: cho các ứng dụng Application, yêu cầu cao chạy trên các hệ điều hành mở và phức tạp như Linux, Android…
  • Cấu hình R: cho các ứng dụng thời gian thực Real Time
  • Cấu hình M: cho các ứng dụng vi điều khiển Microcontroller

Bộ vi xử lý ARM Cortex-M3 là bộ vi xử lý ARM đầu tiên dựa trên kiến trúc ARMv7-M và được thiết kế đặc biệt để đạt được hiệu suất cao trong các ứng dụng nhúng cần tiết kiệm năng lượng và chi phí, chẳng hạn như các vi điều khiển, hệ thống cơ ô tô, hệ thống kiểm soát công nghiệp và hệ thống mạng không dây. Thêm vào đó là việc lập trình được đơn giản hóa đáng kể giúp kiến trúc ARM trở thành một lựa chọn tốt cho ngay cả những ứng dụng đơn giản nhất.

Cấu trúc bộ vi xử lý ARM Cortex M3

Bộ vi xử lý ARM Cortex-M3 dựa trên kiến trúc ARMv7-M có cấu trúc thứ bậc. Nó tích hợp lõi xử lý trung tâm, với các thiết bị ngoại vi hệ thống tiên tiến để tạo ra các khả năng như kiểm soát ngắt, bảo vệ bộ nhớ, gỡ lỗi và theo vết hệ thống.

ARM Cortex M3 dựa trên cấu trúc Havard, được đặc trưng bằng sự tách biệt giữa vùng nhớ dữ liệu và chương trình. Vì có thể đọc cùng lúc lệnh và dữ liệu từ bộ nhớ, bộ vi xử lý ARM Cortex-M3 có thể thực hiện nhiều hoạt động song song, tăng tốc thực thi ứng dụng.

Arm-Cortex-M3
Cấu Trúc Vi Xử Lý ARM Cortex M3

Cấu trúc lõi ARM Cortex M3

Lõi ARM cortex M3

Lõi ARM Cortex có cấu trúc đường ống gồm 3 tầng: Instruction Fetch, Instruction Decode và Instruction Execute. Khi gặp một lệnh nhánh, tầng decode chứa một chỉ thị nạp lệnh suy đoán có thể dẫn đến việc thực thi nhanh hơn. Bộ xử lý nạp lệnh dự định rẽ nhánh trong giai đoạn giải mã. Sau đó, trong giai đoạn thực thi, việc rẽ nhánh được giải quyết và bộ vi xử lý sẽ phân tích xem đâu là lệnh thực thi kế tiếp. Nếu việc rẽ nhánh không được chọn thì lệnh tiếp theo đã sẵn sàng. Còn nếu việc rẽ nhánh được chọn thì lệnh rẽ nhánh đó cũng đã sẵn sàng ngay lập tức, hạn chế thời gian rỗi chỉ còn một chu kỳ.

Lõi Cortex-M3 chứa một bộ giải mã cho tập lệnh Thumb truyền thống và Thumb-2 mới, một bộ phân chia logic ALU(arithmetic logic unit) tiên tiến hỗ trợ nhân chia phần cứng, điều khiển logic, và các giao tiếp với các thành phần khác của bộ xử lý.

Bộ vi xử lý Cortex-M3 là một bộ vi xử lý 32-bit, với độ rộng của đường dẫn dữ liệu 32 bit, các dải thanh ghi và giao tiếp bộ nhớ. Có 13 thanh ghi đa dụng, hai con trỏ ngăn xếp, một thanh ghi liên kết, một bộ đếm chương trình và một số thanh ghi đặc biệt trong đó có một thanh ghi trạng thái chương trình.

STM32 với ARM Cortex M3, M4, M7, M9

ST đã đưa ra thị trường 4 dòng vi điều khiển dựa trên ARM7 và ARM9 như dòng STM32H7, STM32F7… với tốc độ xử lý, hiệu năng cao nhưng giá thành rẻ (Low price, high performance), giá chỉ gần 1 Euro với số lượng lớn, trở thành một thách thức lớn đối với các dòng vi điều khiển 16 bit và 8 bit truyền thống như AVR, PIC, 8051…

STM32 phân thành hai dòng: dòng Performance có tần số hoạt động của CPU lên tới 72Mhz và dòng Access có tần số hoạt động lên tới 36Mhz. Các biến thể STM32 trong hai nhóm này tương thích hoàn toàn về cách bố trí chân (pin) và phần mềm, đồng thời kích thước bộ nhớ FLASH ROM có thể lên tới 512K và 64K SRAM.

Khi phát triền dòng chip STM32 ARM Cortex Mx, ST cũng đã phát triển tất cả các công cụ và ứng dụng xung quanh dòng chip này. Có thể kể đến Hệ sinh thái STM32 Cube giúp lập trình viên dễ dàng phát triển ứng dụng từ đơn giản đến phức tạp mà không cần quá phụ thuộc vào Code.

ARM Cortex ngày nay

Thời điểm hiện tại ARM được mua lại bởi Nvidia với giá 40 tỉ USB ngày 13/09/2020. Cụ thể, Nvidia sẽ trả cho SoftBank 21,5 tỷ USD cổ phiếu và 12 tỷ USD tiền mặt. Số còn lại sẽ được trả bằng tiền mặt hoặc cổ phiếu tùy hiệu quả kinh doanh của công ty trong tương lai. Cùng với đó, ARM sẽ hoạt động như một bộ phận riêng của Nvidia. Công ty vẫn đặt trụ sở tại Anh và “tiếp tục vận hành mô hình cấp phép mở, đồng thời duy trì tính trung lập với khách hàng toàn cầu”.

Liệu rằng tương lai của ARM nói chung và dòng vi điều khiển ARM Cortex Mx sẽ như thế nào? Để lại ý kiến của bạn tại phần bình luận nhé

4.4/5 - (11 bình chọn)
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

5 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Frankie Zigler
3 năm trước

i love this well article

Duy
Duy
3 năm trước

hay quá ad ơi

huy
huy
2 năm trước

40 tỷ USB, mệnh giá tiền mới à ad 🤣

Dung Tran
Dung Tran
5 tháng trước

Thương vụ mua ARM của Nvidia thất bại rồi bạn