资料介绍
一 定义
当UCOS-III转向执行另一项新任务的时候,他保存了当前任务的CPU寄存器到堆栈,并从新任务的堆栈CPU寄存器载入CPU,这个过程叫做上下文切换
上下文切换需要一些开支,CPU的寄存器越多,开支越大。上下文切换的时间基本取决于有多少个CPU寄存器需要被存储和载入。上下文切换的代码是移植UCOS -II 时编写的,该部分代码要适用于处理器,这些代码被放在C和汇编文件中: OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。移植部分在下面会详细介绍,根据不同的CPU架构,移植的时候需要注意很多不部分细节。我们先来看一下常见CPU的结构:包含16个整数寄存器(R0~R15)和一个中断堆栈寄存器和状态寄存器。每个寄存器都是32位的,16个整数寄存器都是可以存储数据或者地址,指令指针寄存器是R15,两个堆栈指针是R14和R14‘,其实R14是指向任务的堆栈的指针TSP,R14’是指向ISR的堆栈的指针ISP。当CPU接收到一个中断的时候自动切换到ISR堆栈(也就是说CPU有独立用于处理中断的堆栈)在uC/OS-III 中,任务切换时的堆栈设置类似于中断发生时的那样,所有的CPU 寄存器都被保存。我们假定任务堆栈中的信息将要被载入到CPU 中,TSP 指向任务堆栈中最后一个被保存的寄存器。程序指针寄存器和状态寄存器是最先被保存在任务堆栈中。事实上,当中断发生时这些是被CPU 自动执行的。其它的寄存器通过软件被压入任务堆栈, TSP 不会被保存到堆栈,但会被保存到任务的TCB。ISP 指向当前中断堆栈的顶部。当中断服务程序被执行时,处理器把 R14“作为堆栈指针用于指向函数和局部参数。有两种上下文切换的方式:一个是任务级的,一个是中断级的,任务级切换时通过OSCtxSW()实现的,实际上它是被 OS_TASK_SW宏调用的中断级切换是通过调用OSIntCtxSw()实现。它是用汇编语言写的,保存于OS_CPU_A.ASM。
- 基于句子级上下文的神经机器翻译综述 64次下载
- 一种上下文信息融合的时序行为提名方法 5次下载
- Proteus元器件封装的详细资料讲解 0次下载
- GT9XX电容屏开发资料 11次下载
- 上下文统计分析的软件故障定位方法 0次下载
- Web服务的上下文的访问控制策略模型 0次下载
- 基于低秩重检测的多特征时空上下文的视觉跟踪 0次下载
- 基于局部敏感直方图的时空上下文跟踪_葛骁倩 0次下载
- 基于Pocket PC的上下文菜单实现 0次下载
- 基于Pocket PC的上下文菜单实现 17次下载
- 终端业务上下文的定义方法及业务模型
- 移动设备的个性化推荐在上下文感知应用
- 新鲜度敏感的上下文推理实时调度算法
- 基于交互上下文的预测方法
- 基于多Agent的用户上下文自适应站点构架
- SystemView上下文统计窗口识别阻塞原因 237次阅读
- FreeRTOS系列技术文章:上下文切换 885次阅读
- RISC-V上下文切换汇编代码注释 674次阅读
- 首篇!Point-In-Context:探索用于3D点云理解的上下文学习 645次阅读
- 谷歌新作SPAE:GPT等大语言模型可以通过上下文学习解决视觉任务 1143次阅读
- 我们能否扩展现有的预训练 LLM 的上下文窗口 556次阅读
- 切换k8s上下文有多快 636次阅读
- 高负载处理及上下文切换 619次阅读
- 如何分析Linux CPU上下文切换问题 1830次阅读
- Linux驱动中断上下文中会发生什么结果实验测试 836次阅读
- 基于Transformer模型的上下文嵌入何时真正值得使用? 2784次阅读
- 如何利用多个上下文信息来做同义实体发现问题上进行了一些新的探索 2532次阅读
- PPT教程之伺服电机及其驱动技术的详细资料讲解 6990次阅读
- 讲解将知识图谱特征学习引入到推荐系统的各种思路与实现方法 8696次阅读
- 初学OpenGL:什么是绘制上下文 2396次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1489次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 91次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 9次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30319次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多