Title Image

Blog Logo

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

🌱 Core 1. ARM Cortex Mx Overview

    👉 Tại sao nên học Cortex Mx?

    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 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.

ModelReleaseApple NameA.K.A.CoreBitsCoresArchNotes
iPhone2007/06S5L8900ARM1176JZF-S321v6
iPod Touch 12007/09S5L8900ARM1176JZF-S321v6
iPhone 3G2008/07S5L8900ARM1176JZF-S321v6
iPod Touch 22008/09S5L8720ARM1176JZF-S321v6
iPhone 3GS2009/06S5L8920Cortex-A8321v7Samsung Hummingbird 1
iPod Touch 3 32/64G2009/09S5L8922Cortex-A8321v7iPod Touch 3 8G is 2nd gen hardware
iPad2010/04A4 APL0398S5L8930Cortex-A8321v7
iPhone 42010/06A4 APL0398S5L8930Cortex-A8321v7
iPod Touch 42010/09A4 APL0398S5L8930Cortex-A8321v7
AppleTV 22010/09A4 APL0398S5L8930Cortex-A8321v7
iPad 22011/03A5 APL0498S5L8940Cortex-A9322v7
iPhone 4S2011/10A5 APL0498S5L8940Cortex-A9322v7
iPad 32012/03A5X APL5498S5L8945Cortex-A9322v7
AppleTV 32012/03A5R2 APL2498S5L8942Cortex-A9322v7Has two cores but one is disabled! 2
iPhone 52012/09A6 APL0598S5L8950X“Swift”322v7SCustom design
iPod Touch 52012/10A5R2 APL2498S5L8942Cortex-A9322v7
iPad 42012/11A6X APL5598S5L8955“Swift”322v7SCustom design
iPad Mini2012/11A5R2 APL2498S5L8942Cortex-A9322v7
AppleTV 3A2013/01A5R2 APL7498S5L8947Cortex-A9321v7A ‘proper’ single core design
iPhone 5C2013/09A6 APL0598S5L8950X“Swift”322v7SCustom design
iPhone 5S2013/09A7 APL0698S5L8960X“Cyclone”642v8Custom design
iPad Air2013/11A7“Cyclone”642v8Custom design
iPad Mini 22013/11A7“Cyclone”642v8Custom 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.
    • 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 =<<<

Để theo dõi 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 😊

                        

Đăng nhận xét

3 Nhận xét