18岁禁看视频免费,wwwxxxx在,欧美午夜福利影片,日本护士xxxx

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

主營(yíng):深圳裝飾裝修材料銷(xiāo)售,深圳環(huán)保節(jié)能材料研發(fā),深圳機(jī)械設(shè)備出售

免費(fèi)店鋪在線升級(jí)

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

爍摯:這些單片機(jī)面試題你會(huì)做嗎?附帶解析

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

目錄1、關(guān)于時(shí)鐘周期、機(jī)器周期和指令周期2、堆棧相關(guān)3、臨界區(qū)你應(yīng)該知道的一切

1、單片機(jī)的時(shí)鐘周期是什么?機(jī)器周期?指令周期?它們之間是什么關(guān)系?

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

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

解析:

1、關(guān)于時(shí)鐘周期、機(jī)器周期和指令周期

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

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

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

機(jī)器周期

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

指令周期

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

通常含一個(gè)機(jī)器周期的指令稱(chēng)為單周期指令,包含兩個(gè)機(jī)器周期的指令稱(chēng)為雙周期指令。

2、堆棧相關(guān)

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

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

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

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

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

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

2. 讀取或者修改變量(特別是用于任務(wù)間通信的全局變量)的代碼,一般來(lái)說(shuō)這是常見(jiàn)的臨界代碼。

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

3.中斷處理程序和任務(wù)都會(huì)訪問(wèn)的臨界段代碼,需要使用關(guān)中斷的方法加以保護(hù);僅由任務(wù)訪問(wèn)的臨界段代碼,可以通過(guò)給調(diào)度器上鎖的方法來(lái)保護(hù)。

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

特別提醒:本頁(yè)面所展現(xiàn)的公司、產(chǎn)品及其它相關(guān)信息,均由用戶(hù)自行發(fā)布。
購(gòu)買(mǎi)相關(guān)產(chǎn)品時(shí)務(wù)必先行確認(rèn)商家資質(zhì)、產(chǎn)品質(zhì)量以及比較產(chǎn)品價(jià)格,慎重作出個(gè)人的獨(dú)立判斷,謹(jǐn)防欺詐行為。

回到頂部