一、情景分析
我們經常說,stm32f103是采用cotex-M3內核,基于armv7架構設計的。
那么,stm32f103、cotex-M3、armv7之間有什么關系呢?
二、層次分析
1. 架構(Architecture)
- 定義:架構是處理器的底層設計規范,規定了指令集(如 ARM、x86)、寄存器、內存模型、尋址方式等核心特性。
- 作用:架構是一套抽象的規則,決定了處理器 “能做什么”,但不涉及具體的實現細節。
- 示例:
- ARM 架構:包括 ARMv7、ARMv8(A/R/M 系列)等,每個版本定義了不同的指令集和特性(如 ARMv8-A 支持 64 位計算)。
- x86 架構:由 Intel 和 AMD 開發,用于 PC 和服務器,支持復雜指令集(CISC)。
2. 內核(Core)
- 定義:內核是處理器中執行指令的核心電路,是架構的具體實現。同一個架構可以有多個不同設計的內核,每個內核的性能、功耗、成本不同。
- 作用:內核負責解釋和執行指令,實現架構規定的功能。它是處理器的 “大腦”。
- 示例:
- ARM Cortex-M3 內核:基于 ARMv7-M 架構設計,專為微控制器優化,強調低功耗和成本。
- ARM Cortex-A78 內核:基于 ARMv8-A 架構設計,用于高端智能手機,追求高性能(如多核、大緩存)。
- Intel Core i7 內核:基于 x86 架構設計,用于桌面和筆記本電腦,支持多線程和高性能計算。
3. 處理器(Processor)
- 定義:處理器(或微處理器)是物理芯片,通常包含一個或多個內核,以及緩存、總線接口、I/O 控制器等外圍組件。
- 作用:處理器是內核的載體,將內核與其他功能模塊集成,形成完整的計算單元。
- 示例:
- STM32F103 微控制器:搭載 1 個 ARM Cortex-M3 內核,集成了 Flash 存儲器、GPIO、ADC 等組件,用于嵌入式系統。
- 蘋果 M1 芯片:包含 8 個 ARM Cortex-A 系列內核(高性能核 + 能效核),集成 GPU、內存控制器等,用于 MacBook。
- AMD Ryzen 9 5950X:包含 16 個基于 x86 架構的 Zen 3 內核,用于高性能桌面電腦。
三、常見的對應關系
ref:
Documentation – Arm Developer
https://zhuanlan.zhihu.com/p/633949851
ARM architecture overview:一個波瀾壯闊史詩的剪影-云社區-華為云
2. ARMv8?A 架構和處理器 — Armv8/armv9架構入門指南 v1.0 documentation