🌱 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
- 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)
- 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).
👉 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
>>>= Follow ngay =<<<
2 Nhận xét
Bài viết của a rất hay ạ!!!
Trả lờiXóaThank e. Nếu thấy hay xin e 1 share cho nhiều người cũng biết đến nhé 😁
Xóa