色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內(nèi)不再提示

上下文切換與棧寄存器變化

冬至子 ? 來源:BU科研通通 ? 作者:BU科研通通 ? 2023-09-20 15:46 ? 次閱讀

call指令

CPU執(zhí)行call指令時,進(jìn)行兩步操作:

(1)將當(dāng)前的IP或CS和IP壓入棧中;

(2)轉(zhuǎn)移。

即:

(1)(sp) = (sp)-2

((ss)*16 +(sp)) = (IP)

(2)(IP) = (IP)+16位位移。

16位位移=“標(biāo)號”處的地址-call指令后的第一個字節(jié)的地址

ret和retf指令

ret指令用棧中的數(shù)據(jù),修改IP的內(nèi)容,從而實現(xiàn)近轉(zhuǎn)移;

retf指令用棧中的數(shù)據(jù),修改CS和IP的內(nèi)容,從而實現(xiàn)遠(yuǎn)轉(zhuǎn)移。

CPU執(zhí)行ret指令時,進(jìn)行下面的兩步操作:

(1)(IP) = ((ss)*16 +(sp))

(2)(sp) = (sp)+2

CPU執(zhí)行retf指令時,進(jìn)行下面四步操作:

(1)(IP) = ((ss)*16) + (sp)

(2)(sp) = (sp) + 2

(3)(CS) = ((ss)*16) + (sp)

(4)(sp) = (sp) + 2

中斷過程的上下文切換:

圖片

在進(jìn)程切換時,一個進(jìn)程存儲在處理器寄存器中的中間數(shù)據(jù)叫做進(jìn)程的上下文。在進(jìn)程未占用處理器時,進(jìn)程的上下文是存儲在進(jìn)程的私有堆棧中的。

圖片

關(guān)于寄存器

64位環(huán)境中用rip rsp rbp表示

32位環(huán)境用eip esp ebp 表示

CS是代碼段寄存器

IP是指令指針寄存器(相當(dāng)于偏移地址)

SS:存放棧的段地址;

SP:堆棧寄存器SP(stack pointer)存放棧的偏移地址;

BP: 基數(shù)指針寄存器BP(base pointer),存儲堆棧基地址。

SP,BP一般與段寄存器SS 聯(lián)用,以確定堆棧寄存器中某一單元的地址。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19342

    瀏覽量

    230227
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5357

    瀏覽量

    120632
  • 串口中斷
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

    13935
收藏 人收藏

    評論

    相關(guān)推薦

    編寫一個任務(wù)調(diào)度程序,在上下文切換后遇到了一些問題求解

    \"rfe\" 不會在 A[11] 寄存器中設(shè)置新的返回地址。 當(dāng)任務(wù)函數(shù)以\"ret16\" 結(jié)束時,μC 將在陷阱中運行。 我在上下文切換的準(zhǔn)備過程中錯過了什么? 在上下文切換/\"rfe\" 之后,A[11] 的正確行為是
    發(fā)表于 05-22 07:50

    關(guān)于進(jìn)程上下文、中斷上下文及原子上下文的一些概念理解

    調(diào)用,用戶空間的應(yīng)用程序就會進(jìn)入內(nèi)核空間,由內(nèi)核代表該進(jìn)程運行于內(nèi)核空間,這就涉及到上下文切換,用戶空間和內(nèi)核空間具有不同的 地址映射,通用或?qū)S玫?b class='flag-5'>寄存器組,而用戶空間的進(jìn)程要傳遞很多變量、參數(shù)給內(nèi)核
    發(fā)表于 09-06 09:58

    BT堆棧上下文切換

    100ms就會產(chǎn)生一個上下文切換上下文切換每秒似乎有點高。我想我真的不能抱怨10個開關(guān),但是有什么東西嗎?在BT協(xié)議中真的需要這個嗎?不能處理中斷驅(qū)動嗎?(這是BT是可連接的,但既沒有連接,也沒有
    發(fā)表于 12-17 16:30

    上下文切換簡介

    處理系統(tǒng)中,CPU需要處理所有程序的操作,當(dāng)用戶來回切換它們時,需要記錄這些程序執(zhí)行到哪里。上下文切換就是這樣一個過程,他允許CPU記錄并恢復(fù)各種正在運行程序的狀態(tài),使它能夠完成切換操作。
    發(fā)表于 08-06 08:08

    上下文切換的情況發(fā)生

    處理系統(tǒng)中,CPU需要處理所有程序的操作,當(dāng)用戶來回切換它們時,需要記錄這些程序執(zhí)行到哪里。上下文切換就是這樣一個過程,他允許CPU記錄并恢復(fù)各種正在運行程序的狀態(tài),使它能夠完成切換操作。
    發(fā)表于 08-07 08:38

    ucos上下文該怎么切換

    有兩個問題請教一下大神!!!-->1在ucos中的上下文切換時發(fā)生在pendSV異常中,代碼見下:PendSV_Handler CPSIDI; Prevent interruption
    發(fā)表于 08-26 03:21

    基于cortex-m3的rt-thread系統(tǒng)如何實現(xiàn)線程上下文切換

    rt_interrupt_from_thread變量設(shè)置為空。線程上下文切換是,上下文保存在各個線程的空間中, 這里我們只需要在PendSV中手動保存和恢復(fù)r4-r11寄存器,因為其
    發(fā)表于 05-05 15:00

    Cortex-M4在線程上下文切換中的優(yōu)化

    cortex-m4相對比cortex-m3,在線程上下文切換中,主要增加了FPU寄存器,總共需要保存34個寄存器,合計136byte。因此原來在cortex-m3上面運行的程序在cortex-m4f
    發(fā)表于 08-05 10:58

    討論ARM mbed OS(RTX) 的上下文切換

    1. 墊話從本文開始,正式進(jìn)入對調(diào)度實現(xiàn)細(xì)節(jié)及底層的探討。本文討論 ARM mbed OS(RTX) 的上下文切換。解構(gòu)調(diào)度,按說不應(yīng)該從“上下文切換”如此 meta 的細(xì)節(jié)入手。但從我個人角度
    發(fā)表于 02-16 14:26

    rt-thread上下文切換函數(shù)的意義在哪?

    Cortex-M3內(nèi)核上下文切換函數(shù)rt_hw_context_switch()/ rt_hw_context_switch_interrupt()中有個判斷rt_thread_switch_interrupt_flag的地方,不知道意義在哪?
    發(fā)表于 03-10 11:28

    中斷中的上下文切換詳解

    任務(wù)上下文切換的訴求。  為什么在中斷服務(wù)函數(shù)中會產(chǎn)生任務(wù)上下文切換的訴求?因為中斷中可能會進(jìn)行信號量post之類的動作(這可能會觸發(fā)此前一直處于pend狀態(tài)的,且比當(dāng)前被中斷打斷的任務(wù)優(yōu)先級更高的任務(wù)
    發(fā)表于 03-23 17:18

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

    當(dāng)UCOS-III轉(zhuǎn)向執(zhí)行另一項新任務(wù)的時候,他保存了當(dāng)前任務(wù)的CPU寄存器到堆棧,并從新任務(wù)的堆棧CPU寄存器載入CPU,這個過程叫做上下文切換
    發(fā)表于 08-16 17:31 ?2次下載
    CPU<b class='flag-5'>上下文切換</b>的詳細(xì)資料講解

    如何分析Linux CPU上下文切換問題

    在我的上一篇文章:《探討 Linux CPU 的上下文切換》中,我談到了 CPU 上下文切換的工作原理。快速回顧一下,CPU 上下文切換是保證 Linux 系統(tǒng)正常運行的核心功能。可分為進(jìn)程
    的頭像 發(fā)表于 05-05 20:11 ?1969次閱讀

    Linux技術(shù):什么是cpu上下文切換

    過多的上下文切換會消耗 CPU 的時間來保存和恢復(fù)寄存器、程序計數(shù)、內(nèi)核和虛擬內(nèi)存等數(shù)據(jù),從而導(dǎo)致系統(tǒng)性能顯著下降。 既然上下文切換對系
    發(fā)表于 09-01 09:31 ?487次閱讀
    Linux技術(shù):什么是cpu<b class='flag-5'>上下文切換</b>

    FreeRTOS系列技術(shù)文章:上下文切換

    嵌入式實時操作系統(tǒng)(RTOS)中的上下文切換是指保存和恢復(fù)任務(wù)的狀態(tài),以使調(diào)度程序能夠切換到另一個任務(wù),從而促進(jìn)多任務(wù)處理。
    的頭像 發(fā)表于 11-21 15:48 ?1190次閱讀
    主站蜘蛛池模板: 在线涩涩免费观看国产精品| 亚洲中文字幕欧美自拍一区| 99视频精品免视3| 久久亚洲免费视频| 一本道高清不卡v免费费| 国内精品久久久久久西瓜色吧| 小草影院免费| 国产性色AV内射白浆肛交后入| 性一交一乱一色一视频| 国产人妻人伦精品1国产| 亚州AV人片一区二区三区99久| 国产人妻麻豆蜜桃色69| 性色AV一区二区三区V视界影院| 国产婷婷午夜无码A片| 亚洲AV成人无码网天堂| 国产在线高清视频无码| 亚洲免费观看视频| 精品无码久久久久久久久| 野花视频在线观看免费| 久久精品一区| 538在线播放| 欧美高跟镣铐bdsm视频| 边做边爱播放3免费观看| 色即是空 BT| 国产精品久久久久久久久免费下载| 午夜男女爽爽羞羞影院在线观看| 国产午夜久久影院| 亚洲一区二区女搞男| 久青草影院| A级毛片高清免费网站不卡| 人人听力网mp3下载| 国产h视频在线观看免费| 武汉美女洗澡| 狠狠色丁香婷婷久久综合五月| 一级做a爰片久久免费| 秘密教学93话恩爱久等了免费| AV天堂午夜精品蜜臀AV| 三级网站视频| 国产揄拍国产精品| 在线中文字幕视频| 欧美男男网站免费观看videos|