国产成人精品免费视频大全,国产成人精品午夜二三区波多野,国产av一区二区三区,国产成人精品一区二三区熟女在线 ,国产成年女人特黄特色毛片免

深圳市廣林實業(yè)有限公司

主營:深圳裝飾裝修材料銷售,深圳環(huán)保節(jié)能材料研發(fā),深圳機械設備出售

免費店鋪在線升級

聯(lián)系方式
  • 公司: 深圳市廣林實業(yè)有限公司
  • 地址: 深圳市前海深港合作區(qū)前灣一路1號A棟201室
  • 聯(lián)系: 盧晨川
  • 手機: 18695112246
  • 電話: 0755-85544695
  • 一鍵開店
產(chǎn)品分類

爍摯:這些單片機面試題你會做嗎?附帶解析

2019-06-06 02:51:36  2177 次瀏覽

目錄1、關于時鐘周期、機器周期和指令周期2、堆棧相關3、臨界區(qū)你應該知道的一切

1、單片機的時鐘周期是什么?機器周期?指令周期?它們之間是什么關系?

2、堆棧的工作原理是什么,都有什么操作流程?

3、什么是臨界區(qū),臨界區(qū)有什么用處?

解析:

1、關于時鐘周期、機器周期和指令周期

時鐘周期也稱為振蕩周期,定義為時鐘脈沖的倒數(shù)(可以這樣來理解,時鐘周期就是單片機外接晶振的倒數(shù),例如12M的晶振,它的時間周期就是1/12 us),是計算機中基本的、小的時間單位。

在一個時鐘周期內(nèi),CPU僅完成一個基本的動作。對于某種單片機,若采用了1MHZ的時鐘頻率,則時鐘周期為1us;若采用4MHZ的時鐘頻率,則時鐘周期為250us。由于時鐘脈沖是計算機的基本工作脈沖,它控制著計算機的工作節(jié)奏(使計算機的每一步都統(tǒng)一到它的步調上來)。顯然,對同一種機型的計算機,時鐘頻率越高,計算機的工作速度就越快。但是,由于不同的計算機硬件電路和器件的不完全相同,所以其所需要的時鐘周頻率范圍也不一定相同。我們學習的8051單片機的時鐘范圍是1.2MHz-12MHz。

在8051單片機中把一個時鐘周期定義為一個節(jié)拍(用P表示),二個節(jié)拍定義為一個狀態(tài)周期(用S表示)。

機器周期

在計算機中,為了便于管理,常把一條指令的執(zhí)行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。一般情況下,一個機器周期由若干個S周期(狀態(tài)周期)組成。8051系列單片機的一個機器周期同6個S周期(狀態(tài)周期)組成。前面已說過一個時鐘周期定義為一個節(jié)拍(用P表示),二個節(jié)拍定義為一個狀態(tài)周期(用S表示),8051單片機的機器周期由6個狀態(tài)周期組成,也就是說一個機器周期=6個狀態(tài)周期=12個時鐘周期。

指令周期

指令周期是執(zhí)行一條指令所需要的時間,一般由若干個機器周期組成。指令不同,所需的機器周期數(shù)也不同。對于一些簡單的的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其它的機器周期。對于一些比較復雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。

通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。

2、堆棧相關

堆棧是內(nèi)存中一段連續(xù)的存儲區(qū)域,用來保存一些臨時的數(shù)據(jù),比如,可以保存中斷指令INT中的標志寄存器值、代碼段寄存器CS值、指令指針寄存器IP值;還可以用以RET指令從中可以得到返回的地址;堆棧還可以保存其他的數(shù)據(jù)等等。

在匯編語言中堆棧操作由PUSH、POP兩條指令來完成。它的操作數(shù)均為子類型[兩個字節(jié)]進行操作。

程序內(nèi)存可以分為:堆區(qū)、棧區(qū)、全局區(qū)、程序代碼區(qū)、文字常亮區(qū)。在一個程序編譯完后,已經(jīng)為全局變量、靜態(tài)變量分配好內(nèi)存空間,所以在函數(shù)運行的時候,程序內(nèi)存要為局部變量非配好棧空間,當中斷來時,也需要把函數(shù)指針入棧,用來保護當前的情況(保護現(xiàn)場),以便于中斷處理完之后可以再回到之前的函數(shù)。

棧是從高到低的分配或者說先進后出(就像子彈夾),堆是從低到高的分配(就是先到先買,后到后買)。在一般的交談中我們所說的堆棧默認為棧(子彈夾)。然而,堆棧可以分為硬堆棧和軟堆棧,硬堆棧就是SP(stack pointer棧頂元素的下一個位置,所以數(shù)據(jù)入棧的時候,SP先加1,再壓入數(shù)據(jù),出棧時,數(shù)據(jù)先出,然后SP再減1),軟堆棧就是在硬堆棧和全局變量區(qū)之間的空間。

3、臨界區(qū)你應該知道的一切

1.臨界段代碼,也叫臨界區(qū),是指那些必須完整連續(xù)運行,不可被打斷的代碼段。

2. 讀取或者修改變量(特別是用于任務間通信的全局變量)的代碼,一般來說這是常見的臨界代碼。

調用公共函數(shù)的代碼,特別是不可重入的函數(shù),如果多個任務都訪問這個函數(shù),結果是可想而知的。總之,對于臨界段要做到執(zhí)行時間越短越好,否則會影響系統(tǒng)的實時性。

3.中斷處理程序和任務都會訪問的臨界段代碼,需要使用關中斷的方法加以保護;僅由任務訪問的臨界段代碼,可以通過給調度器上鎖的方法來保護。

網(wǎng)友評論
0條評論 0人參與
最新評論
  • 暫無評論,沙發(fā)等著你!
百業(yè)店鋪 更多 >

特別提醒:本頁面所展現(xiàn)的公司、產(chǎn)品及其它相關信息,均由用戶自行發(fā)布。
購買相關產(chǎn)品時務必先行確認商家資質、產(chǎn)品質量以及比較產(chǎn)品價格,慎重作出個人的獨立判斷,謹防欺詐行為。

回到頂部