软考架构师故事系列-嵌入式技术

这是软考架构师的基础知识系列,我将枯燥的学习内容整理成生动的网文,希望能帮助到其他人更好的理解这些枯燥的知识,废话不多说。 here we go!


1. 芯片的"抗冻"与"耐热"等级

知识点 :民用级(070°C)、工业级(-4085°C)、军用级(-55~150°C)。

生动理解 : 想象一下买汽车

  • 民用级 :像家用轿车。只能在铺装路面(温和的室内)开,夏天开空调、冬天开暖风(0-70度)。你要把它开到冰天雪地的漠河零下40度,它可能直接打不着火。
  • 工业级 :像皮卡或大货车。东北的工厂外面零下30度,它得能启动;夏天的锅炉房旁边40多度,它也不能抛锚(-40~85度)。
  • 军用级 :像坦克或装甲车。不仅要在极寒的雪地里趴窝一夜能打着,还要能在中东沙漠的烈日暴晒下、发动机舱高温烘烤下(甚至接近150度)正常工作。

2. 冯·诺依曼结构 vs. 哈佛结构

知识点:冯·诺依曼是指令和数据走一条路;哈佛结构是指令和数据走两条路。

生动理解

  • 冯·诺依曼结构 :像老旧小区楼下的狭窄过道 。搬家公司的车(数据)和送外卖的电动车(指令)都得从这一个口进。如果搬家车堵在那卸货,外卖就进不来,CPU就得饿着等------这就是瓶颈效应
  • 哈佛结构 :像现代化大商场顾客入口 (取指令)和卸货通道 (存数据)是分开的。顾客再多也不影响后厨补货,效率极高。DSP芯片(专门处理声音、图像的芯片)就是用这种,所以它算得飞快。

3. 嵌入式系统的"软硬一体"

知识点:软硬一体、固化、专用性强、资源少。

生动理解 : 对比一下你的台式电脑智能微波炉

  • 通用计算机(PC) :像乐高积木。内存不够加内存,显卡不够换显卡,什么软件都能装(游戏、办公、编程),功能万能但不专精。
  • 嵌入式系统 :像一个定制好的 "一键煮方便面 "电煮锅 。硬件(发热盘、按键)和软件(煮3分钟停、加蛋模式多煮1分钟)是焊死 在电路板上的。你不能 在上面玩《王者荣耀》,因为它内存极小、CPU弱,但它的优点是:省电、便宜、按下就煮,绝不蓝屏死机 。这就是专用性强、资源少、程序固化

4. 宿主机 vs. 目标机

知识点:开发在宿主机(PC),运行在目标机(嵌入式设备)。

生动理解

  • 宿主机 :像米其林三星餐厅的中央厨房 。设备齐全(电脑配置高),大厨(程序员)在这里洗菜切菜配菜(交叉编译代码)。
  • 目标机 :像街头卖煎饼的小推车 。地方极小,只有一个小炉子和铁板(嵌入式硬件)。大厨不能在推车上切菜,只能在厨房把面糊调好、葱花切好,生成一个成品(二进制代码) ,然后烧录 到小推车的储存盒里。小推车上路后,只管执行"摊煎饼"这个动作就行。

5. 交叉编译

知识点:在一个平台上生成另一个平台能跑的代码。

生动理解 : 你是中国人(X86架构PC) ,你要写给一个德国人(ARM架构芯片)看的菜谱(代码) 。 你不能直接写中文,德国人不认识。你需要一个翻译软件(交叉编译器) ,把你写的中文菜谱,翻译成德文版PDF(二进制文件),再把这张PDF存进德国人的手机里。这个在中文环境下生成德文菜谱 的过程,就叫交叉编译

6. 嵌入式系统的层次结构(5层模型)

知识点:硬件层 -> 抽象层 -> 操作系统层 -> 中间件层 -> 应用层。

生动理解 : 这就像一栋智能写字楼

  • 1楼 硬件层大楼地基和钢筋混凝土。这是物理实体(CPU、电线、管道)。
  • 2楼 抽象层(BSP)物业工程部。业主(操作系统)说"我要开灯",不用管电是火力发电还是风力发电,工程部(驱动)帮你把具体开关电路的动作做了。
  • 3楼 操作系统层大楼的物业管理处。分配电梯资源(任务调度)、管理谁进出(文件系统)。
  • 4楼 中间件层大楼内的快递柜和通讯基站。连接不同公司的业务,比如顺丰小哥(应用A)不用直接敲门,把包裹放柜子(中间件),你(应用B)自己去取。
  • 5楼 应用层租户公司。这里才是具体干活的,比如XX会计师事务所(完成具体功能的APP)。

7. 实时系统的"硬"与"软"

知识点:硬实时(必须在规定时间完成),软实时(尽量快,晚一点不会死)。

生动理解

  • 硬实时汽车的安全气囊 。撞车的一瞬间,传感器说"爆!",系统必须0.01秒内 点爆气囊。如果慢了0.1秒,人都撞方向盘上了气囊才出来,这就是灾难性后果(系统失效=A级事故)。
  • 软实时手机看视频 。点了"播放",视频尽量 在0.5秒内开始播放。如果网卡了,等了2秒才开始,你只会觉得"有点烦",但手机不会炸 ,你不会受伤

8. 多核调度(SMP vs AMP)

知识点:SMP(大家一样,轮流干活),AMP(专人专岗,谁也别抢谁)。

生动理解

  • SMP(对称多处理)银行柜台 。开了3个窗口(3个一样的核心),大家排一条队 (全局队列)。1号窗口空了就叫下一位。优点是 :效率高,不浪费窗口。缺点是:有时候老叫号、排队的人要走动(核心切换开销)。
  • AMP(非对称处理)医院科室 。内科看内科的病,外科看外科的病,各排各的队 (局部队列)。内科医生(核心1)只处理内科挂号的人,不用管外科的事。优点是:无需跨科室切换,专业性强。
相关推荐
MXN_小南学前端2 小时前
Vue3 + Spring Boot 工单系统实战:用户反馈和客服处理的完整闭环(提供gitHub仓库地址)
前端·javascript·spring boot·后端·开源·github
JavaGuide2 小时前
太魔幻了!SpaceX官宣600 亿美元收购Agent编程的鼻祖Cursor
人工智能·后端
程序员牛奶2 小时前
Project Loom:让 Java 高并发变得更简单
java·后端
悟空瞎说2 小时前
我踩过的4个Node.js微服务经典Bug,用一个库彻底解决(2000字详解+可直接复用代码)
后端·node.js
uzong2 小时前
最新:DeepSeek V4 国产大模型之光,万亿参数重构 AI 格局,让国产大模型迈入普惠新纪元
人工智能·后端
青槿吖3 小时前
第二篇:从复制粘贴到自定义规则!Spring Cloud Gateway 断言 + 过滤全玩法,拿捏微服务流量管控
java·spring boot·后端·spring cloud·微服务·云原生·架构
SamDeepThinking3 小时前
C端多渠道用户体系设计:从需求到落地
java·后端·架构
Shadow(⊙o⊙)4 小时前
C++常见错误解析2.0
开发语言·数据结构·c++·后端·学习·算法
来一斤小鲜肉4 小时前
Spring AI核心:RAG 全链路实战
后端·openai