Title Image

Blog Logo

Core 2. Controller .v/s Processor .v/s Core

🌱 Core 2. Controller .v/s Processor .v/s Core

    Việc đầu tiên khi tìm hiểu về Cortex Mx và kiến trúc của nó, các bạn cần trang bị cho mình tài liệu chuẩn về Core của hãng: Cortex -M4 Devices Generic User Guide hoặc tài liệu M3 - Guide

    ➤ Tham khảo tài liệu về Cortex M4, chúng ta có thể bắt gặp sơ đồ sau: 

Cortex M4 Processor Block Diagram

    👉 Cortex - M4 Core

    Hãy nhìn ô khoanh màu đỏ, chúng ta có một khái niệm đó là Cortex - M4 Core, nó nằm gọn gàng trong Cortex - M4 Processor. Có thể thấy trước nay chúng ta chỉ so sánh giữa Micro-Processor (Vi xử lý) và Micro-Controller (Vi điều khiển), trong Cortex M4, nó được phân hóa thêm một bậc nhỏ hơn, đó là Cortex-M4 Core (Lõi vi xử lý), nó là công cụ tính toán cơ sở của bộ xử lý, với các chức năng:
  • Bao gồm khối số học và logic ALU – nơi quá trình tính toán diễn ra.
  • Mã hóa và thực thi lệnh.
  • Có nhiều thanh ghi dể lưu trữ và thao tác dữ liệu.
  • Thiết kế pipeline để tăng tốc độ thực thi lệnh.
  • Có phần tử khởi tạo địa chỉ.

    👉 Cortex - M4 Processor (CPU)

    Khái niệm tiếp theo mà trong sơ đồ chúng ta có thể thấy là bao quát cả Cortex - M4 Core. Cortex - M4 Processor (Bộ vi xử lý), thường gọi là CPU, bao gồm Cortex - M4 Core (Lõi vi xử lý) và một số peripherals - ngoại vi để hỗ trợ (được ARM tùy chọn tích hợp vào các chip khác nhau). Một số ngoại vi được ARM thiết kế: 
  • NVIC (Nested Vector Interrupt Controller) để điều khiển các vector ngắt lồng nhau, được tích hợp trong hầu như toàn bộ các bộ vi xử lý của ARM.
  • MPU (Memory Protected Unit) dùng để bảo vệ bộ nhớ, thành phần này thường là optional.
  • FPU (Floating Point Unit) dùng để tính toán dấu phẩy động.
  • Bus Matrix, …
  • Một bộ xử lý – CPU có thể có nhiều Core, đặc biệt là dòng M7 (CPU Cortex – M4 chỉ có 1 lõi).
    CPU sẽ giao tiếp với ngoại vi bên ngoài qua ICode, DCode và System Bus <I-BUS, D-BUS, S-BUS>

    👉 Cortex - M4 Micro-Controller

    Chính là vi điều khiển của chúng ta, chẳng hạn STM32F401. Sau khi ARM cung cấp Processor cho các hãng sản xuất chip như TI, ST, ... Các hãng này sẽ tùy chọn các thành phần ngoại vi trong Processor (như phần trên), cùng với đó, các nhà sản xuất này sẽ bổ sung thêm các ngoại vi bên ngoài, như GPIO, TIMER, ADC, USART, SPI, I2C, ... để giao tiếp với các Cortex - M4 Process quá các đường bus. 

    Các bus nội của Processor I-BUS, D-BUS, S-BUS đi qua Bus Matrix để truyền nhận lệnh, dữ liệu qua 2 bus là AHB - Advanced High-performance Bus và APB -Advanced Peripheral Bus. Các ngoại vi bên ngoài sẽ giao tiếp với Processor qua 2 bus này (có thể các bạn đã biết GPIO dùng AHB bus, UART, SPI, I2C dùng APB bus, ...). 

    Không nên nhầm lẫn các ngoại vi GPIO, UART, SPI, I2C, ... ở đây với các ngoại vi Core: NVIC, MPU, FPU, ... hay các ngoại vi bên ngoài như đèn led, nút bấm, ... Tất cả đều có thể gọi là ngoại vi, nhưng rõ ràng là ngoại vi của các chủ thể khác nhau.

👉 Video giới thiệu về Micro-Processor vs Micro-Controller và bản chất việc lập trình ngoại vi


Nếu video hữu ích với bạn, hãy ủng hộ kênh bằng 1 like và 1 subcribe nha 💪

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

2 Nhận xét

  1. Bài viết của a rất hay ạ!!!

    Trả lờiXóa
    Trả lời
    1. Thank e. Nếu thấy hay xin e 1 share cho nhiều người cũng biết đến nhé 😁

      Xóa