MCS-51指令的取指/執(zhí)行時(shí)序
發(fā)布時(shí)間:2014/6/4 20:26:43 訪(fǎng)問(wèn)次數(shù):1483
單片機(jī)執(zhí)行任何一條指令時(shí)都可以分為取指令階段和執(zhí)行指令階段。取指令階段簡(jiǎn)稱(chēng)取指階段,HEF4013BT單片機(jī)在這個(gè)階段里可以把程序計(jì)數(shù)器PC中的地址送到程序存儲(chǔ)器,并從中取出需要執(zhí)行指令的操作碼和操作數(shù)。指令執(zhí)行階段可以對(duì)指令操作碼進(jìn)行譯碼,以產(chǎn)生一系列控制信號(hào)完成指令的執(zhí)行。圖3-14給出了MCS-51指令的取指/執(zhí)行時(shí)序。
由圖3-14可知,ALE引腳上出現(xiàn)的信號(hào)是周期性的,每個(gè)機(jī)器周期內(nèi)出現(xiàn)兩次高電平,出現(xiàn)時(shí)刻為SIP2和S4P2,持續(xù)時(shí)間為一個(gè)狀態(tài)S。ALE信號(hào)每出現(xiàn)一次,CPU就進(jìn)行一次取指操作,但由于不同指令的字節(jié)數(shù)和機(jī)器周期數(shù)不同,因此取指令操作也隨指令不同而有小的差異。
按照指令字節(jié)數(shù)和機(jī)器周期數(shù),MCS-51的111條指令可分為單字節(jié)單周期指令、單字節(jié)雙周期指令、單字節(jié)四周期指令、雙字節(jié)單周期指令、雙字節(jié)雙周期指令和三字節(jié)雙周期指令6類(lèi),分別財(cái)應(yīng)于6種基本時(shí)序。為了弄清楚這些基本時(shí)序的特點(diǎn),現(xiàn)將幾種主要時(shí)序作一簡(jiǎn)述。
1.單字節(jié)單周期指令時(shí)序
這類(lèi)指令的指令碼只有一個(gè)字節(jié)(如INCA指令),存放在程序存儲(chǔ)器ROM中,機(jī)器從取出指令碼到完成指令的執(zhí)行僅需一個(gè)機(jī)器周期,如圖3-14 (a)所示。
圖3-14 (a)中,機(jī)器在ALE第一次有效(SIP2)時(shí)從ROM中讀出指令碼,把它送到指令寄存器IR,接著開(kāi)始執(zhí)行。在執(zhí)行期間,CPU -方面在ALE第二次有效(S4P2)時(shí)封鎖PC加“1”,使第二次讀操作無(wú)效;另一方面在S6P2時(shí)完成指令的執(zhí)行。
2.雙字節(jié)單周期指令時(shí)序
雙字節(jié)單周期指令時(shí)序如圖3-14 (b)所示,MCS-51在執(zhí)行這類(lèi)指令時(shí)需要分兩次從ROM中讀出指令碼。ALE在第一次有效時(shí)讀出指令操作碼,CPU對(duì)它譯碼后便知道是雙字節(jié)指令,故使程序計(jì)數(shù)器PC加“1”,并在ALE第二次有效時(shí)讀出指令的第二字節(jié)(也使PC加“1”一次),最后在S6P2時(shí)完成指令的執(zhí)行。
3.單字節(jié)雙周期指令時(shí)序
單字節(jié)雙周期指令時(shí)序如圖3-14 (c)所示。這類(lèi)指令執(zhí)行時(shí),CPU在第一機(jī)器周期Sl期間從程序存儲(chǔ)器ROM中讀出指令操作碼,經(jīng)譯碼后便知道是單字節(jié)雙周期指令,故控制器自動(dòng)封鎖后面的連續(xù)三次讀操作,并在第二機(jī)器周期的S6P2時(shí)完成指令的執(zhí)行。
單片機(jī)執(zhí)行任何一條指令時(shí)都可以分為取指令階段和執(zhí)行指令階段。取指令階段簡(jiǎn)稱(chēng)取指階段,HEF4013BT單片機(jī)在這個(gè)階段里可以把程序計(jì)數(shù)器PC中的地址送到程序存儲(chǔ)器,并從中取出需要執(zhí)行指令的操作碼和操作數(shù)。指令執(zhí)行階段可以對(duì)指令操作碼進(jìn)行譯碼,以產(chǎn)生一系列控制信號(hào)完成指令的執(zhí)行。圖3-14給出了MCS-51指令的取指/執(zhí)行時(shí)序。
由圖3-14可知,ALE引腳上出現(xiàn)的信號(hào)是周期性的,每個(gè)機(jī)器周期內(nèi)出現(xiàn)兩次高電平,出現(xiàn)時(shí)刻為SIP2和S4P2,持續(xù)時(shí)間為一個(gè)狀態(tài)S。ALE信號(hào)每出現(xiàn)一次,CPU就進(jìn)行一次取指操作,但由于不同指令的字節(jié)數(shù)和機(jī)器周期數(shù)不同,因此取指令操作也隨指令不同而有小的差異。
按照指令字節(jié)數(shù)和機(jī)器周期數(shù),MCS-51的111條指令可分為單字節(jié)單周期指令、單字節(jié)雙周期指令、單字節(jié)四周期指令、雙字節(jié)單周期指令、雙字節(jié)雙周期指令和三字節(jié)雙周期指令6類(lèi),分別財(cái)應(yīng)于6種基本時(shí)序。為了弄清楚這些基本時(shí)序的特點(diǎn),現(xiàn)將幾種主要時(shí)序作一簡(jiǎn)述。
1.單字節(jié)單周期指令時(shí)序
這類(lèi)指令的指令碼只有一個(gè)字節(jié)(如INCA指令),存放在程序存儲(chǔ)器ROM中,機(jī)器從取出指令碼到完成指令的執(zhí)行僅需一個(gè)機(jī)器周期,如圖3-14 (a)所示。
圖3-14 (a)中,機(jī)器在ALE第一次有效(SIP2)時(shí)從ROM中讀出指令碼,把它送到指令寄存器IR,接著開(kāi)始執(zhí)行。在執(zhí)行期間,CPU -方面在ALE第二次有效(S4P2)時(shí)封鎖PC加“1”,使第二次讀操作無(wú)效;另一方面在S6P2時(shí)完成指令的執(zhí)行。
2.雙字節(jié)單周期指令時(shí)序
雙字節(jié)單周期指令時(shí)序如圖3-14 (b)所示,MCS-51在執(zhí)行這類(lèi)指令時(shí)需要分兩次從ROM中讀出指令碼。ALE在第一次有效時(shí)讀出指令操作碼,CPU對(duì)它譯碼后便知道是雙字節(jié)指令,故使程序計(jì)數(shù)器PC加“1”,并在ALE第二次有效時(shí)讀出指令的第二字節(jié)(也使PC加“1”一次),最后在S6P2時(shí)完成指令的執(zhí)行。
3.單字節(jié)雙周期指令時(shí)序
單字節(jié)雙周期指令時(shí)序如圖3-14 (c)所示。這類(lèi)指令執(zhí)行時(shí),CPU在第一機(jī)器周期Sl期間從程序存儲(chǔ)器ROM中讀出指令操作碼,經(jīng)譯碼后便知道是單字節(jié)雙周期指令,故控制器自動(dòng)封鎖后面的連續(xù)三次讀操作,并在第二機(jī)器周期的S6P2時(shí)完成指令的執(zhí)行。
熱門(mén)點(diǎn)擊
- E2PROM
- 皂化作用
- PCB定位孔和夾持邊的設(shè)置
- 子程序調(diào)用與返回指令
- Sn系焊料與Ni/Au(ENIG)焊盤(pán)焊接的
- 典型表面組裝方式
- 片外 RAM
- 三維堆疊POP (Package On Pa
- PQFN焊盤(pán)設(shè)計(jì)結(jié)構(gòu)
- MCS-51指令的取指/執(zhí)行時(shí)序
推薦技術(shù)資料
- 頻譜儀的解調(diào)功能
- 現(xiàn)代頻譜儀在跟蹤源模式下也可以使用Maker和△Mak... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開(kāi)
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門(mén)信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究