- 6
- 0
- 约1.17万字
- 约 97页
- 2019-01-17 发布于湖北
- 举报
嵌入式系统的软/硬件框架 嵌入式系统硬件基础 冯·诺依曼体系结构和哈佛体系结构 CISC与RISC IP 核 流水线 存储器系统 CISC与RISC的数据通道 CISC与RISC的对比 知识产权核(IP核, intellectual property) 识产权知识产权(IP) 电路或核是设计好并经过验证的集成电路功能单元。 IP复用意味着设计代价降低(时间,价格)。 IP核的类别: 微处理器微处理器: ARM, PowerPC; 存储器存储器: RAM, memory controller; 外设: PCI, DMA controller; 多媒体处理: MPEG/JPEG ; encoder/decoder ; 数字信号处理器(DSP); 通信: Ethernet controller, router。 IP核的种类 IP核的商业模型 IP核的市场构成 74% 为硬件设计厂商。 26% 将购买IP 核。 40% hard, 68% soft, 32% firm。 ARM的IP核 指令流水线—以ARM为例 为增加处理器指令流的速度,ARM7 系列使用3级流水线。 允许多个操作同时处理,比逐条指令执行要快。 PC指向正被取指的指令,而非正在执行的指令。 最佳流水线 该例中用6个时钟周期执行了6条指令。 所有的操作都在寄存器中(单周期执行)。 指令周期数 (CPI) = 1。 LDR 流水线举例 该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5 分支流水线举例 流水线被阻断。 注意:内核运行在ARM状态。 嵌入式系统软件基础 操作系统的分类 嵌入式实时操作系统 前台与后台 多任务,任务优先级,调度 非占先式与占先式、可重入型函数 操作系统的分类 (1)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如DOS操作系统。 (2)分时操作系统:系统内同时可以有多个程序运行,把CPU的时间按顺序分成若干片,每个时间片内执行不同的程序,如UNIX。 (3)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有CPU的控制权。 按实时性分类 强实时系统,其系统响应时间在毫秒或微秒级(数控机床)。 一般实时系统,其系统响应时间在毫秒到几秒的数量级上,其实时性的要求比强实时系统要差一些(媒体播放)。 弱实时系统,其系统响应时间约为数十秒或更长。 按软件结构分类 1.循环轮询系统:(Polling Loop) 最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。 Initialize() While(true){ if(condition_1) action_1(); if(condition_2) action_2(); …… if(condition_n) acition_n(); } 2.事件驱动系统:(Event-Driven system) 事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。 应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级,前台也叫中断级。例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。 前后台系统(后台循环、前台中断) 代码的临界区 代码的临界区也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打断。 在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断(在任务切换时,地址、指令、数据等寄存器堆栈保护)。 多任务(任务、进程和线程) 一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级, 有它自己的一套CPU寄存器和自己的栈空间。 多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。 CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。 在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化,如综合实验(时钟、位图、USB、KEY)。 任务的状态 系统内核(Kernel)与调度(Scheduler) 多任务系统中,内核负责管理各个任务,或者说为每个任务
原创力文档

文档评论(0)