電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>CPU上下文切換的詳細(xì)資料講解

CPU上下文切換的詳細(xì)資料講解

2019-08-16 | pdf | 0.19 MB | 次下載 | 1積分

資料介紹

  一 定義

  當(dāng)UCOS-III轉(zhuǎn)向執(zhí)行另一項(xiàng)新任務(wù)的時(shí)候,他保存了當(dāng)前任務(wù)的CPU寄存器到堆棧,并從新任務(wù)的堆棧CPU寄存器載入CPU,這個(gè)過程叫做上下文切換

  上下文切換需要一些開支,CPU的寄存器越多,開支越大。上下文切換的時(shí)間基本取決于有多少個(gè)CPU寄存器需要被存儲和載入。上下文切換的代碼是移植UCOS -II 時(shí)編寫的,該部分代碼要適用于處理器,這些代碼被放在C和匯編文件中: OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。移植部分在下面會(huì)詳細(xì)介紹,根據(jù)不同的CPU架構(gòu),移植的時(shí)候需要注意很多不部分細(xì)節(jié)。我們先來看一下常見CPU的結(jié)構(gòu):包含16個(gè)整數(shù)寄存器(R0~R15)和一個(gè)中斷堆棧寄存器和狀態(tài)寄存器。每個(gè)寄存器都是32位的,16個(gè)整數(shù)寄存器都是可以存儲數(shù)據(jù)或者地址,指令指針寄存器是R15,兩個(gè)堆棧指針是R14和R14‘,其實(shí)R14是指向任務(wù)的堆棧的指針TSP,R14’是指向ISR的堆棧的指針I(yè)SP。當(dāng)CPU接收到一個(gè)中斷的時(shí)候自動(dòng)切換到ISR堆棧(也就是說CPU有獨(dú)立用于處理中斷的堆棧)在uC/OS-III 中,任務(wù)切換時(shí)的堆棧設(shè)置類似于中斷發(fā)生時(shí)的那樣,所有的CPU 寄存器都被保存。我們假定任務(wù)堆棧中的信息將要被載入到CPU 中,TSP 指向任務(wù)堆棧中最后一個(gè)被保存的寄存器。程序指針寄存器和狀態(tài)寄存器是最先被保存在任務(wù)堆棧中。事實(shí)上,當(dāng)中斷發(fā)生時(shí)這些是被CPU 自動(dòng)執(zhí)行的。其它的寄存器通過軟件被壓入任務(wù)堆棧, TSP 不會(huì)被保存到堆棧,但會(huì)被保存到任務(wù)的TCB。ISP 指向當(dāng)前中斷堆棧的頂部。當(dāng)中斷服務(wù)程序被執(zhí)行時(shí),處理器把 R14“作為堆棧指針用于指向函數(shù)和局部參數(shù)。有兩種上下文切換的方式:一個(gè)是任務(wù)級的,一個(gè)是中斷級的,任務(wù)級切換時(shí)通過OSCtxSW()實(shí)現(xiàn)的,實(shí)際上它是被 OS_TASK_SW宏調(diào)用的中斷級切換是通過調(diào)用OSIntCtxSw()實(shí)現(xiàn)。它是用匯編語言寫的,保存于OS_CPU_A.ASM。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1489次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)