🌱 Core 1. Tổng quan về các lõi ARM Cortex

🌱 Core 1. ARM Cortex Mx Overview

    Các bạn đã quen với việc học lập trình Vi điều khiển, đặc biệt phổ biến hiện nay là Vi điều khiển STM32. Nhưng STM32 thì có rất nhiều dòng: F1/F4/F7/L4/L7/... Mỗi dòng này lại chia ra làm các dòng nhỏ nữa, mình ví dụ dòng F4 chia ra thành F401xx, F407xx, ... Nói chung là có rất nhiều loại vi điều khiển dòng STM32, mỗi dòng sẽ khác nhau về bộ nhớ, tốc độ xử lý, các ngoại vi hỗ trợ, thanh ghi, chân, ... Vậy giờ nói là học STM32 thì phải học dòng nào trước 😪 Tất nhiên không bao giờ học hết được tất cả các dòng chip rồi !!! 

    Vậy, theo mình hãy bắt đầu với điểm gì đó chung nhất giữa các dòng này để học, đó chính là phần Core - lõi của chúng.

Tại sao chúng ta chọn học lõi ARM

    Để học tập thì chúng ta nên chọn dòng chip phổ thông, dễ học. Và trên thị trường thì các thiết bị nhúng hiện nay sử dụng chính là lõi ARM.

ARM

    Bạn có thể xem biểu đồ trên để thấy thị phần phát triển của ARM, trong các thiết bị di động. Loại lõi này cũng không quá khó học cho người mới bắt đầu, cũng như việc ARM cung cấp rất nhiều tài liệu về nó.

    Ví dụ bên dưới mình thu thập được về độ phổ biến của lõi ARM trong các thiết bị của Apple.

Model Release Apple Name A.K.A. Core Bits Cores Arch Notes
iPhone 2007/06 S5L8900 ARM1176JZF-S 32 1 v6
iPod Touch 1 2007/09 S5L8900 ARM1176JZF-S 32 1 v6
iPhone 3G 2008/07 S5L8900 ARM1176JZF-S 32 1 v6
iPod Touch 2 2008/09 S5L8720 ARM1176JZF-S 32 1 v6
iPhone 3GS 2009/06 S5L8920 Cortex-A8 32 1 v7 Samsung Hummingbird 1
iPod Touch 3 32/64G 2009/09 S5L8922 Cortex-A8 32 1 v7 iPod Touch 3 8G is 2nd gen hardware
iPad 2010/04 A4 APL0398 S5L8930 Cortex-A8 32 1 v7
iPhone 4 2010/06 A4 APL0398 S5L8930 Cortex-A8 32 1 v7
iPod Touch 4 2010/09 A4 APL0398 S5L8930 Cortex-A8 32 1 v7
AppleTV 2 2010/09 A4 APL0398 S5L8930 Cortex-A8 32 1 v7
iPad 2 2011/03 A5 APL0498 S5L8940 Cortex-A9 32 2 v7
iPhone 4S 2011/10 A5 APL0498 S5L8940 Cortex-A9 32 2 v7
iPad 3 2012/03 A5X APL5498 S5L8945 Cortex-A9 32 2 v7
AppleTV 3 2012/03 A5R2 APL2498 S5L8942 Cortex-A9 32 2 v7 Has two cores but one is disabled! 2
iPhone 5 2012/09 A6 APL0598 S5L8950X “Swift” 32 2 v7S Custom design
iPod Touch 5 2012/10 A5R2 APL2498 S5L8942 Cortex-A9 32 2 v7
iPad 4 2012/11 A6X APL5598 S5L8955 “Swift” 32 2 v7S Custom design
iPad Mini 2012/11 A5R2 APL2498 S5L8942 Cortex-A9 32 2 v7
AppleTV 3A 2013/01 A5R2 APL7498 S5L8947 Cortex-A9 32 1 v7 A ‘proper’ single core design
iPhone 5C 2013/09 A6 APL0598 S5L8950X “Swift” 32 2 v7S Custom design
iPhone 5S 2013/09 A7 APL0698 S5L8960X “Cyclone” 64 2 v8 Custom design
iPad Air 2013/11 A7 “Cyclone” 64 2 v8 Custom design
iPad Mini 2 2013/11 A7 “Cyclone” 64 2 v8 Custom design

Tại sao chúng ta chọn ARM Cortex-M

    Về cơ bản thì ARM đang phát hành một số loại Core chính như sau:

ARM

  • ARM Cortex-A (Application Core)
    • Các core hỗ trợ 32-bits và 64-bits core support cho các thiết bị sử dụng rich operating system như Linux / Ardroid, và được sử dụng rộng rãi trong các ứng dụng thiết bị cầm tay như Smartphones, Tablet, Set-top box, và các thiết bị mạng.
    • Ví dụ chip Exynos 980 của Samsung có 2 lõi Cortex-A77 và 6 lõi Cortex-A55, sử dụng trong điện thoại smartphone Galaxy A71 5G.
  • ARM Cortex-R (Real-time Core)
    • Bộ xử lý Cortex-R nhắm đến các ứng dụng thời gian thực hiệu suất cao như bộ điều khiển ổ cứng (hoặc bộ điều khiển ổ đĩa thể rắn), thiết bị mạng và máy in phân khúc doanh nghiệp, cũng như các ứng dụng ô tô như túi khí, hệ thống phanh và quản lý động cơ, ...
    • Ví dụ Cortex-R4 hỗ trợ tần số tối đa 600MHz, 8-stage pipeline, hệ thống low latency interrupt, được sử dụng cho các ứng dụng Automotive.
    • Cortex-R5 phát triển từ Cortex-R4 + tăng độ tin cậy và khả năng xử lý lỗi, dùng cho các ứng dụng mạng và lưu trữ dữ liệu.
  • ARM Cortex-M (MicroController)
    • Điểm mạnh là dễ tích hợp với các ngoại vi (Peripheral), hiệu năng không cao và tiết kiệm năng lượng. Nên chúng sử dụng phổ biến cho Vi điều khiển nói chung.
    • Dòng Cortex-M được xây dựng trên kiến ​​trúc ARMv7-M (dùng cho Cortex-M3 và Cortex-M4), và dòng Cortex-M0+ nhỏ hơn được xây dựng trên kiến ​​trúc ARMv6-M.
    • ARM cung cấp cho các hãng Vi điều khiển như TI, ST, ... và những hãng này đã bổ sung vào đó những ngoại vi của họ để tạo ra nhiều dòng vi điều khiển khác nhau. Các ngoại vi có thể là bộ nhớ, RCC, GPIO, UART, SPI, I2C, ... Giống như chip STM32 cũng có lõi Cortex M3/M4/M7.
  • ARM Cortex-X (Cutting-Edge CPUs)
    • Mục tiêu của Cortex-X là mang đến cho các nhà sản xuất khả năng tùy chỉnh bộ xử lý theo nhiều cách thức đa dạng hơn, từ đó tối ưu hiệu suất xử lý tổng thể hoàn hảo hơn.
    • ARM Cortex-X được dùng để cung cấp hiệu năng CPU đơn luồng mạnh nhất trong các thiết bị di động cao cấp. Nó là "vũ khí mạnh nhất" trong chip xử lý di động, nhưng chỉ được sử dụng cho các tác vụ thật sự cần thiết để giữ mức tiêu thụ điện hợp lý.
    • Cortex-X1 tăng 30% khả năng xử lý hiệu năng cao so với Cortex-A77 hiện nay. Các dòng chip X này hỗ trợ tích hợp generative AI.
    Trong các dòng chip trên, ARM Cortex-M là dòng chip có độ phổ thông cao nhất, gần như thiết bị vi điều khiển nào sử dụng lõi ARM đều có kết hợp các chip Cortex-M. Mặt khác, lõi Cortex-M là loại core dễ học nhất trong 4 loại trên (Kiến trúc đơn giản hơn so với các lõi khác).

Ưu điểm của Cortex Mx và Vi điều khiển STM32

    Trước khi học về một Vi điều khiển, chúng ta nên tìm hiểu về ưu điểm của nó so với những dòng vi điều khiển khác. 

    1. Tính Phổ biến

    Ưu điểm dễ nhìn thấy nhất của STM32 mà chúng ta chưa cần tìm hiểu sâu, đó là nó phổ biến, giá thành rẻ, nhiều tài liệu hướng dẫn.

    ➤ Một số ứng dụng sử dụng STM32
  • Các thiết bị chạy bằng pin như ứng dụng giám sát sức khỏe, theo dõi thể chất, máy đo y tế, …
  • Ứng dụng ô tô, Internet of Things, điện thoại và ứng dụng trong nhà, Nhà thông minh, Đồ chơi và sản phẩm khách hàng.
  • Phụ kiện máy tính, điện thoại, thiết bị kiểm tra và đo lường.

    2. Tối ưu chi phí/năng lượng

    Ưu điểm tiếp theo của Cortex M là sự tối ưu về mặt chi phí, năng lượng, diện tích silicon. Có thể so sánh với các dòng 8 bit truyền thống (8051, PIC, AVR) thì chip STM32 (không phải board) có giá tương đối dễ chịu để sản xuất số lượng lớn, điện áp sử dụng 3.3V so với 5V của các dòng kia, cộng với rất nhiều chế độ Power Save. Chip được sản xuất chủ yếu là chip dán có kích thước/tổng số chân nhỏ hơn.

ARM

    3. Hiệu suất/tốc độ/Tính bảo mật

     Bộ xử lý Cortex Mx là bộ xử lý 32 - bits, tăng tốc độ và hiệu suất tính toán so với các dòng 8/16 bits truyền thống. 
    Nhà sản xuất cũng có thể tùy chọn tích hợp thêm các bộ: tính toán dấu phảy động (floating point unit), DSP (Bộ xử lý tín hiệu số), MPU (Bảo vệ bộ nhớ), … để tăng tốc độ xử lý, cũng như tính bảo mật của chip.
    Công suất mạnh mẽ và có bộ điều khiển ngắt hỗ trợ lên đến 240 ngắt & exceptions. 
    Có hỗ trợ hệ điều hành RTOS.

Một số đơn vị sản xuất Vi điều khiển

    Có nhiều nhà sản xuất Vi điều khiển nổi tiếng mà vi điều khiển dựa trên bộ xử lý ARM Cortex-M:
  • TI (Ứng dụng dựa trên pin năng lượng thấp)
  • STMicro (MCU hiệu suất cao/trung bình/thấp)
  • Toshiba (Thiết bị đo lường, điều khiển động cơ)
  • Broadcom (Kết nốt wifi, Internet of Things)
  • NXP, Microchip, ST, … 

>>>>>> Follow ngay <<<<<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊
Chúc các bạn học tập tốt 😊

3 Nhận xét

Mới hơn Cũ hơn
//