首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
嵌入式技术
» 嵌入式Linux中断现场保护方法改善
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
嵌入式Linux中断现场保护方法改善
发短消息
加为好友
东风恶
当前离线
UID
850582
帖子
60
精华
0
积分
30
阅读权限
10
在线时间
12 小时
注册时间
2011-8-5
最后登录
2012-4-17
新手上路
UID
850582
1
#
打印
字体大小:
t
T
东风恶
发表于 2011-11-10 11:25
|
只看该作者
嵌入式Linux中断现场保护方法改善
计算机技术
,
工程师
,
计算机系统
,
嵌入式
,
可靠性
一、嵌入式系统的实时性 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统,而高实时性是嵌入式系统的基本要求。
IEEE(美国电气电子工程师协会)定义实时系统为“那些正确性不仅取决于计算的逻辑结果,也取决于产生结果所花费的时间的系统”。实时系统一般可分为硬件实时和软件实时这两大类:硬实时系统有一个强制性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失效、或者系统不能实现它的预期目标。软实时系统的时限是柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,仅仅是轻微的降低了系统的吞吐量。
二、中断响应时间
中断的实时性是实时系统的一个重要方面。中断响应时间是影响中断实时性的主要因素。中断响应定义为从中断发生到开始执行用户的中断服务代码来处理这个中断的时间[1>,其中包括中断延迟时间和保护中断现场的时间。所有实时系统在进入临界区代码段之前都要关中断,执行完临界代码之后再开中断。中断延迟时间即是从发出中断请求到任务开中断的这段时间[1>。保护中断现场有两个作用。首先是为了保护中断前任务的现场。其次,如果发生中断嵌套,还必须保护上层中断的现场。因此,整个中断响应过程如图1所示。要让中断服务尽快得到处理,就必须减少中断响应时间。但是从图中可以看出,中断延迟时间是由中断前任务决定的,在进入中断时只能通过尽量缩短中断现场保护的时间来达到减少中断响应时间,从而提高中断实时性。
图1. 中断响应示意图
三、中断现场保护的改进
3.1 传统中断现场保护方法
对于现在大多数嵌入式操作系统,在进入中断时首先做的第一件事就是保护中断发生前的现场,即保存返回地址、程序状态字、堆栈指针以及所有通用寄存器到中断堆栈,以防止用户中断服务子程序对中断返回后现场的破坏。以µC/OS-II微内核为例,在arm和X86两种体系结构微处理器上进入中断后保存现场的过程如图2所示。从代码中可见,两种不同的体系结构中,为保护现场,都需要执行三条访存指令,其中一条为批量访存指令(STMFD SP!,{R0-R12}和PUSHA)用以保护通用寄存器R0-R12和AX,CX,DX,BX,SP,BP,SI,DI。
图2. arm、X86上µC/OS-II中断现场保护
根据量化公式:
公式中以CPU时间来衡量微处理器体系结构的性能。其中前半部分是指令的执行时间,包括取指、分析、执行等,而后半部分表明如果指令是访存指令则在cache不命中时CPU时间还应该加上访存的时间。由于访存速度远远大于CPU的执行速度,尤其是批量访存指令,一旦遇到存储器分体冲突,将等待更长的时间。而在ARM7TDMI、arm9TDMI这些没有cache的微处理器内核中,批量访存指令的CPU时间公式就完全变成如下形式:
因此,在这些处理器内核中在处理诸如任务切换和进入中断的现场保护的批量访存指令时,系统将等待,从而影响实时性。
阅读原文请访问电子发烧友,原文地址:
http://www.elecfans.com/emb/app/20111109239924.html
收藏
分享
评分
回复
引用
订阅
TOP
发短消息
加为好友
htrjyj12
当前离线
UID
857907
帖子
22
精华
0
积分
11
阅读权限
10
在线时间
0 小时
注册时间
2011-10-18
最后登录
2011-11-25
新手上路
UID
857907
2
#
htrjyj12
发表于 2011-11-10 13:39
|
只看该作者
感觉挺好的啊。
高清电视棒
回复
引用
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议